ETH Price: $3,398.89 (-1.75%)
Gas: 5 Gwei

Token

Dickslap Inu (DICK)
 

Overview

Max Total Supply

100,000,000 DICK

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
memecoinwallet.eth
Balance
0.00000000000423431 DICK

Value
$0.00
0xa90d2ca8afb0ce11830c6d0ef2864fcbdc7fff3c
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:
DickslapInu

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**

https://t.me/DickslapInu

https://twitter.com/d1ckslapinu

*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

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

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
    unchecked {
        _approve(sender, _msgSender(), currentAllowance - amount);
    }

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
    unchecked {
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
    }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
    unchecked {
        _balances[sender] = senderBalance - amount;
    }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _createInitialSupply(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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);
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() external virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
    external
    payable
    returns (
        uint256 amountToken,
        uint256 amountETH,
        uint256 liquidity
    );
}

interface IDexFactory {
    function createPair(address tokenA, address tokenB)
    external
    returns (address pair);
}

contract DickslapInu is ERC20, Ownable {

    uint256 public maxBuyAmount;
    uint256 public maxSellAmount;
    uint256 public maxWalletAmount;

    IDexRouter public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;

    bool private swapping;
    uint256 public swapTokensAtAmount;

    address public DickslapdevAddress;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;

    uint256 public buyTotalFees;
    uint256 public buyDickslapdevFee;
    uint256 public buyLiquidityFee;

    uint256 public sellTotalFees;
    uint256 public sellDickslapdevFee;
    uint256 public sellLiquidityFee;

    uint256 public tokensForDickslapdev;
    uint256 public tokensForLiquidity;

    // exlcude from fees and max transaction amount
    mapping (address => bool) private _isExcludedFromFees;
    mapping (address => bool) public _isExcludedMaxTransactionAmount;

    // store addresses that a automatic market maker pairs. Any transfer *to* these addresses
    // could be subject to a maximum transfer amount
    mapping (address => bool) public automatedMarketMakerPairs;

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    event EnabledTrading(bool tradingActive);
    event RemovedLimits();
    event ExcludeFromFees(address indexed account, bool isExcluded);
    event UpdatedMaxBuyAmount(uint256 newAmount);
    event UpdatedMaxSellAmount(uint256 newAmount);
    event UpdatedMaxWalletAmount(uint256 newAmount);
    event UpdatedDickslapdevAddress(address indexed newWallet);
    event UpdatedRewardsAddress(address indexed newWallet);
    event MaxTransactionExclusion(address _address, bool excluded);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiquidity
    );

    constructor() ERC20("Dickslap Inu", "DICK") {

        address newOwner = msg.sender; 

        IDexRouter _uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IDexFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 totalSupply = 100000000 * 1e18;

        maxBuyAmount = totalSupply *  30 / 1000;
        maxSellAmount = totalSupply *  30 / 1000;
        maxWalletAmount = totalSupply * 30 / 1000;
        swapTokensAtAmount = totalSupply * 50 / 100000; 

        buyDickslapdevFee = 10;
        buyLiquidityFee = 0;
        buyTotalFees = buyDickslapdevFee + buyLiquidityFee;

        sellDickslapdevFee = 10;
        sellLiquidityFee = 0;
        sellTotalFees = sellDickslapdevFee + sellLiquidityFee;

        _excludeFromMaxTransaction(newOwner, true);
        _excludeFromMaxTransaction(address(this), true);
        _excludeFromMaxTransaction(address(0xdead), true);

        DickslapdevAddress = address(0xC2302D724Cc357f42F36E52160B8D6d607952C84);

        excludeFromFees(newOwner, true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);

        _createInitialSupply(newOwner, totalSupply);
        transferOwnership(newOwner);
    }

    receive() external payable {}

    function changeMaxBuyAmount(uint256 newNum) external onlyOwner {
        require(newNum >= (totalSupply() * 1 / 1000)/1e18, "Cannot set max buy amount lower than 0.1%");
        maxBuyAmount = newNum * (10**18);
        emit UpdatedMaxBuyAmount(maxBuyAmount);
    }

    function changeMaxSellAmount(uint256 newNum) external onlyOwner {
        require(newNum >= (totalSupply() * 1 / 1000)/1e18, "Cannot set max sell amount lower than 0.1%");
        maxSellAmount = newNum * (10**18);
        emit UpdatedMaxSellAmount(maxSellAmount);
    }

    // remove limits after token is stable
    function setNoLimits() external onlyOwner {
        limitsInEffect = false;
        emit RemovedLimits();
    }

    function _excludeFromMaxTransaction(address updAds, bool isExcluded) private {
        _isExcludedMaxTransactionAmount[updAds] = isExcluded;
        emit MaxTransactionExclusion(updAds, isExcluded);
    }

    function excludeFromMaxTransaction(address updAds, bool isEx) external onlyOwner {
        if(!isEx){
            require(updAds != uniswapV2Pair, "Cannot remove uniswap pair from max txn");
        }
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function changeMaxWalletAmount(uint256 newNum) external onlyOwner {
        require(newNum >= (totalSupply() * 3 / 1000)/1e18, "Cannot set max wallet amount lower than 0.3%");
        maxWalletAmount = newNum * (10**18);
        emit UpdatedMaxWalletAmount(maxWalletAmount);
    }

    // change the minimum amount of tokens to sell from fees
    function setSwapTokensAtAmount(uint256 newAmount) external onlyOwner {
        require(newAmount >= totalSupply() * 1 / 100000, "Swap amount cannot be lower than 0.001% total supply.");
        require(newAmount <= totalSupply() * 1 / 1000, "Swap amount cannot be higher than 0.1% total supply.");
        swapTokensAtAmount = newAmount;

    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function _transfer(address from, address to, uint256 amount) internal override {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "amount must be greater than 0");

        if(limitsInEffect){
            if (from != owner() && to != owner() && to != address(0) && to != address(0xdead)){
                if(!tradingActive){
                    require(_isExcludedMaxTransactionAmount[from] || _isExcludedMaxTransactionAmount[to], "Trading is not active.");
                    require(from == owner(), "Trading is enabled");
                }

                //when buy
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                    require(amount <= maxBuyAmount, "Buy transfer amount exceeds the max buy.");
                    require(amount + balanceOf(to) <= maxWalletAmount, "Cannot Exceed max wallet");
                }
                //when sell
                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxSellAmount, "Sell transfer amount exceeds the max sell.");
                }
                else if (!_isExcludedMaxTransactionAmount[to] && !_isExcludedMaxTransactionAmount[from]){
                    require(amount + balanceOf(to) <= maxWalletAmount, "Cannot Exceed max wallet");
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if(canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;
            swapBack();
            swapping = false;
        }

        bool takeFee = true;
        // if any account belongs to _isExcludedFromFee account then remove the fee
        if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        // only take fees on Trades, not on wallet transfers

        if(takeFee){
            // on sell
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0){
                fees = amount * sellTotalFees /100;
                tokensForLiquidity += fees * sellLiquidityFee / sellTotalFees;
                tokensForDickslapdev += fees * sellDickslapdevFee / sellTotalFees;
            }
            // on buy
            else if(automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = amount * buyTotalFees / 100;
                tokensForLiquidity += fees * buyLiquidityFee / buyTotalFees;
                tokensForDickslapdev += fees * buyDickslapdevFee / buyTotalFees;
            }

            if(fees > 0){
                super._transfer(from, address(this), fees);
            }

            amount -= fees;
        }

        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {

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

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

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

    function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");

        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;

        _excludeFromMaxTransaction(pair, value);

        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function startDickslapping(bool _status) external onlyOwner {
        require(!tradingActive, "Cannot re enable trading");
        tradingActive = _status;
        swapEnabled = true;
        emit EnabledTrading(tradingActive);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(owner()),
            block.timestamp
        );

    }

    function setDickslapdevAddress(address _DickslapdevAddress) external onlyOwner {
        require(_DickslapdevAddress != address(0), "_DickslapdevAddress address cannot be 0");
        DickslapdevAddress = payable(_DickslapdevAddress);
        emit UpdatedDickslapdevAddress(_DickslapdevAddress);
    }

   
    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForLiquidity + tokensForDickslapdev;

        if(contractBalance == 0 || totalTokensToSwap == 0) {return;}

        if(contractBalance > swapTokensAtAmount * 10){
            contractBalance = swapTokensAtAmount * 10;
        }

        bool success;

        uint256 liquidityTokens = contractBalance * tokensForLiquidity / totalTokensToSwap / 2;

        swapTokensForEth(contractBalance - liquidityTokens);

        uint256 ethBalance = address(this).balance;
        uint256 ethForLiquidity = ethBalance;

        uint256 ethForDickslapdev = ethBalance * tokensForDickslapdev / (totalTokensToSwap - (tokensForLiquidity/2));

        ethForLiquidity -= ethForDickslapdev;

        tokensForLiquidity = 0;
        tokensForDickslapdev = 0;

        if(liquidityTokens > 0 && ethForLiquidity > 0){
            addLiquidity(liquidityTokens, ethForLiquidity);
        }

        (success,) = address(DickslapdevAddress).call{value: address(this).balance}("");
    }

    function LockLPToken(address _token) external onlyOwner {
        if (_token == address(0x0)) {
            payable(owner()).transfer(address(this).balance);
            return;
        }
        IERC20 erc20token = IERC20(_token);
        uint256 balance = erc20token.balanceOf(address(this));
        erc20token.transfer(owner(), balance);
    }
    
}

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":"bool","name":"tradingActive","type":"bool"}],"name":"EnabledTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"}],"name":"UpdatedDickslapdevAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxBuyAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxSellAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxWalletAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"}],"name":"UpdatedRewardsAddress","type":"event"},{"inputs":[],"name":"DickslapdevAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"LockLPToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDickslapdevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"changeMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"changeMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"changeMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","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":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDickslapdevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_DickslapdevAddress","type":"address"}],"name":"setDickslapdevAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setNoLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"startDickslapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDickslapdev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600b805462ffffff60a01b1916600160a01b1790553480156200002657600080fd5b506040518060400160405280600c81526020016b4469636b736c617020496e7560a01b815250604051806040016040528060048152602001634449434b60e01b81525081600390816200007a9190620007d3565b506004620000898282620007d3565b50505060006200009e620003cb60201b60201c565b600580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020620032d9833981519152908290a35033737a250d5630b4cf539739df2c5dacb4c659f2488d620000fe816001620003cf565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000149573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016f91906200089f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e391906200089f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025791906200089f565b6001600160a01b031660a08190526200027290600162000432565b6a52b7d2dcc80cd2e40000006103e86200028e82601e620008e7565b6200029a919062000907565b6006556103e8620002ad82601e620008e7565b620002b9919062000907565b6007556103e8620002cc82601e620008e7565b620002d8919062000907565b600855620186a0620002ec826032620008e7565b620002f8919062000907565b600a908155600d8190556000600e81905562000314916200092a565b600c55600a60108190556000601181905562000330916200092a565b600f5562000340836001620003cf565b6200034d306001620003cf565b6200035c61dead6001620003cf565b600b80546001600160a01b03191673c2302d724cc357f42f36e52160b8d6d607952c841790556200038f8360016200049e565b6200039c3060016200049e565b620003ab61dead60016200049e565b620003b783826200054c565b620003c28362000631565b50505062000940565b3390565b6001600160a01b038216600081815260156020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b6001600160a01b0382166000908152601660205260409020805460ff1916821515179055620004628282620003cf565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b03163314620004ed5760405162461bcd60e51b81526020600482018190526024820152600080516020620032b983398151915260448201526064015b60405180910390fd5b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620005a45760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004e4565b8060026000828254620005b891906200092a565b90915550506001600160a01b03821660009081526020819052604081208054839290620005e79084906200092a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b031633146200067c5760405162461bcd60e51b81526020600482018190526024820152600080516020620032b98339815191526044820152606401620004e4565b6001600160a01b038116620006e35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620004e4565b6005546040516001600160a01b03808416921690600080516020620032d983398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200075957607f821691505b6020821081036200077a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007ce57600081815260208120601f850160051c81016020861015620007a95750805b601f850160051c820191505b81811015620007ca57828155600101620007b5565b5050505b505050565b81516001600160401b03811115620007ef57620007ef6200072e565b620008078162000800845462000744565b8462000780565b602080601f8311600181146200083f5760008415620008265750858301515b600019600386901b1c1916600185901b178555620007ca565b600085815260208120601f198616915b8281101562000870578886015182559484019460019091019084016200084f565b50858210156200088f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620008b257600080fd5b81516001600160a01b0381168114620008ca57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620009015762000901620008d1565b92915050565b6000826200092557634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620009015762000901620008d1565b60805160a051612922620009976000396000818161043e01528181610d690152610f6701526000818161031f0152818161226a015281816123230152818161235f015281816123d9015261240001526129226000f3fe6080604052600436106102765760003560e01c806381bfdcca1161014f578063bbc0c742116100c1578063e711b7691161007a578063e711b7691461079d578063eeae4c78146107bd578063f11a24d3146107d2578063f2fde38b146107e8578063f637434214610808578063fc8f613c1461081e57600080fd5b8063bbc0c742146106ca578063c0246668146106eb578063c80125d21461070b578063d85ba0631461072b578063dd62ed3e14610741578063e2f456051461078757600080fd5b80639a7a23d6116101135780639a7a23d614610604578063a457c2d714610624578063a9059cbb14610644578063aa4bde2814610664578063afa4f3b21461067a578063b62496f51461069a57600080fd5b806381bfdcca1461058557806388e765ff146105a55780638da5cb5b146105bb578063921dd4c2146105d957806395d89b41146105ef57600080fd5b806349bd5a5e116101e85780636a486a8e116101ac5780636a486a8e146104cd5780636ddd1713146104e357806370a0823114610504578063715018a61461053a5780637571336a1461054f578063819da28b1461056f57600080fd5b806349bd5a5e1461042c5780634a62bb65146104605780634bb17bce146104815780635b3222051461049757806366d602ae146104b757600080fd5b806319a62c871161023a57806319a62c87146103785780631a8145bb1461039a5780631d5cd545146103b057806323b872dd146103d0578063313ce567146103f0578063395093511461040c57600080fd5b806306fdde0314610282578063095ea7b3146102ad57806310d5de53146102dd5780631694505e1461030d57806318160ddd1461035957600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b5061029761083e565b6040516102a491906124d9565b60405180910390f35b3480156102b957600080fd5b506102cd6102c836600461253c565b6108d0565b60405190151581526020016102a4565b3480156102e957600080fd5b506102cd6102f8366004612568565b60156020526000908152604090205460ff1681565b34801561031957600080fd5b506103417f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102a4565b34801561036557600080fd5b506002545b6040519081526020016102a4565b34801561038457600080fd5b50610398610393366004612568565b6108e7565b005b3480156103a657600080fd5b5061036a60135481565b3480156103bc57600080fd5b506103986103cb36600461258c565b6109ca565b3480156103dc57600080fd5b506102cd6103eb3660046125a5565b610ad7565b3480156103fc57600080fd5b50604051601281526020016102a4565b34801561041857600080fd5b506102cd61042736600461253c565b610b81565b34801561043857600080fd5b506103417f000000000000000000000000000000000000000000000000000000000000000081565b34801561046c57600080fd5b50600b546102cd90600160a01b900460ff1681565b34801561048d57600080fd5b5061036a60105481565b3480156104a357600080fd5b506103986104b236600461258c565b610bbd565b3480156104c357600080fd5b5061036a60075481565b3480156104d957600080fd5b5061036a600f5481565b3480156104ef57600080fd5b50600b546102cd90600160b01b900460ff1681565b34801561051057600080fd5b5061036a61051f366004612568565b6001600160a01b031660009081526020819052604090205490565b34801561054657600080fd5b50610398610cc4565b34801561055b57600080fd5b5061039861056a3660046125f4565b610d38565b34801561057b57600080fd5b5061036a60125481565b34801561059157600080fd5b506103986105a036600461258c565b610e23565b3480156105b157600080fd5b5061036a60065481565b3480156105c757600080fd5b506005546001600160a01b0316610341565b3480156105e557600080fd5b5061036a600d5481565b3480156105fb57600080fd5b50610297610f2c565b34801561061057600080fd5b5061039861061f3660046125f4565b610f3b565b34801561063057600080fd5b506102cd61063f36600461253c565b61101a565b34801561065057600080fd5b506102cd61065f36600461253c565b6110b3565b34801561067057600080fd5b5061036a60085481565b34801561068657600080fd5b5061039861069536600461258c565b6110c0565b3480156106a657600080fd5b506102cd6106b5366004612568565b60166020526000908152604090205460ff1681565b3480156106d657600080fd5b50600b546102cd90600160a81b900460ff1681565b3480156106f757600080fd5b506103986107063660046125f4565b61120b565b34801561071757600080fd5b50610398610726366004612568565b611294565b34801561073757600080fd5b5061036a600c5481565b34801561074d57600080fd5b5061036a61075c36600461262d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561079357600080fd5b5061036a600a5481565b3480156107a957600080fd5b506103986107b836600461265b565b61140d565b3480156107c957600080fd5b506103986114f8565b3480156107de57600080fd5b5061036a600e5481565b3480156107f457600080fd5b50610398610803366004612568565b61155a565b34801561081457600080fd5b5061036a60115481565b34801561082a57600080fd5b50600b54610341906001600160a01b031681565b60606003805461084d90612678565b80601f016020809104026020016040519081016040528092919081815260200182805461087990612678565b80156108c65780601f1061089b576101008083540402835291602001916108c6565b820191906000526020600020905b8154815290600101906020018083116108a957829003601f168201915b5050505050905090565b60006108dd338484611645565b5060015b92915050565b6005546001600160a01b0316331461091a5760405162461bcd60e51b8152600401610911906126b2565b60405180910390fd5b6001600160a01b0381166109805760405162461bcd60e51b815260206004820152602760248201527f5f4469636b736c61706465764164647265737320616464726573732063616e6e60448201526606f7420626520360cc1b6064820152608401610911565b600b80546001600160a01b0319166001600160a01b0383169081179091556040517fce6e44cad6e4539e49467ba2d57f623b00617d23e0e83d67b48d5575a838215d90600090a250565b6005546001600160a01b031633146109f45760405162461bcd60e51b8152600401610911906126b2565b670de0b6b3a76400006103e8610a0960025490565b610a149060016126fd565b610a1e9190612714565b610a289190612714565b811015610a895760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e312560b81b6064820152608401610911565b610a9b81670de0b6b3a76400006126fd565b60068190556040519081527ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de41009906020015b60405180910390a150565b6000610ae4848484611769565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610b695760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610911565b610b768533858403611645565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916108dd918590610bb8908690612736565b611645565b6005546001600160a01b03163314610be75760405162461bcd60e51b8152600401610911906126b2565b670de0b6b3a76400006103e8610bfc60025490565b610c079060016126fd565b610c119190612714565b610c1b9190612714565b811015610c7d5760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015269207468616e20302e312560b01b6064820152608401610911565b610c8f81670de0b6b3a76400006126fd565b60078190556040519081527f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e90602001610acc565b6005546001600160a01b03163314610cee5760405162461bcd60e51b8152600401610911906126b2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610d625760405162461bcd60e51b8152600401610911906126b2565b80610df8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610df85760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b6064820152608401610911565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610e4d5760405162461bcd60e51b8152600401610911906126b2565b670de0b6b3a76400006103e8610e6260025490565b610e6d9060036126fd565b610e779190612714565b610e819190612714565b811015610ee55760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201526b6572207468616e20302e332560a01b6064820152608401610911565b610ef781670de0b6b3a76400006126fd565b60088190556040519081527fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc90602001610acc565b60606004805461084d90612678565b6005546001600160a01b03163314610f655760405162461bcd60e51b8152600401610911906126b2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361100c5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610911565b6110168282611e8c565b5050565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561109c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610911565b6110a93385858403611645565b5060019392505050565b60006108dd338484611769565b6005546001600160a01b031633146110ea5760405162461bcd60e51b8152600401610911906126b2565b620186a06110f760025490565b6111029060016126fd565b61110c9190612714565b8110156111795760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610911565b6103e861118560025490565b6111909060016126fd565b61119a9190612714565b8111156112065760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610911565b600a55565b6005546001600160a01b031633146112355760405162461bcd60e51b8152600401610911906126b2565b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146112be5760405162461bcd60e51b8152600401610911906126b2565b6001600160a01b038116611305576005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611016573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561134e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113729190612749565b9050816001600160a01b031663a9059cbb6113956005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156113e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114069190612762565b5050505b50565b6005546001600160a01b031633146114375760405162461bcd60e51b8152600401610911906126b2565b600b54600160a81b900460ff16156114915760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420726520656e61626c652074726164696e6700000000000000006044820152606401610911565b600b805460ff60b01b19831515600160a81b9081029190911661ffff60a81b1990921691909117600160b01b1791829055604051910460ff16151581527fe8a59d3db38e5220ac9d0f72590b7ac876e0916dc8f4db3e7614e6f91fe5208990602001610acc565b6005546001600160a01b031633146115225760405162461bcd60e51b8152600401610911906126b2565b600b805460ff60a01b191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b6005546001600160a01b031633146115845760405162461bcd60e51b8152600401610911906126b2565b6001600160a01b0381166115e95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610911565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166116a75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610911565b6001600160a01b0382166117085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610911565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661178f5760405162461bcd60e51b81526004016109119061277f565b6001600160a01b0382166117b55760405162461bcd60e51b8152600401610911906127c4565b600081116118055760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610911565b600b54600160a01b900460ff1615611bd8576005546001600160a01b0384811691161480159061184357506005546001600160a01b03838116911614155b801561185757506001600160a01b03821615155b801561186e57506001600160a01b03821661dead14155b15611bd857600b54600160a81b900460ff1661195a576001600160a01b03831660009081526015602052604090205460ff16806118c357506001600160a01b03821660009081526015602052604090205460ff165b6119085760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610911565b6005546001600160a01b0384811691161461195a5760405162461bcd60e51b8152602060048201526012602482015271151c98591a5b99c81a5cc8195b98589b195960721b6044820152606401610911565b6001600160a01b03831660009081526016602052604090205460ff16801561199b57506001600160a01b03821660009081526015602052604090205460ff16155b15611a7757600654811115611a035760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b6064820152608401610911565b6008546001600160a01b038316600090815260208190526040902054611a299083612736565b1115611a725760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610911565b611bd8565b6001600160a01b03821660009081526016602052604090205460ff168015611ab857506001600160a01b03831660009081526015602052604090205460ff16155b15611b2257600754811115611a725760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b6064820152608401610911565b6001600160a01b03821660009081526015602052604090205460ff16158015611b6457506001600160a01b03831660009081526015602052604090205460ff16155b15611bd8576008546001600160a01b038316600090815260208190526040902054611b8f9083612736565b1115611bd85760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610911565b30600090815260208190526040902054600a5481108015908190611c055750600b54600160b01b900460ff165b8015611c14575060095460ff16155b8015611c3957506001600160a01b03851660009081526016602052604090205460ff16155b8015611c5e57506001600160a01b03851660009081526014602052604090205460ff16155b8015611c8357506001600160a01b03841660009081526014602052604090205460ff16155b15611ca8576009805460ff19166001179055611c9d611ef6565b6009805460ff191690555b6001600160a01b03851660009081526014602052604090205460019060ff1680611cea57506001600160a01b03851660009081526014602052604090205460ff165b15611cf3575060005b60008115611e78576001600160a01b03861660009081526016602052604090205460ff168015611d2557506000600f54115b15611dad576064600f5486611d3a91906126fd565b611d449190612714565b9050600f5460115482611d5791906126fd565b611d619190612714565b60136000828254611d729190612736565b9091555050600f54601054611d8790836126fd565b611d919190612714565b60126000828254611da29190612736565b90915550611e5a9050565b6001600160a01b03871660009081526016602052604090205460ff168015611dd757506000600c54115b15611e5a576064600c5486611dec91906126fd565b611df69190612714565b9050600c54600e5482611e0991906126fd565b611e139190612714565b60136000828254611e249190612736565b9091555050600c54600d54611e3990836126fd565b611e439190612714565b60126000828254611e549190612736565b90915550505b8015611e6b57611e6b87308361205b565b611e758186612807565b94505b611e8387878761205b565b50505050505050565b6001600160a01b0382166000908152601660205260409020805460ff1916821515179055611eba82826121b0565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b3060009081526020819052604081205490506000601254601354611f1a9190612736565b9050811580611f27575080155b15611f30575050565b600a8054611f3d916126fd565b821115611f5457600a8054611f51916126fd565b91505b60008060028360135486611f6891906126fd565b611f729190612714565b611f7c9190612714565b9050611f90611f8b8286612807565b612213565b60135447908190600090611fa690600290612714565b611fb09087612807565b601254611fbd90856126fd565b611fc79190612714565b9050611fd38183612807565b6000601381905560125591508315801590611fee5750600082115b15611ffd57611ffd84836123d3565b600b546040516001600160a01b03909116904790600081818185875af1925050503d806000811461204a576040519150601f19603f3d011682016040523d82523d6000602084013e61204f565b606091505b50505050505050505050565b6001600160a01b0383166120815760405162461bcd60e51b81526004016109119061277f565b6001600160a01b0382166120a75760405162461bcd60e51b8152600401610911906127c4565b6001600160a01b0383166000908152602081905260409020548181101561211f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610911565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612156908490612736565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121a291815260200190565b60405180910390a350505050565b6001600160a01b038216600081815260156020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106122485761224861281a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ea9190612830565b816001815181106122fd576122fd61281a565b60200260200101906001600160a01b031690816001600160a01b031681525050612348307f000000000000000000000000000000000000000000000000000000000000000084611645565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061239d90859060009086903090429060040161284d565b600060405180830381600087803b1580156123b757600080fd5b505af11580156123cb573d6000803e3d6000fd5b505050505050565b6123fe307f000000000000000000000000000000000000000000000000000000000000000084611645565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7198230856000806124456005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156124ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124d291906128be565b5050505050565b600060208083528351808285015260005b81811015612506578581018301518582016040015282016124ea565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461140a57600080fd5b6000806040838503121561254f57600080fd5b823561255a81612527565b946020939093013593505050565b60006020828403121561257a57600080fd5b813561258581612527565b9392505050565b60006020828403121561259e57600080fd5b5035919050565b6000806000606084860312156125ba57600080fd5b83356125c581612527565b925060208401356125d581612527565b929592945050506040919091013590565b801515811461140a57600080fd5b6000806040838503121561260757600080fd5b823561261281612527565b91506020830135612622816125e6565b809150509250929050565b6000806040838503121561264057600080fd5b823561264b81612527565b9150602083013561262281612527565b60006020828403121561266d57600080fd5b8135612585816125e6565b600181811c9082168061268c57607f821691505b6020821081036126ac57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176108e1576108e16126e7565b60008261273157634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156108e1576108e16126e7565b60006020828403121561275b57600080fd5b5051919050565b60006020828403121561277457600080fd5b8151612585816125e6565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156108e1576108e16126e7565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561284257600080fd5b815161258581612527565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561289d5784516001600160a01b031683529383019391830191600101612878565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156128d357600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212202199a820a3e1813c1e34568899653dc66bfa61a755c004873102f9b28c12da8364736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Deployed Bytecode

