ETH Price: $3,330.74 (-4.37%)
Gas: 3 Gwei

Token

Frogdog (FRODOG)
 

Overview

Max Total Supply

420,000,000,000,000 FRODOG

Holders

150

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
drewdown.eth
Balance
430,910,644,128.809283542047297462 FRODOG

Value
$0.00
0x37c2D0062F2A9D428504327E09534eF60a33813b
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:
Frogdog

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-08
*/

/**

t.me/Frogdog_Community

www.frogdog.tech/

twitter.com/FrogdogETH

___________                        .___             
\_   _____/______  ____   ____   __| _/____   ____  
 |    __) \_  __ \/  _ \ / ___\ / __ |/  _ \ / ___\ 
 |     \   |  | \(  <_> ) /_/  > /_/ (  <_> ) /_/  >
 \___  /   |__|   \____/\___  /\____ |\____/\___  / 
     \/                /_____/      \/     /_____/  

*/

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

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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address _account) external view returns (uint256);
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

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

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

interface IUniSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

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

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

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

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

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

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

    function initialize(address, address) external;
}

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

contract Frogdog is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private _name = "Frogdog"; // token name
    string private _symbol = "FRODOG"; // token ticker
    uint8 private _decimals = 18; // token decimals

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

    uint256 public buyFee = 5;
    uint256 public sellFee = 10;

    address public feeWallet;
    address private fundsRescueWallet;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

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

    uint256 private _totalSupply = 420_000_000_000_000 * 10**_decimals;

    uint256 public minimumTokensBeforeSwap = _totalSupply.mul(69).div(100000); // 0.069%
    uint256 public _maxTxAmount =  _totalSupply.mul(2).div(100);     //2%
    uint256 public _walletMax = _totalSupply.mul(2).div(100);    //2%

    uint256 public launchedAt; 
    uint256 public snipingTime = 30 seconds; // sniping timer
    bool public trading; 

    bool public EnableTxLimit = true;
    bool public checkWalletLimit = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    modifier onlyGuard() {
        require(msg.sender == fundsRescueWallet,"Error: Guarded!");
        _;
    }

    IUniSwapRouter public uniswapRouter;
    address public uniswapPair;

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

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

    constructor() {

        // //uniswap Swap
        IUniSwapRouter _dexRouter = IUniSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapPair = IUniSwapFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

        uniswapRouter = _dexRouter;

        _allowances[address(this)][address(uniswapRouter)] = ~uint256(0);

        fundsRescueWallet = msg.sender;
        feeWallet = msg.sender;

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;
        isExcludedFromFee[address(uniswapRouter)] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(uniswapRouter)] = true;
        isWalletLimitExempt[address(this)] = true;
        
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(uniswapRouter)] = true;

        isBot[0x6b75d8AF000000e20B7a7DDf000Ba900b4009A80] = true; // jaredfromsubway.eth
        isBot[0x00000027F490ACeE7F11ab5fdD47209d6422C5a7] = true; // and some of his friends
        isBot[0x000013De30d1b1D830dcb7d54660F4778D2d4aF5] = true;  
        isBot[0x953b239b656f611b65F86e0e6a99E6b500f6bC9a] = true;
        isBot[0x4D521577f820525964C392352bB220482F1Aa63b] = true;
        isBot[0x70179498007C0000000000AB98f6DB009400E89B] = true;
        isBot[0x19aBe4496214Df53bd60BF05385c2bc28e87A090] = true;
        isBot[0x1113eFd5C8896CcF251EA360bB9d91F113707F80] = true;

        isMarketPair[address(uniswapPair)] = true;

        _approve(owner(), address(uniswapRouter), _totalSupply);
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    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 getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

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

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

     //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(amount > 0, "Transfer amount must be greater than zero");
        
        require(!isBot[sender], "ERC20: Bot detected");
        require(!isBot[msg.sender], "ERC20: Bot detected");
        require(!isBot[tx.origin], "ERC20: Bot detected");

        if(inSwapAndLiquify) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            if (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) {
                require(trading, "ERC20: trading not enable yet");

                if (
                    block.timestamp < launchedAt + snipingTime &&
                    sender != address(uniswapRouter)
                ) {
                    if (uniswapPair == sender) {
                        isBot[recipient] = true;
                    } else if (uniswapPair == recipient) {
                        isBot[sender] = true;
                    }
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            } 
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet Limit Exceeded!!");
            }

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, 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 shouldNotTakeFee(address sender, address recipient) internal view returns (bool) {
        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(isMarketPair[sender]) { //buy
                feeAmount = amount.mul(buyFee).div(100);
            } 
            else if(isMarketPair[recipient]) { //sell
                feeAmount = amount.mul(sellFee).div(100);
            }
            else {
                feeAmount = 0;
            }

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

            return amount.sub(feeAmount);
        }
        
    }

    function swapAndLiquify(uint contractBalance) private lockTheSwap {

        if(contractBalance == 0) return;

        if(contractBalance > minimumTokensBeforeSwap * 10){
          contractBalance = minimumTokensBeforeSwap * 10;
        }

        swapTokensForEth(contractBalance);

        if(address(this).balance > 0)
            payable(feeWallet).transfer(address(this).balance);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

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

        // make the swap
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function enableSwapAndLiquifiy(bool _status) external onlyOwner {
        swapAndLiquifyEnabled = _status;
        emit SwapAndLiquifyEnabledUpdated(_status);
    }

    function setSwapThreshold(uint _newLimit) external onlyOwner {
        minimumTokensBeforeSwap = _newLimit;
    }

    function setBuyFee(uint _newBuy) external onlyOwner {
        buyFee = _newBuy;
        require(buyFee <= 10, "Must keep fees at 10% or less");
    }

    function setSellFee(uint _newSell) external onlyOwner {
        sellFee = _newSell;
        require(sellFee <= 10, "Must keep fees at 10% or less");
    }

    function removeAllFee() external onlyOwner {
        buyFee = 0;
        sellFee = 0;
    }

    function setfeeWl(address _newWl) external onlyOwner {
        feeWallet = _newWl;
    }

    function startTrading() external onlyOwner {
        require(!trading, "ERC20: Already Enabled");
        trading = true;
        launchedAt = block.timestamp;
    }

    //To Rescue Stucked Balance
    function rescueFunds() external onlyGuard { 
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    //To Rescue Stucked Tokens
    function rescueTokens(IERC20 adr,address recipient,uint amount) external onlyGuard {
        adr.transfer(recipient,amount);
    }

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

    function enableTxLimit(bool _status) external onlyOwner {
        EnableTxLimit = _status;
    }

    function enableWalletLimit(bool _status) external onlyOwner {
        checkWalletLimit = _status;
    }

    function excludeFromFee(address _adr,bool _status) external onlyOwner {
        isExcludedFromFee[_adr] = _status;
    }

    function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
        isWalletLimitExempt[_adr] = _status;
    }

    function excludeTxLimit(address _adr,bool _status) external onlyOwner {
        isTxLimitExempt[_adr] = _status;
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        _walletMax = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }

    function setMarketPair(address _pair, bool _status) external onlyOwner {
        isMarketPair[_pair] = _status;
    }

    function setRouter(address _newRouter) external onlyOwner {
        uniswapRouter = IUniSwapRouter(_newRouter);
    }

}

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":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"addOrRemoveBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableSwapAndLiquifiy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","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":[],"name":"removeAllFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuy","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newRouter","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newSell","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newLimit","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWl","type":"address"}],"name":"setfeeWl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052600760c09081526646726f67646f6760c81b60e052600190620000299082620008f9565b5060408051808201909152600681526546524f444f4760d01b6020820152600290620000569082620008f9565b506003805460ff1916601290811790915561dead608052600060a05260056004819055600a908190556200008b919062000ad8565b6200009e9066017dfcdece400062000ae9565b600f819055620000c190620186a090620000ba906045620005bf565b9062000656565b601055600f54620000dc90606490620000ba906002620005bf565b601155600f54620000f790606490620000ba906002620005bf565b601255601e601455601580546201010062ffff00199091161790556016805460ff60a81b1916600160a81b1790553480156200013257600080fd5b506200013e33620006a0565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc919062000b03565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000230919062000b03565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200027e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a4919062000b03565b601680546001600160a01b03199081166001600160a01b03938416178255601580546301000000600160b81b0319166301000000868616810291909117808355306000818152600960209081526040808320948690048a168352938152838220600019905560078054339089168117909155600680549098168117909755828252600a8152838220805460ff199081166001908117909255888452858420805482168317905587548790048b1684528584208054821683179055888452600c8352858420805482168317905589548b168452858420805482168317905587548790048b16845285842080548216831790558484528584208054821683179055978352600d8252848320805489168217905592825283822080548816841790559454939093048716835281832080548616821790557fc247e5713292da7b6b8145ca699e5c90c1257a929a9b107aa7c7d211bc3a369c80548616821790557f383acf97c4dd8707a96fe8c9bb24f37fe25a27683821de808e6457ed3a05814680548616821790557fb5d6924aa2856ce79a088e8ee96b7284f2fb42c7dcdddcef07459837e4bea74d80548616821790557f7a71164b6f2e21b79538a257bd12ffbb04821d2c8969d149257ce017310e894080548616821790557f01b92a945cd8c5fbc318e5c3f0c72d045a6e908f4e1e64ec3fedee13b9fbef6580548616821790557fba0da868a805ab2ae4c7e2b001b7e062be38a276f78506cb7a873eda89d653e380548616821790557f082ec8e2f54c6328611ab9d66543aec531c88ad97ca10bfd76a3ead85559d38e80548616821790557f6d618c6a5b8515fccc09137b7ac7cdcdc50c52c09e8b045996a1647c6340b3a2805486168217905594549095168152600b9091529290922080549092161790556200056d6200054f6000546001600160a01b031690565b601554600f5463010000009091046001600160a01b031690620006f0565b600f5433600081815260086020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000ba1565b600082600003620005d35750600062000650565b6000620005e1838562000ae9565b905082620005f0858362000b2e565b146200064d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200064d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200081860201b60201c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620007545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000644565b6001600160a01b038216620007b75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000644565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081836200083c5760405162461bcd60e51b815260040162000644919062000b51565b5060006200084b848662000b2e565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200087f57607f821691505b602082108103620008a057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620008f457600081815260208120601f850160051c81016020861015620008cf5750805b601f850160051c820191505b81811015620008f057828155600101620008db565b5050505b505050565b81516001600160401b0381111562000915576200091562000854565b6200092d816200092684546200086a565b84620008a6565b602080601f8311600181146200096557600084156200094c5750858301515b600019600386901b1c1916600185901b178555620008f0565b600085815260208120601f198616915b82811015620009965788860151825594840194600190910190840162000975565b5085821015620009b55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000a1c57816000190482111562000a005762000a00620009c5565b8085161562000a0e57918102915b93841c9390800290620009e0565b509250929050565b60008262000a355750600162000650565b8162000a445750600062000650565b816001811462000a5d576002811462000a685762000a88565b600191505062000650565b60ff84111562000a7c5762000a7c620009c5565b50506001821b62000650565b5060208310610133831016604e8410600b841016171562000aad575081810a62000650565b62000ab98383620009db565b806000190482111562000ad05762000ad0620009c5565b029392505050565b60006200064d60ff84168362000a24565b8082028115828204841417620006505762000650620009c5565b60006020828403121562000b1657600080fd5b81516001600160a01b03811681146200064d57600080fd5b60008262000b4c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b8181101562000b805785810183015185820160400152820162000b62565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a05161285762000bd56000396000818161039d0152610d7501526000818161049a0152610db001526128576000f3fe6080604052600436106103545760003560e01c806375cbd5f1116101c6578063c0d78655116100f7578063df8408fe11610095578063ee828db31161006f578063ee828db314610a21578063f25f4b5614610a41578063f2fde38b14610a61578063f872858a14610a8157600080fd5b8063df8408fe146109d2578063e6b2603b146109f2578063ec44acf214610a0757600080fd5b8063c867d60b116100d1578063c867d60b14610926578063cea9d26f14610956578063d2d7ad8314610976578063dd62ed3e1461098c57600080fd5b8063c0d78655146108c6578063c16dd4a4146108e6578063c816841b1461090657600080fd5b806395d89b4111610164578063a9059cbb1161013e578063a9059cbb14610850578063ae85ade614610870578063bdcb340014610890578063bf56b371146108b057600080fd5b806395d89b41146107fb5780639d0014b114610810578063a457c2d71461083057600080fd5b8063807c2d9c116101a0578063807c2d9c146107775780638b42507f1461078d5780638b4cee08146107bd5780638da5cb5b146107dd57600080fd5b806375cbd5f11461072b5780637d1db4a51461074b5780637d99c66d1461076157600080fd5b806339509351116102a05780635c85974f1161023e57806370a082311161021857806370a0823114610699578063715018a6146106cf578063728d41c9146106e4578063735de9f71461070457600080fd5b80635c85974f1461063a5780635e42358c1461065a578063651a89871461067957600080fd5b8063470624021161027a57806347062402146105b35780634974d88f146105c95780634a74bb02146105e95780635342acb41461060a57600080fd5b806339509351146105335780633bbac579146105535780633ecad2711461058357600080fd5b806323b872dd1161030d5780632b112e49116102e75780632b112e49146104d15780632b14ca56146104e6578063301370af146104fc578063313ce5671461051157600080fd5b806323b872dd1461046857806327c8f83514610488578063293230b8146104bc57600080fd5b806306fdde03146103605780630930907b1461038b578063095ea7b3146103d75780630cc835a31461040757806310a60f021461042957806318160ddd1461044957600080fd5b3661035b57005b600080fd5b34801561036c57600080fd5b50610375610aa1565b604051610382919061239b565b60405180910390f35b34801561039757600080fd5b506103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610382565b3480156103e357600080fd5b506103f76103f23660046123fe565b610b33565b6040519015158152602001610382565b34801561041357600080fd5b5061042761042236600461242a565b610b4a565b005b34801561043557600080fd5b50610427610444366004612451565b610bd6565b34801561045557600080fd5b50600f545b604051908152602001610382565b34801561047457600080fd5b506103f76104833660046124d7565b610c77565b34801561049457600080fd5b506103bf7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c857600080fd5b50610427610ce2565b3480156104dd57600080fd5b5061045a610d6b565b3480156104f257600080fd5b5061045a60055481565b34801561050857600080fd5b50610427610dfe565b34801561051d57600080fd5b5060035460405160ff9091168152602001610382565b34801561053f57600080fd5b506103f761054e3660046123fe565b610e34565b34801561055f57600080fd5b506103f761056e366004612518565b600e6020526000908152604090205460ff1681565b34801561058f57600080fd5b506103f761059e366004612518565b600b6020526000908152604090205460ff1681565b3480156105bf57600080fd5b5061045a60045481565b3480156105d557600080fd5b506104276105e4366004612535565b610e6a565b3480156105f557600080fd5b506016546103f790600160a81b900460ff1681565b34801561061657600080fd5b506103f7610625366004612518565b600a6020526000908152604090205460ff1681565b34801561064657600080fd5b5061042761065536600461242a565b610eb0565b34801561066657600080fd5b506015546103f790610100900460ff1681565b34801561068557600080fd5b50610427610694366004612552565b610edf565b3480156106a557600080fd5b5061045a6106b4366004612518565b6001600160a01b031660009081526008602052604090205490565b3480156106db57600080fd5b50610427610f34565b3480156106f057600080fd5b506104276106ff36600461242a565b610f6a565b34801561071057600080fd5b506015546103bf90630100000090046001600160a01b031681565b34801561073757600080fd5b50610427610746366004612518565b610f99565b34801561075757600080fd5b5061045a60115481565b34801561076d57600080fd5b5061045a60145481565b34801561078357600080fd5b5061045a60125481565b34801561079957600080fd5b506103f76107a8366004612518565b600d6020526000908152604090205460ff1681565b3480156107c957600080fd5b506104276107d836600461242a565b610fe5565b3480156107e957600080fd5b506000546001600160a01b03166103bf565b34801561080757600080fd5b50610375611065565b34801561081c57600080fd5b5061042761082b36600461242a565b611074565b34801561083c57600080fd5b506103f761084b3660046123fe565b6110a3565b34801561085c57600080fd5b506103f761086b3660046123fe565b6110f2565b34801561087c57600080fd5b5061042761088b366004612552565b6110ff565b34801561089c57600080fd5b506104276108ab366004612535565b611154565b3480156108bc57600080fd5b5061045a60135481565b3480156108d257600080fd5b506104276108e1366004612518565b6111d6565b3480156108f257600080fd5b50610427610901366004612552565b61122c565b34801561091257600080fd5b506016546103bf906001600160a01b031681565b34801561093257600080fd5b506103f7610941366004612518565b600c6020526000908152604090205460ff1681565b34801561096257600080fd5b506104276109713660046124d7565b611281565b34801561098257600080fd5b5061045a60105481565b34801561099857600080fd5b5061045a6109a736600461258b565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156109de57600080fd5b506104276109ed366004612552565b611340565b3480156109fe57600080fd5b50610427611395565b348015610a1357600080fd5b506015546103f79060ff1681565b348015610a2d57600080fd5b50610427610a3c366004612535565b611470565b348015610a4d57600080fd5b506006546103bf906001600160a01b031681565b348015610a6d57600080fd5b50610427610a7c366004612518565b6114b4565b348015610a8d57600080fd5b506015546103f79062010000900460ff1681565b606060018054610ab0906125b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610adc906125b9565b8015610b295780601f10610afe57610100808354040283529160200191610b29565b820191906000526020600020905b815481529060010190602001808311610b0c57829003601f168201915b5050505050905090565b6000610b4033848461154c565b5060015b92915050565b6000546001600160a01b03163314610b7d5760405162461bcd60e51b8152600401610b74906125f3565b60405180910390fd5b6004819055600a811115610bd35760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610b74565b50565b6000546001600160a01b03163314610c005760405162461bcd60e51b8152600401610b74906125f3565b60005b82811015610c715781600e6000868685818110610c2257610c22612628565b9050602002016020810190610c379190612518565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c6981612654565b915050610c03565b50505050565b6000610c84848484611670565b50610cd78433610cd2856040518060600160405280602881526020016127d5602891396001600160a01b038a1660009081526009602090815260408083203384529091529020549190611c9d565b61154c565b5060015b9392505050565b6000546001600160a01b03163314610d0c5760405162461bcd60e51b8152600401610b74906125f3565b60155460ff1615610d585760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610b74565b6015805460ff1916600117905542601355565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260086020526040812054610df990610df3610dea7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526008602052604090205490565b600f5490611cd7565b90611cd7565b905090565b6000546001600160a01b03163314610e285760405162461bcd60e51b8152600401610b74906125f3565b60006004819055600555565b3360008181526009602090815260408083206001600160a01b03871684529091528120549091610b40918590610cd29086611d19565b6000546001600160a01b03163314610e945760405162461bcd60e51b8152600401610b74906125f3565b60158054911515620100000262ff000019909216919091179055565b6000546001600160a01b03163314610eda5760405162461bcd60e51b8152600401610b74906125f3565b601155565b6000546001600160a01b03163314610f095760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f5e5760405162461bcd60e51b8152600401610b74906125f3565b610f686000611d78565b565b6000546001600160a01b03163314610f945760405162461bcd60e51b8152600401610b74906125f3565b601255565b6000546001600160a01b03163314610fc35760405162461bcd60e51b8152600401610b74906125f3565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461100f5760405162461bcd60e51b8152600401610b74906125f3565b6005819055600a811115610bd35760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610b74565b606060028054610ab0906125b9565b6000546001600160a01b0316331461109e5760405162461bcd60e51b8152600401610b74906125f3565b601055565b6000610b403384610cd2856040518060600160405280602581526020016127fd602591393360009081526009602090815260408083206001600160a01b038d1684529091529020549190611c9d565b6000610cd7338484611670565b6000546001600160a01b031633146111295760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461117e5760405162461bcd60e51b8152600401610b74906125f3565b60168054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906111cb90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146112005760405162461bcd60e51b8152600401610b74906125f3565b601580546001600160a01b039092166301000000026301000000600160b81b0319909216919091179055565b6000546001600160a01b031633146112565760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6007546001600160a01b031633146112cd5760405162461bcd60e51b815260206004820152600f60248201526e4572726f723a20477561726465642160881b6044820152606401610b74565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af115801561131c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c71919061266d565b6000546001600160a01b0316331461136a5760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6007546001600160a01b031633146113e15760405162461bcd60e51b815260206004820152600f60248201526e4572726f723a20477561726465642160881b6044820152606401610b74565b604051600090339047908381818185875af1925050503d8060008114611423576040519150601f19603f3d011682016040523d82523d6000602084013e611428565b606091505b5050905080610bd35760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610b74565b6000546001600160a01b0316331461149a5760405162461bcd60e51b8152600401610b74906125f3565b601580549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146114de5760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b0381166115435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b74565b610bd381611d78565b6001600160a01b0383166115ae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b74565b6001600160a01b03821661160f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b74565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166116d65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b74565b6001600160a01b0383166117385760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b74565b6000821161179a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b74565b6001600160a01b0384166000908152600e602052604090205460ff16156117d35760405162461bcd60e51b8152600401610b749061268a565b336000908152600e602052604090205460ff16156118035760405162461bcd60e51b8152600401610b749061268a565b326000908152600e602052604090205460ff16156118335760405162461bcd60e51b8152600401610b749061268a565b601654600160a01b900460ff161561185757611850848484611dc8565b9050610cdb565b6001600160a01b0384166000908152600a602052604090205460ff1615801561189957506001600160a01b0383166000908152600a602052604090205460ff16155b1561199e5760155460ff166118f05760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610b74565b60145460135461190091906126b7565b4210801561192357506015546001600160a01b0385811663010000009092041614155b1561199e576016546001600160a01b03808616911603611965576001600160a01b0383166000908152600e60205260409020805460ff1916600117905561199e565b6016546001600160a01b0380851691160361199e576001600160a01b0384166000908152600e60205260409020805460ff191660011790555b30600090815260086020526040902054601054811080159081906119cc5750601654600160a01b900460ff16155b80156119f157506001600160a01b0386166000908152600b602052604090205460ff16155b8015611a065750601654600160a81b900460ff165b15611a1457611a1482611eae565b6001600160a01b0386166000908152600d602052604090205460ff16158015611a5657506001600160a01b0385166000908152600d602052604090205460ff16155b8015611a695750601554610100900460ff165b15611ad157601154841115611ad15760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b74565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260089091529190912054611b23918690611c9d565b6001600160a01b038716600090815260086020526040812091909155611b498787611f47565b611b5d57611b58878787611fe7565b611b5f565b845b60155490915062010000900460ff168015611b9357506001600160a01b0386166000908152600c602052604090205460ff16155b15611c1257601254611bc482611bbe896001600160a01b031660009081526008602052604090205490565b90611d19565b1115611c125760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610b74565b6001600160a01b038616600090815260086020526040902054611c359082611d19565b6001600160a01b0380881660008181526008602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c899085815260200190565b60405180910390a360019350505050610cdb565b60008184841115611cc15760405162461bcd60e51b8152600401610b74919061239b565b506000611cce84866126ca565b95945050505050565b6000610cdb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c9d565b600080611d2683856126b7565b905083811015610cdb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b74565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611e19918490611c9d565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611e489083611d19565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e9c9086815260200190565b60405180910390a35060019392505050565b6016805460ff60a01b1916600160a01b1790558015611f3757601054611ed590600a6126dd565b811115611eed57601054611eea90600a6126dd565b90505b611ef6816120f4565b4715611f37576006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611f35573d6000803e3d6000fd5b505b506016805460ff60a01b19169055565b6001600160a01b0382166000908152600a602052604081205460ff1680611f8657506001600160a01b0382166000908152600a602052604090205460ff165b15611f9357506001610b44565b6001600160a01b0383166000908152600b602052604090205460ff1680611fd257506001600160a01b0382166000908152600b602052604090205460ff165b15611fdf57506000610b44565b506000610b44565b6001600160a01b0383166000908152600b6020526040812054819060ff16156120315761202a6064612024600454866122ae90919063ffffffff16565b90612330565b9050612070565b6001600160a01b0384166000908152600b602052604090205460ff161561206c5761202a6064612024600554866122ae90919063ffffffff16565b5060005b80156120ea57306000908152600860205260409020546120909082611d19565b30600081815260086020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120e19085815260200190565b60405180910390a35b611cce8382611cd7565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061212957612129612628565b60200260200101906001600160a01b031690816001600160a01b031681525050601560039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c091906126f4565b816001815181106121d3576121d3612628565b6001600160a01b03928316602091820292909201015260155461220091309163010000009004168461154c565b60155460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac9479061223f908590600090869030904290600401612755565b600060405180830381600087803b15801561225957600080fd5b505af115801561226d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516122a2929190612791565b60405180910390a15050565b6000826000036122c057506000610b44565b60006122cc83856126dd565b9050826122d985836127b2565b14610cdb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b74565b6000610cdb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361238e5760405162461bcd60e51b8152600401610b74919061239b565b506000611cce84866127b2565b600060208083528351808285015260005b818110156123c8578581018301518582016040015282016123ac565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610bd357600080fd5b6000806040838503121561241157600080fd5b823561241c816123e9565b946020939093013593505050565b60006020828403121561243c57600080fd5b5035919050565b8015158114610bd357600080fd5b60008060006040848603121561246657600080fd5b833567ffffffffffffffff8082111561247e57600080fd5b818601915086601f83011261249257600080fd5b8135818111156124a157600080fd5b8760208260051b85010111156124b657600080fd5b602092830195509350508401356124cc81612443565b809150509250925092565b6000806000606084860312156124ec57600080fd5b83356124f7816123e9565b92506020840135612507816123e9565b929592945050506040919091013590565b60006020828403121561252a57600080fd5b8135610cdb816123e9565b60006020828403121561254757600080fd5b8135610cdb81612443565b6000806040838503121561256557600080fd5b8235612570816123e9565b9150602083013561258081612443565b809150509250929050565b6000806040838503121561259e57600080fd5b82356125a9816123e9565b91506020830135612580816123e9565b600181811c908216806125cd57607f821691505b6020821081036125ed57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016126665761266661263e565b5060010190565b60006020828403121561267f57600080fd5b8151610cdb81612443565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b80820180821115610b4457610b4461263e565b81810381811115610b4457610b4461263e565b8082028115828204841417610b4457610b4461263e565b60006020828403121561270657600080fd5b8151610cdb816123e9565b600081518084526020808501945080840160005b8381101561274a5781516001600160a01b031687529582019590820190600101612725565b509495945050505050565b85815284602082015260a06040820152600061277460a0830186612711565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006127aa6040830184612711565b949350505050565b6000826127cf57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220282b079cff7a430b34d9e046ea97862997f01236516dec1010c6244fb03fcda864736f6c63430008130033

