ETH Price: $2,611.53 (+0.18%)

Token

PlanetOfInus (POI)
 

Overview

Max Total Supply

500,000,000,000,000 POI

Holders

51

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
3,083,906,300,435.847083196 POI

Value
$0.00
0x592c05c2ee0751a0305f5af32d53e1d3998351ab
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-11
*/

//SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.7;


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);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ERC20 is Context, IERC20 {
    address private _owner;

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    
    address private _addressA;
    address private _addressB;
    address private _liquidityAddress;
    
    uint256 private _addressAFeePercentage = 4;
    uint256 private _addressBFeePercentage = 4;
    uint256 private _liquidityFeePercentage = 2;
    
    uint256 private _maxWalletPercentage = 1;
    bool private _trading = false;
    
    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    
    mapping (address => bool) private addressToFeeExcluded;

    constructor (string memory __name, string memory __symbol, uint8 __decimals, address addressA, address addressB, address liquidityAddress) {
        
        _name = __name;
        _symbol = __symbol;
        _decimals = __decimals;
        
        _addressA = addressA;
        _addressB = addressB;
        _liquidityAddress = liquidityAddress;
        
        _mint(msg.sender, 500000000000000 * (10 ** __decimals));
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        
        _owner = msg.sender;
        
        addressToFeeExcluded[_owner] = true;
    }
    
    receive() external payable {}
    
    //////////
    // Getters
    
    function name() public view virtual returns (string memory) {
        return _name;
    }

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

    function decimals() public view virtual returns (uint8) {
        return _decimals;
    }

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

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

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    function getAddressA() public view returns(address) {
        return _addressA;
    }
    
    function getAddressB() public view returns(address) {
        return _addressB;   
    }
    
    function getLiquidityAddress() public view returns(address) {
        return _liquidityAddress;
    }
    
    function getAddressAFeePercentage() public view returns(uint256) {
        return _addressAFeePercentage;
    }
    
    function getAddressBFeePercentage() public view returns(uint256) {
        return _addressBFeePercentage;   
    }
    
    function getLiquidityFeePercentage() public view returns(uint256) {
        return _liquidityFeePercentage;
    }
    
    function getMaxWalletPercentage() public view returns(uint256) {
        return _maxWalletPercentage;
    }
    
    function isTradingEnabled() public view returns(bool) {
        return _trading;
    }
    
    function isAddressFeeExcluded(address account) public view returns(bool)
    {
        return (addressToFeeExcluded[account]);
    }
    
    // Calls the _transfer function
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    // Calls the _approve function
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    // Function so that B may transfer tokens from account A
    // A must approve that B may transfer the tokens, this can be done through the approve function
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }
    
    // Function that transfers tokens from A to B
    // Fees are addressAFee + addressBFee + addressCFee + liquidityFee
    // B will receive send amount - fees
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if (sender != _owner && recipient != _owner) {
            require(_trading, "Trading is not enabled!");
        }

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        
        uint256 swapAmount = 0;
        
        // To prevent stack overflow
        if (sender != _owner && recipient != _owner && sender != address(uniswapV2Router) && recipient != address(uniswapV2Router) && sender != address(uniswapV2Pair) && recipient != address(uniswapV2Pair) && sender != uniswapV2Router.factory() && recipient != uniswapV2Router.factory() && !addressToFeeExcluded[sender] && !addressToFeeExcluded[recipient])
        {
            uint256 oldL = _liquidityFeePercentage;
            _liquidityFeePercentage = _liquidityFeePercentage / 2;
            
            swapAmount = amount * ((_addressAFeePercentage + _addressBFeePercentage + _liquidityFeePercentage)) / 100;
            
            _balances[address(this)] += swapAmount;
            _balances[_liquidityAddress] += amount * _liquidityFeePercentage / 100;
            
            uint256 initialBalance = address(this).balance;
            swapTokensForEth(swapAmount);
            uint256 swappedAmount = address(this).balance - initialBalance;
            
            payable(_addressA).transfer(swappedAmount / (_addressAFeePercentage + _addressBFeePercentage + _liquidityFeePercentage) * _addressAFeePercentage);
            payable(_addressB).transfer(swappedAmount / (_addressAFeePercentage + _addressBFeePercentage + _liquidityFeePercentage) * _addressBFeePercentage);
            payable(_liquidityAddress).transfer(swappedAmount / (_addressAFeePercentage + _addressBFeePercentage + _liquidityFeePercentage) * _liquidityFeePercentage);
            
            swapAmount += amount * _liquidityFeePercentage / 100;
            
            emit Transfer(sender, _liquidityAddress, amount * _liquidityFeePercentage / 100);
            _liquidityFeePercentage = oldL;
        }
        
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount - swapAmount;
        
        if (recipient != address(uniswapV2Pair) && recipient != _owner) {
            require(_balances[recipient] <= _totalSupply / 100 * _maxWalletPercentage, "Max wallet size exceeded!");
        }

        emit Transfer(sender, recipient, amount - swapAmount);
    }
    
    // Function to swap token to Ether
    // Function will be only called while transfering tokens
    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }

    // Function to mint new tokens
    // Function is never callable after contract deployment
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }
    
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    //////////////////
    // Owner functions
    
    // Function to change the owner of the contract
    function setOwner(address _account) external {
        require(msg.sender == _owner);
        
        _owner = _account;
    }
    
    // Function to exclude a address from taking fee
    function excludeAddressFromTakingFee(address account) external
    {
        require(msg.sender == _owner);
        
        addressToFeeExcluded[account] = true;
    }
    
    // Function to include a address in taking fee
    function includeAddressInTakingFee(address account) external
    {
        require(msg.sender == _owner);
        
        addressToFeeExcluded[account] = false;
    }
    
    // Function to change the fee percentage AddressA will receive
    function setAddressAFeePercentage(uint8 addressAFeePercentage) external {
        require(msg.sender == _owner);
        
        _addressAFeePercentage = addressAFeePercentage;
    }
    
    // Function to change the fee percentage AddressB will receive
    function setAddressBFeePercentage(uint8 addressBFeePercentage) external {
        require(msg.sender == _owner);
        
        _addressBFeePercentage = addressBFeePercentage;
    }
    
    // Function to change the fee percentage the liquidity address will receive
    function setLiquidityFeePercentage(uint8 liquidityFeePercentage) external {
        require(msg.sender == _owner);
        
        _liquidityFeePercentage = liquidityFeePercentage;
    }
    
    // Function to change the address of addressA
    function setAddressA(address addressA) external {
        require(msg.sender == _owner);
        
        _addressA = addressA;
    }
    
    // Function to change the address of addressB
    function setAddressB(address addressB) external {
        require(msg.sender == _owner);
        
        _addressB = addressB;
    }
    
    // Function to change the percentage of maxWalletPercentage
    function setMaxWalletPercentage(uint256 maxWalletPercentage) external {
        require(msg.sender == _owner);
        
        _maxWalletPercentage = maxWalletPercentage;
    }
    
    // Function to enable trading
    function enableTrading() external {
        require(msg.sender == _owner);
        
        _trading = true;
    }
    
    // Function to disable trading
    function disableTrading() external {
        require(msg.sender == _owner);
        
        _trading = false;
    }
    
    // Function to change the address of liquidityAddress
    function setLiquidityAddress(address liquidityAddress) external {
        require(msg.sender == _owner);
        
        _liquidityAddress = liquidityAddress;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"__name","type":"string"},{"internalType":"string","name":"__symbol","type":"string"},{"internalType":"uint8","name":"__decimals","type":"uint8"},{"internalType":"address","name":"addressA","type":"address"},{"internalType":"address","name":"addressB","type":"address"},{"internalType":"address","name":"liquidityAddress","type":"address"}],"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAddressFromTakingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAddressA","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAddressAFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAddressB","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAddressBFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquidityAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquidityFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxWalletPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAddressInTakingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isAddressFeeExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addressA","type":"address"}],"name":"setAddressA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"addressAFeePercentage","type":"uint8"}],"name":"setAddressAFeePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressB","type":"address"}],"name":"setAddressB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"addressBFeePercentage","type":"uint8"}],"name":"setAddressBFeePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"liquidityAddress","type":"address"}],"name":"setLiquidityAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"liquidityFeePercentage","type":"uint8"}],"name":"setLiquidityFeePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletPercentage","type":"uint256"}],"name":"setMaxWalletPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260046009556004600a556002600b556001600c556000600d60006101000a81548160ff0219169083151502179055503480156200004057600080fd5b5060405162003e3638038062003e3683398181016040528101906200006691906200076b565b85600490805190602001906200007e929190620005dd565b50846005908051906020019062000097929190620005dd565b5083600660006101000a81548160ff021916908360ff16021790555082600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001aa3385600a6200018a919062000a22565b6601c6bf526340006200019e919062000b5f565b6200048b60201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020a57600080fd5b505afa1580156200021f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000245919062000739565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a857600080fd5b505afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e3919062000739565b6040518363ffffffff1660e01b8152600401620003029291906200088e565b602060405180830381600087803b1580156200031d57600080fd5b505af115801562000332573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000358919062000739565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b81525050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050505062000dc9565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620004fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004f590620008bb565b60405180910390fd5b80600360008282546200051291906200096a565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200056a91906200096a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620005d19190620008dd565b60405180910390a35050565b828054620005eb9062000c41565b90600052602060002090601f0160209004810192826200060f57600085556200065b565b82601f106200062a57805160ff19168380011785556200065b565b828001600101855582156200065b579182015b828111156200065a5782518255916020019190600101906200063d565b5b5090506200066a91906200066e565b5090565b5b80821115620006895760008160009055506001016200066f565b5090565b6000620006a46200069e8462000923565b620008fa565b905082815260208101848484011115620006c357620006c262000d3f565b5b620006d084828562000c0b565b509392505050565b600081519050620006e98162000d95565b92915050565b600082601f83011262000707576200070662000d3a565b5b8151620007198482602086016200068d565b91505092915050565b600081519050620007338162000daf565b92915050565b60006020828403121562000752576200075162000d49565b5b60006200076284828501620006d8565b91505092915050565b60008060008060008060c087890312156200078b576200078a62000d49565b5b600087015167ffffffffffffffff811115620007ac57620007ab62000d44565b5b620007ba89828a01620006ef565b965050602087015167ffffffffffffffff811115620007de57620007dd62000d44565b5b620007ec89828a01620006ef565b9550506040620007ff89828a0162000722565b94505060606200081289828a01620006d8565b93505060806200082589828a01620006d8565b92505060a06200083889828a01620006d8565b9150509295509295509295565b620008508162000bc0565b82525050565b600062000865601f8362000959565b9150620008728262000d6c565b602082019050919050565b620008888162000bf4565b82525050565b6000604082019050620008a5600083018562000845565b620008b4602083018462000845565b9392505050565b60006020820190508181036000830152620008d68162000856565b9050919050565b6000602082019050620008f460008301846200087d565b92915050565b60006200090662000919565b905062000914828262000c77565b919050565b6000604051905090565b600067ffffffffffffffff82111562000941576200094062000d0b565b5b6200094c8262000d4e565b9050602081019050919050565b600082825260208201905092915050565b6000620009778262000bf4565b9150620009848362000bf4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620009bc57620009bb62000cad565b5b828201905092915050565b6000808291508390505b600185111562000a1957808604811115620009f157620009f062000cad565b5b600185161562000a015780820291505b808102905062000a118562000d5f565b9450620009d1565b94509492505050565b600062000a2f8262000bf4565b915062000a3c8362000bfe565b925062000a6b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a73565b905092915050565b60008262000a85576001905062000b58565b8162000a95576000905062000b58565b816001811462000aae576002811462000ab95762000aef565b600191505062000b58565b60ff84111562000ace5762000acd62000cad565b5b8360020a91508482111562000ae85762000ae762000cad565b5b5062000b58565b5060208310610133831016604e8410600b841016171562000b295782820a90508381111562000b235762000b2262000cad565b5b62000b58565b62000b388484846001620009c7565b9250905081840481111562000b525762000b5162000cad565b5b81810290505b9392505050565b600062000b6c8262000bf4565b915062000b798362000bf4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000bb55762000bb462000cad565b5b828202905092915050565b600062000bcd8262000bd4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101562000c2b57808201518184015260208101905062000c0e565b8381111562000c3b576000848401525b50505050565b6000600282049050600182168062000c5a57607f821691505b6020821081141562000c715762000c7062000cdc565b5b50919050565b62000c828262000d4e565b810181811067ffffffffffffffff8211171562000ca45762000ca362000d0b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b62000da08162000bc0565b811462000dac57600080fd5b50565b62000dba8162000bfe565b811462000dc657600080fd5b50565b60805160601c60a05160601c612ffb62000e3b60003960008181610c1801528181611819015281816118710152611fcd01526000818161093b01528181611769015281816117c1015281816118c90152818161199e0152818161222c0152818161231c01526123430152612ffb6000f3fe6080604052600436106101e75760003560e01c8063525fa81f1161010257806391fca47611610095578063ae44527811610064578063ae445278146106c9578063b8a6f14b146106f2578063bef8d4941461071d578063dd62ed3e14610746576101ee565b806391fca4761461060d57806395d89b4114610638578063a4ef9cf414610663578063a9059cbb1461068c576101ee565b806370a08231116100d157806370a08231146105655780637a845ece146105a2578063845a6d2c146105cb5780638a8c523c146105f6576101ee565b8063525fa81f146104ab57806356e2d4e8146104d457806358ed1780146104fd5780636c3364ea1461053a576101ee565b806318160ddd1161017a5780632eff10d4116101495780632eff10d414610401578063313ce5671461042c57806349bd5a5e146104575780634a5c8f6314610482576101ee565b806318160ddd1461034757806323b872dd146103725780632445a4cc146103af578063259c6253146103d8576101ee565b806313af4035116101b657806313af4035146102b15780631416d347146102da5780631694505e1461030557806317700f0114610330576101ee565b8063064a59d0146101f357806306fdde031461021e578063095ea7b31461024957806312384c8814610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610783565b60405161021591906127ff565b60405180910390f35b34801561022a57600080fd5b5061023361079a565b6040516102409190612835565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b919061251a565b61082c565b60405161027d91906127ff565b60405180910390f35b34801561029257600080fd5b5061029b61084a565b6040516102a891906127e4565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d3919061242d565b610874565b005b3480156102e657600080fd5b506102ef61090f565b6040516102fc91906127e4565b60405180910390f35b34801561031157600080fd5b5061031a610939565b604051610327919061281a565b60405180910390f35b34801561033c57600080fd5b5061034561095d565b005b34801561035357600080fd5b5061035c6109d2565b6040516103699190612957565b60405180910390f35b34801561037e57600080fd5b50610399600480360381019061039491906124c7565b6109dc565b6040516103a691906127ff565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d19190612587565b610add565b005b3480156103e457600080fd5b506103ff60048036038101906103fa919061242d565b610b42565b005b34801561040d57600080fd5b50610416610bf5565b6040516104239190612957565b60405180910390f35b34801561043857600080fd5b50610441610bff565b60405161044e91906129cc565b60405180910390f35b34801561046357600080fd5b5061046c610c16565b60405161047991906127e4565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a4919061242d565b610c3a565b005b3480156104b757600080fd5b506104d260048036038101906104cd919061242d565b610ced565b005b3480156104e057600080fd5b506104fb60048036038101906104f69190612587565b610d89565b005b34801561050957600080fd5b50610524600480360381019061051f919061242d565b610dee565b60405161053191906127ff565b60405180910390f35b34801561054657600080fd5b5061054f610e44565b60405161055c91906127e4565b60405180910390f35b34801561057157600080fd5b5061058c6004803603810190610587919061242d565b610e6e565b6040516105999190612957565b60405180910390f35b3480156105ae57600080fd5b506105c960048036038101906105c4919061255a565b610eb7565b005b3480156105d757600080fd5b506105e0610f19565b6040516105ed9190612957565b60405180910390f35b34801561060257600080fd5b5061060b610f23565b005b34801561061957600080fd5b50610622610f98565b60405161062f9190612957565b60405180910390f35b34801561064457600080fd5b5061064d610fa2565b60405161065a9190612835565b60405180910390f35b34801561066f57600080fd5b5061068a6004803603810190610685919061242d565b611034565b005b34801561069857600080fd5b506106b360048036038101906106ae919061251a565b6110d0565b6040516106c091906127ff565b60405180910390f35b3480156106d557600080fd5b506106f060048036038101906106eb919061242d565b6110ee565b005b3480156106fe57600080fd5b5061070761118a565b6040516107149190612957565b60405180910390f35b34801561072957600080fd5b50610744600480360381019061073f9190612587565b611194565b005b34801561075257600080fd5b5061076d60048036038101906107689190612487565b6111f9565b60405161077a9190612957565b60405180910390f35b6000600d60009054906101000a900460ff16905090565b6060600480546107a990612c21565b80601f01602080910402602001604051908101604052809291908181526020018280546107d590612c21565b80156108225780601f106107f757610100808354040283529160200191610822565b820191906000526020600020905b81548152906001019060200180831161080557829003601f168201915b5050505050905090565b6000610840610839611280565b8484611288565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108cc57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109b557600080fd5b6000600d60006101000a81548160ff021916908315150217905550565b6000600354905090565b60006109e9848484611453565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a34611280565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aab906128d7565b60405180910390fd5b610ad185610ac0611280565b8584610acc9190612b1d565b611288565b60019150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b3557600080fd5b8060ff16600b8190555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b9a57600080fd5b6001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600c54905090565b6000600660009054906101000a900460ff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c9257600080fd5b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4557600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de157600080fd5b8060ff16600a8190555050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f0f57600080fd5b80600c8190555050565b6000600954905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f7b57600080fd5b6001600d60006101000a81548160ff021916908315150217905550565b6000600a54905090565b606060058054610fb190612c21565b80601f0160208091040260200160405190810160405280929190818152602001828054610fdd90612c21565b801561102a5780601f10610fff5761010080835404028352916020019161102a565b820191906000526020600020905b81548152906001019060200180831161100d57829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108c57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006110e46110dd611280565b8484611453565b6001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114657600080fd5b80600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600b54905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111ec57600080fd5b8060ff1660098190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ef90612917565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611368576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135f90612897565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114469190612957565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba906128f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a90612857565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115db575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561163057600d60009054906101000a900460ff1661162f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162690612937565b60405180910390fd5b5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156116b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ae906128b7565b60405180910390fd5b6000808054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611760575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117b857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561181057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561186857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156118c057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561199557507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561192d57600080fd5b505afa158015611941573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611965919061245a565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a6a57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611a0257600080fd5b505afa158015611a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3a919061245a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ac05750600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b165750600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f1b576000600b5490506002600b54611b319190612a92565b600b819055506064600b54600a54600954611b4c9190612a3c565b611b569190612a3c565b85611b619190612ac3565b611b6b9190612a92565b915081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bbc9190612a3c565b925050819055506064600b5485611bd39190612ac3565b611bdd9190612a92565b60016000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c4d9190612a3c565b925050819055506000479050611c628361218d565b60008147611c709190612b1d565b9050600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600954600b54600a54600954611cc49190612a3c565b611cce9190612a3c565b84611cd99190612a92565b611ce39190612ac3565b9081150290604051600060405180830381858888f19350505050158015611d0e573d6000803e3d6000fd5b50600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a54600b54600a54600954611d619190612a3c565b611d6b9190612a3c565b84611d769190612a92565b611d809190612ac3565b9081150290604051600060405180830381858888f19350505050158015611dab573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600b54600b54600a54600954611dfe9190612a3c565b611e089190612a3c565b84611e139190612a92565b611e1d9190612ac3565b9081150290604051600060405180830381858888f19350505050158015611e48573d6000803e3d6000fd5b506064600b5487611e599190612ac3565b611e639190612a92565b84611e6e9190612a3c565b9350600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600b548a611ef19190612ac3565b611efb9190612a92565b604051611f089190612957565b60405180910390a382600b819055505050505b8282611f279190612b1d565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508083611f769190612b1d565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611fc49190612a3c565b925050819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612073575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561211657600c54606460035461208a9190612a92565b6120949190612ac3565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115612115576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210c90612877565b60405180910390fd5b5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866121719190612b1d565b60405161217e9190612957565b60405180910390a35050505050565b6000600267ffffffffffffffff8111156121aa576121a9612d0f565b5b6040519080825280602002602001820160405280156121d85781602001602082028036833780820191505090505b50905030816000815181106121f0576121ef612ce0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561229057600080fd5b505afa1580156122a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c8919061245a565b816001815181106122dc576122db612ce0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612341307f000000000000000000000000000000000000000000000000000000000000000084611288565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123a3959493929190612972565b600060405180830381600087803b1580156123bd57600080fd5b505af11580156123d1573d6000803e3d6000fd5b505050505050565b6000813590506123e881612f80565b92915050565b6000815190506123fd81612f80565b92915050565b60008135905061241281612f97565b92915050565b60008135905061242781612fae565b92915050565b60006020828403121561244357612442612d3e565b5b6000612451848285016123d9565b91505092915050565b6000602082840312156124705761246f612d3e565b5b600061247e848285016123ee565b91505092915050565b6000806040838503121561249e5761249d612d3e565b5b60006124ac858286016123d9565b92505060206124bd858286016123d9565b9150509250929050565b6000806000606084860312156124e0576124df612d3e565b5b60006124ee868287016123d9565b93505060206124ff868287016123d9565b925050604061251086828701612403565b9150509250925092565b6000806040838503121561253157612530612d3e565b5b600061253f858286016123d9565b925050602061255085828601612403565b9150509250929050565b6000602082840312156125705761256f612d3e565b5b600061257e84828501612403565b91505092915050565b60006020828403121561259d5761259c612d3e565b5b60006125ab84828501612418565b91505092915050565b60006125c083836125cc565b60208301905092915050565b6125d581612b51565b82525050565b6125e481612b51565b82525050565b60006125f5826129f7565b6125ff8185612a1a565b935061260a836129e7565b8060005b8381101561263b57815161262288826125b4565b975061262d83612a0d565b92505060018101905061260e565b5085935050505092915050565b61265181612b63565b82525050565b61266081612ba6565b82525050565b61266f81612bb8565b82525050565b600061268082612a02565b61268a8185612a2b565b935061269a818560208601612bee565b6126a381612d43565b840191505092915050565b60006126bb602383612a2b565b91506126c682612d54565b604082019050919050565b60006126de601983612a2b565b91506126e982612da3565b602082019050919050565b6000612701602283612a2b565b915061270c82612dcc565b604082019050919050565b6000612724602683612a2b565b915061272f82612e1b565b604082019050919050565b6000612747602883612a2b565b915061275282612e6a565b604082019050919050565b600061276a602583612a2b565b915061277582612eb9565b604082019050919050565b600061278d602483612a2b565b915061279882612f08565b604082019050919050565b60006127b0601783612a2b565b91506127bb82612f57565b602082019050919050565b6127cf81612b8f565b82525050565b6127de81612b99565b82525050565b60006020820190506127f960008301846125db565b92915050565b60006020820190506128146000830184612648565b92915050565b600060208201905061282f6000830184612657565b92915050565b6000602082019050818103600083015261284f8184612675565b905092915050565b60006020820190508181036000830152612870816126ae565b9050919050565b60006020820190508181036000830152612890816126d1565b9050919050565b600060208201905081810360008301526128b0816126f4565b9050919050565b600060208201905081810360008301526128d081612717565b9050919050565b600060208201905081810360008301526128f08161273a565b9050919050565b600060208201905081810360008301526129108161275d565b9050919050565b6000602082019050818103600083015261293081612780565b9050919050565b60006020820190508181036000830152612950816127a3565b9050919050565b600060208201905061296c60008301846127c6565b92915050565b600060a08201905061298760008301886127c6565b6129946020830187612666565b81810360408301526129a681866125ea565b90506129b560608301856125db565b6129c260808301846127c6565b9695505050505050565b60006020820190506129e160008301846127d5565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a4782612b8f565b9150612a5283612b8f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a8757612a86612c53565b5b828201905092915050565b6000612a9d82612b8f565b9150612aa883612b8f565b925082612ab857612ab7612c82565b5b828204905092915050565b6000612ace82612b8f565b9150612ad983612b8f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b1257612b11612c53565b5b828202905092915050565b6000612b2882612b8f565b9150612b3383612b8f565b925082821015612b4657612b45612c53565b5b828203905092915050565b6000612b5c82612b6f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bb182612bca565b9050919050565b6000612bc382612b8f565b9050919050565b6000612bd582612bdc565b9050919050565b6000612be782612b6f565b9050919050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b60006002820490506001821680612c3957607f821691505b60208210811415612c4d57612c4c612cb1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4d61782077616c6c65742073697a652065786365656465642100000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206973206e6f7420656e61626c656421000000000000000000600082015250565b612f8981612b51565b8114612f9457600080fd5b50565b612fa081612b8f565b8114612fab57600080fd5b50565b612fb781612b99565b8114612fc257600080fd5b5056fea264697066735822122054a91437f685d4034a5811e5a0ecb53b98650adf37a4dc4ab46ba95b5f32434564736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000c90d3aea3d7ec29c1a310fb3a72656906b2a1909000000000000000000000000dcc1068d787bdcca30cf1d5fd352a4ccda58fbea000000000000000000000000d1849a2a20870d87c532368b58c4297b802da504000000000000000000000000000000000000000000000000000000000000000c506c616e65744f66496e757300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003504f490000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101e75760003560e01c8063525fa81f1161010257806391fca47611610095578063ae44527811610064578063ae445278146106c9578063b8a6f14b146106f2578063bef8d4941461071d578063dd62ed3e14610746576101ee565b806391fca4761461060d57806395d89b4114610638578063a4ef9cf414610663578063a9059cbb1461068c576101ee565b806370a08231116100d157806370a08231146105655780637a845ece146105a2578063845a6d2c146105cb5780638a8c523c146105f6576101ee565b8063525fa81f146104ab57806356e2d4e8146104d457806358ed1780146104fd5780636c3364ea1461053a576101ee565b806318160ddd1161017a5780632eff10d4116101495780632eff10d414610401578063313ce5671461042c57806349bd5a5e146104575780634a5c8f6314610482576101ee565b806318160ddd1461034757806323b872dd146103725780632445a4cc146103af578063259c6253146103d8576101ee565b806313af4035116101b657806313af4035146102b15780631416d347146102da5780631694505e1461030557806317700f0114610330576101ee565b8063064a59d0146101f357806306fdde031461021e578063095ea7b31461024957806312384c8814610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610783565b60405161021591906127ff565b60405180910390f35b34801561022a57600080fd5b5061023361079a565b6040516102409190612835565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b919061251a565b61082c565b60405161027d91906127ff565b60405180910390f35b34801561029257600080fd5b5061029b61084a565b6040516102a891906127e4565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d3919061242d565b610874565b005b3480156102e657600080fd5b506102ef61090f565b6040516102fc91906127e4565b60405180910390f35b34801561031157600080fd5b5061031a610939565b604051610327919061281a565b60405180910390f35b34801561033c57600080fd5b5061034561095d565b005b34801561035357600080fd5b5061035c6109d2565b6040516103699190612957565b60405180910390f35b34801561037e57600080fd5b50610399600480360381019061039491906124c7565b6109dc565b6040516103a691906127ff565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d19190612587565b610add565b005b3480156103e457600080fd5b506103ff60048036038101906103fa919061242d565b610b42565b005b34801561040d57600080fd5b50610416610bf5565b6040516104239190612957565b60405180910390f35b34801561043857600080fd5b50610441610bff565b60405161044e91906129cc565b60405180910390f35b34801561046357600080fd5b5061046c610c16565b60405161047991906127e4565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a4919061242d565b610c3a565b005b3480156104b757600080fd5b506104d260048036038101906104cd919061242d565b610ced565b005b3480156104e057600080fd5b506104fb60048036038101906104f69190612587565b610d89565b005b34801561050957600080fd5b50610524600480360381019061051f919061242d565b610dee565b60405161053191906127ff565b60405180910390f35b34801561054657600080fd5b5061054f610e44565b60405161055c91906127e4565b60405180910390f35b34801561057157600080fd5b5061058c6004803603810190610587919061242d565b610e6e565b6040516105999190612957565b60405180910390f35b3480156105ae57600080fd5b506105c960048036038101906105c4919061255a565b610eb7565b005b3480156105d757600080fd5b506105e0610f19565b6040516105ed9190612957565b60405180910390f35b34801561060257600080fd5b5061060b610f23565b005b34801561061957600080fd5b50610622610f98565b60405161062f9190612957565b60405180910390f35b34801561064457600080fd5b5061064d610fa2565b60405161065a9190612835565b60405180910390f35b34801561066f57600080fd5b5061068a6004803603810190610685919061242d565b611034565b005b34801561069857600080fd5b506106b360048036038101906106ae919061251a565b6110d0565b6040516106c091906127ff565b60405180910390f35b3480156106d557600080fd5b506106f060048036038101906106eb919061242d565b6110ee565b005b3480156106fe57600080fd5b5061070761118a565b6040516107149190612957565b60405180910390f35b34801561072957600080fd5b50610744600480360381019061073f9190612587565b611194565b005b34801561075257600080fd5b5061076d60048036038101906107689190612487565b6111f9565b60405161077a9190612957565b60405180910390f35b6000600d60009054906101000a900460ff16905090565b6060600480546107a990612c21565b80601f01602080910402602001604051908101604052809291908181526020018280546107d590612c21565b80156108225780601f106107f757610100808354040283529160200191610822565b820191906000526020600020905b81548152906001019060200180831161080557829003601f168201915b5050505050905090565b6000610840610839611280565b8484611288565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108cc57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109b557600080fd5b6000600d60006101000a81548160ff021916908315150217905550565b6000600354905090565b60006109e9848484611453565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a34611280565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aab906128d7565b60405180910390fd5b610ad185610ac0611280565b8584610acc9190612b1d565b611288565b60019150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b3557600080fd5b8060ff16600b8190555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b9a57600080fd5b6001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600c54905090565b6000600660009054906101000a900460ff16905090565b7f00000000000000000000000063692bb9089350ad5f8e35b675c87e39cd7e36cb81565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c9257600080fd5b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4557600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de157600080fd5b8060ff16600a8190555050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f0f57600080fd5b80600c8190555050565b6000600954905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f7b57600080fd5b6001600d60006101000a81548160ff021916908315150217905550565b6000600a54905090565b606060058054610fb190612c21565b80601f0160208091040260200160405190810160405280929190818152602001828054610fdd90612c21565b801561102a5780601f10610fff5761010080835404028352916020019161102a565b820191906000526020600020905b81548152906001019060200180831161100d57829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108c57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006110e46110dd611280565b8484611453565b6001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114657600080fd5b80600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600b54905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111ec57600080fd5b8060ff1660098190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ef90612917565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611368576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135f90612897565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114469190612957565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba906128f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a90612857565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115db575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561163057600d60009054906101000a900460ff1661162f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162690612937565b60405180910390fd5b5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156116b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ae906128b7565b60405180910390fd5b6000808054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611760575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117b857507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561181057507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561186857507f00000000000000000000000063692bb9089350ad5f8e35b675c87e39cd7e36cb73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156118c057507f00000000000000000000000063692bb9089350ad5f8e35b675c87e39cd7e36cb73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561199557507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561192d57600080fd5b505afa158015611941573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611965919061245a565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a6a57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611a0257600080fd5b505afa158015611a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3a919061245a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ac05750600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b165750600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f1b576000600b5490506002600b54611b319190612a92565b600b819055506064600b54600a54600954611b4c9190612a3c565b611b569190612a3c565b85611b619190612ac3565b611b6b9190612a92565b915081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bbc9190612a3c565b925050819055506064600b5485611bd39190612ac3565b611bdd9190612a92565b60016000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c4d9190612a3c565b925050819055506000479050611c628361218d565b60008147611c709190612b1d565b9050600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600954600b54600a54600954611cc49190612a3c565b611cce9190612a3c565b84611cd99190612a92565b611ce39190612ac3565b9081150290604051600060405180830381858888f19350505050158015611d0e573d6000803e3d6000fd5b50600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a54600b54600a54600954611d619190612a3c565b611d6b9190612a3c565b84611d769190612a92565b611d809190612ac3565b9081150290604051600060405180830381858888f19350505050158015611dab573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600b54600b54600a54600954611dfe9190612a3c565b611e089190612a3c565b84611e139190612a92565b611e1d9190612ac3565b9081150290604051600060405180830381858888f19350505050158015611e48573d6000803e3d6000fd5b506064600b5487611e599190612ac3565b611e639190612a92565b84611e6e9190612a3c565b9350600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600b548a611ef19190612ac3565b611efb9190612a92565b604051611f089190612957565b60405180910390a382600b819055505050505b8282611f279190612b1d565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508083611f769190612b1d565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611fc49190612a3c565b925050819055507f00000000000000000000000063692bb9089350ad5f8e35b675c87e39cd7e36cb73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612073575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561211657600c54606460035461208a9190612a92565b6120949190612ac3565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115612115576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210c90612877565b60405180910390fd5b5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866121719190612b1d565b60405161217e9190612957565b60405180910390a35050505050565b6000600267ffffffffffffffff8111156121aa576121a9612d0f565b5b6040519080825280602002602001820160405280156121d85781602001602082028036833780820191505090505b50905030816000815181106121f0576121ef612ce0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561229057600080fd5b505afa1580156122a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c8919061245a565b816001815181106122dc576122db612ce0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612341307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611288565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123a3959493929190612972565b600060405180830381600087803b1580156123bd57600080fd5b505af11580156123d1573d6000803e3d6000fd5b505050505050565b6000813590506123e881612f80565b92915050565b6000815190506123fd81612f80565b92915050565b60008135905061241281612f97565b92915050565b60008135905061242781612fae565b92915050565b60006020828403121561244357612442612d3e565b5b6000612451848285016123d9565b91505092915050565b6000602082840312156124705761246f612d3e565b5b600061247e848285016123ee565b91505092915050565b6000806040838503121561249e5761249d612d3e565b5b60006124ac858286016123d9565b92505060206124bd858286016123d9565b9150509250929050565b6000806000606084860312156124e0576124df612d3e565b5b60006124ee868287016123d9565b93505060206124ff868287016123d9565b925050604061251086828701612403565b9150509250925092565b6000806040838503121561253157612530612d3e565b5b600061253f858286016123d9565b925050602061255085828601612403565b9150509250929050565b6000602082840312156125705761256f612d3e565b5b600061257e84828501612403565b91505092915050565b60006020828403121561259d5761259c612d3e565b5b60006125ab84828501612418565b91505092915050565b60006125c083836125cc565b60208301905092915050565b6125d581612b51565b82525050565b6125e481612b51565b82525050565b60006125f5826129f7565b6125ff8185612a1a565b935061260a836129e7565b8060005b8381101561263b57815161262288826125b4565b975061262d83612a0d565b92505060018101905061260e565b5085935050505092915050565b61265181612b63565b82525050565b61266081612ba6565b82525050565b61266f81612bb8565b82525050565b600061268082612a02565b61268a8185612a2b565b935061269a818560208601612bee565b6126a381612d43565b840191505092915050565b60006126bb602383612a2b565b91506126c682612d54565b604082019050919050565b60006126de601983612a2b565b91506126e982612da3565b602082019050919050565b6000612701602283612a2b565b915061270c82612dcc565b604082019050919050565b6000612724602683612a2b565b915061272f82612e1b565b604082019050919050565b6000612747602883612a2b565b915061275282612e6a565b604082019050919050565b600061276a602583612a2b565b915061277582612eb9565b604082019050919050565b600061278d602483612a2b565b915061279882612f08565b604082019050919050565b60006127b0601783612a2b565b91506127bb82612f57565b602082019050919050565b6127cf81612b8f565b82525050565b6127de81612b99565b82525050565b60006020820190506127f960008301846125db565b92915050565b60006020820190506128146000830184612648565b92915050565b600060208201905061282f6000830184612657565b92915050565b6000602082019050818103600083015261284f8184612675565b905092915050565b60006020820190508181036000830152612870816126ae565b9050919050565b60006020820190508181036000830152612890816126d1565b9050919050565b600060208201905081810360008301526128b0816126f4565b9050919050565b600060208201905081810360008301526128d081612717565b9050919050565b600060208201905081810360008301526128f08161273a565b9050919050565b600060208201905081810360008301526129108161275d565b9050919050565b6000602082019050818103600083015261293081612780565b9050919050565b60006020820190508181036000830152612950816127a3565b9050919050565b600060208201905061296c60008301846127c6565b92915050565b600060a08201905061298760008301886127c6565b6129946020830187612666565b81810360408301526129a681866125ea565b90506129b560608301856125db565b6129c260808301846127c6565b9695505050505050565b60006020820190506129e160008301846127d5565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a4782612b8f565b9150612a5283612b8f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a8757612a86612c53565b5b828201905092915050565b6000612a9d82612b8f565b9150612aa883612b8f565b925082612ab857612ab7612c82565b5b828204905092915050565b6000612ace82612b8f565b9150612ad983612b8f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b1257612b11612c53565b5b828202905092915050565b6000612b2882612b8f565b9150612b3383612b8f565b925082821015612b4657612b45612c53565b5b828203905092915050565b6000612b5c82612b6f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bb182612bca565b9050919050565b6000612bc382612b8f565b9050919050565b6000612bd582612bdc565b9050919050565b6000612be782612b6f565b9050919050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b60006002820490506001821680612c3957607f821691505b60208210811415612c4d57612c4c612cb1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4d61782077616c6c65742073697a652065786365656465642100000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206973206e6f7420656e61626c656421000000000000000000600082015250565b612f8981612b51565b8114612f9457600080fd5b50565b612fa081612b8f565b8114612fab57600080fd5b50565b612fb781612b99565b8114612fc257600080fd5b5056fea264697066735822122054a91437f685d4034a5811e5a0ecb53b98650adf37a4dc4ab46ba95b5f32434564736f6c63430008070033

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