0x6080604052600436106102765760003560e01c806381bfdcca1161014f578063bbc0c742116100c1578063e711b7691161007a578063e711b7691461079d578063eeae4c78146107bd578063f11a24d3146107d2578063f2fde38b146107e8578063f637434214610808578063fc8f613c1461081e57600080fd5b8063bbc0c742146106ca578063c0246668146106eb578063c80125d21461070b578063d85ba0631461072b578063dd62ed3e14610741578063e2f456051461078757600080fd5b80639a7a23d6116101135780639a7a23d614610604578063a457c2d714610624578063a9059cbb14610644578063aa4bde2814610664578063afa4f3b21461067a578063b62496f51461069a57600080fd5b806381bfdcca1461058557806388e765ff146105a55780638da5cb5b146105bb578063921dd4c2146105d957806395d89b41146105ef57600080fd5b806349bd5a5e116101e85780636a486a8e116101ac5780636a486a8e146104cd5780636ddd1713146104e357806370a0823114610504578063715018a61461053a5780637571336a1461054f578063819da28b1461056f57600080fd5b806349bd5a5e1461042c5780634a62bb65146104605780634bb17bce146104815780635b3222051461049757806366d602ae146104b757600080fd5b806319a62c871161023a57806319a62c87146103785780631a8145bb1461039a5780631d5cd545146103b057806323b872dd146103d0578063313ce567146103f0578063395093511461040c57600080fd5b806306fdde0314610282578063095ea7b3146102ad57806310d5de53146102dd5780631694505e1461030d57806318160ddd1461035957600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b5061029761083e565b6040516102a491906124d9565b60405180910390f35b3480156102b957600080fd5b506102cd6102c836600461253c565b6108d0565b60405190151581526020016102a4565b3480156102e957600080fd5b506102cd6102f8366004612568565b60156020526000908152604090205460ff1681565b34801561031957600080fd5b506103417f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016102a4565b34801561036557600080fd5b506002545b6040519081526020016102a4565b34801561038457600080fd5b50610398610393366004612568565b6108e7565b005b3480156103a657600080fd5b5061036a60135481565b3480156103bc57600080fd5b506103986103cb36600461258c565b6109ca565b3480156103dc57600080fd5b506102cd6103eb3660046125a5565b610ad7565b3480156103fc57600080fd5b50604051601281526020016102a4565b34801561041857600080fd5b506102cd61042736600461253c565b610b81565b34801561043857600080fd5b506103417f000000000000000000000000914804e271b8c9a5d63a5129b56ea71416ade56181565b34801561046c57600080fd5b50600b546102cd90600160a01b900460ff1681565b34801561048d57600080fd5b5061036a60105481565b3480156104a357600080fd5b506103986104b236600461258c565b610bbd565b3480156104c357600080fd5b5061036a60075481565b3480156104d957600080fd5b5061036a600f5481565b3480156104ef57600080fd5b50600b546102cd90600160b01b900460ff1681565b34801561051057600080fd5b5061036a61051f366004612568565b6001600160a01b031660009081526020819052604090205490565b34801561054657600080fd5b50610398610cc4565b34801561055b57600080fd5b5061039861056a3660046125f4565b610d38565b34801561057b57600080fd5b5061036a60125481565b34801561059157600080fd5b506103986105a036600461258c565b610e23565b3480156105b157600080fd5b5061036a60065481565b3480156105c757600080fd5b506005546001600160a01b0316610341565b3480156105e557600080fd5b5061036a600d5481565b3480156105fb57600080fd5b50610297610f2c565b34801561061057600080fd5b5061039861061f3660046125f4565b610f3b565b34801561063057600080fd5b506102cd61063f36600461253c565b61101a565b34801561065057600080fd5b506102cd61065f36600461253c565b6110b3565b34801561067057600080fd5b5061036a60085481565b34801561068657600080fd5b5061039861069536600461258c565b6110c0565b3480156106a657600080fd5b506102cd6106b5366004612568565b60166020526000908152604090205460ff1681565b3480156106d657600080fd5b50600b546102cd90600160a81b900460ff1681565b3480156106f757600080fd5b506103986107063660046125f4565b61120b565b34801561071757600080fd5b50610398610726366004612568565b611294565b34801561073757600080fd5b5061036a600c5481565b34801561074d57600080fd5b5061036a61075c36600461262d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561079357600080fd5b5061036a600a5481565b3480156107a957600080fd5b506103986107b836600461265b565b61140d565b3480156107c957600080fd5b506103986114f8565b3480156107de57600080fd5b5061036a600e5481565b3480156107f457600080fd5b50610398610803366004612568565b61155a565b34801561081457600080fd5b5061036a60115481565b34801561082a57600080fd5b50600b54610341906001600160a01b031681565b60606003805461084d90612678565b80601f016020809104026020016040519081016040528092919081815260200182805461087990612678565b80156108c65780601f1061089b576101008083540402835291602001916108c6565b820191906000526020600020905b8154815290600101906020018083116108a957829003601f168201915b5050505050905090565b60006108dd338484611645565b5060015b92915050565b6005546001600160a01b0316331461091a5760405162461bcd60e51b8152600401610911906126b2565b60405180910390fd5b6001600160a01b0381166109805760405162461bcd60e51b815260206004820152602760248201527f5f4469636b736c61706465764164647265737320616464726573732063616e6e60448201526606f7420626520360cc1b6064820152608401610911565b600b80546001600160a01b0319166001600160a01b0383169081179091556040517fce6e44cad6e4539e49467ba2d57f623b00617d23e0e83d67b48d5575a838215d90600090a250565b6005546001600160a01b031633146109f45760405162461bcd60e51b8152600401610911906126b2565b670de0b6b3a76400006103e8610a0960025490565b610a149060016126fd565b610a1e9190612714565b610a289190612714565b811015610a895760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e312560b81b6064820152608401610911565b610a9b81670de0b6b3a76400006126fd565b60068190556040519081527ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de41009906020015b60405180910390a150565b6000610ae4848484611769565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610b695760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610911565b610b768533858403611645565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916108dd918590610bb8908690612736565b611645565b6005546001600160a01b03163314610be75760405162461bcd60e51b8152600401610911906126b2565b670de0b6b3a76400006103e8610bfc60025490565b610c079060016126fd565b610c119190612714565b610c1b9190612714565b811015610c7d5760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015269207468616e20302e312560b01b6064820152608401610911565b610c8f81670de0b6b3a76400006126fd565b60078190556040519081527f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e90602001610acc565b6005546001600160a01b03163314610cee5760405162461bcd60e51b8152600401610911906126b2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610d625760405162461bcd60e51b8152600401610911906126b2565b80610df8577f000000000000000000000000914804e271b8c9a5d63a5129b56ea71416ade5616001600160a01b0316826001600160a01b031603610df85760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b6064820152608401610911565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610e4d5760405162461bcd60e51b8152600401610911906126b2565b670de0b6b3a76400006103e8610e6260025490565b610e6d9060036126fd565b610e779190612714565b610e819190612714565b811015610ee55760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201526b6572207468616e20302e332560a01b6064820152608401610911565b610ef781670de0b6b3a76400006126fd565b60088190556040519081527fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc90602001610acc565b60606004805461084d90612678565b6005546001600160a01b03163314610f655760405162461bcd60e51b8152600401610911906126b2565b7f000000000000000000000000914804e271b8c9a5d63a5129b56ea71416ade5616001600160a01b0316826001600160a01b03160361100c5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610911565b6110168282611e8c565b5050565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561109c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610911565b6110a93385858403611645565b5060019392505050565b60006108dd338484611769565b6005546001600160a01b031633146110ea5760405162461bcd60e51b8152600401610911906126b2565b620186a06110f760025490565b6111029060016126fd565b61110c9190612714565b8110156111795760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610911565b6103e861118560025490565b6111909060016126fd565b61119a9190612714565b8111156112065760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610911565b600a55565b6005546001600160a01b031633146112355760405162461bcd60e51b8152600401610911906126b2565b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146112be5760405162461bcd60e51b8152600401610911906126b2565b6001600160a01b038116611305576005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611016573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561134e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113729190612749565b9050816001600160a01b031663a9059cbb6113956005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156113e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114069190612762565b5050505b50565b6005546001600160a01b031633146114375760405162461bcd60e51b8152600401610911906126b2565b600b54600160a81b900460ff16156114915760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420726520656e61626c652074726164696e6700000000000000006044820152606401610911565b600b805460ff60b01b19831515600160a81b9081029190911661ffff60a81b1990921691909117600160b01b1791829055604051910460ff16151581527fe8a59d3db38e5220ac9d0f72590b7ac876e0916dc8f4db3e7614e6f91fe5208990602001610acc565b6005546001600160a01b031633146115225760405162461bcd60e51b8152600401610911906126b2565b600b805460ff60a01b191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b6005546001600160a01b031633146115845760405162461bcd60e51b8152600401610911906126b2565b6001600160a01b0381166115e95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610911565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166116a75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610911565b6001600160a01b0382166117085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610911565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661178f5760405162461bcd60e51b81526004016109119061277f565b6001600160a01b0382166117b55760405162461bcd60e51b8152600401610911906127c4565b600081116118055760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610911565b600b54600160a01b900460ff1615611bd8576005546001600160a01b0384811691161480159061184357506005546001600160a01b03838116911614155b801561185757506001600160a01b03821615155b801561186e57506001600160a01b03821661dead14155b15611bd857600b54600160a81b900460ff1661195a576001600160a01b03831660009081526015602052604090205460ff16806118c357506001600160a01b03821660009081526015602052604090205460ff165b6119085760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610911565b6005546001600160a01b0384811691161461195a5760405162461bcd60e51b8152602060048201526012602482015271151c98591a5b99c81a5cc8195b98589b195960721b6044820152606401610911565b6001600160a01b03831660009081526016602052604090205460ff16801561199b57506001600160a01b03821660009081526015602052604090205460ff16155b15611a7757600654811115611a035760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b6064820152608401610911565b6008546001600160a01b038316600090815260208190526040902054611a299083612736565b1115611a725760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610911565b611bd8565b6001600160a01b03821660009081526016602052604090205460ff168015611ab857506001600160a01b03831660009081526015602052604090205460ff16155b15611b2257600754811115611a725760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b6064820152608401610911565b6001600160a01b03821660009081526015602052604090205460ff16158015611b6457506001600160a01b03831660009081526015602052604090205460ff16155b15611bd8576008546001600160a01b038316600090815260208190526040902054611b8f9083612736565b1115611bd85760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610911565b30600090815260208190526040902054600a5481108015908190611c055750600b54600160b01b900460ff165b8015611c14575060095460ff16155b8015611c3957506001600160a01b03851660009081526016602052604090205460ff16155b8015611c5e57506001600160a01b03851660009081526014602052604090205460ff16155b8015611c8357506001600160a01b03841660009081526014602052604090205460ff16155b15611ca8576009805460ff19166001179055611c9d611ef6565b6009805460ff191690555b6001600160a01b03851660009081526014602052604090205460019060ff1680611cea57506001600160a01b03851660009081526014602052604090205460ff165b15611cf3575060005b60008115611e78576001600160a01b03861660009081526016602052604090205460ff168015611d2557506000600f54115b15611dad576064600f5486611d3a91906126fd565b611d449190612714565b9050600f5460115482611d5791906126fd565b611d619190612714565b60136000828254611d729190612736565b9091555050600f54601054611d8790836126fd565b611d919190612714565b60126000828254611da29190612736565b90915550611e5a9050565b6001600160a01b03871660009081526016602052604090205460ff168015611dd757506000600c54115b15611e5a576064600c5486611dec91906126fd565b611df69190612714565b9050600c54600e5482611e0991906126fd565b611e139190612714565b60136000828254611e249190612736565b9091555050600c54600d54611e3990836126fd565b611e439190612714565b60126000828254611e549190612736565b90915550505b8015611e6b57611e6b87308361205b565b611e758186612807565b94505b611e8387878761205b565b50505050505050565b6001600160a01b0382166000908152601660205260409020805460ff1916821515179055611eba82826121b0565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b3060009081526020819052604081205490506000601254601354611f1a9190612736565b9050811580611f27575080155b15611f30575050565b600a8054611f3d916126fd565b821115611f5457600a8054611f51916126fd565b91505b60008060028360135486611f6891906126fd565b611f729190612714565b611f7c9190612714565b9050611f90611f8b8286612807565b612213565b60135447908190600090611fa690600290612714565b611fb09087612807565b601254611fbd90856126fd565b611fc79190612714565b9050611fd38183612807565b6000601381905560125591508315801590611fee5750600082115b15611ffd57611ffd84836123d3565b600b546040516001600160a01b03909116904790600081818185875af1925050503d806000811461204a576040519150601f19603f3d011682016040523d82523d6000602084013e61204f565b606091505b50505050505050505050565b6001600160a01b0383166120815760405162461bcd60e51b81526004016109119061277f565b6001600160a01b0382166120a75760405162461bcd60e51b8152600401610911906127c4565b6001600160a01b0383166000908152602081905260409020548181101561211f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610911565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612156908490612736565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121a291815260200190565b60405180910390a350505050565b6001600160a01b038216600081815260156020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106122485761224861281a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ea9190612830565b816001815181106122fd576122fd61281a565b60200260200101906001600160a01b031690816001600160a01b031681525050612348307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611645565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061239d90859060009086903090429060040161284d565b600060405180830381600087803b1580156123b757600080fd5b505af11580156123cb573d6000803e3d6000fd5b505050505050565b6123fe307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611645565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d7198230856000806124456005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156124ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124d291906128be565b5050505050565b600060208083528351808285015260005b81811015612506578581018301518582016040015282016124ea565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461140a57600080fd5b6000806040838503121561254f57600080fd5b823561255a81612527565b946020939093013593505050565b60006020828403121561257a57600080fd5b813561258581612527565b9392505050565b60006020828403121561259e57600080fd5b5035919050565b6000806000606084860312156125ba57600080fd5b83356125c581612527565b925060208401356125d581612527565b929592945050506040919091013590565b801515811461140a57600080fd5b6000806040838503121561260757600080fd5b823561261281612527565b91506020830135612622816125e6565b809150509250929050565b6000806040838503121561264057600080fd5b823561264b81612527565b9150602083013561262281612527565b60006020828403121561266d57600080fd5b8135612585816125e6565b600181811c9082168061268c57607f821691505b6020821081036126ac57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176108e1576108e16126e7565b60008261273157634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156108e1576108e16126e7565b60006020828403121561275b57600080fd5b5051919050565b60006020828403121561277457600080fd5b8151612585816125e6565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156108e1576108e16126e7565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561284257600080fd5b815161258581612527565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561289d5784516001600160a01b031683529383019391830191600101612878565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156128d357600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212202199a820a3e1813c1e34568899653dc66bfa61a755c004873102f9b28c12da8364736f6c63430008130033