Deployed Bytecode

0x6080604052600436106103545760003560e01c806375cbd5f1116101c6578063c0d78655116100f7578063df8408fe11610095578063ee828db31161006f578063ee828db314610a21578063f25f4b5614610a41578063f2fde38b14610a61578063f872858a14610a8157600080fd5b8063df8408fe146109d2578063e6b2603b146109f2578063ec44acf214610a0757600080fd5b8063c867d60b116100d1578063c867d60b14610926578063cea9d26f14610956578063d2d7ad8314610976578063dd62ed3e1461098c57600080fd5b8063c0d78655146108c6578063c16dd4a4146108e6578063c816841b1461090657600080fd5b806395d89b4111610164578063a9059cbb1161013e578063a9059cbb14610850578063ae85ade614610870578063bdcb340014610890578063bf56b371146108b057600080fd5b806395d89b41146107fb5780639d0014b114610810578063a457c2d71461083057600080fd5b8063807c2d9c116101a0578063807c2d9c146107775780638b42507f1461078d5780638b4cee08146107bd5780638da5cb5b146107dd57600080fd5b806375cbd5f11461072b5780637d1db4a51461074b5780637d99c66d1461076157600080fd5b806339509351116102a05780635c85974f1161023e57806370a082311161021857806370a0823114610699578063715018a6146106cf578063728d41c9146106e4578063735de9f71461070457600080fd5b80635c85974f1461063a5780635e42358c1461065a578063651a89871461067957600080fd5b8063470624021161027a57806347062402146105b35780634974d88f146105c95780634a74bb02146105e95780635342acb41461060a57600080fd5b806339509351146105335780633bbac579146105535780633ecad2711461058357600080fd5b806323b872dd1161030d5780632b112e49116102e75780632b112e49146104d15780632b14ca56146104e6578063301370af146104fc578063313ce5671461051157600080fd5b806323b872dd1461046857806327c8f83514610488578063293230b8146104bc57600080fd5b806306fdde03146103605780630930907b1461038b578063095ea7b3146103d75780630cc835a31461040757806310a60f021461042957806318160ddd1461044957600080fd5b3661035b57005b600080fd5b34801561036c57600080fd5b50610375610aa1565b604051610382919061239b565b60405180910390f35b34801561039757600080fd5b506103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610382565b3480156103e357600080fd5b506103f76103f23660046123fe565b610b33565b6040519015158152602001610382565b34801561041357600080fd5b5061042761042236600461242a565b610b4a565b005b34801561043557600080fd5b50610427610444366004612451565b610bd6565b34801561045557600080fd5b50600f545b604051908152602001610382565b34801561047457600080fd5b506103f76104833660046124d7565b610c77565b34801561049457600080fd5b506103bf7f000000000000000000000000000000000000000000000000000000000000dead81565b3480156104c857600080fd5b50610427610ce2565b3480156104dd57600080fd5b5061045a610d6b565b3480156104f257600080fd5b5061045a60055481565b34801561050857600080fd5b50610427610dfe565b34801561051d57600080fd5b5060035460405160ff9091168152602001610382565b34801561053f57600080fd5b506103f761054e3660046123fe565b610e34565b34801561055f57600080fd5b506103f761056e366004612518565b600e6020526000908152604090205460ff1681565b34801561058f57600080fd5b506103f761059e366004612518565b600b6020526000908152604090205460ff1681565b3480156105bf57600080fd5b5061045a60045481565b3480156105d557600080fd5b506104276105e4366004612535565b610e6a565b3480156105f557600080fd5b506016546103f790600160a81b900460ff1681565b34801561061657600080fd5b506103f7610625366004612518565b600a6020526000908152604090205460ff1681565b34801561064657600080fd5b5061042761065536600461242a565b610eb0565b34801561066657600080fd5b506015546103f790610100900460ff1681565b34801561068557600080fd5b50610427610694366004612552565b610edf565b3480156106a557600080fd5b5061045a6106b4366004612518565b6001600160a01b031660009081526008602052604090205490565b3480156106db57600080fd5b50610427610f34565b3480156106f057600080fd5b506104276106ff36600461242a565b610f6a565b34801561071057600080fd5b506015546103bf90630100000090046001600160a01b031681565b34801561073757600080fd5b50610427610746366004612518565b610f99565b34801561075757600080fd5b5061045a60115481565b34801561076d57600080fd5b5061045a60145481565b34801561078357600080fd5b5061045a60125481565b34801561079957600080fd5b506103f76107a8366004612518565b600d6020526000908152604090205460ff1681565b3480156107c957600080fd5b506104276107d836600461242a565b610fe5565b3480156107e957600080fd5b506000546001600160a01b03166103bf565b34801561080757600080fd5b50610375611065565b34801561081c57600080fd5b5061042761082b36600461242a565b611074565b34801561083c57600080fd5b506103f761084b3660046123fe565b6110a3565b34801561085c57600080fd5b506103f761086b3660046123fe565b6110f2565b34801561087c57600080fd5b5061042761088b366004612552565b6110ff565b34801561089c57600080fd5b506104276108ab366004612535565b611154565b3480156108bc57600080fd5b5061045a60135481565b3480156108d257600080fd5b506104276108e1366004612518565b6111d6565b3480156108f257600080fd5b50610427610901366004612552565b61122c565b34801561091257600080fd5b506016546103bf906001600160a01b031681565b34801561093257600080fd5b506103f7610941366004612518565b600c6020526000908152604090205460ff1681565b34801561096257600080fd5b506104276109713660046124d7565b611281565b34801561098257600080fd5b5061045a60105481565b34801561099857600080fd5b5061045a6109a736600461258b565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156109de57600080fd5b506104276109ed366004612552565b611340565b3480156109fe57600080fd5b50610427611395565b348015610a1357600080fd5b506015546103f79060ff1681565b348015610a2d57600080fd5b50610427610a3c366004612535565b611470565b348015610a4d57600080fd5b506006546103bf906001600160a01b031681565b348015610a6d57600080fd5b50610427610a7c366004612518565b6114b4565b348015610a8d57600080fd5b506015546103f79062010000900460ff1681565b606060018054610ab0906125b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610adc906125b9565b8015610b295780601f10610afe57610100808354040283529160200191610b29565b820191906000526020600020905b815481529060010190602001808311610b0c57829003601f168201915b5050505050905090565b6000610b4033848461154c565b5060015b92915050565b6000546001600160a01b03163314610b7d5760405162461bcd60e51b8152600401610b74906125f3565b60405180910390fd5b6004819055600a811115610bd35760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610b74565b50565b6000546001600160a01b03163314610c005760405162461bcd60e51b8152600401610b74906125f3565b60005b82811015610c715781600e6000868685818110610c2257610c22612628565b9050602002016020810190610c379190612518565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c6981612654565b915050610c03565b50505050565b6000610c84848484611670565b50610cd78433610cd2856040518060600160405280602881526020016127d5602891396001600160a01b038a1660009081526009602090815260408083203384529091529020549190611c9d565b61154c565b5060015b9392505050565b6000546001600160a01b03163314610d0c5760405162461bcd60e51b8152600401610b74906125f3565b60155460ff1615610d585760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610b74565b6015805460ff1916600117905542601355565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260086020526040812054610df990610df3610dea7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526008602052604090205490565b600f5490611cd7565b90611cd7565b905090565b6000546001600160a01b03163314610e285760405162461bcd60e51b8152600401610b74906125f3565b60006004819055600555565b3360008181526009602090815260408083206001600160a01b03871684529091528120549091610b40918590610cd29086611d19565b6000546001600160a01b03163314610e945760405162461bcd60e51b8152600401610b74906125f3565b60158054911515620100000262ff000019909216919091179055565b6000546001600160a01b03163314610eda5760405162461bcd60e51b8152600401610b74906125f3565b601155565b6000546001600160a01b03163314610f095760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f5e5760405162461bcd60e51b8152600401610b74906125f3565b610f686000611d78565b565b6000546001600160a01b03163314610f945760405162461bcd60e51b8152600401610b74906125f3565b601255565b6000546001600160a01b03163314610fc35760405162461bcd60e51b8152600401610b74906125f3565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461100f5760405162461bcd60e51b8152600401610b74906125f3565b6005819055600a811115610bd35760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610b74565b606060028054610ab0906125b9565b6000546001600160a01b0316331461109e5760405162461bcd60e51b8152600401610b74906125f3565b601055565b6000610b403384610cd2856040518060600160405280602581526020016127fd602591393360009081526009602090815260408083206001600160a01b038d1684529091529020549190611c9d565b6000610cd7338484611670565b6000546001600160a01b031633146111295760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461117e5760405162461bcd60e51b8152600401610b74906125f3565b60168054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906111cb90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146112005760405162461bcd60e51b8152600401610b74906125f3565b601580546001600160a01b039092166301000000026301000000600160b81b0319909216919091179055565b6000546001600160a01b031633146112565760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6007546001600160a01b031633146112cd5760405162461bcd60e51b815260206004820152600f60248201526e4572726f723a20477561726465642160881b6044820152606401610b74565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af115801561131c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c71919061266d565b6000546001600160a01b0316331461136a5760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6007546001600160a01b031633146113e15760405162461bcd60e51b815260206004820152600f60248201526e4572726f723a20477561726465642160881b6044820152606401610b74565b604051600090339047908381818185875af1925050503d8060008114611423576040519150601f19603f3d011682016040523d82523d6000602084013e611428565b606091505b5050905080610bd35760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610b74565b6000546001600160a01b0316331461149a5760405162461bcd60e51b8152600401610b74906125f3565b601580549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146114de5760405162461bcd60e51b8152600401610b74906125f3565b6001600160a01b0381166115435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b74565b610bd381611d78565b6001600160a01b0383166115ae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b74565b6001600160a01b03821661160f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b74565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166116d65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b74565b6001600160a01b0383166117385760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b74565b6000821161179a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b74565b6001600160a01b0384166000908152600e602052604090205460ff16156117d35760405162461bcd60e51b8152600401610b749061268a565b336000908152600e602052604090205460ff16156118035760405162461bcd60e51b8152600401610b749061268a565b326000908152600e602052604090205460ff16156118335760405162461bcd60e51b8152600401610b749061268a565b601654600160a01b900460ff161561185757611850848484611dc8565b9050610cdb565b6001600160a01b0384166000908152600a602052604090205460ff1615801561189957506001600160a01b0383166000908152600a602052604090205460ff16155b1561199e5760155460ff166118f05760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610b74565b60145460135461190091906126b7565b4210801561192357506015546001600160a01b0385811663010000009092041614155b1561199e576016546001600160a01b03808616911603611965576001600160a01b0383166000908152600e60205260409020805460ff1916600117905561199e565b6016546001600160a01b0380851691160361199e576001600160a01b0384166000908152600e60205260409020805460ff191660011790555b30600090815260086020526040902054601054811080159081906119cc5750601654600160a01b900460ff16155b80156119f157506001600160a01b0386166000908152600b602052604090205460ff16155b8015611a065750601654600160a81b900460ff165b15611a1457611a1482611eae565b6001600160a01b0386166000908152600d602052604090205460ff16158015611a5657506001600160a01b0385166000908152600d602052604090205460ff16155b8015611a695750601554610100900460ff165b15611ad157601154841115611ad15760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b74565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260089091529190912054611b23918690611c9d565b6001600160a01b038716600090815260086020526040812091909155611b498787611f47565b611b5d57611b58878787611fe7565b611b5f565b845b60155490915062010000900460ff168015611b9357506001600160a01b0386166000908152600c602052604090205460ff16155b15611c1257601254611bc482611bbe896001600160a01b031660009081526008602052604090205490565b90611d19565b1115611c125760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610b74565b6001600160a01b038616600090815260086020526040902054611c359082611d19565b6001600160a01b0380881660008181526008602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c899085815260200190565b60405180910390a360019350505050610cdb565b60008184841115611cc15760405162461bcd60e51b8152600401610b74919061239b565b506000611cce84866126ca565b95945050505050565b6000610cdb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c9d565b600080611d2683856126b7565b905083811015610cdb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b74565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611e19918490611c9d565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611e489083611d19565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e9c9086815260200190565b60405180910390a35060019392505050565b6016805460ff60a01b1916600160a01b1790558015611f3757601054611ed590600a6126dd565b811115611eed57601054611eea90600a6126dd565b90505b611ef6816120f4565b4715611f37576006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611f35573d6000803e3d6000fd5b505b506016805460ff60a01b19169055565b6001600160a01b0382166000908152600a602052604081205460ff1680611f8657506001600160a01b0382166000908152600a602052604090205460ff165b15611f9357506001610b44565b6001600160a01b0383166000908152600b602052604090205460ff1680611fd257506001600160a01b0382166000908152600b602052604090205460ff165b15611fdf57506000610b44565b506000610b44565b6001600160a01b0383166000908152600b6020526040812054819060ff16156120315761202a6064612024600454866122ae90919063ffffffff16565b90612330565b9050612070565b6001600160a01b0384166000908152600b602052604090205460ff161561206c5761202a6064612024600554866122ae90919063ffffffff16565b5060005b80156120ea57306000908152600860205260409020546120909082611d19565b30600081815260086020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120e19085815260200190565b60405180910390a35b611cce8382611cd7565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061212957612129612628565b60200260200101906001600160a01b031690816001600160a01b031681525050601560039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c091906126f4565b816001815181106121d3576121d3612628565b6001600160a01b03928316602091820292909201015260155461220091309163010000009004168461154c565b60155460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac9479061223f908590600090869030904290600401612755565b600060405180830381600087803b15801561225957600080fd5b505af115801561226d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516122a2929190612791565b60405180910390a15050565b6000826000036122c057506000610b44565b60006122cc83856126dd565b9050826122d985836127b2565b14610cdb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b74565b6000610cdb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361238e5760405162461bcd60e51b8152600401610b74919061239b565b506000611cce84866127b2565b600060208083528351808285015260005b818110156123c8578581018301518582016040015282016123ac565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610bd357600080fd5b6000806040838503121561241157600080fd5b823561241c816123e9565b946020939093013593505050565b60006020828403121561243c57600080fd5b5035919050565b8015158114610bd357600080fd5b60008060006040848603121561246657600080fd5b833567ffffffffffffffff8082111561247e57600080fd5b818601915086601f83011261249257600080fd5b8135818111156124a157600080fd5b8760208260051b85010111156124b657600080fd5b602092830195509350508401356124cc81612443565b809150509250925092565b6000806000606084860312156124ec57600080fd5b83356124f7816123e9565b92506020840135612507816123e9565b929592945050506040919091013590565b60006020828403121561252a57600080fd5b8135610cdb816123e9565b60006020828403121561254757600080fd5b8135610cdb81612443565b6000806040838503121561256557600080fd5b8235612570816123e9565b9150602083013561258081612443565b809150509250929050565b6000806040838503121561259e57600080fd5b82356125a9816123e9565b91506020830135612580816123e9565b600181811c908216806125cd57607f821691505b6020821081036125ed57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016126665761266661263e565b5060010190565b60006020828403121561267f57600080fd5b8151610cdb81612443565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b80820180821115610b4457610b4461263e565b81810381811115610b4457610b4461263e565b8082028115828204841417610b4457610b4461263e565b60006020828403121561270657600080fd5b8151610cdb816123e9565b600081518084526020808501945080840160005b8381101561274a5781516001600160a01b031687529582019590820190600101612725565b509495945050505050565b85815284602082015260a06040820152600061277460a0830186612711565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006127aa6040830184612711565b949350505050565b6000826127cf57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220282b079cff7a430b34d9e046ea97862997f01236516dec1010c6244fb03fcda864736f6c63430008130033

