ETH Price: $3,447.76 (+1.24%)
Gas: 10 Gwei

Token

GayPepe (GPEPE)
 

Overview

Max Total Supply

100,000,000 GPEPE

Holders

165

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
188,140.359510268056358433 GPEPE

Value
$0.00
0x1bf63e5075642d740d34a1522149bedbbff4065d
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:
GayPepe

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-25
*/

// SPDX-License-Identifier: MIT   
// Website https://gaypepe.vip
// Telegram https://t.me/GAYPEPEtg
// Twitter https://twitter.com/GayPepeEth

pragma solidity ^0.8.11;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from,
        address to,
        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
    );
}
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: a from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(from, to, amount);
        uint256 fromBalance = _balances[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
        _beforeTokenTransfer(address(0), account, amount);
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
        _afterTokenTransfer(address(0), account, amount);
    }
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}
interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);
    function allPairs(uint256) external view returns (address pair);
    function allPairsLength() external view returns (uint256);
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 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 (uint256);
    function balanceOf(address owner) external view returns (uint256);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);
    function transfer(address to, uint256 value) external returns (bool);
    function transferFrom(
        address from,
        address to,
        uint256 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 (uint256);
    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;
    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint256);
    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 (uint256);
    function price1CumulativeLast() external view returns (uint256);
    function kLast() external view returns (uint256);
    function mint(address to) external returns (uint256 liquidity);
    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}
interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);
    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountToken, uint256 amountETH);
    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);
    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);
    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);
    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);
    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);
    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
        }

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        _transferOwnership(_msgSender());
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
contract GayPepe is ERC20, Ownable {

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private _swapping;
    address public MarketingWallet;
    uint256 private swapAt = 25000 * (10 ** decimals());
    uint256 public maxTransactionAmountOnPurchase;
    uint256 public maxTransactionAmountOnSale;
    uint256 public maxWallet;
    bool public feesDisabled = false;
    bool public tradingLive = false;
    uint256 private _fundingFee = 1;
    uint256 private _tokensForFunding;
    uint256 public buyFee;
    uint256 public sellFee;
    bool public buyStatus;
    bool public sellStatus;
    uint256 public totalFees = _fundingFee;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private _automatedMarketMakerPairs;
    mapping(address => bool) public Botlisted;

    constructor(string memory name, string memory symbol,uint256 _buyFee,uint256 _sellFee,uint256 _swapTreshold) payable ERC20(name,symbol) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D        );
        _isExcludedMaxTransactionAmount[address(_uniswapV2Router)] = true;
        uniswapV2Router = _uniswapV2Router;

        buyFee = _buyFee;
        sellFee = _sellFee;
        addSwapTreshold(_swapTreshold);

        uint256 totalSupply = 100000000 * 1e18;
        sellStatus = true;
        buyStatus = true;
        MarketingWallet = msg.sender;
        updateLimits(1000001,1000001,1000001);
        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);
        excludeFromFees(MarketingWallet, true);
        _isExcludedMaxTransactionAmount[owner()] = true;
        _isExcludedMaxTransactionAmount[address(this)] = true;
        _isExcludedMaxTransactionAmount[MarketingWallet] = true;
        _mint(owner(), totalSupply);
    }

    function addBotList(address botlist) public onlyOwner{
        Botlisted[botlist] = true;
    }

    function removeBotlist(address botlist) public onlyOwner{
        Botlisted[botlist] = false;
    }

    function removeTxLimits() public onlyOwner{
        maxTransactionAmountOnPurchase = 2**256 - 1;
        maxTransactionAmountOnSale = 2**256 - 1;
        maxWallet = 2**256 - 1;
    }

    function setUniswapPair(address _pair) public onlyOwner{
        uniswapV2Pair = _pair;
        _automatedMarketMakerPairs[_pair] = true;
        _isExcludedMaxTransactionAmount[_pair] = true;
    }

    function addSwapTreshold(uint256 _percent) public onlyOwner {
        swapAt = (totalSupply() * _percent) / 100000000;
     }

      function setTaxWallets(address fundingWallet) public onlyOwner{
        MarketingWallet = fundingWallet;
     }

    function enableTrading() external onlyOwner {
        tradingLive = true;
    }

    function excludeFromFees(address account, bool excluded)
        public // changed from public to private
        onlyOwner
    {
        _isExcludedFromFees[account] = excluded;
    }

     function updateTradingFees(uint256 _buyFee,uint256 _sellFee) public onlyOwner {
         require(_buyFee <= 99 && _sellFee <= 99, "Too much fee");
        buyFee = _buyFee;
        sellFee = _sellFee;
     }
     
    function updateLimits(
        uint256 buyLimit,
        uint256 sellLimit,
        uint256 _maxWallet
    ) public onlyOwner {
        maxTransactionAmountOnPurchase = buyLimit * (10**decimals());
        maxTransactionAmountOnSale = sellLimit * (10**decimals());
        maxWallet = _maxWallet * (10**decimals());
    }

    function isExcludedFromFees(address account) external view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(Botlisted[from] == false, "You are on botlist");
        require(Botlisted[to] == false, "You are on botlist");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
        if (
            from != owner() &&
            to != owner() &&
            to != address(0) &&
            to != address(0xdead) &&
            !_swapping
        ) {
            if (!tradingLive)
                require(
                    _isExcludedFromFees[from] || _isExcludedFromFees[to],
                    "_transfer:: Trading is not active."
                );
            // on buy
            if (
                _automatedMarketMakerPairs[from] &&
                !_isExcludedMaxTransactionAmount[to]
            ) {
                require(
                    amount <= maxTransactionAmountOnPurchase,
                    "_transfer:: Buy transfer amount exceeds the maxTransactionAmount."
                );
                require(
                    amount + balanceOf(to) <= maxWallet,
                    "_transfer:: Max wallet exceeded"
                );
            }
            // on sell
            else if (
                _automatedMarketMakerPairs[to] &&
                !_isExcludedMaxTransactionAmount[from]
            ) {
                require(
                    amount <= maxTransactionAmountOnSale,
                    "_transfer:: Sell transfer amount exceeds the maxTransactionAmount."
                );
            } else if (!_isExcludedMaxTransactionAmount[to]) {
                require(
                    amount + balanceOf(to) <= maxWallet,
                    "_transfer:: Max wallet exceeded"
                );
            }
        }
        bool CanISwap = balanceOf(address(this)) >= swapAt;
        if (
            CanISwap &&
            !_swapping &&
            !_automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            _swapping = true;

            swapBack();

            _swapping = false;
        }
        bool takeFee = !_swapping;
        if (
            feesDisabled ||
            _isExcludedFromFees[from] ||
            _isExcludedFromFees[to] ||
            (!_automatedMarketMakerPairs[from] &&
                !_automatedMarketMakerPairs[to])
        ) takeFee = false;
        uint256 fees = 0;
        if (takeFee) {
            uint256 feePercent;
            if(to == uniswapV2Pair){
                require(sellStatus,"Sell status is closed");
                feePercent = sellFee;
            }else if(from == uniswapV2Pair){
                require(buyStatus,"Buy status is closed");
                feePercent = buyFee;
            }
            fees = amount * feePercent / 100;
            _tokensForFunding += (fees * _fundingFee) / totalFees;
            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }
            amount -= fees;
        }
        super._transfer(from, to, amount);
    }
    function _swapTokensForETH(uint256 tokenAmount) internal {
        if(tokenAmount != 0){
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        }
    }
    function _addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
    }
    function swapBack() public {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) return;
        _swapTokensForETH(_tokensForFunding);
        payable(MarketingWallet).transfer(address(this).balance);

        _tokensForFunding = 0;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"},{"internalType":"uint256","name":"_swapTreshold","type":"uint256"}],"stateMutability":"payable","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"Botlisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"botlist","type":"address"}],"name":"addBotList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percent","type":"uint256"}],"name":"addSwapTreshold","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":"buyStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmountOnPurchase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmountOnSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"botlist","type":"address"}],"name":"removeBotlist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"fundingWallet","type":"address"}],"name":"setTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":[{"internalType":"uint256","name":"buyLimit","type":"uint256"},{"internalType":"uint256","name":"sellLimit","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"updateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateTradingFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000146200044760201b60201c565b600a62000022919062000bf5565b6161a862000031919062000c46565b6009556000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055506001600e55600e5460135560405162004ec038038062004ec083398181016040528101906200009a919062000e75565b84848160039080519060200190620000b4929190620009ab565b508060049080519060200190620000cd929190620009ab565b505050620000f0620000e46200045060201b60201c565b6200045860201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360108190555082601181905550620001c1826200051e60201b60201c565b60006a52b7d2dcc80cd2e400000090506001601260016101000a81548160ff0219169083151502179055506001601260006101000a81548160ff02191690831515021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000261620f424180620f4241620005e460201b60201c565b62000283620002756200070b60201b60201c565b60016200073560201b60201c565b620002963060016200073560201b60201c565b620002ab61dead60016200073560201b60201c565b620002e0600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200073560201b60201c565b600160156000620002f66200070b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160156000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200043a6200042d6200070b60201b60201c565b826200081f60201b60201c565b5050505050505062001186565b60006012905090565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200052e6200045060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005546200070b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620005ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005a49062000f9c565b60405180910390fd5b6305f5e10081620005c36200099760201b60201c565b620005cf919062000c46565b620005db919062000fed565b60098190555050565b620005f46200045060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200061a6200070b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000673576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200066a9062000f9c565b60405180910390fd5b620006836200044760201b60201c565b600a62000691919062000bf5565b836200069e919062000c46565b600a81905550620006b46200044760201b60201c565b600a620006c2919062000bf5565b82620006cf919062000c46565b600b81905550620006e56200044760201b60201c565b600a620006f3919062000bf5565b8162000700919062000c46565b600c81905550505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620007456200045060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200076b6200070b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007bb9062000f9c565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000891576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008889062001075565b60405180910390fd5b620008a560008383620009a160201b60201c565b8060026000828254620008b9919062001097565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000910919062001097565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000977919062001105565b60405180910390a36200099360008383620009a660201b60201c565b5050565b6000600254905090565b505050565b505050565b828054620009b99062001151565b90600052602060002090601f016020900481019282620009dd576000855562000a29565b82601f10620009f857805160ff191683800117855562000a29565b8280016001018555821562000a29579182015b8281111562000a2857825182559160200191906001019062000a0b565b5b50905062000a38919062000a3c565b5090565b5b8082111562000a5757600081600090555060010162000a3d565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000ae95780860481111562000ac15762000ac062000a5b565b5b600185161562000ad15780820291505b808102905062000ae18562000a8a565b945062000aa1565b94509492505050565b60008262000b04576001905062000bd7565b8162000b14576000905062000bd7565b816001811462000b2d576002811462000b385762000b6e565b600191505062000bd7565b60ff84111562000b4d5762000b4c62000a5b565b5b8360020a91508482111562000b675762000b6662000a5b565b5b5062000bd7565b5060208310610133831016604e8410600b841016171562000ba85782820a90508381111562000ba25762000ba162000a5b565b5b62000bd7565b62000bb7848484600162000a97565b9250905081840481111562000bd15762000bd062000a5b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000c028262000bde565b915062000c0f8362000be8565b925062000c3e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000af2565b905092915050565b600062000c538262000bde565b915062000c608362000bde565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c9c5762000c9b62000a5b565b5b828202905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000d108262000cc5565b810181811067ffffffffffffffff8211171562000d325762000d3162000cd6565b5b80604052505050565b600062000d4762000ca7565b905062000d55828262000d05565b919050565b600067ffffffffffffffff82111562000d785762000d7762000cd6565b5b62000d838262000cc5565b9050602081019050919050565b60005b8381101562000db057808201518184015260208101905062000d93565b8381111562000dc0576000848401525b50505050565b600062000ddd62000dd78462000d5a565b62000d3b565b90508281526020810184848401111562000dfc5762000dfb62000cc0565b5b62000e0984828562000d90565b509392505050565b600082601f83011262000e295762000e2862000cbb565b5b815162000e3b84826020860162000dc6565b91505092915050565b62000e4f8162000bde565b811462000e5b57600080fd5b50565b60008151905062000e6f8162000e44565b92915050565b600080600080600060a0868803121562000e945762000e9362000cb1565b5b600086015167ffffffffffffffff81111562000eb55762000eb462000cb6565b5b62000ec38882890162000e11565b955050602086015167ffffffffffffffff81111562000ee75762000ee662000cb6565b5b62000ef58882890162000e11565b945050604062000f088882890162000e5e565b935050606062000f1b8882890162000e5e565b925050608062000f2e8882890162000e5e565b9150509295509295909350565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000f8460208362000f3b565b915062000f918262000f4c565b602082019050919050565b6000602082019050818103600083015262000fb78162000f75565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ffa8262000bde565b9150620010078362000bde565b9250826200101a576200101962000fbe565b5b828204905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200105d601f8362000f3b565b91506200106a8262001025565b602082019050919050565b6000602082019050818103600083015262001090816200104e565b9050919050565b6000620010a48262000bde565b9150620010b18362000bde565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620010e957620010e862000a5b565b5b828201905092915050565b620010ff8162000bde565b82525050565b60006020820190506200111c6000830184620010f4565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200116a57607f821691505b60208210810362001180576200117f62001122565b5b50919050565b613d2a80620011966000396000f3fe6080604052600436106102135760003560e01c806365cffb1e11610118578063a9059cbb116100a0578063d01dc84b1161006f578063d01dc84b14610764578063d5aed6bf1461078d578063dd62ed3e146107b6578063f2fde38b146107f3578063f8b45b051461081c5761021a565b8063a9059cbb146106aa578063b1d0b725146106e7578063c024666814610712578063c9db2fad1461073b5761021a565b806373ca2d7f116100e757806373ca2d7f146105d75780638a8c523c146106145780638da5cb5b1461062b57806393b1c69c1461065657806395d89b411461067f5761021a565b806365cffb1e146105415780636ac5eeee1461056c57806370a0823114610583578063715018a6146105c05761021a565b8063277a22051161019b57806336a0f8a51161016a57806336a0f8a51461045c578063399e4bfb1461048557806347062402146104b05780634fbee193146104db578063612b040b146105185761021a565b8063277a2205146103b25780632b14ca56146103db578063313ce567146104065780633415650e146104315761021a565b806311704f52116101e257806311704f52146102c957806313114a9d146102f457806318160ddd1461031f57806323b872dd1461034a5780632598cdb2146103875761021a565b80630106aaef1461021f57806302bf2a5c1461023657806306fdde0314610261578063095ea7b31461028c5761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b50610234610847565b005b34801561024257600080fd5b5061024b61093a565b6040516102589190612ab0565b60405180910390f35b34801561026d57600080fd5b50610276610940565b6040516102839190612b64565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190612c15565b6109d2565b6040516102c09190612c70565b60405180910390f35b3480156102d557600080fd5b506102de6109f5565b6040516102eb9190612c70565b60405180910390f35b34801561030057600080fd5b50610309610a08565b6040516103169190612ab0565b60405180910390f35b34801561032b57600080fd5b50610334610a0e565b6040516103419190612ab0565b60405180910390f35b34801561035657600080fd5b50610371600480360381019061036c9190612c8b565b610a18565b60405161037e9190612c70565b60405180910390f35b34801561039357600080fd5b5061039c610a47565b6040516103a99190612ced565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d49190612d08565b610a6d565b005b3480156103e757600080fd5b506103f0610b14565b6040516103fd9190612ab0565b60405180910390f35b34801561041257600080fd5b5061041b610b1a565b6040516104289190612d51565b60405180910390f35b34801561043d57600080fd5b50610446610b23565b6040516104539190612c70565b60405180910390f35b34801561046857600080fd5b50610483600480360381019061047e9190612d6c565b610b36565b005b34801561049157600080fd5b5061049a610c26565b6040516104a79190612ab0565b60405180910390f35b3480156104bc57600080fd5b506104c5610c2c565b6040516104d29190612ab0565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd9190612dbf565b610c32565b60405161050f9190612c70565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a9190612dbf565b610c88565b005b34801561054d57600080fd5b50610556610d5f565b6040516105639190612c70565b60405180910390f35b34801561057857600080fd5b50610581610d72565b005b34801561058f57600080fd5b506105aa60048036038101906105a59190612dbf565b610e0d565b6040516105b79190612ab0565b60405180910390f35b3480156105cc57600080fd5b506105d5610e55565b005b3480156105e357600080fd5b506105fe60048036038101906105f99190612dbf565b610edd565b60405161060b9190612c70565b60405180910390f35b34801561062057600080fd5b50610629610efd565b005b34801561063757600080fd5b50610640610f96565b60405161064d9190612ced565b60405180910390f35b34801561066257600080fd5b5061067d60048036038101906106789190612dec565b610fc0565b005b34801561068b57600080fd5b5061069461109f565b6040516106a19190612b64565b60405180910390f35b3480156106b657600080fd5b506106d160048036038101906106cc9190612c15565b611131565b6040516106de9190612c70565b60405180910390f35b3480156106f357600080fd5b506106fc611154565b6040516107099190612c70565b60405180910390f35b34801561071e57600080fd5b5061073960048036038101906107349190612e58565b611167565b005b34801561074757600080fd5b50610762600480360381019061075d9190612dbf565b61123e565b005b34801561077057600080fd5b5061078b60048036038101906107869190612dbf565b611315565b005b34801561079957600080fd5b506107b460048036038101906107af9190612dbf565b6113d5565b005b3480156107c257600080fd5b506107dd60048036038101906107d89190612e98565b611545565b6040516107ea9190612ab0565b60405180910390f35b3480156107ff57600080fd5b5061081a60048036038101906108159190612dbf565b6115cc565b005b34801561082857600080fd5b506108316116c3565b60405161083e9190612ab0565b60405180910390f35b61084f6116c9565b73ffffffffffffffffffffffffffffffffffffffff1661086d610f96565b73ffffffffffffffffffffffffffffffffffffffff16146108c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ba90612f24565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c81905550565b600a5481565b60606003805461094f90612f73565b80601f016020809104026020016040519081016040528092919081815260200182805461097b90612f73565b80156109c85780601f1061099d576101008083540402835291602001916109c8565b820191906000526020600020905b8154815290600101906020018083116109ab57829003601f168201915b5050505050905090565b6000806109dd6116c9565b90506109ea8185856116d1565b600191505092915050565b600d60019054906101000a900460ff1681565b60135481565b6000600254905090565b600080610a236116c9565b9050610a3085828561189a565b610a3b858585611926565b60019150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a756116c9565b73ffffffffffffffffffffffffffffffffffffffff16610a93610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae090612f24565b60405180910390fd5b6305f5e10081610af7610a0e565b610b019190612fd3565b610b0b919061305c565b60098190555050565b60115481565b60006012905090565b601260009054906101000a900460ff1681565b610b3e6116c9565b73ffffffffffffffffffffffffffffffffffffffff16610b5c610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba990612f24565b60405180910390fd5b610bba610b1a565b600a610bc691906131c0565b83610bd19190612fd3565b600a81905550610bdf610b1a565b600a610beb91906131c0565b82610bf69190612fd3565b600b81905550610c04610b1a565b600a610c1091906131c0565b81610c1b9190612fd3565b600c81905550505050565b600b5481565b60105481565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610c906116c9565b73ffffffffffffffffffffffffffffffffffffffff16610cae610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfb90612f24565b60405180910390fd5b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600d60009054906101000a900460ff1681565b6000610d7d30610e0d565b905060008103610d8d5750610e0b565b610d98600f54612505565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610e00573d6000803e3d6000fd5b506000600f81905550505b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e5d6116c9565b73ffffffffffffffffffffffffffffffffffffffff16610e7b610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610ed1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec890612f24565b60405180910390fd5b610edb6000612751565b565b60176020528060005260406000206000915054906101000a900460ff1681565b610f056116c9565b73ffffffffffffffffffffffffffffffffffffffff16610f23610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7090612f24565b60405180910390fd5b6001600d60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610fc86116c9565b73ffffffffffffffffffffffffffffffffffffffff16610fe6610f96565b73ffffffffffffffffffffffffffffffffffffffff161461103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103390612f24565b60405180910390fd5b6063821115801561104e575060638111155b61108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490613257565b60405180910390fd5b81601081905550806011819055505050565b6060600480546110ae90612f73565b80601f01602080910402602001604051908101604052809291908181526020018280546110da90612f73565b80156111275780601f106110fc57610100808354040283529160200191611127565b820191906000526020600020905b81548152906001019060200180831161110a57829003601f168201915b5050505050905090565b60008061113c6116c9565b9050611149818585611926565b600191505092915050565b601260019054906101000a900460ff1681565b61116f6116c9565b73ffffffffffffffffffffffffffffffffffffffff1661118d610f96565b73ffffffffffffffffffffffffffffffffffffffff16146111e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111da90612f24565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6112466116c9565b73ffffffffffffffffffffffffffffffffffffffff16611264610f96565b73ffffffffffffffffffffffffffffffffffffffff16146112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b190612f24565b60405180910390fd5b6001601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61131d6116c9565b73ffffffffffffffffffffffffffffffffffffffff1661133b610f96565b73ffffffffffffffffffffffffffffffffffffffff1614611391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138890612f24565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6113dd6116c9565b73ffffffffffffffffffffffffffffffffffffffff166113fb610f96565b73ffffffffffffffffffffffffffffffffffffffff1614611451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144890612f24565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115d46116c9565b73ffffffffffffffffffffffffffffffffffffffff166115f2610f96565b73ffffffffffffffffffffffffffffffffffffffff1614611648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163f90612f24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ae906132e9565b60405180910390fd5b6116c081612751565b50565b600c5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611740576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117379061337b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a69061340d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161188d9190612ab0565b60405180910390a3505050565b60006118a68484611545565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119205781811015611912576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190990613479565b60405180910390fd5b61191f84848484036116d1565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611995576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198c9061350b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fb9061359d565b60405180910390fd5b60001515601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8e90613609565b60405180910390fd5b60001515601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2190613609565b60405180910390fd5b60008103611b4357611b3e83836000612817565b612500565b611b4b610f96565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611bb95750611b89610f96565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf25750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c2c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c455750600760149054906101000a900460ff16155b1561202857600d60019054906101000a900460ff16611d3f57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cff5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d359061369b565b60405180910390fd5b5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611de25750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e8957600a54811115611e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2390613753565b60405180910390fd5b600c54611e3883610e0d565b82611e439190613773565b1115611e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7b90613815565b60405180910390fd5b612027565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f2c5750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f7b57600b54811115611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d906138cd565b60405180910390fd5b612026565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661202557600c54611fd883610e0d565b82611fe39190613773565b1115612024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201b90613815565b60405180910390fd5b5b5b5b5b600060095461203630610e0d565b101590508080156120545750600760149054906101000a900460ff16155b80156120aa5750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121005750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121565750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561219a576001600760146101000a81548160ff02191690831515021790555061217e610d72565b6000600760146101000a81548160ff0219169083151502179055505b6000600760149054906101000a900460ff16159050600d60009054906101000a900460ff16806122135750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806122675750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123125750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123115750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b1561231c57600090505b600081156124f1576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036123d457601260019054906101000a900460ff166123ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c190613939565b60405180910390fd5b601154905061247f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff160361247e57601260009054906101000a900460ff16612478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246f906139a5565b60405180910390fd5b60105490505b5b6064818661248d9190612fd3565b612497919061305c565b9150601354600e54836124aa9190612fd3565b6124b4919061305c565b600f60008282546124c59190613773565b9250508190555060008211156124e1576124e0873084612817565b5b81856124ed91906139c5565b9450505b6124fc868686612817565b5050505b505050565b6000811461274e576000600267ffffffffffffffff81111561252a576125296139f9565b5b6040519080825280602002602001820160405280156125585781602001602082028036833780820191505090505b50905030816000815181106125705761256f613a28565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263b9190613a6c565b8160018151811061264f5761264e613a28565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126b630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116d1565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161271a959493929190613b9c565b600060405180830381600087803b15801561273457600080fd5b505af1158015612748573d6000803e3d6000fd5b50505050505b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287d90613c42565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036128f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ec9061359d565b60405180910390fd5b612900838383612a8d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612986576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297d90613cd4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a749190612ab0565b60405180910390a3612a87848484612a92565b50505050565b505050565b505050565b6000819050919050565b612aaa81612a97565b82525050565b6000602082019050612ac56000830184612aa1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b05578082015181840152602081019050612aea565b83811115612b14576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b3682612acb565b612b408185612ad6565b9350612b50818560208601612ae7565b612b5981612b1a565b840191505092915050565b60006020820190508181036000830152612b7e8184612b2b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612bb682612b8b565b9050919050565b612bc681612bab565b8114612bd157600080fd5b50565b600081359050612be381612bbd565b92915050565b612bf281612a97565b8114612bfd57600080fd5b50565b600081359050612c0f81612be9565b92915050565b60008060408385031215612c2c57612c2b612b86565b5b6000612c3a85828601612bd4565b9250506020612c4b85828601612c00565b9150509250929050565b60008115159050919050565b612c6a81612c55565b82525050565b6000602082019050612c856000830184612c61565b92915050565b600080600060608486031215612ca457612ca3612b86565b5b6000612cb286828701612bd4565b9350506020612cc386828701612bd4565b9250506040612cd486828701612c00565b9150509250925092565b612ce781612bab565b82525050565b6000602082019050612d026000830184612cde565b92915050565b600060208284031215612d1e57612d1d612b86565b5b6000612d2c84828501612c00565b91505092915050565b600060ff82169050919050565b612d4b81612d35565b82525050565b6000602082019050612d666000830184612d42565b92915050565b600080600060608486031215612d8557612d84612b86565b5b6000612d9386828701612c00565b9350506020612da486828701612c00565b9250506040612db586828701612c00565b9150509250925092565b600060208284031215612dd557612dd4612b86565b5b6000612de384828501612bd4565b91505092915050565b60008060408385031215612e0357612e02612b86565b5b6000612e1185828601612c00565b9250506020612e2285828601612c00565b9150509250929050565b612e3581612c55565b8114612e4057600080fd5b50565b600081359050612e5281612e2c565b92915050565b60008060408385031215612e6f57612e6e612b86565b5b6000612e7d85828601612bd4565b9250506020612e8e85828601612e43565b9150509250929050565b60008060408385031215612eaf57612eae612b86565b5b6000612ebd85828601612bd4565b9250506020612ece85828601612bd4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f0e602083612ad6565b9150612f1982612ed8565b602082019050919050565b60006020820190508181036000830152612f3d81612f01565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f8b57607f821691505b602082108103612f9e57612f9d612f44565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612fde82612a97565b9150612fe983612a97565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561302257613021612fa4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061306782612a97565b915061307283612a97565b9250826130825761308161302d565b5b828204905092915050565b60008160011c9050919050565b6000808291508390505b60018511156130e4578086048111156130c0576130bf612fa4565b5b60018516156130cf5780820291505b80810290506130dd8561308d565b94506130a4565b94509492505050565b6000826130fd57600190506131b9565b8161310b57600090506131b9565b8160018114613121576002811461312b5761315a565b60019150506131b9565b60ff84111561313d5761313c612fa4565b5b8360020a91508482111561315457613153612fa4565b5b506131b9565b5060208310610133831016604e8410600b841016171561318f5782820a90508381111561318a57613189612fa4565b5b6131b9565b61319c848484600161309a565b925090508184048111156131b3576131b2612fa4565b5b81810290505b9392505050565b60006131cb82612a97565b91506131d683612d35565b92506132037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846130ed565b905092915050565b7f546f6f206d756368206665650000000000000000000000000000000000000000600082015250565b6000613241600c83612ad6565b915061324c8261320b565b602082019050919050565b6000602082019050818103600083015261327081613234565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132d3602683612ad6565b91506132de82613277565b604082019050919050565b60006020820190508181036000830152613302816132c6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613365602483612ad6565b915061337082613309565b604082019050919050565b6000602082019050818103600083015261339481613358565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006133f7602283612ad6565b91506134028261339b565b604082019050919050565b60006020820190508181036000830152613426816133ea565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613463601d83612ad6565b915061346e8261342d565b602082019050919050565b6000602082019050818103600083015261349281613456565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006134f5602583612ad6565b915061350082613499565b604082019050919050565b60006020820190508181036000830152613524816134e8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613587602383612ad6565b91506135928261352b565b604082019050919050565b600060208201905081810360008301526135b68161357a565b9050919050565b7f596f7520617265206f6e20626f746c6973740000000000000000000000000000600082015250565b60006135f3601283612ad6565b91506135fe826135bd565b602082019050919050565b60006020820190508181036000830152613622816135e6565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b6000613685602283612ad6565b915061369082613629565b604082019050919050565b600060208201905081810360008301526136b481613678565b9050919050565b7f5f7472616e736665723a3a20427579207472616e7366657220616d6f756e742060008201527f6578636565647320746865206d61785472616e73616374696f6e416d6f756e7460208201527f2e00000000000000000000000000000000000000000000000000000000000000604082015250565b600061373d604183612ad6565b9150613748826136bb565b606082019050919050565b6000602082019050818103600083015261376c81613730565b9050919050565b600061377e82612a97565b915061378983612a97565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137be576137bd612fa4565b5b828201905092915050565b7f5f7472616e736665723a3a204d61782077616c6c657420657863656564656400600082015250565b60006137ff601f83612ad6565b915061380a826137c9565b602082019050919050565b6000602082019050818103600083015261382e816137f2565b9050919050565b7f5f7472616e736665723a3a2053656c6c207472616e7366657220616d6f756e7460008201527f206578636565647320746865206d61785472616e73616374696f6e416d6f756e60208201527f742e000000000000000000000000000000000000000000000000000000000000604082015250565b60006138b7604283612ad6565b91506138c282613835565b606082019050919050565b600060208201905081810360008301526138e6816138aa565b9050919050565b7f53656c6c2073746174757320697320636c6f7365640000000000000000000000600082015250565b6000613923601583612ad6565b915061392e826138ed565b602082019050919050565b6000602082019050818103600083015261395281613916565b9050919050565b7f4275792073746174757320697320636c6f736564000000000000000000000000600082015250565b600061398f601483612ad6565b915061399a82613959565b602082019050919050565b600060208201905081810360008301526139be81613982565b9050919050565b60006139d082612a97565b91506139db83612a97565b9250828210156139ee576139ed612fa4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613a6681612bbd565b92915050565b600060208284031215613a8257613a81612b86565b5b6000613a9084828501613a57565b91505092915050565b6000819050919050565b6000819050919050565b6000613ac8613ac3613abe84613a99565b613aa3565b612a97565b9050919050565b613ad881613aad565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b1381612bab565b82525050565b6000613b258383613b0a565b60208301905092915050565b6000602082019050919050565b6000613b4982613ade565b613b538185613ae9565b9350613b5e83613afa565b8060005b83811015613b8f578151613b768882613b19565b9750613b8183613b31565b925050600181019050613b62565b5085935050505092915050565b600060a082019050613bb16000830188612aa1565b613bbe6020830187613acf565b8181036040830152613bd08186613b3e565b9050613bdf6060830185612cde565b613bec6080830184612aa1565b9695505050505050565b7f45524332303a20612066726f6d20746865207a65726f20616464726573730000600082015250565b6000613c2c601e83612ad6565b9150613c3782613bf6565b602082019050919050565b60006020820190508181036000830152613c5b81613c1f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613cbe602683612ad6565b9150613cc982613c62565b604082019050919050565b60006020820190508181036000830152613ced81613cb1565b905091905056fea2646970667358221220840d9af6768cb70001efb842f7bed130919bfa35e918fde1cb2d6d582634d09664736f6c634300080d003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007476179506570650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054750455045000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102135760003560e01c806365cffb1e11610118578063a9059cbb116100a0578063d01dc84b1161006f578063d01dc84b14610764578063d5aed6bf1461078d578063dd62ed3e146107b6578063f2fde38b146107f3578063f8b45b051461081c5761021a565b8063a9059cbb146106aa578063b1d0b725146106e7578063c024666814610712578063c9db2fad1461073b5761021a565b806373ca2d7f116100e757806373ca2d7f146105d75780638a8c523c146106145780638da5cb5b1461062b57806393b1c69c1461065657806395d89b411461067f5761021a565b806365cffb1e146105415780636ac5eeee1461056c57806370a0823114610583578063715018a6146105c05761021a565b8063277a22051161019b57806336a0f8a51161016a57806336a0f8a51461045c578063399e4bfb1461048557806347062402146104b05780634fbee193146104db578063612b040b146105185761021a565b8063277a2205146103b25780632b14ca56146103db578063313ce567146104065780633415650e146104315761021a565b806311704f52116101e257806311704f52146102c957806313114a9d146102f457806318160ddd1461031f57806323b872dd1461034a5780632598cdb2146103875761021a565b80630106aaef1461021f57806302bf2a5c1461023657806306fdde0314610261578063095ea7b31461028c5761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b50610234610847565b005b34801561024257600080fd5b5061024b61093a565b6040516102589190612ab0565b60405180910390f35b34801561026d57600080fd5b50610276610940565b6040516102839190612b64565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190612c15565b6109d2565b6040516102c09190612c70565b60405180910390f35b3480156102d557600080fd5b506102de6109f5565b6040516102eb9190612c70565b60405180910390f35b34801561030057600080fd5b50610309610a08565b6040516103169190612ab0565b60405180910390f35b34801561032b57600080fd5b50610334610a0e565b6040516103419190612ab0565b60405180910390f35b34801561035657600080fd5b50610371600480360381019061036c9190612c8b565b610a18565b60405161037e9190612c70565b60405180910390f35b34801561039357600080fd5b5061039c610a47565b6040516103a99190612ced565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d49190612d08565b610a6d565b005b3480156103e757600080fd5b506103f0610b14565b6040516103fd9190612ab0565b60405180910390f35b34801561041257600080fd5b5061041b610b1a565b6040516104289190612d51565b60405180910390f35b34801561043d57600080fd5b50610446610b23565b6040516104539190612c70565b60405180910390f35b34801561046857600080fd5b50610483600480360381019061047e9190612d6c565b610b36565b005b34801561049157600080fd5b5061049a610c26565b6040516104a79190612ab0565b60405180910390f35b3480156104bc57600080fd5b506104c5610c2c565b6040516104d29190612ab0565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd9190612dbf565b610c32565b60405161050f9190612c70565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a9190612dbf565b610c88565b005b34801561054d57600080fd5b50610556610d5f565b6040516105639190612c70565b60405180910390f35b34801561057857600080fd5b50610581610d72565b005b34801561058f57600080fd5b506105aa60048036038101906105a59190612dbf565b610e0d565b6040516105b79190612ab0565b60405180910390f35b3480156105cc57600080fd5b506105d5610e55565b005b3480156105e357600080fd5b506105fe60048036038101906105f99190612dbf565b610edd565b60405161060b9190612c70565b60405180910390f35b34801561062057600080fd5b50610629610efd565b005b34801561063757600080fd5b50610640610f96565b60405161064d9190612ced565b60405180910390f35b34801561066257600080fd5b5061067d60048036038101906106789190612dec565b610fc0565b005b34801561068b57600080fd5b5061069461109f565b6040516106a19190612b64565b60405180910390f35b3480156106b657600080fd5b506106d160048036038101906106cc9190612c15565b611131565b6040516106de9190612c70565b60405180910390f35b3480156106f357600080fd5b506106fc611154565b6040516107099190612c70565b60405180910390f35b34801561071e57600080fd5b5061073960048036038101906107349190612e58565b611167565b005b34801561074757600080fd5b50610762600480360381019061075d9190612dbf565b61123e565b005b34801561077057600080fd5b5061078b60048036038101906107869190612dbf565b611315565b005b34801561079957600080fd5b506107b460048036038101906107af9190612dbf565b6113d5565b005b3480156107c257600080fd5b506107dd60048036038101906107d89190612e98565b611545565b6040516107ea9190612ab0565b60405180910390f35b3480156107ff57600080fd5b5061081a60048036038101906108159190612dbf565b6115cc565b005b34801561082857600080fd5b506108316116c3565b60405161083e9190612ab0565b60405180910390f35b61084f6116c9565b73ffffffffffffffffffffffffffffffffffffffff1661086d610f96565b73ffffffffffffffffffffffffffffffffffffffff16146108c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ba90612f24565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c81905550565b600a5481565b60606003805461094f90612f73565b80601f016020809104026020016040519081016040528092919081815260200182805461097b90612f73565b80156109c85780601f1061099d576101008083540402835291602001916109c8565b820191906000526020600020905b8154815290600101906020018083116109ab57829003601f168201915b5050505050905090565b6000806109dd6116c9565b90506109ea8185856116d1565b600191505092915050565b600d60019054906101000a900460ff1681565b60135481565b6000600254905090565b600080610a236116c9565b9050610a3085828561189a565b610a3b858585611926565b60019150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a756116c9565b73ffffffffffffffffffffffffffffffffffffffff16610a93610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae090612f24565b60405180910390fd5b6305f5e10081610af7610a0e565b610b019190612fd3565b610b0b919061305c565b60098190555050565b60115481565b60006012905090565b601260009054906101000a900460ff1681565b610b3e6116c9565b73ffffffffffffffffffffffffffffffffffffffff16610b5c610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba990612f24565b60405180910390fd5b610bba610b1a565b600a610bc691906131c0565b83610bd19190612fd3565b600a81905550610bdf610b1a565b600a610beb91906131c0565b82610bf69190612fd3565b600b81905550610c04610b1a565b600a610c1091906131c0565b81610c1b9190612fd3565b600c81905550505050565b600b5481565b60105481565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610c906116c9565b73ffffffffffffffffffffffffffffffffffffffff16610cae610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfb90612f24565b60405180910390fd5b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600d60009054906101000a900460ff1681565b6000610d7d30610e0d565b905060008103610d8d5750610e0b565b610d98600f54612505565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610e00573d6000803e3d6000fd5b506000600f81905550505b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e5d6116c9565b73ffffffffffffffffffffffffffffffffffffffff16610e7b610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610ed1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec890612f24565b60405180910390fd5b610edb6000612751565b565b60176020528060005260406000206000915054906101000a900460ff1681565b610f056116c9565b73ffffffffffffffffffffffffffffffffffffffff16610f23610f96565b73ffffffffffffffffffffffffffffffffffffffff1614610f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7090612f24565b60405180910390fd5b6001600d60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610fc86116c9565b73ffffffffffffffffffffffffffffffffffffffff16610fe6610f96565b73ffffffffffffffffffffffffffffffffffffffff161461103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103390612f24565b60405180910390fd5b6063821115801561104e575060638111155b61108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490613257565b60405180910390fd5b81601081905550806011819055505050565b6060600480546110ae90612f73565b80601f01602080910402602001604051908101604052809291908181526020018280546110da90612f73565b80156111275780601f106110fc57610100808354040283529160200191611127565b820191906000526020600020905b81548152906001019060200180831161110a57829003601f168201915b5050505050905090565b60008061113c6116c9565b9050611149818585611926565b600191505092915050565b601260019054906101000a900460ff1681565b61116f6116c9565b73ffffffffffffffffffffffffffffffffffffffff1661118d610f96565b73ffffffffffffffffffffffffffffffffffffffff16146111e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111da90612f24565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6112466116c9565b73ffffffffffffffffffffffffffffffffffffffff16611264610f96565b73ffffffffffffffffffffffffffffffffffffffff16146112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b190612f24565b60405180910390fd5b6001601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61131d6116c9565b73ffffffffffffffffffffffffffffffffffffffff1661133b610f96565b73ffffffffffffffffffffffffffffffffffffffff1614611391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138890612f24565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6113dd6116c9565b73ffffffffffffffffffffffffffffffffffffffff166113fb610f96565b73ffffffffffffffffffffffffffffffffffffffff1614611451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144890612f24565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115d46116c9565b73ffffffffffffffffffffffffffffffffffffffff166115f2610f96565b73ffffffffffffffffffffffffffffffffffffffff1614611648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163f90612f24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ae906132e9565b60405180910390fd5b6116c081612751565b50565b600c5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611740576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117379061337b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a69061340d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161188d9190612ab0565b60405180910390a3505050565b60006118a68484611545565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119205781811015611912576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190990613479565b60405180910390fd5b61191f84848484036116d1565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611995576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198c9061350b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fb9061359d565b60405180910390fd5b60001515601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8e90613609565b60405180910390fd5b60001515601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2190613609565b60405180910390fd5b60008103611b4357611b3e83836000612817565b612500565b611b4b610f96565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611bb95750611b89610f96565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf25750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c2c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c455750600760149054906101000a900460ff16155b1561202857600d60019054906101000a900460ff16611d3f57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cff5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d359061369b565b60405180910390fd5b5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611de25750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e8957600a54811115611e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2390613753565b60405180910390fd5b600c54611e3883610e0d565b82611e439190613773565b1115611e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7b90613815565b60405180910390fd5b612027565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f2c5750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f7b57600b54811115611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d906138cd565b60405180910390fd5b612026565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661202557600c54611fd883610e0d565b82611fe39190613773565b1115612024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201b90613815565b60405180910390fd5b5b5b5b5b600060095461203630610e0d565b101590508080156120545750600760149054906101000a900460ff16155b80156120aa5750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121005750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121565750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561219a576001600760146101000a81548160ff02191690831515021790555061217e610d72565b6000600760146101000a81548160ff0219169083151502179055505b6000600760149054906101000a900460ff16159050600d60009054906101000a900460ff16806122135750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806122675750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123125750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123115750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b1561231c57600090505b600081156124f1576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036123d457601260019054906101000a900460ff166123ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c190613939565b60405180910390fd5b601154905061247f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff160361247e57601260009054906101000a900460ff16612478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246f906139a5565b60405180910390fd5b60105490505b5b6064818661248d9190612fd3565b612497919061305c565b9150601354600e54836124aa9190612fd3565b6124b4919061305c565b600f60008282546124c59190613773565b9250508190555060008211156124e1576124e0873084612817565b5b81856124ed91906139c5565b9450505b6124fc868686612817565b5050505b505050565b6000811461274e576000600267ffffffffffffffff81111561252a576125296139f9565b5b6040519080825280602002602001820160405280156125585781602001602082028036833780820191505090505b50905030816000815181106125705761256f613a28565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263b9190613a6c565b8160018151811061264f5761264e613a28565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126b630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116d1565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161271a959493929190613b9c565b600060405180830381600087803b15801561273457600080fd5b505af1158015612748573d6000803e3d6000fd5b50505050505b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287d90613c42565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036128f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ec9061359d565b60405180910390fd5b612900838383612a8d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612986576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297d90613cd4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a749190612ab0565b60405180910390a3612a87848484612a92565b50505050565b505050565b505050565b6000819050919050565b612aaa81612a97565b82525050565b6000602082019050612ac56000830184612aa1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b05578082015181840152602081019050612aea565b83811115612b14576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b3682612acb565b612b408185612ad6565b9350612b50818560208601612ae7565b612b5981612b1a565b840191505092915050565b60006020820190508181036000830152612b7e8184612b2b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612bb682612b8b565b9050919050565b612bc681612bab565b8114612bd157600080fd5b50565b600081359050612be381612bbd565b92915050565b612bf281612a97565b8114612bfd57600080fd5b50565b600081359050612c0f81612be9565b92915050565b60008060408385031215612c2c57612c2b612b86565b5b6000612c3a85828601612bd4565b9250506020612c4b85828601612c00565b9150509250929050565b60008115159050919050565b612c6a81612c55565b82525050565b6000602082019050612c856000830184612c61565b92915050565b600080600060608486031215612ca457612ca3612b86565b5b6000612cb286828701612bd4565b9350506020612cc386828701612bd4565b9250506040612cd486828701612c00565b9150509250925092565b612ce781612bab565b82525050565b6000602082019050612d026000830184612cde565b92915050565b600060208284031215612d1e57612d1d612b86565b5b6000612d2c84828501612c00565b91505092915050565b600060ff82169050919050565b612d4b81612d35565b82525050565b6000602082019050612d666000830184612d42565b92915050565b600080600060608486031215612d8557612d84612b86565b5b6000612d9386828701612c00565b9350506020612da486828701612c00565b9250506040612db586828701612c00565b9150509250925092565b600060208284031215612dd557612dd4612b86565b5b6000612de384828501612bd4565b91505092915050565b60008060408385031215612e0357612e02612b86565b5b6000612e1185828601612c00565b9250506020612e2285828601612c00565b9150509250929050565b612e3581612c55565b8114612e4057600080fd5b50565b600081359050612e5281612e2c565b92915050565b60008060408385031215612e6f57612e6e612b86565b5b6000612e7d85828601612bd4565b9250506020612e8e85828601612e43565b9150509250929050565b60008060408385031215612eaf57612eae612b86565b5b6000612ebd85828601612bd4565b9250506020612ece85828601612bd4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f0e602083612ad6565b9150612f1982612ed8565b602082019050919050565b60006020820190508181036000830152612f3d81612f01565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f8b57607f821691505b602082108103612f9e57612f9d612f44565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612fde82612a97565b9150612fe983612a97565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561302257613021612fa4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061306782612a97565b915061307283612a97565b9250826130825761308161302d565b5b828204905092915050565b60008160011c9050919050565b6000808291508390505b60018511156130e4578086048111156130c0576130bf612fa4565b5b60018516156130cf5780820291505b80810290506130dd8561308d565b94506130a4565b94509492505050565b6000826130fd57600190506131b9565b8161310b57600090506131b9565b8160018114613121576002811461312b5761315a565b60019150506131b9565b60ff84111561313d5761313c612fa4565b5b8360020a91508482111561315457613153612fa4565b5b506131b9565b5060208310610133831016604e8410600b841016171561318f5782820a90508381111561318a57613189612fa4565b5b6131b9565b61319c848484600161309a565b925090508184048111156131b3576131b2612fa4565b5b81810290505b9392505050565b60006131cb82612a97565b91506131d683612d35565b92506132037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846130ed565b905092915050565b7f546f6f206d756368206665650000000000000000000000000000000000000000600082015250565b6000613241600c83612ad6565b915061324c8261320b565b602082019050919050565b6000602082019050818103600083015261327081613234565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132d3602683612ad6565b91506132de82613277565b604082019050919050565b60006020820190508181036000830152613302816132c6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613365602483612ad6565b915061337082613309565b604082019050919050565b6000602082019050818103600083015261339481613358565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006133f7602283612ad6565b91506134028261339b565b604082019050919050565b60006020820190508181036000830152613426816133ea565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613463601d83612ad6565b915061346e8261342d565b602082019050919050565b6000602082019050818103600083015261349281613456565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006134f5602583612ad6565b915061350082613499565b604082019050919050565b60006020820190508181036000830152613524816134e8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613587602383612ad6565b91506135928261352b565b604082019050919050565b600060208201905081810360008301526135b68161357a565b9050919050565b7f596f7520617265206f6e20626f746c6973740000000000000000000000000000600082015250565b60006135f3601283612ad6565b91506135fe826135bd565b602082019050919050565b60006020820190508181036000830152613622816135e6565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b6000613685602283612ad6565b915061369082613629565b604082019050919050565b600060208201905081810360008301526136b481613678565b9050919050565b7f5f7472616e736665723a3a20427579207472616e7366657220616d6f756e742060008201527f6578636565647320746865206d61785472616e73616374696f6e416d6f756e7460208201527f2e00000000000000000000000000000000000000000000000000000000000000604082015250565b600061373d604183612ad6565b9150613748826136bb565b606082019050919050565b6000602082019050818103600083015261376c81613730565b9050919050565b600061377e82612a97565b915061378983612a97565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137be576137bd612fa4565b5b828201905092915050565b7f5f7472616e736665723a3a204d61782077616c6c657420657863656564656400600082015250565b60006137ff601f83612ad6565b915061380a826137c9565b602082019050919050565b6000602082019050818103600083015261382e816137f2565b9050919050565b7f5f7472616e736665723a3a2053656c6c207472616e7366657220616d6f756e7460008201527f206578636565647320746865206d61785472616e73616374696f6e416d6f756e60208201527f742e000000000000000000000000000000000000000000000000000000000000604082015250565b60006138b7604283612ad6565b91506138c282613835565b606082019050919050565b600060208201905081810360008301526138e6816138aa565b9050919050565b7f53656c6c2073746174757320697320636c6f7365640000000000000000000000600082015250565b6000613923601583612ad6565b915061392e826138ed565b602082019050919050565b6000602082019050818103600083015261395281613916565b9050919050565b7f4275792073746174757320697320636c6f736564000000000000000000000000600082015250565b600061398f601483612ad6565b915061399a82613959565b602082019050919050565b600060208201905081810360008301526139be81613982565b9050919050565b60006139d082612a97565b91506139db83612a97565b9250828210156139ee576139ed612fa4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613a6681612bbd565b92915050565b600060208284031215613a8257613a81612b86565b5b6000613a9084828501613a57565b91505092915050565b6000819050919050565b6000819050919050565b6000613ac8613ac3613abe84613a99565b613aa3565b612a97565b9050919050565b613ad881613aad565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b1381612bab565b82525050565b6000613b258383613b0a565b60208301905092915050565b6000602082019050919050565b6000613b4982613ade565b613b538185613ae9565b9350613b5e83613afa565b8060005b83811015613b8f578151613b768882613b19565b9750613b8183613b31565b925050600181019050613b62565b5085935050505092915050565b600060a082019050613bb16000830188612aa1565b613bbe6020830187613acf565b8181036040830152613bd08186613b3e565b9050613bdf6060830185612cde565b613bec6080830184612aa1565b9695505050505050565b7f45524332303a20612066726f6d20746865207a65726f20616464726573730000600082015250565b6000613c2c601e83612ad6565b9150613c3782613bf6565b602082019050919050565b60006020820190508181036000830152613c5b81613c1f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613cbe602683612ad6565b9150613cc982613c62565b604082019050919050565b60006020820190508181036000830152613ced81613cb1565b905091905056fea2646970667358221220840d9af6768cb70001efb842f7bed130919bfa35e918fde1cb2d6d582634d09664736f6c634300080d0033

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007476179506570650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054750455045000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): GayPepe
Arg [1] : symbol (string): GPEPE
Arg [2] : _buyFee (uint256): 2
Arg [3] : _sellFee (uint256): 2
Arg [4] : _swapTreshold (uint256): 1

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [6] : 4761795065706500000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [8] : 4750455045000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

