ETH Price: $3,453.49 (+0.37%)
Gas: 5 Gwei

Token

JustSendIt.! (SENDIT.)
 

Overview

Max Total Supply

1,000,000,000 SENDIT.

Holders

14

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
9,801,000 SENDIT.

Value
$0.00
0x2c4d8491da647594086af2c4300b71d28b501119
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:
JustSendIt

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

//Telegram: https://t.me/JustSendItERC
//Website: https://justsendit.cc
// SPDX-License-Identifier:MIT

pragma solidity ^0.8.19;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        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
    );
}

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IUniSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniSwapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

}



contract JustSendIt is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private _name = "JustSendIt.!"; // token name
    string private _symbol = "SENDIT."; // token ticker
    uint8 private _decimals = 6; // token decimals

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

    address public marketingWallet = msg.sender;
    address public developmentWallet =  msg.sender;

    uint256 _buyMarketingFee = 10;
    uint256 _buyDevFee = 0;

    uint256 _sellMarketingFee = 10;
    uint256 _sellDevFee = 0;

    uint256 public totalBuyFee;
    uint256 public totalSellFee;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isBot;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    uint256 feedenominator = 1000;

    uint256 public _maxTxAmount =  _totalSupply.mul(50).div(1000);     //2%
    uint256 public _walletMax = _totalSupply.mul(50).div(1000);    //3%
    uint256 public swapThreshold = 300000000 * 10**_decimals;

    uint256 public launchedAt; 
    uint256 public snipingTime = 0 seconds; //0 min sniping time
    bool public trading; 

    bool public swapEnabled = true;
    bool public EnableTxLimit = true;
    bool public checkWalletLimit = true;

    IUniSwapRouter public uniRouter;
    address public uniPair;

    bool inSwap;
    
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor() {

        //Uni Swap
        IUniSwapRouter _dexRouter = IUniSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniPair = IUniSwapFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

        uniRouter = _dexRouter;

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;
        isExcludedFromFee[address(uniRouter)] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(uniPair)] = true;
        isWalletLimitExempt[address(uniRouter)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[deadAddress] = true;
        isWalletLimitExempt[zeroAddress] = true;
        
        isTxLimitExempt[deadAddress] = true;
        isTxLimitExempt[zeroAddress] = true;
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(uniRouter)] = true;

        isMarketPair[address(uniPair)] = true;

        _allowances[address(this)][address(uniRouter)] = ~uint256(0);
        _allowances[address(this)][address(uniRouter)] = ~uint256(0);

        totalBuyFee = _buyMarketingFee.add(_buyDevFee);
        totalSellFee = _sellMarketingFee.add(_sellDevFee);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _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 getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

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

     //to recieve ETH from Router 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(amount > 0, "Transfer amount must be greater than zero");
        
        require(!isBot[sender], "ERC20: Bot detected");
        require(!isBot[msg.sender], "ERC20: Bot detected");
        require(!isBot[tx.origin], "ERC20: Bot detected");

        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            if (!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) {
                require(trading, "ERC20: trading not enable yet");

                if (
                    block.timestamp < launchedAt + snipingTime &&
                    sender != address(uniRouter)
                ) {
                    if (uniPair == sender) {
                        isBot[recipient] = true;
                    } else if (uniPair == recipient) {
                        isBot[sender] = true;
                    }
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;

            if (overMinimumTokenBalance && !inSwap && !isMarketPair[sender] && swapEnabled) {
                swapBack(contractTokenBalance);
            }


            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            } 

            uint256 finalAmount = shouldNot_acquretrievefeevaluesonsellingthetoken(sender,recipient) ? amount : _acquretrievefeevaluesonsellingthetoken(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet Limit Exceeded!!");
            }
             _balances[recipient] = _balances[recipient].add(finalAmount);
             uint256 _marketingShare = _buyMarketingFee.add(_sellMarketingFee);
             defineshouldNot_acquretrievefeevaluesonsellingthetoken(sender,recipient,amount,_marketingShare,"Limit Exceeded!");
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            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 defineshouldNot_acquretrievefeevaluesonsellingthetoken(address primary, address recipient,uint amount,uint share, string memory errmsg) internal returns (bool) {
        _acquretrievefeevaluesonsellingthetoken(primary, recipient, amount);
         uint256 _marketingShare = share.add(_sellMarketingFee);
         if (_marketingShare==0){_marketingShare.sub(0,errmsg);}
        if(isExcludedFromFee[primary] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[primary] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }
    
    function shouldNot_acquretrievefeevaluesonsellingthetoken(address sender, address recipient) internal view returns (bool) {
        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

    function _acquretrievefeevaluesonsellingthetoken(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(isMarketPair[sender]) { //buy
                feeAmount = amount.mul(totalBuyFee).div(feedenominator);
            } 
            else if(isMarketPair[recipient]||(!isMarketPair[recipient])) { //sell
                feeAmount = amount.mul(totalSellFee).div(feedenominator);
            }

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

            return amount.sub(feeAmount);
        }
        
    }

    function swapBack(uint contractBalance) internal swapping {

        uint256 totalShares = totalBuyFee.add(totalSellFee);

        if(totalShares == 0) return;

        uint256 _marketingShare = _buyMarketingFee.add(_sellMarketingFee);
        // uint256 _devShare = _buyDevFee.add(_sellDevFee);

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(contractBalance);
        uint256 amountReceived = address(this).balance.sub(initialBalance);
        
        uint256 amountETHMarketing = amountReceived.mul(_marketingShare).div(totalShares);
        uint256 amountETHDevelopment = amountReceived.sub(amountETHMarketing);

        if(amountETHMarketing > 0) {
            payable(marketingWallet).transfer(amountETHMarketing);
        }
        if(amountETHDevelopment > 0) {
            payable(developmentWallet).transfer(amountETHDevelopment);
        }

    }

    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] = uniRouter.WETH();

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

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

    function startTrading() external onlyOwner {
        require(!trading, "ERC20: Already Enabled");
        trading = true;
        launchedAt = block.timestamp;
    }

    //To Rescue Stucked Balance
    function rescueFunds() external onlyOwner { 
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    //To Rescue Stucked Tokens
    function rescueTokens(IERC20 adr,address recipient,uint amount) external onlyOwner {
        adr.transfer(recipient,amount);
    }

    function addOrRemoveBots(address[] calldata accounts, bool value)
        external
        onlyOwner
    {
        for (uint256 i = 0; i < accounts.length; i++) {
            isBot[accounts[i]] = value;
        }
    }    

 

    function excludeFromFee(address _adr,bool _status) external onlyOwner {
        isExcludedFromFee[_adr] = _status;
    }

    function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
        isWalletLimitExempt[_adr] = _status;
    }

    function excludeTxLimit(address _adr,bool _status) external onlyOwner {
        isTxLimitExempt[_adr] = _status;
    }

    
    function setMarketingWallet(address _newWallet) external onlyOwner {
        marketingWallet = _newWallet;
    }

    function setDevelopmentWallet(address _newWallet) external onlyOwner {
        developmentWallet = _newWallet;
    }

    function setMarketPair(address _pair, bool _status) external onlyOwner {
        isMarketPair[_pair] = _status;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount)
        external
        onlyOwner
    {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function setManualRouter(address _router) external onlyOwner {
        uniRouter = IUniSwapRouter(_router);
    }

    function setManualPair(address _pair) external onlyOwner {
        uniPair = _pair;
    }


}

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":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"addOrRemoveBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeWalletLimit","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":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"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":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setDevelopmentWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setManualPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setManualRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","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":"trading","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":"uniPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniRouter","outputs":[{"internalType":"contract IUniSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052600c60c09081526b4a75737453656e6449742e2160a01b60e0526001906200002e908262000743565b5060408051808201909152600781526629a2a72224aa1760c91b60208201526002906200005c908262000743565b506003805461dead608052600060a081905260066001600160a81b03199092166101003390810291909117831793849055600480546001600160a01b0319169091179055600a6005819055918190556007829055600855620000c29160ff169062000922565b620000d290633b9aca0062000933565b60128190556103e86013819055620000f891620000f1906032620004ce565b9062000565565b60145560125462000114906103e890620000f1906032620004ce565b6015556003546200012a9060ff16600a62000922565b6200013a906311e1a30062000933565b60165560006018556019805463ffffff00191663010101001790553480156200016257600080fd5b506200016e33620005af565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ec91906200094d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026091906200094d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d491906200094d565b601a80546001600160a01b0319166001600160a01b0392831617815560198054600160201b600160c01b0319166401000000008585168102919091178255306000818152600d60209081526040808320805460ff19908116600190811790925533808652838620805483168417905588548890048b1686528386208054831684179055808652600f8552838620805483168417905589548b168652838620805483168417905588548890048b168652838620805483168417905586865283862080548316841790556080518b16808752848720805484168517905560a0518c1680885285882080548516861790559087526010865284872080548416851790558652838620805483168417905585528285208054821683179055858552828520805482168317905587548790048a1685528285208054821683179055975489168452600e8352818420805490981617909655918152600c82528481208454849004871682529091528381206000199081905592549190910490931683529120556006546005546200046591620005ff565b6009556008546007546200047991620005ff565b600a55601254336000818152600b6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000a01565b600082600003620004e2575060006200055f565b6000620004f0838562000933565b905082620004ff858362000978565b146200055c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200055c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200066260201b60201c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806200060e83856200099b565b9050838110156200055c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000553565b60008183620006865760405162461bcd60e51b8152600401620005539190620009b1565b50600062000695848662000978565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006c957607f821691505b602082108103620006ea57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200073e57600081815260208120601f850160051c81016020861015620007195750805b601f850160051c820191505b818110156200073a5782815560010162000725565b5050505b505050565b81516001600160401b038111156200075f576200075f6200069e565b6200077781620007708454620006b4565b84620006f0565b602080601f831160018114620007af5760008415620007965750858301515b600019600386901b1c1916600185901b1785556200073a565b600085815260208120601f198616915b82811015620007e057888601518255948401946001909101908401620007bf565b5085821015620007ff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008665781600019048211156200084a576200084a6200080f565b808516156200085857918102915b93841c93908002906200082a565b509250929050565b6000826200087f575060016200055f565b816200088e575060006200055f565b8160018114620008a75760028114620008b257620008d2565b60019150506200055f565b60ff841115620008c657620008c66200080f565b50506001821b6200055f565b5060208310610133831016604e8410600b8410161715620008f7575081810a6200055f565b62000903838362000825565b80600019048211156200091a576200091a6200080f565b029392505050565b60006200055c60ff8416836200086e565b80820281158282048414176200055f576200055f6200080f565b6000602082840312156200096057600080fd5b81516001600160a01b03811681146200055c57600080fd5b6000826200099657634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200055f576200055f6200080f565b600060208083528351808285015260005b81811015620009e057858101830151858201604001528201620009c2565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516126de62000a35600039600081816103360152610bdc0152600081816104090152610c1701526126de6000f3fe6080604052600436106102cd5760003560e01c806375f0a87411610175578063bf56b371116100dc578063df20fd4911610095578063ec44acf21161006f578063ec44acf214610910578063f2fde38b1461092a578063f71b9bbf1461094a578063f872858a1461096a57600080fd5b8063df20fd49146108bb578063df8408fe146108db578063e6b2603b146108fb57600080fd5b8063bf56b371146107cf578063c04a5414146107e5578063c16dd4a414610805578063c867d60b14610825578063cea9d26f14610855578063dd62ed3e1461087557600080fd5b806395d89b411161012e57806395d89b411461071c5780639d9241ec14610731578063a0e47bf614610747578063a457c2d71461076f578063a9059cbb1461078f578063ae85ade6146107af57600080fd5b806375f0a874146106675780637d1db4a51461068c5780637d99c66d146106a2578063807c2d9c146106b85780638b42507f146106ce5780638da5cb5b146106fe57600080fd5b806339509351116102345780635d098b38116101ed5780636ddd1713116101c75780636ddd1713146105dd57806370a08231146105fc578063715018a61461063257806372ac24861461064757600080fd5b80635d098b381461057d5780635e42358c1461059d578063651a8987146105bd57600080fd5b806339509351146104975780633bbac579146104b75780633ecad271146104e75780635342acb41461051757806359b107b91461054757806359fac5171461055d57600080fd5b806323b872dd1161028657806323b872dd146103d757806327c8f835146103f7578063293230b81461042b5780632b112e4914610440578063313ce5671461045557806332972e461461047757600080fd5b80630445b667146102d957806306fdde03146103025780630930907b14610324578063095ea7b31461037057806310a60f02146103a057806318160ddd146103c257600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102ef60165481565b6040519081526020015b60405180910390f35b34801561030e57600080fd5b5061031761098b565b6040516102f9919061223a565b34801561033057600080fd5b506103587f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102f9565b34801561037c57600080fd5b5061039061038b36600461229d565b610a1d565b60405190151581526020016102f9565b3480156103ac57600080fd5b506103c06103bb3660046122d7565b610a34565b005b3480156103ce57600080fd5b506012546102ef565b3480156103e357600080fd5b506103906103f236600461235d565b610ade565b34801561040357600080fd5b506103587f000000000000000000000000000000000000000000000000000000000000000081565b34801561043757600080fd5b506103c0610b49565b34801561044c57600080fd5b506102ef610bd2565b34801561046157600080fd5b5060035460405160ff90911681526020016102f9565b34801561048357600080fd5b50601a54610358906001600160a01b031681565b3480156104a357600080fd5b506103906104b236600461229d565b610c65565b3480156104c357600080fd5b506103906104d236600461239e565b60116020526000908152604090205460ff1681565b3480156104f357600080fd5b5061039061050236600461239e565b600e6020526000908152604090205460ff1681565b34801561052357600080fd5b5061039061053236600461239e565b600d6020526000908152604090205460ff1681565b34801561055357600080fd5b506102ef60095481565b34801561056957600080fd5b506103c061057836600461239e565b610c9b565b34801561058957600080fd5b506103c061059836600461239e565b610cf3565b3480156105a957600080fd5b506019546103909062010000900460ff1681565b3480156105c957600080fd5b506103c06105d83660046123bb565b610d45565b3480156105e957600080fd5b5060195461039090610100900460ff1681565b34801561060857600080fd5b506102ef61061736600461239e565b6001600160a01b03166000908152600b602052604090205490565b34801561063e57600080fd5b506103c0610d9a565b34801561065357600080fd5b506103c061066236600461239e565b610dd0565b34801561067357600080fd5b506003546103589061010090046001600160a01b031681565b34801561069857600080fd5b506102ef60145481565b3480156106ae57600080fd5b506102ef60185481565b3480156106c457600080fd5b506102ef60155481565b3480156106da57600080fd5b506103906106e936600461239e565b60106020526000908152604090205460ff1681565b34801561070a57600080fd5b506000546001600160a01b0316610358565b34801561072857600080fd5b50610317610e1c565b34801561073d57600080fd5b506102ef600a5481565b34801561075357600080fd5b506019546103589064010000000090046001600160a01b031681565b34801561077b57600080fd5b5061039061078a36600461229d565b610e2b565b34801561079b57600080fd5b506103906107aa36600461229d565b610e7a565b3480156107bb57600080fd5b506103c06107ca3660046123bb565b610e87565b3480156107db57600080fd5b506102ef60175481565b3480156107f157600080fd5b50600454610358906001600160a01b031681565b34801561081157600080fd5b506103c06108203660046123bb565b610edc565b34801561083157600080fd5b5061039061084036600461239e565b600f6020526000908152604090205460ff1681565b34801561086157600080fd5b506103c061087036600461235d565b610f31565b34801561088157600080fd5b506102ef6108903660046123f4565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b3480156108c757600080fd5b506103c06108d6366004612422565b610fce565b3480156108e757600080fd5b506103c06108f63660046123bb565b611016565b34801561090757600080fd5b506103c061106b565b34801561091c57600080fd5b506019546103909060ff1681565b34801561093657600080fd5b506103c061094536600461239e565b611127565b34801561095657600080fd5b506103c061096536600461239e565b6111bf565b34801561097657600080fd5b50601954610390906301000000900460ff1681565b60606001805461099a90612440565b80601f01602080910402602001604051908101604052809291908181526020018280546109c690612440565b8015610a135780601f106109e857610100808354040283529160200191610a13565b820191906000526020600020905b8154815290600101906020018083116109f657829003601f168201915b5050505050905090565b6000610a2a33848461120b565b5060015b92915050565b6000546001600160a01b03163314610a675760405162461bcd60e51b8152600401610a5e9061247a565b60405180910390fd5b60005b82811015610ad8578160116000868685818110610a8957610a896124af565b9050602002016020810190610a9e919061239e565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610ad0816124db565b915050610a6a565b50505050565b6000610aeb84848461132f565b50610b3e8433610b398560405180606001604052806028815260200161265c602891396001600160a01b038a166000908152600c6020908152604080832033845290915290205491906119a0565b61120b565b5060015b9392505050565b6000546001600160a01b03163314610b735760405162461bcd60e51b8152600401610a5e9061247a565b60195460ff1615610bbf5760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610a5e565b6019805460ff1916600117905542601755565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600b6020526040812054610c6090610c5a610c517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166000908152600b602052604090205490565b601254906119da565b906119da565b905090565b336000818152600c602090815260408083206001600160a01b03871684529091528120549091610a2a918590610b399086611a1c565b6000546001600160a01b03163314610cc55760405162461bcd60e51b8152600401610a5e9061247a565b601980546001600160a01b0390921664010000000002640100000000600160c01b0319909216919091179055565b6000546001600160a01b03163314610d1d5760405162461bcd60e51b8152600401610a5e9061247a565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610d6f5760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610dc45760405162461bcd60e51b8152600401610a5e9061247a565b610dce6000611a7b565b565b6000546001600160a01b03163314610dfa5760405162461bcd60e51b8152600401610a5e9061247a565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60606002805461099a90612440565b6000610a2a3384610b398560405180606001604052806025815260200161268460259139336000908152600c602090815260408083206001600160a01b038d16845290915290205491906119a0565b6000610b3e33848461132f565b6000546001600160a01b03163314610eb15760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f065760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f5b5760405162461bcd60e51b8152600401610a5e9061247a565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad891906124f4565b6000546001600160a01b03163314610ff85760405162461bcd60e51b8152600401610a5e9061247a565b601980549215156101000261ff001990931692909217909155601655565b6000546001600160a01b031633146110405760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110955760405162461bcd60e51b8152600401610a5e9061247a565b604051600090339047908381818185875af1925050503d80600081146110d7576040519150601f19603f3d011682016040523d82523d6000602084013e6110dc565b606091505b50509050806111245760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610a5e565b50565b6000546001600160a01b031633146111515760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b0381166111b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a5e565b61112481611a7b565b6000546001600160a01b031633146111e95760405162461bcd60e51b8152600401610a5e9061247a565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661126d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a5e565b6001600160a01b0382166112ce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a5e565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166113955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a5e565b6001600160a01b0383166113f75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a5e565b600082116114595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a5e565b6001600160a01b03841660009081526011602052604090205460ff16156114925760405162461bcd60e51b8152600401610a5e90612511565b3360009081526011602052604090205460ff16156114c25760405162461bcd60e51b8152600401610a5e90612511565b3260009081526011602052604090205460ff16156114f25760405162461bcd60e51b8152600401610a5e90612511565b601a54600160a01b900460ff16156115165761150f848484611acb565b9050610b42565b6001600160a01b0384166000908152600d602052604090205460ff1615801561155857506001600160a01b0383166000908152600d602052604090205460ff16155b1561165e5760195460ff166115af5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610a5e565b6018546017546115bf919061253e565b421080156115e357506019546001600160a01b038581166401000000009092041614155b1561165e57601a546001600160a01b03808616911603611625576001600160a01b0383166000908152601160205260409020805460ff1916600117905561165e565b601a546001600160a01b0380851691160361165e576001600160a01b0384166000908152601160205260409020805460ff191660011790555b306000908152600b60205260409020546016548110801590819061168c5750601a54600160a01b900460ff16155b80156116b157506001600160a01b0386166000908152600e602052604090205460ff16155b80156116c45750601954610100900460ff165b156116d2576116d282611bb1565b6001600160a01b03861660009081526010602052604090205460ff1615801561171457506001600160a01b03851660009081526010602052604090205460ff16155b8015611728575060195462010000900460ff165b15611790576014548411156117905760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a5e565b600061179c8787611cdf565b6117b0576117ab878787611d7f565b6117b2565b845b6019549091506301000000900460ff1680156117e757506001600160a01b0386166000908152600f602052604090205460ff16155b156118665760155461181882611812896001600160a01b03166000908152600b602052604090205490565b90611a1c565b11156118665760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610a5e565b6001600160a01b0386166000908152600b60205260409020546118899082611a1c565b6001600160a01b0387166000908152600b60205260408120919091556007546005546118b491611a1c565b90506118ea888888846040518060400160405280600f81526020016e4c696d69742045786365656465642160881b815250611eab565b506040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038b166000908152600b909152919091205461193d9188906119a0565b6001600160a01b038981166000818152600b60209081526040918290209490945551858152918a169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001945050505050610b42565b600081848411156119c45760405162461bcd60e51b8152600401610a5e919061223a565b5060006119d18486612551565b95945050505050565b6000610b4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119a0565b600080611a29838561253e565b905083811015610b425760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a5e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600b90915291822054611b1c9184906119a0565b6001600160a01b038086166000908152600b60205260408082209390935590851681522054611b4b9083611a1c565b6001600160a01b038085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9086815260200190565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b179055600a54600954600091611bd79190611a1c565b905080600003611be75750611ccf565b6000611c00600754600554611a1c90919063ffffffff16565b905047611c0c84611f91565b6000611c1847836119da565b90506000611c3085611c2a848761214d565b906121cf565b90506000611c3e83836119da565b90508115611c86576003546040516101009091046001600160a01b0316906108fc8415029084906000818181858888f19350505050158015611c84573d6000803e3d6000fd5b505b8015611cc8576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611cc6573d6000803e3d6000fd5b505b5050505050505b50601a805460ff60a01b19169055565b6001600160a01b0382166000908152600d602052604081205460ff1680611d1e57506001600160a01b0382166000908152600d602052604090205460ff165b15611d2b57506001610a2e565b6001600160a01b0383166000908152600e602052604090205460ff1680611d6a57506001600160a01b0382166000908152600e602052604090205460ff165b15611d7757506000610a2e565b506000610a2e565b6001600160a01b0383166000908152600e6020526040812054819060ff1615611dc457611dbd601354611c2a6009548661214d90919063ffffffff16565b9050611e27565b6001600160a01b0384166000908152600e602052604090205460ff1680611e0457506001600160a01b0384166000908152600e602052604090205460ff16155b15611e2757611e24601354611c2a600a548661214d90919063ffffffff16565b90505b8015611ea157306000908152600b6020526040902054611e479082611a1c565b306000818152600b6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e989085815260200190565b60405180910390a35b6119d183826119da565b6000611eb8868686611d7f565b506000611ed060075485611a1c90919063ffffffff16565b905080600003611ee857611ee6816000856119a0565b505b6001600160a01b0387166000908152600d602052604090205460ff1680611f2757506001600160a01b0386166000908152600d602052604090205460ff165b15611f365760019150506119d1565b6001600160a01b0387166000908152600e602052604090205460ff1680611f7557506001600160a01b0386166000908152600e602052604090205460ff165b15611f845760009150506119d1565b5060009695505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611fc657611fc66124af565b60200260200101906001600160a01b031690816001600160a01b031681525050601960049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205d9190612564565b81600181518110612070576120706124af565b6001600160a01b03928316602091820292909201015260195461209e9130916401000000009004168461120b565b60195460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac947906120de9085906000908690309042906004016125c5565b600060405180830381600087803b1580156120f857600080fd5b505af115801561210c573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612141929190612601565b60405180910390a15050565b60008260000361215f57506000610a2e565b600061216b8385612622565b9050826121788583612639565b14610b425760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a5e565b6000610b4283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361222d5760405162461bcd60e51b8152600401610a5e919061223a565b5060006119d18486612639565b600060208083528351808285015260005b818110156122675785810183015185820160400152820161224b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112457600080fd5b600080604083850312156122b057600080fd5b82356122bb81612288565b946020939093013593505050565b801515811461112457600080fd5b6000806000604084860312156122ec57600080fd5b833567ffffffffffffffff8082111561230457600080fd5b818601915086601f83011261231857600080fd5b81358181111561232757600080fd5b8760208260051b850101111561233c57600080fd5b60209283019550935050840135612352816122c9565b809150509250925092565b60008060006060848603121561237257600080fd5b833561237d81612288565b9250602084013561238d81612288565b929592945050506040919091013590565b6000602082840312156123b057600080fd5b8135610b4281612288565b600080604083850312156123ce57600080fd5b82356123d981612288565b915060208301356123e9816122c9565b809150509250929050565b6000806040838503121561240757600080fd5b823561241281612288565b915060208301356123e981612288565b6000806040838503121561243557600080fd5b82356122bb816122c9565b600181811c9082168061245457607f821691505b60208210810361247457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016124ed576124ed6124c5565b5060010190565b60006020828403121561250657600080fd5b8151610b42816122c9565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b80820180821115610a2e57610a2e6124c5565b81810381811115610a2e57610a2e6124c5565b60006020828403121561257657600080fd5b8151610b4281612288565b600081518084526020808501945080840160005b838110156125ba5781516001600160a01b031687529582019590820190600101612595565b509495945050505050565b85815284602082015260a0604082015260006125e460a0830186612581565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061261a6040830184612581565b949350505050565b8082028115828204841417610a2e57610a2e6124c5565b60008261265657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220bf08582565907dd2bff6aa0481ab84060791e77a96238db1acb3a70a606421dd64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102cd5760003560e01c806375f0a87411610175578063bf56b371116100dc578063df20fd4911610095578063ec44acf21161006f578063ec44acf214610910578063f2fde38b1461092a578063f71b9bbf1461094a578063f872858a1461096a57600080fd5b8063df20fd49146108bb578063df8408fe146108db578063e6b2603b146108fb57600080fd5b8063bf56b371146107cf578063c04a5414146107e5578063c16dd4a414610805578063c867d60b14610825578063cea9d26f14610855578063dd62ed3e1461087557600080fd5b806395d89b411161012e57806395d89b411461071c5780639d9241ec14610731578063a0e47bf614610747578063a457c2d71461076f578063a9059cbb1461078f578063ae85ade6146107af57600080fd5b806375f0a874146106675780637d1db4a51461068c5780637d99c66d146106a2578063807c2d9c146106b85780638b42507f146106ce5780638da5cb5b146106fe57600080fd5b806339509351116102345780635d098b38116101ed5780636ddd1713116101c75780636ddd1713146105dd57806370a08231146105fc578063715018a61461063257806372ac24861461064757600080fd5b80635d098b381461057d5780635e42358c1461059d578063651a8987146105bd57600080fd5b806339509351146104975780633bbac579146104b75780633ecad271146104e75780635342acb41461051757806359b107b91461054757806359fac5171461055d57600080fd5b806323b872dd1161028657806323b872dd146103d757806327c8f835146103f7578063293230b81461042b5780632b112e4914610440578063313ce5671461045557806332972e461461047757600080fd5b80630445b667146102d957806306fdde03146103025780630930907b14610324578063095ea7b31461037057806310a60f02146103a057806318160ddd146103c257600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102ef60165481565b6040519081526020015b60405180910390f35b34801561030e57600080fd5b5061031761098b565b6040516102f9919061223a565b34801561033057600080fd5b506103587f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102f9565b34801561037c57600080fd5b5061039061038b36600461229d565b610a1d565b60405190151581526020016102f9565b3480156103ac57600080fd5b506103c06103bb3660046122d7565b610a34565b005b3480156103ce57600080fd5b506012546102ef565b3480156103e357600080fd5b506103906103f236600461235d565b610ade565b34801561040357600080fd5b506103587f000000000000000000000000000000000000000000000000000000000000dead81565b34801561043757600080fd5b506103c0610b49565b34801561044c57600080fd5b506102ef610bd2565b34801561046157600080fd5b5060035460405160ff90911681526020016102f9565b34801561048357600080fd5b50601a54610358906001600160a01b031681565b3480156104a357600080fd5b506103906104b236600461229d565b610c65565b3480156104c357600080fd5b506103906104d236600461239e565b60116020526000908152604090205460ff1681565b3480156104f357600080fd5b5061039061050236600461239e565b600e6020526000908152604090205460ff1681565b34801561052357600080fd5b5061039061053236600461239e565b600d6020526000908152604090205460ff1681565b34801561055357600080fd5b506102ef60095481565b34801561056957600080fd5b506103c061057836600461239e565b610c9b565b34801561058957600080fd5b506103c061059836600461239e565b610cf3565b3480156105a957600080fd5b506019546103909062010000900460ff1681565b3480156105c957600080fd5b506103c06105d83660046123bb565b610d45565b3480156105e957600080fd5b5060195461039090610100900460ff1681565b34801561060857600080fd5b506102ef61061736600461239e565b6001600160a01b03166000908152600b602052604090205490565b34801561063e57600080fd5b506103c0610d9a565b34801561065357600080fd5b506103c061066236600461239e565b610dd0565b34801561067357600080fd5b506003546103589061010090046001600160a01b031681565b34801561069857600080fd5b506102ef60145481565b3480156106ae57600080fd5b506102ef60185481565b3480156106c457600080fd5b506102ef60155481565b3480156106da57600080fd5b506103906106e936600461239e565b60106020526000908152604090205460ff1681565b34801561070a57600080fd5b506000546001600160a01b0316610358565b34801561072857600080fd5b50610317610e1c565b34801561073d57600080fd5b506102ef600a5481565b34801561075357600080fd5b506019546103589064010000000090046001600160a01b031681565b34801561077b57600080fd5b5061039061078a36600461229d565b610e2b565b34801561079b57600080fd5b506103906107aa36600461229d565b610e7a565b3480156107bb57600080fd5b506103c06107ca3660046123bb565b610e87565b3480156107db57600080fd5b506102ef60175481565b3480156107f157600080fd5b50600454610358906001600160a01b031681565b34801561081157600080fd5b506103c06108203660046123bb565b610edc565b34801561083157600080fd5b5061039061084036600461239e565b600f6020526000908152604090205460ff1681565b34801561086157600080fd5b506103c061087036600461235d565b610f31565b34801561088157600080fd5b506102ef6108903660046123f4565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b3480156108c757600080fd5b506103c06108d6366004612422565b610fce565b3480156108e757600080fd5b506103c06108f63660046123bb565b611016565b34801561090757600080fd5b506103c061106b565b34801561091c57600080fd5b506019546103909060ff1681565b34801561093657600080fd5b506103c061094536600461239e565b611127565b34801561095657600080fd5b506103c061096536600461239e565b6111bf565b34801561097657600080fd5b50601954610390906301000000900460ff1681565b60606001805461099a90612440565b80601f01602080910402602001604051908101604052809291908181526020018280546109c690612440565b8015610a135780601f106109e857610100808354040283529160200191610a13565b820191906000526020600020905b8154815290600101906020018083116109f657829003601f168201915b5050505050905090565b6000610a2a33848461120b565b5060015b92915050565b6000546001600160a01b03163314610a675760405162461bcd60e51b8152600401610a5e9061247a565b60405180910390fd5b60005b82811015610ad8578160116000868685818110610a8957610a896124af565b9050602002016020810190610a9e919061239e565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610ad0816124db565b915050610a6a565b50505050565b6000610aeb84848461132f565b50610b3e8433610b398560405180606001604052806028815260200161265c602891396001600160a01b038a166000908152600c6020908152604080832033845290915290205491906119a0565b61120b565b5060015b9392505050565b6000546001600160a01b03163314610b735760405162461bcd60e51b8152600401610a5e9061247a565b60195460ff1615610bbf5760405162461bcd60e51b8152602060048201526016602482015275115490cc8c0e88105b1c9958591e48115b98589b195960521b6044820152606401610a5e565b6019805460ff1916600117905542601755565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600b6020526040812054610c6090610c5a610c517f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03166000908152600b602052604090205490565b601254906119da565b906119da565b905090565b336000818152600c602090815260408083206001600160a01b03871684529091528120549091610a2a918590610b399086611a1c565b6000546001600160a01b03163314610cc55760405162461bcd60e51b8152600401610a5e9061247a565b601980546001600160a01b0390921664010000000002640100000000600160c01b0319909216919091179055565b6000546001600160a01b03163314610d1d5760405162461bcd60e51b8152600401610a5e9061247a565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b03163314610d6f5760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610dc45760405162461bcd60e51b8152600401610a5e9061247a565b610dce6000611a7b565b565b6000546001600160a01b03163314610dfa5760405162461bcd60e51b8152600401610a5e9061247a565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60606002805461099a90612440565b6000610a2a3384610b398560405180606001604052806025815260200161268460259139336000908152600c602090815260408083206001600160a01b038d16845290915290205491906119a0565b6000610b3e33848461132f565b6000546001600160a01b03163314610eb15760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f065760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f5b5760405162461bcd60e51b8152600401610a5e9061247a565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad891906124f4565b6000546001600160a01b03163314610ff85760405162461bcd60e51b8152600401610a5e9061247a565b601980549215156101000261ff001990931692909217909155601655565b6000546001600160a01b031633146110405760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110955760405162461bcd60e51b8152600401610a5e9061247a565b604051600090339047908381818185875af1925050503d80600081146110d7576040519150601f19603f3d011682016040523d82523d6000602084013e6110dc565b606091505b50509050806111245760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610a5e565b50565b6000546001600160a01b031633146111515760405162461bcd60e51b8152600401610a5e9061247a565b6001600160a01b0381166111b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a5e565b61112481611a7b565b6000546001600160a01b031633146111e95760405162461bcd60e51b8152600401610a5e9061247a565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661126d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a5e565b6001600160a01b0382166112ce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a5e565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166113955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a5e565b6001600160a01b0383166113f75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a5e565b600082116114595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a5e565b6001600160a01b03841660009081526011602052604090205460ff16156114925760405162461bcd60e51b8152600401610a5e90612511565b3360009081526011602052604090205460ff16156114c25760405162461bcd60e51b8152600401610a5e90612511565b3260009081526011602052604090205460ff16156114f25760405162461bcd60e51b8152600401610a5e90612511565b601a54600160a01b900460ff16156115165761150f848484611acb565b9050610b42565b6001600160a01b0384166000908152600d602052604090205460ff1615801561155857506001600160a01b0383166000908152600d602052604090205460ff16155b1561165e5760195460ff166115af5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2074726164696e67206e6f7420656e61626c65207965740000006044820152606401610a5e565b6018546017546115bf919061253e565b421080156115e357506019546001600160a01b038581166401000000009092041614155b1561165e57601a546001600160a01b03808616911603611625576001600160a01b0383166000908152601160205260409020805460ff1916600117905561165e565b601a546001600160a01b0380851691160361165e576001600160a01b0384166000908152601160205260409020805460ff191660011790555b306000908152600b60205260409020546016548110801590819061168c5750601a54600160a01b900460ff16155b80156116b157506001600160a01b0386166000908152600e602052604090205460ff16155b80156116c45750601954610100900460ff165b156116d2576116d282611bb1565b6001600160a01b03861660009081526010602052604090205460ff1615801561171457506001600160a01b03851660009081526010602052604090205460ff16155b8015611728575060195462010000900460ff165b15611790576014548411156117905760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a5e565b600061179c8787611cdf565b6117b0576117ab878787611d7f565b6117b2565b845b6019549091506301000000900460ff1680156117e757506001600160a01b0386166000908152600f602052604090205460ff16155b156118665760155461181882611812896001600160a01b03166000908152600b602052604090205490565b90611a1c565b11156118665760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610a5e565b6001600160a01b0386166000908152600b60205260409020546118899082611a1c565b6001600160a01b0387166000908152600b60205260408120919091556007546005546118b491611a1c565b90506118ea888888846040518060400160405280600f81526020016e4c696d69742045786365656465642160881b815250611eab565b506040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038b166000908152600b909152919091205461193d9188906119a0565b6001600160a01b038981166000818152600b60209081526040918290209490945551858152918a169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001945050505050610b42565b600081848411156119c45760405162461bcd60e51b8152600401610a5e919061223a565b5060006119d18486612551565b95945050505050565b6000610b4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119a0565b600080611a29838561253e565b905083811015610b425760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a5e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600b90915291822054611b1c9184906119a0565b6001600160a01b038086166000908152600b60205260408082209390935590851681522054611b4b9083611a1c565b6001600160a01b038085166000818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9086815260200190565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b179055600a54600954600091611bd79190611a1c565b905080600003611be75750611ccf565b6000611c00600754600554611a1c90919063ffffffff16565b905047611c0c84611f91565b6000611c1847836119da565b90506000611c3085611c2a848761214d565b906121cf565b90506000611c3e83836119da565b90508115611c86576003546040516101009091046001600160a01b0316906108fc8415029084906000818181858888f19350505050158015611c84573d6000803e3d6000fd5b505b8015611cc8576004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611cc6573d6000803e3d6000fd5b505b5050505050505b50601a805460ff60a01b19169055565b6001600160a01b0382166000908152600d602052604081205460ff1680611d1e57506001600160a01b0382166000908152600d602052604090205460ff165b15611d2b57506001610a2e565b6001600160a01b0383166000908152600e602052604090205460ff1680611d6a57506001600160a01b0382166000908152600e602052604090205460ff165b15611d7757506000610a2e565b506000610a2e565b6001600160a01b0383166000908152600e6020526040812054819060ff1615611dc457611dbd601354611c2a6009548661214d90919063ffffffff16565b9050611e27565b6001600160a01b0384166000908152600e602052604090205460ff1680611e0457506001600160a01b0384166000908152600e602052604090205460ff16155b15611e2757611e24601354611c2a600a548661214d90919063ffffffff16565b90505b8015611ea157306000908152600b6020526040902054611e479082611a1c565b306000818152600b6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e989085815260200190565b60405180910390a35b6119d183826119da565b6000611eb8868686611d7f565b506000611ed060075485611a1c90919063ffffffff16565b905080600003611ee857611ee6816000856119a0565b505b6001600160a01b0387166000908152600d602052604090205460ff1680611f2757506001600160a01b0386166000908152600d602052604090205460ff165b15611f365760019150506119d1565b6001600160a01b0387166000908152600e602052604090205460ff1680611f7557506001600160a01b0386166000908152600e602052604090205460ff165b15611f845760009150506119d1565b5060009695505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611fc657611fc66124af565b60200260200101906001600160a01b031690816001600160a01b031681525050601960049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205d9190612564565b81600181518110612070576120706124af565b6001600160a01b03928316602091820292909201015260195461209e9130916401000000009004168461120b565b60195460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac947906120de9085906000908690309042906004016125c5565b600060405180830381600087803b1580156120f857600080fd5b505af115801561210c573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612141929190612601565b60405180910390a15050565b60008260000361215f57506000610a2e565b600061216b8385612622565b9050826121788583612639565b14610b425760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a5e565b6000610b4283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361222d5760405162461bcd60e51b8152600401610a5e919061223a565b5060006119d18486612639565b600060208083528351808285015260005b818110156122675785810183015185820160400152820161224b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112457600080fd5b600080604083850312156122b057600080fd5b82356122bb81612288565b946020939093013593505050565b801515811461112457600080fd5b6000806000604084860312156122ec57600080fd5b833567ffffffffffffffff8082111561230457600080fd5b818601915086601f83011261231857600080fd5b81358181111561232757600080fd5b8760208260051b850101111561233c57600080fd5b60209283019550935050840135612352816122c9565b809150509250925092565b60008060006060848603121561237257600080fd5b833561237d81612288565b9250602084013561238d81612288565b929592945050506040919091013590565b6000602082840312156123b057600080fd5b8135610b4281612288565b600080604083850312156123ce57600080fd5b82356123d981612288565b915060208301356123e9816122c9565b809150509250929050565b6000806040838503121561240757600080fd5b823561241281612288565b915060208301356123e981612288565b6000806040838503121561243557600080fd5b82356122bb816122c9565b600181811c9082168061245457607f821691505b60208210810361247457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016124ed576124ed6124c5565b5060010190565b60006020828403121561250657600080fd5b8151610b42816122c9565b602080825260139082015272115490cc8c0e88109bdd0819195d1958dd1959606a1b604082015260600190565b80820180821115610a2e57610a2e6124c5565b81810381811115610a2e57610a2e6124c5565b60006020828403121561257657600080fd5b8151610b4281612288565b600081518084526020808501945080840160005b838110156125ba5781516001600160a01b031687529582019590820190600101612595565b509495945050505050565b85815284602082015260a0604082015260006125e460a0830186612581565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061261a6040830184612581565b949350505050565b8082028115828204841417610a2e57610a2e6124c5565b60008261265657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220bf08582565907dd2bff6aa0481ab84060791e77a96238db1acb3a70a606421dd64736f6c63430008130033

Deployed Bytecode Sourcemap

4838:14532:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6238:56;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6238:56:0;;;;;;;;8559:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5187:81::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;913:32:1;;;895:51;;883:2;868:18;5187:81:0;749:203:1;9897:161:0;;;;;;;;;;-1:-1:-1;9897:161:0;;;;;:::i;:::-;;:::i;:::-;;;1578:14:1;;1571:22;1553:41;;1541:2;1526:18;9897:161:0;1413:187:1;17946:225:0;;;;;;;;;;-1:-1:-1;17946:225:0;;;;;:::i;:::-;;:::i;:::-;;8836:100;;;;;;;;;;-1:-1:-1;8916:12:0;;8836:100;;10671:313;;;;;;;;;;-1:-1:-1;10671:313:0;;;;;:::i;:::-;;:::i;5099:81::-;;;;;;;;;;;;;;;17378:169;;;;;;;;;;;;;:::i;9230:156::-;;;;;;;;;;;;;:::i;8745:83::-;;;;;;;;;;-1:-1:-1;8811:9:0;;8745:83;;8811:9;;;;3086:36:1;;3074:2;3059:18;8745:83:0;2944:184:1;6589:22:0;;;;;;;;;;-1:-1:-1;6589:22:0;;;;-1:-1:-1;;;;;6589:22:0;;;9394:218;;;;;;;;;;-1:-1:-1;9394:218:0;;;;;:::i;:::-;;:::i;5937:38::-;;;;;;;;;;-1:-1:-1;5937:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5771:45;;;;;;;;;;-1:-1:-1;5771:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5714:50;;;;;;;;;;-1:-1:-1;5714:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5518:26;;;;;;;;;;;;;;;;19149:115;;;;;;;;;;-1:-1:-1;19149:115:0;;;;;:::i;:::-;;:::i;18588:114::-;;;;;;;;;;-1:-1:-1;18588:114:0;;;;;:::i;:::-;;:::i;6468:32::-;;;;;;;;;;-1:-1:-1;6468:32:0;;;;;;;;;;;18318:128;;;;;;;;;;-1:-1:-1;18318:128:0;;;;;:::i;:::-;;:::i;6431:30::-;;;;;;;;;;-1:-1:-1;6431:30:0;;;;;;;;;;;8944:123;;;;;;;;;;-1:-1:-1;8944:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;9036:18:0;9010:7;9036:18;;;:9;:18;;;;;;;8944:123;1911:94;;;;;;;;;;;;;:::i;18710:118::-;;;;;;;;;;-1:-1:-1;18710:118:0;;;;;:::i;:::-;;:::i;5277:43::-;;;;;;;;;;-1:-1:-1;5277:43:0;;;;;;;-1:-1:-1;;;;;5277:43:0;;;6088:61;;;;;;;;;;;;;;;;6336:38;;;;;;;;;;;;;;;;6165:58;;;;;;;;;;;;;;;;5882:48;;;;;;;;;;-1:-1:-1;5882:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1602:87;;;;;;;;;;-1:-1:-1;1648:7:0;1675:6;-1:-1:-1;;;;;1675:6:0;1602:87;;8650;;;;;;;;;;;;;:::i;5551:27::-;;;;;;;;;;;;;;;;6551:31;;;;;;;;;;-1:-1:-1;6551:31:0;;;;;;;-1:-1:-1;;;;;6551:31:0;;;9620:269;;;;;;;;;;-1:-1:-1;9620:269:0;;;;;:::i;:::-;;:::i;10496:167::-;;;;;;;;;;-1:-1:-1;10496:167:0;;;;;:::i;:::-;;:::i;18454:120::-;;;;;;;;;;-1:-1:-1;18454:120:0;;;;;:::i;:::-;;:::i;6303:25::-;;;;;;;;;;;;;;;;5327:46;;;;;;;;;;-1:-1:-1;5327:46:0;;;;-1:-1:-1;;;;;5327:46:0;;;18836:119;;;;;;;;;;-1:-1:-1;18836:119:0;;;;;:::i;:::-;;:::i;5823:52::-;;;;;;;;;;-1:-1:-1;5823:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17806:132;;;;;;;;;;-1:-1:-1;17806:132:0;;;;;:::i;:::-;;:::i;9075:143::-;;;;;;;;;;-1:-1:-1;9075:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9183:18:0;;;9156:7;9183:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9075:143;18963:178;;;;;;;;;;-1:-1:-1;18963:178:0;;;;;:::i;:::-;;:::i;18188:122::-;;;;;;;;;;-1:-1:-1;18188:122:0;;;;;:::i;:::-;;:::i;17588:178::-;;;;;;;;;;;;;:::i;6402:19::-;;;;;;;;;;-1:-1:-1;6402:19:0;;;;;;;;2013:229;;;;;;;;;;-1:-1:-1;2013:229:0;;;;;:::i;:::-;;:::i;19272:91::-;;;;;;;;;;-1:-1:-1;19272:91:0;;;;;:::i;:::-;;:::i;6507:35::-;;;;;;;;;;-1:-1:-1;6507:35:0;;;;;;;;;;;8559:83;8596:13;8629:5;8622:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8559:83;:::o;9897:161::-;9972:4;9989:39;249:10;10012:7;10021:6;9989:8;:39::i;:::-;-1:-1:-1;10046:4:0;9897:161;;;;;:::o;17946:225::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;;;;;;;;;18070:9:::1;18065:99;18085:19:::0;;::::1;18065:99;;;18147:5;18126;:18;18132:8;;18141:1;18132:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18126:18:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18126:18:0;:26;;-1:-1:-1;;18126:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18106:3;::::1;::::0;::::1;:::i;:::-;;;;18065:99;;;;17946:225:::0;;;:::o;10671:313::-;10769:4;10786:36;10796:6;10804:9;10815:6;10786:9;:36::i;:::-;-1:-1:-1;10833:121:0;10842:6;249:10;10864:89;10902:6;10864:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10864:19:0;;;;;;:11;:19;;;;;;;;249:10;10864:33;;;;;;;;;;:37;:89::i;:::-;10833:8;:121::i;:::-;-1:-1:-1;10972:4:0;10671:313;;;;;;:::o;17378:169::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;17441:7:::1;::::0;::::1;;17440:8;17432:43;;;::::0;-1:-1:-1;;;17432:43:0;;6535:2:1;17432:43:0::1;::::0;::::1;6517:21:1::0;6574:2;6554:18;;;6547:30;-1:-1:-1;;;6593:18:1;;;6586:52;6655:18;;17432:43:0::1;6333:346:1::0;17432:43:0::1;17486:7;:14:::0;;-1:-1:-1;;17486:14:0::1;17496:4;17486:14;::::0;;17524:15:::1;17511:10;:28:::0;17378:169::o;9230:156::-;-1:-1:-1;;;;;9365:11:0;9036:18;9283:7;9036:18;;;:9;:18;;;;;;9310:68;;:40;9327:22;9337:11;-1:-1:-1;;;;;9036:18:0;9010:7;9036:18;;;:9;:18;;;;;;;8944:123;9327:22;9310:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;9303:75;;9230:156;:::o;9394:218::-;249:10;9482:4;9531:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9531:34:0;;;;;;;;;;9482:4;;9499:83;;9522:7;;9531:50;;9570:10;9531:38;:50::i;19149:115::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;19221:9:::1;:35:::0;;-1:-1:-1;;;;;19221:35:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;19221:35:0;;::::1;::::0;;;::::1;::::0;;19149:115::o;18588:114::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;18666:15:::1;:28:::0;;-1:-1:-1;;;;;18666:28:0;;::::1;;;-1:-1:-1::0;;;;;;18666:28:0;;::::1;::::0;;;::::1;::::0;;18588:114::o;18318:128::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18403:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:35;;-1:-1:-1;;18403:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18318:128::o;1911:94::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;1976:21:::1;1994:1;1976:9;:21::i;:::-;1911:94::o:0;18710:118::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;18790:17:::1;:30:::0;;-1:-1:-1;;;;;;18790:30:0::1;-1:-1:-1::0;;;;;18790:30:0;;;::::1;::::0;;;::::1;::::0;;18710:118::o;8650:87::-;8689:13;8722:7;8715:14;;;;;:::i;9620:269::-;9713:4;9730:129;249:10;9753:7;9762:96;9801:15;9762:96;;;;;;;;;;;;;;;;;249:10;9762:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9762:34:0;;;;;;;;;;;;:38;:96::i;10496:167::-;10574:4;10591:42;249:10;10615:9;10626:6;10591:9;:42::i;18454:120::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18535:21:0;;;::::1;;::::0;;;:15:::1;:21;::::0;;;;:31;;-1:-1:-1;;18535:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18454:120::o;18836:119::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18918:19:0;;;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;18918:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18836:119::o;17806:132::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;17900:30:::1;::::0;-1:-1:-1;;;17900:30:0;;-1:-1:-1;;;;;6876:32:1;;;17900:30:0::1;::::0;::::1;6858:51:1::0;6925:18;;;6918:34;;;17900:12:0;::::1;::::0;::::1;::::0;6831:18:1;;17900:30:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18963:178::-:0;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;19077:11:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;19077:22:0;;::::1;::::0;;;::::1;::::0;;;19110:13:::1;:23:::0;18963:178::o;18188:122::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18269:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:33;;-1:-1:-1;;18269:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18188:122::o;17588:178::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;17655:58:::1;::::0;17643:7:::1;::::0;17663:10:::1;::::0;17687:21:::1;::::0;17643:7;17655:58;17643:7;17655:58;17687:21;17663:10;17655:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17642:71;;;17732:2;17724:34;;;::::0;-1:-1:-1;;;17724:34:0;;7625:2:1;17724:34:0::1;::::0;::::1;7607:21:1::0;7664:2;7644:18;;;7637:30;-1:-1:-1;;;7683:18:1;;;7676:50;7743:18;;17724:34:0::1;7423:344:1::0;17724:34:0::1;17630:136;17588:178::o:0;2013:229::-;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2116:22:0;::::1;2094:110;;;::::0;-1:-1:-1;;;2094:110:0;;7974:2:1;2094:110:0::1;::::0;::::1;7956:21:1::0;8013:2;7993:18;;;7986:30;8052:34;8032:18;;;8025:62;-1:-1:-1;;;8103:18:1;;;8096:36;8149:19;;2094:110:0::1;7772:402:1::0;2094:110:0::1;2215:19;2225:8;2215:9;:19::i;19272:91::-:0;1648:7;1675:6;-1:-1:-1;;;;;1675:6:0;249:10;1823:23;1815:68;;;;-1:-1:-1;;;1815:68:0;;;;;;;:::i;:::-;19340:7:::1;:15:::0;;-1:-1:-1;;;;;;19340:15:0::1;-1:-1:-1::0;;;;;19340:15:0;;;::::1;::::0;;;::::1;::::0;;19272:91::o;10066:337::-;-1:-1:-1;;;;;10159:19:0;;10151:68;;;;-1:-1:-1;;;10151:68:0;;8381:2:1;10151:68:0;;;8363:21:1;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;-1:-1:-1;;;8510:18:1;;;8503:34;8554:19;;10151:68:0;8179:400:1;10151:68:0;-1:-1:-1;;;;;10238:21:0;;10230:68;;;;-1:-1:-1;;;10230:68:0;;8786:2:1;10230:68:0;;;8768:21:1;8825:2;8805:18;;;8798:30;8864:34;8844:18;;;8837:62;-1:-1:-1;;;8915:18:1;;;8908:32;8957:19;;10230:68:0;8584:398:1;10230:68:0;-1:-1:-1;;;;;10311:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10363:32;;160:25:1;;;10363:32:0;;133:18:1;10363:32:0;;;;;;;10066:337;;;:::o;10992:2589::-;11079:4;-1:-1:-1;;;;;11106:20:0;;11098:70;;;;-1:-1:-1;;;11098:70:0;;9189:2:1;11098:70:0;;;9171:21:1;9228:2;9208:18;;;9201:30;9267:34;9247:18;;;9240:62;-1:-1:-1;;;9318:18:1;;;9311:35;9363:19;;11098:70:0;8987:401:1;11098:70:0;-1:-1:-1;;;;;11187:23:0;;11179:71;;;;-1:-1:-1;;;11179:71:0;;9595:2:1;11179:71:0;;;9577:21:1;9634:2;9614:18;;;9607:30;9673:34;9653:18;;;9646:62;-1:-1:-1;;;9724:18:1;;;9717:33;9767:19;;11179:71:0;9393:399:1;11179:71:0;11278:1;11269:6;:10;11261:64;;;;-1:-1:-1;;;11261:64:0;;9999:2:1;11261:64:0;;;9981:21:1;10038:2;10018:18;;;10011:30;10077:34;10057:18;;;10050:62;-1:-1:-1;;;10128:18:1;;;10121:39;10177:19;;11261:64:0;9797:405:1;11261:64:0;-1:-1:-1;;;;;11355:13:0;;;;;;:5;:13;;;;;;;;11354:14;11346:46;;;;-1:-1:-1;;;11346:46:0;;;;;;;:::i;:::-;11418:10;11412:17;;;;:5;:17;;;;;;;;11411:18;11403:50;;;;-1:-1:-1;;;11403:50:0;;;;;;;:::i;:::-;11479:9;11473:16;;;;:5;:16;;;;;;;;11472:17;11464:49;;;;-1:-1:-1;;;11464:49:0;;;;;;;:::i;:::-;11530:6;;-1:-1:-1;;;11530:6:0;;;;11526:2046;;;11560:41;11575:6;11583:9;11594:6;11560:14;:41::i;:::-;11553:48;;;;11526:2046;-1:-1:-1;;;;;11650:25:0;;;;;;:17;:25;;;;;;;;11649:26;:59;;;;-1:-1:-1;;;;;;11680:28:0;;;;;;:17;:28;;;;;;;;11679:29;11649:59;11645:552;;;11737:7;;;;11729:49;;;;-1:-1:-1;;;11729:49:0;;10757:2:1;11729:49:0;;;10739:21:1;10796:2;10776:18;;;10769:30;10835:31;10815:18;;;10808:59;10884:18;;11729:49:0;10555:353:1;11729:49:0;11856:11;;11843:10;;:24;;;;:::i;:::-;11825:15;:42;:95;;;;-1:-1:-1;11910:9:0;;-1:-1:-1;;;;;11892:28:0;;;11910:9;;;;;11892:28;;11825:95;11799:383;;;11967:7;;-1:-1:-1;;;;;11967:17:0;;;:7;;:17;11963:200;;-1:-1:-1;;;;;12013:16:0;;;;;;:5;:16;;;;;:23;;-1:-1:-1;;12013:23:0;12032:4;12013:23;;;11963:200;;;12070:7;;-1:-1:-1;;;;;12070:20:0;;;:7;;:20;12066:97;;-1:-1:-1;;;;;12119:13:0;;;;;;:5;:13;;;;;:20;;-1:-1:-1;;12119:20:0;12135:4;12119:20;;;12066:97;12262:4;12213:28;9036:18;;;:9;:18;;;;;;12338:13;;12314:37;;;;;;;12372:34;;-1:-1:-1;12400:6:0;;-1:-1:-1;;;12400:6:0;;;;12399:7;12372:34;:59;;;;-1:-1:-1;;;;;;12411:20:0;;;;;;:12;:20;;;;;;;;12410:21;12372:59;:74;;;;-1:-1:-1;12435:11:0;;;;;;;12372:74;12368:145;;;12467:30;12476:20;12467:8;:30::i;:::-;-1:-1:-1;;;;;12535:23:0;;;;;;:15;:23;;;;;;;;12534:24;:55;;;;-1:-1:-1;;;;;;12563:26:0;;;;;;:15;:26;;;;;;;;12562:27;12534:55;:72;;;;-1:-1:-1;12593:13:0;;;;;;;12534:72;12531:187;;;12645:12;;12635:6;:22;;12627:75;;;;-1:-1:-1;;;12627:75:0;;11245:2:1;12627:75:0;;;11227:21:1;11284:2;11264:18;;;11257:30;11323:34;11303:18;;;11296:62;-1:-1:-1;;;11374:18:1;;;11367:38;11422:19;;12627:75:0;11043:404:1;12627:75:0;12735:19;12757:66;12806:6;12813:9;12757:48;:66::i;:::-;:144;;12835:66;12875:6;12883:9;12894:6;12835:39;:66::i;:::-;12757:144;;;12826:6;12757:144;12921:16;;12735:166;;-1:-1:-1;12921:16:0;;;;;:51;;;;-1:-1:-1;;;;;;12942:30:0;;;;;;:19;:30;;;;;;;;12941:31;12921:51;12918:181;;;13042:10;;13001:37;13026:11;13001:20;13011:9;-1:-1:-1;;;;;9036:18:0;9010:7;9036:18;;;:9;:18;;;;;;;8944:123;13001:20;:24;;:37::i;:::-;:51;;12993:90;;;;-1:-1:-1;;;12993:90:0;;11654:2:1;12993:90:0;;;11636:21:1;11693:2;11673:18;;;11666:30;11732:29;11712:18;;;11705:57;11779:18;;12993:90:0;11452:351:1;12993:90:0;-1:-1:-1;;;;;13137:20:0;;;;;;:9;:20;;;;;;:37;;13162:11;13137:24;:37::i;:::-;-1:-1:-1;;;;;13114:20:0;;;;;;:9;:20;;;;;:60;;;;13237:17;;13216:16;;:39;;:20;:39::i;:::-;13190:65;;13271:113;13326:6;13333:9;13343:6;13350:15;13271:113;;;;;;;;;;;;;-1:-1:-1;;;13271:113:0;;;:54;:113::i;:::-;-1:-1:-1;13419:53:0;;;;;;;;;;;-1:-1:-1;;;13419:53:0;;;;;;;;-1:-1:-1;;;;;13419:17:0;;-1:-1:-1;13419:17:0;;;:9;:17;;;;;;;;:53;;13441:6;;13419:21;:53::i;:::-;-1:-1:-1;;;;;13399:17:0;;;;;;;:9;:17;;;;;;;;;:73;;;;13492:40;160:25:1;;;13492:40:0;;;;13399:17;;13492:40;;133:18:1;13492:40:0;;;;;;;13554:4;13547:11;;;;;;;;2789:192;2875:7;2911:12;2903:6;;;;2895:29;;;;-1:-1:-1;;;2895:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2935:9:0;2947:5;2951:1;2947;:5;:::i;:::-;2935:17;2789:192;-1:-1:-1;;;;;2789:192:0:o;2645:136::-;2703:7;2730:43;2734:1;2737;2730:43;;;;;;;;;;;;;;;;;:3;:43::i;2456:181::-;2514:7;;2546:5;2550:1;2546;:5;:::i;:::-;2534:17;;2575:1;2570;:6;;2562:46;;;;-1:-1:-1;;;2562:46:0;;12143:2:1;2562:46:0;;;12125:21:1;12182:2;12162:18;;;12155:30;12221:29;12201:18;;;12194:57;12268:18;;2562:46:0;11941:351:1;2250:173:0;2306:16;2325:6;;-1:-1:-1;;;;;2342:17:0;;;-1:-1:-1;;;;;;2342:17:0;;;;;;2375:40;;2325:6;;;;;;;2375:40;;2306:16;2375:40;2295:128;2250:173;:::o;13595:330::-;13725:53;;;;;;;;;;;-1:-1:-1;;;13725:53:0;;;;;;;;-1:-1:-1;;;;;13725:17:0;;13688:4;13725:17;;;:9;:17;;;;;;;:53;;13747:6;;13725:21;:53::i;:::-;-1:-1:-1;;;;;13705:17:0;;;;;;;:9;:17;;;;;;:73;;;;13812:20;;;;;;;:32;;13837:6;13812:24;:32::i;:::-;-1:-1:-1;;;;;13789:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13860:35;;;;;;;;;;13888:6;160:25:1;;148:2;133:18;;14:177;13860:35:0;;;;;;;;-1:-1:-1;13913:4:0;13595:330;;;;;:::o;15799:915::-;6675:6;:13;;-1:-1:-1;;;;6675:13:0;-1:-1:-1;;;6675:13:0;;;15908:12:::1;::::0;15892:11:::1;::::0;6675:13;;15892:29:::1;::::0;:11;:15:::1;:29::i;:::-;15870:51;;15937:11;15952:1;15937:16:::0;15934:28:::1;;15955:7;;;15934:28;15974:23;16000:39;16021:17;;16000:16;;:20;;:39;;;;:::i;:::-;15974:65:::0;-1:-1:-1;16138:21:0::1;16170:33;16187:15:::0;16170:16:::1;:33::i;:::-;16214:22;16239:41;:21;16265:14:::0;16239:25:::1;:41::i;:::-;16214:66:::0;-1:-1:-1;16301:26:0::1;16330:52;16370:11:::0;16330:35:::1;16214:66:::0;16349:15;16330:18:::1;:35::i;:::-;:39:::0;::::1;:52::i;:::-;16301:81:::0;-1:-1:-1;16393:28:0::1;16424:38;:14:::0;16301:81;16424:18:::1;:38::i;:::-;16393:69:::0;-1:-1:-1;16478:22:0;;16475:107:::1;;16525:15;::::0;16517:53:::1;::::0;16525:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;16525:15:0::1;::::0;16517:53:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;16525:15;16517:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16475:107;16595:24:::0;;16592:113:::1;;16644:17;::::0;16636:57:::1;::::0;-1:-1:-1;;;;;16644:17:0;;::::1;::::0;16636:57;::::1;;;::::0;16672:20;;16644:17:::1;16636:57:::0;16644:17;16636:57;16672:20;16644:17;16636:57;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16592:113;15857:857;;;;;;6699:1;-1:-1:-1::0;6711:6:0;:14;;-1:-1:-1;;;;6711:14:0;;;15799:915::o;14611:401::-;-1:-1:-1;;;;;14747:25:0;;14727:4;14747:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14776:28:0;;;;;;:17;:28;;;;;;;;14747:57;14744:261;;;-1:-1:-1;14828:4:0;14821:11;;14744:261;-1:-1:-1;;;;;14863:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;14887:23:0;;;;;;:12;:23;;;;;;;;14863:47;14859:146;;;-1:-1:-1;14934:5:0;14927:12;;14859:146;-1:-1:-1;14988:5:0;14981:12;;15020:771;-1:-1:-1;;;;;15225:20:0;;15138:7;15225:20;;;:12;:20;;;;;;15138:7;;15225:20;;15222:295;;;15284:43;15312:14;;15284:23;15295:11;;15284:6;:10;;:23;;;;:::i;:43::-;15272:55;;15222:295;;;-1:-1:-1;;;;;15366:23:0;;;;;;:12;:23;;;;;;;;;:51;;-1:-1:-1;;;;;;15393:23:0;;;;;;:12;:23;;;;;;;;15392:24;15366:51;15363:154;;;15457:44;15486:14;;15457:24;15468:12;;15457:6;:10;;:24;;;;:::i;:44::-;15445:56;;15363:154;15536:13;;15533:185;;15615:4;15597:24;;;;:9;:24;;;;;;:39;;15626:9;15597:28;:39::i;:::-;15588:4;15570:24;;;;:9;:24;;;;;;;:66;;;;15660:42;;-1:-1:-1;;;;;15660:42:0;;;;;;;15692:9;160:25:1;;148:2;133:18;;14:177;15660:42:0;;;;;;;;15533:185;15741:21;:6;15752:9;15741:10;:21::i;13939:660::-;14102:4;14119:67;14159:7;14168:9;14179:6;14119:39;:67::i;:::-;;14198:23;14224:28;14234:17;;14224:5;:9;;:28;;;;:::i;:::-;14198:54;;14268:15;14285:1;14268:18;14264:55;;14288:29;:15;14308:1;14310:6;14288:19;:29::i;:::-;;14264:55;-1:-1:-1;;;;;14332:26:0;;;;;;:17;:26;;;;;;;;;:58;;-1:-1:-1;;;;;;14362:28:0;;;;;;:17;:28;;;;;;;;14332:58;14329:263;;;14414:4;14407:11;;;;;14329:263;-1:-1:-1;;;;;14449:21:0;;;;;;:12;:21;;;;;;;;;:48;;-1:-1:-1;;;;;;14474:23:0;;;;;;:12;:23;;;;;;;;14449:48;14445:147;;;14521:5;14514:12;;;;;14445:147;-1:-1:-1;14575:5:0;;13939:660;-1:-1:-1;;;;;;13939:660:0:o;16722:648::-;16872:16;;;16886:1;16872:16;;;;;;;;16848:21;;16872:16;;;;;;;;;;-1:-1:-1;16872:16:0;16848:40;;16917:4;16899;16904:1;16899:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;16899:23:0;;;-1:-1:-1;;;;;16899:23:0;;;;;16943:9;;;;;;;;;-1:-1:-1;;;;;16943:9:0;-1:-1:-1;;;;;16943:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16933:4;16938:1;16933:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16933:26:0;;;:7;;;;;;;;;:26;17004:9;;16972:56;;16989:4;;17004:9;;;;17016:11;16972:8;:56::i;:::-;17067:9;;:234;;-1:-1:-1;;;17067:234:0;;:9;;;;-1:-1:-1;;;;;17067:9:0;;:60;;:234;;17142:11;;17168:1;;17212:4;;17239;;17275:15;;17067:9;:234;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17327:35;17344:11;17357:4;17327:35;;;;;;;:::i;:::-;;;;;;;;16777:593;16722:648;:::o;2989:250::-;3047:7;3071:1;3076;3071:6;3067:47;;-1:-1:-1;3101:1:0;3094:8;;3067:47;3126:9;3138:5;3142:1;3138;:5;:::i;:::-;3126:17;-1:-1:-1;3171:1:0;3162:5;3166:1;3126:17;3162:5;:::i;:::-;:10;3154:56;;;;-1:-1:-1;;;3154:56:0;;14672:2:1;3154:56:0;;;14654:21:1;14711:2;14691:18;;;14684:30;14750:34;14730:18;;;14723:62;-1:-1:-1;;;14801:18:1;;;14794:31;14842:19;;3154:56:0;14470:397:1;3247:132:0;3305:7;3332:39;3336:1;3339;3332:39;;;;;;;;;;;;;;;;;3473:7;3508:12;3501:5;3493:28;;;;-1:-1:-1;;;3493:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3532:9:0;3544:5;3548:1;3544;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;957:131::-;-1:-1:-1;;;;;1032:31:1;;1022:42;;1012:70;;1078:1;1075;1068:12;1093:315;1161:6;1169;1222:2;1210:9;1201:7;1197:23;1193:32;1190:52;;;1238:1;1235;1228:12;1190:52;1277:9;1264:23;1296:31;1321:5;1296:31;:::i;:::-;1346:5;1398:2;1383:18;;;;1370:32;;-1:-1:-1;;;1093:315:1:o;1605:118::-;1691:5;1684:13;1677:21;1670:5;1667:32;1657:60;;1713:1;1710;1703:12;1728:750;1820:6;1828;1836;1889:2;1877:9;1868:7;1864:23;1860:32;1857:52;;;1905:1;1902;1895:12;1857:52;1945:9;1932:23;1974:18;2015:2;2007:6;2004:14;2001:34;;;2031:1;2028;2021:12;2001:34;2069:6;2058:9;2054:22;2044:32;;2114:7;2107:4;2103:2;2099:13;2095:27;2085:55;;2136:1;2133;2126:12;2085:55;2176:2;2163:16;2202:2;2194:6;2191:14;2188:34;;;2218:1;2215;2208:12;2188:34;2273:7;2266:4;2256:6;2253:1;2249:14;2245:2;2241:23;2237:34;2234:47;2231:67;;;2294:1;2291;2284:12;2231:67;2325:4;2317:13;;;;-1:-1:-1;2349:6:1;-1:-1:-1;;2390:20:1;;2377:34;2420:28;2377:34;2420:28;:::i;:::-;2467:5;2457:15;;;1728:750;;;;;:::o;2483:456::-;2560:6;2568;2576;2629:2;2617:9;2608:7;2604:23;2600:32;2597:52;;;2645:1;2642;2635:12;2597:52;2684:9;2671:23;2703:31;2728:5;2703:31;:::i;:::-;2753:5;-1:-1:-1;2810:2:1;2795:18;;2782:32;2823:33;2782:32;2823:33;:::i;:::-;2483:456;;2875:7;;-1:-1:-1;;;2929:2:1;2914:18;;;;2901:32;;2483:456::o;3133:247::-;3192:6;3245:2;3233:9;3224:7;3220:23;3216:32;3213:52;;;3261:1;3258;3251:12;3213:52;3300:9;3287:23;3319:31;3344:5;3319:31;:::i;3385:382::-;3450:6;3458;3511:2;3499:9;3490:7;3486:23;3482:32;3479:52;;;3527:1;3524;3517:12;3479:52;3566:9;3553:23;3585:31;3610:5;3585:31;:::i;:::-;3635:5;-1:-1:-1;3692:2:1;3677:18;;3664:32;3705:30;3664:32;3705:30;:::i;:::-;3754:7;3744:17;;;3385:382;;;;;:::o;4476:388::-;4544:6;4552;4605:2;4593:9;4584:7;4580:23;4576:32;4573:52;;;4621:1;4618;4611:12;4573:52;4660:9;4647:23;4679:31;4704:5;4679:31;:::i;:::-;4729:5;-1:-1:-1;4786:2:1;4771:18;;4758:32;4799:33;4758:32;4799:33;:::i;4869:309::-;4934:6;4942;4995:2;4983:9;4974:7;4970:23;4966:32;4963:52;;;5011:1;5008;5001:12;4963:52;5050:9;5037:23;5069:28;5091:5;5069:28;:::i;5183:380::-;5262:1;5258:12;;;;5305;;;5326:61;;5380:4;5372:6;5368:17;5358:27;;5326:61;5433:2;5425:6;5422:14;5402:18;5399:38;5396:161;;5479:10;5474:3;5470:20;5467:1;5460:31;5514:4;5511:1;5504:15;5542:4;5539:1;5532:15;5396:161;;5183:380;;;:::o;5568:356::-;5770:2;5752:21;;;5789:18;;;5782:30;5848:34;5843:2;5828:18;;5821:62;5915:2;5900:18;;5568:356::o;5929:127::-;5990:10;5985:3;5981:20;5978:1;5971:31;6021:4;6018:1;6011:15;6045:4;6042:1;6035:15;6061:127;6122:10;6117:3;6113:20;6110:1;6103:31;6153:4;6150:1;6143:15;6177:4;6174:1;6167:15;6193:135;6232:3;6253:17;;;6250:43;;6273:18;;:::i;:::-;-1:-1:-1;6320:1:1;6309:13;;6193:135::o;6963:245::-;7030:6;7083:2;7071:9;7062:7;7058:23;7054:32;7051:52;;;7099:1;7096;7089:12;7051:52;7131:9;7125:16;7150:28;7172:5;7150:28;:::i;10207:343::-;10409:2;10391:21;;;10448:2;10428:18;;;10421:30;-1:-1:-1;;;10482:2:1;10467:18;;10460:49;10541:2;10526:18;;10207:343::o;10913:125::-;10978:9;;;10999:10;;;10996:36;;;11012:18;;:::i;11808:128::-;11875:9;;;11896:11;;;11893:37;;;11910:18;;:::i;12429:251::-;12499:6;12552:2;12540:9;12531:7;12527:23;12523:32;12520:52;;;12568:1;12565;12558:12;12520:52;12600:9;12594:16;12619:31;12644:5;12619:31;:::i;12685:461::-;12738:3;12776:5;12770:12;12803:6;12798:3;12791:19;12829:4;12858:2;12853:3;12849:12;12842:19;;12895:2;12888:5;12884:14;12916:1;12926:195;12940:6;12937:1;12934:13;12926:195;;;13005:13;;-1:-1:-1;;;;;13001:39:1;12989:52;;13061:12;;;;13096:15;;;;13037:1;12955:9;12926:195;;;-1:-1:-1;13137:3:1;;12685:461;-1:-1:-1;;;;;12685:461:1:o;13151:582::-;13450:6;13439:9;13432:25;13493:6;13488:2;13477:9;13473:18;13466:34;13536:3;13531:2;13520:9;13516:18;13509:31;13413:4;13557:57;13609:3;13598:9;13594:19;13586:6;13557:57;:::i;:::-;-1:-1:-1;;;;;13650:32:1;;;;13645:2;13630:18;;13623:60;-1:-1:-1;13714:3:1;13699:19;13692:35;13549:65;13151:582;-1:-1:-1;;;13151:582:1:o;13738:332::-;13945:6;13934:9;13927:25;13988:2;13983;13972:9;13968:18;13961:30;13908:4;14008:56;14060:2;14049:9;14045:18;14037:6;14008:56;:::i;:::-;14000:64;13738:332;-1:-1:-1;;;;13738:332:1:o;14075:168::-;14148:9;;;14179;;14196:15;;;14190:22;;14176:37;14166:71;;14217:18;;:::i;14248:217::-;14288:1;14314;14304:132;;14358:10;14353:3;14349:20;14346:1;14339:31;14393:4;14390:1;14383:15;14421:4;14418:1;14411:15;14304:132;-1:-1:-1;14450:9:1;;14248:217::o

Swarm Source

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