Deployed Bytecode Sourcemap

7485:14168:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11531:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7826:81;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;7826:81:0;567:203:1;12867:161:0;;;;;;;;;;-1:-1:-1;12867:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;12867:161:0;1231:187:1;19240:152:0;;;;;;;;;;-1:-1:-1;19240:152:0;;;;;:::i;:::-;;:::i;:::-;;20333:225;;;;;;;;;;-1:-1:-1;20333:225:0;;;;;:::i;:::-;;:::i;11808:100::-;;;;;;;;;;-1:-1:-1;11888:12:0;;11808:100;;;2632:25:1;;;2620:2;2605:18;11808:100:0;2486:177:1;13650:313:0;;;;;;;;;;-1:-1:-1;13650:313:0;;;;;:::i;:::-;;:::i;7738:81::-;;;;;;;;;;;;;;;19765:169;;;;;;;;;;;;;:::i;12049:156::-;;;;;;;;;;;;;:::i;7948:27::-;;;;;;;;;;;;;;;;19565:94;;;;;;;;;;;;;:::i;11717:83::-;;;;;;;;;;-1:-1:-1;11783:9:0;;11717:83;;11783:9;;;;3271:36:1;;3259:2;3244:18;11717:83:0;3129:184:1;12364:218:0;;;;;;;;;;-1:-1:-1;12364:218:0;;;;;:::i;:::-;;:::i;8407:38::-;;;;;;;;;;-1:-1:-1;8407:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8241:45;;;;;;;;;;-1:-1:-1;8241:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7916:25;;;;;;;;;;;;;;;;20672:105;;;;;;;;;;-1:-1:-1;20672:105:0;;;;;:::i;:::-;;:::i;9484:40::-;;;;;;;;;;-1:-1:-1;9484:40:0;;;;-1:-1:-1;;;9484:40:0;;;;;;8184:50;;;;;;;;;;-1:-1:-1;8184:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21293:101;;;;;;;;;;-1:-1:-1;21293:101:0;;;;;:::i;:::-;;:::i;8892:32::-;;;;;;;;;;-1:-1:-1;8892:32:0;;;;;;;;;;;20915:128;;;;;;;;;;-1:-1:-1;20915:128:0;;;;;:::i;:::-;;:::i;11916:123::-;;;;;;;;;;-1:-1:-1;11916:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;12008:18:0;11982:7;12008:18;;;:9;:18;;;;;;;11916:123;2247:94;;;;;;;;;;;;;:::i;21179:106::-;;;;;;;;;;-1:-1:-1;21179:106:0;;;;;:::i;:::-;;:::i;9379:35::-;;;;;;;;;;-1:-1:-1;9379:35:0;;;;;;;-1:-1:-1;;;;;9379:35:0;;;19667:90;;;;;;;;;;-1:-1:-1;19667:90:0;;;;;:::i;:::-;;:::i;8619:59::-;;;;;;;;;;;;;;;;8800:39;;;;;;;;;;;;;;;;8694:56;;;;;;;;;;;;;;;;8352:48;;;;;;;;;;-1:-1:-1;8352:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19400:157;;;;;;;;;;-1:-1:-1;19400:157:0;;;;;:::i;:::-;;:::i;1938:87::-;;;;;;;;;;-1:-1:-1;1984:7:0;2011:6;-1:-1:-1;;;;;2011:6:0;1938:87;;11622;;;;;;;;;;;;;:::i;19117:115::-;;;;;;;;;;-1:-1:-1;19117:115:0;;;;;:::i;:::-;;:::i;12590:269::-;;;;;;;;;;-1:-1:-1;12590:269:0;;;;;:::i;:::-;;:::i;13475:167::-;;;;;;;;;;-1:-1:-1;13475:167:0;;;;;:::i;:::-;;:::i;21051:120::-;;;;;;;;;;-1:-1:-1;21051:120:0;;;;;:::i;:::-;;:::i;18942:167::-;;;;;;;;;;-1:-1:-1;18942:167:0;;;;;:::i;:::-;;:::i;8767:25::-;;;;;;;;;;;;;;;;21529:119;;;;;;;;;;-1:-1:-1;21529:119:0;;;;;:::i;:::-;;:::i;21402:::-;;;;;;;;;;-1:-1:-1;21402:119:0;;;;;:::i;:::-;;:::i;9421:26::-;;;;;;;;;;-1:-1:-1;9421:26:0;;;;-1:-1:-1;;;;;9421:26:0;;;8293:52;;;;;;;;;;-1:-1:-1;8293:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20193:132;;;;;;;;;;-1:-1:-1;20193:132:0;;;;;:::i;:::-;;:::i;8529:73::-;;;;;;;;;;;;;;;;12213:143;;;;;;;;;;-1:-1:-1;12213:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;12321:18:0;;;12294:7;12321:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12213:143;20785:122;;;;;;;;;;-1:-1:-1;20785:122:0;;;;;:::i;:::-;;:::i;19975:178::-;;;;;;;;;;;;;:::i;8863:19::-;;;;;;;;;;-1:-1:-1;8863:19:0;;;;;;;;20566:98;;;;;;;;;;-1:-1:-1;20566:98:0;;;;;:::i;:::-;;:::i;7984:24::-;;;;;;;;;;-1:-1:-1;7984:24:0;;;;-1:-1:-1;;;;;7984:24:0;;;2349:229;;;;;;;;;;-1:-1:-1;2349:229:0;;;;;:::i;:::-;;:::i;8931:35::-;;;;;;;;;;-1:-1:-1;8931:35:0;;;;;;;;;;;11531:83;11568:13;11601:5;11594:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11531:83;:::o;12867:161::-;12942:4;12959:39;585:10;12982:7;12991:6;12959:8;:39::i;:::-;-1:-1:-1;13016:4:0;12867:161;;;;;:::o;19240:152::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;;;;;;;;;19303:6:::1;:16:::0;;;19348:2:::1;19338:12:::0;::::1;;19330:54;;;::::0;-1:-1:-1;;;19330:54:0;;6248:2:1;19330:54:0::1;::::0;::::1;6230:21:1::0;6287:2;6267:18;;;6260:30;6326:31;6306:18;;;6299:59;6375:18;;19330:54:0::1;6046:353:1::0;19330:54:0::1;19240:152:::0;:::o;20333:225::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;20457:9:::1;20452:99;20472:19:::0;;::::1;20452:99;;;20534:5;20513;:18;20519:8;;20528:1;20519:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20513:18:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;20513:18:0;:26;;-1:-1:-1;;20513:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20493:3;::::1;::::0;::::1;:::i;:::-;;;;20452:99;;;;20333:225:::0;;;:::o;13650:313::-;13748:4;13765:36;13775:6;13783:9;13794:6;13765:9;:36::i;:::-;-1:-1:-1;13812:121:0;13821:6;585:10;13843:89;13881:6;13843:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13843:19:0;;;;;;:11;:19;;;;;;;;585:10;13843:33;;;;;;;;;;:37;:89::i;:::-;13812:8;:121::i;:::-;-1:-1:-1;13951:4:0;13650:313;;;;;;:::o;19765:169::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;19828:7:::1;::::0;::::1;;19827:8;19819:43;;;::::0;-1:-1:-1;;;19819:43:0;;7010:2:1;19819:43:0::1;::::0;::::1;6992:21:1::0;7049:2;7029:18;;;7022:30;-1:-1:-1;;;7068:18:1;;;7061:52;7130:18;;19819:43:0::1;6808:346:1::0;19819:43:0::1;19873:7;:14:::0;;-1:-1:-1;;19873:14:0::1;19883:4;19873:14;::::0;;19911:15:::1;19898:10;:28:::0;19765:169::o;12049:156::-;-1:-1:-1;;;;;12184:11:0;12008:18;12102:7;12008:18;;;:9;:18;;;;;;12129:68;;:40;12146:22;12156:11;-1:-1:-1;;;;;12008:18:0;11982:7;12008:18;;;:9;:18;;;;;;;11916:123;12146:22;12129:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;12122:75;;12049:156;:::o;19565:94::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;19628:1:::1;19619:6;:10:::0;;;19640:7:::1;:11:::0;19565:94::o;12364:218::-;585:10;12452:4;12501:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12501:34:0;;;;;;;;;;12452:4;;12469:83;;12492:7;;12501:50;;12540:10;12501:38;:50::i;20672:105::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;20743:16:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;20743:26:0;;::::1;::::0;;;::::1;::::0;;20672:105::o;21293:101::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;21363:12:::1;:23:::0;21293:101::o;20915:128::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21000:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:35;;-1:-1:-1;;21000:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20915:128::o;2247:94::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;2312:21:::1;2330:1;2312:9;:21::i;:::-;2247:94::o:0;21179:106::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;21256:10:::1;:21:::0;21179:106::o;19667:90::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;19731:9:::1;:18:::0;;-1:-1:-1;;;;;;19731:18:0::1;-1:-1:-1::0;;;;;19731:18:0;;;::::1;::::0;;;::::1;::::0;;19667:90::o;19400:157::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;19465:7:::1;:18:::0;;;19513:2:::1;19502:13:::0;::::1;;19494:55;;;::::0;-1:-1:-1;;;19494:55:0;;6248:2:1;19494:55:0::1;::::0;::::1;6230:21:1::0;6287:2;6267:18;;;6260:30;6326:31;6306:18;;;6299:59;6375:18;;19494:55:0::1;6046:353:1::0;11622:87:0;11661:13;11694:7;11687:14;;;;;:::i;19117:115::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;19189:23:::1;:35:::0;19117:115::o;12590:269::-;12683:4;12700:129;585:10;12723:7;12732:96;12771:15;12732:96;;;;;;;;;;;;;;;;;585:10;12732:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12732:34:0;;;;;;;;;;;;:38;:96::i;13475:167::-;13553:4;13570:42;585:10;13594:9;13605:6;13570:9;:42::i;21051:120::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21132:21:0;;;::::1;;::::0;;;:15:::1;:21;::::0;;;;:31;;-1:-1:-1;;21132:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21051:120::o;18942:167::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;19017:21:::1;:31:::0;;;::::1;;-1:-1:-1::0;;;19017:31:0::1;-1:-1:-1::0;;;;19017:31:0;;::::1;;::::0;;19064:37:::1;::::0;::::1;::::0;::::1;::::0;19041:7;1396:14:1;1389:22;1371:41;;1359:2;1344:18;;1231:187;19064:37:0::1;;;;;;;;18942:167:::0;:::o;21529:119::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;21598:13:::1;:42:::0;;-1:-1:-1;;;;;21598:42:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;21598:42:0;;::::1;::::0;;;::::1;::::0;;21529:119::o;21402:::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21484:19:0;;;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;21484:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21402:119::o;20193:132::-;9315:17;;-1:-1:-1;;;;;9315:17:0;9301:10;:31;9293:58;;;;-1:-1:-1;;;9293:58:0;;7361:2:1;9293:58:0;;;7343:21:1;7400:2;7380:18;;;7373:30;-1:-1:-1;;;7419:18:1;;;7412:45;7474:18;;9293:58:0;7159:339:1;9293:58:0;20287:30:::1;::::0;-1:-1:-1;;;20287:30:0;;-1:-1:-1;;;;;7695:32:1;;;20287:30:0::1;::::0;::::1;7677:51:1::0;7744:18;;;7737:34;;;20287:12:0;::::1;::::0;::::1;::::0;7650:18:1;;20287:30:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20785:122::-:0;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20866:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:33;;-1:-1:-1;;20866:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20785:122::o;19975:178::-;9315:17;;-1:-1:-1;;;;;9315:17:0;9301:10;:31;9293:58;;;;-1:-1:-1;;;9293:58:0;;7361:2:1;9293:58:0;;;7343:21:1;7400:2;7380:18;;;7373:30;-1:-1:-1;;;7419:18:1;;;7412:45;7474:18;;9293:58:0;7159:339:1;9293:58:0;20042::::1;::::0;20030:7:::1;::::0;20050:10:::1;::::0;20074:21:::1;::::0;20030:7;20042:58;20030:7;20042:58;20074:21;20050:10;20042:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20029:71;;;20119:2;20111:34;;;::::0;-1:-1:-1;;;20111:34:0;;8444:2:1;20111:34:0::1;::::0;::::1;8426:21:1::0;8483:2;8463:18;;;8456:30;-1:-1:-1;;;8502:18:1;;;8495:50;8562:18;;20111:34:0::1;8242:344:1::0;20566:98:0;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;20633:13:::1;:23:::0;;;::::1;;;;-1:-1:-1::0;;20633:23:0;;::::1;::::0;;;::::1;::::0;;20566:98::o;2349:229::-;1984:7;2011:6;-1:-1:-1;;;;;2011:6:0;585:10;2159:23;2151:68;;;;-1:-1:-1;;;2151:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2452:22:0;::::1;2430:110;;;::::0;-1:-1:-1;;;2430:110:0;;8793:2:1;2430:110:0::1;::::0;::::1;8775:21:1::0;8832:2;8812:18;;;8805:30;8871:34;8851:18;;;8844:62;-1:-1:-1;;;8922:18:1;;;8915:36;8968:19;;2430:110:0::1;8591:402:1::0;2430:110:0::1;2551:19;2561:8;2551:9;:19::i;13036:337::-:0;-1:-1:-1;;;;;13129:19:0;;13121:68;;;;-1:-1:-1;;;13121:68:0;;9200:2:1;13121:68:0;;;9182:21:1;9239:2;9219:18;;;9212:30;9278:34;9258:18;;;9251:62;-1:-1:-1;;;9329:18:1;;;9322:34;9373:19;;13121:68:0;8998:400:1;13121:68:0;-1:-1:-1;;;;;13208:21:0;;13200:68;;;;-1:-1:-1;;;13200:68:0;;9605:2:1;13200:68:0;;;9587:21:1;9644:2;9624:18;;;9617:30;9683:34;9663:18;;;9656:62;-1:-1:-1;;;9734:18:1;;;9727:32;9776:19;;13200:68:0;9403:398:1;13200:68:0;-1:-1:-1;;;;;13281:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13333:32;;2632:25:1;;;13333:32:0;;2605:18:1;13333:32:0;;;;;;;13036:337;;;:::o;13971:2411::-;14058:4;-1:-1:-1;;;;;14085:20:0;;14077:70;;;;-1:-1:-1;;;14077:70:0;;10008:2:1;14077:70:0;;;9990:21:1;10047:2;10027:18;;;10020:30;10086:34;10066:18;;;10059:62;-1:-1:-1;;;10137:18:1;;;10130:35;10182:19;;14077:70:0;9806:401:1;14077:70:0;-1:-1:-1;;;;;14166:23:0;;14158:71;;;;-1:-1:-1;;;14158:71:0;;10414:2:1;14158:71:0;;;10396:21:1;10453:2;10433:18;;;10426:30;10492:34;10472:18;;;10465:62;-1:-1:-1;;;10543:18:1;;;10536:33;10586:19;;14158:71:0;10212:399:1;14158:71:0;14257:1;14248:6;:10;14240:64;;;;-1:-1:-1;;;14240:64:0;;10818:2:1;14240:64:0;;;10800:21:1;10857:2;10837:18;;;10830:30;10896:34;10876:18;;;10869:62;-1:-1:-1;;;10947:18:1;;;10940:39;10996:19;;14240:64:0;10616:405:1;14240:64:0;-1:-1:-1;;;;;14334:13:0;;;;;;:5;:13;;;;;;;;14333:14;14325:46;;;;-1:-1:-1;;;14325:46:0;;;;;;;:::i;:::-;14397:10;14391:17;;;;:5;:17;;;;;;;;14390:18;14382:50;;;;-1:-1:-1;;;14382:50:0;;;;;;;:::i;:::-;14458:9;14452:16;;;;:5;:16;;;;;;;;14451:17;14443:49;;;;-1:-1:-1;;;14443:49:0;;;;;;;:::i;:::-;14508:16;;-1:-1:-1;;;14508:16:0;;;;14505:1868;;;14548:41;14563:6;14571:9;14582:6;14548:14;:41::i;:::-;14541:48;;;;14505:1868;-1:-1:-1;;;;;14638:25:0;;;;;;:17;:25;;;;;;;;14637:26;:59;;;;-1:-1:-1;;;;;;14668:28:0;;;;;;:17;:28;;;;;;;;14667:29;14637:59;14633:564;;;14725:7;;;;14717:49;;;;-1:-1:-1;;;14717:49:0;;11576:2:1;14717:49:0;;;11558:21:1;11615:2;11595:18;;;11588:30;11654:31;11634:18;;;11627:59;11703:18;;14717:49:0;11374:353:1;14717:49:0;14844:11;;14831:10;;:24;;;;:::i;:::-;14813:15;:42;:99;;;;-1:-1:-1;14898:13:0;;-1:-1:-1;;;;;14880:32:0;;;14898:13;;;;;14880:32;;14813:99;14787:395;;;14959:11;;-1:-1:-1;;;;;14959:21:0;;;:11;;:21;14955:208;;-1:-1:-1;;;;;15009:16:0;;;;;;:5;:16;;;;;:23;;-1:-1:-1;;15009:23:0;15028:4;15009:23;;;14955:208;;;15066:11;;-1:-1:-1;;;;;15066:24:0;;;:11;;:24;15062:101;;-1:-1:-1;;;;;15119:13:0;;;;;;:5;:13;;;;;:20;;-1:-1:-1;;15119:20:0;15135:4;15119:20;;;15062:101;15262:4;15213:28;12008:18;;;:9;:18;;;;;;15338:23;;15314:47;;;;;;;15394:44;;-1:-1:-1;15422:16:0;;-1:-1:-1;;;15422:16:0;;;;15421:17;15394:44;:69;;;;-1:-1:-1;;;;;;15443:20:0;;;;;;:12;:20;;;;;;;;15442:21;15394:69;:94;;;;-1:-1:-1;15467:21:0;;-1:-1:-1;;;15467:21:0;;;;15394:94;15390:185;;;15523:36;15538:20;15523:14;:36::i;:::-;-1:-1:-1;;;;;15595:23:0;;;;;;:15;:23;;;;;;;;15594:24;:55;;;;-1:-1:-1;;;;;;15623:26:0;;;;;;:15;:26;;;;;;;;15622:27;15594:55;:72;;;;-1:-1:-1;15653:13:0;;;;;;;15594:72;15591:187;;;15705:12;;15695:6;:22;;15687:75;;;;-1:-1:-1;;;15687:75:0;;12064:2:1;15687:75:0;;;12046:21:1;12103:2;12083:18;;;12076:30;12142:34;12122:18;;;12115:62;-1:-1:-1;;;12193:18:1;;;12186:38;12241:19;;15687:75:0;11862:404:1;15687:75:0;15827:53;;;;;;;;;;;-1:-1:-1;;;15827:53:0;;;;;;;;-1:-1:-1;;;;;15827:17:0;;-1:-1:-1;15827:17:0;;;:9;:17;;;;;;;;:53;;15849:6;;15827:21;:53::i;:::-;-1:-1:-1;;;;;15807:17:0;;;;;;:9;:17;;;;;:73;;;;15919:34;15817:6;15943:9;15919:16;:34::i;:::-;:80;;15965:34;15973:6;15981:9;15992:6;15965:7;:34::i;:::-;15919:80;;;15956:6;15919:80;16019:16;;15897:102;;-1:-1:-1;16019:16:0;;;;;:51;;;;-1:-1:-1;;;;;;16040:30:0;;;;;;:19;:30;;;;;;;;16039:31;16019:51;16016:181;;;16140:10;;16099:37;16124:11;16099:20;16109:9;-1:-1:-1;;;;;12008:18:0;11982:7;12008:18;;;:9;:18;;;;;;;11916:123;16099:20;:24;;:37::i;:::-;:51;;16091:90;;;;-1:-1:-1;;;16091:90:0;;12473:2:1;16091:90:0;;;12455:21:1;12512:2;12492:18;;;12485:30;12551:29;12531:18;;;12524:57;12598:18;;16091:90:0;12271:351:1;16091:90:0;-1:-1:-1;;;;;16236:20:0;;;;;;:9;:20;;;;;;:37;;16261:11;16236:24;:37::i;:::-;-1:-1:-1;;;;;16213:20:0;;;;;;;:9;:20;;;;;;;:60;;;;16295:40;;;;;;;;;;16323:11;2632:25:1;;2620:2;2605:18;;2486:177;16295:40:0;;;;;;;;16357:4;16350:11;;;;;;;3125:192;3211:7;3247:12;3239:6;;;;3231:29;;;;-1:-1:-1;;;3231:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3271:9:0;3283:5;3287:1;3283;:5;:::i;:::-;3271:17;3125:192;-1:-1:-1;;;;;3125:192:0:o;2981:136::-;3039:7;3066:43;3070:1;3073;3066:43;;;;;;;;;;;;;;;;;:3;:43::i;2792:181::-;2850:7;;2882:5;2886:1;2882;:5;:::i;:::-;2870:17;;2911:1;2906;:6;;2898:46;;;;-1:-1:-1;;;2898:46:0;;12962:2:1;2898:46:0;;;12944:21:1;13001:2;12981:18;;;12974:30;13040:29;13020:18;;;13013:57;13087:18;;2898:46:0;12760:351:1;2586:173:0;2642:16;2661:6;;-1:-1:-1;;;;;2678:17:0;;;-1:-1:-1;;;;;;2678:17:0;;;;;;2711:40;;2661:6;;;;;;;2711:40;;2642:16;2711:40;2631:128;2586:173;:::o;16390:330::-;16520:53;;;;;;;;;;;-1:-1:-1;;;16520:53:0;;;;;;;;-1:-1:-1;;;;;16520:17:0;;16483:4;16520:17;;;:9;:17;;;;;;;:53;;16542:6;;16520:21;:53::i;:::-;-1:-1:-1;;;;;16500:17:0;;;;;;;:9;:17;;;;;;:73;;;;16607:20;;;;;;;:32;;16632:6;16607:24;:32::i;:::-;-1:-1:-1;;;;;16584:20:0;;;;;;;:9;:20;;;;;;;:55;;;;16655:35;;;;;;;;;;16683:6;2632:25:1;;2620:2;2605:18;;2486:177;16655:35:0;;;;;;;;-1:-1:-1;16708:4:0;16390:330;;;;;:::o;17863:403::-;9565:16;:23;;-1:-1:-1;;;;9565:23:0;-1:-1:-1;;;9565:23:0;;;17942:32;;17967:7:::1;17942:32;18007:23;::::0;:28:::1;::::0;18033:2:::1;18007:28;:::i;:::-;17989:15;:46;17986:121;;;18067:23;::::0;:28:::1;::::0;18093:2:::1;18067:28;:::i;:::-;18049:46;;17986:121;18119:33;18136:15;18119:16;:33::i;:::-;18168:21;:25:::0;18165:93:::1;;18216:9;::::0;18208:50:::1;::::0;-1:-1:-1;;;;;18216:9:0;;::::1;::::0;18236:21:::1;18208:50:::0;::::1;;;::::0;18216:9:::1;18208:50:::0;18216:9;18208:50;18236:21;18216:9;18208:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18165:93;-1:-1:-1::0;9611:16:0;:24;;-1:-1:-1;;;;9611:24:0;;;17863:403::o;16732:369::-;-1:-1:-1;;;;;16836:25:0;;16816:4;16836:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;16865:28:0;;;;;;:17;:28;;;;;;;;16836:57;16833:261;;;-1:-1:-1;16917:4:0;16910:11;;16833:261;-1:-1:-1;;;;;16952:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;16976:23:0;;;;;;:12;:23;;;;;;;;16952:47;16948:146;;;-1:-1:-1;17023:5:0;17016:12;;16948:146;-1:-1:-1;17077:5:0;17070:12;;17109:746;-1:-1:-1;;;;;17282:20:0;;17195:7;17282:20;;;:12;:20;;;;;;17195:7;;17282:20;;17279:302;;;17341:27;17364:3;17341:18;17352:6;;17341;:10;;:18;;;;:::i;:::-;:22;;:27::i;:::-;17329:39;;17279:302;;;-1:-1:-1;;;;;17407:23:0;;;;;;:12;:23;;;;;;;;17404:177;;;17470:28;17494:3;17470:19;17481:7;;17470:6;:10;;:19;;;;:::i;17404:177::-;-1:-1:-1;17564:1:0;17404:177;17600:13;;17597:185;;17679:4;17661:24;;;;:9;:24;;;;;;:39;;17690:9;17661:28;:39::i;:::-;17652:4;17634:24;;;;:9;:24;;;;;;;:66;;;;17724:42;;-1:-1:-1;;;;;17724:42:0;;;;;;;17756:9;2632:25:1;;2620:2;2605:18;;2486:177;17724:42:0;;;;;;;;17597:185;17805:21;:6;17816:9;17805:10;:21::i;18274:660::-;18424:16;;;18438:1;18424:16;;;;;;;;18400:21;;18424:16;;;;;;;;;;-1:-1:-1;18424:16:0;18400:40;;18469:4;18451;18456:1;18451:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;18451:23:0;;;-1:-1:-1;;;;;18451:23:0;;;;;18495:13;;;;;;;;;-1:-1:-1;;;;;18495:13:0;-1:-1:-1;;;;;18495:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18485:4;18490:1;18485:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18485:30:0;;;:7;;;;;;;;;:30;18560:13;;18528:60;;18545:4;;18560:13;;;;18576:11;18528:8;:60::i;:::-;18627:13;;:238;;-1:-1:-1;;;18627:238:0;;:13;;;;-1:-1:-1;;;;;18627:13:0;;:64;;:238;;18706:11;;18732:1;;18776:4;;18803;;18839:15;;18627:238;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18891:35;18908:11;18921:4;18891:35;;;;;;;:::i;:::-;;;;;;;;18329:605;18274:660;:::o;3325:250::-;3383:7;3407:1;3412;3407:6;3403:47;;-1:-1:-1;3437:1:0;3430:8;;3403:47;3462:9;3474:5;3478:1;3474;:5;:::i;:::-;3462:17;-1:-1:-1;3507:1:0;3498:5;3502:1;3462:17;3498:5;:::i;:::-;:10;3490:56;;;;-1:-1:-1;;;3490:56:0;;15491:2:1;3490:56:0;;;15473:21:1;15530:2;15510:18;;;15503:30;15569:34;15549:18;;;15542:62;-1:-1:-1;;;15620:18:1;;;15613:31;15661:19;;3490:56:0;15289:397:1;3583:132:0;3641:7;3668:39;3672:1;3675;3668:39;;;;;;;;;;;;;;;;;3809:7;3844:12;3837:5;3829:28;;;;-1:-1:-1;;;3829:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3868:9:0;3880:5;3884:1;3880;:5;:::i;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;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1423:180::-;1482:6;1535:2;1523:9;1514:7;1510:23;1506:32;1503:52;;;1551:1;1548;1541:12;1503:52;-1:-1:-1;1574:23:1;;1423:180;-1:-1:-1;1423:180:1:o;1608:118::-;1694:5;1687:13;1680:21;1673:5;1670:32;1660:60;;1716:1;1713;1706:12;1731:750;1823:6;1831;1839;1892:2;1880:9;1871:7;1867:23;1863:32;1860:52;;;1908:1;1905;1898:12;1860:52;1948:9;1935:23;1977:18;2018:2;2010:6;2007:14;2004:34;;;2034:1;2031;2024:12;2004:34;2072:6;2061:9;2057:22;2047:32;;2117:7;2110:4;2106:2;2102:13;2098:27;2088:55;;2139:1;2136;2129:12;2088:55;2179:2;2166:16;2205:2;2197:6;2194:14;2191:34;;;2221:1;2218;2211:12;2191:34;2276:7;2269:4;2259:6;2256:1;2252:14;2248:2;2244:23;2240:34;2237:47;2234:67;;;2297:1;2294;2287:12;2234:67;2328:4;2320:13;;;;-1:-1:-1;2352:6:1;-1:-1:-1;;2393:20:1;;2380:34;2423:28;2380:34;2423:28;:::i;:::-;2470:5;2460:15;;;1731:750;;;;;:::o;2668:456::-;2745:6;2753;2761;2814:2;2802:9;2793:7;2789:23;2785:32;2782:52;;;2830:1;2827;2820:12;2782:52;2869:9;2856:23;2888:31;2913:5;2888:31;:::i;:::-;2938:5;-1:-1:-1;2995:2:1;2980:18;;2967:32;3008:33;2967:32;3008:33;:::i;:::-;2668:456;;3060:7;;-1:-1:-1;;;3114:2:1;3099:18;;;;3086:32;;2668:456::o;3318:247::-;3377:6;3430:2;3418:9;3409:7;3405:23;3401:32;3398:52;;;3446:1;3443;3436:12;3398:52;3485:9;3472:23;3504:31;3529:5;3504:31;:::i;3570:241::-;3626:6;3679:2;3667:9;3658:7;3654:23;3650:32;3647:52;;;3695:1;3692;3685:12;3647:52;3734:9;3721:23;3753:28;3775:5;3753:28;:::i;3816:382::-;3881:6;3889;3942:2;3930:9;3921:7;3917:23;3913:32;3910:52;;;3958:1;3955;3948:12;3910:52;3997:9;3984:23;4016:31;4041:5;4016:31;:::i;:::-;4066:5;-1:-1:-1;4123:2:1;4108:18;;4095:32;4136:30;4095:32;4136:30;:::i;:::-;4185:7;4175:17;;;3816:382;;;;;:::o;4907:388::-;4975:6;4983;5036:2;5024:9;5015:7;5011:23;5007:32;5004:52;;;5052:1;5049;5042:12;5004:52;5091:9;5078:23;5110:31;5135:5;5110:31;:::i;:::-;5160:5;-1:-1:-1;5217:2:1;5202:18;;5189:32;5230:33;5189:32;5230:33;:::i;5300:380::-;5379:1;5375:12;;;;5422;;;5443:61;;5497:4;5489:6;5485:17;5475:27;;5443:61;5550:2;5542:6;5539:14;5519:18;5516:38;5513:161;;5596:10;5591:3;5587:20;5584:1;5577:31;5631:4;5628:1;5621:15;5659:4;5656:1;5649:15;5513:161;;5300:380;;;:::o;5685:356::-;5887:2;5869:21;;;5906:18;;;5899:30;5965:34;5960:2;5945:18;;5938:62;6032:2;6017:18;;5685:356::o;6404:127::-;6465:10;6460:3;6456:20;6453:1;6446:31;6496:4;6493:1;6486:15;6520:4;6517:1;6510:15;6536:127;6597:10;6592:3;6588:20;6585:1;6578:31;6628:4;6625:1;6618:15;6652:4;6649:1;6642:15;6668:135;6707:3;6728:17;;;6725:43;;6748:18;;:::i;:::-;-1:-1:-1;6795:1:1;6784:13;;6668:135::o;7782:245::-;7849:6;7902:2;7890:9;7881:7;7877:23;7873:32;7870:52;;;7918:1;7915;7908:12;7870:52;7950:9;7944:16;7969:28;7991:5;7969:28;:::i;11026:343::-;11228:2;11210:21;;;11267:2;11247:18;;;11240:30;-1:-1:-1;;;11301:2:1;11286:18;;11279:49;11360:2;11345:18;;11026:343::o;11732:125::-;11797:9;;;11818:10;;;11815:36;;;11831:18;;:::i;12627:128::-;12694:9;;;12715:11;;;12712:37;;;12729:18;;:::i;13116:168::-;13189:9;;;13220;;13237:15;;;13231:22;;13217:37;13207:71;;13258:18;;:::i;13421:251::-;13491:6;13544:2;13532:9;13523:7;13519:23;13515:32;13512:52;;;13560:1;13557;13550:12;13512:52;13592:9;13586:16;13611:31;13636:5;13611:31;:::i;13677:461::-;13730:3;13768:5;13762:12;13795:6;13790:3;13783:19;13821:4;13850:2;13845:3;13841:12;13834:19;;13887:2;13880:5;13876:14;13908:1;13918:195;13932:6;13929:1;13926:13;13918:195;;;13997:13;;-1:-1:-1;;;;;13993:39:1;13981:52;;14053:12;;;;14088:15;;;;14029:1;13947:9;13918:195;;;-1:-1:-1;14129:3:1;;13677:461;-1:-1:-1;;;;;13677:461:1:o;14143:582::-;14442:6;14431:9;14424:25;14485:6;14480:2;14469:9;14465:18;14458:34;14528:3;14523:2;14512:9;14508:18;14501:31;14405:4;14549:57;14601:3;14590:9;14586:19;14578:6;14549:57;:::i;:::-;-1:-1:-1;;;;;14642:32:1;;;;14637:2;14622:18;;14615:60;-1:-1:-1;14706:3:1;14691:19;14684:35;14541:65;14143:582;-1:-1:-1;;;14143:582:1:o;14730:332::-;14937:6;14926:9;14919:25;14980:2;14975;14964:9;14960:18;14953:30;14900:4;15000:56;15052:2;15041:9;15037:18;15029:6;15000:56;:::i;:::-;14992:64;14730:332;-1:-1:-1;;;;14730:332:1:o;15067:217::-;15107:1;15133;15123:132;;15177:10;15172:3;15168:20;15165:1;15158:31;15212:4;15209:1;15202:15;15240:4;15237:1;15230:15;15123:132;-1:-1:-1;15269:9:1;;15067:217::o

Swarm Source

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