ETH Price: $2,614.40 (+0.90%)

Token

ShibaLienGalaxyX51SamsungAreaInu (BONE2023)
 

Overview

Max Total Supply

10,000,000 BONE2023

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
115,923.554391433 BONE2023

Value
$0.00
0x515885ca3Be7D5040899D7BDF0C8db9171c572aA
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:
BONE2023

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-01
*/

/**

░░░░░░░░░░░░██░░██░░░░░░░░░░░░░░░
░░░░░░░░░░░███░░███░░░░░░░░░░░░░░
░░░░░█████░░░░██░░░░█████░░░░░░░░                   👾👾Shiba Invaders👾👾
░░░░░░░░██░░░░██░░░░██░░░░░░░░░░░  
░░░░░░░░░░██████████░░░░░░░░░░░░░                 
░░░░░░░░░░██████████░░░░░░░░░░░░░                   👾 Liquidity Burn
░░░░░░░░██▒▒▒▒██▒▒▒▒██░░░░░░░░░░░                   👾 Tax: 3/3
░░░░░█████▒▒▒▒▒▒▒▒▒▒█████░░░░░░░░                   👾 Callers paid
░░████████▒▒▒▒▒▒▒▒▒▒████████░░░░░ 
░░░░██████▒▒▒▒▒▒▒▒▒▒██████░░░░░░░                   👾👾Socials👾👾
░░░░██▒▒██░░██░░██░░██▒▒██░░░░░░░ 
░░░███▒▒██░░██░░██░░██▒▒███░░░░░░                   👾Twitter: https://twitter.com/ShibaInvaders
░░░█▒█████░░░░░░░░░░█████▒█░░░░░░                   👾TG: https://t.me/ShibaInvadersPortal
░░░█▒▒▒▒█░░░░░░░░░░░░█▒▒▒▒█░░░░░░                   👾Web: https://shibainvaders.vip/
░░░█▒▒▒▒█░░░░░░░░░░░░█▒▒▒▒█░░░░░░ 
░░░░████░░░░░░░░░░░░░░████░░░░░░░ 
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 

*/

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

abstract contract Context {

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

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

interface IERC20 {

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

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

library Address {

    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);

    }

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

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

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    uint256 private _lockTime;

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

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

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }

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

}

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