15625:8543:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17893:187;;;;;;;;;;;;;:::i;:::-;;15878:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1789:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2800:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16048:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16278:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2104:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3048:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15783:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18298:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16192:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2005:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16221:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19067:329;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15930:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16164:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19404:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17784:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16009:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23841:287;;;;;;;;;;;;;:::i;:::-;;2218:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15076:103;;;;;;;;;;;;;:::i;:::-;;16519:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18556:81;;;;;;;;;;;;;:::i;:::-;;14857:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18843:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1895:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2353:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16249:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18645:189;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17679:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18435:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18088:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2593:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15185:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15978:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17893:187;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17979:10:::1;17946:30;:43;;;;18029:10;18000:26;:39;;;;18062:10;18050:9;:22;;;;17893:187::o:0;15878:45::-;;;;:::o;1789:100::-;1843:13;1876:5;1869:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1789:100;:::o;2800:242::-;2919:4;2941:13;2957:12;:10;:12::i;:::-;2941:28;;2980:32;2989:5;2996:7;3005:6;2980:8;:32::i;:::-;3030:4;3023:11;;;2800:242;;;;:::o;16048:31::-;;;;;;;;;;;;;:::o;16278:38::-;;;;:::o;2104:108::-;2165:7;2192:12;;2185:19;;2104:108;:::o;3048:295::-;3179:4;3196:15;3214:12;:10;:12::i;:::-;3196:30;;3237:38;3253:4;3259:7;3268:6;3237:15;:38::i;:::-;3286:27;3296:4;3302:2;3306:6;3286:9;:27::i;:::-;3331:4;3324:11;;;3048:295;;;;;:::o;15783:30::-;;;;;;;;;;;;;:::o;18298:127::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18407:9:::1;18395:8;18379:13;:11;:13::i;:::-;:24;;;;:::i;:::-;18378:38;;;;:::i;:::-;18369:6;:47;;;;18298:127:::0;:::o;16192:22::-;;;;:::o;2005:93::-;2063:5;2088:2;2081:9;;2005:93;:::o;16221:21::-;;;;;;;;;;;;;:::o;19067:329::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19257:10:::1;:8;:10::i;:::-;19253:2;:14;;;;:::i;:::-;19241:8;:27;;;;:::i;:::-;19208:30;:60;;;;19325:10;:8;:10::i;:::-;19321:2;:14;;;;:::i;:::-;19308:9;:28;;;;:::i;:::-;19279:26;:57;;;;19377:10;:8;:10::i;:::-;19373:2;:14;;;;:::i;:::-;19359:10;:29;;;;:::i;:::-;19347:9;:41;;;;19067:329:::0;;;:::o;15930:41::-;;;;:::o;16164:21::-;;;;:::o;19404:128::-;19472:4;19496:19;:28;19516:7;19496:28;;;;;;;;;;;;;;;;;;;;;;;;;19489:35;;19404:128;;;:::o;17784:101::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17872:5:::1;17851:9;:18;17861:7;17851:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;17784:101:::0;:::o;16009:32::-;;;;;;;;;;;;;:::o;23841:287::-;23879:23;23905:24;23923:4;23905:9;:24::i;:::-;23879:50;;23963:1;23944:15;:20;23940:33;;23966:7;;;23940:33;23983:36;24001:17;;23983;:36::i;:::-;24038:15;;;;;;;;;;;24030:33;;:56;24064:21;24030:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24119:1;24099:17;:21;;;;23868:260;23841:287;:::o;2218:127::-;2292:7;2319:9;:18;2329:7;2319:18;;;;;;;;;;;;;;;;2312:25;;2218:127;;;:::o;15076:103::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15141:30:::1;15168:1;15141:18;:30::i;:::-;15076:103::o:0;16519:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;18556:81::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18625:4:::1;18611:11;;:18;;;;;;;;;;;;;;;;;;18556:81::o:0;14857:87::-;14903:7;14930:6;;;;;;;;;;;14923:13;;14857:87;:::o;18843:211::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18952:2:::1;18941:7;:13;;:31;;;;;18970:2;18958:8;:14;;18941:31;18933:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;19009:7;19000:6;:16;;;;19037:8;19027:7;:18;;;;18843:211:::0;;:::o;1895:104::-;1951:13;1984:7;1977:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1895:104;:::o;2353:234::-;2468:4;2490:13;2506:12;:10;:12::i;:::-;2490:28;;2529;2539:5;2546:2;2550:6;2529:9;:28::i;:::-;2575:4;2568:11;;;2353:234;;;;:::o;16249:22::-;;;;;;;;;;;;;:::o;18645:189::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18818:8:::1;18787:19;:28;18807:7;18787:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18645:189:::0;;:::o;17679:97::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17764:4:::1;17743:9;:18;17753:7;17743:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;17679:97:::0;:::o;18435:113::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18526:13:::1;18508:15;;:31;;;;;;;;;;;;;;;;;;18435:113:::0;:::o;18088:202::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18170:5:::1;18154:13;;:21;;;;;;;;;;;;;;;;;;18222:4;18186:26;:33;18213:5;18186:33;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;18278:4;18237:31;:38;18269:5;18237:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;18088:202:::0;:::o;2593:201::-;2727:7;2759:11;:18;2771:5;2759:18;;;;;;;;;;;;;;;:27;2778:7;2759:27;;;;;;;;;;;;;;;;2752:34;;2593:201;;;;:::o;15185:238::-;15001:12;:10;:12::i;:::-;14990:23;;:7;:5;:7::i;:::-;:23;;;14982:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15308:1:::1;15288:22;;:8;:22;;::::0;15266:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15387:28;15406:8;15387:18;:28::i;:::-;15185:238:::0;:::o;15978:24::-;;;;:::o;1183:98::-;1236:7;1263:10;1256:17;;1183:98;:::o;4451:378::-;4604:1;4587:19;;:5;:19;;;4579:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4685:1;4666:21;;:7;:21;;;4658:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4767:6;4737:11;:18;4749:5;4737:18;;;;;;;;;;;;;;;:27;4756:7;4737:27;;;;;;;;;;;;;;;:36;;;;4805:7;4789:32;;4798:5;4789:32;;;4814:6;4789:32;;;;;;:::i;:::-;;;;;;;;4451:378;;;:::o;4835:502::-;4970:24;4997:25;5007:5;5014:7;4997:9;:25::i;:::-;4970:52;;5057:17;5037:16;:37;5033:297;;5137:6;5117:16;:26;;5091:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;5252:51;5261:5;5268:7;5296:6;5277:16;:25;5252:8;:51::i;:::-;5033:297;4959:378;4835:502;;;:::o;19540:3406::-;19688:1;19672:18;;:4;:18;;;19664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19765:1;19751:16;;:2;:16;;;19743:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19845:5;19826:24;;:9;:15;19836:4;19826:15;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;19818:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;19909:5;19892:22;;:9;:13;19902:2;19892:13;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;19884:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;19964:1;19954:6;:11;19950:93;;19982:28;19998:4;20004:2;20008:1;19982:15;:28::i;:::-;20025:7;;19950:93;20079:7;:5;:7::i;:::-;20071:15;;:4;:15;;;;:45;;;;;20109:7;:5;:7::i;:::-;20103:13;;:2;:13;;;;20071:45;:78;;;;;20147:1;20133:16;;:2;:16;;;;20071:78;:116;;;;;20180:6;20166:21;;:2;:21;;;;20071:116;:143;;;;;20205:9;;;;;;;;;;;20204:10;20071:143;20053:1536;;;20246:11;;;;;;;;;;;20241:195;;20306:19;:25;20326:4;20306:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;20335:19;:23;20355:2;20335:23;;;;;;;;;;;;;;;;;;;;;;;;;20306:52;20276:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;20241:195;20496:26;:32;20523:4;20496:32;;;;;;;;;;;;;;;;;;;;;;;;;:89;;;;;20550:31;:35;20582:2;20550:35;;;;;;;;;;;;;;;;;;;;;;;;;20549:36;20496:89;20474:1104;;;20660:30;;20650:6;:40;;20620:179;;;;;;;;;;;;:::i;:::-;;;;;;;;;20874:9;;20857:13;20867:2;20857:9;:13::i;:::-;20848:6;:22;;;;:::i;:::-;:35;;20818:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;20474:1104;;;21039:26;:30;21066:2;21039:30;;;;;;;;;;;;;;;;;;;;;;;;;:89;;;;;21091:31;:37;21123:4;21091:37;;;;;;;;;;;;;;;;;;;;;;;;;21090:38;21039:89;21017:561;;;21203:26;;21193:6;:36;;21163:176;;;;;;;;;;;;:::i;:::-;;;;;;;;;21017:561;;;21366:31;:35;21398:2;21366:35;;;;;;;;;;;;;;;;;;;;;;;;;21361:217;;21478:9;;21461:13;21471:2;21461:9;:13::i;:::-;21452:6;:22;;;;:::i;:::-;:35;;21422:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;21361:217;21017:561;20474:1104;20053:1536;21599:13;21643:6;;21615:24;21633:4;21615:9;:24::i;:::-;:34;;21599:50;;21678:8;:35;;;;;21704:9;;;;;;;;;;;21703:10;21678:35;:85;;;;;21731:26;:32;21758:4;21731:32;;;;;;;;;;;;;;;;;;;;;;;;;21730:33;21678:85;:128;;;;;21781:19;:25;21801:4;21781:25;;;;;;;;;;;;;;;;;;;;;;;;;21780:26;21678:128;:169;;;;;21824:19;:23;21844:2;21824:23;;;;;;;;;;;;;;;;;;;;;;;;;21823:24;21678:169;21660:303;;;21886:4;21874:9;;:16;;;;;;;;;;;;;;;;;;21907:10;:8;:10::i;:::-;21946:5;21934:9;;:17;;;;;;;;;;;;;;;;;;21660:303;21973:12;21989:9;;;;;;;;;;;21988:10;21973:25;;22027:12;;;;;;;;;;;:54;;;;22056:19;:25;22076:4;22056:25;;;;;;;;;;;;;;;;;;;;;;;;;22027:54;:94;;;;22098:19;:23;22118:2;22098:23;;;;;;;;;;;;;;;;;;;;;;;;;22027:94;:198;;;;22140:26;:32;22167:4;22140:32;;;;;;;;;;;;;;;;;;;;;;;;;22139:33;:85;;;;;22194:26;:30;22221:2;22194:30;;;;;;;;;;;;;;;;;;;;;;;;;22193:31;22139:85;22027:198;22009:243;;;22247:5;22237:15;;22009:243;22263:12;22294:7;22290:605;;;22318:18;22360:13;;;;;;;;;;;22354:19;;:2;:19;;;22351:284;;22401:10;;;;;;;;;;;22393:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;22468:7;;22455:20;;22351:284;;;22507:13;;;;;;;;;;;22499:21;;:4;:21;;;22496:139;;22548:9;;;;;;;;;;;22540:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;22613:6;;22600:19;;22496:139;22351:284;22678:3;22665:10;22656:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;22649:32;;22740:9;;22725:11;;22718:4;:18;;;;:::i;:::-;22717:32;;;;:::i;:::-;22696:17;;:53;;;;;;;:::i;:::-;;;;;;;;22775:1;22768:4;:8;22764:91;;;22797:42;22813:4;22827;22834;22797:15;:42::i;:::-;22764:91;22879:4;22869:14;;;;;:::i;:::-;;;22303:592;22290:605;22905:33;22921:4;22927:2;22931:6;22905:15;:33::i;:::-;19653:3293;;;19540:3406;;;;:::o;22952:515::-;23038:1;23023:11;:16;23020:440;;23051:21;23089:1;23075:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23051:40;;23120:4;23102;23107:1;23102:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;23146:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23136:4;23141:1;23136:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;23179:62;23196:4;23211:15;;;;;;;;;;;23229:11;23179:8;:62::i;:::-;23252:15;;;;;;;;;;;:66;;;23333:11;23359:1;23375:4;23402;23422:15;23252:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23040:420;23020:440;22952:515;:::o;15429:191::-;15503:16;15522:6;;;;;;;;;;;15503:25;;15548:8;15539:6;;:17;;;;;;;;;;;;;;;;;;15603:8;15572:40;;15593:8;15572:40;;;;;;;;;;;;15492:128;15429:191;:::o;3349:697::-;3496:1;3480:18;;:4;:18;;;3472:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;3566:1;3552:16;;:2;:16;;;3544:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3619:38;3640:4;3646:2;3650:6;3619:20;:38::i;:::-;3668:19;3690:9;:15;3700:4;3690:15;;;;;;;;;;;;;;;;3668:37;;3753:6;3738:11;:21;;3716:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;3893:6;3879:11;:20;3861:9;:15;3871:4;3861:15;;;;;;;;;;;;;;;:38;;;;3931:6;3914:9;:13;3924:2;3914:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;3979:2;3964:26;;3973:4;3964:26;;;3983:6;3964:26;;;;;;:::i;:::-;;;;;;;;4001:37;4021:4;4027:2;4031:6;4001:19;:37::i;:::-;3461:585;3349:697;;;:::o;5343:125::-;;;;:::o;5474:124::-;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:118::-;4558:24;4576:5;4558:24;:::i;:::-;4553:3;4546:37;4471:118;;:::o;4595:222::-;4688:4;4726:2;4715:9;4711:18;4703:26;;4739:71;4807:1;4796:9;4792:17;4783:6;4739:71;:::i;:::-;4595:222;;;;:::o;4823:329::-;4882:6;4931:2;4919:9;4910:7;4906:23;4902:32;4899:119;;;4937:79;;:::i;:::-;4899:119;5057:1;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5028:117;4823:329;;;;:::o;5158:86::-;5193:7;5233:4;5226:5;5222:16;5211:27;;5158:86;;;:::o;5250:112::-;5333:22;5349:5;5333:22;:::i;:::-;5328:3;5321:35;5250:112;;:::o;5368:214::-;5457:4;5495:2;5484:9;5480:18;5472:26;;5508:67;5572:1;5561:9;5557:17;5548:6;5508:67;:::i;:::-;5368:214;;;;:::o;5588:619::-;5665:6;5673;5681;5730:2;5718:9;5709:7;5705:23;5701:32;5698:119;;;5736:79;;:::i;:::-;5698:119;5856:1;5881:53;5926:7;5917:6;5906:9;5902:22;5881:53;:::i;:::-;5871:63;;5827:117;5983:2;6009:53;6054:7;6045:6;6034:9;6030:22;6009:53;:::i;:::-;5999:63;;5954:118;6111:2;6137:53;6182:7;6173:6;6162:9;6158:22;6137:53;:::i;:::-;6127:63;;6082:118;5588:619;;;;;:::o;6213:329::-;6272:6;6321:2;6309:9;6300:7;6296:23;6292:32;6289:119;;;6327:79;;:::i;:::-;6289:119;6447:1;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6418:117;6213:329;;;;:::o;6548:474::-;6616:6;6624;6673:2;6661:9;6652:7;6648:23;6644:32;6641:119;;;6679:79;;:::i;:::-;6641:119;6799:1;6824:53;6869:7;6860:6;6849:9;6845:22;6824:53;:::i;:::-;6814:63;;6770:117;6926:2;6952:53;6997:7;6988:6;6977:9;6973:22;6952:53;:::i;:::-;6942:63;;6897:118;6548:474;;;;;:::o;7028:116::-;7098:21;7113:5;7098:21;:::i;:::-;7091:5;7088:32;7078:60;;7134:1;7131;7124:12;7078:60;7028:116;:::o;7150:133::-;7193:5;7231:6;7218:20;7209:29;;7247:30;7271:5;7247:30;:::i;:::-;7150:133;;;;:::o;7289:468::-;7354:6;7362;7411:2;7399:9;7390:7;7386:23;7382:32;7379:119;;;7417:79;;:::i;:::-;7379:119;7537:1;7562:53;7607:7;7598:6;7587:9;7583:22;7562:53;:::i;:::-;7552:63;;7508:117;7664:2;7690:50;7732:7;7723:6;7712:9;7708:22;7690:50;:::i;:::-;7680:60;;7635:115;7289:468;;;;;:::o;7763:474::-;7831:6;7839;7888:2;7876:9;7867:7;7863:23;7859:32;7856:119;;;7894:79;;:::i;:::-;7856:119;8014:1;8039:53;8084:7;8075:6;8064:9;8060:22;8039:53;:::i;:::-;8029:63;;7985:117;8141:2;8167:53;8212:7;8203:6;8192:9;8188:22;8167:53;:::i;:::-;8157:63;;8112:118;7763:474;;;;;:::o;8243:182::-;8383:34;8379:1;8371:6;8367:14;8360:58;8243:182;:::o;8431:366::-;8573:3;8594:67;8658:2;8653:3;8594:67;:::i;:::-;8587:74;;8670:93;8759:3;8670:93;:::i;:::-;8788:2;8783:3;8779:12;8772:19;;8431:366;;;:::o;8803:419::-;8969:4;9007:2;8996:9;8992:18;8984:26;;9056:9;9050:4;9046:20;9042:1;9031:9;9027:17;9020:47;9084:131;9210:4;9084:131;:::i;:::-;9076:139;;8803:419;;;:::o;9228:180::-;9276:77;9273:1;9266:88;9373:4;9370:1;9363:15;9397:4;9394:1;9387:15;9414:320;9458:6;9495:1;9489:4;9485:12;9475:22;;9542:1;9536:4;9532:12;9563:18;9553:81;;9619:4;9611:6;9607:17;9597:27;;9553:81;9681:2;9673:6;9670:14;9650:18;9647:38;9644:84;;9700:18;;:::i;:::-;9644:84;9465:269;9414:320;;;:::o;9740:180::-;9788:77;9785:1;9778:88;9885:4;9882:1;9875:15;9909:4;9906:1;9899:15;9926:348;9966:7;9989:20;10007:1;9989:20;:::i;:::-;9984:25;;10023:20;10041:1;10023:20;:::i;:::-;10018:25;;10211:1;10143:66;10139:74;10136:1;10133:81;10128:1;10121:9;10114:17;10110:105;10107:131;;;10218:18;;:::i;:::-;10107:131;10266:1;10263;10259:9;10248:20;;9926:348;;;;:::o;10280:180::-;10328:77;10325:1;10318:88;10425:4;10422:1;10415:15;10449:4;10446:1;10439:15;10466:185;10506:1;10523:20;10541:1;10523:20;:::i;:::-;10518:25;;10557:20;10575:1;10557:20;:::i;:::-;10552:25;;10596:1;10586:35;;10601:18;;:::i;:::-;10586:35;10643:1;10640;10636:9;10631:14;;10466:185;;;;:::o;10657:102::-;10699:8;10746:5;10743:1;10739:13;10718:34;;10657:102;;;:::o;10765:848::-;10826:5;10833:4;10857:6;10848:15;;10881:5;10872:14;;10895:712;10916:1;10906:8;10903:15;10895:712;;;11011:4;11006:3;11002:14;10996:4;10993:24;10990:50;;;11020:18;;:::i;:::-;10990:50;11070:1;11060:8;11056:16;11053:451;;;11485:4;11478:5;11474:16;11465:25;;11053:451;11535:4;11529;11525:15;11517:23;;11565:32;11588:8;11565:32;:::i;:::-;11553:44;;10895:712;;;10765:848;;;;;;;:::o;11619:1073::-;11673:5;11864:8;11854:40;;11885:1;11876:10;;11887:5;;11854:40;11913:4;11903:36;;11930:1;11921:10;;11932:5;;11903:36;11999:4;12047:1;12042:27;;;;12083:1;12078:191;;;;11992:277;;12042:27;12060:1;12051:10;;12062:5;;;12078:191;12123:3;12113:8;12110:17;12107:43;;;12130:18;;:::i;:::-;12107:43;12179:8;12176:1;12172:16;12163:25;;12214:3;12207:5;12204:14;12201:40;;;12221:18;;:::i;:::-;12201:40;12254:5;;;11992:277;;12378:2;12368:8;12365:16;12359:3;12353:4;12350:13;12346:36;12328:2;12318:8;12315:16;12310:2;12304:4;12301:12;12297:35;12281:111;12278:246;;;12434:8;12428:4;12424:19;12415:28;;12469:3;12462:5;12459:14;12456:40;;;12476:18;;:::i;:::-;12456:40;12509:5;;12278:246;12549:42;12587:3;12577:8;12571:4;12568:1;12549:42;:::i;:::-;12534:57;;;;12623:4;12618:3;12614:14;12607:5;12604:25;12601:51;;;12632:18;;:::i;:::-;12601:51;12681:4;12674:5;12670:16;12661:25;;11619:1073;;;;;;:::o;12698:281::-;12756:5;12780:23;12798:4;12780:23;:::i;:::-;12772:31;;12824:25;12840:8;12824:25;:::i;:::-;12812:37;;12868:104;12905:66;12895:8;12889:4;12868:104;:::i;:::-;12859:113;;12698:281;;;;:::o;12985:162::-;13125:14;13121:1;13113:6;13109:14;13102:38;12985:162;:::o;13153:366::-;13295:3;13316:67;13380:2;13375:3;13316:67;:::i;:::-;13309:74;;13392:93;13481:3;13392:93;:::i;:::-;13510:2;13505:3;13501:12;13494:19;;13153:366;;;:::o;13525:419::-;13691:4;13729:2;13718:9;13714:18;13706:26;;13778:9;13772:4;13768:20;13764:1;13753:9;13749:17;13742:47;13806:131;13932:4;13806:131;:::i;:::-;13798:139;;13525:419;;;:::o;13950:225::-;14090:34;14086:1;14078:6;14074:14;14067:58;14159:8;14154:2;14146:6;14142:15;14135:33;13950:225;:::o;14181:366::-;14323:3;14344:67;14408:2;14403:3;14344:67;:::i;:::-;14337:74;;14420:93;14509:3;14420:93;:::i;:::-;14538:2;14533:3;14529:12;14522:19;;14181:366;;;:::o;14553:419::-;14719:4;14757:2;14746:9;14742:18;14734:26;;14806:9;14800:4;14796:20;14792:1;14781:9;14777:17;14770:47;14834:131;14960:4;14834:131;:::i;:::-;14826:139;;14553:419;;;:::o;14978:223::-;15118:34;15114:1;15106:6;15102:14;15095:58;15187:6;15182:2;15174:6;15170:15;15163:31;14978:223;:::o;15207:366::-;15349:3;15370:67;15434:2;15429:3;15370:67;:::i;:::-;15363:74;;15446:93;15535:3;15446:93;:::i;:::-;15564:2;15559:3;15555:12;15548:19;;15207:366;;;:::o;15579:419::-;15745:4;15783:2;15772:9;15768:18;15760:26;;15832:9;15826:4;15822:20;15818:1;15807:9;15803:17;15796:47;15860:131;15986:4;15860:131;:::i;:::-;15852:139;;15579:419;;;:::o;16004:221::-;16144:34;16140:1;16132:6;16128:14;16121:58;16213:4;16208:2;16200:6;16196:15;16189:29;16004:221;:::o;16231:366::-;16373:3;16394:67;16458:2;16453:3;16394:67;:::i;:::-;16387:74;;16470:93;16559:3;16470:93;:::i;:::-;16588:2;16583:3;16579:12;16572:19;;16231:366;;;:::o;16603:419::-;16769:4;16807:2;16796:9;16792:18;16784:26;;16856:9;16850:4;16846:20;16842:1;16831:9;16827:17;16820:47;16884:131;17010:4;16884:131;:::i;:::-;16876:139;;16603:419;;;:::o;17028:179::-;17168:31;17164:1;17156:6;17152:14;17145:55;17028:179;:::o;17213:366::-;17355:3;17376:67;17440:2;17435:3;17376:67;:::i;:::-;17369:74;;17452:93;17541:3;17452:93;:::i;:::-;17570:2;17565:3;17561:12;17554:19;;17213:366;;;:::o;17585:419::-;17751:4;17789:2;17778:9;17774:18;17766:26;;17838:9;17832:4;17828:20;17824:1;17813:9;17809:17;17802:47;17866:131;17992:4;17866:131;:::i;:::-;17858:139;;17585:419;;;:::o;18010:224::-;18150:34;18146:1;18138:6;18134:14;18127:58;18219:7;18214:2;18206:6;18202:15;18195:32;18010:224;:::o;18240:366::-;18382:3;18403:67;18467:2;18462:3;18403:67;:::i;:::-;18396:74;;18479:93;18568:3;18479:93;:::i;:::-;18597:2;18592:3;18588:12;18581:19;;18240:366;;;:::o;18612:419::-;18778:4;18816:2;18805:9;18801:18;18793:26;;18865:9;18859:4;18855:20;18851:1;18840:9;18836:17;18829:47;18893:131;19019:4;18893:131;:::i;:::-;18885:139;;18612:419;;;:::o;19037:222::-;19177:34;19173:1;19165:6;19161:14;19154:58;19246:5;19241:2;19233:6;19229:15;19222:30;19037:222;:::o;19265:366::-;19407:3;19428:67;19492:2;19487:3;19428:67;:::i;:::-;19421:74;;19504:93;19593:3;19504:93;:::i;:::-;19622:2;19617:3;19613:12;19606:19;;19265:366;;;:::o;19637:419::-;19803:4;19841:2;19830:9;19826:18;19818:26;;19890:9;19884:4;19880:20;19876:1;19865:9;19861:17;19854:47;19918:131;20044:4;19918:131;:::i;:::-;19910:139;;19637:419;;;:::o;20062:168::-;20202:20;20198:1;20190:6;20186:14;20179:44;20062:168;:::o;20236:366::-;20378:3;20399:67;20463:2;20458:3;20399:67;:::i;:::-;20392:74;;20475:93;20564:3;20475:93;:::i;:::-;20593:2;20588:3;20584:12;20577:19;;20236:366;;;:::o;20608:419::-;20774:4;20812:2;20801:9;20797:18;20789:26;;20861:9;20855:4;20851:20;20847:1;20836:9;20832:17;20825:47;20889:131;21015:4;20889:131;:::i;:::-;20881:139;;20608:419;;;:::o;21033:221::-;21173:34;21169:1;21161:6;21157:14;21150:58;21242:4;21237:2;21229:6;21225:15;21218:29;21033:221;:::o;21260:366::-;21402:3;21423:67;21487:2;21482:3;21423:67;:::i;:::-;21416:74;;21499:93;21588:3;21499:93;:::i;:::-;21617:2;21612:3;21608:12;21601:19;;21260:366;;;:::o;21632:419::-;21798:4;21836:2;21825:9;21821:18;21813:26;;21885:9;21879:4;21875:20;21871:1;21860:9;21856:17;21849:47;21913:131;22039:4;21913:131;:::i;:::-;21905:139;;21632:419;;;:::o;22057:289::-;22197:34;22193:1;22185:6;22181:14;22174:58;22266:34;22261:2;22253:6;22249:15;22242:59;22335:3;22330:2;22322:6;22318:15;22311:28;22057:289;:::o;22352:366::-;22494:3;22515:67;22579:2;22574:3;22515:67;:::i;:::-;22508:74;;22591:93;22680:3;22591:93;:::i;:::-;22709:2;22704:3;22700:12;22693:19;;22352:366;;;:::o;22724:419::-;22890:4;22928:2;22917:9;22913:18;22905:26;;22977:9;22971:4;22967:20;22963:1;22952:9;22948:17;22941:47;23005:131;23131:4;23005:131;:::i;:::-;22997:139;;22724:419;;;:::o;23149:305::-;23189:3;23208:20;23226:1;23208:20;:::i;:::-;23203:25;;23242:20;23260:1;23242:20;:::i;:::-;23237:25;;23396:1;23328:66;23324:74;23321:1;23318:81;23315:107;;;23402:18;;:::i;:::-;23315:107;23446:1;23443;23439:9;23432:16;;23149:305;;;;:::o;23460:181::-;23600:33;23596:1;23588:6;23584:14;23577:57;23460:181;:::o;23647:366::-;23789:3;23810:67;23874:2;23869:3;23810:67;:::i;:::-;23803:74;;23886:93;23975:3;23886:93;:::i;:::-;24004:2;23999:3;23995:12;23988:19;;23647:366;;;:::o;24019:419::-;24185:4;24223:2;24212:9;24208:18;24200:26;;24272:9;24266:4;24262:20;24258:1;24247:9;24243:17;24236:47;24300:131;24426:4;24300:131;:::i;:::-;24292:139;;24019:419;;;:::o;24444:290::-;24584:34;24580:1;24572:6;24568:14;24561:58;24653:34;24648:2;24640:6;24636:15;24629:59;24722:4;24717:2;24709:6;24705:15;24698:29;24444:290;:::o;24740:366::-;24882:3;24903:67;24967:2;24962:3;24903:67;:::i;:::-;24896:74;;24979:93;25068:3;24979:93;:::i;:::-;25097:2;25092:3;25088:12;25081:19;;24740:366;;;:::o;25112:419::-;25278:4;25316:2;25305:9;25301:18;25293:26;;25365:9;25359:4;25355:20;25351:1;25340:9;25336:17;25329:47;25393:131;25519:4;25393:131;:::i;:::-;25385:139;;25112:419;;;:::o;25537:171::-;25677:23;25673:1;25665:6;25661:14;25654:47;25537:171;:::o;25714:366::-;25856:3;25877:67;25941:2;25936:3;25877:67;:::i;:::-;25870:74;;25953:93;26042:3;25953:93;:::i;:::-;26071:2;26066:3;26062:12;26055:19;;25714:366;;;:::o;26086:419::-;26252:4;26290:2;26279:9;26275:18;26267:26;;26339:9;26333:4;26329:20;26325:1;26314:9;26310:17;26303:47;26367:131;26493:4;26367:131;:::i;:::-;26359:139;;26086:419;;;:::o;26511:170::-;26651:22;26647:1;26639:6;26635:14;26628:46;26511:170;:::o;26687:366::-;26829:3;26850:67;26914:2;26909:3;26850:67;:::i;:::-;26843:74;;26926:93;27015:3;26926:93;:::i;:::-;27044:2;27039:3;27035:12;27028:19;;26687:366;;;:::o;27059:419::-;27225:4;27263:2;27252:9;27248:18;27240:26;;27312:9;27306:4;27302:20;27298:1;27287:9;27283:17;27276:47;27340:131;27466:4;27340:131;:::i;:::-;27332:139;;27059:419;;;:::o;27484:191::-;27524:4;27544:20;27562:1;27544:20;:::i;:::-;27539:25;;27578:20;27596:1;27578:20;:::i;:::-;27573:25;;27617:1;27614;27611:8;27608:34;;;27622:18;;:::i;:::-;27608:34;27667:1;27664;27660:9;27652:17;;27484:191;;;;:::o;27681:180::-;27729:77;27726:1;27719:88;27826:4;27823:1;27816:15;27850:4;27847:1;27840:15;27867:180;27915:77;27912:1;27905:88;28012:4;28009:1;28002:15;28036:4;28033:1;28026:15;28053:143;28110:5;28141:6;28135:13;28126:22;;28157:33;28184:5;28157:33;:::i;:::-;28053:143;;;;:::o;28202:351::-;28272:6;28321:2;28309:9;28300:7;28296:23;28292:32;28289:119;;;28327:79;;:::i;:::-;28289:119;28447:1;28472:64;28528:7;28519:6;28508:9;28504:22;28472:64;:::i;:::-;28462:74;;28418:128;28202:351;;;;:::o;28559:85::-;28604:7;28633:5;28622:16;;28559:85;;;:::o;28650:60::-;28678:3;28699:5;28692:12;;28650:60;;;:::o;28716:158::-;28774:9;28807:61;28825:42;28834:32;28860:5;28834:32;:::i;:::-;28825:42;:::i;:::-;28807:61;:::i;:::-;28794:74;;28716:158;;;:::o;28880:147::-;28975:45;29014:5;28975:45;:::i;:::-;28970:3;28963:58;28880:147;;:::o;29033:114::-;29100:6;29134:5;29128:12;29118:22;;29033:114;;;:::o;29153:184::-;29252:11;29286:6;29281:3;29274:19;29326:4;29321:3;29317:14;29302:29;;29153:184;;;;:::o;29343:132::-;29410:4;29433:3;29425:11;;29463:4;29458:3;29454:14;29446:22;;29343:132;;;:::o;29481:108::-;29558:24;29576:5;29558:24;:::i;:::-;29553:3;29546:37;29481:108;;:::o;29595:179::-;29664:10;29685:46;29727:3;29719:6;29685:46;:::i;:::-;29763:4;29758:3;29754:14;29740:28;;29595:179;;;;:::o;29780:113::-;29850:4;29882;29877:3;29873:14;29865:22;;29780:113;;;:::o;29929:732::-;30048:3;30077:54;30125:5;30077:54;:::i;:::-;30147:86;30226:6;30221:3;30147:86;:::i;:::-;30140:93;;30257:56;30307:5;30257:56;:::i;:::-;30336:7;30367:1;30352:284;30377:6;30374:1;30371:13;30352:284;;;30453:6;30447:13;30480:63;30539:3;30524:13;30480:63;:::i;:::-;30473:70;;30566:60;30619:6;30566:60;:::i;:::-;30556:70;;30412:224;30399:1;30396;30392:9;30387:14;;30352:284;;;30356:14;30652:3;30645:10;;30053:608;;;29929:732;;;;:::o;30667:831::-;30930:4;30968:3;30957:9;30953:19;30945:27;;30982:71;31050:1;31039:9;31035:17;31026:6;30982:71;:::i;:::-;31063:80;31139:2;31128:9;31124:18;31115:6;31063:80;:::i;:::-;31190:9;31184:4;31180:20;31175:2;31164:9;31160:18;31153:48;31218:108;31321:4;31312:6;31218:108;:::i;:::-;31210:116;;31336:72;31404:2;31393:9;31389:18;31380:6;31336:72;:::i;:::-;31418:73;31486:3;31475:9;31471:19;31462:6;31418:73;:::i;:::-;30667:831;;;;;;;;:::o;31504:180::-;31644:32;31640:1;31632:6;31628:14;31621:56;31504:180;:::o;31690:366::-;31832:3;31853:67;31917:2;31912:3;31853:67;:::i;:::-;31846:74;;31929:93;32018:3;31929:93;:::i;:::-;32047:2;32042:3;32038:12;32031:19;;31690:366;;;:::o;32062:419::-;32228:4;32266:2;32255:9;32251:18;32243:26;;32315:9;32309:4;32305:20;32301:1;32290:9;32286:17;32279:47;32343:131;32469:4;32343:131;:::i;:::-;32335:139;;32062:419;;;:::o;32487:225::-;32627:34;32623:1;32615:6;32611:14;32604:58;32696:8;32691:2;32683:6;32679:15;32672:33;32487:225;:::o;32718:366::-;32860:3;32881:67;32945:2;32940:3;32881:67;:::i;:::-;32874:74;;32957:93;33046:3;32957:93;:::i;:::-;33075:2;33070:3;33066:12;33059:19;;32718:366;;;:::o;33090:419::-;33256:4;33294:2;33283:9;33279:18;33271:26;;33343:9;33337:4;33333:20;33329:1;33318:9;33314:17;33307:47;33371:131;33497:4;33371:131;:::i;:::-;33363:139;;33090:419;;;:::o

Swarm Source

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