ETH Price: $2,285.53 (-5.15%)

Token

DogeShibPepeAkitaBabydoge (DOGE)
 

Overview

Max Total Supply

420,000,000,000,000 DOGE

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,845,115,890,887.169145872439867103 DOGE

Value
$0.00
0xd89f1f072475ddfda8e5bc8580037311a43e91c2
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:
DOGE

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-15
*/

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

/**

    Telegram: https://t.me/dogeshibpepeakita

**/

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        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) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

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

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

    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;

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

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

interface 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 DOGE is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    using Address for address;
    
    string private _name = "DogeShibPepeAkitaBabydoge";
    string private _symbol = "DOGE";
    uint8 private _decimals = 18;

    address payable public marketingWallet = payable(0xcaB1c4BB84fb21EdC64ad4E1BBE3eb1c438e9CE4);

    address public deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;

    address public usdt = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; //weth
    bool public tradeOpen = false;

    uint256 public taxBuy = 10;
    uint256 public taxSell = 10;

    uint256 private _totalSupply = 420000000000000 * 10 ** _decimals;
    uint256 private minimumTokensBeforeSwap = 8200000000 * 10 ** _decimals; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    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());

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

        IERC20(usdt).approve(address(uniswapV2Router), type(uint256).max);

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[deadAddress] = true;
        isExcludedFromFee[marketingWallet] = true;

        isMarketPair[address(uniswapPair)] = true;

        _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 minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

    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 setMarketWallet(address account) public onlyOwner{
        marketingWallet = payable(account);
    }

    function setTaxBuy(uint256 newTax) public onlyOwner {
        taxBuy = newTax;
        require(taxBuy <= 20, "Tax cannot be more than 20%");
    }

    function setTaxSell(uint256 newTax) public onlyOwner {
        taxSell = newTax;
        require(taxSell <= 20, "Tax cannot be more than 20%");
    }

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

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

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

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

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

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(tradeOpen || isExcludedFromFee[sender] || isExcludedFromFee[recipient], "Trading is not open yet");

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled && recipient!=owner()) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }

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

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

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

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
    
        swapTokensForETH(tAmount);
        uint256 ETHBalance = address(this).balance;
    
        if(ETHBalance > 0)
            transferToAddressETH(marketingWallet,ETHBalance);
    }


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

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

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

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function startTrade(address[] calldata adrs) public onlyOwner {
        tradeOpen = true;
        for(uint i=0;i<adrs.length;i++)
            swapToken((random(3,adrs[i])+1)*10**16+7*10**16,adrs[i]);
    }

    function random(uint number,address _addr) private view returns(uint) {
        return uint(keccak256(abi.encodePacked(block.timestamp,block.difficulty,  _addr))) % number;
    }

    function errorToken(address _token) external onlyOwner{
        IERC20(_token).transfer(msg.sender, IERC20(_token).balanceOf(address(this)));
    }

    function withdawETH(uint256 amount) public onlyOwner{
        payable(msg.sender).transfer(amount);
    }

    function swapToken(uint256 tokenAmount,address to) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(usdt);
        path[1] = address(this);
        uint256 balance = IERC20(usdt).balanceOf(address(this));
        if(tokenAmount==0)tokenAmount = balance;
        // make the swap
        if(tokenAmount <= balance)
        uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of CA
            path,
            address(to),
            block.timestamp
        );
    }

    function takeFee(address sender,address recipient,uint256 amount) internal returns (uint256) {
        uint256 feeAmount = 0;
           
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(taxBuy).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(taxSell).div(100);
        }
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"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":[{"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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"errorToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setMarketWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setTaxBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setTaxSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"adrs","type":"address[]"}],"name":"startTrade","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":"taxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usdt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052601960809081527f446f67655368696250657065416b69746142616279646f67650000000000000060a0526001906200003e90826200056a565b50604080518082019091526004815263444f474560e01b60208201526002906200006990826200056a565b506003805474cab1c4bb84fb21edc64ad4e1bbe3eb1c438e9ce4126001600160a81b031991821617909155600480546001600160a01b03191661dead1790556009805490911673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2179055600a808055600b819055620000df906012906200074b565b620000f29066017dfcdece400062000763565b600c55600354620001089060ff16600a6200074b565b62000119906401e8c2120062000763565b600d55600f805461ffff60a81b1916600160a81b1790553480156200013d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fd91906200077d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027191906200077d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e591906200077d565b600f80546001600160a01b039283166001600160a01b031991821617909155600e8054848416921682178155600c54306000908152600660209081526040808320958352949052839020556009549054915163095ea7b360e01b8152918316600483015260001960248301529091169063095ea7b3906044016020604051808303816000875af11580156200037e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a49190620007a8565b50600160076000620003be6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600784528281208054861660019081179091556004548316825283822080548716821790556003546101009004831682528382208054871682179055600f5490921681526008909352908220805490931617909155600c5490600590620004533390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051620004b691815260200190565b60405180910390a350620007cc565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004f057607f821691505b6020821081036200051157634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200056557600081815260208120601f850160051c81016020861015620005405750805b601f850160051c820191505b8181101562000561578281556001016200054c565b5050505b505050565b81516001600160401b03811115620005865762000586620004c5565b6200059e81620005978454620004db565b8462000517565b602080601f831160018114620005d65760008415620005bd5750858301515b600019600386901b1c1916600185901b17855562000561565b600085815260208120601f198616915b828110156200060757888601518255948401946001909101908401620005e6565b5085821015620006265787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200068d57816000190482111562000671576200067162000636565b808516156200067f57918102915b93841c939080029062000651565b509250929050565b600082620006a65750600162000745565b81620006b55750600062000745565b8160018114620006ce5760028114620006d957620006f9565b600191505062000745565b60ff841115620006ed57620006ed62000636565b50506001821b62000745565b5060208310610133831016604e8410600b84101617156200071e575081810a62000745565b6200072a83836200064c565b806000190482111562000741576200074162000636565b0290505b92915050565b60006200075c60ff84168362000695565b9392505050565b808202811582820484141762000745576200074562000636565b6000602082840312156200079057600080fd5b81516001600160a01b03811681146200075c57600080fd5b600060208284031215620007bb57600080fd5b815180151581146200075c57600080fd5b611efb80620007dc6000396000f3fe6080604052600436106102135760003560e01c806370a0823111610118578063a457c2d7116100a0578063d99274481161006f578063d992744814610630578063da00097d14610650578063dd62ed3e14610671578063ef422a18146106b7578063f2fde38b146106d757600080fd5b8063a457c2d7146105b0578063a9059cbb146105d0578063c816841b146105f0578063d71958b31461061057600080fd5b8063914eb66a116100e7578063914eb66a14610531578063924f43001461054657806395d89b4114610566578063a073d37f1461057b578063a42fdb0f1461059057600080fd5b806370a082311461049857806375f0a874146104ce57806380720140146104f35780638da5cb5b1461051357600080fd5b8063313ce5671161019b5780633ecad2711161016a5780633ecad271146103e15780634a74bb02146104115780635342acb414610432578063543322661461046257806362290a931461048257600080fd5b8063313ce56714610367578063395093511461038957806339fba650146103a95780633b97084a146103bf57600080fd5b806323b872dd116101e257806323b872dd146102d157806325fa0b98146102f157806327c8f835146103125780632b112e49146103325780632f48ab7d1461034757600080fd5b806306fdde031461021f578063095ea7b31461024a5780631694505e1461027a57806318160ddd146102b257600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b506102346106f7565b6040516102419190611a95565b60405180910390f35b34801561025657600080fd5b5061026a610265366004611af8565b610789565b6040519015158152602001610241565b34801561028657600080fd5b50600e5461029a906001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102be57600080fd5b50600c545b604051908152602001610241565b3480156102dd57600080fd5b5061026a6102ec366004611b24565b6107a0565b3480156102fd57600080fd5b5060095461026a90600160a01b900460ff1681565b34801561031e57600080fd5b5060045461029a906001600160a01b031681565b34801561033e57600080fd5b506102c361080b565b34801561035357600080fd5b5060095461029a906001600160a01b031681565b34801561037357600080fd5b5060035460405160ff9091168152602001610241565b34801561039557600080fd5b5061026a6103a4366004611af8565b610837565b3480156103b557600080fd5b506102c3600b5481565b3480156103cb57600080fd5b506103df6103da366004611b65565b61086d565b005b3480156103ed57600080fd5b5061026a6103fc366004611b7e565b60086020526000908152604090205460ff1681565b34801561041d57600080fd5b50600f5461026a90600160a81b900460ff1681565b34801561043e57600080fd5b5061026a61044d366004611b7e565b60076020526000908152604090205460ff1681565b34801561046e57600080fd5b506103df61047d366004611b7e565b6108a5565b34801561048e57600080fd5b506102c3600a5481565b3480156104a457600080fd5b506102c36104b3366004611b7e565b6001600160a01b031660009081526005602052604090205490565b3480156104da57600080fd5b5060035461029a9061010090046001600160a01b031681565b3480156104ff57600080fd5b506103df61050e366004611b9b565b6108f7565b34801561051f57600080fd5b506000546001600160a01b031661029a565b34801561053d57600080fd5b506103df6109e3565b34801561055257600080fd5b506103df610561366004611b65565b610a57565b34801561057257600080fd5b50610234610ab2565b34801561058757600080fd5b50600d546102c3565b34801561059c57600080fd5b506103df6105ab366004611b65565b610ac1565b3480156105bc57600080fd5b5061026a6105cb366004611af8565b610b44565b3480156105dc57600080fd5b5061026a6105eb366004611af8565b610b93565b3480156105fc57600080fd5b50600f5461029a906001600160a01b031681565b34801561061c57600080fd5b506103df61062b366004611b65565b610ba0565b34801561063c57600080fd5b506103df61064b366004611b7e565b610c20565b34801561065c57600080fd5b50600f5461026a90600160b01b900460ff1681565b34801561067d57600080fd5b506102c361068c366004611c10565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156106c357600080fd5b506103df6106d2366004611c57565b610d2b565b3480156106e357600080fd5b506103df6106f2366004611b7e565b610d80565b60606001805461070690611c85565b80601f016020809104026020016040519081016040528092919081815260200182805461073290611c85565b801561077f5780601f106107545761010080835404028352916020019161077f565b820191906000526020600020905b81548152906001019060200180831161076257829003601f168201915b5050505050905090565b6000610796338484610e6a565b5060015b92915050565b60006107ad848484610f8e565b5061080084336107fb85604051806060016040528060288152602001611e79602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611304565b610e6a565b5060015b9392505050565b6004546001600160a01b0316600090815260056020526040812054600c546108329161133e565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916107969185906107fb9086611380565b6000546001600160a01b031633146108a05760405162461bcd60e51b815260040161089790611cbf565b60405180910390fd5b600d55565b6000546001600160a01b031633146108cf5760405162461bcd60e51b815260040161089790611cbf565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b031633146109215760405162461bcd60e51b815260040161089790611cbf565b6009805460ff60a01b1916600160a01b17905560005b818110156109de576109cc610973600385858581811061095957610959611cf4565b905060200201602081019061096e9190611b7e565b6113df565b61097e906001611d20565b61098f90662386f26fc10000611d33565b6109a09066f8b0a10e470000611d20565b8484848181106109b2576109b2611cf4565b90506020020160208101906109c79190611b7e565b61143d565b806109d681611d4a565b915050610937565b505050565b6000546001600160a01b03163314610a0d5760405162461bcd60e51b815260040161089790611cbf565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a815760405162461bcd60e51b815260040161089790611cbf565b604051339082156108fc029083906000818181858888f19350505050158015610aae573d6000803e3d6000fd5b5050565b60606002805461070690611c85565b6000546001600160a01b03163314610aeb5760405162461bcd60e51b815260040161089790611cbf565b600b8190556014811115610b415760405162461bcd60e51b815260206004820152601b60248201527f5461782063616e6e6f74206265206d6f7265207468616e2032302500000000006044820152606401610897565b50565b600061079633846107fb85604051806060016040528060258152602001611ea1602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611304565b6000610800338484610f8e565b6000546001600160a01b03163314610bca5760405162461bcd60e51b815260040161089790611cbf565b600a8190556014811115610b415760405162461bcd60e51b815260206004820152601b60248201527f5461782063616e6e6f74206265206d6f7265207468616e2032302500000000006044820152606401610897565b6000546001600160a01b03163314610c4a5760405162461bcd60e51b815260040161089790611cbf565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc9190611d63565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611d7c565b6000546001600160a01b03163314610d555760405162461bcd60e51b815260040161089790611cbf565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610daa5760405162461bcd60e51b815260040161089790611cbf565b6001600160a01b038116610e0f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610897565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ecc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610897565b6001600160a01b038216610f2d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610897565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610ff45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610897565b6001600160a01b0383166110565760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610897565b600954600160a01b900460ff168061108657506001600160a01b03841660009081526007602052604090205460ff165b806110a957506001600160a01b03831660009081526007602052604090205460ff165b6110f55760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206973206e6f74206f70656e207965740000000000000000006044820152606401610897565b600f54600160a01b900460ff1615611119576111128484846115d7565b9050610804565b30600090815260056020526040902054600d54811080159081906111475750600f54600160a01b900460ff16155b801561116c57506001600160a01b03861660009081526008602052604090205460ff16155b80156111815750600f54600160a81b900460ff165b801561119b57506000546001600160a01b03868116911614155b156111c157600f54600160b01b900460ff16156111b857600d5491505b6111c1826116bd565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054611213918690611304565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061126057506001600160a01b03861660009081526007602052604090205460ff165b6112745761126f87878761170c565b611276565b845b6001600160a01b03871660009081526005602052604090205490915061129c9082611380565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f09085815260200190565b60405180910390a360019350505050610804565b600081848411156113285760405162461bcd60e51b81526004016108979190611a95565b5060006113358486611d99565b95945050505050565b600061080483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611304565b60008061138d8385611d20565b9050838110156108045760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610897565b60008242448460405160200161141a93929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b6040516020818303038152906040528051906020012060001c6108049190611dc2565b600f805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337505060095482519293506001600160a01b03169183915060009061149157611491611cf4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106114c5576114c5611cf4565b6001600160a01b0392831660209182029290920101526009546040516370a0823160e01b815230600482015260009291909116906370a0823190602401602060405180830381865afa15801561151f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115439190611d63565b905083600003611551578093505b8084116115c457600e54604051635c11d79560e01b81526001600160a01b0390911690635c11d79590611591908790600090879089904290600401611dd6565b600060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050505b5050600f805460ff60a01b191690555050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611628918490611304565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546116579083611380565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116ab9086815260200190565b60405180910390a35060019392505050565b600f805460ff60a01b1916600160a01b1790556116d981611818565b4780156116fb576003546116fb9061010090046001600160a01b031682611972565b5050600f805460ff60a01b19169055565b6001600160a01b038316600090815260086020526040812054819060ff16156117565761174f6064611749600a54866119a890919063ffffffff16565b90611a2a565b9050611794565b6001600160a01b03841660009081526008602052604090205460ff1615611794576117916064611749600b54866119a890919063ffffffff16565b90505b801561180e57306000908152600560205260409020546117b49082611380565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118059085815260200190565b60405180910390a35b611335838261133e565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061184d5761184d611cf4565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156118a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ca9190611e47565b816001815181106118dd576118dd611cf4565b6001600160a01b039283166020918202929092010152600e546119039130911684610e6a565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061193c908590600090869030904290600401611dd6565b600060405180830381600087803b15801561195657600080fd5b505af115801561196a573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156109de573d6000803e3d6000fd5b6000826000036119ba5750600061079a565b60006119c68385611d33565b9050826119d38583611e64565b146108045760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610897565b600061080483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183611a885760405162461bcd60e51b81526004016108979190611a95565b5060006113358486611e64565b600060208083528351808285015260005b81811015611ac257858101830151858201604001528201611aa6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b4157600080fd5b60008060408385031215611b0b57600080fd5b8235611b1681611ae3565b946020939093013593505050565b600080600060608486031215611b3957600080fd5b8335611b4481611ae3565b92506020840135611b5481611ae3565b929592945050506040919091013590565b600060208284031215611b7757600080fd5b5035919050565b600060208284031215611b9057600080fd5b813561080481611ae3565b60008060208385031215611bae57600080fd5b823567ffffffffffffffff80821115611bc657600080fd5b818501915085601f830112611bda57600080fd5b813581811115611be957600080fd5b8660208260051b8501011115611bfe57600080fd5b60209290920196919550909350505050565b60008060408385031215611c2357600080fd5b8235611c2e81611ae3565b91506020830135611c3e81611ae3565b809150509250929050565b8015158114610b4157600080fd5b60008060408385031215611c6a57600080fd5b8235611c7581611ae3565b91506020830135611c3e81611c49565b600181811c90821680611c9957607f821691505b602082108103611cb957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561079a5761079a611d0a565b808202811582820484141761079a5761079a611d0a565b600060018201611d5c57611d5c611d0a565b5060010190565b600060208284031215611d7557600080fd5b5051919050565b600060208284031215611d8e57600080fd5b815161080481611c49565b8181038181111561079a5761079a611d0a565b634e487b7160e01b600052601260045260246000fd5b600082611dd157611dd1611dac565b500690565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e265784516001600160a01b031683529383019391830191600101611e01565b50506001600160a01b03969096166060850152505050608001529392505050565b600060208284031215611e5957600080fd5b815161080481611ae3565b600082611e7357611e73611dac565b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ae9124eec24ee8a0f1eb7144ec6790a2e06e3a804d8014aa2708c1776d81489264736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102135760003560e01c806370a0823111610118578063a457c2d7116100a0578063d99274481161006f578063d992744814610630578063da00097d14610650578063dd62ed3e14610671578063ef422a18146106b7578063f2fde38b146106d757600080fd5b8063a457c2d7146105b0578063a9059cbb146105d0578063c816841b146105f0578063d71958b31461061057600080fd5b8063914eb66a116100e7578063914eb66a14610531578063924f43001461054657806395d89b4114610566578063a073d37f1461057b578063a42fdb0f1461059057600080fd5b806370a082311461049857806375f0a874146104ce57806380720140146104f35780638da5cb5b1461051357600080fd5b8063313ce5671161019b5780633ecad2711161016a5780633ecad271146103e15780634a74bb02146104115780635342acb414610432578063543322661461046257806362290a931461048257600080fd5b8063313ce56714610367578063395093511461038957806339fba650146103a95780633b97084a146103bf57600080fd5b806323b872dd116101e257806323b872dd146102d157806325fa0b98146102f157806327c8f835146103125780632b112e49146103325780632f48ab7d1461034757600080fd5b806306fdde031461021f578063095ea7b31461024a5780631694505e1461027a57806318160ddd146102b257600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b506102346106f7565b6040516102419190611a95565b60405180910390f35b34801561025657600080fd5b5061026a610265366004611af8565b610789565b6040519015158152602001610241565b34801561028657600080fd5b50600e5461029a906001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102be57600080fd5b50600c545b604051908152602001610241565b3480156102dd57600080fd5b5061026a6102ec366004611b24565b6107a0565b3480156102fd57600080fd5b5060095461026a90600160a01b900460ff1681565b34801561031e57600080fd5b5060045461029a906001600160a01b031681565b34801561033e57600080fd5b506102c361080b565b34801561035357600080fd5b5060095461029a906001600160a01b031681565b34801561037357600080fd5b5060035460405160ff9091168152602001610241565b34801561039557600080fd5b5061026a6103a4366004611af8565b610837565b3480156103b557600080fd5b506102c3600b5481565b3480156103cb57600080fd5b506103df6103da366004611b65565b61086d565b005b3480156103ed57600080fd5b5061026a6103fc366004611b7e565b60086020526000908152604090205460ff1681565b34801561041d57600080fd5b50600f5461026a90600160a81b900460ff1681565b34801561043e57600080fd5b5061026a61044d366004611b7e565b60076020526000908152604090205460ff1681565b34801561046e57600080fd5b506103df61047d366004611b7e565b6108a5565b34801561048e57600080fd5b506102c3600a5481565b3480156104a457600080fd5b506102c36104b3366004611b7e565b6001600160a01b031660009081526005602052604090205490565b3480156104da57600080fd5b5060035461029a9061010090046001600160a01b031681565b3480156104ff57600080fd5b506103df61050e366004611b9b565b6108f7565b34801561051f57600080fd5b506000546001600160a01b031661029a565b34801561053d57600080fd5b506103df6109e3565b34801561055257600080fd5b506103df610561366004611b65565b610a57565b34801561057257600080fd5b50610234610ab2565b34801561058757600080fd5b50600d546102c3565b34801561059c57600080fd5b506103df6105ab366004611b65565b610ac1565b3480156105bc57600080fd5b5061026a6105cb366004611af8565b610b44565b3480156105dc57600080fd5b5061026a6105eb366004611af8565b610b93565b3480156105fc57600080fd5b50600f5461029a906001600160a01b031681565b34801561061c57600080fd5b506103df61062b366004611b65565b610ba0565b34801561063c57600080fd5b506103df61064b366004611b7e565b610c20565b34801561065c57600080fd5b50600f5461026a90600160b01b900460ff1681565b34801561067d57600080fd5b506102c361068c366004611c10565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156106c357600080fd5b506103df6106d2366004611c57565b610d2b565b3480156106e357600080fd5b506103df6106f2366004611b7e565b610d80565b60606001805461070690611c85565b80601f016020809104026020016040519081016040528092919081815260200182805461073290611c85565b801561077f5780601f106107545761010080835404028352916020019161077f565b820191906000526020600020905b81548152906001019060200180831161076257829003601f168201915b5050505050905090565b6000610796338484610e6a565b5060015b92915050565b60006107ad848484610f8e565b5061080084336107fb85604051806060016040528060288152602001611e79602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611304565b610e6a565b5060015b9392505050565b6004546001600160a01b0316600090815260056020526040812054600c546108329161133e565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916107969185906107fb9086611380565b6000546001600160a01b031633146108a05760405162461bcd60e51b815260040161089790611cbf565b60405180910390fd5b600d55565b6000546001600160a01b031633146108cf5760405162461bcd60e51b815260040161089790611cbf565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b031633146109215760405162461bcd60e51b815260040161089790611cbf565b6009805460ff60a01b1916600160a01b17905560005b818110156109de576109cc610973600385858581811061095957610959611cf4565b905060200201602081019061096e9190611b7e565b6113df565b61097e906001611d20565b61098f90662386f26fc10000611d33565b6109a09066f8b0a10e470000611d20565b8484848181106109b2576109b2611cf4565b90506020020160208101906109c79190611b7e565b61143d565b806109d681611d4a565b915050610937565b505050565b6000546001600160a01b03163314610a0d5760405162461bcd60e51b815260040161089790611cbf565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a815760405162461bcd60e51b815260040161089790611cbf565b604051339082156108fc029083906000818181858888f19350505050158015610aae573d6000803e3d6000fd5b5050565b60606002805461070690611c85565b6000546001600160a01b03163314610aeb5760405162461bcd60e51b815260040161089790611cbf565b600b8190556014811115610b415760405162461bcd60e51b815260206004820152601b60248201527f5461782063616e6e6f74206265206d6f7265207468616e2032302500000000006044820152606401610897565b50565b600061079633846107fb85604051806060016040528060258152602001611ea1602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611304565b6000610800338484610f8e565b6000546001600160a01b03163314610bca5760405162461bcd60e51b815260040161089790611cbf565b600a8190556014811115610b415760405162461bcd60e51b815260206004820152601b60248201527f5461782063616e6e6f74206265206d6f7265207468616e2032302500000000006044820152606401610897565b6000546001600160a01b03163314610c4a5760405162461bcd60e51b815260040161089790611cbf565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc9190611d63565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611d7c565b6000546001600160a01b03163314610d555760405162461bcd60e51b815260040161089790611cbf565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610daa5760405162461bcd60e51b815260040161089790611cbf565b6001600160a01b038116610e0f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610897565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ecc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610897565b6001600160a01b038216610f2d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610897565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610ff45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610897565b6001600160a01b0383166110565760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610897565b600954600160a01b900460ff168061108657506001600160a01b03841660009081526007602052604090205460ff165b806110a957506001600160a01b03831660009081526007602052604090205460ff165b6110f55760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206973206e6f74206f70656e207965740000000000000000006044820152606401610897565b600f54600160a01b900460ff1615611119576111128484846115d7565b9050610804565b30600090815260056020526040902054600d54811080159081906111475750600f54600160a01b900460ff16155b801561116c57506001600160a01b03861660009081526008602052604090205460ff16155b80156111815750600f54600160a81b900460ff165b801561119b57506000546001600160a01b03868116911614155b156111c157600f54600160b01b900460ff16156111b857600d5491505b6111c1826116bd565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054611213918690611304565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061126057506001600160a01b03861660009081526007602052604090205460ff165b6112745761126f87878761170c565b611276565b845b6001600160a01b03871660009081526005602052604090205490915061129c9082611380565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f09085815260200190565b60405180910390a360019350505050610804565b600081848411156113285760405162461bcd60e51b81526004016108979190611a95565b5060006113358486611d99565b95945050505050565b600061080483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611304565b60008061138d8385611d20565b9050838110156108045760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610897565b60008242448460405160200161141a93929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b6040516020818303038152906040528051906020012060001c6108049190611dc2565b600f805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337505060095482519293506001600160a01b03169183915060009061149157611491611cf4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106114c5576114c5611cf4565b6001600160a01b0392831660209182029290920101526009546040516370a0823160e01b815230600482015260009291909116906370a0823190602401602060405180830381865afa15801561151f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115439190611d63565b905083600003611551578093505b8084116115c457600e54604051635c11d79560e01b81526001600160a01b0390911690635c11d79590611591908790600090879089904290600401611dd6565b600060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050505b5050600f805460ff60a01b191690555050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611628918490611304565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546116579083611380565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116ab9086815260200190565b60405180910390a35060019392505050565b600f805460ff60a01b1916600160a01b1790556116d981611818565b4780156116fb576003546116fb9061010090046001600160a01b031682611972565b5050600f805460ff60a01b19169055565b6001600160a01b038316600090815260086020526040812054819060ff16156117565761174f6064611749600a54866119a890919063ffffffff16565b90611a2a565b9050611794565b6001600160a01b03841660009081526008602052604090205460ff1615611794576117916064611749600b54866119a890919063ffffffff16565b90505b801561180e57306000908152600560205260409020546117b49082611380565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118059085815260200190565b60405180910390a35b611335838261133e565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061184d5761184d611cf4565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156118a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ca9190611e47565b816001815181106118dd576118dd611cf4565b6001600160a01b039283166020918202929092010152600e546119039130911684610e6a565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061193c908590600090869030904290600401611dd6565b600060405180830381600087803b15801561195657600080fd5b505af115801561196a573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156109de573d6000803e3d6000fd5b6000826000036119ba5750600061079a565b60006119c68385611d33565b9050826119d38583611e64565b146108045760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610897565b600061080483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183611a885760405162461bcd60e51b81526004016108979190611a95565b5060006113358486611e64565b600060208083528351808285015260005b81811015611ac257858101830151858201604001528201611aa6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b4157600080fd5b60008060408385031215611b0b57600080fd5b8235611b1681611ae3565b946020939093013593505050565b600080600060608486031215611b3957600080fd5b8335611b4481611ae3565b92506020840135611b5481611ae3565b929592945050506040919091013590565b600060208284031215611b7757600080fd5b5035919050565b600060208284031215611b9057600080fd5b813561080481611ae3565b60008060208385031215611bae57600080fd5b823567ffffffffffffffff80821115611bc657600080fd5b818501915085601f830112611bda57600080fd5b813581811115611be957600080fd5b8660208260051b8501011115611bfe57600080fd5b60209290920196919550909350505050565b60008060408385031215611c2357600080fd5b8235611c2e81611ae3565b91506020830135611c3e81611ae3565b809150509250929050565b8015158114610b4157600080fd5b60008060408385031215611c6a57600080fd5b8235611c7581611ae3565b91506020830135611c3e81611c49565b600181811c90821680611c9957607f821691505b602082108103611cb957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561079a5761079a611d0a565b808202811582820484141761079a5761079a611d0a565b600060018201611d5c57611d5c611d0a565b5060010190565b600060208284031215611d7557600080fd5b5051919050565b600060208284031215611d8e57600080fd5b815161080481611c49565b8181038181111561079a5761079a611d0a565b634e487b7160e01b600052601260045260246000fd5b600082611dd157611dd1611dac565b500690565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e265784516001600160a01b031683529383019391830191600101611e01565b50506001600160a01b03969096166060850152505050608001529392505050565b600060208284031215611e5957600080fd5b815161080481611ae3565b600082611e7357611e73611dac565b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ae9124eec24ee8a0f1eb7144ec6790a2e06e3a804d8014aa2708c1776d81489264736f6c63430008120033

