ETH Price: $2,446.42 (-0.94%)

Token

DRONESHIP INU ($DRONEINU)
 

Overview

Max Total Supply

1,000,000,000 $DRONEINU

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
16,453,679.943610202 $DRONEINU

Value
$0.00
0x9a6300293d2a562bc53c1894b66e88ac008ae49e
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:
DRONESHIP

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-28
*/

/**

*/

/**
*/ 
 
                                                                                                                                                                                                                                                                                                                                       

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
 
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
    );
}
 
contract Ownable is Context {
    address internal _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
 
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}

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;
        return c;
    }
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
 
    function factory() external pure returns (address);
 
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
 
contract DRONESHIP   is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "DRONESHIP INU";
    string private constant _symbol = "$DRONEINU";
    uint8 private constant _decimals = 9;
 
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;  
    uint256 private _taxFeeOnBuy = 3;  
    uint256 private _redisFeeOnSell = 0;  
    uint256 private _taxFeeOnSell = 5;
 
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; 
    address payable private _developmentAddress = payable(0x4DD491d00aD2540182741f9C41f0D4a9215968aF); 
    address payable private _marketingAddress = payable(0x4DD491d00aD2540182741f9C41f0D4a9215968aF);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = 2000000 * 10**9;
    uint256 public _maxWalletSize = 20000000 * 10**9;
    uint256 public _swapTokensAtAmount = 100000 * 10**9;
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    function name() public pure returns (string memory) {
        return _name;
    }
 
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
 
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }
 
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
 
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
 
    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        if (from != owner() && to != owner()) {
 
            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
 
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount.mul(3).div(5));
        _developmentAddress.transfer(amount.mul(2).div(5));
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }
 
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function Airdrop(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
 
    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
 
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }
 
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
 
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
 
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 0, "Buy rewards must be between 0% and 0%");
        require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 5, "Buy tax must be between 0% and 5%");
        require(redisFeeOnSell >= 0 && redisFeeOnSell <= 0, "Sell rewards must be between 0% and 0%");
        require(taxFeeOnSell >= 0 && taxFeeOnSell <= 5, "Sell tax must be between 0% and 5%");

        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;

    }
 
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
    function setMaxTxnAmount(uint256 amountPercent) public onlyOwner {
        require(amountPercent>0);
        _maxTxAmount = (_tTotal * amountPercent ) / 100;
    }

    function setMaxWalletSize(uint256 amountPercent) public onlyOwner {
        require(amountPercent>0);
        _maxWalletSize = (_tTotal * amountPercent ) / 100;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"Airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a670de0b6b3a7640000600019620003ec565b6200002890600019620003c8565b600655600060088190556003600955600a8190556005600b819055600c829055600d819055600e91909155600f55601280546001600160a01b0319908116734dd491d00ad2540182741f9c41f0d4a9215968af9081179092556013805490911690911790556015805461ffff60a81b1916600160b01b17905566071afd498d000060165566470de4df820000601755655af3107a4000601855348015620000ce57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200018757600080fd5b505afa1580156200019c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c2919062000398565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020b57600080fd5b505afa15801562000220573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000246919062000398565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028f57600080fd5b505af1158015620002a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ca919062000398565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200038991815260200190565b60405180910390a3506200040d565b600060208284031215620003aa578081fd5b81516001600160a01b0381168114620003c1578182fd5b9392505050565b600082821015620003e757634e487b7160e01b81526011600452602481fd5b500390565b6000826200040857634e487b7160e01b81526012600452602481fd5b500690565b6120a3806200041d6000396000f3fe6080604052600436106101dc5760003560e01c80637d1db4a511610102578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e1461057e578063ea1644d5146105c4578063ece8c31c146105e4578063f2fde38b1461060457600080fd5b8063a9059cbb146104f9578063bfd7928414610519578063c3c8cd8014610549578063c492f0461461055e57600080fd5b80638f9a55c0116100d15780638f9a55c01461047157806395d89b411461048757806398a5c315146104b9578063a2a957bb146104d957600080fd5b80637d1db4a5146103f05780637f2feddc146104065780638da5cb5b146104335780638f70ccf71461045157600080fd5b806349bd5a5e1161017a57806370a082311161014957806370a0823114610386578063715018a6146103a657806374010ece146103bb578063751039fc146103db57600080fd5b806349bd5a5e1461030f5780636b9990531461032f5780636d8aa8f8146103515780636fc3eaec1461037157600080fd5b806318160ddd116101b657806318160ddd1461029857806323b872dd146102bd5780632fd689e3146102dd578063313ce567146102f357600080fd5b806306fdde03146101e8578063095ea7b3146102305780631694505e1461026057600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600d81526c44524f4e455348495020494e5560981b60208201525b6040516102279190611e83565b60405180910390f35b34801561023c57600080fd5b5061025061024b366004611caf565b610624565b6040519015158152602001610227565b34801561026c57600080fd5b50601454610280906001600160a01b031681565b6040516001600160a01b039091168152602001610227565b3480156102a457600080fd5b50670de0b6b3a76400005b604051908152602001610227565b3480156102c957600080fd5b506102506102d8366004611c6f565b61063b565b3480156102e957600080fd5b506102af60185481565b3480156102ff57600080fd5b5060405160098152602001610227565b34801561031b57600080fd5b50601554610280906001600160a01b031681565b34801561033b57600080fd5b5061034f61034a366004611bff565b6106a4565b005b34801561035d57600080fd5b5061034f61036c366004611e20565b6106f8565b34801561037d57600080fd5b5061034f610740565b34801561039257600080fd5b506102af6103a1366004611bff565b61078b565b3480156103b257600080fd5b5061034f6107ad565b3480156103c757600080fd5b5061034f6103d6366004611e3a565b610821565b3480156103e757600080fd5b5061034f61087c565b3480156103fc57600080fd5b506102af60165481565b34801561041257600080fd5b506102af610421366004611bff565b60116020526000908152604090205481565b34801561043f57600080fd5b506000546001600160a01b0316610280565b34801561045d57600080fd5b5061034f61046c366004611e20565b6108b9565b34801561047d57600080fd5b506102af60175481565b34801561049357600080fd5b506040805180820190915260098152682444524f4e45494e5560b81b602082015261021a565b3480156104c557600080fd5b5061034f6104d4366004611e3a565b610901565b3480156104e557600080fd5b5061034f6104f4366004611e52565b610930565b34801561050557600080fd5b50610250610514366004611caf565b610ade565b34801561052557600080fd5b50610250610534366004611bff565b60106020526000908152604090205460ff1681565b34801561055557600080fd5b5061034f610aeb565b34801561056a57600080fd5b5061034f610579366004611cda565b610b3f565b34801561058a57600080fd5b506102af610599366004611c37565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105d057600080fd5b5061034f6105df366004611e3a565b610bee565b3480156105f057600080fd5b5061034f6105ff366004611d59565b610c49565b34801561061057600080fd5b5061034f61061f366004611bff565b610ced565b6000610631338484610dd7565b5060015b92915050565b6000610648848484610efb565b61069a843361069585604051806060016040528060288152602001612046602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611437565b610dd7565b5060019392505050565b6000546001600160a01b031633146106d75760405162461bcd60e51b81526004016106ce90611ed6565b60405180910390fd5b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107225760405162461bcd60e51b81526004016106ce90611ed6565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061077557506013546001600160a01b0316336001600160a01b0316145b61077e57600080fd5b4761078881611471565b50565b6001600160a01b03811660009081526002602052604081205461063590611506565b6000546001600160a01b031633146107d75760405162461bcd60e51b81526004016106ce90611ed6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461084b5760405162461bcd60e51b81526004016106ce90611ed6565b6000811161085857600080fd5b606461086c82670de0b6b3a7640000611fb3565b6108769190611f93565b60165550565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016106ce90611ed6565b670de0b6b3a76400006016819055601755565b6000546001600160a01b031633146108e35760405162461bcd60e51b81526004016106ce90611ed6565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461092b5760405162461bcd60e51b81526004016106ce90611ed6565b601855565b6000546001600160a01b0316331461095a5760405162461bcd60e51b81526004016106ce90611ed6565b83156109b65760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420302560d81b60648201526084016106ce565b6005821115610a115760405162461bcd60e51b815260206004820152602160248201527f42757920746178206d757374206265206265747765656e20302520616e6420356044820152602560f81b60648201526084016106ce565b8215610a6e5760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420302560d01b60648201526084016106ce565b6005811115610aca5760405162461bcd60e51b815260206004820152602260248201527f53656c6c20746178206d757374206265206265747765656e20302520616e6420604482015261352560f01b60648201526084016106ce565b600893909355600a91909155600955600b55565b6000610631338484610efb565b6012546001600160a01b0316336001600160a01b03161480610b2057506013546001600160a01b0316336001600160a01b0316145b610b2957600080fd5b6000610b343061078b565b90506107888161158a565b6000546001600160a01b03163314610b695760405162461bcd60e51b81526004016106ce90611ed6565b60005b82811015610be8578160056000868685818110610b9957634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610bae9190611bff565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610be081611fe9565b915050610b6c565b50505050565b6000546001600160a01b03163314610c185760405162461bcd60e51b81526004016106ce90611ed6565b60008111610c2557600080fd5b6064610c3982670de0b6b3a7640000611fb3565b610c439190611f93565b60175550565b6000546001600160a01b03163314610c735760405162461bcd60e51b81526004016106ce90611ed6565b60005b8151811015610ce957600160106000848481518110610ca557634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ce181611fe9565b915050610c76565b5050565b6000546001600160a01b03163314610d175760405162461bcd60e51b81526004016106ce90611ed6565b6001600160a01b038116610d7c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ce565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ce565b6001600160a01b038216610e9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ce565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f5f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ce565b6001600160a01b038216610fc15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ce565b600081116110235760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106ce565b6000546001600160a01b0384811691161480159061104f57506000546001600160a01b03838116911614155b1561133057601554600160a01b900460ff166110e8576000546001600160a01b038481169116146110e85760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106ce565b60165481111561113a5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106ce565b6001600160a01b03831660009081526010602052604090205460ff1615801561117c57506001600160a01b03821660009081526010602052604090205460ff16155b6111d45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106ce565b6015546001600160a01b0383811691161461125957601754816111f68461078b565b6112009190611f7b565b106112595760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106ce565b60006112643061078b565b60185460165491925082101590821061127d5760165491505b8080156112945750601554600160a81b900460ff16155b80156112ae57506015546001600160a01b03868116911614155b80156112c35750601554600160b01b900460ff165b80156112e857506001600160a01b03851660009081526005602052604090205460ff16155b801561130d57506001600160a01b03841660009081526005602052604090205460ff16155b1561132d5761131b8261158a565b47801561132b5761132b47611471565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061137257506001600160a01b03831660009081526005602052604090205460ff165b806113a457506015546001600160a01b038581169116148015906113a457506015546001600160a01b03848116911614155b156113b15750600061142b565b6015546001600160a01b0385811691161480156113dc57506014546001600160a01b03848116911614155b156113ee57600854600c55600954600d555b6015546001600160a01b03848116911614801561141957506014546001600160a01b03858116911614155b1561142b57600a54600c55600b54600d555b610be88484848461172f565b6000818484111561145b5760405162461bcd60e51b81526004016106ce9190611e83565b5060006114688486611fd2565b95945050505050565b6013546001600160a01b03166108fc611496600561149085600361175d565b906117dc565b6040518115909202916000818181858888f193505050501580156114be573d6000803e3d6000fd5b506012546001600160a01b03166108fc6114de600561149085600261175d565b6040518115909202916000818181858888f19350505050158015610ce9573d6000803e3d6000fd5b600060065482111561156d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106ce565b600061157761181e565b905061158383826117dc565b9392505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106115e057634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561163457600080fd5b505afa158015611648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166c9190611c1b565b8160018151811061168d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526014546116b39130911684610dd7565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906116ec908590600090869030904290600401611f0b565b600060405180830381600087803b15801561170657600080fd5b505af115801561171a573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b8061173c5761173c611841565b61174784848461186f565b80610be857610be8600e54600c55600f54600d55565b60008261176c57506000610635565b60006117788385611fb3565b9050826117858583611f93565b146115835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ce565b600061158383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611966565b600080600061182b611994565b909250905061183a82826117dc565b9250505090565b600c541580156118515750600d54155b1561185857565b600c8054600e55600d8054600f5560009182905555565b600080600080600080611881876119d4565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506118b39087611a31565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546118e29086611a73565b6001600160a01b03891660009081526002602052604090205561190481611ad2565b61190e8483611b1c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161195391815260200190565b60405180910390a3505050505050505050565b600081836119875760405162461bcd60e51b81526004016106ce9190611e83565b5060006114688486611f93565b6006546000908190670de0b6b3a76400006119af82826117dc565b8210156119cb57505060065492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006119f18a600c54600d54611b40565b9250925092506000611a0161181e565b90506000806000611a148e878787611b8f565b919e509c509a509598509396509194505050505091939550919395565b600061158383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611437565b600080611a808385611f7b565b9050838110156115835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ce565b6000611adc61181e565b90506000611aea838361175d565b30600090815260026020526040902054909150611b079082611a73565b30600090815260026020526040902055505050565b600654611b299083611a31565b600655600754611b399082611a73565b6007555050565b6000808080611b546064611490898961175d565b90506000611b6760646114908a8961175d565b90506000611b7f82611b798b86611a31565b90611a31565b9992985090965090945050505050565b6000808080611b9e888661175d565b90506000611bac888761175d565b90506000611bba888861175d565b90506000611bcc82611b798686611a31565b939b939a50919850919650505050505050565b8035611bea81612030565b919050565b80358015158114611bea57600080fd5b600060208284031215611c10578081fd5b813561158381612030565b600060208284031215611c2c578081fd5b815161158381612030565b60008060408385031215611c49578081fd5b8235611c5481612030565b91506020830135611c6481612030565b809150509250929050565b600080600060608486031215611c83578081fd5b8335611c8e81612030565b92506020840135611c9e81612030565b929592945050506040919091013590565b60008060408385031215611cc1578182fd5b8235611ccc81612030565b946020939093013593505050565b600080600060408486031215611cee578283fd5b833567ffffffffffffffff80821115611d05578485fd5b818601915086601f830112611d18578485fd5b813581811115611d26578586fd5b8760208260051b8501011115611d3a578586fd5b602092830195509350611d509186019050611bef565b90509250925092565b60006020808385031215611d6b578182fd5b823567ffffffffffffffff80821115611d82578384fd5b818501915085601f830112611d95578384fd5b813581811115611da757611da761201a565b8060051b604051601f19603f83011681018181108582111715611dcc57611dcc61201a565b604052828152858101935084860182860187018a1015611dea578788fd5b8795505b83861015611e1357611dff81611bdf565b855260019590950194938601938601611dee565b5098975050505050505050565b600060208284031215611e31578081fd5b61158382611bef565b600060208284031215611e4b578081fd5b5035919050565b60008060008060808587031215611e67578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b81811015611eaf57858101830151858201604001528201611e93565b81811115611ec05783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611f5a5784516001600160a01b031683529383019391830191600101611f35565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f8e57611f8e612004565b500190565b600082611fae57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611fcd57611fcd612004565b500290565b600082821015611fe457611fe4612004565b500390565b6000600019821415611ffd57611ffd612004565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461078857600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206104d020aa692271636f32a63aece76113cf92592bdd3c6f940169a2e5c2f06b64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80637d1db4a511610102578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e1461057e578063ea1644d5146105c4578063ece8c31c146105e4578063f2fde38b1461060457600080fd5b8063a9059cbb146104f9578063bfd7928414610519578063c3c8cd8014610549578063c492f0461461055e57600080fd5b80638f9a55c0116100d15780638f9a55c01461047157806395d89b411461048757806398a5c315146104b9578063a2a957bb146104d957600080fd5b80637d1db4a5146103f05780637f2feddc146104065780638da5cb5b146104335780638f70ccf71461045157600080fd5b806349bd5a5e1161017a57806370a082311161014957806370a0823114610386578063715018a6146103a657806374010ece146103bb578063751039fc146103db57600080fd5b806349bd5a5e1461030f5780636b9990531461032f5780636d8aa8f8146103515780636fc3eaec1461037157600080fd5b806318160ddd116101b657806318160ddd1461029857806323b872dd146102bd5780632fd689e3146102dd578063313ce567146102f357600080fd5b806306fdde03146101e8578063095ea7b3146102305780631694505e1461026057600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600d81526c44524f4e455348495020494e5560981b60208201525b6040516102279190611e83565b60405180910390f35b34801561023c57600080fd5b5061025061024b366004611caf565b610624565b6040519015158152602001610227565b34801561026c57600080fd5b50601454610280906001600160a01b031681565b6040516001600160a01b039091168152602001610227565b3480156102a457600080fd5b50670de0b6b3a76400005b604051908152602001610227565b3480156102c957600080fd5b506102506102d8366004611c6f565b61063b565b3480156102e957600080fd5b506102af60185481565b3480156102ff57600080fd5b5060405160098152602001610227565b34801561031b57600080fd5b50601554610280906001600160a01b031681565b34801561033b57600080fd5b5061034f61034a366004611bff565b6106a4565b005b34801561035d57600080fd5b5061034f61036c366004611e20565b6106f8565b34801561037d57600080fd5b5061034f610740565b34801561039257600080fd5b506102af6103a1366004611bff565b61078b565b3480156103b257600080fd5b5061034f6107ad565b3480156103c757600080fd5b5061034f6103d6366004611e3a565b610821565b3480156103e757600080fd5b5061034f61087c565b3480156103fc57600080fd5b506102af60165481565b34801561041257600080fd5b506102af610421366004611bff565b60116020526000908152604090205481565b34801561043f57600080fd5b506000546001600160a01b0316610280565b34801561045d57600080fd5b5061034f61046c366004611e20565b6108b9565b34801561047d57600080fd5b506102af60175481565b34801561049357600080fd5b506040805180820190915260098152682444524f4e45494e5560b81b602082015261021a565b3480156104c557600080fd5b5061034f6104d4366004611e3a565b610901565b3480156104e557600080fd5b5061034f6104f4366004611e52565b610930565b34801561050557600080fd5b50610250610514366004611caf565b610ade565b34801561052557600080fd5b50610250610534366004611bff565b60106020526000908152604090205460ff1681565b34801561055557600080fd5b5061034f610aeb565b34801561056a57600080fd5b5061034f610579366004611cda565b610b3f565b34801561058a57600080fd5b506102af610599366004611c37565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105d057600080fd5b5061034f6105df366004611e3a565b610bee565b3480156105f057600080fd5b5061034f6105ff366004611d59565b610c49565b34801561061057600080fd5b5061034f61061f366004611bff565b610ced565b6000610631338484610dd7565b5060015b92915050565b6000610648848484610efb565b61069a843361069585604051806060016040528060288152602001612046602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611437565b610dd7565b5060019392505050565b6000546001600160a01b031633146106d75760405162461bcd60e51b81526004016106ce90611ed6565b60405180910390fd5b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107225760405162461bcd60e51b81526004016106ce90611ed6565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061077557506013546001600160a01b0316336001600160a01b0316145b61077e57600080fd5b4761078881611471565b50565b6001600160a01b03811660009081526002602052604081205461063590611506565b6000546001600160a01b031633146107d75760405162461bcd60e51b81526004016106ce90611ed6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461084b5760405162461bcd60e51b81526004016106ce90611ed6565b6000811161085857600080fd5b606461086c82670de0b6b3a7640000611fb3565b6108769190611f93565b60165550565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016106ce90611ed6565b670de0b6b3a76400006016819055601755565b6000546001600160a01b031633146108e35760405162461bcd60e51b81526004016106ce90611ed6565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461092b5760405162461bcd60e51b81526004016106ce90611ed6565b601855565b6000546001600160a01b0316331461095a5760405162461bcd60e51b81526004016106ce90611ed6565b83156109b65760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420302560d81b60648201526084016106ce565b6005821115610a115760405162461bcd60e51b815260206004820152602160248201527f42757920746178206d757374206265206265747765656e20302520616e6420356044820152602560f81b60648201526084016106ce565b8215610a6e5760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420302560d01b60648201526084016106ce565b6005811115610aca5760405162461bcd60e51b815260206004820152602260248201527f53656c6c20746178206d757374206265206265747765656e20302520616e6420604482015261352560f01b60648201526084016106ce565b600893909355600a91909155600955600b55565b6000610631338484610efb565b6012546001600160a01b0316336001600160a01b03161480610b2057506013546001600160a01b0316336001600160a01b0316145b610b2957600080fd5b6000610b343061078b565b90506107888161158a565b6000546001600160a01b03163314610b695760405162461bcd60e51b81526004016106ce90611ed6565b60005b82811015610be8578160056000868685818110610b9957634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610bae9190611bff565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610be081611fe9565b915050610b6c565b50505050565b6000546001600160a01b03163314610c185760405162461bcd60e51b81526004016106ce90611ed6565b60008111610c2557600080fd5b6064610c3982670de0b6b3a7640000611fb3565b610c439190611f93565b60175550565b6000546001600160a01b03163314610c735760405162461bcd60e51b81526004016106ce90611ed6565b60005b8151811015610ce957600160106000848481518110610ca557634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ce181611fe9565b915050610c76565b5050565b6000546001600160a01b03163314610d175760405162461bcd60e51b81526004016106ce90611ed6565b6001600160a01b038116610d7c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ce565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ce565b6001600160a01b038216610e9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ce565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f5f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ce565b6001600160a01b038216610fc15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ce565b600081116110235760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106ce565b6000546001600160a01b0384811691161480159061104f57506000546001600160a01b03838116911614155b1561133057601554600160a01b900460ff166110e8576000546001600160a01b038481169116146110e85760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106ce565b60165481111561113a5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106ce565b6001600160a01b03831660009081526010602052604090205460ff1615801561117c57506001600160a01b03821660009081526010602052604090205460ff16155b6111d45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106ce565b6015546001600160a01b0383811691161461125957601754816111f68461078b565b6112009190611f7b565b106112595760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106ce565b60006112643061078b565b60185460165491925082101590821061127d5760165491505b8080156112945750601554600160a81b900460ff16155b80156112ae57506015546001600160a01b03868116911614155b80156112c35750601554600160b01b900460ff165b80156112e857506001600160a01b03851660009081526005602052604090205460ff16155b801561130d57506001600160a01b03841660009081526005602052604090205460ff16155b1561132d5761131b8261158a565b47801561132b5761132b47611471565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061137257506001600160a01b03831660009081526005602052604090205460ff165b806113a457506015546001600160a01b038581169116148015906113a457506015546001600160a01b03848116911614155b156113b15750600061142b565b6015546001600160a01b0385811691161480156113dc57506014546001600160a01b03848116911614155b156113ee57600854600c55600954600d555b6015546001600160a01b03848116911614801561141957506014546001600160a01b03858116911614155b1561142b57600a54600c55600b54600d555b610be88484848461172f565b6000818484111561145b5760405162461bcd60e51b81526004016106ce9190611e83565b5060006114688486611fd2565b95945050505050565b6013546001600160a01b03166108fc611496600561149085600361175d565b906117dc565b6040518115909202916000818181858888f193505050501580156114be573d6000803e3d6000fd5b506012546001600160a01b03166108fc6114de600561149085600261175d565b6040518115909202916000818181858888f19350505050158015610ce9573d6000803e3d6000fd5b600060065482111561156d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106ce565b600061157761181e565b905061158383826117dc565b9392505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106115e057634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561163457600080fd5b505afa158015611648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166c9190611c1b565b8160018151811061168d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526014546116b39130911684610dd7565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906116ec908590600090869030904290600401611f0b565b600060405180830381600087803b15801561170657600080fd5b505af115801561171a573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b8061173c5761173c611841565b61174784848461186f565b80610be857610be8600e54600c55600f54600d55565b60008261176c57506000610635565b60006117788385611fb3565b9050826117858583611f93565b146115835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ce565b600061158383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611966565b600080600061182b611994565b909250905061183a82826117dc565b9250505090565b600c541580156118515750600d54155b1561185857565b600c8054600e55600d8054600f5560009182905555565b600080600080600080611881876119d4565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506118b39087611a31565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546118e29086611a73565b6001600160a01b03891660009081526002602052604090205561190481611ad2565b61190e8483611b1c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161195391815260200190565b60405180910390a3505050505050505050565b600081836119875760405162461bcd60e51b81526004016106ce9190611e83565b5060006114688486611f93565b6006546000908190670de0b6b3a76400006119af82826117dc565b8210156119cb57505060065492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006119f18a600c54600d54611b40565b9250925092506000611a0161181e565b90506000806000611a148e878787611b8f565b919e509c509a509598509396509194505050505091939550919395565b600061158383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611437565b600080611a808385611f7b565b9050838110156115835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ce565b6000611adc61181e565b90506000611aea838361175d565b30600090815260026020526040902054909150611b079082611a73565b30600090815260026020526040902055505050565b600654611b299083611a31565b600655600754611b399082611a73565b6007555050565b6000808080611b546064611490898961175d565b90506000611b6760646114908a8961175d565b90506000611b7f82611b798b86611a31565b90611a31565b9992985090965090945050505050565b6000808080611b9e888661175d565b90506000611bac888761175d565b90506000611bba888861175d565b90506000611bcc82611b798686611a31565b939b939a50919850919650505050505050565b8035611bea81612030565b919050565b80358015158114611bea57600080fd5b600060208284031215611c10578081fd5b813561158381612030565b600060208284031215611c2c578081fd5b815161158381612030565b60008060408385031215611c49578081fd5b8235611c5481612030565b91506020830135611c6481612030565b809150509250929050565b600080600060608486031215611c83578081fd5b8335611c8e81612030565b92506020840135611c9e81612030565b929592945050506040919091013590565b60008060408385031215611cc1578182fd5b8235611ccc81612030565b946020939093013593505050565b600080600060408486031215611cee578283fd5b833567ffffffffffffffff80821115611d05578485fd5b818601915086601f830112611d18578485fd5b813581811115611d26578586fd5b8760208260051b8501011115611d3a578586fd5b602092830195509350611d509186019050611bef565b90509250925092565b60006020808385031215611d6b578182fd5b823567ffffffffffffffff80821115611d82578384fd5b818501915085601f830112611d95578384fd5b813581811115611da757611da761201a565b8060051b604051601f19603f83011681018181108582111715611dcc57611dcc61201a565b604052828152858101935084860182860187018a1015611dea578788fd5b8795505b83861015611e1357611dff81611bdf565b855260019590950194938601938601611dee565b5098975050505050505050565b600060208284031215611e31578081fd5b61158382611bef565b600060208284031215611e4b578081fd5b5035919050565b60008060008060808587031215611e67578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b81811015611eaf57858101830151858201604001528201611e93565b81811115611ec05783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611f5a5784516001600160a01b031683529383019391830191600101611f35565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f8e57611f8e612004565b500190565b600082611fae57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611fcd57611fcd612004565b500290565b600082821015611fe457611fe4612004565b500390565b6000600019821415611ffd57611ffd612004565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461078857600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206104d020aa692271636f32a63aece76113cf92592bdd3c6f940169a2e5c2f06b64736f6c63430008040033

Deployed Bytecode Sourcemap

4445:14145:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6951:83;;;;;;;;;;-1:-1:-1;7021:5:0;;;;;;;;;;;;-1:-1:-1;;;7021:5:0;;;;6951:83;;;;;;;:::i;:::-;;;;;;;;7883:193;;;;;;;;;;-1:-1:-1;7883:193:0;;;;;:::i;:::-;;:::i;:::-;;;5139:14:1;;5132:22;5114:41;;5102:2;5087:18;7883:193:0;5069:92:1;5794:41:0;;;;;;;;;;-1:-1:-1;5794:41:0;;;;-1:-1:-1;;;;;5794:41:0;;;;;;-1:-1:-1;;;;;4930:32:1;;;4912:51;;4900:2;4885:18;5794:41:0;4867:102:1;7231:95:0;;;;;;;;;;-1:-1:-1;5008:18:0;7231:95;;;13334:25:1;;;13322:2;13307:18;7231:95:0;13289:76:1;8085:446:0;;;;;;;;;;-1:-1:-1;8085:446:0;;;;;:::i;:::-;;:::i;6093:51::-;;;;;;;;;;;;;;;;7139:83;;;;;;;;;;-1:-1:-1;7139:83:0;;4681:1;14500:36:1;;14488:2;14473:18;7139:83:0;14455:87:1;5842:28:0;;;;;;;;;;-1:-1:-1;5842:28:0;;;;-1:-1:-1;;;;;5842:28:0;;;13408:92;;;;;;;;;;-1:-1:-1;13408:92:0;;;;;:::i;:::-;;:::i;:::-;;17763:101;;;;;;;;;;-1:-1:-1;17763:101:0;;;;;:::i;:::-;;:::i;12988:235::-;;;;;;;;;;;;;:::i;7335:138::-;;;;;;;;;;-1:-1:-1;7335:138:0;;;;;:::i;:::-;;:::i;1919:148::-;;;;;;;;;;;;;:::i;17873:166::-;;;;;;;;;;-1:-1:-1;17873:166:0;;;;;:::i;:::-;;:::i;18224:118::-;;;;;;;;;;;;;:::i;5986:45::-;;;;;;;;;;;;;;;;5533:43;;;;;;;;;;-1:-1:-1;5533:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1703:79;;;;;;;;;;-1:-1:-1;1741:7:0;1768:6;-1:-1:-1;;;;;1768:6:0;1703:79;;12633:101;;;;;;;;;;-1:-1:-1;12633:101:0;;;;;:::i;:::-;;:::i;6038:48::-;;;;;;;;;;;;;;;;7043:87;;;;;;;;;;-1:-1:-1;7115:7:0;;;;;;;;;;;;-1:-1:-1;;;7115:7:0;;;;7043:87;;17615:139;;;;;;;;;;-1:-1:-1;17615:139:0;;;;;:::i;:::-;;:::i;16917:689::-;;;;;;;;;;-1:-1:-1;16917:689:0;;;;;:::i;:::-;;:::i;7482:199::-;;;;;;;;;;-1:-1:-1;7482:199:0;;;;;:::i;:::-;;:::i;5495:36::-;;;;;;;;;;-1:-1:-1;5495:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12743:236;;;;;;;;;;;;;:::i;18351:234::-;;;;;;;;;;-1:-1:-1;18351:234:0;;;;;:::i;:::-;;:::i;7690:184::-;;;;;;;;;;-1:-1:-1;7690:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7839:18:0;;;7807:7;7839:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7690:184;18047:169;;;;;;;;;;-1:-1:-1;18047:169:0;;;;;:::i;:::-;;:::i;13232:167::-;;;;;;;;;;-1:-1:-1;13232:167:0;;;;;:::i;:::-;;:::i;2076:244::-;;;;;;;;;;-1:-1:-1;2076:244:0;;;;;:::i;:::-;;:::i;7883:193::-;7985:4;8007:39;531:10;8030:7;8039:6;8007:8;:39::i;:::-;-1:-1:-1;8064:4:0;7883:193;;;;;:::o;8085:446::-;8217:4;8234:36;8244:6;8252:9;8263:6;8234:9;:36::i;:::-;8281:220;8304:6;531:10;8352:138;8408:6;8352:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8352:19:0;;;;;;:11;:19;;;;;;;;531:10;8352:33;;;;;;;;;;:37;:138::i;:::-;8281:8;:220::i;:::-;-1:-1:-1;8519:4:0;8085:446;;;;;:::o;13408:92::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;13472:12:0::1;13487:5;13472:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13472:20:0::1;::::0;;13408:92::o;17763:101::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;17830:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17830:26:0::1;-1:-1:-1::0;;;;17830:26:0;;::::1;::::0;;;::::1;::::0;;17763:101::o;12988:235::-;13054:19;;-1:-1:-1;;;;;13054:19:0;531:10;-1:-1:-1;;;;;13038:35:0;;:72;;;-1:-1:-1;13093:17:0;;-1:-1:-1;;;;;13093:17:0;531:10;-1:-1:-1;;;;;13077:33:0;;13038:72;13030:81;;;;;;13151:21;13183:32;13151:21;13183:12;:32::i;:::-;12988:235;:::o;7335:138::-;-1:-1:-1;;;;;7448:16:0;;7401:7;7448:16;;;:7;:16;;;;;;7428:37;;:19;:37::i;1919:148::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;2026:1:::1;2010:6:::0;;1989:40:::1;::::0;-1:-1:-1;;;;;2010:6:0;;::::1;::::0;1989:40:::1;::::0;2026:1;;1989:40:::1;2057:1;2040:19:::0;;-1:-1:-1;;;;;;2040:19:0::1;::::0;;1919:148::o;17873:166::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;17971:1:::1;17957:13;:15;17949:24;;;::::0;::::1;;18028:3;18000:23;18010:13:::0;5008:18:::1;18000:23;:::i;:::-;17999:32;;;;:::i;:::-;17984:12;:47:::0;-1:-1:-1;17873:166:0:o;18224:118::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;5008:18:::1;18277:12;:22:::0;;;18310:14:::1;:24:::0;18224:118::o;12633:101::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;12700:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12700:26:0::1;-1:-1:-1::0;;;;12700:26:0;;::::1;::::0;;;::::1;::::0;;12633:101::o;17615:139::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;17706:19:::1;:40:::0;17615:139::o;16917:689::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;17081:18;;17051:90:::1;;;::::0;-1:-1:-1;;;17051:90:0;;11366:2:1;17051:90:0::1;::::0;::::1;11348:21:1::0;11405:2;11385:18;;;11378:30;11444:34;11424:18;;;11417:62;-1:-1:-1;;;11495:18:1;;;11488:35;11540:19;;17051:90:0::1;11338:227:1::0;17051:90:0::1;17195:1;17180:11;:16;;17152:82;;;::::0;-1:-1:-1;;;17152:82:0;;9384:2:1;17152:82:0::1;::::0;::::1;9366:21:1::0;9423:2;9403:18;;;9396:30;9462:34;9442:18;;;9435:62;-1:-1:-1;;;9513:18:1;;;9506:31;9554:19;;17152:82:0::1;9356:223:1::0;17152:82:0::1;17276:19:::0;;17245:93:::1;;;::::0;-1:-1:-1;;;17245:93:0;;9786:2:1;17245:93:0::1;::::0;::::1;9768:21:1::0;9825:2;9805:18;;;9798:30;9864:34;9844:18;;;9837:62;-1:-1:-1;;;9915:18:1;;;9908:36;9961:19;;17245:93:0::1;9758:228:1::0;17245:93:0::1;17394:1;17378:12;:17;;17349:85;;;::::0;-1:-1:-1;;;17349:85:0;;12582:2:1;17349:85:0::1;::::0;::::1;12564:21:1::0;12621:2;12601:18;;;12594:30;12660:34;12640:18;;;12633:62;-1:-1:-1;;;12711:18:1;;;12704:32;12753:19;;17349:85:0::1;12554:224:1::0;17349:85:0::1;17447:14;:30:::0;;;;17488:15:::1;:32:::0;;;;17531:12:::1;:26:::0;17568:13:::1;:28:::0;16917:689::o;7482:199::-;7587:4;7609:42;531:10;7633:9;7644:6;7609:9;:42::i;12743:236::-;12809:19;;-1:-1:-1;;;;;12809:19:0;531:10;-1:-1:-1;;;;;12793:35:0;;:72;;;-1:-1:-1;12848:17:0;;-1:-1:-1;;;;;12848:17:0;531:10;-1:-1:-1;;;;;12832:33:0;;12793:72;12785:81;;;;;;12877:23;12903:24;12921:4;12903:9;:24::i;:::-;12877:50;;12938:33;12955:15;12938:16;:33::i;18351:234::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;18468:9:::1;18464:114;18483:19:::0;;::::1;18464:114;;;18558:8;18524:18;:31;18543:8;;18552:1;18543:11;;;;;-1:-1:-1::0;;;18543:11:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18524:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18524:31:0;:42;;-1:-1:-1;;18524:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18504:3;::::1;::::0;::::1;:::i;:::-;;;;18464:114;;;;18351:234:::0;;;:::o;18047:169::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;18146:1:::1;18132:13;:15;18124:24;;;::::0;::::1;;18205:3;18177:23;18187:13:::0;5008:18:::1;18177:23;:::i;:::-;18176:32;;;;:::i;:::-;18159:14;:49:::0;-1:-1:-1;18047:169:0:o;13232:167::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;13306:9:::1;13301:91;13325:5;:12;13321:1;:16;13301:91;;;13376:4;13359;:14;13364:5;13370:1;13364:8;;;;;;-1:-1:-1::0;;;13364:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13359:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13359:14:0;:21;;-1:-1:-1;;13359:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13339:3;::::1;::::0;::::1;:::i;:::-;;;;13301:91;;;;13232:167:::0;:::o;2076:244::-;1831:6;;-1:-1:-1;;;;;1831:6:0;531:10;1831:22;1823:67;;;;-1:-1:-1;;;1823:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2165:22:0;::::1;2157:73;;;::::0;-1:-1:-1;;;2157:73:0;;7814:2:1;2157:73:0::1;::::0;::::1;7796:21:1::0;7853:2;7833:18;;;7826:30;7892:34;7872:18;;;7865:62;-1:-1:-1;;;7943:18:1;;;7936:36;7989:19;;2157:73:0::1;7786:228:1::0;2157:73:0::1;2267:6;::::0;;2246:38:::1;::::0;-1:-1:-1;;;;;2246:38:0;;::::1;::::0;2267:6;::::1;::::0;2246:38:::1;::::0;::::1;2295:6;:17:::0;;-1:-1:-1;;;;;;2295:17:0::1;-1:-1:-1::0;;;;;2295:17:0;;;::::1;::::0;;;::::1;::::0;;2076:244::o;9228:369::-;-1:-1:-1;;;;;9355:19:0;;9347:68;;;;-1:-1:-1;;;9347:68:0;;12985:2:1;9347:68:0;;;12967:21:1;13024:2;13004:18;;;12997:30;13063:34;13043:18;;;13036:62;-1:-1:-1;;;13114:18:1;;;13107:34;13158:19;;9347:68:0;12957:226:1;9347:68:0;-1:-1:-1;;;;;9434:21:0;;9426:68;;;;-1:-1:-1;;;9426:68:0;;8221:2:1;9426:68:0;;;8203:21:1;8260:2;8240:18;;;8233:30;8299:34;8279:18;;;8272:62;-1:-1:-1;;;8350:18:1;;;8343:32;8392:19;;9426:68:0;8193:224:1;9426:68:0;-1:-1:-1;;;;;9505:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9557:32;;13334:25:1;;;9557:32:0;;13307:18:1;9557:32:0;;;;;;;9228:369;;;:::o;9606:2343::-;-1:-1:-1;;;;;9728:18:0;;9720:68;;;;-1:-1:-1;;;9720:68:0;;11772:2:1;9720:68:0;;;11754:21:1;11811:2;11791:18;;;11784:30;11850:34;11830:18;;;11823:62;-1:-1:-1;;;11901:18:1;;;11894:35;11946:19;;9720:68:0;11744:227:1;9720:68:0;-1:-1:-1;;;;;9807:16:0;;9799:64;;;;-1:-1:-1;;;9799:64:0;;6210:2:1;9799:64:0;;;6192:21:1;6249:2;6229:18;;;6222:30;6288:34;6268:18;;;6261:62;-1:-1:-1;;;6339:18:1;;;6332:33;6382:19;;9799:64:0;6182:225:1;9799:64:0;9891:1;9882:6;:10;9874:64;;;;-1:-1:-1;;;9874:64:0;;10956:2:1;9874:64:0;;;10938:21:1;10995:2;10975:18;;;10968:30;11034:34;11014:18;;;11007:62;-1:-1:-1;;;11085:18:1;;;11078:39;11134:19;;9874:64:0;10928:231:1;9874:64:0;1741:7;1768:6;-1:-1:-1;;;;;9956:15:0;;;1768:6;;9956:15;;;;:32;;-1:-1:-1;1741:7:0;1768:6;-1:-1:-1;;;;;9975:13:0;;;1768:6;;9975:13;;9956:32;9952:1265;;;10046:11;;-1:-1:-1;;;10046:11:0;;;;10041:144;;1741:7;1768:6;-1:-1:-1;;;;;10086:15:0;;;1768:6;;10086:15;10078:91;;;;-1:-1:-1;;;10078:91:0;;6614:2:1;10078:91:0;;;6596:21:1;6653:2;6633:18;;;6626:30;6692:34;6672:18;;;6665:62;6763:33;6743:18;;;6736:61;6814:19;;10078:91:0;6586:253:1;10078:91:0;10220:12;;10210:6;:22;;10202:63;;;;-1:-1:-1;;;10202:63:0;;7457:2:1;10202:63:0;;;7439:21:1;7496:2;7476:18;;;7469:30;7535;7515:18;;;7508:58;7583:18;;10202:63:0;7429:178:1;10202:63:0;-1:-1:-1;;;;;10289:10:0;;;;;;:4;:10;;;;;;;;10288:11;:24;;;;-1:-1:-1;;;;;;10304:8:0;;;;;;:4;:8;;;;;;;;10303:9;10288:24;10280:72;;;;-1:-1:-1;;;10280:72:0;;8624:2:1;10280:72:0;;;8606:21:1;8663:2;8643:18;;;8636:30;8702:34;8682:18;;;8675:62;-1:-1:-1;;;8753:18:1;;;8746:33;8796:19;;10280:72:0;8596:225:1;10280:72:0;10379:13;;-1:-1:-1;;;;;10373:19:0;;;10379:13;;10373:19;10370:146;;10446:14;;10437:6;10421:13;10431:2;10421:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10413:87;;;;-1:-1:-1;;;10413:87:0;;12178:2:1;10413:87:0;;;12160:21:1;12217:2;12197:18;;;12190:30;12256:34;12236:18;;;12229:62;-1:-1:-1;;;12307:18:1;;;12300:33;12350:19;;10413:87:0;12150:225:1;10413:87:0;10533:28;10564:24;10582:4;10564:9;:24::i;:::-;10642:19;;10706:12;;10533:55;;-1:-1:-1;10618:43:0;;;;10682:36;;10679:124;;10775:12;;10752:35;;10679:124;10824:7;:18;;;;-1:-1:-1;10836:6:0;;-1:-1:-1;;;10836:6:0;;;;10835:7;10824:18;:43;;;;-1:-1:-1;10854:13:0;;-1:-1:-1;;;;;10846:21:0;;;10854:13;;10846:21;;10824:43;:58;;;;-1:-1:-1;10871:11:0;;-1:-1:-1;;;10871:11:0;;;;10824:58;:87;;;;-1:-1:-1;;;;;;10887:24:0;;;;;;:18;:24;;;;;;;;10886:25;10824:87;:114;;;;-1:-1:-1;;;;;;10916:22:0;;;;;;:18;:22;;;;;;;;10915:23;10824:114;10820:386;;;10959:38;10976:20;10959:16;:38::i;:::-;11045:21;11089:22;;11085:106;;11136:35;11149:21;11136:12;:35::i;:::-;10820:386;;9952:1265;;;-1:-1:-1;;;;;11295:24:0;;11230:12;11295:24;;;:18;:24;;;;;;11245:4;;11295:24;;;:50;;-1:-1:-1;;;;;;11323:22:0;;;;;;:18;:22;;;;;;;;11295:50;11294:102;;;-1:-1:-1;11359:13:0;;-1:-1:-1;;;;;11351:21:0;;;11359:13;;11351:21;;;;:44;;-1:-1:-1;11382:13:0;;-1:-1:-1;;;;;11376:19:0;;;11382:13;;11376:19;;11351:44;11290:597;;;-1:-1:-1;11423:5:0;11290:597;;;11507:13;;-1:-1:-1;;;;;11499:21:0;;;11507:13;;11499:21;:55;;;;-1:-1:-1;11538:15:0;;-1:-1:-1;;;;;11524:30:0;;;11538:15;;11524:30;;11499:55;11496:162;;;11587:14;;11575:9;:26;11630:12;;11620:7;:22;11496:162;11718:13;;-1:-1:-1;;;;;11712:19:0;;;11718:13;;11712:19;:55;;;;-1:-1:-1;11751:15:0;;-1:-1:-1;;;;;11735:32:0;;;11751:15;;11735:32;;11712:55;11708:165;;;11800:15;;11788:9;:27;11844:13;;11834:7;:23;11708:165;11900:41;11915:4;11921:2;11925:6;11933:7;11900:14;:41::i;2687:224::-;2807:7;2843:12;2835:6;;;;2827:29;;;;-1:-1:-1;;;2827:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2867:9:0;2879:5;2883:1;2879;:5;:::i;:::-;2867:17;2687:224;-1:-1:-1;;;;;2687:224:0:o;12450:174::-;12507:17;;-1:-1:-1;;;;;12507:17:0;:48;12534:20;12552:1;12534:13;:6;12545:1;12534:10;:13::i;:::-;:17;;:20::i;:::-;12507:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12566:19:0;;-1:-1:-1;;;;;12566:19:0;:50;12595:20;12613:1;12595:13;:6;12606:1;12595:10;:13::i;:20::-;12566:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8540:323;8635:7;8693;;8682;:18;;8660:110;;;;-1:-1:-1;;;8660:110:0;;7046:2:1;8660:110:0;;;7028:21:1;7085:2;7065:18;;;7058:30;7124:34;7104:18;;;7097:62;-1:-1:-1;;;7175:18:1;;;7168:40;7225:19;;8660:110:0;7018:232:1;8660:110:0;8781:19;8803:10;:8;:10::i;:::-;8781:32;-1:-1:-1;8831:24:0;:7;8781:32;8831:11;:24::i;:::-;8824:31;8540:323;-1:-1:-1;;;8540:323:0:o;11958:483::-;6239:6;:13;;-1:-1:-1;;;;6239:13:0;-1:-1:-1;;;6239:13:0;;;12060:16:::1;::::0;;12074:1:::1;12060:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12060:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12060:16:0::1;12036:40;;12105:4;12087;12092:1;12087:7;;;;;;-1:-1:-1::0;;;12087:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12087:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12131:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12131:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12087:7;;12131:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12121:4;12126:1;12121:7;;;;;;-1:-1:-1::0;;;12121:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12121:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12196:15:::1;::::0;12164:62:::1;::::0;12181:4:::1;::::0;12196:15:::1;12214:11:::0;12164:8:::1;:62::i;:::-;12237:15;::::0;:196:::1;::::0;-1:-1:-1;;;12237:196:0;;-1:-1:-1;;;;;12237:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12318:11;;12237:15:::1;::::0;12360:4;;12387::::1;::::0;12407:15:::1;::::0;12237:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6275:6:0;:14;;-1:-1:-1;;;;6275:14:0;;;-1:-1:-1;;;;11958:483:0:o;13509:282::-;13665:7;13660:28;;13674:14;:12;:14::i;:::-;13699:44;13717:6;13725:9;13736:6;13699:17;:44::i;:::-;13759:7;13754:29;;13768:15;9158:17;;9146:9;:29;9196:15;;9186:7;:25;9102:117;2920:246;2978:7;3002:6;2998:47;;-1:-1:-1;3032:1:0;3025:8;;2998:47;3055:9;3067:5;3071:1;3067;:5;:::i;:::-;3055:17;-1:-1:-1;3100:1:0;3091:5;3095:1;3055:17;3091:5;:::i;:::-;:10;3083:56;;;;-1:-1:-1;;;3083:56:0;;10193:2:1;3083:56:0;;;10175:21:1;10232:2;10212:18;;;10205:30;10271:34;10251:18;;;10244:62;-1:-1:-1;;;10322:18:1;;;10315:31;10363:19;;3083:56:0;10165:223:1;3175:132:0;3233:7;3260:39;3264:1;3267;3260:39;;;;;;;;;;;;;;;;;:3;:39::i;16478:164::-;16520:7;16541:15;16558;16577:19;:17;:19::i;:::-;16540:56;;-1:-1:-1;16540:56:0;-1:-1:-1;16614:20:0;16540:56;;16614:11;:20::i;:::-;16607:27;;;;16478:164;:::o;8872:221::-;8919:9;;:14;:30;;;;-1:-1:-1;8937:7:0;;:12;8919:30;8915:43;;;8872:221::o;8915:43::-;8991:9;;;8971:17;:29;9029:7;;;9011:15;:25;-1:-1:-1;9050:13:0;;;;9074:11;8872:221::o;13800:610::-;13947:15;13977:23;14015:12;14042:23;14080:12;14107:13;14134:19;14145:7;14134:10;:19::i;:::-;-1:-1:-1;;;;;14182:15:0;;;;;;:7;:15;;;;;;13932:221;;-1:-1:-1;13932:221:0;;-1:-1:-1;13932:221:0;;-1:-1:-1;13932:221:0;-1:-1:-1;13932:221:0;-1:-1:-1;13932:221:0;-1:-1:-1;14182:28:0;;13932:221;14182:19;:28::i;:::-;-1:-1:-1;;;;;14164:15:0;;;;;;;:7;:15;;;;;;:46;;;;14242:18;;;;;;;:39;;14265:15;14242:22;:39::i;:::-;-1:-1:-1;;;;;14221:18:0;;;;;;:7;:18;;;;;:60;14292:16;14302:5;14292:9;:16::i;:::-;14319:23;14331:4;14337;14319:11;:23::i;:::-;14375:9;-1:-1:-1;;;;;14358:44:0;14367:6;-1:-1:-1;;;;;14358:44:0;;14386:15;14358:44;;;;13334:25:1;;13322:2;13307:18;;13289:76;14358:44:0;;;;;;;;13800:610;;;;;;;;;:::o;3316:223::-;3436:7;3471:12;3464:5;3456:28;;;;-1:-1:-1;;;3456:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3495:9:0;3507:5;3511:1;3507;:5;:::i;16651:257::-;16749:7;;16702;;;;5008:18;16817:20;16749:7;5008:18;16817:11;:20::i;:::-;16807:7;:30;16803:61;;;-1:-1:-1;;16847:7:0;;;5008:18;;-1:-1:-1;16651:257:0;-1:-1:-1;16651:257:0:o;16803:61::-;16883:7;;16892;;-1:-1:-1;16651:257:0;-1:-1:-1;16651:257:0:o;14833:615::-;14933:7;14955;14977;14999;15021;15043;15079:23;15104:12;15118:13;15148:40;15160:7;15169:9;;15180:7;;15148:11;:40::i;:::-;15078:110;;;;;;15199:19;15221:10;:8;:10::i;:::-;15199:32;;15243:15;15260:23;15285:12;15314:46;15326:7;15335:4;15341:5;15348:11;15314;:46::i;:::-;15242:118;;-1:-1:-1;15242:118:0;-1:-1:-1;15242:118:0;-1:-1:-1;15411:15:0;;-1:-1:-1;15428:4:0;;-1:-1:-1;15434:5:0;;-1:-1:-1;;;;;14833:615:0;;;;;;;:::o;2542:136::-;2600:7;2627:43;2631:1;2634;2627:43;;;;;;;;;;;;;;;;;:3;:43::i;2354:179::-;2412:7;;2444:5;2448:1;2444;:5;:::i;:::-;2432:17;;2473:1;2468;:6;;2460:46;;;;-1:-1:-1;;;2460:46:0;;9028:2:1;2460:46:0;;;9010:21:1;9067:2;9047:18;;;9040:30;9106:29;9086:18;;;9079:57;9153:18;;2460:46:0;9000:177:1;14419:211:0;14472:19;14494:10;:8;:10::i;:::-;14472:32;-1:-1:-1;14515:13:0;14531:22;:5;14472:32;14531:9;:22::i;:::-;14605:4;14589:22;;;;:7;:22;;;;;;14515:38;;-1:-1:-1;14589:33:0;;14515:38;14589:26;:33::i;:::-;14580:4;14564:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14419:211:0:o;14639:147::-;14717:7;;:17;;14729:4;14717:11;:17::i;:::-;14707:7;:27;14758:10;;:20;;14773:4;14758:14;:20::i;:::-;14745:10;:33;-1:-1:-1;;14639:147:0:o;15457:469::-;15626:7;;;;15720:30;15746:3;15720:21;:7;15732:8;15720:11;:21::i;:30::-;15705:45;-1:-1:-1;15761:13:0;15777:28;15801:3;15777:19;:7;15789:6;15777:11;:19::i;:28::-;15761:44;-1:-1:-1;15816:23:0;15842:28;15761:44;15842:17;:7;15854:4;15842:11;:17::i;:::-;:21;;:28::i;:::-;15816:54;15906:4;;-1:-1:-1;15912:5:0;;-1:-1:-1;15457:469:0;;-1:-1:-1;;;;;15457:469:0:o;15935:534::-;16129:7;;;;16226:24;:7;16238:11;16226;:24::i;:::-;16208:42;-1:-1:-1;16261:12:0;16276:21;:4;16285:11;16276:8;:21::i;:::-;16261:36;-1:-1:-1;16308:13:0;16324:22;:5;16334:11;16324:9;:22::i;:::-;16308:38;-1:-1:-1;16357:23:0;16383:28;16308:38;16383:17;:7;16395:4;16383:11;:17::i;:28::-;16430:7;;;;-1:-1:-1;16456:4:0;;-1:-1:-1;15935:534:0;;-1:-1:-1;;;;;;;15935:534:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:160::-;218:20;;274:13;;267:21;257:32;;247:2;;303:1;300;293:12;318:257;377:6;430:2;418:9;409:7;405:23;401:32;398:2;;;451:6;443;436:22;398:2;495:9;482:23;514:31;539:5;514:31;:::i;580:261::-;650:6;703:2;691:9;682:7;678:23;674:32;671:2;;;724:6;716;709:22;671:2;761:9;755:16;780:31;805:5;780:31;:::i;846:398::-;914:6;922;975:2;963:9;954:7;950:23;946:32;943:2;;;996:6;988;981:22;943:2;1040:9;1027:23;1059:31;1084:5;1059:31;:::i;:::-;1109:5;-1:-1:-1;1166:2:1;1151:18;;1138:32;1179:33;1138:32;1179:33;:::i;:::-;1231:7;1221:17;;;933:311;;;;;:::o;1249:466::-;1326:6;1334;1342;1395:2;1383:9;1374:7;1370:23;1366:32;1363:2;;;1416:6;1408;1401:22;1363:2;1460:9;1447:23;1479:31;1504:5;1479:31;:::i;:::-;1529:5;-1:-1:-1;1586:2:1;1571:18;;1558:32;1599:33;1558:32;1599:33;:::i;:::-;1353:362;;1651:7;;-1:-1:-1;;;1705:2:1;1690:18;;;;1677:32;;1353:362::o;1720:325::-;1788:6;1796;1849:2;1837:9;1828:7;1824:23;1820:32;1817:2;;;1870:6;1862;1855:22;1817:2;1914:9;1901:23;1933:31;1958:5;1933:31;:::i;:::-;1983:5;2035:2;2020:18;;;;2007:32;;-1:-1:-1;;;1807:238:1:o;2050:739::-;2142:6;2150;2158;2211:2;2199:9;2190:7;2186:23;2182:32;2179:2;;;2232:6;2224;2217:22;2179:2;2277:9;2264:23;2306:18;2347:2;2339:6;2336:14;2333:2;;;2368:6;2360;2353:22;2333:2;2411:6;2400:9;2396:22;2386:32;;2456:7;2449:4;2445:2;2441:13;2437:27;2427:2;;2483:6;2475;2468:22;2427:2;2528;2515:16;2554:2;2546:6;2543:14;2540:2;;;2575:6;2567;2560:22;2540:2;2635:7;2628:4;2618:6;2615:1;2611:14;2607:2;2603:23;2599:34;2596:47;2593:2;;;2661:6;2653;2646:22;2593:2;2697:4;2689:13;;;;-1:-1:-1;2721:6:1;-1:-1:-1;2746:37:1;;2762:20;;;-1:-1:-1;2746:37:1;:::i;:::-;2736:47;;2169:620;;;;;:::o;2794:1177::-;2878:6;2909:2;2952;2940:9;2931:7;2927:23;2923:32;2920:2;;;2973:6;2965;2958:22;2920:2;3018:9;3005:23;3047:18;3088:2;3080:6;3077:14;3074:2;;;3109:6;3101;3094:22;3074:2;3152:6;3141:9;3137:22;3127:32;;3197:7;3190:4;3186:2;3182:13;3178:27;3168:2;;3224:6;3216;3209:22;3168:2;3265;3252:16;3287:2;3283;3280:10;3277:2;;;3293:18;;:::i;:::-;3339:2;3336:1;3332:10;3371:2;3365:9;3434:2;3430:7;3425:2;3421;3417:11;3413:25;3405:6;3401:38;3489:6;3477:10;3474:22;3469:2;3457:10;3454:18;3451:46;3448:2;;;3500:18;;:::i;:::-;3536:2;3529:22;3586:18;;;3620:15;;;;-1:-1:-1;3655:11:1;;;3685;;;3681:20;;3678:33;-1:-1:-1;3675:2:1;;;3729:6;3721;3714:22;3675:2;3756:6;3747:15;;3771:169;3785:2;3782:1;3779:9;3771:169;;;3842:23;3861:3;3842:23;:::i;:::-;3830:36;;3803:1;3796:9;;;;;3886:12;;;;3918;;3771:169;;;-1:-1:-1;3959:6:1;2889:1082;-1:-1:-1;;;;;;;;2889:1082:1:o;3976:190::-;4032:6;4085:2;4073:9;4064:7;4060:23;4056:32;4053:2;;;4106:6;4098;4091:22;4053:2;4134:26;4150:9;4134:26;:::i;4171:190::-;4230:6;4283:2;4271:9;4262:7;4258:23;4254:32;4251:2;;;4304:6;4296;4289:22;4251:2;-1:-1:-1;4332:23:1;;4241:120;-1:-1:-1;4241:120:1:o;4366:395::-;4452:6;4460;4468;4476;4529:3;4517:9;4508:7;4504:23;4500:33;4497:2;;;4551:6;4543;4536:22;4497:2;-1:-1:-1;;4579:23:1;;;4649:2;4634:18;;4621:32;;-1:-1:-1;4700:2:1;4685:18;;4672:32;;4751:2;4736:18;4723:32;;-1:-1:-1;4487:274:1;-1:-1:-1;4487:274:1:o;5400:603::-;5512:4;5541:2;5570;5559:9;5552:21;5602:6;5596:13;5645:6;5640:2;5629:9;5625:18;5618:34;5670:4;5683:140;5697:6;5694:1;5691:13;5683:140;;;5792:14;;;5788:23;;5782:30;5758:17;;;5777:2;5754:26;5747:66;5712:10;;5683:140;;;5841:6;5838:1;5835:13;5832:2;;;5911:4;5906:2;5897:6;5886:9;5882:22;5878:31;5871:45;5832:2;-1:-1:-1;5987:2:1;5966:15;-1:-1:-1;;5962:29:1;5947:45;;;;5994:2;5943:54;;5521:482;-1:-1:-1;;;5521:482:1:o;10393:356::-;10595:2;10577:21;;;10614:18;;;10607:30;10673:34;10668:2;10653:18;;10646:62;10740:2;10725:18;;10567:182::o;13370:983::-;13632:4;13680:3;13669:9;13665:19;13711:6;13700:9;13693:25;13737:2;13775:6;13770:2;13759:9;13755:18;13748:34;13818:3;13813:2;13802:9;13798:18;13791:31;13842:6;13877;13871:13;13908:6;13900;13893:22;13946:3;13935:9;13931:19;13924:26;;13985:2;13977:6;13973:15;13959:29;;14006:4;14019:195;14033:6;14030:1;14027:13;14019:195;;;14098:13;;-1:-1:-1;;;;;14094:39:1;14082:52;;14189:15;;;;14154:12;;;;14130:1;14048:9;14019:195;;;-1:-1:-1;;;;;;;14270:32:1;;;;14265:2;14250:18;;14243:60;-1:-1:-1;;;14334:3:1;14319:19;14312:35;14231:3;13641:712;-1:-1:-1;;;13641:712:1:o;14547:128::-;14587:3;14618:1;14614:6;14611:1;14608:13;14605:2;;;14624:18;;:::i;:::-;-1:-1:-1;14660:9:1;;14595:80::o;14680:217::-;14720:1;14746;14736:2;;-1:-1:-1;;;14771:31:1;;14825:4;14822:1;14815:15;14853:4;14778:1;14843:15;14736:2;-1:-1:-1;14882:9:1;;14726:171::o;14902:168::-;14942:7;15008:1;15004;15000:6;14996:14;14993:1;14990:21;14985:1;14978:9;14971:17;14967:45;14964:2;;;15015:18;;:::i;:::-;-1:-1:-1;15055:9:1;;14954:116::o;15075:125::-;15115:4;15143:1;15140;15137:8;15134:2;;;15148:18;;:::i;:::-;-1:-1:-1;15185:9:1;;15124:76::o;15205:135::-;15244:3;-1:-1:-1;;15265:17:1;;15262:2;;;15285:18;;:::i;:::-;-1:-1:-1;15332:1:1;15321:13;;15252:88::o;15345:127::-;15406:10;15401:3;15397:20;15394:1;15387:31;15437:4;15434:1;15427:15;15461:4;15458:1;15451:15;15477:127;15538:10;15533:3;15529:20;15526:1;15519:31;15569:4;15566:1;15559:15;15593:4;15590:1;15583:15;15609:131;-1:-1:-1;;;;;15684:31:1;;15674:42;;15664:2;;15730:1;15727;15720:12

Swarm Source

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