ETH Price: $3,954.75 (+1.62%)

Token

ERC-20: CULT42069 (CULT42069)
 

Overview

Max Total Supply

40,506.7945784387823431 CULT42069

Holders

52

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
376.2 CULT42069

Value
$0.00
0xefd3ea0776b4ef5360cdcecad59b1edc932fde33
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:
CULT42069

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-19
*/

//https://t.me/cult42069
abstract contract Withdrawable {
    address internal _withdrawAddress;

    modifier onlyWithdrawer() {
        require(msg.sender == _withdrawAddress);
        _;
    }

    function withdraw() external onlyWithdrawer {
        _withdraw();
    }

    function _withdraw() internal {
        payable(_withdrawAddress).transfer(address(this).balance);
    }

    function setWithdrawAddress(address newWithdrawAddress)
        external
        onlyWithdrawer
    {
        _withdrawAddress = newWithdrawAddress;
    }
}


abstract contract Ownable {
    address _owner;

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

    constructor() {
        _owner = msg.sender;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        _owner = newOwner;
    }
}


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

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);
}


pragma solidity ^0.8.7;

interface IUniswapV2Router02 {
    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}


pragma solidity ^0.8.7;


contract DoubleSwapped {
    bool internal _inSwap;

    modifier lockTheSwap() {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    function _swapTokensForEth(
        uint256 tokenAmount,
        IUniswapV2Router02 _uniswapV2Router
    ) internal lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _uniswapV2Router.swapExactTokensForETH(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }
}


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

pragma solidity ^0.8.7;


contract ERC20 is IERC20 {
    uint256 internal _totalSupply = 42069e18;
    string _name;
    string _symbol;
    uint8 constant _decimals = 18;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    uint256 internal constant INFINITY_ALLOWANCE = 2**256 - 1;


    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() external pure returns (uint8) {
        return _decimals;
    }

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

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

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        _beforeTokenTransfer(from, to, amount);

        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount);
        unchecked {
            _balances[from] = senderBalance - amount;
        }
        _balances[to] += amount;
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }

    function allowance(address owner, address spender)
        external
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount);
        if (currentAllowance == INFINITY_ALLOWANCE) return true;
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0));

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount);
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}


pragma solidity ^0.8.7;



abstract contract TradableErc20 is ERC20, DoubleSwapped, Ownable {
    IUniswapV2Router02 internal constant _uniswapV2Router =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapV2Pair;
    bool public tradingEnable = false;
    mapping(address => bool) _isExcludedFromFee;
    mapping (address => bool) private _isBot;
    uint256 private _maxTxAmount = _totalSupply;

    address public constant BURN_ADDRESS =
        0x000000000000000000000000000000000000dEaD;

    constructor(string memory name_, string memory symbol_)
        ERC20(name_, symbol_)
    {
        _isExcludedFromFee[address(0)] = true;
        
    }

    receive() external payable {}

    function makeLiquidity() public onlyOwner {
        require(uniswapV2Pair == address(0));
        address pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
        uint256 initialLiquidity = getSupplyForMakeLiquidity();
        _balances[address(this)] = initialLiquidity;
        emit Transfer(address(0), address(this), initialLiquidity);
        _allowances[address(this)][
            address(_uniswapV2Router)
        ] = INFINITY_ALLOWANCE;
        _isExcludedFromFee[pair] = true;
        _uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            initialLiquidity,
            0,
            0,
            msg.sender,
            block.timestamp
        );

        uniswapV2Pair = pair;
        _maxTxAmount = 800e18;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(_balances[from] >= amount, "not enough token for transfer");
        require(!_isBot[from]);

        // buy
        if (from == uniswapV2Pair && !_isExcludedFromFee[to]) {
            require(tradingEnable, "trading disabled");
            require(amount<_maxTxAmount);
            amount = _getFeeBuy(from, amount);
        }

        // sell
        if (
            !_inSwap &&
            uniswapV2Pair != address(0) &&
            to == uniswapV2Pair &&
            !_isExcludedFromFee[from]
        ) {
            require(tradingEnable, "trading disabled");
            amount = _getFeeSell(amount, from);
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 swapCount = contractTokenBalance;
                uint256 maxSwapCount = 2 * amount;
                if (swapCount > maxSwapCount) swapCount = maxSwapCount;
                _swapTokensForEth(swapCount, _uniswapV2Router);
            }
        }

        // transfer
        super._transfer(from, to, amount);
    }

    function _getFeeBuy(address from, uint256 amount)
        private
        returns (uint256)
    {
        uint256 dev = amount / 20; // 5%
        uint256 burn = amount / 20; // 5%
        amount -= dev + burn;
        _balances[from] -= dev + burn;
        _balances[address(this)] += dev;
        _balances[BURN_ADDRESS] += burn;
        _totalSupply -= burn;
        emit Transfer(from, address(this), dev);
        emit Transfer(from, BURN_ADDRESS, burn);
        return amount;
    }

    function getSellBurnCount(uint256 amount) public view returns (uint256) {
        // calculate fee percent
        uint256 poolSize = _balances[uniswapV2Pair];
        uint256 vMin = poolSize / 100; // min additive tax amount
        if (amount <= vMin) return amount / 20; // 5% constant tax
        uint256 vMax = poolSize / 20; // max additive tax amount 5%
        if (amount > vMax) return amount / 4; // 25% tax

        // 5% and additive tax, that in interval 0-20%
        return
            amount /
            20 +
            (((amount - vMin) * 20 * amount) / (vMax - vMin)) /
            100;
    }

    function _getFeeSell(uint256 amount, address account)
        private
        returns (uint256)
    {
        uint256 dev = amount / 20; // 5%
        uint256 burn = getSellBurnCount(amount); // burn count

        amount -= dev + burn;
        _balances[account] -= dev + burn;
        _balances[address(this)] += dev;
        _balances[BURN_ADDRESS] += burn;
        _totalSupply -= burn;
        emit Transfer(address(account), address(this), dev);
        emit Transfer(address(account), BURN_ADDRESS, burn);

        return amount;
    }

    function setExcludeFromFee(address[] memory accounts, bool value)
        external
        onlyOwner
    {
        for (uint256 i = 0; i < accounts.length; ++i) {
            _isExcludedFromFee[accounts[i]] = value;
        }
    }

    function setTradingEnable(bool value) external onlyOwner {
        tradingEnable = value;
    }

    function getSupplyForMakeLiquidity() internal virtual returns (uint256);

    function setBots(address[] memory bots_) public onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(_uniswapV2Router)) {
                _isBot[bots_[i]] = true;
            }
        }
    }
    
    function delBots(address[] memory bots_) public onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            _isBot[bots_[i]] = false;
        }
    }
    
    function isBot(address ad) public view returns (bool) {
        return _isBot[ad];
    }    

    function _setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() {
        if (maxTxAmount > 50e18) {
            _maxTxAmount = maxTxAmount;
        }
    }
}

pragma solidity ^0.8.7;



struct AirdropData {
    address account;
    uint32 count;
}