00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000c90d3aea3d7ec29c1a310fb3a72656906b2a1909000000000000000000000000dcc1068d787bdcca30cf1d5fd352a4ccda58fbea000000000000000000000000d1849a2a20870d87c532368b58c4297b802da504000000000000000000000000000000000000000000000000000000000000000c506c616e65744f66496e757300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003504f490000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : __name (string): PlanetOfInus
Arg [1] : __symbol (string): POI
Arg [2] : __decimals (uint8): 9
Arg [3] : addressA (address): 0xc90D3AEA3d7eC29c1A310Fb3a72656906B2A1909
Arg [4] : addressB (address): 0xdcC1068d787bDcCa30cf1D5fD352A4ccDa58FbeA
Arg [5] : liquidityAddress (address): 0xD1849A2a20870D87c532368b58C4297b802da504

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [3] : 000000000000000000000000c90d3aea3d7ec29c1a310fb3a72656906b2a1909
Arg [4] : 000000000000000000000000dcc1068d787bdcca30cf1d5fd352a4ccda58fbea
Arg [5] : 000000000000000000000000d1849a2a20870d87c532368b58c4297b802da504
Arg [6] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [7] : 506c616e65744f66496e75730000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [9] : 504f490000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8972:11609:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12296:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10764:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12803:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11680:103;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17923:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11479:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9659:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20218:120;;;;;;;;;;;;;:::i;:::-;;11065:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13147:422;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19156:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18120:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12175:109;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10966:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9717:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18357:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20409:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18876:187;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12396:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11578:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11181:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19824:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11795:113;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20052:118;;;;;;;;;;;;;:::i;:::-;;11920:116;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10863:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19610:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12580:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19410:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12048:115;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18609:187;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11316:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12296:88;12344:4;12368:8;;;;;;;;;;;12361:15;;12296:88;:::o;10764:91::-;10809:13;10842:5;10835:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10764:91;:::o;12803:169::-;12886:4;12903:39;12912:12;:10;:12::i;:::-;12926:7;12935:6;12903:8;:39::i;:::-;12960:4;12953:11;;12803:169;;;;:::o;11680:103::-;11731:7;11758:17;;;;;;;;;;;11751:24;;11680:103;:::o;17923:131::-;18001:6;;;;;;;;;;17987:20;;:10;:20;;;17979:29;;;;;;18038:8;18029:6;;:17;;;;;;;;;;;;;;;;;;17923:131;:::o;11479:87::-;11522:7;11549:9;;;;;;;;;;;11542:16;;11479:87;:::o;9659:51::-;;;:::o;20218:120::-;20286:6;;;;;;;;;;20272:20;;:10;:20;;;20264:29;;;;;;20325:5;20314:8;;:16;;;;;;;;;;;;;;;;;;20218:120::o;11065:108::-;11126:7;11153:12;;11146:19;;11065:108;:::o;13147:422::-;13253:4;13270:36;13280:6;13288:9;13299:6;13270:9;:36::i;:::-;13319:24;13346:11;:19;13358:6;13346:19;;;;;;;;;;;;;;;:33;13366:12;:10;:12::i;:::-;13346:33;;;;;;;;;;;;;;;;13319:60;;13418:6;13398:16;:26;;13390:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;13480:57;13489:6;13497:12;:10;:12::i;:::-;13530:6;13511:16;:25;;;;:::i;:::-;13480:8;:57::i;:::-;13557:4;13550:11;;;13147:422;;;;;:::o;19156:191::-;19263:6;;;;;;;;;;19249:20;;:10;:20;;;19241:29;;;;;;19317:22;19291:48;;:23;:48;;;;19156:191;:::o;18120:173::-;18221:6;;;;;;;;;;18207:20;;:10;:20;;;18199:29;;;;;;18281:4;18249:20;:29;18270:7;18249:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;18120:173;:::o;12175:109::-;12229:7;12256:20;;12249:27;;12175:109;:::o;10966:91::-;11015:5;11040:9;;;;;;;;;;;11033:16;;10966:91;:::o;9717:38::-;;;:::o;18357:172::-;18456:6;;;;;;;;;;18442:20;;:10;:20;;;18434:29;;;;;;18516:5;18484:20;:29;18505:7;18484:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;18357:172;:::o;20409:169::-;20506:6;;;;;;;;;;20492:20;;:10;:20;;;20484:29;;;;;;20554:16;20534:17;;:36;;;;;;;;;;;;;;;;;;20409:169;:::o;18876:187::-;18981:6;;;;;;;;;;18967:20;;:10;:20;;;18959:29;;;;;;19034:21;19009:46;;:22;:46;;;;18876:187;:::o;12396:135::-;12463:4;12493:20;:29;12514:7;12493:29;;;;;;;;;;;;;;;;;;;;;;;;;12485:38;;12396:135;;;:::o;11578:90::-;11621:7;11648:9;;;;;;;;;;;11641:16;;11578:90;:::o;11181:127::-;11255:7;11282:9;:18;11292:7;11282:18;;;;;;;;;;;;;;;;11275:25;;11181:127;;;:::o;19824:181::-;19927:6;;;;;;;;;;19913:20;;:10;:20;;;19905:29;;;;;;19978:19;19955:20;:42;;;;19824:181;:::o;11795:113::-;11851:7;11878:22;;11871:29;;11795:113;:::o;20052:118::-;20119:6;;;;;;;;;;20105:20;;:10;:20;;;20097:29;;;;;;20158:4;20147:8;;:15;;;;;;;;;;;;;;;;;;20052:118::o;11920:116::-;11976:7;12003:22;;11996:29;;11920:116;:::o;10863:95::-;10910:13;10943:7;10936:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10863:95;:::o;19610:137::-;19691:6;;;;;;;;;;19677:20;;:10;:20;;;19669:29;;;;;;19731:8;19719:9;;:20;;;;;;;;;;;;;;;;;;19610:137;:::o;12580:175::-;12666:4;12683:42;12693:12;:10;:12::i;:::-;12707:9;12718:6;12683:9;:42::i;:::-;12743:4;12736:11;;12580:175;;;;:::o;19410:137::-;19491:6;;;;;;;;;;19477:20;;:10;:20;;;19469:29;;;;;;19531:8;19519:9;;:20;;;;;;;;;;;;;;;;;;19410:137;:::o;12048:115::-;12105:7;12132:23;;12125:30;;12048:115;:::o;18609:187::-;18714:6;;;;;;;;;;18700:20;;:10;:20;;;18692:29;;;;;;18767:21;18742:46;;:22;:46;;;;18609:187;:::o;11316:151::-;11405:7;11432:11;:18;11444:5;11432:18;;;;;;;;;;;;;;;:27;11451:7;11432:27;;;;;;;;;;;;;;;;11425:34;;11316:151;;;;:::o;780:98::-;833:7;860:10;853:17;;780:98;:::o;17462:346::-;17581:1;17564:19;;:5;:19;;;;17556:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17662:1;17643:21;;:7;:21;;;;17635:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17746:6;17716:11;:18;17728:5;17716:18;;;;;;;;;;;;;;;:27;17735:7;17716:27;;;;;;;;;;;;;;;:36;;;;17784:7;17768:32;;17777:5;17768:32;;;17793:6;17768:32;;;;;;:::i;:::-;;;;;;;;17462:346;;;:::o;13746:2733::-;13870:1;13852:20;;:6;:20;;;;13844:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13954:1;13933:23;;:9;:23;;;;13925:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14023:6;;;;;;;;;;14013:16;;:6;:16;;;;:39;;;;;14046:6;;;;;;;;;;14033:19;;:9;:19;;;;14013:39;14009:116;;;14077:8;;;;;;;;;;;14069:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;14009:116;14137:21;14161:9;:17;14171:6;14161:17;;;;;;;;;;;;;;;;14137:41;;14214:6;14197:13;:23;;14189:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14284:18;14379:6;;;;;;;;;;14369:16;;:6;:16;;;;:39;;;;;14402:6;;;;;;;;;;14389:19;;:9;:19;;;;14369:39;:77;;;;;14430:15;14412:34;;:6;:34;;;;14369:77;:118;;;;;14471:15;14450:37;;:9;:37;;;;14369:118;:154;;;;;14509:13;14491:32;;:6;:32;;;;14369:154;:193;;;;;14548:13;14527:35;;:9;:35;;;;14369:193;:232;;;;;14576:15;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14566:35;;:6;:35;;;;14369:232;:274;;;;;14618:15;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14605:38;;:9;:38;;;;14369:274;:307;;;;;14648:20;:28;14669:6;14648:28;;;;;;;;;;;;;;;;;;;;;;;;;14647:29;14369:307;:343;;;;;14681:20;:31;14702:9;14681:31;;;;;;;;;;;;;;;;;;;;;;;;;14680:32;14369:343;14365:1710;;;14738:12;14753:23;;14738:38;;14843:1;14817:23;;:27;;;;:::i;:::-;14791:23;:53;;;;14975:3;14947:23;;14922:22;;14897;;:47;;;;:::i;:::-;:73;;;;:::i;:::-;14886:6;:86;;;;:::i;:::-;:92;;;;:::i;:::-;14873:105;;15035:10;15007:9;:24;15025:4;15007:24;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;15127:3;15101:23;;15092:6;:32;;;;:::i;:::-;:38;;;;:::i;:::-;15060:9;:28;15070:17;;;;;;;;;;;15060:28;;;;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;;;;;;;;15159:22;15184:21;15159:46;;15220:28;15237:10;15220:16;:28::i;:::-;15263:21;15311:14;15287:21;:38;;;;:::i;:::-;15263:62;;15362:9;;;;;;;;;;;15354:27;;:145;15476:22;;15449:23;;15424:22;;15399;;:47;;;;:::i;:::-;:73;;;;:::i;:::-;15382:13;:91;;;;:::i;:::-;:116;;;;:::i;:::-;15354:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15522:9;;;;;;;;;;;15514:27;;:145;15636:22;;15609:23;;15584:22;;15559;;:47;;;;:::i;:::-;:73;;;;:::i;:::-;15542:13;:91;;;;:::i;:::-;:116;;;;:::i;:::-;15514:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15682:17;;;;;;;;;;;15674:35;;:154;15804:23;;15777;;15752:22;;15727;;:47;;;;:::i;:::-;:73;;;;:::i;:::-;15710:13;:91;;;;:::i;:::-;:117;;;;:::i;:::-;15674:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15906:3;15880:23;;15871:6;:32;;;;:::i;:::-;:38;;;;:::i;:::-;15857:52;;;;;:::i;:::-;;;15960:17;;;;;;;;;;;15943:75;;15952:6;15943:75;;;16014:3;15988:23;;15979:6;:32;;;;:::i;:::-;:38;;;;:::i;:::-;15943:75;;;;;;:::i;:::-;;;;;;;;16059:4;16033:23;:30;;;;14723:1352;;;14365:1710;16131:6;16115:13;:22;;;;:::i;:::-;16095:9;:17;16105:6;16095:17;;;;;;;;;;;;;;;:42;;;;16181:10;16172:6;:19;;;;:::i;:::-;16148:9;:20;16158:9;16148:20;;;;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;16237:13;16216:35;;:9;:35;;;;:58;;;;;16268:6;;;;;;;;;;16255:19;;:9;:19;;;;16216:58;16212:194;;;16344:20;;16338:3;16323:12;;:18;;;;:::i;:::-;:41;;;;:::i;:::-;16299:9;:20;16309:9;16299:20;;;;;;;;;;;;;;;;:65;;16291:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;16212:194;16440:9;16423:48;;16432:6;16423:48;;;16460:10;16451:6;:19;;;;:::i;:::-;16423:48;;;;;;:::i;:::-;;;;;;;;13833:2646;;13746:2733;;;:::o;16593:476::-;16659:21;16697:1;16683:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16659:40;;16728:4;16710;16715:1;16710:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16754:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16744:4;16749:1;16744:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16789:62;16806:4;16821:15;16839:11;16789:8;:62::i;:::-;16864:15;:66;;;16945:11;16971:1;16988:4;17015;17035:15;16864:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16648:421;16593:476;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;301:139;;;;:::o;446:135::-;490:5;528:6;515:20;506:29;;544:31;569:5;544:31;:::i;:::-;446:135;;;;:::o;587:329::-;646:6;695:2;683:9;674:7;670:23;666:32;663:119;;;701:79;;:::i;:::-;663:119;821:1;846:53;891:7;882:6;871:9;867:22;846:53;:::i;:::-;836:63;;792:117;587:329;;;;:::o;922:351::-;992:6;1041:2;1029:9;1020:7;1016:23;1012:32;1009:119;;;1047:79;;:::i;:::-;1009:119;1167:1;1192:64;1248:7;1239:6;1228:9;1224:22;1192:64;:::i;:::-;1182:74;;1138:128;922:351;;;;:::o;1279:474::-;1347:6;1355;1404:2;1392:9;1383:7;1379:23;1375:32;1372:119;;;1410:79;;:::i;:::-;1372:119;1530:1;1555:53;1600:7;1591:6;1580:9;1576:22;1555:53;:::i;:::-;1545:63;;1501:117;1657:2;1683:53;1728:7;1719:6;1708:9;1704:22;1683:53;:::i;:::-;1673:63;;1628:118;1279:474;;;;;:::o;1759:619::-;1836:6;1844;1852;1901:2;1889:9;1880:7;1876:23;1872:32;1869:119;;;1907:79;;:::i;:::-;1869:119;2027:1;2052:53;2097:7;2088:6;2077:9;2073:22;2052:53;:::i;:::-;2042:63;;1998:117;2154:2;2180:53;2225:7;2216:6;2205:9;2201:22;2180:53;:::i;:::-;2170:63;;2125:118;2282:2;2308:53;2353:7;2344:6;2333:9;2329:22;2308:53;:::i;:::-;2298:63;;2253:118;1759:619;;;;;:::o;2384:474::-;2452:6;2460;2509:2;2497:9;2488:7;2484:23;2480:32;2477:119;;;2515:79;;:::i;:::-;2477:119;2635:1;2660:53;2705:7;2696:6;2685:9;2681:22;2660:53;:::i;:::-;2650:63;;2606:117;2762:2;2788:53;2833:7;2824:6;2813:9;2809:22;2788:53;:::i;:::-;2778:63;;2733:118;2384:474;;;;;:::o;2864:329::-;2923:6;2972:2;2960:9;2951:7;2947:23;2943:32;2940:119;;;2978:79;;:::i;:::-;2940:119;3098:1;3123:53;3168:7;3159:6;3148:9;3144:22;3123:53;:::i;:::-;3113:63;;3069:117;2864:329;;;;:::o;3199:325::-;3256:6;3305:2;3293:9;3284:7;3280:23;3276:32;3273:119;;;3311:79;;:::i;:::-;3273:119;3431:1;3456:51;3499:7;3490:6;3479:9;3475:22;3456:51;:::i;:::-;3446:61;;3402:115;3199:325;;;;:::o;3530:179::-;3599:10;3620:46;3662:3;3654:6;3620:46;:::i;:::-;3698:4;3693:3;3689:14;3675:28;;3530:179;;;;:::o;3715:108::-;3792:24;3810:5;3792:24;:::i;:::-;3787:3;3780:37;3715:108;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3983:732::-;4102:3;4131:54;4179:5;4131:54;:::i;:::-;4201:86;4280:6;4275:3;4201:86;:::i;:::-;4194:93;;4311:56;4361:5;4311:56;:::i;:::-;4390:7;4421:1;4406:284;4431:6;4428:1;4425:13;4406:284;;;4507:6;4501:13;4534:63;4593:3;4578:13;4534:63;:::i;:::-;4527:70;;4620:60;4673:6;4620:60;:::i;:::-;4610:70;;4466:224;4453:1;4450;4446:9;4441:14;;4406:284;;;4410:14;4706:3;4699:10;;4107:608;;;3983:732;;;;:::o;4721:109::-;4802:21;4817:5;4802:21;:::i;:::-;4797:3;4790:34;4721:109;;:::o;4836:183::-;4949:63;5006:5;4949:63;:::i;:::-;4944:3;4937:76;4836:183;;:::o;5025:147::-;5120:45;5159:5;5120:45;:::i;:::-;5115:3;5108:58;5025:147;;:::o;5178:364::-;5266:3;5294:39;5327:5;5294:39;:::i;:::-;5349:71;5413:6;5408:3;5349:71;:::i;:::-;5342:78;;5429:52;5474:6;5469:3;5462:4;5455:5;5451:16;5429:52;:::i;:::-;5506:29;5528:6;5506:29;:::i;:::-;5501:3;5497:39;5490:46;;5270:272;5178:364;;;;:::o;5548:366::-;5690:3;5711:67;5775:2;5770:3;5711:67;:::i;:::-;5704:74;;5787:93;5876:3;5787:93;:::i;:::-;5905:2;5900:3;5896:12;5889:19;;5548:366;;;:::o;5920:::-;6062:3;6083:67;6147:2;6142:3;6083:67;:::i;:::-;6076:74;;6159:93;6248:3;6159:93;:::i;:::-;6277:2;6272:3;6268:12;6261:19;;5920:366;;;:::o;6292:::-;6434:3;6455:67;6519:2;6514:3;6455:67;:::i;:::-;6448:74;;6531:93;6620:3;6531:93;:::i;:::-;6649:2;6644:3;6640:12;6633:19;;6292:366;;;:::o;6664:::-;6806:3;6827:67;6891:2;6886:3;6827:67;:::i;:::-;6820:74;;6903:93;6992:3;6903:93;:::i;:::-;7021:2;7016:3;7012:12;7005:19;;6664:366;;;:::o;7036:::-;7178:3;7199:67;7263:2;7258:3;7199:67;:::i;:::-;7192:74;;7275:93;7364:3;7275:93;:::i;:::-;7393:2;7388:3;7384:12;7377:19;;7036:366;;;:::o;7408:::-;7550:3;7571:67;7635:2;7630:3;7571:67;:::i;:::-;7564:74;;7647:93;7736:3;7647:93;:::i;:::-;7765:2;7760:3;7756:12;7749:19;;7408:366;;;:::o;7780:::-;7922:3;7943:67;8007:2;8002:3;7943:67;:::i;:::-;7936:74;;8019:93;8108:3;8019:93;:::i;:::-;8137:2;8132:3;8128:12;8121:19;;7780:366;;;:::o;8152:::-;8294:3;8315:67;8379:2;8374:3;8315:67;:::i;:::-;8308:74;;8391:93;8480:3;8391:93;:::i;:::-;8509:2;8504:3;8500:12;8493:19;;8152:366;;;:::o;8524:118::-;8611:24;8629:5;8611:24;:::i;:::-;8606:3;8599:37;8524:118;;:::o;8648:112::-;8731:22;8747:5;8731:22;:::i;:::-;8726:3;8719:35;8648:112;;:::o;8766:222::-;8859:4;8897:2;8886:9;8882:18;8874:26;;8910:71;8978:1;8967:9;8963:17;8954:6;8910:71;:::i;:::-;8766:222;;;;:::o;8994:210::-;9081:4;9119:2;9108:9;9104:18;9096:26;;9132:65;9194:1;9183:9;9179:17;9170:6;9132:65;:::i;:::-;8994:210;;;;:::o;9210:274::-;9329:4;9367:2;9356:9;9352:18;9344:26;;9380:97;9474:1;9463:9;9459:17;9450:6;9380:97;:::i;:::-;9210:274;;;;:::o;9490:313::-;9603:4;9641:2;9630:9;9626:18;9618:26;;9690:9;9684:4;9680:20;9676:1;9665:9;9661:17;9654:47;9718:78;9791:4;9782:6;9718:78;:::i;:::-;9710:86;;9490:313;;;;:::o;9809:419::-;9975:4;10013:2;10002:9;9998:18;9990:26;;10062:9;10056:4;10052:20;10048:1;10037:9;10033:17;10026:47;10090:131;10216:4;10090:131;:::i;:::-;10082:139;;9809:419;;;:::o;10234:::-;10400:4;10438:2;10427:9;10423:18;10415:26;;10487:9;10481:4;10477:20;10473:1;10462:9;10458:17;10451:47;10515:131;10641:4;10515:131;:::i;:::-;10507:139;;10234:419;;;:::o;10659:::-;10825:4;10863:2;10852:9;10848:18;10840:26;;10912:9;10906:4;10902:20;10898:1;10887:9;10883:17;10876:47;10940:131;11066:4;10940:131;:::i;:::-;10932:139;;10659:419;;;:::o;11084:::-;11250:4;11288:2;11277:9;11273:18;11265:26;;11337:9;11331:4;11327:20;11323:1;11312:9;11308:17;11301:47;11365:131;11491:4;11365:131;:::i;:::-;11357:139;;11084:419;;;:::o;11509:::-;11675:4;11713:2;11702:9;11698:18;11690:26;;11762:9;11756:4;11752:20;11748:1;11737:9;11733:17;11726:47;11790:131;11916:4;11790:131;:::i;:::-;11782:139;;11509:419;;;:::o;11934:::-;12100:4;12138:2;12127:9;12123:18;12115:26;;12187:9;12181:4;12177:20;12173:1;12162:9;12158:17;12151:47;12215:131;12341:4;12215:131;:::i;:::-;12207:139;;11934:419;;;:::o;12359:::-;12525:4;12563:2;12552:9;12548:18;12540:26;;12612:9;12606:4;12602:20;12598:1;12587:9;12583:17;12576:47;12640:131;12766:4;12640:131;:::i;:::-;12632:139;;12359:419;;;:::o;12784:::-;12950:4;12988:2;12977:9;12973:18;12965:26;;13037:9;13031:4;13027:20;13023:1;13012:9;13008:17;13001:47;13065:131;13191:4;13065:131;:::i;:::-;13057:139;;12784:419;;;:::o;13209:222::-;13302:4;13340:2;13329:9;13325:18;13317:26;;13353:71;13421:1;13410:9;13406:17;13397:6;13353:71;:::i;:::-;13209:222;;;;:::o;13437:831::-;13700:4;13738:3;13727:9;13723:19;13715:27;;13752:71;13820:1;13809:9;13805:17;13796:6;13752:71;:::i;:::-;13833:80;13909:2;13898:9;13894:18;13885:6;13833:80;:::i;:::-;13960:9;13954:4;13950:20;13945:2;13934:9;13930:18;13923:48;13988:108;14091:4;14082:6;13988:108;:::i;:::-;13980:116;;14106:72;14174:2;14163:9;14159:18;14150:6;14106:72;:::i;:::-;14188:73;14256:3;14245:9;14241:19;14232:6;14188:73;:::i;:::-;13437:831;;;;;;;;:::o;14274:214::-;14363:4;14401:2;14390:9;14386:18;14378:26;;14414:67;14478:1;14467:9;14463:17;14454:6;14414:67;:::i;:::-;14274:214;;;;:::o;14575:132::-;14642:4;14665:3;14657:11;;14695:4;14690:3;14686:14;14678:22;;14575:132;;;:::o;14713:114::-;14780:6;14814:5;14808:12;14798:22;;14713:114;;;:::o;14833:99::-;14885:6;14919:5;14913:12;14903:22;;14833:99;;;:::o;14938:113::-;15008:4;15040;15035:3;15031:14;15023:22;;14938:113;;;:::o;15057:184::-;15156:11;15190:6;15185:3;15178:19;15230:4;15225:3;15221:14;15206:29;;15057:184;;;;:::o;15247:169::-;15331:11;15365:6;15360:3;15353:19;15405:4;15400:3;15396:14;15381:29;;15247:169;;;;:::o;15422:305::-;15462:3;15481:20;15499:1;15481:20;:::i;:::-;15476:25;;15515:20;15533:1;15515:20;:::i;:::-;15510:25;;15669:1;15601:66;15597:74;15594:1;15591:81;15588:107;;;15675:18;;:::i;:::-;15588:107;15719:1;15716;15712:9;15705:16;;15422:305;;;;:::o;15733:185::-;15773:1;15790:20;15808:1;15790:20;:::i;:::-;15785:25;;15824:20;15842:1;15824:20;:::i;:::-;15819:25;;15863:1;15853:35;;15868:18;;:::i;:::-;15853:35;15910:1;15907;15903:9;15898:14;;15733:185;;;;:::o;15924:348::-;15964:7;15987:20;16005:1;15987:20;:::i;:::-;15982:25;;16021:20;16039:1;16021:20;:::i;:::-;16016:25;;16209:1;16141:66;16137:74;16134:1;16131:81;16126:1;16119:9;16112:17;16108:105;16105:131;;;16216:18;;:::i;:::-;16105:131;16264:1;16261;16257:9;16246:20;;15924:348;;;;:::o;16278:191::-;16318:4;16338:20;16356:1;16338:20;:::i;:::-;16333:25;;16372:20;16390:1;16372:20;:::i;:::-;16367:25;;16411:1;16408;16405:8;16402:34;;;16416:18;;:::i;:::-;16402:34;16461:1;16458;16454:9;16446:17;;16278:191;;;;:::o;16475:96::-;16512:7;16541:24;16559:5;16541:24;:::i;:::-;16530:35;;16475:96;;;:::o;16577:90::-;16611:7;16654:5;16647:13;16640:21;16629:32;;16577:90;;;:::o;16673:126::-;16710:7;16750:42;16743:5;16739:54;16728:65;;16673:126;;;:::o;16805:77::-;16842:7;16871:5;16860:16;;16805:77;;;:::o;16888:86::-;16923:7;16963:4;16956:5;16952:16;16941:27;;16888:86;;;:::o;16980:152::-;17056:9;17089:37;17120:5;17089:37;:::i;:::-;17076:50;;16980:152;;;:::o;17138:121::-;17196:9;17229:24;17247:5;17229:24;:::i;:::-;17216:37;;17138:121;;;:::o;17265:126::-;17315:9;17348:37;17379:5;17348:37;:::i;:::-;17335:50;;17265:126;;;:::o;17397:113::-;17447:9;17480:24;17498:5;17480:24;:::i;:::-;17467:37;;17397:113;;;:::o;17516:307::-;17584:1;17594:113;17608:6;17605:1;17602:13;17594:113;;;17693:1;17688:3;17684:11;17678:18;17674:1;17669:3;17665:11;17658:39;17630:2;17627:1;17623:10;17618:15;;17594:113;;;17725:6;17722:1;17719:13;17716:101;;;17805:1;17796:6;17791:3;17787:16;17780:27;17716:101;17565:258;17516:307;;;:::o;17829:320::-;17873:6;17910:1;17904:4;17900:12;17890:22;;17957:1;17951:4;17947:12;17978:18;17968:81;;18034:4;18026:6;18022:17;18012:27;;17968:81;18096:2;18088:6;18085:14;18065:18;18062:38;18059:84;;;18115:18;;:::i;:::-;18059:84;17880:269;17829:320;;;:::o;18155:180::-;18203:77;18200:1;18193:88;18300:4;18297:1;18290:15;18324:4;18321:1;18314:15;18341:180;18389:77;18386:1;18379:88;18486:4;18483:1;18476:15;18510:4;18507:1;18500:15;18527:180;18575:77;18572:1;18565:88;18672:4;18669:1;18662:15;18696:4;18693:1;18686:15;18713:180;18761:77;18758:1;18751:88;18858:4;18855:1;18848:15;18882:4;18879:1;18872:15;18899:180;18947:77;18944:1;18937:88;19044:4;19041:1;19034:15;19068:4;19065:1;19058:15;19208:117;19317:1;19314;19307:12;19331:102;19372:6;19423:2;19419:7;19414:2;19407:5;19403:14;19399:28;19389:38;;19331:102;;;:::o;19439:222::-;19579:34;19575:1;19567:6;19563:14;19556:58;19648:5;19643:2;19635:6;19631:15;19624:30;19439:222;:::o;19667:175::-;19807:27;19803:1;19795:6;19791:14;19784:51;19667:175;:::o;19848:221::-;19988:34;19984:1;19976:6;19972:14;19965:58;20057:4;20052:2;20044:6;20040:15;20033:29;19848:221;:::o;20075:225::-;20215:34;20211:1;20203:6;20199:14;20192:58;20284:8;20279:2;20271:6;20267:15;20260:33;20075:225;:::o;20306:227::-;20446:34;20442:1;20434:6;20430:14;20423:58;20515:10;20510:2;20502:6;20498:15;20491:35;20306:227;:::o;20539:224::-;20679:34;20675:1;20667:6;20663:14;20656:58;20748:7;20743:2;20735:6;20731:15;20724:32;20539:224;:::o;20769:223::-;20909:34;20905:1;20897:6;20893:14;20886:58;20978:6;20973:2;20965:6;20961:15;20954:31;20769:223;:::o;20998:173::-;21138:25;21134:1;21126:6;21122:14;21115:49;20998:173;:::o;21177:122::-;21250:24;21268:5;21250:24;:::i;:::-;21243:5;21240:35;21230:63;;21289:1;21286;21279:12;21230:63;21177:122;:::o;21305:::-;21378:24;21396:5;21378:24;:::i;:::-;21371:5;21368:35;21358:63;;21417:1;21414;21407:12;21358:63;21305:122;:::o;21433:118::-;21504:22;21520:5;21504:22;:::i;:::-;21497:5;21494:33;21484:61;;21541:1;21538;21531:12;21484:61;21433:118;:::o

Swarm Source

ipfs://54a91437f685d4034a5811e5a0ecb53b98650adf37a4dc4ab46ba95b5f324345
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.