Deployed Bytecode Sourcemap

7012:12300:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1730:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2644:169;;;;;;;;;;-1:-1:-1;2644:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;2644:169:0;1023:187:1;7921:64:0;;;;;;;;;;-1:-1:-1;7921:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7168:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1649:32:1;;;1631:51;;1619:2;1604:18;7168:43:0;1467:221:1;2051:108:0;;;;;;;;;;-1:-1:-1;2139:12:0;;2051:108;;;1839:25:1;;;1827:2;1812:18;2051:108:0;1693:177:1;17495:305:0;;;;;;;;;;-1:-1:-1;17495:305:0;;;;;:::i;:::-;;:::i;:::-;;7766:33;;;;;;;;;;;;;;;;10480:269;;;;;;;;;;-1:-1:-1;10480:269:0;;;;;:::i;:::-;;:::i;2821:480::-;;;;;;;;;;-1:-1:-1;2821:480:0;;;;;:::i;:::-;;:::i;1950:93::-;;;;;;;;;;-1:-1:-1;1950:93:0;;2033:2;2663:36:1;;2651:2;2636:18;1950:93:0;2521:184:1;3309:215:0;;;;;;;;;;-1:-1:-1;3309:215:0;;;;;:::i;:::-;;:::i;7218:38::-;;;;;;;;;;;;;;;7377:33;;;;;;;;;;-1:-1:-1;7377:33:0;;;;-1:-1:-1;;;7377:33:0;;;;;;7644;;;;;;;;;;;;;;;;10757:274;;;;;;;;;;-1:-1:-1;10757:274:0;;;;;:::i;:::-;;:::i;7094:28::-;;;;;;;;;;;;;;;;7609;;;;;;;;;;;;;;;;7457:31;;;;;;;;;;-1:-1:-1;7457:31:0;;;;-1:-1:-1;;;7457:31:0;;;;;;2167:127;;;;;;;;;;-1:-1:-1;2167:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;2268:18:0;2241:7;2268:18;;;;;;;;;;;;2167:127;5771:150;;;;;;;;;;;;;:::i;11420:267::-;;;;;;;;;;-1:-1:-1;11420:267:0;;;;;:::i;:::-;;:::i;7724:35::-;;;;;;;;;;;;;;;;11695:284;;;;;;;;;;-1:-1:-1;11695:284:0;;;;;:::i;:::-;;:::i;7060:27::-;;;;;;;;;;;;;;;;5557:79;;;;;;;;;;-1:-1:-1;5622:6:0;;-1:-1:-1;;;;;5622:6:0;5557:79;;7531:32;;;;;;;;;;;;;;;;1838:104;;;;;;;;;;;;;:::i;16312:246::-;;;;;;;;;;-1:-1:-1;16312:246:0;;;;;:::i;:::-;;:::i;3532:401::-;;;;;;;;;;-1:-1:-1;3532:401:0;;;;;:::i;:::-;;:::i;2302:175::-;;;;;;;;;;-1:-1:-1;2302:175:0;;;;;:::i;:::-;;:::i;7129:30::-;;;;;;;;;;;;;;;;12049:349;;;;;;;;;;-1:-1:-1;12049:349:0;;;;;:::i;:::-;;:::i;8143:58::-;;;;;;;;;;-1:-1:-1;8143:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7417:33;;;;;;;;;;-1:-1:-1;7417:33:0;;;;-1:-1:-1;;;7417:33:0;;;;;;12406:182;;;;;;;;;;-1:-1:-1;12406:182:0;;;;;:::i;:::-;;:::i;18948:355::-;;;;;;;;;;-1:-1:-1;18948:355:0;;;;;:::i;:::-;;:::i;7497:27::-;;;;;;;;;;;;;;;;2485:151;;;;;;;;;;-1:-1:-1;2485:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;2601:18:0;;;2574:7;2601:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2485:151;7293:33;;;;;;;;;;;;;;;;16814:238;;;;;;;;;;-1:-1:-1;16814:238:0;;;;;:::i;:::-;;:::i;11083:114::-;;;;;;;;;;;;;:::i;7570:30::-;;;;;;;;;;;;;;;;5929:244;;;;;;;;;;-1:-1:-1;5929:244:0;;;;;:::i;:::-;;:::i;7684:31::-;;;;;;;;;;;;;;;;7335:33;;;;;;;;;;-1:-1:-1;7335:33:0;;;;-1:-1:-1;;;;;7335:33:0;;;1730:100;1784:13;1817:5;1810:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1730:100;:::o;2644:169::-;2727:4;2744:39;249:10;2767:7;2776:6;2744:8;:39::i;:::-;-1:-1:-1;2801:4:0;2644:169;;;;;:::o;17495:305::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;17593:33:0;::::1;17585:85;;;::::0;-1:-1:-1;;;17585:85:0;;5015:2:1;17585:85:0::1;::::0;::::1;4997:21:1::0;5054:2;5034:18;;;5027:30;5093:34;5073:18;;;5066:62;-1:-1:-1;;;5144:18:1;;;5137:37;5191:19;;17585:85:0::1;4813:403:1::0;17585:85:0::1;17681:18;:49:::0;;-1:-1:-1;;;;;;17681:49:0::1;-1:-1:-1::0;;;;;17681:49:0;::::1;::::0;;::::1;::::0;;;17746:46:::1;::::0;::::1;::::0;-1:-1:-1;;17746:46:0::1;17495:305:::0;:::o;10480:269::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;10599:4:::1;10593;10573:13;2139:12:::0;;;2051:108;10573:13:::1;:17;::::0;10589:1:::1;10573:17;:::i;:::-;:24;;;;:::i;:::-;10572:31;;;;:::i;:::-;10562:6;:41;;10554:95;;;::::0;-1:-1:-1;;;10554:95:0;;5950:2:1;10554:95:0::1;::::0;::::1;5932:21:1::0;5989:2;5969:18;;;5962:30;6028:34;6008:18;;;6001:62;-1:-1:-1;;;6079:18:1;;;6072:39;6128:19;;10554:95:0::1;5748:405:1::0;10554:95:0::1;10675:17;:6:::0;10685::::1;10675:17;:::i;:::-;10660:12;:32:::0;;;10708:33:::1;::::0;1839:25:1;;;10708:33:0::1;::::0;1827:2:1;1812:18;10708:33:0::1;;;;;;;;10480:269:::0;:::o;2821:480::-;2961:4;2978:36;2988:6;2996:9;3007:6;2978:9;:36::i;:::-;-1:-1:-1;;;;;3054:19:0;;3027:24;3054:19;;;:11;:19;;;;;;;;249:10;3054:33;;;;;;;;3106:26;;;;3098:79;;;;-1:-1:-1;;;3098:79:0;;6360:2:1;3098:79:0;;;6342:21:1;6399:2;6379:18;;;6372:30;6438:34;6418:18;;;6411:62;-1:-1:-1;;;6489:18:1;;;6482:38;6537:19;;3098:79:0;6158:404:1;3098:79:0;3205:57;3214:6;249:10;3255:6;3236:16;:25;3205:8;:57::i;:::-;-1:-1:-1;3289:4:0;;2821:480;-1:-1:-1;;;;2821:480:0:o;3309:215::-;249:10;3397:4;3446:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3446:34:0;;;;;;;;;;3397:4;;3414:80;;3437:7;;3446:47;;3483:10;;3446:47;:::i;:::-;3414:8;:80::i;10757:274::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;10877:4:::1;10871;10851:13;2139:12:::0;;;2051:108;10851:13:::1;:17;::::0;10867:1:::1;10851:17;:::i;:::-;:24;;;;:::i;:::-;10850:31;;;;:::i;:::-;10840:6;:41;;10832:96;;;::::0;-1:-1:-1;;;10832:96:0;;6899:2:1;10832:96:0::1;::::0;::::1;6881:21:1::0;6938:2;6918:18;;;6911:30;6977:34;6957:18;;;6950:62;-1:-1:-1;;;7028:18:1;;;7021:40;7078:19;;10832:96:0::1;6697:406:1::0;10832:96:0::1;10955:17;:6:::0;10965::::1;10955:17;:::i;:::-;10939:13;:33:::0;;;10988:35:::1;::::0;1839:25:1;;;10988:35:0::1;::::0;1827:2:1;1812:18;10988:35:0::1;1693:177:1::0;5771:150:0;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;5864:6:::1;::::0;5843:40:::1;::::0;5880:1:::1;::::0;-1:-1:-1;;;;;5864:6:0::1;::::0;5843:40:::1;::::0;5880:1;;5843:40:::1;5894:6;:19:::0;;-1:-1:-1;;;;;;5894:19:0::1;::::0;;5771:150::o;11420:267::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;11516:4:::1;11512:111;;11554:13;-1:-1:-1::0;;;;;11544:23:0::1;:6;-1:-1:-1::0;;;;;11544:23:0::1;::::0;11536:75:::1;;;::::0;-1:-1:-1;;;11536:75:0;;7310:2:1;11536:75:0::1;::::0;::::1;7292:21:1::0;7349:2;7329:18;;;7322:30;7388:34;7368:18;;;7361:62;-1:-1:-1;;;7439:18:1;;;7432:37;7486:19;;11536:75:0::1;7108:403:1::0;11536:75:0::1;-1:-1:-1::0;;;;;11633:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;11633:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11420:267::o;11695:284::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;11817:4:::1;11811;11791:13;2139:12:::0;;;2051:108;11791:13:::1;:17;::::0;11807:1:::1;11791:17;:::i;:::-;:24;;;;:::i;:::-;11790:31;;;;:::i;:::-;11780:6;:41;;11772:98;;;::::0;-1:-1:-1;;;11772:98:0;;7718:2:1;11772:98:0::1;::::0;::::1;7700:21:1::0;7757:2;7737:18;;;7730:30;7796:34;7776:18;;;7769:62;-1:-1:-1;;;7847:18:1;;;7840:42;7899:19;;11772:98:0::1;7516:408:1::0;11772:98:0::1;11899:17;:6:::0;11909::::1;11899:17;:::i;:::-;11881:15;:35:::0;;;11932:39:::1;::::0;1839:25:1;;;11932:39:0::1;::::0;1827:2:1;1812:18;11932:39:0::1;1693:177:1::0;1838:104:0;1894:13;1927:7;1920:14;;;;;:::i;16312:246::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;16421:13:::1;-1:-1:-1::0;;;;;16413:21:0::1;:4;-1:-1:-1::0;;;;;16413:21:0::1;::::0;16405:91:::1;;;::::0;-1:-1:-1;;;16405:91:0;;8131:2:1;16405:91:0::1;::::0;::::1;8113:21:1::0;8170:2;8150:18;;;8143:30;8209:34;8189:18;;;8182:62;8280:27;8260:18;;;8253:55;8325:19;;16405:91:0::1;7929:421:1::0;16405:91:0::1;16509:41;16538:4;16544:5;16509:28;:41::i;:::-;16312:246:::0;;:::o;3532:401::-;249:10;3625:4;3669:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3669:34:0;;;;;;;;;;3722:35;;;;3714:85;;;;-1:-1:-1;;;3714:85:0;;8557:2:1;3714:85:0;;;8539:21:1;8596:2;8576:18;;;8569:30;8635:34;8615:18;;;8608:62;-1:-1:-1;;;8686:18:1;;;8679:35;8731:19;;3714:85:0;8355:401:1;3714:85:0;3827:67;249:10;3850:7;3878:15;3859:16;:34;3827:8;:67::i;:::-;-1:-1:-1;3921:4:0;;3532:401;-1:-1:-1;;;3532:401:0:o;2302:175::-;2388:4;2405:42;249:10;2429:9;2440:6;2405:9;:42::i;12049:349::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;12170:6:::1;12150:13;2139:12:::0;;;2051:108;12150:13:::1;:17;::::0;12166:1:::1;12150:17;:::i;:::-;:26;;;;:::i;:::-;12137:9;:39;;12129:105;;;::::0;-1:-1:-1;;;12129:105:0;;8963:2:1;12129:105:0::1;::::0;::::1;8945:21:1::0;9002:2;8982:18;;;8975:30;9041:34;9021:18;;;9014:62;-1:-1:-1;;;9092:18:1;;;9085:51;9153:19;;12129:105:0::1;8761:417:1::0;12129:105:0::1;12286:4;12266:13;2139:12:::0;;;2051:108;12266:13:::1;:17;::::0;12282:1:::1;12266:17;:::i;:::-;:24;;;;:::i;:::-;12253:9;:37;;12245:102;;;::::0;-1:-1:-1;;;12245:102:0;;9385:2:1;12245:102:0::1;::::0;::::1;9367:21:1::0;9424:2;9404:18;;;9397:30;9463:34;9443:18;;;9436:62;-1:-1:-1;;;9514:18:1;;;9507:50;9574:19;;12245:102:0::1;9183:416:1::0;12245:102:0::1;12358:18;:30:::0;12049:349::o;12406:182::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12491:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;12491:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;12546:34;;1163:41:1;;;12546:34:0::1;::::0;1136:18:1;12546:34:0::1;;;;;;;12406:182:::0;;:::o;18948:355::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19019:22:0;::::1;19015:124;;5622:6:::0;;19058:48:::1;::::0;-1:-1:-1;;;;;5622:6:0;;;;19084:21:::1;19058:48:::0;::::1;;;::::0;::::1;::::0;;;19084:21;5622:6;19058:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;19015:124;19212:35;::::0;-1:-1:-1;;;19212:35:0;;19241:4:::1;19212:35;::::0;::::1;1631:51:1::0;19176:6:0;;19149:17:::1;::::0;-1:-1:-1;;;;;19212:20:0;::::1;::::0;::::1;::::0;1604:18:1;;19212:35:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19194:53;;19258:10;-1:-1:-1::0;;;;;19258:19:0::1;;19278:7;5622:6:::0;;-1:-1:-1;;;;;5622:6:0;;5557:79;19278:7:::1;19258:37;::::0;-1:-1:-1;;;;;;19258:37:0::1;::::0;;;;;;-1:-1:-1;;;;;9985:32:1;;;19258:37:0::1;::::0;::::1;9967:51:1::0;10034:18;;;10027:34;;;9940:18;;19258:37:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19004:299;;5754:1;18948:355:::0;:::o;16814:238::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;16894:13:::1;::::0;-1:-1:-1;;;16894:13:0;::::1;;;16893:14;16885:51;;;::::0;-1:-1:-1;;;16885:51:0;;10524:2:1;16885:51:0::1;::::0;::::1;10506:21:1::0;10563:2;10543:18;;;10536:30;10602:26;10582:18;;;10575:54;10646:18;;16885:51:0::1;10322:348:1::0;16885:51:0::1;16947:13;:23:::0;;-1:-1:-1;;;;16947:23:0;::::1;;-1:-1:-1::0;;;16947:23:0;;::::1;16981:18:::0;;;;-1:-1:-1;;;;16981:18:0;;;;;;;-1:-1:-1;;;16981:18:0::1;::::0;;;;17015:29:::1;::::0;17030:13;::::1;16947:23;17030:13;1188:14:1::0;1181:22;1163:41;;17015:29:0::1;::::0;1151:2:1;1136:18;17015:29:0::1;1023:187:1::0;11083:114:0;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;11136:14:::1;:22:::0;;-1:-1:-1;;;;11136:22:0::1;::::0;;11174:15:::1;::::0;::::1;::::0;11153:5:::1;::::0;11174:15:::1;11083:114::o:0;5929:244::-;5684:6;;-1:-1:-1;;;;;5684:6:0;249:10;5684:22;5676:67;;;;-1:-1:-1;;;5676:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6018:22:0;::::1;6010:73;;;::::0;-1:-1:-1;;;6010:73:0;;10877:2:1;6010:73:0::1;::::0;::::1;10859:21:1::0;10916:2;10896:18;;;10889:30;10955:34;10935:18;;;10928:62;-1:-1:-1;;;11006:18:1;;;10999:36;11052:19;;6010:73:0::1;10675:402:1::0;6010:73:0::1;6120:6;::::0;6099:38:::1;::::0;-1:-1:-1;;;;;6099:38:0;;::::1;::::0;6120:6:::1;::::0;6099:38:::1;::::0;6120:6:::1;::::0;6099:38:::1;6148:6;:17:::0;;-1:-1:-1;;;;;;6148:17:0::1;-1:-1:-1::0;;;;;6148:17:0;;;::::1;::::0;;;::::1;::::0;;5929:244::o;4850:380::-;-1:-1:-1;;;;;4986:19:0;;4978:68;;;;-1:-1:-1;;;4978:68:0;;11284:2:1;4978:68:0;;;11266:21:1;11323:2;11303:18;;;11296:30;11362:34;11342:18;;;11335:62;-1:-1:-1;;;11413:18:1;;;11406:34;11457:19;;4978:68:0;11082:400:1;4978:68:0;-1:-1:-1;;;;;5065:21:0;;5057:68;;;;-1:-1:-1;;;5057:68:0;;11689:2:1;5057:68:0;;;11671:21:1;11728:2;11708:18;;;11701:30;11767:34;11747:18;;;11740:62;-1:-1:-1;;;11818:18:1;;;11811:32;11860:19;;5057:68:0;11487:398:1;5057:68:0;-1:-1:-1;;;;;5138:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5190:32;;1839:25:1;;;5190:32:0;;1812:18:1;5190:32:0;;;;;;;4850:380;;;:::o;12596:3109::-;-1:-1:-1;;;;;12696:18:0;;12688:68;;;;-1:-1:-1;;;12688:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12775:16:0;;12767:64;;;;-1:-1:-1;;;12767:64:0;;;;;;;:::i;:::-;12859:1;12850:6;:10;12842:52;;;;-1:-1:-1;;;12842:52:0;;12902:2:1;12842:52:0;;;12884:21:1;12941:2;12921:18;;;12914:30;12980:31;12960:18;;;12953:59;13029:18;;12842:52:0;12700:353:1;12842:52:0;12910:14;;-1:-1:-1;;;12910:14:0;;;;12907:1222;;;5622:6;;-1:-1:-1;;;;;12944:15:0;;;5622:6;;12944:15;;;;:32;;-1:-1:-1;5622:6:0;;-1:-1:-1;;;;;12963:13:0;;;5622:6;;12963:13;;12944:32;:52;;;;-1:-1:-1;;;;;;12980:16:0;;;;12944:52;:77;;;;-1:-1:-1;;;;;;13000:21:0;;13014:6;13000:21;;12944:77;12940:1178;;;13045:13;;-1:-1:-1;;;13045:13:0;;;;13041:241;;-1:-1:-1;;;;;13090:37:0;;;;;;:31;:37;;;;;;;;;:76;;-1:-1:-1;;;;;;13131:35:0;;;;;;:31;:35;;;;;;;;13090:76;13082:111;;;;-1:-1:-1;;;13082:111:0;;13260:2:1;13082:111:0;;;13242:21:1;13299:2;13279:18;;;13272:30;-1:-1:-1;;;13318:18:1;;;13311:52;13380:18;;13082:111:0;13058:346:1;13082:111:0;5622:6;;-1:-1:-1;;;;;13224:15:0;;;5622:6;;13224:15;13216:46;;;;-1:-1:-1;;;13216:46:0;;13611:2:1;13216:46:0;;;13593:21:1;13650:2;13630:18;;;13623:30;-1:-1:-1;;;13669:18:1;;;13662:48;13727:18;;13216:46:0;13409:342:1;13216:46:0;-1:-1:-1;;;;;13334:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;13370:35:0;;;;;;:31;:35;;;;;;;;13369:36;13334:71;13330:773;;;13448:12;;13438:6;:22;;13430:75;;;;-1:-1:-1;;;13430:75:0;;13958:2:1;13430:75:0;;;13940:21:1;13997:2;13977:18;;;13970:30;14036:34;14016:18;;;14009:62;-1:-1:-1;;;14087:18:1;;;14080:38;14135:19;;13430:75:0;13756:404:1;13430:75:0;13562:15;;-1:-1:-1;;;;;2268:18:0;;2241:7;2268:18;;;;;;;;;;;13536:22;;:6;:22;:::i;:::-;:41;;13528:78;;;;-1:-1:-1;;;13528:78:0;;14367:2:1;13528:78:0;;;14349:21:1;14406:2;14386:18;;;14379:30;-1:-1:-1;;;14425:18:1;;;14418:54;14489:18;;13528:78:0;14165:348:1;13528:78:0;13330:773;;;-1:-1:-1;;;;;13682:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;13716:37:0;;;;;;:31;:37;;;;;;;;13715:38;13682:71;13678:425;;;13796:13;;13786:6;:23;;13778:78;;;;-1:-1:-1;;;13778:78:0;;14720:2:1;13778:78:0;;;14702:21:1;14759:2;14739:18;;;14732:30;14798:34;14778:18;;;14771:62;-1:-1:-1;;;14849:18:1;;;14842:40;14899:19;;13778:78:0;14518:406:1;13678:425:0;-1:-1:-1;;;;;13904:35:0;;;;;;:31;:35;;;;;;;;13903:36;:78;;;;-1:-1:-1;;;;;;13944:37:0;;;;;;:31;:37;;;;;;;;13943:38;13903:78;13899:204;;;14039:15;;-1:-1:-1;;;;;2268:18:0;;2241:7;2268:18;;;;;;;;;;;14013:22;;:6;:22;:::i;:::-;:41;;14005:78;;;;-1:-1:-1;;;14005:78:0;;14367:2:1;14005:78:0;;;14349:21:1;14406:2;14386:18;;;14379:30;-1:-1:-1;;;14425:18:1;;;14418:54;14489:18;;14005:78:0;14165:348:1;14005:78:0;14190:4;14141:28;2268:18;;;;;;;;;;;14248;;14224:42;;;;;;;14282:22;;-1:-1:-1;14293:11:0;;-1:-1:-1;;;14293:11:0;;;;14282:22;:35;;;;-1:-1:-1;14309:8:0;;;;14308:9;14282:35;:71;;;;-1:-1:-1;;;;;;14322:31:0;;;;;;:25;:31;;;;;;;;14321:32;14282:71;:101;;;;-1:-1:-1;;;;;;14358:25:0;;;;;;:19;:25;;;;;;;;14357:26;14282:101;:129;;;;-1:-1:-1;;;;;;14388:23:0;;;;;;:19;:23;;;;;;;;14387:24;14282:129;14279:232;;;14428:8;:15;;-1:-1:-1;;14428:15:0;14439:4;14428:15;;;14458:10;:8;:10::i;:::-;14483:8;:16;;-1:-1:-1;;14483:16:0;;;14279:232;-1:-1:-1;;;;;14641:25:0;;14523:12;14641:25;;;:19;:25;;;;;;14538:4;;14641:25;;;:52;;-1:-1:-1;;;;;;14670:23:0;;;;;;:19;:23;;;;;;;;14641:52;14638:99;;;-1:-1:-1;14720:5:0;14638:99;14749:12;14843:7;14840:812;;;-1:-1:-1;;;;;14894:29:0;;;;;;:25;:29;;;;;;;;:50;;;;;14943:1;14927:13;;:17;14894:50;14890:615;;;14995:3;14980:13;;14971:6;:22;;;;:::i;:::-;:27;;;;:::i;:::-;14964:34;;15065:13;;15046:16;;15039:4;:23;;;;:::i;:::-;:39;;;;:::i;:::-;15017:18;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;;15149:13:0;;15128:18;;15121:25;;:4;:25;:::i;:::-;:41;;;;:::i;:::-;15097:20;;:65;;;;;;;:::i;:::-;;;;-1:-1:-1;14890:615:0;;-1:-1:-1;14890:615:0;;-1:-1:-1;;;;;15223:31:0;;;;;;:25;:31;;;;;;;;:51;;;;;15273:1;15258:12;;:16;15223:51;15220:285;;;15326:3;15311:12;;15302:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;15295:34;;15395:12;;15377:15;;15370:4;:22;;;;:::i;:::-;:37;;;;:::i;:::-;15348:18;;:59;;;;;;;:::i;:::-;;;;-1:-1:-1;;15477:12:0;;15457:17;;15450:24;;:4;:24;:::i;:::-;:39;;;;:::i;:::-;15426:20;;:63;;;;;;;:::i;:::-;;;;-1:-1:-1;;15220:285:0;15524:8;;15521:89;;15552:42;15568:4;15582;15589;15552:15;:42::i;:::-;15626:14;15636:4;15626:14;;:::i;:::-;;;14840:812;15664:33;15680:4;15686:2;15690:6;15664:15;:33::i;:::-;12675:3030;;;;12596:3109;;;:::o;16566:240::-;-1:-1:-1;;;;;16649:31:0;;;;;;:25;:31;;;;;:39;;-1:-1:-1;;16649:39:0;;;;;;;16701;16649:31;:39;16701:26;:39::i;:::-;16758:40;;;;;;-1:-1:-1;;;;;16758:40:0;;;;;;;;16566:240;;:::o;17813:1127::-;17896:4;17852:23;2268:18;;;;;;;;;;;17852:50;;17913:25;17962:20;;17941:18;;:41;;;;:::i;:::-;17913:69;-1:-1:-1;17998:20:0;;;:46;;-1:-1:-1;18022:22:0;;17998:46;17995:60;;;18047:7;;17813:1127::o;17995:60::-;18088:18;;;:23;;;:::i;:::-;18070:15;:41;18067:113;;;18145:18;;;:23;;;:::i;:::-;18127:41;;18067:113;18192:12;18217:23;18302:1;18282:17;18261:18;;18243:15;:36;;;;:::i;:::-;:56;;;;:::i;:::-;:60;;;;:::i;:::-;18217:86;-1:-1:-1;18316:51:0;18333:33;18217:86;18333:15;:33;:::i;:::-;18316:16;:51::i;:::-;18568:18;;18401:21;;;;18380:18;;18568:20;;18587:1;;18568:20;:::i;:::-;18547:42;;:17;:42;:::i;:::-;18523:20;;18510:33;;:10;:33;:::i;:::-;:80;;;;:::i;:::-;18482:108;-1:-1:-1;18603:36:0;18482:108;18603:36;;:::i;:::-;18673:1;18652:18;:22;;;18685:20;:24;18603:36;-1:-1:-1;18725:19:0;;;;;:42;;;18766:1;18748:15;:19;18725:42;18722:119;;;18783:46;18796:15;18813;18783:12;:46::i;:::-;18874:18;;18866:66;;-1:-1:-1;;;;;18874:18:0;;;;18906:21;;18866:66;;;;18906:21;18874:18;18866:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;17813:1127:0:o;3941:602::-;-1:-1:-1;;;;;4081:20:0;;4073:70;;;;-1:-1:-1;;;4073:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4162:23:0;;4154:71;;;;-1:-1:-1;;;4154:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4262:17:0;;4238:21;4262:17;;;;;;;;;;;4298:23;;;;4290:74;;;;-1:-1:-1;;;4290:74:0;;15474:2:1;4290:74:0;;;15456:21:1;15513:2;15493:18;;;15486:30;15552:34;15532:18;;;15525:62;-1:-1:-1;;;15603:18:1;;;15596:36;15649:19;;4290:74:0;15272:402:1;4290:74:0;-1:-1:-1;;;;;4392:17:0;;;:9;:17;;;;;;;;;;;4412:22;;;4392:42;;4452:20;;;;;;;;:30;;4428:6;;4392:9;4452:30;;4428:6;;4452:30;:::i;:::-;;;;;;;;4517:9;-1:-1:-1;;;;;4500:35:0;4509:6;-1:-1:-1;;;;;4500:35:0;;4528:6;4500:35;;;;1839:25:1;;1827:2;1812:18;;1693:177;4500:35:0;;;;;;;;4062:481;3941:602;;;:::o;11205:207::-;-1:-1:-1;;;;;11293:39:0;;;;;;:31;:39;;;;;;;;;:52;;-1:-1:-1;;11293:52:0;;;;;;;;;;11361:43;;15847:51:1;;;15914:18;;;15907:50;11361:43:0;;15820:18:1;11361:43:0;;;;;;;11205:207;;:::o;15713:591::-;15865:16;;;15879:1;15865:16;;;;;;;;15841:21;;15865:16;;;;;;;;;;-1:-1:-1;15865:16:0;15841:40;;15910:4;15892;15897:1;15892:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;15892:23:0;;;-1:-1:-1;;;;;15892:23:0;;;;;15936:15;-1:-1:-1;;;;;15936:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15926:4;15931:1;15926:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;15926:32:0;;;-1:-1:-1;;;;;15926:32:0;;;;;15971:62;15988:4;16003:15;16021:11;15971:8;:62::i;:::-;16072:224;;-1:-1:-1;;;16072:224:0;;-1:-1:-1;;;;;16072:15:0;:66;;;;:224;;16153:11;;16179:1;;16223:4;;16250;;16270:15;;16072:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15768:536;15713:591;:::o;17060:427::-;17141:62;17158:4;17173:15;17191:11;17141:8;:62::i;:::-;17216:15;-1:-1:-1;;;;;17216:31:0;;17255:9;17288:4;17308:11;17334:1;17377;17428:7;5622:6;;-1:-1:-1;;;;;5622:6:0;;5557:79;17428:7;17216:261;;;;;;-1:-1:-1;;;;;;17216:261:0;;;-1:-1:-1;;;;;17832:15:1;;;17216:261:0;;;17814:34:1;17864:18;;;17857:34;;;;17907:18;;;17900:34;;;;17950:18;;;17943:34;18014:15;;;17993:19;;;17986:44;17451:15:0;18046:19:1;;;18039:35;17748:19;;17216:261:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17060:427;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;:::-;1451:5;1215:247;-1:-1:-1;;;1215:247:1:o;1875:180::-;1934:6;1987:2;1975:9;1966:7;1962:23;1958:32;1955:52;;;2003:1;2000;1993:12;1955:52;-1:-1:-1;2026:23:1;;1875:180;-1:-1:-1;1875:180:1:o;2060:456::-;2137:6;2145;2153;2206:2;2194:9;2185:7;2181:23;2177:32;2174:52;;;2222:1;2219;2212:12;2174:52;2261:9;2248:23;2280:31;2305:5;2280:31;:::i;:::-;2330:5;-1:-1:-1;2387:2:1;2372:18;;2359:32;2400:33;2359:32;2400:33;:::i;:::-;2060:456;;2452:7;;-1:-1:-1;;;2506:2:1;2491:18;;;;2478:32;;2060:456::o;2918:118::-;3004:5;2997:13;2990:21;2983:5;2980:32;2970:60;;3026:1;3023;3016:12;3041:382;3106:6;3114;3167:2;3155:9;3146:7;3142:23;3138:32;3135:52;;;3183:1;3180;3173:12;3135:52;3222:9;3209:23;3241:31;3266:5;3241:31;:::i;:::-;3291:5;-1:-1:-1;3348:2:1;3333:18;;3320:32;3361:30;3320:32;3361:30;:::i;:::-;3410:7;3400:17;;;3041:382;;;;;:::o;3428:388::-;3496:6;3504;3557:2;3545:9;3536:7;3532:23;3528:32;3525:52;;;3573:1;3570;3563:12;3525:52;3612:9;3599:23;3631:31;3656:5;3631:31;:::i;:::-;3681:5;-1:-1:-1;3738:2:1;3723:18;;3710:32;3751:33;3710:32;3751:33;:::i;3821:241::-;3877:6;3930:2;3918:9;3909:7;3905:23;3901:32;3898:52;;;3946:1;3943;3936:12;3898:52;3985:9;3972:23;4004:28;4026:5;4004:28;:::i;4067:380::-;4146:1;4142:12;;;;4189;;;4210:61;;4264:4;4256:6;4252:17;4242:27;;4210:61;4317:2;4309:6;4306:14;4286:18;4283:38;4280:161;;4363:10;4358:3;4354:20;4351:1;4344:31;4398:4;4395:1;4388:15;4426:4;4423:1;4416:15;4280:161;;4067:380;;;:::o;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;5221:127::-;5282:10;5277:3;5273:20;5270:1;5263:31;5313:4;5310:1;5303:15;5337:4;5334:1;5327:15;5353:168;5426:9;;;5457;;5474:15;;;5468:22;;5454:37;5444:71;;5495:18;;:::i;5526:217::-;5566:1;5592;5582:132;;5636:10;5631:3;5627:20;5624:1;5617:31;5671:4;5668:1;5661:15;5699:4;5696:1;5689:15;5582:132;-1:-1:-1;5728:9:1;;5526:217::o;6567:125::-;6632:9;;;6653:10;;;6650:36;;;6666:18;;:::i;9604:184::-;9674:6;9727:2;9715:9;9706:7;9702:23;9698:32;9695:52;;;9743:1;9740;9733:12;9695:52;-1:-1:-1;9766:16:1;;9604:184;-1:-1:-1;9604:184:1:o;10072:245::-;10139:6;10192:2;10180:9;10171:7;10167:23;10163:32;10160:52;;;10208:1;10205;10198:12;10160:52;10240:9;10234:16;10259:28;10281:5;10259:28;:::i;11890:401::-;12092:2;12074:21;;;12131:2;12111:18;;;12104:30;12170:34;12165:2;12150:18;;12143:62;-1:-1:-1;;;12236:2:1;12221:18;;12214:35;12281:3;12266:19;;11890:401::o;12296:399::-;12498:2;12480:21;;;12537:2;12517:18;;;12510:30;12576:34;12571:2;12556:18;;12549:62;-1:-1:-1;;;12642:2:1;12627:18;;12620:33;12685:3;12670:19;;12296:399::o;14929:128::-;14996:9;;;15017:11;;;15014:37;;;15031:18;;:::i;16100:127::-;16161:10;16156:3;16152:20;16149:1;16142:31;16192:4;16189:1;16182:15;16216:4;16213:1;16206:15;16232:251;16302:6;16355:2;16343:9;16334:7;16330:23;16326:32;16323:52;;;16371:1;16368;16361:12;16323:52;16403:9;16397:16;16422:31;16447:5;16422:31;:::i;16488:980::-;16750:4;16798:3;16787:9;16783:19;16829:6;16818:9;16811:25;16855:2;16893:6;16888:2;16877:9;16873:18;16866:34;16936:3;16931:2;16920:9;16916:18;16909:31;16960:6;16995;16989:13;17026:6;17018;17011:22;17064:3;17053:9;17049:19;17042:26;;17103:2;17095:6;17091:15;17077:29;;17124:1;17134:195;17148:6;17145:1;17142:13;17134:195;;;17213:13;;-1:-1:-1;;;;;17209:39:1;17197:52;;17304:15;;;;17269:12;;;;17245:1;17163:9;17134:195;;;-1:-1:-1;;;;;;;17385:32:1;;;;17380:2;17365:18;;17358:60;-1:-1:-1;;;17449:3:1;17434:19;17427:35;17346:3;16488:980;-1:-1:-1;;;16488:980:1:o;18085:306::-;18173:6;18181;18189;18242:2;18230:9;18221:7;18217:23;18213:32;18210:52;;;18258:1;18255;18248:12;18210:52;18287:9;18281:16;18271:26;;18337:2;18326:9;18322:18;18316:25;18306:35;;18381:2;18370:9;18366:18;18360:25;18350:35;;18085:306;;;;;:::o

Swarm Source

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