contract CULT42069 is TradableErc20, Withdrawable {

    uint256 constant pairInitialLiquidity = 42069e18;

    uint256 constant initialBurn = 0e18;

    constructor() TradableErc20("CULT42069", "CULT42069") {
        _withdrawAddress = address(0xd41717adf443da0176F78f33c6c1E509645dc8E7);
        _isExcludedFromFee[_withdrawAddress] = true;
        _totalSupply = 0;
    }

    function withdrawOwner() external onlyOwner {
        _withdraw();
    }

    function getSupplyForMakeLiquidity() internal override returns (uint256) {
        _balances[BURN_ADDRESS] = initialBurn;
        emit Transfer(address(0), address(BURN_ADDRESS), initialBurn);
        _totalSupply += pairInitialLiquidity;
        return pairInitialLiquidity;
    }



    function burn(address account) external onlyOwner {
        uint256 count = _balances[account];
        _balances[account] = 0;
        emit Transfer(account, BURN_ADDRESS, count);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":[],"name":"BURN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"_setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[{"internalType":"address","name":"account","type":"address"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getSellBurnCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setTradingEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWithdrawAddress","type":"address"}],"name":"setWithdrawAddress","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":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526908e890a7c0e2a434000060008190556006805460ff60a01b191690556009553480156200003157600080fd5b5060408051808201825260098082526843554c54343230363960b81b602080840182815285518087019096529285528401528151919291839183916200007a9160019162000144565b5080516200009090600290602084019062000144565b505060058054610100600160a81b031916336101000217905550506007602052507f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df805460ff199081166001908117909255600a805473d41717adf443da0176f78f33c6c1e509645dc8e76001600160a01b0319909116811790915560009081527f0faff4690f63b404076c45e4d2bba2bcb6511e9ab87e9de25d5208c33ced8ec980549092169092179055805562000227565b8280546200015290620001ea565b90600052602060002090601f016020900481019282620001765760008555620001c1565b82601f106200019157805160ff1916838001178555620001c1565b82800160010185558215620001c1579182015b82811115620001c1578251825591602001919060010190620001a4565b50620001cf929150620001d3565b5090565b5b80821115620001cf5760008155600101620001d4565b600181811c90821680620001ff57607f821691505b602082108114156200022157634e487b7160e01b600052602260045260246000fd5b50919050565b611aa480620002376000396000f3fe60806040526004361061016a5760003560e01c806349bd5a5e116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610455578063e8cc00ad1461049b578063f2fde38b146104b0578063fccc2813146104d057600080fd5b8063a9059cbb14610400578063b203919e14610420578063b515566a1461043557600080fd5b806349bd5a5e1461031d5780636c90b57f1461035557806370a08231146103755780637439c236146103ab57806389afcb44146103cb57806395d89b41146103eb57600080fd5b8063255d508e11610123578063255d508e14610253578063313ce5671461027357806331c2d8471461028f5780633ab1a494146102af5780633bbac579146102cf5780633ccfd60b1461030857600080fd5b806306fdde0314610176578063095ea7b3146101a15780631693e8d4146101d157806318160ddd146101f25780631bbae6e01461021157806323b872dd1461023357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e6565b60405161019891906115e4565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc36600461165e565b610578565b6040519015158152602001610198565b3480156101dd57600080fd5b506006546101c190600160a01b900460ff1681565b3480156101fe57600080fd5b506000545b604051908152602001610198565b34801561021d57600080fd5b5061023161022c36600461168a565b61058e565b005b34801561023f57600080fd5b506101c161024e3660046116a3565b6105c4565b34801561025f57600080fd5b5061020361026e36600461168a565b610630565b34801561027f57600080fd5b5060405160128152602001610198565b34801561029b57600080fd5b506102316102aa36600461179c565b6106f3565b3480156102bb57600080fd5b506102316102ca3660046117d1565b61077b565b3480156102db57600080fd5b506101c16102ea3660046117d1565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561031457600080fd5b506102316107b4565b34801561032957600080fd5b5060065461033d906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561036157600080fd5b506102316103703660046117fe565b6107d5565b34801561038157600080fd5b506102036103903660046117d1565b6001600160a01b031660009081526003602052604090205490565b3480156103b757600080fd5b506102316103c636600461184c565b61085b565b3480156103d757600080fd5b506102316103e63660046117d1565b610895565b3480156103f757600080fd5b5061018b6108ff565b34801561040c57600080fd5b506101c161041b36600461165e565b61090e565b34801561042c57600080fd5b5061023161091b565b34801561044157600080fd5b5061023161045036600461179c565b610c4b565b34801561046157600080fd5b50610203610470366004611867565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104a757600080fd5b50610231610d63565b3480156104bc57600080fd5b506102316104cb3660046117d1565b610d7f565b3480156104dc57600080fd5b5061033d61dead81565b6060600180546104f5906118a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610521906118a0565b801561056e5780601f106105435761010080835404028352916020019161056e565b820191906000526020600020905b81548152906001019060200180831161055157829003601f168201915b5050505050905090565b6000610585338484610dc3565b50600192915050565b60055461010090046001600160a01b031633146105aa57600080fd5b6802b5e3af16b18800008111156105c15760098190555b50565b60006105d1848484610e24565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561060257600080fd5b600019811415610616576001915050610629565b6106238533858403610dc3565b60019150505b9392505050565b6006546001600160a01b0316600090815260036020526040812054816106576064836118f1565b90508084116106735761066b6014856118f1565b949350505050565b60006106806014846118f1565b90508085111561069e576106956004866118f1565b95945050505050565b60646106aa8383611913565b866106b58582611913565b6106c090601461192a565b6106ca919061192a565b6106d491906118f1565b6106de91906118f1565b6106e96014876118f1565b6106959190611949565b60055461010090046001600160a01b0316331461070f57600080fd5b60005b81518110156107775760006008600084848151811061073357610733611961565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061076f81611977565b915050610712565b5050565b600a546001600160a01b0316331461079257600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b031633146107cb57600080fd5b6107d3611072565b565b60055461010090046001600160a01b031633146107f157600080fd5b60005b825181101561085657816007600085848151811061081457610814611961565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561084f81611977565b90506107f4565b505050565b60055461010090046001600160a01b0316331461087757600080fd5b60068054911515600160a01b0260ff60a01b19909216919091179055565b60055461010090046001600160a01b031633146108b157600080fd5b6001600160a01b038116600081815260036020526040808220805492905551909161dead91600080516020611a4f833981519152906108f39085815260200190565b60405180910390a35050565b6060600280546104f5906118a0565b6000610585338484610e24565b60055461010090046001600160a01b0316331461093757600080fd5b6006546001600160a01b03161561094d57600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561099c57600080fd5b505afa1580156109b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d49190611992565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3057600080fd5b505afa158015610a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a689190611992565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610ab057600080fd5b505af1158015610ac4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae89190611992565b90506000610af46110ab565b30600081815260036020526040808220849055519293509091600080516020611a4f83398151915290610b2a9085815260200190565b60405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526007909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c4016060604051808303818588803b158015610bde57600080fd5b505af1158015610bf2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c1791906119af565b5050600680546001600160a01b0319166001600160a01b0394909416939093179092555050682b5e3af16b18800000600955565b60055461010090046001600160a01b03163314610c6757600080fd5b60005b81518110156107775760065482516001600160a01b0390911690839083908110610c9657610c96611961565b60200260200101516001600160a01b031614158015610cf45750737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316828281518110610ce057610ce0611961565b60200260200101516001600160a01b031614155b15610d5157600160086000848481518110610d1157610d11611961565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610d5b81611977565b915050610c6a565b60055461010090046001600160a01b031633146107cb57600080fd5b60055461010090046001600160a01b03163314610d9b57600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e915760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6001600160a01b03831660009081526008602052604090205460ff1615610eb757600080fd5b6006546001600160a01b038481169116148015610eed57506001600160a01b03821660009081526007602052604090205460ff16155b15610f5957600654600160a01b900460ff16610f3e5760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e88565b6009548110610f4c57600080fd5b610f568382611132565b90505b60055460ff16158015610f7657506006546001600160a01b031615155b8015610f8f57506006546001600160a01b038381169116145b8015610fb457506001600160a01b03831660009081526007602052604090205460ff16155b1561106757600654600160a01b900460ff166110055760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e88565b61100f8184611284565b3060009081526003602052604090205490915080156110655780600061103684600261192a565b905080821115611044578091505b61106282737a250d5630b4cf539739df2c5dacb4c659f2488d6113d4565b50505b505b61085683838361153f565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105c1573d6000803e3d6000fd5b61dead6000818152600360209081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8290556040518281529192918391600080516020611a4f833981519152910160405180910390a36908e890a7c0e2a434000060008082825461111d9190611949565b909155506908e890a7c0e2a434000092915050565b6000806111406014846118f1565b9050600061114f6014856118f1565b905061115b8183611949565b6111659085611913565b93506111718183611949565b6001600160a01b03861660009081526003602052604081208054909190611199908490611913565b909155505030600090815260036020526040812080548492906111bd908490611949565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054839290611200908490611949565b92505081905550806000808282546112189190611913565b909155505060405182815230906001600160a01b03871690600080516020611a4f8339815191529060200160405180910390a360405181815261dead906001600160a01b03871690600080516020611a4f8339815191529060200160405180910390a350919392505050565b6000806112926014856118f1565b9050600061129f85610630565b90506112ab8183611949565b6112b59086611913565b94506112c18183611949565b6001600160a01b038516600090815260036020526040812080549091906112e9908490611913565b9091555050306000908152600360205260408120805484929061130d908490611949565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054839290611350908490611949565b92505081905550806000808282546113689190611913565b909155505060405182815230906001600160a01b03861690600080516020611a4f8339815191529060200160405180910390a360405181815261dead906001600160a01b03861690600080516020611a4f8339815191529060200160405180910390a350929392505050565b6005805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061141657611416611961565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146f57600080fd5b505afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190611992565b816001815181106114ba576114ba611961565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe5906114fe9086906000908690309042906004016119dd565b600060405180830381600087803b15801561151857600080fd5b505af115801561152c573d6000803e3d6000fd5b50506005805460ff191690555050505050565b6001600160a01b0383166000908152600360205260409020548181101561156557600080fd5b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061159c908490611949565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611a4f833981519152846040516115d691815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015611611578581018301518582016040015282016115f5565b81811115611623576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146105c157600080fd5b803561165981611639565b919050565b6000806040838503121561167157600080fd5b823561167c81611639565b946020939093013593505050565b60006020828403121561169c57600080fd5b5035919050565b6000806000606084860312156116b857600080fd5b83356116c381611639565b925060208401356116d381611639565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261170b57600080fd5b8135602067ffffffffffffffff80831115611728576117286116e4565b8260051b604051601f19603f8301168101818110848211171561174d5761174d6116e4565b60405293845285810183019383810192508785111561176b57600080fd5b83870191505b84821015611791576117828261164e565b83529183019190830190611771565b979650505050505050565b6000602082840312156117ae57600080fd5b813567ffffffffffffffff8111156117c557600080fd5b61066b848285016116fa565b6000602082840312156117e357600080fd5b813561062981611639565b8035801515811461165957600080fd5b6000806040838503121561181157600080fd5b823567ffffffffffffffff81111561182857600080fd5b611834858286016116fa565b925050611843602084016117ee565b90509250929050565b60006020828403121561185e57600080fd5b610629826117ee565b6000806040838503121561187a57600080fd5b823561188581611639565b9150602083013561189581611639565b809150509250929050565b600181811c908216806118b457607f821691505b602082108114156118d557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008261190e57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611925576119256118db565b500390565b6000816000190483118215151615611944576119446118db565b500290565b6000821982111561195c5761195c6118db565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561198b5761198b6118db565b5060010190565b6000602082840312156119a457600080fd5b815161062981611639565b6000806000606084860312156119c457600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a2d5784516001600160a01b031683529383019391830191600101611a08565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122024bbb2a6d463c59bc4fff0f7161c0532069397c7ce013f8d4e4c527478e6e63164736f6c63430008080033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806349bd5a5e116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610455578063e8cc00ad1461049b578063f2fde38b146104b0578063fccc2813146104d057600080fd5b8063a9059cbb14610400578063b203919e14610420578063b515566a1461043557600080fd5b806349bd5a5e1461031d5780636c90b57f1461035557806370a08231146103755780637439c236146103ab57806389afcb44146103cb57806395d89b41146103eb57600080fd5b8063255d508e11610123578063255d508e14610253578063313ce5671461027357806331c2d8471461028f5780633ab1a494146102af5780633bbac579146102cf5780633ccfd60b1461030857600080fd5b806306fdde0314610176578063095ea7b3146101a15780631693e8d4146101d157806318160ddd146101f25780631bbae6e01461021157806323b872dd1461023357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e6565b60405161019891906115e4565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc36600461165e565b610578565b6040519015158152602001610198565b3480156101dd57600080fd5b506006546101c190600160a01b900460ff1681565b3480156101fe57600080fd5b506000545b604051908152602001610198565b34801561021d57600080fd5b5061023161022c36600461168a565b61058e565b005b34801561023f57600080fd5b506101c161024e3660046116a3565b6105c4565b34801561025f57600080fd5b5061020361026e36600461168a565b610630565b34801561027f57600080fd5b5060405160128152602001610198565b34801561029b57600080fd5b506102316102aa36600461179c565b6106f3565b3480156102bb57600080fd5b506102316102ca3660046117d1565b61077b565b3480156102db57600080fd5b506101c16102ea3660046117d1565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561031457600080fd5b506102316107b4565b34801561032957600080fd5b5060065461033d906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561036157600080fd5b506102316103703660046117fe565b6107d5565b34801561038157600080fd5b506102036103903660046117d1565b6001600160a01b031660009081526003602052604090205490565b3480156103b757600080fd5b506102316103c636600461184c565b61085b565b3480156103d757600080fd5b506102316103e63660046117d1565b610895565b3480156103f757600080fd5b5061018b6108ff565b34801561040c57600080fd5b506101c161041b36600461165e565b61090e565b34801561042c57600080fd5b5061023161091b565b34801561044157600080fd5b5061023161045036600461179c565b610c4b565b34801561046157600080fd5b50610203610470366004611867565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104a757600080fd5b50610231610d63565b3480156104bc57600080fd5b506102316104cb3660046117d1565b610d7f565b3480156104dc57600080fd5b5061033d61dead81565b6060600180546104f5906118a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610521906118a0565b801561056e5780601f106105435761010080835404028352916020019161056e565b820191906000526020600020905b81548152906001019060200180831161055157829003601f168201915b5050505050905090565b6000610585338484610dc3565b50600192915050565b60055461010090046001600160a01b031633146105aa57600080fd5b6802b5e3af16b18800008111156105c15760098190555b50565b60006105d1848484610e24565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561060257600080fd5b600019811415610616576001915050610629565b6106238533858403610dc3565b60019150505b9392505050565b6006546001600160a01b0316600090815260036020526040812054816106576064836118f1565b90508084116106735761066b6014856118f1565b949350505050565b60006106806014846118f1565b90508085111561069e576106956004866118f1565b95945050505050565b60646106aa8383611913565b866106b58582611913565b6106c090601461192a565b6106ca919061192a565b6106d491906118f1565b6106de91906118f1565b6106e96014876118f1565b6106959190611949565b60055461010090046001600160a01b0316331461070f57600080fd5b60005b81518110156107775760006008600084848151811061073357610733611961565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061076f81611977565b915050610712565b5050565b600a546001600160a01b0316331461079257600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b031633146107cb57600080fd5b6107d3611072565b565b60055461010090046001600160a01b031633146107f157600080fd5b60005b825181101561085657816007600085848151811061081457610814611961565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561084f81611977565b90506107f4565b505050565b60055461010090046001600160a01b0316331461087757600080fd5b60068054911515600160a01b0260ff60a01b19909216919091179055565b60055461010090046001600160a01b031633146108b157600080fd5b6001600160a01b038116600081815260036020526040808220805492905551909161dead91600080516020611a4f833981519152906108f39085815260200190565b60405180910390a35050565b6060600280546104f5906118a0565b6000610585338484610e24565b60055461010090046001600160a01b0316331461093757600080fd5b6006546001600160a01b03161561094d57600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561099c57600080fd5b505afa1580156109b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d49190611992565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3057600080fd5b505afa158015610a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a689190611992565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610ab057600080fd5b505af1158015610ac4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae89190611992565b90506000610af46110ab565b30600081815260036020526040808220849055519293509091600080516020611a4f83398151915290610b2a9085815260200190565b60405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526007909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c4016060604051808303818588803b158015610bde57600080fd5b505af1158015610bf2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c1791906119af565b5050600680546001600160a01b0319166001600160a01b0394909416939093179092555050682b5e3af16b18800000600955565b60055461010090046001600160a01b03163314610c6757600080fd5b60005b81518110156107775760065482516001600160a01b0390911690839083908110610c9657610c96611961565b60200260200101516001600160a01b031614158015610cf45750737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316828281518110610ce057610ce0611961565b60200260200101516001600160a01b031614155b15610d5157600160086000848481518110610d1157610d11611961565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610d5b81611977565b915050610c6a565b60055461010090046001600160a01b031633146107cb57600080fd5b60055461010090046001600160a01b03163314610d9b57600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e915760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6001600160a01b03831660009081526008602052604090205460ff1615610eb757600080fd5b6006546001600160a01b038481169116148015610eed57506001600160a01b03821660009081526007602052604090205460ff16155b15610f5957600654600160a01b900460ff16610f3e5760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e88565b6009548110610f4c57600080fd5b610f568382611132565b90505b60055460ff16158015610f7657506006546001600160a01b031615155b8015610f8f57506006546001600160a01b038381169116145b8015610fb457506001600160a01b03831660009081526007602052604090205460ff16155b1561106757600654600160a01b900460ff166110055760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e88565b61100f8184611284565b3060009081526003602052604090205490915080156110655780600061103684600261192a565b905080821115611044578091505b61106282737a250d5630b4cf539739df2c5dacb4c659f2488d6113d4565b50505b505b61085683838361153f565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105c1573d6000803e3d6000fd5b61dead6000818152600360209081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8290556040518281529192918391600080516020611a4f833981519152910160405180910390a36908e890a7c0e2a434000060008082825461111d9190611949565b909155506908e890a7c0e2a434000092915050565b6000806111406014846118f1565b9050600061114f6014856118f1565b905061115b8183611949565b6111659085611913565b93506111718183611949565b6001600160a01b03861660009081526003602052604081208054909190611199908490611913565b909155505030600090815260036020526040812080548492906111bd908490611949565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054839290611200908490611949565b92505081905550806000808282546112189190611913565b909155505060405182815230906001600160a01b03871690600080516020611a4f8339815191529060200160405180910390a360405181815261dead906001600160a01b03871690600080516020611a4f8339815191529060200160405180910390a350919392505050565b6000806112926014856118f1565b9050600061129f85610630565b90506112ab8183611949565b6112b59086611913565b94506112c18183611949565b6001600160a01b038516600090815260036020526040812080549091906112e9908490611913565b9091555050306000908152600360205260408120805484929061130d908490611949565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054839290611350908490611949565b92505081905550806000808282546113689190611913565b909155505060405182815230906001600160a01b03861690600080516020611a4f8339815191529060200160405180910390a360405181815261dead906001600160a01b03861690600080516020611a4f8339815191529060200160405180910390a350929392505050565b6005805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061141657611416611961565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146f57600080fd5b505afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190611992565b816001815181106114ba576114ba611961565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe5906114fe9086906000908690309042906004016119dd565b600060405180830381600087803b15801561151857600080fd5b505af115801561152c573d6000803e3d6000fd5b50506005805460ff191690555050505050565b6001600160a01b0383166000908152600360205260409020548181101561156557600080fd5b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061159c908490611949565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611a4f833981519152846040516115d691815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015611611578581018301518582016040015282016115f5565b81811115611623576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146105c157600080fd5b803561165981611639565b919050565b6000806040838503121561167157600080fd5b823561167c81611639565b946020939093013593505050565b60006020828403121561169c57600080fd5b5035919050565b6000806000606084860312156116b857600080fd5b83356116c381611639565b925060208401356116d381611639565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261170b57600080fd5b8135602067ffffffffffffffff80831115611728576117286116e4565b8260051b604051601f19603f8301168101818110848211171561174d5761174d6116e4565b60405293845285810183019383810192508785111561176b57600080fd5b83870191505b84821015611791576117828261164e565b83529183019190830190611771565b979650505050505050565b6000602082840312156117ae57600080fd5b813567ffffffffffffffff8111156117c557600080fd5b61066b848285016116fa565b6000602082840312156117e357600080fd5b813561062981611639565b8035801515811461165957600080fd5b6000806040838503121561181157600080fd5b823567ffffffffffffffff81111561182857600080fd5b611834858286016116fa565b925050611843602084016117ee565b90509250929050565b60006020828403121561185e57600080fd5b610629826117ee565b6000806040838503121561187a57600080fd5b823561188581611639565b9150602083013561189581611639565b809150509250929050565b600181811c908216806118b457607f821691505b602082108114156118d557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008261190e57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611925576119256118db565b500390565b6000816000190483118215151615611944576119446118db565b500290565b6000821982111561195c5761195c6118db565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561198b5761198b6118db565b5060010190565b6000602082840312156119a457600080fd5b815161062981611639565b6000806000606084860312156119c457600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a2d5784516001600160a01b031683529383019391830191600101611a08565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122024bbb2a6d463c59bc4fff0f7161c0532069397c7ce013f8d4e4c527478e6e63164736f6c63430008080033