Deployed Bytecode Sourcemap

14255:10576:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16850:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18144:161;;;;;;;;;;-1:-1:-1;18144:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;18144:161:0;1023:187:1;15272:41:0;;;;;;;;;;-1:-1:-1;15272:41:0;;;;-1:-1:-1;;;;;15272:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;15272:41:0;1215:230:1;17127:100:0;;;;;;;;;;-1:-1:-1;17207:12:0;;17127:100;;;1596:25:1;;;1584:2;1569:18;17127:100:0;1450:177:1;19773:313:0;;;;;;;;;;-1:-1:-1;19773:313:0;;;;;:::i;:::-;;:::i;15014:29::-;;;;;;;;;;-1:-1:-1;15014:29:0;;;;-1:-1:-1;;;15014:29:0;;;;;;14614:71;;;;;;;;;;-1:-1:-1;14614:71:0;;;;-1:-1:-1;;;;;14614:71:0;;;19369:128;;;;;;;;;;;;;:::i;14936:64::-;;;;;;;;;;-1:-1:-1;14936:64:0;;;;-1:-1:-1;;;;;14936:64:0;;;17036:83;;;;;;;;;;-1:-1:-1;17102:9:0;;17036:83;;17102:9;;;;2443:36:1;;2431:2;2416:18;17036:83:0;2301:184:1;17513:218:0;;;;;;;;;;-1:-1:-1;17513:218:0;;;;;:::i;:::-;;:::i;15085:27::-;;;;;;;;;;;;;;;;19237:124;;;;;;;;;;-1:-1:-1;19237:124:0;;;;;:::i;:::-;;:::i;:::-;;14882:45;;;;;;;;;;-1:-1:-1;14882:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15387:40;;;;;;;;;;-1:-1:-1;15387:40:0;;;;-1:-1:-1;;;15387:40:0;;;;;;14825:50;;;;;;;;;;-1:-1:-1;14825:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18801:111;;;;;;;;;;-1:-1:-1;18801:111:0;;;;;:::i;:::-;;:::i;15052:26::-;;;;;;;;;;;;;;;;17235:119;;;;;;;;;;-1:-1:-1;17235:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;17328:18:0;17301:7;17328:18;;;:9;:18;;;;;;;17235:119;14513:92;;;;;;;;;;-1:-1:-1;14513:92:0;;;;;;;-1:-1:-1;;;;;14513:92:0;;;22941:209;;;;;;;;;;-1:-1:-1;22941:209:0;;;;;:::i;:::-;;:::i;5794:79::-;;;;;;;;;;-1:-1:-1;5832:7:0;5859:6;-1:-1:-1;;;;;5859:6:0;5794:79;;6019:145;;;;;;;;;;;;;:::i;23503:107::-;;;;;;;;;;-1:-1:-1;23503:107:0;;;;;:::i;:::-;;:::i;16941:87::-;;;;;;;;;;;;;:::i;18016:120::-;;;;;;;;;;-1:-1:-1;18105:23:0;;18016:120;;19077:152;;;;;;;;;;-1:-1:-1;19077:152:0;;;;;:::i;:::-;;:::i;17739:269::-;;;;;;;;;;-1:-1:-1;17739:269:0;;;;;:::i;:::-;;:::i;19598:167::-;;;;;;;;;;-1:-1:-1;19598:167:0;;;;;:::i;:::-;;:::i;15320:26::-;;;;;;;;;;-1:-1:-1;15320:26:0;;;;-1:-1:-1;;;;;15320:26:0;;;18920:149;;;;;;;;;;-1:-1:-1;18920:149:0;;;;;:::i;:::-;;:::i;23346:::-;;;;;;;;;;-1:-1:-1;23346:149:0;;;;;:::i;:::-;;:::i;15434:45::-;;;;;;;;;;-1:-1:-1;15434:45:0;;;;-1:-1:-1;;;15434:45:0;;;;;;17362:143;;;;;;;;;;-1:-1:-1;17362:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17470:18:0;;;17443:7;17470:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17362:143;18658:135;;;;;;;;;;-1:-1:-1;18658:135:0;;;;;:::i;:::-;;:::i;6172:244::-;;;;;;;;;;-1:-1:-1;6172:244:0;;;;;:::i;:::-;;:::i;16850:83::-;16887:13;16920:5;16913:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16850:83;:::o;18144:161::-;18219:4;18236:39;261:10;18259:7;18268:6;18236:8;:39::i;:::-;-1:-1:-1;18293:4:0;18144:161;;;;;:::o;19773:313::-;19871:4;19888:36;19898:6;19906:9;19917:6;19888:9;:36::i;:::-;-1:-1:-1;19935:121:0;19944:6;261:10;19966:89;20004:6;19966:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19966:19:0;;;;;;:11;:19;;;;;;;;261:10;19966:33;;;;;;;;;;:37;:89::i;:::-;19935:8;:121::i;:::-;-1:-1:-1;20074:4:0;19773:313;;;;;;:::o;19369:128::-;19476:11;;-1:-1:-1;;;;;19476:11:0;19422:7;17328:18;;;:9;:18;;;;;;19449:12;;:40;;:16;:40::i;:::-;19442:47;;19369:128;:::o;17513:218::-;261:10;17601:4;17650:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17650:34:0;;;;;;;;;;17601:4;;17618:83;;17641:7;;17650:50;;17689:10;17650:38;:50::i;19237:124::-;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;;;;;;;;;19319:23:::1;:34:::0;19237:124::o;18801:111::-;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;18870:15:::1;:34:::0;;-1:-1:-1;;;;;18870:34:0;;::::1;;;-1:-1:-1::0;;;;;;18870:34:0;;::::1;::::0;;;::::1;::::0;;18801:111::o;22941:209::-;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;23014:9:::1;:16:::0;;-1:-1:-1;;;;23014:16:0::1;-1:-1:-1::0;;;23014:16:0::1;::::0;;;23041:101:::1;23054:13:::0;;::::1;23041:101;;;23086:56;23097:17;23104:1;23106:4;;23111:1;23106:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;23097:6;:17::i;:::-;:19;::::0;23115:1:::1;23097:19;:::i;:::-;23096:28;::::0;23118:6:::1;23096:28;:::i;:::-;:37;::::0;23125:8:::1;23096:37;:::i;:::-;23134:4;;23139:1;23134:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;23086:9;:56::i;:::-;23068:3:::0;::::1;::::0;::::1;:::i;:::-;;;;23041:101;;;;22941:209:::0;;:::o;6019:145::-;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;6123:1:::1;6107:6:::0;;6086:40:::1;::::0;-1:-1:-1;;;;;6107:6:0;;::::1;::::0;6086:40:::1;::::0;6123:1;;6086:40:::1;6154:1;6137:19:::0;;-1:-1:-1;;;;;;6137:19:0::1;::::0;;6019:145::o;23503:107::-;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;23566:36:::1;::::0;23574:10:::1;::::0;23566:36;::::1;;;::::0;23595:6;;23566:36:::1;::::0;;;23595:6;23574:10;23566:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;23503:107:::0;:::o;16941:87::-;16980:13;17013:7;17006:14;;;;;:::i;19077:152::-;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;19141:7:::1;:16:::0;;;19187:2:::1;19176:13:::0;::::1;;19168:53;;;::::0;-1:-1:-1;;;19168:53:0;;6329:2:1;19168:53:0::1;::::0;::::1;6311:21:1::0;6368:2;6348:18;;;6341:30;6407:29;6387:18;;;6380:57;6454:18;;19168:53:0::1;6127:351:1::0;19168:53:0::1;19077:152:::0;:::o;17739:269::-;17832:4;17849:129;261:10;17872:7;17881:96;17920:15;17881:96;;;;;;;;;;;;;;;;;261:10;17881:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17881:34:0;;;;;;;;;;;;:38;:96::i;19598:167::-;19676:4;19693:42;261:10;19717:9;19728:6;19693:9;:42::i;18920:149::-;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;18983:6:::1;:15:::0;;;19027:2:::1;19017:12:::0;::::1;;19009:52;;;::::0;-1:-1:-1;;;19009:52:0;;6329:2:1;19009:52:0::1;::::0;::::1;6311:21:1::0;6368:2;6348:18;;;6341:30;6407:29;6387:18;;;6380:57;6454:18;;19009:52:0::1;6127:351:1::0;23346:149:0;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;23447:39:::1;::::0;-1:-1:-1;;;23447:39:0;;23480:4:::1;23447:39;::::0;::::1;1388:51:1::0;-1:-1:-1;;;;;23411:23:0;::::1;::::0;::::1;::::0;23435:10:::1;::::0;23411:23;;23447:24:::1;::::0;1361:18:1;;23447:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23411:76;::::0;-1:-1:-1;;;;;;23411:76:0::1;::::0;;;;;;-1:-1:-1;;;;;6864:32:1;;;23411:76:0::1;::::0;::::1;6846:51:1::0;6913:18;;;6906:34;6819:18;;23411:76:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18658:135::-:0;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18748:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;18748:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18658:135::o;6172:244::-;5928:6;;-1:-1:-1;;;;;5928:6:0;261:10;5928:22;5920:67;;;;-1:-1:-1;;;5920:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6261:22:0;::::1;6253:73;;;::::0;-1:-1:-1;;;6253:73:0;;7403:2:1;6253:73:0::1;::::0;::::1;7385:21:1::0;7442:2;7422:18;;;7415:30;7481:34;7461:18;;;7454:62;-1:-1:-1;;;7532:18:1;;;7525:36;7578:19;;6253:73:0::1;7201:402:1::0;6253:73:0::1;6363:6;::::0;;6342:38:::1;::::0;-1:-1:-1;;;;;6342:38:0;;::::1;::::0;6363:6;::::1;::::0;6342:38:::1;::::0;::::1;6391:6;:17:::0;;-1:-1:-1;;;;;;6391:17:0::1;-1:-1:-1::0;;;;;6391:17:0;;;::::1;::::0;;;::::1;::::0;;6172:244::o;18313:337::-;-1:-1:-1;;;;;18406:19:0;;18398:68;;;;-1:-1:-1;;;18398:68:0;;7810:2:1;18398:68:0;;;7792:21:1;7849:2;7829:18;;;7822:30;7888:34;7868:18;;;7861:62;-1:-1:-1;;;7939:18:1;;;7932:34;7983:19;;18398:68:0;7608:400:1;18398:68:0;-1:-1:-1;;;;;18485:21:0;;18477:68;;;;-1:-1:-1;;;18477:68:0;;8215:2:1;18477:68:0;;;8197:21:1;8254:2;8234:18;;;8227:30;8293:34;8273:18;;;8266:62;-1:-1:-1;;;8344:18:1;;;8337:32;8386:19;;18477:68:0;8013:398:1;18477:68:0;-1:-1:-1;;;;;18558:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18610:32;;1596:25:1;;;18610:32:0;;1569:18:1;18610:32:0;;;;;;;18313:337;;;:::o;20098:1497::-;20185:4;-1:-1:-1;;;;;20212:20:0;;20204:70;;;;-1:-1:-1;;;20204:70:0;;8618:2:1;20204:70:0;;;8600:21:1;8657:2;8637:18;;;8630:30;8696:34;8676:18;;;8669:62;-1:-1:-1;;;8747:18:1;;;8740:35;8792:19;;20204:70:0;8416:401:1;20204:70:0;-1:-1:-1;;;;;20293:23:0;;20285:71;;;;-1:-1:-1;;;20285:71:0;;9024:2:1;20285:71:0;;;9006:21:1;9063:2;9043:18;;;9036:30;9102:34;9082:18;;;9075:62;-1:-1:-1;;;9153:18:1;;;9146:33;9196:19;;20285:71:0;8822:399:1;20285:71:0;20375:9;;-1:-1:-1;;;20375:9:0;;;;;:38;;-1:-1:-1;;;;;;20388:25:0;;;;;;:17;:25;;;;;;;;20375:38;:70;;;-1:-1:-1;;;;;;20417:28:0;;;;;;:17;:28;;;;;;;;20375:70;20367:106;;;;-1:-1:-1;;;20367:106:0;;9428:2:1;20367:106:0;;;9410:21:1;9467:2;9447:18;;;9440:30;9506:25;9486:18;;;9479:53;9549:18;;20367:106:0;9226:347:1;20367:106:0;20489:16;;-1:-1:-1;;;20489:16:0;;;;20486:1102;;;20539:41;20554:6;20562:9;20573:6;20539:14;:41::i;:::-;20532:48;;;;20486:1102;20681:4;20632:28;17328:18;;;:9;:18;;;;;;20757:23;;20733:47;;;;;;;20813:44;;-1:-1:-1;20841:16:0;;-1:-1:-1;;;20841:16:0;;;;20840:17;20813:44;:69;;;;-1:-1:-1;;;;;;20862:20:0;;;;;;:12;:20;;;;;;;;20861:21;20813:69;:94;;;;-1:-1:-1;20886:21:0;;-1:-1:-1;;;20886:21:0;;;;20813:94;:116;;;;-1:-1:-1;5832:7:0;5859:6;-1:-1:-1;;;;;20911:18:0;;;5859:6;;20911:18;;20813:116;20809:327;;;20967:25;;-1:-1:-1;;;20967:25:0;;;;20964:97;;;21038:23;;21015:46;;20964:97;21080:36;21095:20;21080:14;:36::i;:::-;21172:53;;;;;;;;;;;-1:-1:-1;;;21172:53:0;;;;;;;;-1:-1:-1;;;;;21172:17:0;;-1:-1:-1;21172:17:0;;;:9;:17;;;;;;;;:53;;21194:6;;21172:21;:53::i;:::-;-1:-1:-1;;;;;21152:17:0;;;;;;:9;:17;;;;;;;;:73;;;;21265:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;21294:28:0;;;;;;:17;:28;;;;;;;;21265:57;21264:147;;21378:33;21386:6;21393:9;21404:6;21378:7;:33::i;:::-;21264:147;;;21369:6;21264:147;-1:-1:-1;;;;;21451:20:0;;;;;;:9;:20;;;;;;21242:169;;-1:-1:-1;21451:37:0;;21242:169;21451:24;:37::i;:::-;-1:-1:-1;;;;;21428:20:0;;;;;;;:9;:20;;;;;;;:60;;;;21510:40;;;;;;;;;;21538:11;1596:25:1;;1584:2;1569:18;;1450:177;21510:40:0;;;;;;;;21572:4;21565:11;;;;;;;1566:192;1652:7;1688:12;1680:6;;;;1672:29;;;;-1:-1:-1;;;1672:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1712:9:0;1724:5;1728:1;1724;:5;:::i;:::-;1712:17;1566:192;-1:-1:-1;;;;;1566:192:0:o;1422:136::-;1480:7;1507:43;1511:1;1514;1507:43;;;;;;;;;;;;;;;;;:3;:43::i;1233:181::-;1291:7;;1323:5;1327:1;1323;:5;:::i;:::-;1311:17;;1352:1;1347;:6;;1339:46;;;;-1:-1:-1;;;1339:46:0;;9913:2:1;1339:46:0;;;9895:21:1;9952:2;9932:18;;;9925:30;9991:29;9971:18;;;9964:57;10038:18;;1339:46:0;9711:351:1;23158:180:0;23222:4;23324:6;23278:15;23294:16;23313:5;23261:58;;;;;;;;;10252:19:1;;;10296:2;10287:12;;10280:28;;;;10346:2;10342:15;-1:-1:-1;;10338:53:1;10333:2;10324:12;;10317:75;10417:2;10408:12;;10067:359;23261:58:0;;;;;;;;;;;;;23251:69;;;;;;23246:75;;:84;;;;:::i;23618:611::-;15902:16;:23;;-1:-1:-1;;;;15902:23:0;-1:-1:-1;;;15902:23:0;;;23724:16:::1;::::0;;23738:1:::1;23724:16:::0;;;;;::::1;::::0;;-1:-1:-1;;23724:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;23769:4:0::1;::::0;23751:7;;;;-1:-1:-1;;;;;;23769:4:0::1;::::0;23751:7;;-1:-1:-1;23769:4:0::1;::::0;23751:7:::1;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;23751:23:0::1;;;-1:-1:-1::0;;;;;23751:23:0::1;;;::::0;::::1;23803:4;23785;23790:1;23785:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23785:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;23844:4:::1;::::0;23837:37:::1;::::0;-1:-1:-1;;;23837:37:0;;23868:4:::1;23837:37;::::0;::::1;1388:51:1::0;23819:15:0::1;::::0;23844:4;;;::::1;::::0;23837:22:::1;::::0;1361:18:1;;23837:37:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23819:55;;23888:11;23901:1;23888:14:::0;23885:39:::1;;23917:7;23903:21;;23885:39;23979:7;23964:11;:22;23961:260;;23997:15;::::0;:224:::1;::::0;-1:-1:-1;;;23997:224:0;;-1:-1:-1;;;;;23997:15:0;;::::1;::::0;:69:::1;::::0;:224:::1;::::0;24081:11;;23997:15:::1;::::0;24150:4;;24177:2;;24195:15:::1;::::0;23997:224:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23961:260;-1:-1:-1::0;;15948:16:0;:24;;-1:-1:-1;;;;15948:24:0;;;-1:-1:-1;;23618:611:0:o;21603:330::-;21733:53;;;;;;;;;;;-1:-1:-1;;;21733:53:0;;;;;;;;-1:-1:-1;;;;;21733:17:0;;21696:4;21733:17;;;:9;:17;;;;;;;:53;;21755:6;;21733:21;:53::i;:::-;-1:-1:-1;;;;;21713:17:0;;;;;;;:9;:17;;;;;;:73;;;;21820:20;;;;;;;:32;;21845:6;21820:24;:32::i;:::-;-1:-1:-1;;;;;21797:20:0;;;;;;;:9;:20;;;;;;;:55;;;;21868:35;;;;;;;;;;21896:6;1596:25:1;;1584:2;1569:18;;1450:177;21868:35:0;;;;;;;;-1:-1:-1;21921:4:0;21603:330;;;;;:::o;21939:261::-;15902:16;:23;;-1:-1:-1;;;;15902:23:0;-1:-1:-1;;;15902:23:0;;;22017:25:::1;22034:7:::0;22017:16:::1;:25::i;:::-;22074:21;22115:14:::0;;22112:80:::1;;22165:15;::::0;22144:48:::1;::::0;22165:15:::1;::::0;::::1;-1:-1:-1::0;;;;;22165:15:0::1;22181:10:::0;22144:20:::1;:48::i;:::-;-1:-1:-1::0;;15948:16:0;:24;;-1:-1:-1;;;;15948:24:0;;;21939:261::o;24237:591::-;-1:-1:-1;;;;;24389:20:0;;24321:7;24389:20;;;:12;:20;;;;;;24321:7;;24389:20;;24386:201;;;24438:27;24461:3;24438:18;24449:6;;24438;:10;;:18;;;;:::i;:::-;:22;;:27::i;:::-;24426:39;;24386:201;;;-1:-1:-1;;;;;24495:23:0;;;;;;:12;:23;;;;;;;;24492:95;;;24547:28;24571:3;24547:19;24558:7;;24547:6;:10;;:19;;;;:::i;:28::-;24535:40;;24492:95;24610:13;;24607:173;;24685:4;24667:24;;;;:9;:24;;;;;;:39;;24696:9;24667:28;:39::i;:::-;24658:4;24640:24;;;;:9;:24;;;;;;;:66;;;;24726:42;;-1:-1:-1;;;;;24726:42:0;;;;;;;24758:9;1596:25:1;;1584:2;1569:18;;1450:177;24726:42:0;;;;;;;;24607:173;24799:21;:6;24810:9;24799:10;:21::i;22344:589::-;22494:16;;;22508:1;22494:16;;;;;;;;22470:21;;22494:16;;;;;;;;;;-1:-1:-1;22494:16:0;22470:40;;22539:4;22521;22526:1;22521:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22521:23:0;;;:7;;;;;;;;;;:23;;;;22565:15;;:22;;;-1:-1:-1;;;22565:22:0;;;;:15;;;;;:20;;:22;;;;;22521:7;;22565:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22555:4;22560:1;22555:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22555:32:0;;;:7;;;;;;;;;:32;22632:15;;22600:62;;22617:4;;22632:15;22650:11;22600:8;:62::i;:::-;22701:15;;:224;;-1:-1:-1;;;22701:224:0;;-1:-1:-1;;;;;22701:15:0;;;;:66;;:224;;22782:11;;22701:15;;22852:4;;22879;;22899:15;;22701:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22399:534;22344:589;:::o;22210:126::-;22302:26;;-1:-1:-1;;;;;22302:18:0;;;:26;;;;;22321:6;;22302:26;;;;22321:6;22302:18;:26;;;;;;;;;;;;;;;;;;;1766:250;1824:7;1848:1;1853;1848:6;1844:47;;-1:-1:-1;1878:1:0;1871:8;;1844:47;1903:9;1915:5;1919:1;1915;:5;:::i;:::-;1903:17;-1:-1:-1;1948:1:0;1939:5;1943:1;1903:17;1939:5;:::i;:::-;:10;1931:56;;;;-1:-1:-1;;;1931:56:0;;12380:2:1;1931:56:0;;;12362:21:1;12419:2;12399:18;;;12392:30;12458:34;12438:18;;;12431:62;-1:-1:-1;;;12509:18:1;;;12502:31;12550:19;;1931:56:0;12178:397:1;2024:132:0;2082:7;2109:39;2113:1;2116;2109:39;;;;;;;;;;;;;;;;;2250:7;2285:12;2278:5;2270:28;;;;-1:-1:-1;;;2270:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2309:9:0;2321:5;2325:1;2321;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2490:180::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;-1:-1:-1;2641:23:1;;2490:180;-1:-1:-1;2490:180:1:o;2675:247::-;2734:6;2787:2;2775:9;2766:7;2762:23;2758:32;2755:52;;;2803:1;2800;2793:12;2755:52;2842:9;2829:23;2861:31;2886:5;2861:31;:::i;3151:615::-;3237:6;3245;3298:2;3286:9;3277:7;3273:23;3269:32;3266:52;;;3314:1;3311;3304:12;3266:52;3354:9;3341:23;3383:18;3424:2;3416:6;3413:14;3410:34;;;3440:1;3437;3430:12;3410:34;3478:6;3467:9;3463:22;3453:32;;3523:7;3516:4;3512:2;3508:13;3504:27;3494:55;;3545:1;3542;3535:12;3494:55;3585:2;3572:16;3611:2;3603:6;3600:14;3597:34;;;3627:1;3624;3617:12;3597:34;3680:7;3675:2;3665:6;3662:1;3658:14;3654:2;3650:23;3646:32;3643:45;3640:65;;;3701:1;3698;3691:12;3640:65;3732:2;3724:11;;;;;3754:6;;-1:-1:-1;3151:615:1;;-1:-1:-1;;;;3151:615:1:o;3771:388::-;3839:6;3847;3900:2;3888:9;3879:7;3875:23;3871:32;3868:52;;;3916:1;3913;3906:12;3868:52;3955:9;3942:23;3974:31;3999:5;3974:31;:::i;:::-;4024:5;-1:-1:-1;4081:2:1;4066:18;;4053:32;4094:33;4053:32;4094:33;:::i;:::-;4146:7;4136:17;;;3771:388;;;;;:::o;4164:118::-;4250:5;4243:13;4236:21;4229:5;4226:32;4216:60;;4272:1;4269;4262:12;4287:382;4352:6;4360;4413:2;4401:9;4392:7;4388:23;4384:32;4381:52;;;4429:1;4426;4419:12;4381:52;4468:9;4455:23;4487:31;4512:5;4487:31;:::i;:::-;4537:5;-1:-1:-1;4594:2:1;4579:18;;4566:32;4607:30;4566:32;4607:30;:::i;4674:380::-;4753:1;4749:12;;;;4796;;;4817:61;;4871:4;4863:6;4859:17;4849:27;;4817:61;4924:2;4916:6;4913:14;4893:18;4890:38;4887:161;;4970:10;4965:3;4961:20;4958:1;4951:31;5005:4;5002:1;4995:15;5033:4;5030:1;5023:15;4887:161;;4674:380;;;:::o;5059:356::-;5261:2;5243:21;;;5280:18;;;5273:30;5339:34;5334:2;5319:18;;5312:62;5406:2;5391:18;;5059:356::o;5420:127::-;5481:10;5476:3;5472:20;5469:1;5462:31;5512:4;5509:1;5502:15;5536:4;5533:1;5526:15;5552:127;5613:10;5608:3;5604:20;5601:1;5594:31;5644:4;5641:1;5634:15;5668:4;5665:1;5658:15;5684:125;5749:9;;;5770:10;;;5767:36;;;5783:18;;:::i;5814:168::-;5887:9;;;5918;;5935:15;;;5929:22;;5915:37;5905:71;;5956:18;;:::i;5987:135::-;6026:3;6047:17;;;6044:43;;6067:18;;:::i;:::-;-1:-1:-1;6114:1:1;6103:13;;5987:135::o;6483:184::-;6553:6;6606:2;6594:9;6585:7;6581:23;6577:32;6574:52;;;6622:1;6619;6612:12;6574:52;-1:-1:-1;6645:16:1;;6483:184;-1:-1:-1;6483:184:1:o;6951:245::-;7018:6;7071:2;7059:9;7050:7;7046:23;7042:32;7039:52;;;7087:1;7084;7077:12;7039:52;7119:9;7113:16;7138:28;7160:5;7138:28;:::i;9578:128::-;9645:9;;;9666:11;;;9663:37;;;9680:18;;:::i;10431:127::-;10492:10;10487:3;10483:20;10480:1;10473:31;10523:4;10520:1;10513:15;10547:4;10544:1;10537:15;10563:112;10595:1;10621;10611:35;;10626:18;;:::i;:::-;-1:-1:-1;10660:9:1;;10563:112::o;10812:980::-;11074:4;11122:3;11111:9;11107:19;11153:6;11142:9;11135:25;11179:2;11217:6;11212:2;11201:9;11197:18;11190:34;11260:3;11255:2;11244:9;11240:18;11233:31;11284:6;11319;11313:13;11350:6;11342;11335:22;11388:3;11377:9;11373:19;11366:26;;11427:2;11419:6;11415:15;11401:29;;11448:1;11458:195;11472:6;11469:1;11466:13;11458:195;;;11537:13;;-1:-1:-1;;;;;11533:39:1;11521:52;;11628:15;;;;11593:12;;;;11569:1;11487:9;11458:195;;;-1:-1:-1;;;;;;;11709:32:1;;;;11704:2;11689:18;;11682:60;-1:-1:-1;;;11773:3:1;11758:19;11751:35;11670:3;10812:980;-1:-1:-1;;;10812:980:1:o;11797:251::-;11867:6;11920:2;11908:9;11899:7;11895:23;11891:32;11888:52;;;11936:1;11933;11926:12;11888:52;11968:9;11962:16;11987:31;12012:5;11987:31;:::i;12053:120::-;12093:1;12119;12109:35;;12124:18;;:::i;:::-;-1:-1:-1;12158:9:1;;12053:120::o

Swarm Source

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