ETH Price: $2,406.10 (-0.76%)

Token

Dog Eat Dog (DED)
 

Overview

Max Total Supply

1,000,000,000 DED

Holders

131

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.478066830797801228 DED

Value
$0.00
0x2d2853ff912672e0aaf446d234fc16ee05ea94f5
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:
DED

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-06
*/

/*

Website: https://dogeatdog.wtf/
Telegram: https://t.me/dogeatdogentry
Twitter: https://twitter.com/Dogeatdogwtf

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.10;

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 IDexSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDexSwapPair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IDexSwapRouter {
    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 DED is Context, IERC20, Ownable {

    using SafeMath for uint256;

    address public developmentWallet;
    
    string private _name = "Dog Eat Dog";
    string private _symbol = "DED";
    uint8 private _decimals = 18; 
    uint256 private _totalSupply = 1_000_000_000 * 10**_decimals;
    uint256 public _maxTxAmount =  _totalSupply.mul(2).div(100);     // 2%
    uint256 public _walletMax = _totalSupply.mul(2).div(100);        // 2%

    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;

    uint256 public swapThreshold = _totalSupply.mul(2).div(100);

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

    uint public buyTax = 25;
    uint public sellTax = 35;
    uint256 feedenominator = 100;

    IDexSwapRouter public dexRouter;
    address public dexPair;

    bool public tradingEnable; 
    uint256 public launchedAt;

    bool inSwap;

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

    modifier onlyGuard() {
        require(msg.sender == developmentWallet,"Invalid Caller");
        _;
    }

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor() {

        developmentWallet = msg.sender;

        IDexSwapRouter _dexRouter = IDexSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        dexPair = IDexSwapFactory(_dexRouter.factory())
            .createPair(address(this), _dexRouter.WETH());

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

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

        isMarketPair[address(dexPair)] = true;

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

        _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 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: Exceeds allowance"));
        return true;
    }

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

        require(sender != address(0));
        require(recipient != address(0));
        require(amount > 0);
    
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            if(!tradingEnable) {
                require(isExcludedFromFee[sender] || isExcludedFromFee[recipient], "Trading Paused"); 
            }

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

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

            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount, "Exceeds maxTxAmount");
            } 
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Exceeds Wallet");
            }

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

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

        }

    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function shouldNotTakeFee(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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(isMarketPair[sender]) { 
                feeAmount = amount.mul(buyTax).div(feedenominator);
            } 
            else if(isMarketPair[recipient]) { 
                feeAmount = amount.mul(sellTax).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 {

        if(swapbylimit) contractBalance = swapThreshold;

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(contractBalance);
        uint256 amountReceived = address(this).balance.sub(initialBalance);

        if(amountReceived > 0)
            payable(developmentWallet).transfer(amountReceived);

    }


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

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

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

    function rescueFunds() external onlyGuard { 
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    function rescueTokens(address _token,address recipient,uint _amount) external onlyGuard {
        (bool success, ) = address(_token).call(abi.encodeWithSignature('transfer(address,uint256)',  recipient, _amount));
        require(success, 'Token payment failed');
    }

    function setBuyFee(uint _buySide, uint _sellSide) external onlyOwner {    
        buyTax = _buySide;
        sellTax = _sellSide;
    }

    function removeLimits() external onlyGuard {
        EnableTxLimit = false;
        checkWalletLimit =  false;
    }

    function enableTxLimit(bool _status) external onlyOwner {
        EnableTxLimit = _status;
    }

    function enableWalletLimit(bool _status) external onlyOwner {
        checkWalletLimit = _status;
    }

    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 setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        _walletMax = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }
    
    function setDevelopmentWallet(address _newWallet) external onlyOwner {
        developmentWallet = _newWallet;
    }

    function setSwapBackSettings(uint _threshold, bool _enabled, bool _limited)
        external
        onlyGuard
    {
        swapEnabled = _enabled;
        swapbylimit = _limited;
        swapThreshold = _threshold;
    }

    function enableTrading() external onlyOwner {
        require(!tradingEnable, "Trade Enabled!");

        tradingEnable = true;
        launchedAt = block.timestamp;
    }

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

}

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":"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":"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":"buyTax","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":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buySide","type":"uint256"},{"internalType":"uint256","name":"_sellSide","type":"uint256"}],"name":"setBuyFee","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"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"bool","name":"_limited","type":"bool"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","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":"swapbylimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","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":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052600b60c09081526a446f672045617420446f6760a81b60e0526002906200002d90826200063f565b506040805180820190915260038082526211115160ea1b6020830152906200005690826200063f565b506004805460ff191660129081179091556200007490600a62000814565b6200008490633b9aca0062000824565b6005819055620000a5906064906200009e9060026200043a565b90620004cd565b600655600554620000c0906064906200009e9060026200043a565b600755600554620000db906064906200009e9060026200043a565b600e55600f805463ffffffff1916630101010117905560196010556023601155606460125561dead6080525f60a05234801562000116575f80fd5b50620001223362000516565b600180546001600160a01b031916331790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa15801562000186573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ac91906200083e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021e91906200083e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000269573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028f91906200083e565b601480546001600160a01b03199081166001600160a01b0393841617825560138054909116848416178155305f818152600a60209081526040808320805460ff19908116600190811790925533808652838620805483168417905587548a1686528386208054831684179055808652600c8552838620805483168417905587548a168652838620805483168417905586865283862080548316841790556080518a16808752848720805484168517905560a0518b1680885285882080548516861790558a548c1688528588208054851686179055908752600d86528487208054841685179055865283862080548316841790558086528386208054831684179055868652838620805483168417905587548a168652838620805483168417905588548a168652600b855283862080549092169092179055938352600982528083209554871683529481528482205f199081905593549095168152838120929092556005548183526008855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620008d3565b5f825f036200044b57505f620004c7565b5f62000458838562000824565b90508262000467858362000866565b14620004c45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f620004c483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200056560201b60201c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8183620005885760405162461bcd60e51b8152600401620004bb919062000886565b505f62000596848662000866565b95945050505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620005c857607f821691505b602082108103620005e757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200063a575f81815260208120601f850160051c81016020861015620006155750805b601f850160051c820191505b81811015620006365782815560010162000621565b5050505b505050565b81516001600160401b038111156200065b576200065b6200059f565b62000673816200066c8454620005b3565b84620005ed565b602080601f831160018114620006a9575f8415620006915750858301515b5f19600386901b1c1916600185901b17855562000636565b5f85815260208120601f198616915b82811015620006d957888601518255948401946001909101908401620006b8565b5085821015620006f757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200075b57815f19048211156200073f576200073f62000707565b808516156200074d57918102915b93841c939080029062000720565b509250929050565b5f826200077357506001620004c7565b816200078157505f620004c7565b81600181146200079a5760028114620007a557620007c5565b6001915050620004c7565b60ff841115620007b957620007b962000707565b50506001821b620004c7565b5060208310610133831016604e8410600b8410161715620007ea575081810a620004c7565b620007f683836200071b565b805f19048211156200080c576200080c62000707565b029392505050565b5f620004c460ff84168362000763565b8082028115828204841417620004c757620004c762000707565b5f602082840312156200084f575f80fd5b81516001600160a01b0381168114620004c4575f80fd5b5f826200088157634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020808352835180828501525f5b81811015620008b35785810183015185820160400152820162000895565b505f604082860101526040601f19601f8301168501019250505092915050565b60805160a051612152620008f55f395f61034401525f6103f901526121525ff3fe6080604052600436106102a8575f3560e01c80637d1db4a51161016f578063c16dd4a4116100d8578063e6b2603b11610092578063f242ab411161006d578063f242ab411461087e578063f2fde38b1461089d578063f872858a146108bc578063fb0ecfa4146108dc575f80fd5b8063e6b2603b1461082d578063e9fd339414610841578063ee828db31461085f575f80fd5b8063c16dd4a414610749578063c867d60b14610768578063cc1776d314610796578063cea9d26f146107ab578063dd62ed3e146107ca578063df8408fe1461080e575f80fd5b8063a457c2d711610129578063a457c2d714610699578063a9059cbb146106b8578063ae85ade6146106d7578063b94b0aef146106f6578063bf56b37114610715578063c04a54141461072a575f80fd5b80637d1db4a5146105fd578063807c2d9c146106125780638a8c523c146106275780638b42507f1461063b5780638da5cb5b1461066957806395d89b4114610685575f80fd5b80634974d88f116102115780636ddd1713116101cb5780636ddd17131461054a57806370a0823114610563578063715018a614610597578063728d41c9146105ab57806372ac2486146105ca578063751039fc146105e9575f80fd5b80634974d88f146104895780634f7041a5146104aa5780635342acb4146104bf5780635c85974f146104ed5780635e42358c1461050c578063651a89871461052b575f80fd5b806318160ddd1161026257806318160ddd146103b557806323b872dd146103c957806327c8f835146103e8578063313ce5671461041b578063395093511461043c5780633ecad2711461045b575f80fd5b80630445b667146102b357806306fdde03146102db5780630758d924146102fc5780630930907b14610333578063095ea7b3146103665780631693e8d414610395575f80fd5b366102af57005b5f80fd5b3480156102be575f80fd5b506102c8600e5481565b6040519081526020015b60405180910390f35b3480156102e6575f80fd5b506102ef6108fb565b6040516102d29190611d3b565b348015610307575f80fd5b5060135461031b906001600160a01b031681565b6040516001600160a01b0390911681526020016102d2565b34801561033e575f80fd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610371575f80fd5b50610385610380366004611d81565b61098b565b60405190151581526020016102d2565b3480156103a0575f80fd5b5060145461038590600160a01b900460ff1681565b3480156103c0575f80fd5b506005546102c8565b3480156103d4575f80fd5b506103856103e3366004611dab565b6109a1565b3480156103f3575f80fd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610426575f80fd5b5060045460405160ff90911681526020016102d2565b348015610447575f80fd5b50610385610456366004611d81565b610a48565b348015610466575f80fd5b50610385610475366004611de9565b600b6020525f908152604090205460ff1681565b348015610494575f80fd5b506104a86104a3366004611e18565b610a7d565b005b3480156104b5575f80fd5b506102c860105481565b3480156104ca575f80fd5b506103856104d9366004611de9565b600a6020525f908152604090205460ff1681565b3480156104f8575f80fd5b506104a8610507366004611e31565b610acd565b348015610517575f80fd5b50600f546103859062010000900460ff1681565b348015610536575f80fd5b506104a8610545366004611e48565b610afb565b348015610555575f80fd5b50600f546103859060ff1681565b34801561056e575f80fd5b506102c861057d366004611de9565b6001600160a01b03165f9081526008602052604090205490565b3480156105a2575f80fd5b506104a8610b4e565b3480156105b6575f80fd5b506104a86105c5366004611e31565b610b82565b3480156105d5575f80fd5b506104a86105e4366004611de9565b610bb0565b3480156105f4575f80fd5b506104a8610bfb565b348015610608575f80fd5b506102c860065481565b34801561061d575f80fd5b506102c860075481565b348015610632575f80fd5b506104a8610c34565b348015610646575f80fd5b50610385610655366004611de9565b600d6020525f908152604090205460ff1681565b348015610674575f80fd5b505f546001600160a01b031661031b565b348015610690575f80fd5b506102ef610cc1565b3480156106a4575f80fd5b506103856106b3366004611d81565b610cd0565b3480156106c3575f80fd5b506103856106d2366004611d81565b610d1d565b3480156106e2575f80fd5b506104a86106f1366004611e48565b610d29565b348015610701575f80fd5b506104a8610710366004611e7b565b610d7c565b348015610720575f80fd5b506102c860155481565b348015610735575f80fd5b5060015461031b906001600160a01b031681565b348015610754575f80fd5b506104a8610763366004611e48565b610dcd565b348015610773575f80fd5b50610385610782366004611de9565b600c6020525f908152604090205460ff1681565b3480156107a1575f80fd5b506102c860115481565b3480156107b6575f80fd5b506104a86107c5366004611dab565b610e4a565b3480156107d5575f80fd5b506102c86107e4366004611eb4565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610819575f80fd5b506104a8610828366004611e48565b610f58565b348015610838575f80fd5b506104a8610fab565b34801561084c575f80fd5b50600f5461038590610100900460ff1681565b34801561086a575f80fd5b506104a8610879366004611e18565b611064565b348015610889575f80fd5b5060145461031b906001600160a01b031681565b3480156108a8575f80fd5b506104a86108b7366004611de9565b6110a9565b3480156108c7575f80fd5b50600f54610385906301000000900460ff1681565b3480156108e7575f80fd5b506104a86108f6366004611eeb565b611140565b60606002805461090a90611f0b565b80601f016020809104026020016040519081016040528092919081815260200182805461093690611f0b565b80156109815780601f1061095857610100808354040283529160200191610981565b820191905f5260205f20905b81548152906001019060200180831161096457829003601f168201915b5050505050905090565b5f610997338484611174565b5060015b92915050565b5f6109ad848484611297565b50610a3d8433610a38856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e6365000000000000000081525060095f8b6001600160a01b03166001600160a01b031681526020019081526020015f205f610a183390565b6001600160a01b0316815260208101919091526040015f20549190611676565b611174565b5060015b9392505050565b335f8181526009602090815260408083206001600160a01b03871684529091528120549091610997918590610a3890866116ae565b5f546001600160a01b03163314610aaf5760405162461bcd60e51b8152600401610aa690611f43565b60405180910390fd5b600f805491151563010000000263ff00000019909216919091179055565b5f546001600160a01b03163314610af65760405162461bcd60e51b8152600401610aa690611f43565b600655565b5f546001600160a01b03163314610b245760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610b775760405162461bcd60e51b8152600401610aa690611f43565b610b805f61170c565b565b5f546001600160a01b03163314610bab5760405162461bcd60e51b8152600401610aa690611f43565b600755565b5f546001600160a01b03163314610bd95760405162461bcd60e51b8152600401610aa690611f43565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610c255760405162461bcd60e51b8152600401610aa690611f78565b600f805463ffff000019169055565b5f546001600160a01b03163314610c5d5760405162461bcd60e51b8152600401610aa690611f43565b601454600160a01b900460ff1615610ca85760405162461bcd60e51b815260206004820152600e60248201526d547261646520456e61626c65642160901b6044820152606401610aa6565b6014805460ff60a01b1916600160a01b17905542601555565b60606003805461090a90611f0b565b5f6109973384610a38856040518060600160405280602581526020016120f860259139335f9081526009602090815260408083206001600160a01b038d1684529091529020549190611676565b5f610a3d338484611297565b5f546001600160a01b03163314610d525760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b6001546001600160a01b03163314610da65760405162461bcd60e51b8152600401610aa690611f78565b600f805461ffff191692151561ff0019169290921761010091151591909102179055600e55565b5f546001600160a01b03163314610df65760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b0382165f908152600b60205260409020805460ff19168215801591909117909155610e46576001600160a01b0382165f908152600c60205260409020805460ff19168215151790555b5050565b6001546001600160a01b03163314610e745760405162461bcd60e51b8152600401610aa690611f78565b6040516001600160a01b038381166024830152604482018390525f919085169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b17905251610ecc9190611fa0565b5f604051808303815f865af19150503d805f8114610f05576040519150601f19603f3d011682016040523d82523d5f602084013e610f0a565b606091505b5050905080610f525760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881c185e5b595b9d0819985a5b195960621b6044820152606401610aa6565b50505050565b5f546001600160a01b03163314610f815760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b6001546001600160a01b03163314610fd55760405162461bcd60e51b8152600401610aa690611f78565b6040515f90339047908381818185875af1925050503d805f8114611014576040519150601f19603f3d011682016040523d82523d5f602084013e611019565b606091505b50509050806110615760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610aa6565b50565b5f546001600160a01b0316331461108d5760405162461bcd60e51b8152600401610aa690611f43565b600f8054911515620100000262ff000019909216919091179055565b5f546001600160a01b031633146110d25760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b0381166111375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610aa6565b6110618161170c565b5f546001600160a01b031633146111695760405162461bcd60e51b8152600401610aa690611f43565b601091909155601155565b6001600160a01b0383166111d65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610aa6565b6001600160a01b0382166112375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610aa6565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b0384166112aa575f80fd5b6001600160a01b0383166112bc575f80fd5b5f82116112c7575f80fd5b60165460ff16156112e4576112dd84848461175b565b9050610a41565b601454600160a01b900460ff1661136f576001600160a01b0384165f908152600a602052604090205460ff168061133257506001600160a01b0383165f908152600a602052604090205460ff165b61136f5760405162461bcd60e51b815260206004820152600e60248201526d151c98591a5b99c814185d5cd95960921b6044820152606401610aa6565b305f90815260086020526040902054600e5481108015908190611395575060165460ff16155b80156113b957506001600160a01b0386165f908152600b602052604090205460ff16155b80156113c75750600f5460ff165b80156113eb57506001600160a01b0386165f908152600a602052604090205460ff16155b801561140f57506001600160a01b0385165f908152600a602052604090205460ff16155b1561141d5761141d8261183e565b6001600160a01b0386165f908152600d602052604090205460ff1615801561145d57506001600160a01b0385165f908152600d602052604090205460ff16155b80156114715750600f5462010000900460ff165b156114be576006548411156114be5760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610aa6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f9081526008909152919091205461150f918690611676565b6001600160a01b0387165f9081526008602052604081209190915561153487876118c5565b6115485761154387878761195f565b61154a565b845b600f549091506301000000900460ff16801561157e57506001600160a01b0386165f908152600c602052604090205460ff16155b156115ed576007546115ae826115a8896001600160a01b03165f9081526008602052604090205490565b906116ae565b11156115ed5760405162461bcd60e51b815260206004820152600e60248201526d115e18d959591cc815d85b1b195d60921b6044820152606401610aa6565b6001600160a01b0386165f9081526008602052604090205461160f90826116ae565b6001600160a01b038088165f8181526008602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116629085815260200190565b60405180910390a360019350505050610a41565b5f81848411156116995760405162461bcd60e51b8152600401610aa69190611d3b565b505f6116a58486611fcf565b95945050505050565b5f806116ba8385611fe2565b905083811015610a415760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610aa6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546117ab918490611676565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546117d990836116ae565b6001600160a01b038085165f8181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061182c9086815260200190565b60405180910390a35060019392505050565b6016805460ff19166001179055600f54610100900460ff16156118605750600e545b4761186a82611a69565b5f6118754783611bf2565b905080156118b6576001546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156118b4573d5f803e3d5ffd5b505b50506016805460ff1916905550565b6001600160a01b0382165f908152600a602052604081205460ff168061190257506001600160a01b0382165f908152600a602052604090205460ff165b1561190f5750600161099b565b6001600160a01b0383165f908152600b602052604090205460ff168061194c57506001600160a01b0382165f908152600b602052604090205460ff165b1561195857505f61099b565b505f61099b565b6001600160a01b0383165f908152600b6020526040812054819060ff16156119a9576119a260125461199c60105486611c3390919063ffffffff16565b90611cb1565b90506119e7565b6001600160a01b0384165f908152600b602052604090205460ff16156119e7576119e460125461199c60115486611c3390919063ffffffff16565b90505b8015611a5f57305f90815260086020526040902054611a0690826116ae565b305f81815260086020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a569085815260200190565b60405180910390a35b6116a58382611bf2565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a9c57611a9c611ff5565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611af3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b179190612009565b81600181518110611b2a57611b2a611ff5565b6001600160a01b039283166020918202929092010152601354611b509130911684611174565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b889085905f90869030904290600401612066565b5f604051808303815f87803b158015611b9f575f80fd5b505af1158015611bb1573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611be69291906120a1565b60405180910390a15050565b5f610a4183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611676565b5f825f03611c4257505f61099b565b5f611c4d83856120c1565b905082611c5a85836120d8565b14610a415760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610aa6565b5f610a4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f8183611d0d5760405162461bcd60e51b8152600401610aa69190611d3b565b505f6116a584866120d8565b5f5b83811015611d33578181015183820152602001611d1b565b50505f910152565b602081525f8251806020840152611d59816040850160208701611d19565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611061575f80fd5b5f8060408385031215611d92575f80fd5b8235611d9d81611d6d565b946020939093013593505050565b5f805f60608486031215611dbd575f80fd5b8335611dc881611d6d565b92506020840135611dd881611d6d565b929592945050506040919091013590565b5f60208284031215611df9575f80fd5b8135610a4181611d6d565b80358015158114611e13575f80fd5b919050565b5f60208284031215611e28575f80fd5b610a4182611e04565b5f60208284031215611e41575f80fd5b5035919050565b5f8060408385031215611e59575f80fd5b8235611e6481611d6d565b9150611e7260208401611e04565b90509250929050565b5f805f60608486031215611e8d575f80fd5b83359250611e9d60208501611e04565b9150611eab60408501611e04565b90509250925092565b5f8060408385031215611ec5575f80fd5b8235611ed081611d6d565b91506020830135611ee081611d6d565b809150509250929050565b5f8060408385031215611efc575f80fd5b50508035926020909101359150565b600181811c90821680611f1f57607f821691505b602082108103611f3d57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600e908201526d24b73b30b634b21021b0b63632b960911b604082015260600190565b5f8251611fb1818460208701611d19565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561099b5761099b611fbb565b8082018082111561099b5761099b611fbb565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612019575f80fd5b8151610a4181611d6d565b5f8151808452602080850194508084015f5b8381101561205b5781516001600160a01b031687529582019590820190600101612036565b509495945050505050565b85815284602082015260a060408201525f61208460a0830186612024565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f6120b96040830184612024565b949350505050565b808202811582820484141761099b5761099b611fbb565b5f826120f257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205df54b25c1fb41d56d855518eeac393a2d2a4b1a57d6363f55502be978dedc0c64736f6c63430008150033

Deployed Bytecode

0x6080604052600436106102a8575f3560e01c80637d1db4a51161016f578063c16dd4a4116100d8578063e6b2603b11610092578063f242ab411161006d578063f242ab411461087e578063f2fde38b1461089d578063f872858a146108bc578063fb0ecfa4146108dc575f80fd5b8063e6b2603b1461082d578063e9fd339414610841578063ee828db31461085f575f80fd5b8063c16dd4a414610749578063c867d60b14610768578063cc1776d314610796578063cea9d26f146107ab578063dd62ed3e146107ca578063df8408fe1461080e575f80fd5b8063a457c2d711610129578063a457c2d714610699578063a9059cbb146106b8578063ae85ade6146106d7578063b94b0aef146106f6578063bf56b37114610715578063c04a54141461072a575f80fd5b80637d1db4a5146105fd578063807c2d9c146106125780638a8c523c146106275780638b42507f1461063b5780638da5cb5b1461066957806395d89b4114610685575f80fd5b80634974d88f116102115780636ddd1713116101cb5780636ddd17131461054a57806370a0823114610563578063715018a614610597578063728d41c9146105ab57806372ac2486146105ca578063751039fc146105e9575f80fd5b80634974d88f146104895780634f7041a5146104aa5780635342acb4146104bf5780635c85974f146104ed5780635e42358c1461050c578063651a89871461052b575f80fd5b806318160ddd1161026257806318160ddd146103b557806323b872dd146103c957806327c8f835146103e8578063313ce5671461041b578063395093511461043c5780633ecad2711461045b575f80fd5b80630445b667146102b357806306fdde03146102db5780630758d924146102fc5780630930907b14610333578063095ea7b3146103665780631693e8d414610395575f80fd5b366102af57005b5f80fd5b3480156102be575f80fd5b506102c8600e5481565b6040519081526020015b60405180910390f35b3480156102e6575f80fd5b506102ef6108fb565b6040516102d29190611d3b565b348015610307575f80fd5b5060135461031b906001600160a01b031681565b6040516001600160a01b0390911681526020016102d2565b34801561033e575f80fd5b5061031b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610371575f80fd5b50610385610380366004611d81565b61098b565b60405190151581526020016102d2565b3480156103a0575f80fd5b5060145461038590600160a01b900460ff1681565b3480156103c0575f80fd5b506005546102c8565b3480156103d4575f80fd5b506103856103e3366004611dab565b6109a1565b3480156103f3575f80fd5b5061031b7f000000000000000000000000000000000000000000000000000000000000dead81565b348015610426575f80fd5b5060045460405160ff90911681526020016102d2565b348015610447575f80fd5b50610385610456366004611d81565b610a48565b348015610466575f80fd5b50610385610475366004611de9565b600b6020525f908152604090205460ff1681565b348015610494575f80fd5b506104a86104a3366004611e18565b610a7d565b005b3480156104b5575f80fd5b506102c860105481565b3480156104ca575f80fd5b506103856104d9366004611de9565b600a6020525f908152604090205460ff1681565b3480156104f8575f80fd5b506104a8610507366004611e31565b610acd565b348015610517575f80fd5b50600f546103859062010000900460ff1681565b348015610536575f80fd5b506104a8610545366004611e48565b610afb565b348015610555575f80fd5b50600f546103859060ff1681565b34801561056e575f80fd5b506102c861057d366004611de9565b6001600160a01b03165f9081526008602052604090205490565b3480156105a2575f80fd5b506104a8610b4e565b3480156105b6575f80fd5b506104a86105c5366004611e31565b610b82565b3480156105d5575f80fd5b506104a86105e4366004611de9565b610bb0565b3480156105f4575f80fd5b506104a8610bfb565b348015610608575f80fd5b506102c860065481565b34801561061d575f80fd5b506102c860075481565b348015610632575f80fd5b506104a8610c34565b348015610646575f80fd5b50610385610655366004611de9565b600d6020525f908152604090205460ff1681565b348015610674575f80fd5b505f546001600160a01b031661031b565b348015610690575f80fd5b506102ef610cc1565b3480156106a4575f80fd5b506103856106b3366004611d81565b610cd0565b3480156106c3575f80fd5b506103856106d2366004611d81565b610d1d565b3480156106e2575f80fd5b506104a86106f1366004611e48565b610d29565b348015610701575f80fd5b506104a8610710366004611e7b565b610d7c565b348015610720575f80fd5b506102c860155481565b348015610735575f80fd5b5060015461031b906001600160a01b031681565b348015610754575f80fd5b506104a8610763366004611e48565b610dcd565b348015610773575f80fd5b50610385610782366004611de9565b600c6020525f908152604090205460ff1681565b3480156107a1575f80fd5b506102c860115481565b3480156107b6575f80fd5b506104a86107c5366004611dab565b610e4a565b3480156107d5575f80fd5b506102c86107e4366004611eb4565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610819575f80fd5b506104a8610828366004611e48565b610f58565b348015610838575f80fd5b506104a8610fab565b34801561084c575f80fd5b50600f5461038590610100900460ff1681565b34801561086a575f80fd5b506104a8610879366004611e18565b611064565b348015610889575f80fd5b5060145461031b906001600160a01b031681565b3480156108a8575f80fd5b506104a86108b7366004611de9565b6110a9565b3480156108c7575f80fd5b50600f54610385906301000000900460ff1681565b3480156108e7575f80fd5b506104a86108f6366004611eeb565b611140565b60606002805461090a90611f0b565b80601f016020809104026020016040519081016040528092919081815260200182805461093690611f0b565b80156109815780601f1061095857610100808354040283529160200191610981565b820191905f5260205f20905b81548152906001019060200180831161096457829003601f168201915b5050505050905090565b5f610997338484611174565b5060015b92915050565b5f6109ad848484611297565b50610a3d8433610a38856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e6365000000000000000081525060095f8b6001600160a01b03166001600160a01b031681526020019081526020015f205f610a183390565b6001600160a01b0316815260208101919091526040015f20549190611676565b611174565b5060015b9392505050565b335f8181526009602090815260408083206001600160a01b03871684529091528120549091610997918590610a3890866116ae565b5f546001600160a01b03163314610aaf5760405162461bcd60e51b8152600401610aa690611f43565b60405180910390fd5b600f805491151563010000000263ff00000019909216919091179055565b5f546001600160a01b03163314610af65760405162461bcd60e51b8152600401610aa690611f43565b600655565b5f546001600160a01b03163314610b245760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610b775760405162461bcd60e51b8152600401610aa690611f43565b610b805f61170c565b565b5f546001600160a01b03163314610bab5760405162461bcd60e51b8152600401610aa690611f43565b600755565b5f546001600160a01b03163314610bd95760405162461bcd60e51b8152600401610aa690611f43565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610c255760405162461bcd60e51b8152600401610aa690611f78565b600f805463ffff000019169055565b5f546001600160a01b03163314610c5d5760405162461bcd60e51b8152600401610aa690611f43565b601454600160a01b900460ff1615610ca85760405162461bcd60e51b815260206004820152600e60248201526d547261646520456e61626c65642160901b6044820152606401610aa6565b6014805460ff60a01b1916600160a01b17905542601555565b60606003805461090a90611f0b565b5f6109973384610a38856040518060600160405280602581526020016120f860259139335f9081526009602090815260408083206001600160a01b038d1684529091529020549190611676565b5f610a3d338484611297565b5f546001600160a01b03163314610d525760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b6001546001600160a01b03163314610da65760405162461bcd60e51b8152600401610aa690611f78565b600f805461ffff191692151561ff0019169290921761010091151591909102179055600e55565b5f546001600160a01b03163314610df65760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b0382165f908152600b60205260409020805460ff19168215801591909117909155610e46576001600160a01b0382165f908152600c60205260409020805460ff19168215151790555b5050565b6001546001600160a01b03163314610e745760405162461bcd60e51b8152600401610aa690611f78565b6040516001600160a01b038381166024830152604482018390525f919085169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b17905251610ecc9190611fa0565b5f604051808303815f865af19150503d805f8114610f05576040519150601f19603f3d011682016040523d82523d5f602084013e610f0a565b606091505b5050905080610f525760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881c185e5b595b9d0819985a5b195960621b6044820152606401610aa6565b50505050565b5f546001600160a01b03163314610f815760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b6001546001600160a01b03163314610fd55760405162461bcd60e51b8152600401610aa690611f78565b6040515f90339047908381818185875af1925050503d805f8114611014576040519150601f19603f3d011682016040523d82523d5f602084013e611019565b606091505b50509050806110615760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610aa6565b50565b5f546001600160a01b0316331461108d5760405162461bcd60e51b8152600401610aa690611f43565b600f8054911515620100000262ff000019909216919091179055565b5f546001600160a01b031633146110d25760405162461bcd60e51b8152600401610aa690611f43565b6001600160a01b0381166111375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610aa6565b6110618161170c565b5f546001600160a01b031633146111695760405162461bcd60e51b8152600401610aa690611f43565b601091909155601155565b6001600160a01b0383166111d65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610aa6565b6001600160a01b0382166112375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610aa6565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b0384166112aa575f80fd5b6001600160a01b0383166112bc575f80fd5b5f82116112c7575f80fd5b60165460ff16156112e4576112dd84848461175b565b9050610a41565b601454600160a01b900460ff1661136f576001600160a01b0384165f908152600a602052604090205460ff168061133257506001600160a01b0383165f908152600a602052604090205460ff165b61136f5760405162461bcd60e51b815260206004820152600e60248201526d151c98591a5b99c814185d5cd95960921b6044820152606401610aa6565b305f90815260086020526040902054600e5481108015908190611395575060165460ff16155b80156113b957506001600160a01b0386165f908152600b602052604090205460ff16155b80156113c75750600f5460ff165b80156113eb57506001600160a01b0386165f908152600a602052604090205460ff16155b801561140f57506001600160a01b0385165f908152600a602052604090205460ff16155b1561141d5761141d8261183e565b6001600160a01b0386165f908152600d602052604090205460ff1615801561145d57506001600160a01b0385165f908152600d602052604090205460ff16155b80156114715750600f5462010000900460ff165b156114be576006548411156114be5760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610aa6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f9081526008909152919091205461150f918690611676565b6001600160a01b0387165f9081526008602052604081209190915561153487876118c5565b6115485761154387878761195f565b61154a565b845b600f549091506301000000900460ff16801561157e57506001600160a01b0386165f908152600c602052604090205460ff16155b156115ed576007546115ae826115a8896001600160a01b03165f9081526008602052604090205490565b906116ae565b11156115ed5760405162461bcd60e51b815260206004820152600e60248201526d115e18d959591cc815d85b1b195d60921b6044820152606401610aa6565b6001600160a01b0386165f9081526008602052604090205461160f90826116ae565b6001600160a01b038088165f8181526008602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116629085815260200190565b60405180910390a360019350505050610a41565b5f81848411156116995760405162461bcd60e51b8152600401610aa69190611d3b565b505f6116a58486611fcf565b95945050505050565b5f806116ba8385611fe2565b905083811015610a415760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610aa6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526008909152918220546117ab918490611676565b6001600160a01b038086165f9081526008602052604080822093909355908516815220546117d990836116ae565b6001600160a01b038085165f8181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061182c9086815260200190565b60405180910390a35060019392505050565b6016805460ff19166001179055600f54610100900460ff16156118605750600e545b4761186a82611a69565b5f6118754783611bf2565b905080156118b6576001546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156118b4573d5f803e3d5ffd5b505b50506016805460ff1916905550565b6001600160a01b0382165f908152600a602052604081205460ff168061190257506001600160a01b0382165f908152600a602052604090205460ff165b1561190f5750600161099b565b6001600160a01b0383165f908152600b602052604090205460ff168061194c57506001600160a01b0382165f908152600b602052604090205460ff165b1561195857505f61099b565b505f61099b565b6001600160a01b0383165f908152600b6020526040812054819060ff16156119a9576119a260125461199c60105486611c3390919063ffffffff16565b90611cb1565b90506119e7565b6001600160a01b0384165f908152600b602052604090205460ff16156119e7576119e460125461199c60115486611c3390919063ffffffff16565b90505b8015611a5f57305f90815260086020526040902054611a0690826116ae565b305f81815260086020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a569085815260200190565b60405180910390a35b6116a58382611bf2565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a9c57611a9c611ff5565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611af3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b179190612009565b81600181518110611b2a57611b2a611ff5565b6001600160a01b039283166020918202929092010152601354611b509130911684611174565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b889085905f90869030904290600401612066565b5f604051808303815f87803b158015611b9f575f80fd5b505af1158015611bb1573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611be69291906120a1565b60405180910390a15050565b5f610a4183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611676565b5f825f03611c4257505f61099b565b5f611c4d83856120c1565b905082611c5a85836120d8565b14610a415760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610aa6565b5f610a4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f8183611d0d5760405162461bcd60e51b8152600401610aa69190611d3b565b505f6116a584866120d8565b5f5b83811015611d33578181015183820152602001611d1b565b50505f910152565b602081525f8251806020840152611d59816040850160208701611d19565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611061575f80fd5b5f8060408385031215611d92575f80fd5b8235611d9d81611d6d565b946020939093013593505050565b5f805f60608486031215611dbd575f80fd5b8335611dc881611d6d565b92506020840135611dd881611d6d565b929592945050506040919091013590565b5f60208284031215611df9575f80fd5b8135610a4181611d6d565b80358015158114611e13575f80fd5b919050565b5f60208284031215611e28575f80fd5b610a4182611e04565b5f60208284031215611e41575f80fd5b5035919050565b5f8060408385031215611e59575f80fd5b8235611e6481611d6d565b9150611e7260208401611e04565b90509250929050565b5f805f60608486031215611e8d575f80fd5b83359250611e9d60208501611e04565b9150611eab60408501611e04565b90509250925092565b5f8060408385031215611ec5575f80fd5b8235611ed081611d6d565b91506020830135611ee081611d6d565b809150509250929050565b5f8060408385031215611efc575f80fd5b50508035926020909101359150565b600181811c90821680611f1f57607f821691505b602082108103611f3d57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600e908201526d24b73b30b634b21021b0b63632b960911b604082015260600190565b5f8251611fb1818460208701611d19565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561099b5761099b611fbb565b8082018082111561099b5761099b611fbb565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612019575f80fd5b8151610a4181611d6d565b5f8151808452602080850194508084015f5b8381101561205b5781516001600160a01b031687529582019590820190600101612036565b509495945050505050565b85815284602082015260a060408201525f61208460a0830186612024565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f6120b96040830184612024565b949350505050565b808202811582820484141761099b5761099b611fbb565b5f826120f257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205df54b25c1fb41d56d855518eeac393a2d2a4b1a57d6363f55502be978dedc0c64736f6c63430008150033

Deployed Bytecode Sourcemap

7299:12005:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8114:59;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8114:59:0;;;;;;;;10457:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;8437:31::-;;;;;;;;;;-1:-1:-1;8437:31:0;;;;-1:-1:-1;;;;;8437:31:0;;;;;;-1:-1:-1;;;;;1038:32:1;;;1020:51;;1008:2;993:18;8437:31:0;852:225:1;8681:81:0;;;;;;;;;;;;;;;11627:161;;;;;;;;;;-1:-1:-1;11627:161:0;;;;;:::i;:::-;;:::i;:::-;;;1911:14:1;;1904:22;1886:41;;1874:2;1859:18;11627:161:0;1746:187:1;8506:25:0;;;;;;;;;;-1:-1:-1;8506:25:0;;;;-1:-1:-1;;;8506:25:0;;;;;;10734:100;;;;;;;;;;-1:-1:-1;10814:12:0;;10734:100;;12401:297;;;;;;;;;;-1:-1:-1;12401:297:0;;;;;:::i;:::-;;:::i;8593:81::-;;;;;;;;;;;;;;;10643:83;;;;;;;;;;-1:-1:-1;10709:9:0;;10643:83;;10709:9;;;;2541:36:1;;2529:2;2514:18;10643:83:0;2399:184:1;11124:218:0;;;;;;;;;;-1:-1:-1;11124:218:0;;;;;:::i;:::-;;:::i;7946:45::-;;;;;;;;;;-1:-1:-1;7946:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17814:105;;;;;;;;;;-1:-1:-1;17814:105:0;;;;;:::i;:::-;;:::i;:::-;;8339:23;;;;;;;;;;;;;;;;7889:50;;;;;;;;;;-1:-1:-1;7889:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18435:101;;;;;;;;;;-1:-1:-1;18435:101:0;;;;;:::i;:::-;;:::i;8256:32::-;;;;;;;;;;-1:-1:-1;8256:32:0;;;;;;;;;;;18057:128;;;;;;;;;;-1:-1:-1;18057:128:0;;;;;:::i;:::-;;:::i;8182:30::-;;;;;;;;;;-1:-1:-1;8182:30:0;;;;;;;;10842:123;;;;;;;;;;-1:-1:-1;10842:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10934:18:0;10908:7;10934:18;;;:9;:18;;;;;;;10842:123;1967:94;;;;;;;;;;;;;:::i;18321:106::-;;;;;;;;;;-1:-1:-1;18321:106:0;;;;;:::i;:::-;;:::i;18548:118::-;;;;;;;;;;-1:-1:-1;18548:118:0;;;;;:::i;:::-;;:::i;17581:119::-;;;;;;;;;;;;;:::i;7612:59::-;;;;;;;;;;;;;;;;7688:56;;;;;;;;;;;;;;;;18911:176;;;;;;;;;;;;;:::i;8057:48::-;;;;;;;;;;-1:-1:-1;8057:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1658:87;;;;;;;;;;-1:-1:-1;1704:7:0;1731:6;-1:-1:-1;;;;;1731:6:0;1658:87;;10548;;;;;;;;;;;;;:::i;11350:269::-;;;;;;;;;;-1:-1:-1;11350:269:0;;;;;:::i;:::-;;:::i;12226:167::-;;;;;;;;;;-1:-1:-1;12226:167:0;;;;;:::i;:::-;;:::i;18193:120::-;;;;;;;;;;-1:-1:-1;18193:120:0;;;;;:::i;:::-;;:::i;18674:229::-;;;;;;;;;;-1:-1:-1;18674:229:0;;;;;:::i;:::-;;:::i;8539:25::-;;;;;;;;;;;;;;;;7384:32;;;;;;;;;;-1:-1:-1;7384:32:0;;;;-1:-1:-1;;;;;7384:32:0;;;19095:204;;;;;;;;;;-1:-1:-1;19095:204:0;;;;;:::i;:::-;;:::i;7998:52::-;;;;;;;;;;-1:-1:-1;7998:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8369:24;;;;;;;;;;;;;;;;17154:272;;;;;;;;;;-1:-1:-1;17154:272:0;;;;;:::i;:::-;;:::i;10973:143::-;;;;;;;;;;-1:-1:-1;10973:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11081:18:0;;;11054:7;11081:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10973:143;17927:122;;;;;;;;;;-1:-1:-1;17927:122:0;;;;;:::i;:::-;;:::i;16968:178::-;;;;;;;;;;;;;:::i;8219:30::-;;;;;;;;;;-1:-1:-1;8219:30:0;;;;;;;;;;;17708:98;;;;;;;;;;-1:-1:-1;17708:98:0;;;;;:::i;:::-;;:::i;8475:22::-;;;;;;;;;;-1:-1:-1;8475:22:0;;;;-1:-1:-1;;;;;8475:22:0;;;2069:229;;;;;;;;;;-1:-1:-1;2069:229:0;;;;;:::i;:::-;;:::i;8295:35::-;;;;;;;;;;-1:-1:-1;8295:35:0;;;;;;;;;;;17434:139;;;;;;;;;;-1:-1:-1;17434:139:0;;;;;:::i;:::-;;:::i;10457:83::-;10494:13;10527:5;10520:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10457:83;:::o;11627:161::-;11702:4;11719:39;305:10;11742:7;11751:6;11719:8;:39::i;:::-;-1:-1:-1;11776:4:0;11627:161;;;;;:::o;12401:297::-;12499:4;12516:36;12526:6;12534:9;12545:6;12516:9;:36::i;:::-;-1:-1:-1;12563:105:0;12572:6;305:10;12594:73;12632:6;12594:73;;;;;;;;;;;;;;;;;:11;:19;12606:6;-1:-1:-1;;;;;12594:19:0;-1:-1:-1;;;;;12594:19:0;;;;;;;;;;;;:33;12614:12;305:10;;225:98;12614:12;-1:-1:-1;;;;;12594:33:0;;;;;;;;;;;;-1:-1:-1;12594:33:0;;;:73;:37;:73::i;:::-;12563:8;:105::i;:::-;-1:-1:-1;12686:4:0;12401:297;;;;;;:::o;11124:218::-;305:10;11212:4;11261:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11261:34:0;;;;;;;;;;11212:4;;11229:83;;11252:7;;11261:50;;11300:10;11261:38;:50::i;17814:105::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;;;;;;;;;17885:16:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;17885:26:0;;::::1;::::0;;;::::1;::::0;;17814:105::o;18435:101::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;18505:12:::1;:23:::0;18435:101::o;18057:128::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18142:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:35;;-1:-1:-1;;18142:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18057:128::o;1967:94::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;2032:21:::1;2050:1;2032:9;:21::i;:::-;1967:94::o:0;18321:106::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;18398:10:::1;:21:::0;18321:106::o;18548:118::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;18628:17:::1;:30:::0;;-1:-1:-1;;;;;;18628:30:0::1;-1:-1:-1::0;;;;;18628:30:0;;;::::1;::::0;;;::::1;::::0;;18548:118::o;17581:119::-;8825:17;;-1:-1:-1;;;;;8825:17:0;8811:10;:31;8803:57;;;;-1:-1:-1;;;8803:57:0;;;;;;;:::i;:::-;17635:13:::1;:21:::0;;-1:-1:-1;;17667:25:0;;;17581:119::o;18911:176::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;18975:13:::1;::::0;-1:-1:-1;;;18975:13:0;::::1;;;18974:14;18966:41;;;::::0;-1:-1:-1;;;18966:41:0;;5953:2:1;18966:41:0::1;::::0;::::1;5935:21:1::0;5992:2;5972:18;;;5965:30;-1:-1:-1;;;6011:18:1;;;6004:44;6065:18;;18966:41:0::1;5751:338:1::0;18966:41:0::1;19020:13;:20:::0;;-1:-1:-1;;;;19020:20:0::1;-1:-1:-1::0;;;19020:20:0::1;::::0;;19064:15:::1;19051:10;:28:::0;18911:176::o;10548:87::-;10587:13;10620:7;10613:14;;;;;:::i;11350:269::-;11443:4;11460:129;305:10;11483:7;11492:96;11531:15;11492:96;;;;;;;;;;;;;;;;;305:10;11492:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11492:34:0;;;;;;;;;;;;:38;:96::i;12226:167::-;12304:4;12321:42;305:10;12345:9;12356:6;12321:9;:42::i;18193:120::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18274:21:0;;;::::1;;::::0;;;:15:::1;:21;::::0;;;;:31;;-1:-1:-1;;18274:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18193:120::o;18674:229::-;8825:17;;-1:-1:-1;;;;;8825:17:0;8811:10;:31;8803:57;;;;-1:-1:-1;;;8803:57:0;;;;;;;:::i;:::-;18803:11:::1;:22:::0;;-1:-1:-1;;18836:22:0;18803;::::1;;-1:-1:-1::0;;18836:22:0;;;;;18803::::1;18836::::0;::::1;;::::0;;;::::1;;::::0;;18869:13:::1;:26:::0;18674:229::o;19095:204::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19177:19:0;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;19177:29:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;19217:75:::1;;-1:-1:-1::0;;;;;19244:26:0;::::1;;::::0;;;:19:::1;:26;::::0;;;;:36;;-1:-1:-1;;19244:36:0::1;::::0;::::1;;;::::0;;19217:75:::1;19095:204:::0;;:::o;17154:272::-;8825:17;;-1:-1:-1;;;;;8825:17:0;8811:10;:31;8803:57;;;;-1:-1:-1;;;8803:57:0;;;;;;;:::i;:::-;17293:73:::1;::::0;-1:-1:-1;;;;;6286:32:1;;;17293:73:0::1;::::0;::::1;6268:51:1::0;6335:18;;;6328:34;;;17254:12:0::1;::::0;17272:20;;::::1;::::0;6241:18:1;;17293:73:0::1;::::0;;-1:-1:-1;;17293:73:0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;17293:73:0::1;-1:-1:-1::0;;;17293:73:0::1;::::0;;17272:95;::::1;::::0;17293:73;17272:95:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17253:114;;;17386:7;17378:40;;;::::0;-1:-1:-1;;;17378:40:0;;6867:2:1;17378:40:0::1;::::0;::::1;6849:21:1::0;6906:2;6886:18;;;6879:30;-1:-1:-1;;;6925:18:1;;;6918:50;6985:18;;17378:40:0::1;6665:344:1::0;17378:40:0::1;17242:184;17154:272:::0;;;:::o;17927:122::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18008:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:33;;-1:-1:-1;;18008:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17927:122::o;16968:178::-;8825:17;;-1:-1:-1;;;;;8825:17:0;8811:10;:31;8803:57;;;;-1:-1:-1;;;8803:57:0;;;;;;;:::i;:::-;17035:58:::1;::::0;17023:7:::1;::::0;17043:10:::1;::::0;17067:21:::1;::::0;17023:7;17035:58;17023:7;17035:58;17067:21;17043:10;17035:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17022:71;;;17112:2;17104:34;;;::::0;-1:-1:-1;;;17104:34:0;;7426:2:1;17104:34:0::1;::::0;::::1;7408:21:1::0;7465:2;7445:18;;;7438:30;-1:-1:-1;;;7484:18:1;;;7477:50;7544:18;;17104:34:0::1;7224:344:1::0;17104:34:0::1;17010:136;16968:178::o:0;17708:98::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;17775:13:::1;:23:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;17775:23:0;;::::1;::::0;;;::::1;::::0;;17708:98::o;2069:229::-;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2172:22:0;::::1;2150:110;;;::::0;-1:-1:-1;;;2150:110:0;;7775:2:1;2150:110:0::1;::::0;::::1;7757:21:1::0;7814:2;7794:18;;;7787:30;7853:34;7833:18;;;7826:62;-1:-1:-1;;;7904:18:1;;;7897:36;7950:19;;2150:110:0::1;7573:402:1::0;2150:110:0::1;2271:19;2281:8;2271:9;:19::i;17434:139::-:0;1704:7;1731:6;-1:-1:-1;;;;;1731:6:0;305:10;1879:23;1871:68;;;;-1:-1:-1;;;1871:68:0;;;;;;;:::i;:::-;17518:6:::1;:17:::0;;;;17546:7:::1;:19:::0;17434:139::o;11796:337::-;-1:-1:-1;;;;;11889:19:0;;11881:68;;;;-1:-1:-1;;;11881:68:0;;8182:2:1;11881:68:0;;;8164:21:1;8221:2;8201:18;;;8194:30;8260:34;8240:18;;;8233:62;-1:-1:-1;;;8311:18:1;;;8304:34;8355:19;;11881:68:0;7980:400:1;11881:68:0;-1:-1:-1;;;;;11968:21:0;;11960:68;;;;-1:-1:-1;;;11960:68:0;;8587:2:1;11960:68:0;;;8569:21:1;8626:2;8606:18;;;8599:30;8665:34;8645:18;;;8638:62;-1:-1:-1;;;8716:18:1;;;8709:32;8758:19;;11960:68:0;8385:398:1;11960:68:0;-1:-1:-1;;;;;12041:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12093:32;;160:25:1;;;12093:32:0;;133:18:1;12093:32:0;;;;;;;11796:337;;;:::o;12706:1761::-;12793:4;-1:-1:-1;;;;;12820:20:0;;12812:29;;;;;;-1:-1:-1;;;;;12860:23:0;;12852:32;;;;;;12912:1;12903:6;:10;12895:19;;;;;;12935:6;;;;12931:1527;;;12965:41;12980:6;12988:9;12999:6;12965:14;:41::i;:::-;12958:48;;;;12931:1527;13054:13;;-1:-1:-1;;;13054:13:0;;;;13050:139;;-1:-1:-1;;;;;13096:25:0;;;;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;13125:28:0;;;;;;:17;:28;;;;;;;;13096:57;13088:84;;;;-1:-1:-1;;;13088:84:0;;8990:2:1;13088:84:0;;;8972:21:1;9029:2;9009:18;;;9002:30;-1:-1:-1;;;9048:18:1;;;9041:44;9102:18;;13088:84:0;8788:338:1;13088:84:0;13254:4;13205:28;10934:18;;;:9;:18;;;;;;13330:13;;13306:37;;;;;;;13382:52;;-1:-1:-1;13428:6:0;;;;13427:7;13382:52;:95;;;;-1:-1:-1;;;;;;13457:20:0;;;;;;:12;:20;;;;;;;;13456:21;13382:95;:128;;;;-1:-1:-1;13499:11:0;;;;13382:128;:175;;;;-1:-1:-1;;;;;;13532:25:0;;;;;;:17;:25;;;;;;;;13531:26;13382:175;:225;;;;-1:-1:-1;;;;;;13579:28:0;;;;;;:17;:28;;;;;;;;13578:29;13382:225;13360:332;;;13646:30;13655:20;13646:8;:30::i;:::-;-1:-1:-1;;;;;13712:23:0;;;;;;:15;:23;;;;;;;;13711:24;:55;;;;-1:-1:-1;;;;;;13740:26:0;;;;;;:15;:26;;;;;;;;13739:27;13711:55;:72;;;;-1:-1:-1;13770:13:0;;;;;;;13711:72;13708:166;;;13822:12;;13812:6;:22;;13804:54;;;;-1:-1:-1;;;13804:54:0;;9333:2:1;13804:54:0;;;9315:21:1;9372:2;9352:18;;;9345:30;-1:-1:-1;;;9391:18:1;;;9384:49;9450:18;;13804:54:0;9131:343:1;13804:54:0;13923:53;;;;;;;;;;;-1:-1:-1;;;13923:53:0;;;;;;;;-1:-1:-1;;;;;13923:17:0;;-1:-1:-1;13923:17:0;;;:9;:17;;;;;;;;:53;;13945:6;;13923:21;:53::i;:::-;-1:-1:-1;;;;;13903:17:0;;;;;;:9;:17;;;;;:73;;;;14015:34;13913:6;14039:9;14015:16;:34::i;:::-;:80;;14061:34;14069:6;14077:9;14088:6;14061:7;:34::i;:::-;14015:80;;;14052:6;14015:80;14115:16;;13993:102;;-1:-1:-1;14115:16:0;;;;;:51;;;;-1:-1:-1;;;;;;14136:30:0;;;;;;:19;:30;;;;;;;;14135:31;14115:51;14112:168;;;14236:10;;14195:37;14220:11;14195:20;14205:9;-1:-1:-1;;;;;10934:18:0;10908:7;10934:18;;;:9;:18;;;;;;;10842:123;14195:20;:24;;:37::i;:::-;:51;;14187:77;;;;-1:-1:-1;;;14187:77:0;;9681:2:1;14187:77:0;;;9663:21:1;9720:2;9700:18;;;9693:30;-1:-1:-1;;;9739:18:1;;;9732:44;9793:18;;14187:77:0;9479:338:1;14187:77:0;-1:-1:-1;;;;;14319:20:0;;;;;;:9;:20;;;;;;:37;;14344:11;14319:24;:37::i;:::-;-1:-1:-1;;;;;14296:20:0;;;;;;;:9;:20;;;;;;;:60;;;;14378:40;;;;;;;;;;14406:11;160:25:1;;148:2;133:18;;14:177;14378:40:0;;;;;;;;14440:4;14433:11;;;;;;;2845:192;2931:7;2967:12;2959:6;;;;2951:29;;;;-1:-1:-1;;;2951:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2991:9:0;3003:5;3007:1;3003;:5;:::i;:::-;2991:17;2845:192;-1:-1:-1;;;;;2845:192:0:o;2512:181::-;2570:7;;2602:5;2606:1;2602;:5;:::i;:::-;2590:17;;2631:1;2626;:6;;2618:46;;;;-1:-1:-1;;;2618:46:0;;10419:2:1;2618:46:0;;;10401:21:1;10458:2;10438:18;;;10431:30;10497:29;10477:18;;;10470:57;10544:18;;2618:46:0;10217:351:1;2306:173:0;2362:16;2381:6;;-1:-1:-1;;;;;2398:17:0;;;-1:-1:-1;;;;;;2398:17:0;;;;;;2431:40;;2381:6;;;;;;;2431:40;;2362:16;2431:40;2351:128;2306:173;:::o;14475:330::-;14605:53;;;;;;;;;;;-1:-1:-1;;;14605:53:0;;;;;;;;-1:-1:-1;;;;;14605:17:0;;14568:4;14605:17;;;:9;:17;;;;;;;:53;;14627:6;;14605:21;:53::i;:::-;-1:-1:-1;;;;;14585:17:0;;;;;;;:9;:17;;;;;;:73;;;;14692:20;;;;;;;:32;;14717:6;14692:24;:32::i;:::-;-1:-1:-1;;;;;14669:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14740:35;;;;;;;;;;14768:6;160:25:1;;148:2;133:18;;14:177;14740:35:0;;;;;;;;-1:-1:-1;14793:4:0;14475:330;;;;;:::o;15894:408::-;8919:6;:13;;-1:-1:-1;;8919:13:0;8928:4;8919:13;;;15968:11:::1;::::0;8919:13;15968:11;::::1;8919:13:::0;15968:11:::1;15965:47;;;-1:-1:-1::0;15999:13:0::1;::::0;15965:47:::1;16050:21;16082:33;16099:15:::0;16082:16:::1;:33::i;:::-;16126:22;16151:41;:21;16177:14:::0;16151:25:::1;:41::i;:::-;16126:66:::0;-1:-1:-1;16208:18:0;;16205:87:::1;;16249:17;::::0;16241:51:::1;::::0;-1:-1:-1;;;;;16249:17:0;;::::1;::::0;16241:51;::::1;;;::::0;16277:14;;16249:17:::1;16241:51:::0;16249:17;16241:51;16277:14;16249:17;16241:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16205:87;-1:-1:-1::0;;8955:6:0;:14;;-1:-1:-1;;8955:14:0;;;-1:-1:-1;15894:408:0:o;14817:369::-;-1:-1:-1;;;;;14921:25:0;;14901:4;14921:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;14950:28:0;;;;;;:17;:28;;;;;;;;14921:57;14918:261;;;-1:-1:-1;15002:4:0;14995:11;;14918:261;-1:-1:-1;;;;;15037:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;15061:23:0;;;;;;:12;:23;;;;;;;;15037:47;15033:146;;;-1:-1:-1;15108:5:0;15101:12;;15033:146;-1:-1:-1;15162:5:0;15155:12;;15194:690;-1:-1:-1;;;;;15367:20:0;;15280:7;15367:20;;;:12;:20;;;;;;15280:7;;15367:20;;15364:246;;;15421:38;15444:14;;15421:18;15432:6;;15421;:10;;:18;;;;:::i;:::-;:22;;:38::i;:::-;15409:50;;15364:246;;;-1:-1:-1;;;;;15498:23:0;;;;;;:12;:23;;;;;;;;15495:115;;;15555:39;15579:14;;15555:19;15566:7;;15555:6;:10;;:19;;;;:::i;:39::-;15543:51;;15495:115;15629:13;;15626:185;;15708:4;15690:24;;;;:9;:24;;;;;;:39;;15719:9;15690:28;:39::i;:::-;15681:4;15663:24;;;;:9;:24;;;;;;;:66;;;;15753:42;;-1:-1:-1;;;;;15753:42:0;;;;;;;15785:9;160:25:1;;148:2;133:18;;14:177;15753:42:0;;;;;;;;15626:185;15834:21;:6;15845:9;15834:10;:21::i;16312:648::-;16462:16;;;16476:1;16462:16;;;;;;;;16438:21;;16462:16;;;;;;;;;;-1:-1:-1;16462:16:0;16438:40;;16507:4;16489;16494:1;16489:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16489:23:0;;;:7;;;;;;;;;;:23;;;;16533:9;;:16;;;-1:-1:-1;;;16533:16:0;;;;:9;;;;;:14;;:16;;;;;16489:7;;16533:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16523:4;16528:1;16523:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16523:26:0;;;:7;;;;;;;;;:26;16594:9;;16562:56;;16579:4;;16594:9;16606:11;16562:8;:56::i;:::-;16657:9;;:234;;-1:-1:-1;;;16657:234:0;;-1:-1:-1;;;;;16657:9:0;;;;:60;;:234;;16732:11;;16657:9;;16802:4;;16829;;16865:15;;16657:234;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16917:35;16934:11;16947:4;16917:35;;;;;;;:::i;:::-;;;;;;;;16367:593;16312:648;:::o;2701:136::-;2759:7;2786:43;2790:1;2793;2786:43;;;;;;;;;;;;;;;;;:3;:43::i;3045:250::-;3103:7;3127:1;3132;3127:6;3123:47;;-1:-1:-1;3157:1:0;3150:8;;3123:47;3182:9;3194:5;3198:1;3194;:5;:::i;:::-;3182:17;-1:-1:-1;3227:1:0;3218:5;3222:1;3182:17;3218:5;:::i;:::-;:10;3210:56;;;;-1:-1:-1;;;3210:56:0;;13080:2:1;3210:56:0;;;13062:21:1;13119:2;13099:18;;;13092:30;13158:34;13138:18;;;13131:62;-1:-1:-1;;;13209:18:1;;;13202:31;13250:19;;3210:56:0;12878:397:1;3303:132:0;3361:7;3388:39;3392:1;3395;3388:39;;;;;;;;;;;;;;;;;3529:7;3564:12;3557:5;3549:28;;;;-1:-1:-1;;;3549:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3588:9:0;3600:5;3604:1;3600;:5;:::i;196:250:1:-;281:1;291:113;305:6;302:1;299:13;291:113;;;381:11;;;375:18;362:11;;;355:39;327:2;320:10;291:113;;;-1:-1:-1;;438:1:1;420:16;;413:27;196:250::o;451:396::-;600:2;589:9;582:21;563:4;632:6;626:13;675:6;670:2;659:9;655:18;648:34;691:79;763:6;758:2;747:9;743:18;738:2;730:6;726:15;691:79;:::i;:::-;831:2;810:15;-1:-1:-1;;806:29:1;791:45;;;;838:2;787:54;;451:396;-1:-1:-1;;451:396:1:o;1290:131::-;-1:-1:-1;;;;;1365:31:1;;1355:42;;1345:70;;1411:1;1408;1401:12;1426:315;1494:6;1502;1555:2;1543:9;1534:7;1530:23;1526:32;1523:52;;;1571:1;1568;1561:12;1523:52;1610:9;1597:23;1629:31;1654:5;1629:31;:::i;:::-;1679:5;1731:2;1716:18;;;;1703:32;;-1:-1:-1;;;1426:315:1:o;1938:456::-;2015:6;2023;2031;2084:2;2072:9;2063:7;2059:23;2055:32;2052:52;;;2100:1;2097;2090:12;2052:52;2139:9;2126:23;2158:31;2183:5;2158:31;:::i;:::-;2208:5;-1:-1:-1;2265:2:1;2250:18;;2237:32;2278:33;2237:32;2278:33;:::i;:::-;1938:456;;2330:7;;-1:-1:-1;;;2384:2:1;2369:18;;;;2356:32;;1938:456::o;2588:247::-;2647:6;2700:2;2688:9;2679:7;2675:23;2671:32;2668:52;;;2716:1;2713;2706:12;2668:52;2755:9;2742:23;2774:31;2799:5;2774:31;:::i;2840:160::-;2905:20;;2961:13;;2954:21;2944:32;;2934:60;;2990:1;2987;2980:12;2934:60;2840:160;;;:::o;3005:180::-;3061:6;3114:2;3102:9;3093:7;3089:23;3085:32;3082:52;;;3130:1;3127;3120:12;3082:52;3153:26;3169:9;3153:26;:::i;3190:180::-;3249:6;3302:2;3290:9;3281:7;3277:23;3273:32;3270:52;;;3318:1;3315;3308:12;3270:52;-1:-1:-1;3341:23:1;;3190:180;-1:-1:-1;3190:180:1:o;3375:315::-;3440:6;3448;3501:2;3489:9;3480:7;3476:23;3472:32;3469:52;;;3517:1;3514;3507:12;3469:52;3556:9;3543:23;3575:31;3600:5;3575:31;:::i;:::-;3625:5;-1:-1:-1;3649:35:1;3680:2;3665:18;;3649:35;:::i;:::-;3639:45;;3375:315;;;;;:::o;3695:316::-;3766:6;3774;3782;3835:2;3823:9;3814:7;3810:23;3806:32;3803:52;;;3851:1;3848;3841:12;3803:52;3887:9;3874:23;3864:33;;3916:35;3947:2;3936:9;3932:18;3916:35;:::i;:::-;3906:45;;3970:35;4001:2;3990:9;3986:18;3970:35;:::i;:::-;3960:45;;3695:316;;;;;:::o;4016:388::-;4084:6;4092;4145:2;4133:9;4124:7;4120:23;4116:32;4113:52;;;4161:1;4158;4151:12;4113:52;4200:9;4187:23;4219:31;4244:5;4219:31;:::i;:::-;4269:5;-1:-1:-1;4326:2:1;4311:18;;4298:32;4339:33;4298:32;4339:33;:::i;:::-;4391:7;4381:17;;;4016:388;;;;;:::o;4409:248::-;4477:6;4485;4538:2;4526:9;4517:7;4513:23;4509:32;4506:52;;;4554:1;4551;4544:12;4506:52;-1:-1:-1;;4577:23:1;;;4647:2;4632:18;;;4619:32;;-1:-1:-1;4409:248:1:o;4662:380::-;4741:1;4737:12;;;;4784;;;4805:61;;4859:4;4851:6;4847:17;4837:27;;4805:61;4912:2;4904:6;4901:14;4881:18;4878:38;4875:161;;4958:10;4953:3;4949:20;4946:1;4939:31;4993:4;4990:1;4983:15;5021:4;5018:1;5011:15;4875:161;;4662:380;;;:::o;5047:356::-;5249:2;5231:21;;;5268:18;;;5261:30;5327:34;5322:2;5307:18;;5300:62;5394:2;5379:18;;5047:356::o;5408:338::-;5610:2;5592:21;;;5649:2;5629:18;;;5622:30;-1:-1:-1;;;5683:2:1;5668:18;;5661:44;5737:2;5722:18;;5408:338::o;6373:287::-;6502:3;6540:6;6534:13;6556:66;6615:6;6610:3;6603:4;6595:6;6591:17;6556:66;:::i;:::-;6638:16;;;;;6373:287;-1:-1:-1;;6373:287:1:o;9822:127::-;9883:10;9878:3;9874:20;9871:1;9864:31;9914:4;9911:1;9904:15;9938:4;9935:1;9928:15;9954:128;10021:9;;;10042:11;;;10039:37;;;10056:18;;:::i;10087:125::-;10152:9;;;10173:10;;;10170:36;;;10186:18;;:::i;10705:127::-;10766:10;10761:3;10757:20;10754:1;10747:31;10797:4;10794:1;10787:15;10821:4;10818:1;10811:15;10837:251;10907:6;10960:2;10948:9;10939:7;10935:23;10931:32;10928:52;;;10976:1;10973;10966:12;10928:52;11008:9;11002:16;11027:31;11052:5;11027:31;:::i;11093:461::-;11146:3;11184:5;11178:12;11211:6;11206:3;11199:19;11237:4;11266:2;11261:3;11257:12;11250:19;;11303:2;11296:5;11292:14;11324:1;11334:195;11348:6;11345:1;11342:13;11334:195;;;11413:13;;-1:-1:-1;;;;;11409:39:1;11397:52;;11469:12;;;;11504:15;;;;11445:1;11363:9;11334:195;;;-1:-1:-1;11545:3:1;;11093:461;-1:-1:-1;;;;;11093:461:1:o;11559:582::-;11858:6;11847:9;11840:25;11901:6;11896:2;11885:9;11881:18;11874:34;11944:3;11939:2;11928:9;11924:18;11917:31;11821:4;11965:57;12017:3;12006:9;12002:19;11994:6;11965:57;:::i;:::-;-1:-1:-1;;;;;12058:32:1;;;;12053:2;12038:18;;12031:60;-1:-1:-1;12122:3:1;12107:19;12100:35;11957:65;11559:582;-1:-1:-1;;;11559:582:1:o;12146:332::-;12353:6;12342:9;12335:25;12396:2;12391;12380:9;12376:18;12369:30;12316:4;12416:56;12468:2;12457:9;12453:18;12445:6;12416:56;:::i;:::-;12408:64;12146:332;-1:-1:-1;;;;12146:332:1:o;12483:168::-;12556:9;;;12587;;12604:15;;;12598:22;;12584:37;12574:71;;12625:18;;:::i;12656:217::-;12696:1;12722;12712:132;;12766:10;12761:3;12757:20;12754:1;12747:31;12801:4;12798:1;12791:15;12829:4;12826:1;12819:15;12712:132;-1:-1:-1;12858:9:1;;12656:217::o

Swarm Source

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