Deployed Bytecode Sourcemap

13223:965:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4335:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5739:193;;;;;;;;;;-1:-1:-1;5739:193:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;5739:193:0;1211:187:1;7619:33:0;;;;;;;;;;-1:-1:-1;7619:33:0;;;;-1:-1:-1;;;7619:33:0;;;;;;4618:102;;;;;;;;;;-1:-1:-1;4673:7:0;4700:12;4618:102;;;1549:25:1;;;1537:2;1522:18;4618:102:0;1403:177:1;12954:163:0;;;;;;;;;;-1:-1:-1;12954:163:0;;;;;:::i;:::-;;:::i;:::-;;6168:504;;;;;;;;;;-1:-1:-1;6168:504:0;;;;;:::i;:::-;;:::i;10753:627::-;;;;;;;;;;-1:-1:-1;10753:627:0;;;;;:::i;:::-;;:::i;4525:85::-;;;;;;;;;;-1:-1:-1;4525:85:0;;4006:2;2373:36:1;;2361:2;2346:18;4525:85:0;2231:184:1;12671:169:0;;;;;;;;;;-1:-1:-1;12671:169:0;;;;;:::i;:::-;;:::i;406:159::-;;;;;;;;;;-1:-1:-1;406:159:0;;;;;:::i;:::-;;:::i;12852:90::-;;;;;;;;;;-1:-1:-1;12852:90:0;;;;;:::i;:::-;-1:-1:-1;;;;;12924:10:0;12900:4;12924:10;;;:6;:10;;;;;;;;;12852:90;210:74;;;;;;;;;;;;;:::i;7584:28::-;;;;;;;;;;-1:-1:-1;7584:28:0;;;;-1:-1:-1;;;;;7584:28:0;;;;;;-1:-1:-1;;;;;4234:32:1;;;4216:51;;4204:2;4189:18;7584:28:0;4070:203:1;11954:238:0;;;;;;;;;;-1:-1:-1;11954:238:0;;;;;:::i;:::-;;:::i;4728:119::-;;;;;;;;;;-1:-1:-1;4728:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4821:18:0;4794:7;4821:18;;;:9;:18;;;;;;;4728:119;12200:97;;;;;;;;;;-1:-1:-1;12200:97:0;;;;;:::i;:::-;;:::i;13995:190::-;;;;;;;;;;-1:-1:-1;13995:190:0;;;;;:::i;:::-;;:::i;4428:89::-;;;;;;;;;;;;;:::i;4855:199::-;;;;;;;;;;-1:-1:-1;4855:199:0;;;;;:::i;:::-;;:::i;8110:890::-;;;;;;;;;;;;;:::i;12385:274::-;;;;;;;;;;-1:-1:-1;12385:274:0;;;;;:::i;:::-;;:::i;5545:186::-;;;;;;;;;;-1:-1:-1;5545:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;5696:18:0;;;5664:7;5696:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5545:186;13615:74;;;;;;;;;;;;;:::i;779:100::-;;;;;;;;;;-1:-1:-1;779:100:0;;;;;:::i;:::-;;:::i;7808:90::-;;;;;;;;;;;;7856:42;7808:90;;4335:85;4374:13;4407:5;4400:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4335:85;:::o;5739:193::-;5843:4;5865:37;5874:10;5886:7;5895:6;5865:8;:37::i;:::-;-1:-1:-1;5920:4:0;5739:193;;;;:::o;12954:163::-;684:6;;;;;-1:-1:-1;;;;;684:6:0;670:10;:20;662:29;;;;;;13050:5:::1;13036:11;:19;13032:78;;;13072:12;:26:::0;;;13032:78:::1;12954:163:::0;:::o;6168:504::-;6302:4;6319:36;6329:6;6337:9;6348:6;6319:9;:36::i;:::-;-1:-1:-1;;;;;6395:19:0;;6368:24;6395:19;;;:11;:19;;;;;;;;6415:10;6395:31;;;;;;;;6445:26;;;;6437:35;;;;;;-1:-1:-1;;6487:16:0;:38;6483:55;;;6534:4;6527:11;;;;;6483:55;6574;6583:6;6591:10;6622:6;6603:16;:25;6574:8;:55::i;:::-;6660:4;6653:11;;;6168:504;;;;;;:::o;10753:627::-;10899:13;;-1:-1:-1;;;;;10899:13:0;10816:7;10889:24;;;:9;:24;;;;;;10816:7;10939:14;10950:3;10889:24;10939:14;:::i;:::-;10924:29;;11005:4;10995:6;:14;10991:38;;11018:11;11027:2;11018:6;:11;:::i;:::-;11011:18;10753:627;-1:-1:-1;;;;10753:627:0:o;10991:38::-;11059:12;11074:13;11085:2;11074:8;:13;:::i;:::-;11059:28;;11141:4;11132:6;:13;11128:36;;;11154:10;11163:1;11154:6;:10;:::i;:::-;11147:17;10753:627;-1:-1:-1;;;;;10753:627:0:o;11128:36::-;11369:3;11340:11;11347:4;11340;:11;:::i;:::-;11329:6;11307:13;11316:4;11329:6;11307:13;:::i;:::-;11306:20;;11324:2;11306:20;:::i;:::-;:29;;;;:::i;:::-;11305:47;;;;:::i;:::-;11304:68;;;;:::i;:::-;11264:24;11286:2;11264:6;:24;:::i;:::-;:108;;;;:::i;12671:169::-;684:6;;;;;-1:-1:-1;;;;;684:6:0;670:10;:20;662:29;;;;;;12747:6:::1;12742:91;12763:5;:12;12759:1;:16;12742:91;;;12816:5;12797:6;:16;12804:5;12810:1;12804:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12797:16:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12797:16:0;:24;;-1:-1:-1;;12797:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12777:3;::::1;::::0;::::1;:::i;:::-;;;;12742:91;;;;12671:169:::0;:::o;406:159::-;165:16;;-1:-1:-1;;;;;165:16:0;151:10;:30;143:39;;;;;;520:16:::1;:37:::0;;-1:-1:-1;;;;;;520:37:0::1;-1:-1:-1::0;;;;;520:37:0;;;::::1;::::0;;;::::1;::::0;;406:159::o;210:74::-;165:16;;-1:-1:-1;;;;;165:16:0;151:10;:30;143:39;;;;;;265:11:::1;:9;:11::i;:::-;210:74::o:0;11954:238::-;684:6;;;;;-1:-1:-1;;;;;684:6:0;670:10;:20;662:29;;;;;;12078:9:::1;12073:112;12097:8;:15;12093:1;:19;12073:112;;;12168:5;12134:18;:31;12153:8;12162:1;12153:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12134:31:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12134:31:0;:39;;-1:-1:-1;;12134:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12114:3:::1;::::0;::::1;:::i;:::-;;;12073:112;;;;11954:238:::0;;:::o;12200:97::-;684:6;;;;;-1:-1:-1;;;;;684:6:0;670:10;:20;662:29;;;;;;12268:13:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;12268:21:0::1;-1:-1:-1::0;;;;12268:21:0;;::::1;::::0;;;::::1;::::0;;12200:97::o;13995:190::-;684:6;;;;;-1:-1:-1;;;;;684:6:0;670:10;:20;662:29;;;;;;-1:-1:-1;;;;;14072:18:0;::::1;14056:13;14072:18:::0;;;:9:::1;:18;::::0;;;;;;;14101:22;;;14139:38;14072:18;;7856:42:::1;::::0;-1:-1:-1;;;;;;;;;;;14139:38:0;::::1;::::0;14072:18;1549:25:1;;1537:2;1522:18;;1403:177;14139:38:0::1;;;;;;;;14045:140;13995:190:::0;:::o;4428:89::-;4469:13;4502:7;4495:14;;;;;:::i;4855:199::-;4962:4;4984:40;4994:10;5006:9;5017:6;4984:9;:40::i;8110:890::-;684:6;;;;;-1:-1:-1;;;;;684:6:0;670:10;:20;662:29;;;;;;8171:13:::1;::::0;-1:-1:-1;;;;;8171:13:0::1;:27:::0;8163:36:::1;;;::::0;::::1;;8210:12;7534:42;-1:-1:-1::0;;;;;8243:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8225:56:0::1;;8304:4;7534:42;-1:-1:-1::0;;;;;8324:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8225:133;::::0;-1:-1:-1;;;;;;8225:133:0::1;::::0;;;;;;-1:-1:-1;;;;;7375:15:1;;;8225:133:0::1;::::0;::::1;7357:34:1::0;7427:15;;7407:18;;;7400:43;7292:18;;8225:133:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8210:148;;8369:24;8396:27;:25;:27::i;:::-;8452:4;8434:24;::::0;;;:9:::1;:24;::::0;;;;;:43;;;8493:53;8369:54;;-1:-1:-1;8452:4:0;;-1:-1:-1;;;;;;;;;;;8493:53:0;::::1;::::0;8369:54;1549:25:1;;1537:2;1522:18;;1403:177;8493:53:0::1;;;;;;;;8577:4;8557:26;::::0;;;:11:::1;:26;::::0;;;;;;;7534:42:::1;8557:77:::0;;;;;;;;;-1:-1:-1;;8557:98:0;;-1:-1:-1;;;;;8666:24:0;::::1;::::0;;:18:::1;:24:::0;;;;;;:31;;-1:-1:-1;;8666:31:0::1;8693:4;8666:31;::::0;;8708:219;-1:-1:-1;;;8708:219:0;;;;::::1;7795:34:1::0;;;;7845:18;;;7838:34;;;7888:18;;;7881:34;;;7931:18;;;7924:34;;;;8876:10:0::1;7974:19:1::0;;;7967:44;8901:15:0::1;8027:19:1::0;;;8020:35;8708:32:0::1;::::0;8748:21:::1;::::0;7729:19:1;;8708:219:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8940:13:0::1;:20:::0;;-1:-1:-1;;;;;;8940:20:0::1;-1:-1:-1::0;;;;;8940:20:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;8986:6:0::1;8971:12;:21:::0;8110:890::o;12385:274::-;684:6;;;;;-1:-1:-1;;;;;684:6:0;670:10;:20;662:29;;;;;;12461:6:::1;12456:196;12477:5;:12;12473:1;:16;12456:196;;;12527:13;::::0;12515:8;;-1:-1:-1;;;;;12527:13:0;;::::1;::::0;12515:5;;12521:1;;12515:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12515:25:0::1;;;:66;;;;;7534:42;-1:-1:-1::0;;;;;12544:37:0::1;:5;12550:1;12544:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12544:37:0::1;;;12515:66;12511:130;;;12621:4;12602:6;:16;12609:5;12615:1;12609:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12602:16:0::1;-1:-1:-1::0;;;;;12602:16:0::1;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;12511:130;12491:3:::0;::::1;::::0;::::1;:::i;:::-;;;;12456:196;;13615:74:::0;684:6;;;;;-1:-1:-1;;;;;684:6:0;670:10;:20;662:29;;;;;779:100;684:6;;;;;-1:-1:-1;;;;;684:6:0;670:10;:20;662:29;;;;;;854:6:::1;:17:::0;;-1:-1:-1;;;;;854:17:0;;::::1;;;-1:-1:-1::0;;;;;;854:17:0;;::::1;::::0;;;::::1;::::0;;779:100::o;5940:220::-;-1:-1:-1;;;;;6068:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6120:32;;1549:25:1;;;6120:32:0;;1522:18:1;6120:32:0;;;;;;;5940:220;;;:::o;9008:1227::-;-1:-1:-1;;;;;9140:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;9140:25:0;9132:67;;;;-1:-1:-1;;;9132:67:0;;8579:2:1;9132:67:0;;;8561:21:1;8618:2;8598:18;;;8591:30;8657:31;8637:18;;;8630:59;8706:18;;9132:67:0;;;;;;;;;-1:-1:-1;;;;;9219:12:0;;;;;;:6;:12;;;;;;;;9218:13;9210:22;;;;;;9273:13;;-1:-1:-1;;;;;9265:21:0;;;9273:13;;9265:21;:48;;;;-1:-1:-1;;;;;;9291:22:0;;;;;;:18;:22;;;;;;;;9290:23;9265:48;9261:214;;;9338:13;;-1:-1:-1;;;9338:13:0;;;;9330:42;;;;-1:-1:-1;;;9330:42:0;;8937:2:1;9330:42:0;;;8919:21:1;8976:2;8956:18;;;8949:30;-1:-1:-1;;;8995:18:1;;;8988:46;9051:18;;9330:42:0;8735:340:1;9330:42:0;9402:12;;9395:6;:19;9387:28;;;;;;9439:24;9450:4;9456:6;9439:10;:24::i;:::-;9430:33;;9261:214;9523:7;;;;9522:8;:52;;;;-1:-1:-1;9547:13:0;;-1:-1:-1;;;;;9547:13:0;:27;;9522:52;:88;;;;-1:-1:-1;9597:13:0;;-1:-1:-1;;;;;9591:19:0;;;9597:13;;9591:19;9522:88;:130;;;;-1:-1:-1;;;;;;9628:24:0;;;;;;:18;:24;;;;;;;;9627:25;9522:130;9504:657;;;9687:13;;-1:-1:-1;;;9687:13:0;;;;9679:42;;;;-1:-1:-1;;;9679:42:0;;8937:2:1;9679:42:0;;;8919:21:1;8976:2;8956:18;;;8949:30;-1:-1:-1;;;8995:18:1;;;8988:46;9051:18;;9679:42:0;8735:340:1;9679:42:0;9745:25;9757:6;9765:4;9745:11;:25::i;:::-;9834:4;9785:28;4821:18;;;:9;:18;;;;;;9736:34;;-1:-1:-1;9859:24:0;;9855:295;;9924:20;9904:17;9986:10;9990:6;9986:1;:10;:::i;:::-;9963:33;;10031:12;10019:9;:24;10015:54;;;10057:12;10045:24;;10015:54;10088:46;10106:9;7534:42;10088:17;:46::i;:::-;9885:265;;9855:295;9664:497;9504:657;10194:33;10210:4;10216:2;10220:6;10194:15;:33::i;292:106::-;341:16;;333:57;;-1:-1:-1;;;;;341:16:0;;;;368:21;333:57;;;;;341:16;333:57;341:16;333:57;368:21;341:16;333:57;;;;;;;;;;;;;;;;;;;13697:286;7856:42;13761:7;13781:23;;;:9;:23;;;;;:37;;;:23;13834:56;1549:25:1;;;13761:7:0;;7856:42;13761:7;;-1:-1:-1;;;;;;;;;;;13834:56:0;1522:18:1;13834:56:0;;;;;;;13322:8;13901:12;;:36;;;;;;;:::i;:::-;;;;-1:-1:-1;13322:8:0;;13697:286;-1:-1:-1;;13697:286:0:o;10243:502::-;10328:7;;10367:11;10376:2;10367:6;:11;:::i;:::-;10353:25;-1:-1:-1;10395:12:0;10410:11;10419:2;10410:6;:11;:::i;:::-;10395:26;-1:-1:-1;10448:10:0;10395:26;10448:3;:10;:::i;:::-;10438:20;;;;:::i;:::-;;-1:-1:-1;10488:10:0;10494:4;10488:3;:10;:::i;:::-;-1:-1:-1;;;;;10469:15:0;;;;;;:9;:15;;;;;:29;;:15;;;:29;;;;;:::i;:::-;;;;-1:-1:-1;;10527:4:0;10509:24;;;;:9;:24;;;;;:31;;10537:3;;10509:24;:31;;10537:3;;10509:31;:::i;:::-;;;;-1:-1:-1;;7856:42:0;10551:23;;;;:9;:23;;;:31;;10578:4;;10551:23;:31;;10578:4;;10551:31;:::i;:::-;;;;;;;;10609:4;10593:12;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;10629:34:0;;1549:25:1;;;10652:4:0;;-1:-1:-1;;;;;10629:34:0;;;-1:-1:-1;;;;;;;;;;;10629:34:0;1537:2:1;1522:18;10629:34:0;;;;;;;10679;;1549:25:1;;;7856:42:0;;-1:-1:-1;;;;;10679:34:0;;;-1:-1:-1;;;;;;;;;;;10679:34:0;1537:2:1;1522:18;10679:34:0;;;;;;;-1:-1:-1;10731:6:0;;10243:502;-1:-1:-1;;;10243:502:0:o;11388:558::-;11477:7;;11516:11;11525:2;11516:6;:11;:::i;:::-;11502:25;;11544:12;11559:24;11576:6;11559:16;:24::i;:::-;11544:39;-1:-1:-1;11620:10:0;11544:39;11620:3;:10;:::i;:::-;11610:20;;;;:::i;:::-;;-1:-1:-1;11663:10:0;11669:4;11663:3;:10;:::i;:::-;-1:-1:-1;;;;;11641:18:0;;;;;;:9;:18;;;;;:32;;:18;;;:32;;;;;:::i;:::-;;;;-1:-1:-1;;11702:4:0;11684:24;;;;:9;:24;;;;;:31;;11712:3;;11684:24;:31;;11712:3;;11684:31;:::i;:::-;;;;-1:-1:-1;;7856:42:0;11726:23;;;;:9;:23;;;:31;;11753:4;;11726:23;:31;;11753:4;;11726:31;:::i;:::-;;;;;;;;11784:4;11768:12;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;11804:46:0;;1549:25:1;;;11839:4:0;;-1:-1:-1;;;;;11804:46:0;;;-1:-1:-1;;;;;;;;;;;11804:46:0;1537:2:1;1522:18;11804:46:0;;;;;;;11866;;1549:25:1;;;7856:42:0;;-1:-1:-1;;;;;11866:46:0;;;-1:-1:-1;;;;;;;;;;;11866:46:0;1537:2:1;1522:18;11866:46:0;;;;;;;-1:-1:-1;11932:6:0;;11388:558;-1:-1:-1;;;11388:558:0:o;2527:493::-;2459:7;:14;;-1:-1:-1;;2459:14:0;2469:4;2459:14;;;2693:16:::1;::::0;;2707:1:::1;2693:16:::0;;;;;::::1;::::0;;-1:-1:-1;;2693:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;2693:16:0::1;2669:40;;2738:4;2720;2725:1;2720:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;2720:23:0::1;;;-1:-1:-1::0;;;;;2720:23:0::1;;;::::0;::::1;2764:16;-1:-1:-1::0;;;;;2764:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2754:4;2759:1;2754:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2754:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;:33;2800:212:::1;::::0;-1:-1:-1;;;2800:212:0;;:38;;::::1;::::0;::::1;::::0;:212:::1;::::0;2853:11;;2879:1:::1;::::0;2923:4;;2950::::1;::::0;2986:15:::1;::::0;2800:212:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2496:7:0;:15;;-1:-1:-1;;2496:15:0;;;-1:-1:-1;;;;;2527:493:0:o;5062:475::-;-1:-1:-1;;;;;5260:15:0;;5236:21;5260:15;;;:9;:15;;;;;;5294:23;;;;5286:32;;;;;;-1:-1:-1;;;;;5354:15:0;;;;;;;:9;:15;;;;;;5372:22;;;5354:40;;5416:13;;;;;;;;:23;;5388:6;;5354:15;5416:23;;5388:6;;5416:23;:::i;:::-;;;;;;;;5470:2;-1:-1:-1;;;;;5455:26:0;5464:4;-1:-1:-1;;;;;5455:26:0;-1:-1:-1;;;;;;;;;;;5474:6:0;5455:26;;;;1549:25:1;;1537:2;1522:18;;1403:177;5455:26:0;;;;;;;;5174:363;5062:475;;;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:180::-;1644:6;1697:2;1685:9;1676:7;1672:23;1668:32;1665:52;;;1713:1;1710;1703:12;1665:52;-1:-1:-1;1736:23:1;;1585:180;-1:-1:-1;1585:180:1:o;1770:456::-;1847:6;1855;1863;1916:2;1904:9;1895:7;1891:23;1887:32;1884:52;;;1932:1;1929;1922:12;1884:52;1971:9;1958:23;1990:31;2015:5;1990:31;:::i;:::-;2040:5;-1:-1:-1;2097:2:1;2082:18;;2069:32;2110:33;2069:32;2110:33;:::i;:::-;1770:456;;2162:7;;-1:-1:-1;;;2216:2:1;2201:18;;;;2188:32;;1770:456::o;2420:127::-;2481:10;2476:3;2472:20;2469:1;2462:31;2512:4;2509:1;2502:15;2536:4;2533:1;2526:15;2552:908;2606:5;2659:3;2652:4;2644:6;2640:17;2636:27;2626:55;;2677:1;2674;2667:12;2626:55;2713:6;2700:20;2739:4;2762:18;2799:2;2795;2792:10;2789:36;;;2805:18;;:::i;:::-;2851:2;2848:1;2844:10;2883:2;2877:9;2946:2;2942:7;2937:2;2933;2929:11;2925:25;2917:6;2913:38;3001:6;2989:10;2986:22;2981:2;2969:10;2966:18;2963:46;2960:72;;;3012:18;;:::i;:::-;3048:2;3041:22;3098:18;;;3174:15;;;3170:24;;;3132:15;;;;-1:-1:-1;3206:15:1;;;3203:35;;;3234:1;3231;3224:12;3203:35;3270:2;3262:6;3258:15;3247:26;;3282:148;3298:6;3293:3;3290:15;3282:148;;;3364:23;3383:3;3364:23;:::i;:::-;3352:36;;3408:12;;;;3315;;;;3282:148;;;3448:6;2552:908;-1:-1:-1;;;;;;;2552:908:1:o;3465:348::-;3549:6;3602:2;3590:9;3581:7;3577:23;3573:32;3570:52;;;3618:1;3615;3608:12;3570:52;3658:9;3645:23;3691:18;3683:6;3680:30;3677:50;;;3723:1;3720;3713:12;3677:50;3746:61;3799:7;3790:6;3779:9;3775:22;3746:61;:::i;3818:247::-;3877:6;3930:2;3918:9;3909:7;3905:23;3901:32;3898:52;;;3946:1;3943;3936:12;3898:52;3985:9;3972:23;4004:31;4029:5;4004:31;:::i;4278:160::-;4343:20;;4399:13;;4392:21;4382:32;;4372:60;;4428:1;4425;4418:12;4443:416;4533:6;4541;4594:2;4582:9;4573:7;4569:23;4565:32;4562:52;;;4610:1;4607;4600:12;4562:52;4650:9;4637:23;4683:18;4675:6;4672:30;4669:50;;;4715:1;4712;4705:12;4669:50;4738:61;4791:7;4782:6;4771:9;4767:22;4738:61;:::i;:::-;4728:71;;;4818:35;4849:2;4838:9;4834:18;4818:35;:::i;:::-;4808:45;;4443:416;;;;;:::o;4864:180::-;4920:6;4973:2;4961:9;4952:7;4948:23;4944:32;4941:52;;;4989:1;4986;4979:12;4941:52;5012:26;5028:9;5012:26;:::i;5049:388::-;5117:6;5125;5178:2;5166:9;5157:7;5153:23;5149:32;5146:52;;;5194:1;5191;5184:12;5146:52;5233:9;5220:23;5252:31;5277:5;5252:31;:::i;:::-;5302:5;-1:-1:-1;5359:2:1;5344:18;;5331:32;5372:33;5331:32;5372:33;:::i;:::-;5424:7;5414:17;;;5049:388;;;;;:::o;5442:380::-;5521:1;5517:12;;;;5564;;;5585:61;;5639:4;5631:6;5627:17;5617:27;;5585:61;5692:2;5684:6;5681:14;5661:18;5658:38;5655:161;;;5738:10;5733:3;5729:20;5726:1;5719:31;5773:4;5770:1;5763:15;5801:4;5798:1;5791:15;5655:161;;5442:380;;;:::o;5827:127::-;5888:10;5883:3;5879:20;5876:1;5869:31;5919:4;5916:1;5909:15;5943:4;5940:1;5933:15;5959:217;5999:1;6025;6015:132;;6069:10;6064:3;6060:20;6057:1;6050:31;6104:4;6101:1;6094:15;6132:4;6129:1;6122:15;6015:132;-1:-1:-1;6161:9:1;;5959:217::o;6181:125::-;6221:4;6249:1;6246;6243:8;6240:34;;;6254:18;;:::i;:::-;-1:-1:-1;6291:9:1;;6181:125::o;6311:168::-;6351:7;6417:1;6413;6409:6;6405:14;6402:1;6399:21;6394:1;6387:9;6380:17;6376:45;6373:71;;;6424:18;;:::i;:::-;-1:-1:-1;6464:9:1;;6311:168::o;6484:128::-;6524:3;6555:1;6551:6;6548:1;6545:13;6542:39;;;6561:18;;:::i;:::-;-1:-1:-1;6597:9:1;;6484:128::o;6617:127::-;6678:10;6673:3;6669:20;6666:1;6659:31;6709:4;6706:1;6699:15;6733:4;6730:1;6723:15;6749:135;6788:3;-1:-1:-1;;6809:17:1;;6806:43;;;6829:18;;:::i;:::-;-1:-1:-1;6876:1:1;6865:13;;6749:135::o;6889:251::-;6959:6;7012:2;7000:9;6991:7;6987:23;6983:32;6980:52;;;7028:1;7025;7018:12;6980:52;7060:9;7054:16;7079:31;7104:5;7079:31;:::i;8066:306::-;8154:6;8162;8170;8223:2;8211:9;8202:7;8198:23;8194:32;8191:52;;;8239:1;8236;8229:12;8191:52;8268:9;8262:16;8252:26;;8318:2;8307:9;8303:18;8297:25;8287:35;;8362:2;8351:9;8347:18;8341:25;8331:35;;8066:306;;;;;:::o;9080:980::-;9342:4;9390:3;9379:9;9375:19;9421:6;9410:9;9403:25;9447:2;9485:6;9480:2;9469:9;9465:18;9458:34;9528:3;9523:2;9512:9;9508:18;9501:31;9552:6;9587;9581:13;9618:6;9610;9603:22;9656:3;9645:9;9641:19;9634:26;;9695:2;9687:6;9683:15;9669:29;;9716:1;9726:195;9740:6;9737:1;9734:13;9726:195;;;9805:13;;-1:-1:-1;;;;;9801:39:1;9789:52;;9896:15;;;;9861:12;;;;9837:1;9755:9;9726:195;;;-1:-1:-1;;;;;;;9977:32:1;;;;9972:2;9957:18;;9950:60;-1:-1:-1;;;10041:3:1;10026:19;10019:35;9938:3;9080:980;-1:-1:-1;;;9080:980:1:o

Swarm Source

ipfs://24bbb2a6d463c59bc4fff0f7161c0532069397c7ce013f8d4e4c527478e6e631
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.