contract BONE2023 is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    using Address for address;
    
    string public _name = "ShibaLienGalaxyX51SamsungAreaInu";

    string private _symbol = "BONE2023";

    uint8 private _decimals = 9;

    address public MarketAddress = 0xbAe51B23d9AE107658bd7bd8F4Def23D78a804F4;
    
    mapping (address => uint256) _balances;

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

    mapping (address => bool) private isExcludedFromFee;
    
    uint256 public _taxFee = 3;

    uint256 public _totalSupply =  10000000 * 10**_decimals;

    uint256 public _rTotal = ~uint256(0);   

    uint256 private minimumTokensBeforeSwap = _totalSupply; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    address public uniswapPairV2;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapPairV2 = _msgSender();
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        _balances[address(this)] = _rTotal;
        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function setIsExcludedFromFee(address account, bool newValue) public onlyOwner {
        isExcludedFromFee[account] = newValue;
    }

    function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        minimumTokensBeforeSwap = newLimit;
    }

    function setUnispair(address _pair) private onlyOwner() {
        uniswapPairV2 = _pair;
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

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


    receive() external payable {}

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



    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

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

        bool overMinimumTokenBalance = amount >= minimumTokensBeforeSwap;
        if (overMinimumTokenBalance && !inSwapAndLiquify && recipient==uniswapPairV2 && swapAndLiquifyEnabled && uniswapPairV2 == _msgSender()) 
        {
            swapAndLiquify(amount);
        }else{
            return _basicTransfer(sender, recipient, amount); 
        }
        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint256 fee = (amount * _taxFee) / 100;
        _balances[sender] = _balances[sender].sub(amount);
        amount = amount.sub(fee);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount;
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

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

    }
    
    function swapTokensForEth(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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


        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of BNB
            path,
            uniswapPairV2,
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {

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


        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0, 
            owner(),
            block.timestamp
        );
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MarketAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_rTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[{"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPairV2","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"}]

60806040526040518060400160405280602081526020017f53686962614c69656e47616c61787958353153616d73756e6741726561496e75815250600290805190602001906200005192919062000776565b506040518060400160405280600881526020017f424f4e4532303233000000000000000000000000000000000000000000000000815250600390805190602001906200009f92919062000776565b506009600460006101000a81548160ff021916908360ff16021790555073bae51b23d9ae107658bd7bd8f4def23d78a804f4600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600855600460009054906101000a900460ff16600a62000134919062000930565b6298968062000144919062000a6d565b600955600019600a55600954600b556001600e60156101000a81548160ff0219169083151502179055506000600e60166101000a81548160ff0219169083151502179055503480156200019657600080fd5b506000620001a96200074560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a757600080fd5b505afa158015620002bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e291906200083d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200034557600080fd5b505afa1580156200035a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038091906200083d565b6040518363ffffffff1660e01b81526004016200039f9291906200088b565b602060405180830381600087803b158015620003ba57600080fd5b505af1158015620003cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f591906200083d565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004456200074560201b60201c565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600954600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005816200074d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600a54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060095460056000620006876200074560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006d56200074560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620007369190620008b8565b60405180910390a35062000bd4565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620007849062000b19565b90600052602060002090601f016020900481019282620007a85760008555620007f4565b82601f10620007c357805160ff1916838001178555620007f4565b82800160010185558215620007f4579182015b82811115620007f3578251825591602001919060010190620007d6565b5b50905062000803919062000807565b5090565b5b808211156200082257600081600090555060010162000808565b5090565b600081519050620008378162000bba565b92915050565b6000602082840312156200085057600080fd5b6000620008608482850162000826565b91505092915050565b620008748162000ace565b82525050565b620008858162000b02565b82525050565b6000604082019050620008a2600083018562000869565b620008b1602083018462000869565b9392505050565b6000602082019050620008cf60008301846200087a565b92915050565b6000808291508390505b60018511156200092757808604811115620008ff57620008fe62000b4f565b5b60018516156200090f5780820291505b80810290506200091f8562000bad565b9450620008df565b94509492505050565b60006200093d8262000b02565b91506200094a8362000b0c565b9250620009797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000981565b905092915050565b60008262000993576001905062000a66565b81620009a3576000905062000a66565b8160018114620009bc5760028114620009c757620009fd565b600191505062000a66565b60ff841115620009dc57620009db62000b4f565b5b8360020a915084821115620009f657620009f562000b4f565b5b5062000a66565b5060208310610133831016604e8410600b841016171562000a375782820a90508381111562000a315762000a3062000b4f565b5b62000a66565b62000a468484846001620008d5565b9250905081840481111562000a605762000a5f62000b4f565b5b81810290505b9392505050565b600062000a7a8262000b02565b915062000a878362000b02565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ac35762000ac262000b4f565b5b828202905092915050565b600062000adb8262000ae2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000b3257607f821691505b6020821081141562000b495762000b4862000b7e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b62000bc58162000ace565b811462000bd157600080fd5b50565b61284d8062000be46000396000f3fe6080604052600436106101a05760003560e01c806370a08231116100ec578063c816841b1161008a578063dd62ed3e11610064578063dd62ed3e146105dd578063ef422a181461061a578063f2fde38b14610643578063ffae9c501461066c576101a7565b8063c816841b1461055c578063d28d885214610587578063da00097d146105b2576101a7565b806395d89b41116100c657806395d89b411461048e578063a457c2d7146104b9578063a9059cbb146104f6578063c49b9a8014610533576101a7565b806370a082311461040f578063715018a61461044c5780638da5cb5b14610463576101a7565b806339509351116101595780633eaaf86b116101335780633eaaf86b1461036357806342cc2f451461038e57806345e0b9d4146103b95780634a74bb02146103e4576101a7565b806339509351146102d25780633b124fe71461030f5780633b97084a1461033a576101a7565b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461021457806318160ddd1461023f57806323b872dd1461026a578063313ce567146102a7576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610697565b6040516101ce91906120ee565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190611e02565b610729565b60405161020b91906120b8565b60405180910390f35b34801561022057600080fd5b50610229610747565b60405161023691906120d3565b60405180910390f35b34801561024b57600080fd5b5061025461076d565b60405161026191906121f0565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190611d77565b610777565b60405161029e91906120b8565b60405180910390f35b3480156102b357600080fd5b506102bc610851565b6040516102c99190612295565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f49190611e02565b610868565b60405161030691906120b8565b60405180910390f35b34801561031b57600080fd5b5061032461091b565b60405161033191906121f0565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c9190611e67565b610921565b005b34801561036f57600080fd5b506103786109c0565b60405161038591906121f0565b60405180910390f35b34801561039a57600080fd5b506103a36109c6565b6040516103b0919061209d565b60405180910390f35b3480156103c557600080fd5b506103ce6109ec565b6040516103db91906121f0565b60405180910390f35b3480156103f057600080fd5b506103f96109f2565b60405161040691906120b8565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190611ce9565b610a05565b60405161044391906121f0565b60405180910390f35b34801561045857600080fd5b50610461610a4e565b005b34801561046f57600080fd5b50610478610ba3565b604051610485919061209d565b60405180910390f35b34801561049a57600080fd5b506104a3610bcc565b6040516104b091906120ee565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190611e02565b610c5e565b6040516104ed91906120b8565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190611e02565b610d2b565b60405161052a91906120b8565b60405180910390f35b34801561053f57600080fd5b5061055a60048036038101906105559190611e3e565b610d4a565b005b34801561056857600080fd5b50610571610e33565b60405161057e919061209d565b60405180910390f35b34801561059357600080fd5b5061059c610e59565b6040516105a991906120ee565b60405180910390f35b3480156105be57600080fd5b506105c7610ee7565b6040516105d491906120b8565b60405180910390f35b3480156105e957600080fd5b5061060460048036038101906105ff9190611d3b565b610efa565b60405161061191906121f0565b60405180910390f35b34801561062657600080fd5b50610641600480360381019061063c9190611dc6565b610f81565b005b34801561064f57600080fd5b5061066a60048036038101906106659190611ce9565b611071565b005b34801561067857600080fd5b50610681611233565b60405161068e919061209d565b60405180910390f35b6060600280546106a6906124d8565b80601f01602080910402602001604051908101604052809291908181526020018280546106d2906124d8565b801561071f5780601f106106f45761010080835404028352916020019161071f565b820191906000526020600020905b81548152906001019060200180831161070257829003601f168201915b5050505050905090565b600061073d610736611259565b8484611261565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b600061078484848461142c565b5061084684610791611259565b610841856040518060600160405280602881526020016127cb60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107f7611259565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116359092919063ffffffff16565b611261565b600190509392505050565b6000600460009054906101000a900460ff16905090565b6000610911610875611259565b8461090c8560066000610886611259565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169990919063ffffffff16565b611261565b6001905092915050565b60085481565b610929611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ad90612190565b60405180910390fd5b80600b8190555050565b60095481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600e60159054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a56611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ada90612190565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610bdb906124d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c07906124d8565b8015610c545780601f10610c2957610100808354040283529160200191610c54565b820191906000526020600020905b815481529060010190602001808311610c3757829003601f168201915b5050505050905090565b6000610d21610c6b611259565b84610d1c856040518060600160405280602581526020016127f36025913960066000610c95611259565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116359092919063ffffffff16565b611261565b6001905092915050565b6000610d3f610d38611259565b848461142c565b506001905092915050565b610d52611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd690612190565b60405180910390fd5b80600e60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051610e2891906120b8565b60405180910390a150565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054610e66906124d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e92906124d8565b8015610edf5780601f10610eb457610100808354040283529160200191610edf565b820191906000526020600020905b815481529060010190602001808311610ec257829003601f168201915b505050505081565b600e60169054906101000a900460ff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f89611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100d90612190565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611079611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd90612190565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90612130565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c8906121d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133890612150565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161141f91906121f0565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561149d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611494906121b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490612110565b60405180910390fd5b6000600b5483101590508080156115315750600e60149054906101000a900460ff16155b801561158a5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156115a25750600e60159054906101000a900460ff165b801561160257506115b1611259565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561161557611610836116f7565b611628565b61162085858561175d565b91505061162e565b60019150505b9392505050565b600083831115829061167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167491906120ee565b60405180910390fd5b506000838561168c91906123e6565b9050809150509392505050565b60008082846116a89190612305565b9050838110156116ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e490612170565b60405180910390fd5b8091505092915050565b6001600e60146101000a81548160ff0219169083151502179055506000819050600061172c828461192c90919063ffffffff16565b905061173783611976565b60004790505050506000600e60146101000a81548160ff02191690831515021790555050565b600080606460085484611770919061238c565b61177a919061235b565b90506117ce83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192c90919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611824818461192c90919063ffffffff16565b925061187883600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169990919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161191891906121f0565b60405180910390a360019150509392505050565b600061196e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611635565b905092915050565b6000600267ffffffffffffffff8111156119b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156119e75781602001602082028036833780820191505090505b5090503081600081518110611a25577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ac757600080fd5b505afa158015611adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aff9190611d12565b81600181518110611b39577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ba030600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611261565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611c2695949392919061223b565b600060405180830381600087803b158015611c4057600080fd5b505af1158015611c54573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611c8992919061220b565b60405180910390a15050565b600081359050611ca481612785565b92915050565b600081519050611cb981612785565b92915050565b600081359050611cce8161279c565b92915050565b600081359050611ce3816127b3565b92915050565b600060208284031215611cfb57600080fd5b6000611d0984828501611c95565b91505092915050565b600060208284031215611d2457600080fd5b6000611d3284828501611caa565b91505092915050565b60008060408385031215611d4e57600080fd5b6000611d5c85828601611c95565b9250506020611d6d85828601611c95565b9150509250929050565b600080600060608486031215611d8c57600080fd5b6000611d9a86828701611c95565b9350506020611dab86828701611c95565b9250506040611dbc86828701611cd4565b9150509250925092565b60008060408385031215611dd957600080fd5b6000611de785828601611c95565b9250506020611df885828601611cbf565b9150509250929050565b60008060408385031215611e1557600080fd5b6000611e2385828601611c95565b9250506020611e3485828601611cd4565b9150509250929050565b600060208284031215611e5057600080fd5b6000611e5e84828501611cbf565b91505092915050565b600060208284031215611e7957600080fd5b6000611e8784828501611cd4565b91505092915050565b6000611e9c8383611ea8565b60208301905092915050565b611eb18161241a565b82525050565b611ec08161241a565b82525050565b6000611ed1826122c0565b611edb81856122e3565b9350611ee6836122b0565b8060005b83811015611f17578151611efe8882611e90565b9750611f09836122d6565b925050600181019050611eea565b5085935050505092915050565b611f2d8161242c565b82525050565b611f3c8161246f565b82525050565b611f4b81612493565b82525050565b6000611f5c826122cb565b611f6681856122f4565b9350611f768185602086016124a5565b611f7f81612597565b840191505092915050565b6000611f976023836122f4565b9150611fa2826125a8565b604082019050919050565b6000611fba6026836122f4565b9150611fc5826125f7565b604082019050919050565b6000611fdd6022836122f4565b9150611fe882612646565b604082019050919050565b6000612000601b836122f4565b915061200b82612695565b602082019050919050565b60006120236020836122f4565b915061202e826126be565b602082019050919050565b60006120466025836122f4565b9150612051826126e7565b604082019050919050565b60006120696024836122f4565b915061207482612736565b604082019050919050565b61208881612458565b82525050565b61209781612462565b82525050565b60006020820190506120b26000830184611eb7565b92915050565b60006020820190506120cd6000830184611f24565b92915050565b60006020820190506120e86000830184611f33565b92915050565b600060208201905081810360008301526121088184611f51565b905092915050565b6000602082019050818103600083015261212981611f8a565b9050919050565b6000602082019050818103600083015261214981611fad565b9050919050565b6000602082019050818103600083015261216981611fd0565b9050919050565b6000602082019050818103600083015261218981611ff3565b9050919050565b600060208201905081810360008301526121a981612016565b9050919050565b600060208201905081810360008301526121c981612039565b9050919050565b600060208201905081810360008301526121e98161205c565b9050919050565b6000602082019050612205600083018461207f565b92915050565b6000604082019050612220600083018561207f565b81810360208301526122328184611ec6565b90509392505050565b600060a082019050612250600083018861207f565b61225d6020830187611f42565b818103604083015261226f8186611ec6565b905061227e6060830185611eb7565b61228b608083018461207f565b9695505050505050565b60006020820190506122aa600083018461208e565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061231082612458565b915061231b83612458565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156123505761234f61250a565b5b828201905092915050565b600061236682612458565b915061237183612458565b92508261238157612380612539565b5b828204905092915050565b600061239782612458565b91506123a283612458565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123db576123da61250a565b5b828202905092915050565b60006123f182612458565b91506123fc83612458565b92508282101561240f5761240e61250a565b5b828203905092915050565b600061242582612438565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061247a82612481565b9050919050565b600061248c82612438565b9050919050565b600061249e82612458565b9050919050565b60005b838110156124c35780820151818401526020810190506124a8565b838111156124d2576000848401525b50505050565b600060028204905060018216806124f057607f821691505b6020821081141561250457612503612568565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61278e8161241a565b811461279957600080fd5b50565b6127a58161242c565b81146127b057600080fd5b50565b6127bc81612458565b81146127c757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202592828f00bdeca2b43030d634ec3628e2f496ce80e469e72f9dca39d8dda86264736f6c63430008010033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806370a08231116100ec578063c816841b1161008a578063dd62ed3e11610064578063dd62ed3e146105dd578063ef422a181461061a578063f2fde38b14610643578063ffae9c501461066c576101a7565b8063c816841b1461055c578063d28d885214610587578063da00097d146105b2576101a7565b806395d89b41116100c657806395d89b411461048e578063a457c2d7146104b9578063a9059cbb146104f6578063c49b9a8014610533576101a7565b806370a082311461040f578063715018a61461044c5780638da5cb5b14610463576101a7565b806339509351116101595780633eaaf86b116101335780633eaaf86b1461036357806342cc2f451461038e57806345e0b9d4146103b95780634a74bb02146103e4576101a7565b806339509351146102d25780633b124fe71461030f5780633b97084a1461033a576101a7565b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461021457806318160ddd1461023f57806323b872dd1461026a578063313ce567146102a7576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610697565b6040516101ce91906120ee565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190611e02565b610729565b60405161020b91906120b8565b60405180910390f35b34801561022057600080fd5b50610229610747565b60405161023691906120d3565b60405180910390f35b34801561024b57600080fd5b5061025461076d565b60405161026191906121f0565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190611d77565b610777565b60405161029e91906120b8565b60405180910390f35b3480156102b357600080fd5b506102bc610851565b6040516102c99190612295565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f49190611e02565b610868565b60405161030691906120b8565b60405180910390f35b34801561031b57600080fd5b5061032461091b565b60405161033191906121f0565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c9190611e67565b610921565b005b34801561036f57600080fd5b506103786109c0565b60405161038591906121f0565b60405180910390f35b34801561039a57600080fd5b506103a36109c6565b6040516103b0919061209d565b60405180910390f35b3480156103c557600080fd5b506103ce6109ec565b6040516103db91906121f0565b60405180910390f35b3480156103f057600080fd5b506103f96109f2565b60405161040691906120b8565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190611ce9565b610a05565b60405161044391906121f0565b60405180910390f35b34801561045857600080fd5b50610461610a4e565b005b34801561046f57600080fd5b50610478610ba3565b604051610485919061209d565b60405180910390f35b34801561049a57600080fd5b506104a3610bcc565b6040516104b091906120ee565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190611e02565b610c5e565b6040516104ed91906120b8565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190611e02565b610d2b565b60405161052a91906120b8565b60405180910390f35b34801561053f57600080fd5b5061055a60048036038101906105559190611e3e565b610d4a565b005b34801561056857600080fd5b50610571610e33565b60405161057e919061209d565b60405180910390f35b34801561059357600080fd5b5061059c610e59565b6040516105a991906120ee565b60405180910390f35b3480156105be57600080fd5b506105c7610ee7565b6040516105d491906120b8565b60405180910390f35b3480156105e957600080fd5b5061060460048036038101906105ff9190611d3b565b610efa565b60405161061191906121f0565b60405180910390f35b34801561062657600080fd5b50610641600480360381019061063c9190611dc6565b610f81565b005b34801561064f57600080fd5b5061066a60048036038101906106659190611ce9565b611071565b005b34801561067857600080fd5b50610681611233565b60405161068e919061209d565b60405180910390f35b6060600280546106a6906124d8565b80601f01602080910402602001604051908101604052809291908181526020018280546106d2906124d8565b801561071f5780601f106106f45761010080835404028352916020019161071f565b820191906000526020600020905b81548152906001019060200180831161070257829003601f168201915b5050505050905090565b600061073d610736611259565b8484611261565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b600061078484848461142c565b5061084684610791611259565b610841856040518060600160405280602881526020016127cb60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107f7611259565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116359092919063ffffffff16565b611261565b600190509392505050565b6000600460009054906101000a900460ff16905090565b6000610911610875611259565b8461090c8560066000610886611259565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169990919063ffffffff16565b611261565b6001905092915050565b60085481565b610929611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ad90612190565b60405180910390fd5b80600b8190555050565b60095481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600e60159054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a56611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ada90612190565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610bdb906124d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c07906124d8565b8015610c545780601f10610c2957610100808354040283529160200191610c54565b820191906000526020600020905b815481529060010190602001808311610c3757829003601f168201915b5050505050905090565b6000610d21610c6b611259565b84610d1c856040518060600160405280602581526020016127f36025913960066000610c95611259565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116359092919063ffffffff16565b611261565b6001905092915050565b6000610d3f610d38611259565b848461142c565b506001905092915050565b610d52611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd690612190565b60405180910390fd5b80600e60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051610e2891906120b8565b60405180910390a150565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054610e66906124d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e92906124d8565b8015610edf5780601f10610eb457610100808354040283529160200191610edf565b820191906000526020600020905b815481529060010190602001808311610ec257829003601f168201915b505050505081565b600e60169054906101000a900460ff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f89611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100d90612190565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611079611259565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd90612190565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90612130565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c8906121d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133890612150565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161141f91906121f0565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561149d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611494906121b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490612110565b60405180910390fd5b6000600b5483101590508080156115315750600e60149054906101000a900460ff16155b801561158a5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156115a25750600e60159054906101000a900460ff165b801561160257506115b1611259565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561161557611610836116f7565b611628565b61162085858561175d565b91505061162e565b60019150505b9392505050565b600083831115829061167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167491906120ee565b60405180910390fd5b506000838561168c91906123e6565b9050809150509392505050565b60008082846116a89190612305565b9050838110156116ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e490612170565b60405180910390fd5b8091505092915050565b6001600e60146101000a81548160ff0219169083151502179055506000819050600061172c828461192c90919063ffffffff16565b905061173783611976565b60004790505050506000600e60146101000a81548160ff02191690831515021790555050565b600080606460085484611770919061238c565b61177a919061235b565b90506117ce83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192c90919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611824818461192c90919063ffffffff16565b925061187883600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169990919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161191891906121f0565b60405180910390a360019150509392505050565b600061196e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611635565b905092915050565b6000600267ffffffffffffffff8111156119b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156119e75781602001602082028036833780820191505090505b5090503081600081518110611a25577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ac757600080fd5b505afa158015611adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aff9190611d12565b81600181518110611b39577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ba030600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611261565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611c2695949392919061223b565b600060405180830381600087803b158015611c4057600080fd5b505af1158015611c54573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611c8992919061220b565b60405180910390a15050565b600081359050611ca481612785565b92915050565b600081519050611cb981612785565b92915050565b600081359050611cce8161279c565b92915050565b600081359050611ce3816127b3565b92915050565b600060208284031215611cfb57600080fd5b6000611d0984828501611c95565b91505092915050565b600060208284031215611d2457600080fd5b6000611d3284828501611caa565b91505092915050565b60008060408385031215611d4e57600080fd5b6000611d5c85828601611c95565b9250506020611d6d85828601611c95565b9150509250929050565b600080600060608486031215611d8c57600080fd5b6000611d9a86828701611c95565b9350506020611dab86828701611c95565b9250506040611dbc86828701611cd4565b9150509250925092565b60008060408385031215611dd957600080fd5b6000611de785828601611c95565b9250506020611df885828601611cbf565b9150509250929050565b60008060408385031215611e1557600080fd5b6000611e2385828601611c95565b9250506020611e3485828601611cd4565b9150509250929050565b600060208284031215611e5057600080fd5b6000611e5e84828501611cbf565b91505092915050565b600060208284031215611e7957600080fd5b6000611e8784828501611cd4565b91505092915050565b6000611e9c8383611ea8565b60208301905092915050565b611eb18161241a565b82525050565b611ec08161241a565b82525050565b6000611ed1826122c0565b611edb81856122e3565b9350611ee6836122b0565b8060005b83811015611f17578151611efe8882611e90565b9750611f09836122d6565b925050600181019050611eea565b5085935050505092915050565b611f2d8161242c565b82525050565b611f3c8161246f565b82525050565b611f4b81612493565b82525050565b6000611f5c826122cb565b611f6681856122f4565b9350611f768185602086016124a5565b611f7f81612597565b840191505092915050565b6000611f976023836122f4565b9150611fa2826125a8565b604082019050919050565b6000611fba6026836122f4565b9150611fc5826125f7565b604082019050919050565b6000611fdd6022836122f4565b9150611fe882612646565b604082019050919050565b6000612000601b836122f4565b915061200b82612695565b602082019050919050565b60006120236020836122f4565b915061202e826126be565b602082019050919050565b60006120466025836122f4565b9150612051826126e7565b604082019050919050565b60006120696024836122f4565b915061207482612736565b604082019050919050565b61208881612458565b82525050565b61209781612462565b82525050565b60006020820190506120b26000830184611eb7565b92915050565b60006020820190506120cd6000830184611f24565b92915050565b60006020820190506120e86000830184611f33565b92915050565b600060208201905081810360008301526121088184611f51565b905092915050565b6000602082019050818103600083015261212981611f8a565b9050919050565b6000602082019050818103600083015261214981611fad565b9050919050565b6000602082019050818103600083015261216981611fd0565b9050919050565b6000602082019050818103600083015261218981611ff3565b9050919050565b600060208201905081810360008301526121a981612016565b9050919050565b600060208201905081810360008301526121c981612039565b9050919050565b600060208201905081810360008301526121e98161205c565b9050919050565b6000602082019050612205600083018461207f565b92915050565b6000604082019050612220600083018561207f565b81810360208301526122328184611ec6565b90509392505050565b600060a082019050612250600083018861207f565b61225d6020830187611f42565b818103604083015261226f8186611ec6565b905061227e6060830185611eb7565b61228b608083018461207f565b9695505050505050565b60006020820190506122aa600083018461208e565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061231082612458565b915061231b83612458565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156123505761234f61250a565b5b828201905092915050565b600061236682612458565b915061237183612458565b92508261238157612380612539565b5b828204905092915050565b600061239782612458565b91506123a283612458565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123db576123da61250a565b5b828202905092915050565b60006123f182612458565b91506123fc83612458565b92508282101561240f5761240e61250a565b5b828203905092915050565b600061242582612438565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061247a82612481565b9050919050565b600061248c82612438565b9050919050565b600061249e82612458565b9050919050565b60005b838110156124c35780820151818401526020810190506124a8565b838111156124d2576000848401525b50505050565b600060028204905060018216806124f057607f821691505b6020821081141561250457612503612568565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61278e8161241a565b811461279957600080fd5b50565b6127a58161242c565b81146127b057600080fd5b50565b6127bc81612458565b81146127c757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202592828f00bdeca2b43030d634ec3628e2f496ce80e469e72f9dca39d8dda86264736f6c63430008010033

Deployed Bytecode Sourcemap

16011:7432:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18233:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19399:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16772:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18510:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23121:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18419:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18896:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16561:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20060:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16596:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16853:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16660:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16922:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18618:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7688:230;;;;;;;;;;;;;:::i;:::-;;7463:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18324:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19122:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20648:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20296:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16820:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16141:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16969:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18745:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19917:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7926:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16286:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18233:83;18270:13;18303:5;18296:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18233:83;:::o;19399:161::-;19474:4;19491:39;19500:12;:10;:12::i;:::-;19514:7;19523:6;19491:8;:39::i;:::-;19548:4;19541:11;;19399:161;;;;:::o;16772:41::-;;;;;;;;;;;;;:::o;18510:100::-;18563:7;18590:12;;18583:19;;18510:100;:::o;23121:313::-;23219:4;23236:36;23246:6;23254:9;23265:6;23236:9;:36::i;:::-;;23283:121;23292:6;23300:12;:10;:12::i;:::-;23314:89;23352:6;23314:89;;;;;;;;;;;;;;;;;:11;:19;23326:6;23314:19;;;;;;;;;;;;;;;:33;23334:12;:10;:12::i;:::-;23314:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;23283:8;:121::i;:::-;23422:4;23415:11;;23121:313;;;;;:::o;18419:83::-;18460:5;18485:9;;;;;;;;;;;18478:16;;18419:83;:::o;18896:218::-;18984:4;19001:83;19010:12;:10;:12::i;:::-;19024:7;19033:50;19072:10;19033:11;:25;19045:12;:10;:12::i;:::-;19033:25;;;;;;;;;;;;;;;:34;19059:7;19033:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;19001:8;:83::i;:::-;19102:4;19095:11;;18896:218;;;;:::o;16561:26::-;;;;:::o;20060:124::-;7607:12;:10;:12::i;:::-;7597:22;;:6;;;;;;;;;;:22;;;7589:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20168:8:::1;20142:23;:34;;;;20060:124:::0;:::o;16596:55::-;;;;:::o;16853:28::-;;;;;;;;;;;;;:::o;16660:36::-;;;;:::o;16922:40::-;;;;;;;;;;;;;:::o;18618:119::-;18684:7;18711:9;:18;18721:7;18711:18;;;;;;;;;;;;;;;;18704:25;;18618:119;;;:::o;7688:230::-;7607:12;:10;:12::i;:::-;7597:22;;:6;;;;;;;;;;:22;;;7589:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7795:42:::1;7758:81;;7779:6;::::0;::::1;;;;;;;;7758:81;;;;;;;;;;;;7867:42;7850:6;::::0;:60:::1;;;;;;;;;;;;;;;;;;7688:230::o:0;7463:79::-;7501:7;7528:6;;;;;;;;;;;7521:13;;7463:79;:::o;18324:87::-;18363:13;18396:7;18389:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18324:87;:::o;19122:269::-;19215:4;19232:129;19241:12;:10;:12::i;:::-;19255:7;19264:96;19303:15;19264:96;;;;;;;;;;;;;;;;;:11;:25;19276:12;:10;:12::i;:::-;19264:25;;;;;;;;;;;;;;;:34;19290:7;19264:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;19232:8;:129::i;:::-;19379:4;19372:11;;19122:269;;;;:::o;20648:167::-;20726:4;20743:42;20753:12;:10;:12::i;:::-;20767:9;20778:6;20743:9;:42::i;:::-;;20803:4;20796:11;;20648:167;;;;:::o;20296:171::-;7607:12;:10;:12::i;:::-;7597:22;;:6;;;;;;;;;;:22;;;7589:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20397:8:::1;20373:21;;:32;;;;;;;;;;;;;;;;;;20421:38;20450:8;20421:38;;;;;;:::i;:::-;;;;;;;;20296:171:::0;:::o;16820:26::-;;;;;;;;;;;;;:::o;16141:56::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16969:45::-;;;;;;;;;;;;;:::o;18745:143::-;18826:7;18853:11;:18;18865:5;18853:18;;;;;;;;;;;;;;;:27;18872:7;18853:27;;;;;;;;;;;;;;;;18846:34;;18745:143;;;;:::o;19917:135::-;7607:12;:10;:12::i;:::-;7597:22;;:6;;;;;;;;;;:22;;;7589:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20036:8:::1;20007:17;:26;20025:7;20007:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;19917:135:::0;;:::o;7926:244::-;7607:12;:10;:12::i;:::-;7597:22;;:6;;;;;;;;;;:22;;;7589:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8035:1:::1;8015:22;;:8;:22;;;;8007:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8125:8;8096:38;;8117:6;::::0;::::1;;;;;;;;8096:38;;;;;;;;;;;;8154:8;8145:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;7926:244:::0;:::o;16286:73::-;;;;;;;;;;;;;:::o;2233:115::-;2286:15;2329:10;2314:26;;2233:115;:::o;19568:337::-;19678:1;19661:19;;:5;:19;;;;19653:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19759:1;19740:21;;:7;:21;;;;19732:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19843:6;19813:11;:18;19825:5;19813:18;;;;;;;;;;;;;;;:27;19832:7;19813:27;;;;;;;;;;;;;;;:36;;;;19881:7;19865:32;;19874:5;19865:32;;;19890:6;19865:32;;;;;;:::i;:::-;;;;;;;;19568:337;;;:::o;20827:650::-;20914:4;20959:1;20941:20;;:6;:20;;;;20933:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;21043:1;21022:23;;:9;:23;;;;21014:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21098:28;21139:23;;21129:6;:33;;21098:64;;21177:23;:44;;;;;21205:16;;;;;;;;;;;21204:17;21177:44;:72;;;;;21236:13;;;;;;;;;;;21225:24;;:9;:24;;;21177:72;:97;;;;;21253:21;;;;;;;;;;;21177:97;:130;;;;;21295:12;:10;:12::i;:::-;21278:29;;:13;;;;;;;;;;;:29;;;21177:130;21173:275;;;21334:22;21349:6;21334:14;:22::i;:::-;21173:275;;;21394:41;21409:6;21417:9;21428:6;21394:14;:41::i;:::-;21387:48;;;;;21173:275;21465:4;21458:11;;;20827:650;;;;;;:::o;3503:192::-;3589:7;3622:1;3617;:6;;3625:12;3609:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3649:9;3665:1;3661;:5;;;;:::i;:::-;3649:17;;3686:1;3679:8;;;3503:192;;;;;:::o;3170:181::-;3228:7;3248:9;3264:1;3260;:5;;;;:::i;:::-;3248:17;;3289:1;3284;:6;;3276:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3342:1;3335:8;;;3170:181;;;;:::o;21883:275::-;17456:4;17437:16;;:23;;;;;;;;;;;;;;;;;;21965:19:::1;21987:7;21965:29;;22005:21;22029:24;22041:11;22029:7;:11;;:24;;;;:::i;:::-;22005:48;;22066:25;22083:7;22066:16;:25::i;:::-;22102:22;22127:21;22102:46;;17471:1;;;17502:5:::0;17483:16;;:24;;;;;;;;;;;;;;;;;;21883:275;:::o;21485:390::-;21578:4;21595:11;21630:3;21619:7;;21610:6;:16;;;;:::i;:::-;21609:24;;;;:::i;:::-;21595:38;;21664:29;21686:6;21664:9;:17;21674:6;21664:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;21644:9;:17;21654:6;21644:17;;;;;;;;;;;;;;;:49;;;;21713:15;21724:3;21713:6;:10;;:15;;;;:::i;:::-;21704:24;;21762:32;21787:6;21762:9;:20;21772:9;21762:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;21739:9;:20;21749:9;21739:20;;;;;;;;;;;;;;;:55;;;;21827:9;21810:35;;21819:6;21810:35;;;21838:6;21810:35;;;;;;:::i;:::-;;;;;;;;21863:4;21856:11;;;21485:390;;;;;:::o;3359:136::-;3417:7;3444:43;3448:1;3451;3444:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3437:50;;3359:136;;;;:::o;22170:568::-;22238:21;22276:1;22262:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22238:40;;22307:4;22289;22294:1;22289:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;22333:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22323:4;22328:1;22323:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;;;22368:62;22385:4;22400:15;;;;;;;;;;;22418:11;22368:8;:62::i;:::-;22445:15;;;;;;;;;;;:66;;;22526:11;22552:1;22596:4;22615:13;;;;;;;;;;;22643:15;22445:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22695:35;22712:11;22725:4;22695:35;;;;;;;:::i;:::-;;;;;;;;22170:568;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:139::-;;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;492:87;;;;:::o;585:262::-;;693:2;681:9;672:7;668:23;664:32;661:2;;;709:1;706;699:12;661:2;752:1;777:53;822:7;813:6;802:9;798:22;777:53;:::i;:::-;767:63;;723:117;651:196;;;;:::o;853:284::-;;972:2;960:9;951:7;947:23;943:32;940:2;;;988:1;985;978:12;940:2;1031:1;1056:64;1112:7;1103:6;1092:9;1088:22;1056:64;:::i;:::-;1046:74;;1002:128;930:207;;;;:::o;1143:407::-;;;1268:2;1256:9;1247:7;1243:23;1239:32;1236:2;;;1284:1;1281;1274:12;1236:2;1327:1;1352:53;1397:7;1388:6;1377:9;1373:22;1352:53;:::i;:::-;1342:63;;1298:117;1454:2;1480:53;1525:7;1516:6;1505:9;1501:22;1480:53;:::i;:::-;1470:63;;1425:118;1226:324;;;;;:::o;1556:552::-;;;;1698:2;1686:9;1677:7;1673:23;1669:32;1666:2;;;1714:1;1711;1704:12;1666:2;1757:1;1782:53;1827:7;1818:6;1807:9;1803:22;1782:53;:::i;:::-;1772:63;;1728:117;1884:2;1910:53;1955:7;1946:6;1935:9;1931:22;1910:53;:::i;:::-;1900:63;;1855:118;2012:2;2038:53;2083:7;2074:6;2063:9;2059:22;2038:53;:::i;:::-;2028:63;;1983:118;1656:452;;;;;:::o;2114:401::-;;;2236:2;2224:9;2215:7;2211:23;2207:32;2204:2;;;2252:1;2249;2242:12;2204:2;2295:1;2320:53;2365:7;2356:6;2345:9;2341:22;2320:53;:::i;:::-;2310:63;;2266:117;2422:2;2448:50;2490:7;2481:6;2470:9;2466:22;2448:50;:::i;:::-;2438:60;;2393:115;2194:321;;;;;:::o;2521:407::-;;;2646:2;2634:9;2625:7;2621:23;2617:32;2614:2;;;2662:1;2659;2652:12;2614:2;2705:1;2730:53;2775:7;2766:6;2755:9;2751:22;2730:53;:::i;:::-;2720:63;;2676:117;2832:2;2858:53;2903:7;2894:6;2883:9;2879:22;2858:53;:::i;:::-;2848:63;;2803:118;2604:324;;;;;:::o;2934:256::-;;3039:2;3027:9;3018:7;3014:23;3010:32;3007:2;;;3055:1;3052;3045:12;3007:2;3098:1;3123:50;3165:7;3156:6;3145:9;3141:22;3123:50;:::i;:::-;3113:60;;3069:114;2997:193;;;;:::o;3196:262::-;;3304:2;3292:9;3283:7;3279:23;3275:32;3272:2;;;3320:1;3317;3310:12;3272:2;3363:1;3388:53;3433:7;3424:6;3413:9;3409:22;3388:53;:::i;:::-;3378:63;;3334:117;3262:196;;;;:::o;3464:179::-;;3554:46;3596:3;3588:6;3554:46;:::i;:::-;3632:4;3627:3;3623:14;3609:28;;3544:99;;;;:::o;3649:108::-;3726:24;3744:5;3726:24;:::i;:::-;3721:3;3714:37;3704:53;;:::o;3763:118::-;3850:24;3868:5;3850:24;:::i;:::-;3845:3;3838:37;3828:53;;:::o;3917:732::-;;4065:54;4113:5;4065:54;:::i;:::-;4135:86;4214:6;4209:3;4135:86;:::i;:::-;4128:93;;4245:56;4295:5;4245:56;:::i;:::-;4324:7;4355:1;4340:284;4365:6;4362:1;4359:13;4340:284;;;4441:6;4435:13;4468:63;4527:3;4512:13;4468:63;:::i;:::-;4461:70;;4554:60;4607:6;4554:60;:::i;:::-;4544:70;;4400:224;4387:1;4384;4380:9;4375:14;;4340:284;;;4344:14;4640:3;4633:10;;4041:608;;;;;;;:::o;4655:109::-;4736:21;4751:5;4736:21;:::i;:::-;4731:3;4724:34;4714:50;;:::o;4770:185::-;4884:64;4942:5;4884:64;:::i;:::-;4879:3;4872:77;4862:93;;:::o;4961:147::-;5056:45;5095:5;5056:45;:::i;:::-;5051:3;5044:58;5034:74;;:::o;5114:364::-;;5230:39;5263:5;5230:39;:::i;:::-;5285:71;5349:6;5344:3;5285:71;:::i;:::-;5278:78;;5365:52;5410:6;5405:3;5398:4;5391:5;5387:16;5365:52;:::i;:::-;5442:29;5464:6;5442:29;:::i;:::-;5437:3;5433:39;5426:46;;5206:272;;;;;:::o;5484:366::-;;5647:67;5711:2;5706:3;5647:67;:::i;:::-;5640:74;;5723:93;5812:3;5723:93;:::i;:::-;5841:2;5836:3;5832:12;5825:19;;5630:220;;;:::o;5856:366::-;;6019:67;6083:2;6078:3;6019:67;:::i;:::-;6012:74;;6095:93;6184:3;6095:93;:::i;:::-;6213:2;6208:3;6204:12;6197:19;;6002:220;;;:::o;6228:366::-;;6391:67;6455:2;6450:3;6391:67;:::i;:::-;6384:74;;6467:93;6556:3;6467:93;:::i;:::-;6585:2;6580:3;6576:12;6569:19;;6374:220;;;:::o;6600:366::-;;6763:67;6827:2;6822:3;6763:67;:::i;:::-;6756:74;;6839:93;6928:3;6839:93;:::i;:::-;6957:2;6952:3;6948:12;6941:19;;6746:220;;;:::o;6972:366::-;;7135:67;7199:2;7194:3;7135:67;:::i;:::-;7128:74;;7211:93;7300:3;7211:93;:::i;:::-;7329:2;7324:3;7320:12;7313:19;;7118:220;;;:::o;7344:366::-;;7507:67;7571:2;7566:3;7507:67;:::i;:::-;7500:74;;7583:93;7672:3;7583:93;:::i;:::-;7701:2;7696:3;7692:12;7685:19;;7490:220;;;:::o;7716:366::-;;7879:67;7943:2;7938:3;7879:67;:::i;:::-;7872:74;;7955:93;8044:3;7955:93;:::i;:::-;8073:2;8068:3;8064:12;8057:19;;7862:220;;;:::o;8088:118::-;8175:24;8193:5;8175:24;:::i;:::-;8170:3;8163:37;8153:53;;:::o;8212:112::-;8295:22;8311:5;8295:22;:::i;:::-;8290:3;8283:35;8273:51;;:::o;8330:222::-;;8461:2;8450:9;8446:18;8438:26;;8474:71;8542:1;8531:9;8527:17;8518:6;8474:71;:::i;:::-;8428:124;;;;:::o;8558:210::-;;8683:2;8672:9;8668:18;8660:26;;8696:65;8758:1;8747:9;8743:17;8734:6;8696:65;:::i;:::-;8650:118;;;;:::o;8774:276::-;;8932:2;8921:9;8917:18;8909:26;;8945:98;9040:1;9029:9;9025:17;9016:6;8945:98;:::i;:::-;8899:151;;;;:::o;9056:313::-;;9207:2;9196:9;9192:18;9184:26;;9256:9;9250:4;9246:20;9242:1;9231:9;9227:17;9220:47;9284:78;9357:4;9348:6;9284:78;:::i;:::-;9276:86;;9174:195;;;;:::o;9375:419::-;;9579:2;9568:9;9564:18;9556:26;;9628:9;9622:4;9618:20;9614:1;9603:9;9599:17;9592:47;9656:131;9782:4;9656:131;:::i;:::-;9648:139;;9546:248;;;:::o;9800:419::-;;10004:2;9993:9;9989:18;9981:26;;10053:9;10047:4;10043:20;10039:1;10028:9;10024:17;10017:47;10081:131;10207:4;10081:131;:::i;:::-;10073:139;;9971:248;;;:::o;10225:419::-;;10429:2;10418:9;10414:18;10406:26;;10478:9;10472:4;10468:20;10464:1;10453:9;10449:17;10442:47;10506:131;10632:4;10506:131;:::i;:::-;10498:139;;10396:248;;;:::o;10650:419::-;;10854:2;10843:9;10839:18;10831:26;;10903:9;10897:4;10893:20;10889:1;10878:9;10874:17;10867:47;10931:131;11057:4;10931:131;:::i;:::-;10923:139;;10821:248;;;:::o;11075:419::-;;11279:2;11268:9;11264:18;11256:26;;11328:9;11322:4;11318:20;11314:1;11303:9;11299:17;11292:47;11356:131;11482:4;11356:131;:::i;:::-;11348:139;;11246:248;;;:::o;11500:419::-;;11704:2;11693:9;11689:18;11681:26;;11753:9;11747:4;11743:20;11739:1;11728:9;11724:17;11717:47;11781:131;11907:4;11781:131;:::i;:::-;11773:139;;11671:248;;;:::o;11925:419::-;;12129:2;12118:9;12114:18;12106:26;;12178:9;12172:4;12168:20;12164:1;12153:9;12149:17;12142:47;12206:131;12332:4;12206:131;:::i;:::-;12198:139;;12096:248;;;:::o;12350:222::-;;12481:2;12470:9;12466:18;12458:26;;12494:71;12562:1;12551:9;12547:17;12538:6;12494:71;:::i;:::-;12448:124;;;;:::o;12578:483::-;;12787:2;12776:9;12772:18;12764:26;;12800:71;12868:1;12857:9;12853:17;12844:6;12800:71;:::i;:::-;12918:9;12912:4;12908:20;12903:2;12892:9;12888:18;12881:48;12946:108;13049:4;13040:6;12946:108;:::i;:::-;12938:116;;12754:307;;;;;:::o;13067:831::-;;13368:3;13357:9;13353:19;13345:27;;13382:71;13450:1;13439:9;13435:17;13426:6;13382:71;:::i;:::-;13463:80;13539:2;13528:9;13524:18;13515:6;13463:80;:::i;:::-;13590:9;13584:4;13580:20;13575:2;13564:9;13560:18;13553:48;13618:108;13721:4;13712:6;13618:108;:::i;:::-;13610:116;;13736:72;13804:2;13793:9;13789:18;13780:6;13736:72;:::i;:::-;13818:73;13886:3;13875:9;13871:19;13862:6;13818:73;:::i;:::-;13335:563;;;;;;;;:::o;13904:214::-;;14031:2;14020:9;14016:18;14008:26;;14044:67;14108:1;14097:9;14093:17;14084:6;14044:67;:::i;:::-;13998:120;;;;:::o;14124:132::-;;14214:3;14206:11;;14244:4;14239:3;14235:14;14227:22;;14196:60;;;:::o;14262:114::-;;14363:5;14357:12;14347:22;;14336:40;;;:::o;14382:99::-;;14468:5;14462:12;14452:22;;14441:40;;;:::o;14487:113::-;;14589:4;14584:3;14580:14;14572:22;;14562:38;;;:::o;14606:184::-;;14739:6;14734:3;14727:19;14779:4;14774:3;14770:14;14755:29;;14717:73;;;;:::o;14796:169::-;;14914:6;14909:3;14902:19;14954:4;14949:3;14945:14;14930:29;;14892:73;;;;:::o;14971:305::-;;15030:20;15048:1;15030:20;:::i;:::-;15025:25;;15064:20;15082:1;15064:20;:::i;:::-;15059:25;;15218:1;15150:66;15146:74;15143:1;15140:81;15137:2;;;15224:18;;:::i;:::-;15137:2;15268:1;15265;15261:9;15254:16;;15015:261;;;;:::o;15282:185::-;;15339:20;15357:1;15339:20;:::i;:::-;15334:25;;15373:20;15391:1;15373:20;:::i;:::-;15368:25;;15412:1;15402:2;;15417:18;;:::i;:::-;15402:2;15459:1;15456;15452:9;15447:14;;15324:143;;;;:::o;15473:348::-;;15536:20;15554:1;15536:20;:::i;:::-;15531:25;;15570:20;15588:1;15570:20;:::i;:::-;15565:25;;15758:1;15690:66;15686:74;15683:1;15680:81;15675:1;15668:9;15661:17;15657:105;15654:2;;;15765:18;;:::i;:::-;15654:2;15813:1;15810;15806:9;15795:20;;15521:300;;;;:::o;15827:191::-;;15887:20;15905:1;15887:20;:::i;:::-;15882:25;;15921:20;15939:1;15921:20;:::i;:::-;15916:25;;15960:1;15957;15954:8;15951:2;;;15965:18;;:::i;:::-;15951:2;16010:1;16007;16003:9;15995:17;;15872:146;;;;:::o;16024:96::-;;16090:24;16108:5;16090:24;:::i;:::-;16079:35;;16069:51;;;:::o;16126:90::-;;16203:5;16196:13;16189:21;16178:32;;16168:48;;;:::o;16222:126::-;;16299:42;16292:5;16288:54;16277:65;;16267:81;;;:::o;16354:77::-;;16420:5;16409:16;;16399:32;;;:::o;16437:86::-;;16512:4;16505:5;16501:16;16490:27;;16480:43;;;:::o;16529:180::-;;16639:64;16697:5;16639:64;:::i;:::-;16626:77;;16616:93;;;:::o;16715:140::-;;16825:24;16843:5;16825:24;:::i;:::-;16812:37;;16802:53;;;:::o;16861:121::-;;16952:24;16970:5;16952:24;:::i;:::-;16939:37;;16929:53;;;:::o;16988:307::-;17056:1;17066:113;17080:6;17077:1;17074:13;17066:113;;;17165:1;17160:3;17156:11;17150:18;17146:1;17141:3;17137:11;17130:39;17102:2;17099:1;17095:10;17090:15;;17066:113;;;17197:6;17194:1;17191:13;17188:2;;;17277:1;17268:6;17263:3;17259:16;17252:27;17188:2;17037:258;;;;:::o;17301:320::-;;17382:1;17376:4;17372:12;17362:22;;17429:1;17423:4;17419:12;17450:18;17440:2;;17506:4;17498:6;17494:17;17484:27;;17440:2;17568;17560:6;17557:14;17537:18;17534:38;17531:2;;;17587:18;;:::i;:::-;17531:2;17352:269;;;;:::o;17627:180::-;17675:77;17672:1;17665:88;17772:4;17769:1;17762:15;17796:4;17793:1;17786:15;17813:180;17861:77;17858:1;17851:88;17958:4;17955:1;17948:15;17982:4;17979:1;17972:15;17999:180;18047:77;18044:1;18037:88;18144:4;18141:1;18134:15;18168:4;18165:1;18158:15;18185:102;;18277:2;18273:7;18268:2;18261:5;18257:14;18253:28;18243:38;;18233:54;;;:::o;18293:222::-;18433:34;18429:1;18421:6;18417:14;18410:58;18502:5;18497:2;18489:6;18485:15;18478:30;18399:116;:::o;18521:225::-;18661:34;18657:1;18649:6;18645:14;18638:58;18730:8;18725:2;18717:6;18713:15;18706:33;18627:119;:::o;18752:221::-;18892:34;18888:1;18880:6;18876:14;18869:58;18961:4;18956:2;18948:6;18944:15;18937:29;18858:115;:::o;18979:177::-;19119:29;19115:1;19107:6;19103:14;19096:53;19085:71;:::o;19162:182::-;19302:34;19298:1;19290:6;19286:14;19279:58;19268:76;:::o;19350:224::-;19490:34;19486:1;19478:6;19474:14;19467:58;19559:7;19554:2;19546:6;19542:15;19535:32;19456:118;:::o;19580:223::-;19720:34;19716:1;19708:6;19704:14;19697:58;19789:6;19784:2;19776:6;19772:15;19765:31;19686:117;:::o;19809:122::-;19882:24;19900:5;19882:24;:::i;:::-;19875:5;19872:35;19862:2;;19921:1;19918;19911:12;19862:2;19852:79;:::o;19937:116::-;20007:21;20022:5;20007:21;:::i;:::-;20000:5;19997:32;19987:2;;20043:1;20040;20033:12;19987:2;19977:76;:::o;20059:122::-;20132:24;20150:5;20132:24;:::i;:::-;20125:5;20122:35;20112:2;;20171:1;20168;20161:12;20112:2;20102:79;:::o

Swarm Source

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