ETH Price: $3,103.30 (+0.65%)
Gas: 6 Gwei

Token

TIMMY (TIMMY)
 

Overview

Max Total Supply

690,000,000,000 TIMMY

Holders

377

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,399,569,639.272810625458412148 TIMMY

Value
$0.00
0x249cf8dbc14c0650ecb763e67ddd08ac6d5b78df
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:
Timmy

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-28
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, "Address: low-level call failed");
    }
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }
    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }
    function _revert(bytes memory returndata, string memory errorMessage) private pure {
        // Look for revert reason and bubble it up if present
        if (returndata.length > 0) {
            // The easiest way to bubble the revert reason is using memory via assembly
            /// @solidity memory-safe-assembly
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract Timmy is IERC20, Ownable {
    using Address for address;

    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "TIMMY";
    string constant _symbol = "TIMMY";
    uint8 constant _decimals = 18;

    uint256 _totalSupply = 690000000000 * (10 ** _decimals);
    uint256 _maxBuyTxAmount = _totalSupply;
    uint256 _maxSellTxAmount = _totalSupply;
    uint256 _maxWalletSize = _totalSupply;

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

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public liquidityCreator;

    uint256 marketingFee = 0;
    uint256 marketingSellFee = 0;
    uint256 totalBuyFee = marketingFee;
    uint256 totalSellFee = marketingSellFee;
    uint256 feeDenominator = 10000;
    bool public transferTax = false;

    address payable private marketingFeeReceiver;

    IDEXRouter public router;
    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    mapping (address => bool) liquidityPools;

    address public pair;

    uint256 public launchedAt;
    uint256 public launchedTime;
    bool startBullRun = false;
    bool pauseDisabled = false;

    bool public swapEnabled = false;
    uint256 public swapThreshold = _totalSupply / 1000;
    uint256 public swapMinimum = _totalSupply / 10000;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    mapping (address => bool) teamMember;

    modifier onlyTeam() {
        require(teamMember[_msgSender()] || msg.sender == owner(), "Caller is not a team member");
        _;
    }

    constructor (address _marketingWallet) {
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        liquidityPools[pair] = true;
        _allowances[owner()][routerAddress] = type(uint256).max;
        _allowances[address(this)][routerAddress] = type(uint256).max;

        isFeeExempt[owner()] = true;
        liquidityCreator[owner()] = true;

        marketingFeeReceiver = payable(_marketingWallet);

        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[routerAddress] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[owner()] = _totalSupply;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure returns (uint8) { return _decimals; }
    function symbol() external pure returns (string memory) { return _symbol; }
    function name() external pure returns (string memory) { return _name; }
    function getOwner() external view returns (address) { return owner(); }
    function maxBuyTxTokens() external view returns (uint256) { return _maxBuyTxAmount / (10 ** _decimals); }
    function maxSellTxTokens() external view returns (uint256) { return _maxSellTxAmount / (10 ** _decimals); }
    function maxWalletTokens() external view returns (uint256) { return _maxWalletSize / (10 ** _decimals); }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function setTeamMember(address _team, bool _enabled) external onlyOwner {
        teamMember[_team] = _enabled;
    }

    function airdrop(address[] calldata addresses, uint256[] calldata amounts) external onlyOwner {
        require(addresses.length > 0 && amounts.length == addresses.length);
        address from = msg.sender;

        for (uint i = 0; i < addresses.length; i++) {
            if(!liquidityPools[addresses[i]] && !liquidityCreator[addresses[i]]) {
                _basicTransfer(from, addresses[i], amounts[i] * (10 ** _decimals));
            }
        }
    }

    function clearStuckBalance(uint256 amountPercentage, address adr) external onlyTeam {
        uint256 amountETH = address(this).balance;

        if(amountETH > 0) {
            (bool sent, ) = adr.call{value: (amountETH * amountPercentage) / 100}("");
            require(sent,"Failed to transfer funds");
        }
    }

    function manualswap(uint256 amount) external {
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");

          address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function manualsend() external {
        bool success;
        (success, ) = address(marketingFeeReceiver).call{
            value: address(this).balance
        }("");
    }

    function openTrading() external onlyTeam {
        require(!startBullRun);
        startBullRun = true;
        marketingFee = 9800;
        marketingSellFee = 9800;
        totalBuyFee = marketingFee;
        totalSellFee = marketingSellFee;

        launchedAt = block.number;
        launchedTime = block.timestamp;
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "ERC20: transfer from 0x0");
        require(recipient != address(0), "ERC20: transfer to 0x0");
        require(amount > 0, "Amount must be > zero");
        require(_balances[sender] >= amount, "Insufficient balance");
        if(!launched() && liquidityPools[recipient]){ require(liquidityCreator[sender], "Liquidity not added yet."); }
        if(!startBullRun){ require(liquidityCreator[sender] || liquidityCreator[recipient], "Trading not open yet."); }

        checkTxLimit(sender, recipient, amount);

        if (!liquidityPools[recipient] && recipient != DEAD) {
            if (!isTxLimitExempt[recipient]) {
                checkWalletLimit(recipient, amount);
            }
        }

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

        _balances[sender] = _balances[sender] - amount;

        uint256 amountReceived = amount;

        if(shouldTakeFee(sender, recipient)) {
            amountReceived = takeFee(recipient, amount);
            if(shouldSwapBack(recipient) && amount > 0) swapBack(amount);
        }

        _balances[recipient] = _balances[recipient] + amountReceived;

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() external onlyTeam {
        launchedAt = block.number;
        launchedTime = block.timestamp;
        swapEnabled = true;

        marketingFee = 1000;
        marketingSellFee = 9900;
        totalBuyFee = marketingFee;
        totalSellFee = marketingSellFee;

        _maxBuyTxAmount =   13800000000  * 1e18;
        _maxWalletSize =   13800000000  * 1e18;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkWalletLimit(address recipient, uint256 amount) internal view {
        uint256 walletLimit = _maxWalletSize;
        require(_balances[recipient] + amount <= walletLimit, "Transfer amount exceeds the bag size.");
    }

    function checkTxLimit(address sender, address recipient, uint256 amount) internal view {
        if (isTxLimitExempt[sender] || isTxLimitExempt[recipient]) return;
        require(amount <= (liquidityPools[sender] ? _maxBuyTxAmount : _maxSellTxAmount), "TX Limit Exceeded");

    }

    function shouldTakeFee(address sender, address recipient) public view returns (bool) {
        if(!transferTax && !liquidityPools[recipient] && !liquidityPools[sender]) return false;
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function getTotalFee(bool selling) public view returns (uint256) {
        if (selling) return totalSellFee;
        return totalBuyFee;
    }

    function takeFee(address recipient, uint256 amount) internal returns (uint256) {
        bool selling = liquidityPools[recipient];
        uint256 feeAmount = (amount * getTotalFee(selling)) / feeDenominator;

        _balances[address(this)] += feeAmount;

        return amount - feeAmount;
    }

    function shouldSwapBack(address recipient) internal view returns (bool) {
        return !liquidityPools[msg.sender]
        && !inSwap
        && swapEnabled
        && liquidityPools[recipient]
        && _balances[address(this)] >= swapMinimum
        && totalBuyFee + totalSellFee > 0;
    }

    function swapBack(uint256 amount) internal swapping {
        uint256 amountToSwap = amount < swapThreshold ? amount : swapThreshold;
        if (_balances[address(this)] < amountToSwap) amountToSwap = _balances[address(this)];

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance - balanceBefore;

        uint256 amountETHMarketing = amountETH;

        if (amountETHMarketing > 0) {
            (bool sentMarketing, ) = marketingFeeReceiver.call{value: amountETHMarketing}("");
            if(!sentMarketing) {
                //Failed to transfer to marketing wallet
            }
        }

        emit FundsDistributed(amountETHMarketing);
    }

    function addLiquidityPool(address lp, bool isPool) external onlyOwner {
        require(lp != pair, "Can't alter current liquidity pair");
        liquidityPools[lp] = isPool;
    }


    function setTxLimit(uint256 buyNumerator, uint256 sellNumerator, uint256 divisor) external onlyOwner {
       require(buyNumerator > 0 && sellNumerator > 0 && divisor > 0 && divisor <= 10000);
       _maxBuyTxAmount = (_totalSupply * buyNumerator) / divisor;
       _maxSellTxAmount = (_totalSupply * sellNumerator) / divisor;
   }

    function setMaxWallet(uint256 numerator, uint256 divisor) external onlyOwner() {
        require(numerator > 0 && divisor > 0 && divisor <= 10000);
        _maxWalletSize = (_totalSupply * numerator) / divisor;
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    function setFees(uint256 _marketingFee, uint256 _marketingSellFee, uint256 _feeDenominator) external onlyOwner {
        marketingFee = _marketingFee;
        marketingSellFee = _marketingSellFee;
        totalBuyFee = _marketingFee;
        totalSellFee = _marketingSellFee;
        feeDenominator = _feeDenominator;
        require(totalBuyFee <= feeDenominator, "Fees too high");
        emit FeesSet(totalBuyFee, totalSellFee, feeDenominator);
    }

    function toggleTransferTax() external onlyOwner {
        transferTax = !transferTax;
    }

    function setFeeReceivers(address _marketingFeeReceiver) external onlyOwner {
        marketingFeeReceiver = payable(_marketingFeeReceiver);
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator, uint256 _swapMinimum) external onlyOwner {
        require(_denominator > 0);
        swapEnabled = _enabled;
        swapThreshold = _totalSupply / _denominator;
        swapMinimum = _swapMinimum * (10 ** _decimals);
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - (balanceOf(DEAD) + balanceOf(ZERO));
    }

    event FundsDistributed(uint256 marketingETH);
    event FeesSet(uint256 totalBuyFees, uint256 totalSellFees, uint256 denominator);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalBuyFees","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSellFees","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"denominator","type":"uint256"}],"name":"FeesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"marketingETH","type":"uint256"}],"name":"FundsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"lp","type":"address"},{"internalType":"bool","name":"isPool","type":"bool"}],"name":"addLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"},{"internalType":"address","name":"adr","type":"address"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"liquidityCreator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyTxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellTxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_marketingSellFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"},{"internalType":"uint256","name":"_swapMinimum","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_team","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTeamMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyNumerator","type":"uint256"},{"internalType":"uint256","name":"sellNumerator","type":"uint256"},{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"}],"name":"shouldTakeFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapMinimum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"toggleTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"transferTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b031990811661dead17909155600280549091169055620000326012600a6200055d565b620000439064a0a734740062000574565b60038190556004819055600581905560068190555f600c819055600d819055600e819055600f556127106010556011805460ff19169055601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556018805462ffffff19169055620000bb906103e8906200058e565b601955612710600354620000d091906200058e565b601a55348015620000df575f80fd5b5060405162002898380380620028988339810160408190526200010291620005ae565b6200010d33620003ff565b601354601280546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000168573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018e9190620005ae565b6001600160a01b031663c9c6539660125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002139190620005ae565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af11580156200025d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002839190620005ae565b601580546001600160a01b0319166001600160a01b039290921691821790555f908152601460205260408120805460ff191660011790555f1990600890620002d25f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120601380548416835290855283822095909555308082526008855283822086548416835285528382205f199055815483168252600985528382208054600160ff199182168117909255835485168452600b8752858420805482168317905560118054610100600160a81b0319166101008b881602179055918352600a865284832080548316821790558254841683528483208054831682179055955483168252838220805482168717905585548316825283822080549091169095179094556003548454821685526007845282852081905584549251908152911692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620005d6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004a257815f19048211156200048657620004866200044e565b808516156200049457918102915b93841c939080029062000467565b509250929050565b5f82620004ba5750600162000557565b81620004c857505f62000557565b8160018114620004e15760028114620004ec576200050c565b600191505062000557565b60ff8411156200050057620005006200044e565b50506001821b62000557565b5060208310610133831016604e8410600b841016171562000531575081810a62000557565b6200053d838362000462565b805f19048211156200055357620005536200044e565b0290505b92915050565b5f6200056d60ff841683620004aa565b9392505050565b80820281158282048414176200055757620005576200044e565b5f82620005a957634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620005bf575f80fd5b81516001600160a01b03811681146200056d575f80fd5b6122b480620005e45f395ff3fe608060405260043610610283575f3560e01c8063715018a611610155578063c9567bf9116100be578063e01bb68811610078578063e01bb6881461077e578063f1f3bca31461079d578063f2fde38b146107bc578063f84ba65d146107db578063f8821a62146107fa578063f887ea401461080f575f80fd5b8063c9567bf9146106a6578063cec10c11146106ba578063d0889358146106d9578063d912b2ce146106f8578063dae39f921461070c578063dd62ed3e1461073a575f80fd5b806395d89b411161010f57806395d89b41146102cc578063a8aa1b3114610620578063a9059cbb1461063f578063abe57e701461065e578063bafe446b1461067d578063bf56b37114610691575f80fd5b8063715018a61461055a5780638124f7ac1461056e578063881dce6014610587578063893d20e8146105a65780638b42507f146105d65780638da5cb5b14610604575f80fd5b8063492a937b116101f757806363a803e1116101b157806363a803e1146104a1578063658d4b7f146104b557806367243482146104d45780636ddd1713146104f35780636fc3eaec1461051257806370a0823114610526575f80fd5b8063492a937b146103f1578063507139351461041057806356a227f21461042f578063571ac8b01461044e5780635804f1e41461046d57806360bba03d14610482575f80fd5b8063234e949411610248578063234e94941461034257806323b872dd146103565780632b112e4914610375578063313ce56714610389578063332402f8146103a45780633f4218e0146103c3575f80fd5b806301339c211461028e5780630445b667146102a457806306fdde03146102cc578063095ea7b3146102ff57806318160ddd1461032e575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506102a261082e565b005b3480156102af575f80fd5b506102b960195481565b6040519081526020015b60405180910390f35b3480156102d7575f80fd5b50604080518082018252600581526454494d4d5960d81b602082015290516102c39190611d58565b34801561030a575f80fd5b5061031e610319366004611db7565b6108c2565b60405190151581526020016102c3565b348015610339575f80fd5b506003546102b9565b34801561034d575f80fd5b506102b961092e565b348015610361575f80fd5b5061031e610370366004611de1565b61094d565b348015610380575f80fd5b506102b96109de565b348015610394575f80fd5b50604051601281526020016102c3565b3480156103af575f80fd5b5061031e6103be366004611e1f565b610a1e565b3480156103ce575f80fd5b5061031e6103dd366004611e56565b60096020525f908152604090205460ff1681565b3480156103fc575f80fd5b506102a261040b366004611e85565b610abf565b34801561041b575f80fd5b506102a261042a366004611eb8565b610b5a565b34801561043a575f80fd5b506102a2610449366004611ee1565b610bcf565b348015610459575f80fd5b5061031e610468366004611e56565b610ccf565b348015610478575f80fd5b506102b960175481565b34801561048d575f80fd5b506102a261049c366004611e85565b610cdb565b3480156104ac575f80fd5b506102b9610d0d565b3480156104c0575f80fd5b506102a26104cf366004611e85565b610d27565b3480156104df575f80fd5b506102a26104ee366004611f4c565b610d59565b3480156104fe575f80fd5b5060185461031e9062010000900460ff1681565b34801561051d575f80fd5b506102a2610e98565b348015610531575f80fd5b506102b9610540366004611e56565b6001600160a01b03165f9081526007602052604090205490565b348015610565575f80fd5b506102a2610ee7565b348015610579575f80fd5b5060115461031e9060ff1681565b348015610592575f80fd5b506102a26105a1366004611fb3565b610efa565b3480156105b1575f80fd5b505f546001600160a01b03165b6040516001600160a01b0390911681526020016102c3565b3480156105e1575f80fd5b5061031e6105f0366004611e56565b600a6020525f908152604090205460ff1681565b34801561060f575f80fd5b505f546001600160a01b03166105be565b34801561062b575f80fd5b506015546105be906001600160a01b031681565b34801561064a575f80fd5b5061031e610659366004611db7565b611081565b348015610669575f80fd5b506102a2610678366004611fca565b61108d565b348015610688575f80fd5b506102b96110d9565b34801561069c575f80fd5b506102b960165481565b3480156106b1575f80fd5b506102a26110f3565b3480156106c5575f80fd5b506102a26106d4366004611eb8565b611170565b3480156106e4575f80fd5b506102a26106f3366004611fea565b61121d565b348015610703575f80fd5b506102a2611274565b348015610717575f80fd5b5061031e610726366004611e56565b600b6020525f908152604090205460ff1681565b348015610745575f80fd5b506102b9610754366004611e1f565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b348015610789575f80fd5b506102a2610798366004611e56565b611290565b3480156107a8575f80fd5b506102b96107b736600461201a565b6112c0565b3480156107c7575f80fd5b506102a26107d6366004611e56565b6112d7565b3480156107e6575f80fd5b506102a26107f5366004611e85565b611350565b348015610805575f80fd5b506102b9601a5481565b34801561081a575f80fd5b506012546105be906001600160a01b031681565b335f908152601c602052604090205460ff168061085457505f546001600160a01b031633145b6108795760405162461bcd60e51b815260040161087090612033565b60405180910390fd5b43601655426017556018805462ff00001916620100001790556103e8600c8190556126ac600d819055600e91909155600f556b2c9717ab03d6e9aee80000006004819055600655565b335f8181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061091c9086815260200190565b60405180910390a35060015b92915050565b5f61093b6012600a61215e565b600554610948919061216c565b905090565b6001600160a01b0383165f9081526008602090815260408083203384529091528120545f19146109c9576001600160a01b0384165f9081526008602090815260408083203384529091529020546109a590839061218b565b6001600160a01b0385165f9081526008602090815260408083203384529091529020555b6109d4848484611382565b90505b9392505050565b6002546001600160a01b039081165f908152600760205260408082205460015490931682528120549091610a119161219e565b600354610948919061218b565b6011545f9060ff16158015610a4b57506001600160a01b0382165f9081526014602052604090205460ff16155b8015610a6f57506001600160a01b0383165f9081526014602052604090205460ff16155b15610a7b57505f610928565b6001600160a01b0383165f9081526009602052604090205460ff161580156109d75750506001600160a01b03165f9081526009602052604090205460ff1615919050565b610ac7611779565b6015546001600160a01b0390811690831603610b305760405162461bcd60e51b815260206004820152602260248201527f43616e277420616c7465722063757272656e74206c697175696469747920706160448201526134b960f11b6064820152608401610870565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b610b62611779565b5f83118015610b7057505f82115b8015610b7b57505f81115b8015610b8957506127108111155b610b91575f80fd5b8083600354610ba091906121b1565b610baa919061216c565b6004556003548190610bbd9084906121b1565b610bc7919061216c565b600555505050565b335f908152601c602052604090205460ff1680610bf557505f546001600160a01b031633145b610c115760405162461bcd60e51b815260040161087090612033565b478015610cca575f6001600160a01b0383166064610c2f86856121b1565b610c39919061216c565b6040515f81818185875af1925050503d805f8114610c72576040519150601f19603f3d011682016040523d82523d5f602084013e610c77565b606091505b5050905080610cc85760405162461bcd60e51b815260206004820152601860248201527f4661696c656420746f207472616e736665722066756e647300000000000000006044820152606401610870565b505b505050565b5f610928825f196108c2565b610ce3611779565b6001600160a01b03919091165f908152601c60205260409020805460ff1916911515919091179055565b5f610d1a6012600a61215e565b600654610948919061216c565b610d2f611779565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b610d61611779565b8215801590610d6f57508083145b610d77575f80fd5b335f5b84811015610e905760145f878784818110610d9757610d976121c8565b9050602002016020810190610dac9190611e56565b6001600160a01b0316815260208101919091526040015f205460ff16158015610e185750600b5f878784818110610de557610de56121c8565b9050602002016020810190610dfa9190611e56565b6001600160a01b0316815260208101919091526040015f205460ff16155b15610e7e57610e7c82878784818110610e3357610e336121c8565b9050602002016020810190610e489190611e56565b610e546012600a61215e565b878786818110610e6657610e666121c8565b90506020020135610e7791906121b1565b6117d2565b505b80610e88816121dc565b915050610d7a565b505050505050565b6011546040515f9161010090046001600160a01b03169047908381818185875af1925050503d805f8114610cc8576040519150601f19603f3d011682016040523d82523d5f602084013e610cc8565b610eef611779565b610ef85f611889565b565b305f908152600760205260409020548111158015610f1757505f81115b610f525760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b6044820152606401610870565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f8557610f856121c8565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fdc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100091906121f4565b81600181518110611013576110136121c8565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac947906110589085905f9086903090429060040161220f565b5f604051808303815f87803b15801561106f575f80fd5b505af1158015610e90573d5f803e3d5ffd5b5f6109d7338484611382565b611095611779565b5f821180156110a357505f81115b80156110b157506127108111155b6110b9575f80fd5b80826003546110c891906121b1565b6110d2919061216c565b6006555050565b5f6110e66012600a61215e565b600454610948919061216c565b335f908152601c602052604090205460ff168061111957505f546001600160a01b031633145b6111355760405162461bcd60e51b815260040161087090612033565b60185460ff1615611144575f80fd5b6018805460ff19166001179055612648600c819055600d819055600e819055600f554360165542601755565b611178611779565b600c839055600d829055600e839055600f8290556010819055808311156111d15760405162461bcd60e51b815260206004820152600d60248201526c08ccacae640e8dede40d0d2ced609b1b6044820152606401610870565b600e54600f5460105460408051938452602084019290925282820152517f01bae858246c904512695a3f6d48ab88abb7a0192fdd7c53b043e60317795f459181900360600190a1505050565b611225611779565b5f8211611230575f80fd5b6018805462ff00001916620100008515150217905560035461125390839061216c565b6019556112626012600a61215e565b61126c90826121b1565b601a55505050565b61127c611779565b6011805460ff19811660ff90911615179055565b611298611779565b601180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f81156112cf575050600f5490565b5050600e5490565b6112df611779565b6001600160a01b0381166113445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610870565b61134d81611889565b50565b611358611779565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b5f6001600160a01b0384166113d95760405162461bcd60e51b815260206004820152601860248201527f45524332303a207472616e736665722066726f6d2030783000000000000000006044820152606401610870565b6001600160a01b0383166114285760405162461bcd60e51b8152602060048201526016602482015275045524332303a207472616e7366657220746f203078360541b6044820152606401610870565b5f821161146f5760405162461bcd60e51b8152602060048201526015602482015274416d6f756e74206d757374206265203e207a65726f60581b6044820152606401610870565b6001600160a01b0384165f908152600760205260409020548211156114cd5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610870565b6016541580156114f457506001600160a01b0383165f9081526014602052604090205460ff165b15611560576001600160a01b0384165f908152600b602052604090205460ff166115605760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206e6f74206164646564207965742e00000000000000006044820152606401610870565b60185460ff166115eb576001600160a01b0384165f908152600b602052604090205460ff16806115a757506001600160a01b0383165f908152600b602052604090205460ff165b6115eb5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b6044820152606401610870565b6115f68484846118d8565b6001600160a01b0383165f9081526014602052604090205460ff1615801561162c57506001546001600160a01b03848116911614155b1561165a576001600160a01b0383165f908152600a602052604090205460ff1661165a5761165a838361198d565b601b5460ff1615611677576116708484846117d2565b90506109d7565b6001600160a01b0384165f9081526007602052604090205461169a90839061218b565b6001600160a01b0385165f90815260076020526040902055816116bd8585610a1e565b156116f0576116cc8484611a11565b90506116d784611a8d565b80156116e257505f83115b156116f0576116f083611b21565b6001600160a01b0384165f9081526007602052604090205461171390829061219e565b6001600160a01b038086165f8181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117669085815260200190565b60405180910390a3506001949350505050565b5f546001600160a01b03163314610ef85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610870565b6001600160a01b0383165f908152600760205260408120546117f590839061218b565b6001600160a01b038086165f90815260076020526040808220939093559085168152205461182490839061219e565b6001600160a01b038085165f8181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118779086815260200190565b60405180910390a35060019392505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f908152600a602052604090205460ff168061191557506001600160a01b0382165f908152600a602052604090205460ff165b1561191f57505050565b6001600160a01b0383165f9081526014602052604090205460ff166119465760055461194a565b6004545b811115610cca5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610870565b6006546001600160a01b0383165f9081526007602052604090205481906119b590849061219e565b1115610cca5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610870565b6001600160a01b0382165f9081526014602052604081205460105460ff909116908290611a3d836112c0565b611a4790866121b1565b611a51919061216c565b305f90815260076020526040812080549293508392909190611a7490849061219e565b90915550611a849050818561218b565b95945050505050565b335f9081526014602052604081205460ff16158015611aaf5750601b5460ff16155b8015611ac3575060185462010000900460ff165b8015611ae657506001600160a01b0382165f9081526014602052604090205460ff165b8015611b025750601a54305f9081526007602052604090205410155b801561092857505f600f54600e54611b1a919061219e565b1192915050565b601b805460ff191660011790556019545f908210611b4157601954611b43565b815b305f90815260076020526040902054909150811115611b6d5750305f908152600760205260409020545b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611ba057611ba06121c8565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c1b91906121f4565b81600181518110611c2e57611c2e6121c8565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b81524792919091169063791ac94790611c779086905f9087903090429060040161220f565b5f604051808303815f87803b158015611c8e575f80fd5b505af1158015611ca0573d5f803e3d5ffd5b505050505f8147611cb1919061218b565b9050808015611d13576011546040515f9161010090046001600160a01b03169083908381818185875af1925050503d805f8114611d09576040519150601f19603f3d011682016040523d82523d5f602084013e611d0e565b606091505b505050505b6040518181527f8eecd6f35243e1875b7143b093766263953bc97e6e92213e4ae934c67e1fe0de9060200160405180910390a15050601b805460ff1916905550505050565b5f6020808352835180828501525f5b81811015611d8357858101830151858201604001528201611d67565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461134d575f80fd5b5f8060408385031215611dc8575f80fd5b8235611dd381611da3565b946020939093013593505050565b5f805f60608486031215611df3575f80fd5b8335611dfe81611da3565b92506020840135611e0e81611da3565b929592945050506040919091013590565b5f8060408385031215611e30575f80fd5b8235611e3b81611da3565b91506020830135611e4b81611da3565b809150509250929050565b5f60208284031215611e66575f80fd5b81356109d781611da3565b80358015158114611e80575f80fd5b919050565b5f8060408385031215611e96575f80fd5b8235611ea181611da3565b9150611eaf60208401611e71565b90509250929050565b5f805f60608486031215611eca575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611ef2575f80fd5b823591506020830135611e4b81611da3565b5f8083601f840112611f14575f80fd5b50813567ffffffffffffffff811115611f2b575f80fd5b6020830191508360208260051b8501011115611f45575f80fd5b9250929050565b5f805f8060408587031215611f5f575f80fd5b843567ffffffffffffffff80821115611f76575f80fd5b611f8288838901611f04565b90965094506020870135915080821115611f9a575f80fd5b50611fa787828801611f04565b95989497509550505050565b5f60208284031215611fc3575f80fd5b5035919050565b5f8060408385031215611fdb575f80fd5b50508035926020909101359150565b5f805f60608486031215611ffc575f80fd5b61200584611e71565b95602085013595506040909401359392505050565b5f6020828403121561202a575f80fd5b6109d782611e71565b6020808252601b908201527f43616c6c6572206973206e6f742061207465616d206d656d6265720000000000604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156120b857815f190482111561209e5761209e61206a565b808516156120ab57918102915b93841c9390800290612083565b509250929050565b5f826120ce57506001610928565b816120da57505f610928565b81600181146120f057600281146120fa57612116565b6001915050610928565b60ff84111561210b5761210b61206a565b50506001821b610928565b5060208310610133831016604e8410600b8410161715612139575081810a610928565b612143838361207e565b805f19048211156121565761215661206a565b029392505050565b5f6109d760ff8416836120c0565b5f8261218657634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156109285761092861206a565b808201808211156109285761092861206a565b80820281158282048414176109285761092861206a565b634e487b7160e01b5f52603260045260245ffd5b5f600182016121ed576121ed61206a565b5060010190565b5f60208284031215612204575f80fd5b81516109d781611da3565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561225d5784516001600160a01b031683529383019391830191600101612238565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205f819df1200f5bf628144237664ed860cd3a7b98b0312d3d3f6a86cd5d914a4e64736f6c634300081400330000000000000000000000006e9a836d2b87d54d42355b58475f54add96187b1

Deployed Bytecode

0x608060405260043610610283575f3560e01c8063715018a611610155578063c9567bf9116100be578063e01bb68811610078578063e01bb6881461077e578063f1f3bca31461079d578063f2fde38b146107bc578063f84ba65d146107db578063f8821a62146107fa578063f887ea401461080f575f80fd5b8063c9567bf9146106a6578063cec10c11146106ba578063d0889358146106d9578063d912b2ce146106f8578063dae39f921461070c578063dd62ed3e1461073a575f80fd5b806395d89b411161010f57806395d89b41146102cc578063a8aa1b3114610620578063a9059cbb1461063f578063abe57e701461065e578063bafe446b1461067d578063bf56b37114610691575f80fd5b8063715018a61461055a5780638124f7ac1461056e578063881dce6014610587578063893d20e8146105a65780638b42507f146105d65780638da5cb5b14610604575f80fd5b8063492a937b116101f757806363a803e1116101b157806363a803e1146104a1578063658d4b7f146104b557806367243482146104d45780636ddd1713146104f35780636fc3eaec1461051257806370a0823114610526575f80fd5b8063492a937b146103f1578063507139351461041057806356a227f21461042f578063571ac8b01461044e5780635804f1e41461046d57806360bba03d14610482575f80fd5b8063234e949411610248578063234e94941461034257806323b872dd146103565780632b112e4914610375578063313ce56714610389578063332402f8146103a45780633f4218e0146103c3575f80fd5b806301339c211461028e5780630445b667146102a457806306fdde03146102cc578063095ea7b3146102ff57806318160ddd1461032e575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506102a261082e565b005b3480156102af575f80fd5b506102b960195481565b6040519081526020015b60405180910390f35b3480156102d7575f80fd5b50604080518082018252600581526454494d4d5960d81b602082015290516102c39190611d58565b34801561030a575f80fd5b5061031e610319366004611db7565b6108c2565b60405190151581526020016102c3565b348015610339575f80fd5b506003546102b9565b34801561034d575f80fd5b506102b961092e565b348015610361575f80fd5b5061031e610370366004611de1565b61094d565b348015610380575f80fd5b506102b96109de565b348015610394575f80fd5b50604051601281526020016102c3565b3480156103af575f80fd5b5061031e6103be366004611e1f565b610a1e565b3480156103ce575f80fd5b5061031e6103dd366004611e56565b60096020525f908152604090205460ff1681565b3480156103fc575f80fd5b506102a261040b366004611e85565b610abf565b34801561041b575f80fd5b506102a261042a366004611eb8565b610b5a565b34801561043a575f80fd5b506102a2610449366004611ee1565b610bcf565b348015610459575f80fd5b5061031e610468366004611e56565b610ccf565b348015610478575f80fd5b506102b960175481565b34801561048d575f80fd5b506102a261049c366004611e85565b610cdb565b3480156104ac575f80fd5b506102b9610d0d565b3480156104c0575f80fd5b506102a26104cf366004611e85565b610d27565b3480156104df575f80fd5b506102a26104ee366004611f4c565b610d59565b3480156104fe575f80fd5b5060185461031e9062010000900460ff1681565b34801561051d575f80fd5b506102a2610e98565b348015610531575f80fd5b506102b9610540366004611e56565b6001600160a01b03165f9081526007602052604090205490565b348015610565575f80fd5b506102a2610ee7565b348015610579575f80fd5b5060115461031e9060ff1681565b348015610592575f80fd5b506102a26105a1366004611fb3565b610efa565b3480156105b1575f80fd5b505f546001600160a01b03165b6040516001600160a01b0390911681526020016102c3565b3480156105e1575f80fd5b5061031e6105f0366004611e56565b600a6020525f908152604090205460ff1681565b34801561060f575f80fd5b505f546001600160a01b03166105be565b34801561062b575f80fd5b506015546105be906001600160a01b031681565b34801561064a575f80fd5b5061031e610659366004611db7565b611081565b348015610669575f80fd5b506102a2610678366004611fca565b61108d565b348015610688575f80fd5b506102b96110d9565b34801561069c575f80fd5b506102b960165481565b3480156106b1575f80fd5b506102a26110f3565b3480156106c5575f80fd5b506102a26106d4366004611eb8565b611170565b3480156106e4575f80fd5b506102a26106f3366004611fea565b61121d565b348015610703575f80fd5b506102a2611274565b348015610717575f80fd5b5061031e610726366004611e56565b600b6020525f908152604090205460ff1681565b348015610745575f80fd5b506102b9610754366004611e1f565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b348015610789575f80fd5b506102a2610798366004611e56565b611290565b3480156107a8575f80fd5b506102b96107b736600461201a565b6112c0565b3480156107c7575f80fd5b506102a26107d6366004611e56565b6112d7565b3480156107e6575f80fd5b506102a26107f5366004611e85565b611350565b348015610805575f80fd5b506102b9601a5481565b34801561081a575f80fd5b506012546105be906001600160a01b031681565b335f908152601c602052604090205460ff168061085457505f546001600160a01b031633145b6108795760405162461bcd60e51b815260040161087090612033565b60405180910390fd5b43601655426017556018805462ff00001916620100001790556103e8600c8190556126ac600d819055600e91909155600f556b2c9717ab03d6e9aee80000006004819055600655565b335f8181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061091c9086815260200190565b60405180910390a35060015b92915050565b5f61093b6012600a61215e565b600554610948919061216c565b905090565b6001600160a01b0383165f9081526008602090815260408083203384529091528120545f19146109c9576001600160a01b0384165f9081526008602090815260408083203384529091529020546109a590839061218b565b6001600160a01b0385165f9081526008602090815260408083203384529091529020555b6109d4848484611382565b90505b9392505050565b6002546001600160a01b039081165f908152600760205260408082205460015490931682528120549091610a119161219e565b600354610948919061218b565b6011545f9060ff16158015610a4b57506001600160a01b0382165f9081526014602052604090205460ff16155b8015610a6f57506001600160a01b0383165f9081526014602052604090205460ff16155b15610a7b57505f610928565b6001600160a01b0383165f9081526009602052604090205460ff161580156109d75750506001600160a01b03165f9081526009602052604090205460ff1615919050565b610ac7611779565b6015546001600160a01b0390811690831603610b305760405162461bcd60e51b815260206004820152602260248201527f43616e277420616c7465722063757272656e74206c697175696469747920706160448201526134b960f11b6064820152608401610870565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b610b62611779565b5f83118015610b7057505f82115b8015610b7b57505f81115b8015610b8957506127108111155b610b91575f80fd5b8083600354610ba091906121b1565b610baa919061216c565b6004556003548190610bbd9084906121b1565b610bc7919061216c565b600555505050565b335f908152601c602052604090205460ff1680610bf557505f546001600160a01b031633145b610c115760405162461bcd60e51b815260040161087090612033565b478015610cca575f6001600160a01b0383166064610c2f86856121b1565b610c39919061216c565b6040515f81818185875af1925050503d805f8114610c72576040519150601f19603f3d011682016040523d82523d5f602084013e610c77565b606091505b5050905080610cc85760405162461bcd60e51b815260206004820152601860248201527f4661696c656420746f207472616e736665722066756e647300000000000000006044820152606401610870565b505b505050565b5f610928825f196108c2565b610ce3611779565b6001600160a01b03919091165f908152601c60205260409020805460ff1916911515919091179055565b5f610d1a6012600a61215e565b600654610948919061216c565b610d2f611779565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b610d61611779565b8215801590610d6f57508083145b610d77575f80fd5b335f5b84811015610e905760145f878784818110610d9757610d976121c8565b9050602002016020810190610dac9190611e56565b6001600160a01b0316815260208101919091526040015f205460ff16158015610e185750600b5f878784818110610de557610de56121c8565b9050602002016020810190610dfa9190611e56565b6001600160a01b0316815260208101919091526040015f205460ff16155b15610e7e57610e7c82878784818110610e3357610e336121c8565b9050602002016020810190610e489190611e56565b610e546012600a61215e565b878786818110610e6657610e666121c8565b90506020020135610e7791906121b1565b6117d2565b505b80610e88816121dc565b915050610d7a565b505050505050565b6011546040515f9161010090046001600160a01b03169047908381818185875af1925050503d805f8114610cc8576040519150601f19603f3d011682016040523d82523d5f602084013e610cc8565b610eef611779565b610ef85f611889565b565b305f908152600760205260409020548111158015610f1757505f81115b610f525760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b6044820152606401610870565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f8557610f856121c8565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fdc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100091906121f4565b81600181518110611013576110136121c8565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac947906110589085905f9086903090429060040161220f565b5f604051808303815f87803b15801561106f575f80fd5b505af1158015610e90573d5f803e3d5ffd5b5f6109d7338484611382565b611095611779565b5f821180156110a357505f81115b80156110b157506127108111155b6110b9575f80fd5b80826003546110c891906121b1565b6110d2919061216c565b6006555050565b5f6110e66012600a61215e565b600454610948919061216c565b335f908152601c602052604090205460ff168061111957505f546001600160a01b031633145b6111355760405162461bcd60e51b815260040161087090612033565b60185460ff1615611144575f80fd5b6018805460ff19166001179055612648600c819055600d819055600e819055600f554360165542601755565b611178611779565b600c839055600d829055600e839055600f8290556010819055808311156111d15760405162461bcd60e51b815260206004820152600d60248201526c08ccacae640e8dede40d0d2ced609b1b6044820152606401610870565b600e54600f5460105460408051938452602084019290925282820152517f01bae858246c904512695a3f6d48ab88abb7a0192fdd7c53b043e60317795f459181900360600190a1505050565b611225611779565b5f8211611230575f80fd5b6018805462ff00001916620100008515150217905560035461125390839061216c565b6019556112626012600a61215e565b61126c90826121b1565b601a55505050565b61127c611779565b6011805460ff19811660ff90911615179055565b611298611779565b601180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f81156112cf575050600f5490565b5050600e5490565b6112df611779565b6001600160a01b0381166113445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610870565b61134d81611889565b50565b611358611779565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b5f6001600160a01b0384166113d95760405162461bcd60e51b815260206004820152601860248201527f45524332303a207472616e736665722066726f6d2030783000000000000000006044820152606401610870565b6001600160a01b0383166114285760405162461bcd60e51b8152602060048201526016602482015275045524332303a207472616e7366657220746f203078360541b6044820152606401610870565b5f821161146f5760405162461bcd60e51b8152602060048201526015602482015274416d6f756e74206d757374206265203e207a65726f60581b6044820152606401610870565b6001600160a01b0384165f908152600760205260409020548211156114cd5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610870565b6016541580156114f457506001600160a01b0383165f9081526014602052604090205460ff165b15611560576001600160a01b0384165f908152600b602052604090205460ff166115605760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206e6f74206164646564207965742e00000000000000006044820152606401610870565b60185460ff166115eb576001600160a01b0384165f908152600b602052604090205460ff16806115a757506001600160a01b0383165f908152600b602052604090205460ff165b6115eb5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b6044820152606401610870565b6115f68484846118d8565b6001600160a01b0383165f9081526014602052604090205460ff1615801561162c57506001546001600160a01b03848116911614155b1561165a576001600160a01b0383165f908152600a602052604090205460ff1661165a5761165a838361198d565b601b5460ff1615611677576116708484846117d2565b90506109d7565b6001600160a01b0384165f9081526007602052604090205461169a90839061218b565b6001600160a01b0385165f90815260076020526040902055816116bd8585610a1e565b156116f0576116cc8484611a11565b90506116d784611a8d565b80156116e257505f83115b156116f0576116f083611b21565b6001600160a01b0384165f9081526007602052604090205461171390829061219e565b6001600160a01b038086165f8181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117669085815260200190565b60405180910390a3506001949350505050565b5f546001600160a01b03163314610ef85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610870565b6001600160a01b0383165f908152600760205260408120546117f590839061218b565b6001600160a01b038086165f90815260076020526040808220939093559085168152205461182490839061219e565b6001600160a01b038085165f8181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118779086815260200190565b60405180910390a35060019392505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f908152600a602052604090205460ff168061191557506001600160a01b0382165f908152600a602052604090205460ff165b1561191f57505050565b6001600160a01b0383165f9081526014602052604090205460ff166119465760055461194a565b6004545b811115610cca5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610870565b6006546001600160a01b0383165f9081526007602052604090205481906119b590849061219e565b1115610cca5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610870565b6001600160a01b0382165f9081526014602052604081205460105460ff909116908290611a3d836112c0565b611a4790866121b1565b611a51919061216c565b305f90815260076020526040812080549293508392909190611a7490849061219e565b90915550611a849050818561218b565b95945050505050565b335f9081526014602052604081205460ff16158015611aaf5750601b5460ff16155b8015611ac3575060185462010000900460ff165b8015611ae657506001600160a01b0382165f9081526014602052604090205460ff165b8015611b025750601a54305f9081526007602052604090205410155b801561092857505f600f54600e54611b1a919061219e565b1192915050565b601b805460ff191660011790556019545f908210611b4157601954611b43565b815b305f90815260076020526040902054909150811115611b6d5750305f908152600760205260409020545b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611ba057611ba06121c8565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c1b91906121f4565b81600181518110611c2e57611c2e6121c8565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b81524792919091169063791ac94790611c779086905f9087903090429060040161220f565b5f604051808303815f87803b158015611c8e575f80fd5b505af1158015611ca0573d5f803e3d5ffd5b505050505f8147611cb1919061218b565b9050808015611d13576011546040515f9161010090046001600160a01b03169083908381818185875af1925050503d805f8114611d09576040519150601f19603f3d011682016040523d82523d5f602084013e611d0e565b606091505b505050505b6040518181527f8eecd6f35243e1875b7143b093766263953bc97e6e92213e4ae934c67e1fe0de9060200160405180910390a15050601b805460ff1916905550505050565b5f6020808352835180828501525f5b81811015611d8357858101830151858201604001528201611d67565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461134d575f80fd5b5f8060408385031215611dc8575f80fd5b8235611dd381611da3565b946020939093013593505050565b5f805f60608486031215611df3575f80fd5b8335611dfe81611da3565b92506020840135611e0e81611da3565b929592945050506040919091013590565b5f8060408385031215611e30575f80fd5b8235611e3b81611da3565b91506020830135611e4b81611da3565b809150509250929050565b5f60208284031215611e66575f80fd5b81356109d781611da3565b80358015158114611e80575f80fd5b919050565b5f8060408385031215611e96575f80fd5b8235611ea181611da3565b9150611eaf60208401611e71565b90509250929050565b5f805f60608486031215611eca575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611ef2575f80fd5b823591506020830135611e4b81611da3565b5f8083601f840112611f14575f80fd5b50813567ffffffffffffffff811115611f2b575f80fd5b6020830191508360208260051b8501011115611f45575f80fd5b9250929050565b5f805f8060408587031215611f5f575f80fd5b843567ffffffffffffffff80821115611f76575f80fd5b611f8288838901611f04565b90965094506020870135915080821115611f9a575f80fd5b50611fa787828801611f04565b95989497509550505050565b5f60208284031215611fc3575f80fd5b5035919050565b5f8060408385031215611fdb575f80fd5b50508035926020909101359150565b5f805f60608486031215611ffc575f80fd5b61200584611e71565b95602085013595506040909401359392505050565b5f6020828403121561202a575f80fd5b6109d782611e71565b6020808252601b908201527f43616c6c6572206973206e6f742061207465616d206d656d6265720000000000604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156120b857815f190482111561209e5761209e61206a565b808516156120ab57918102915b93841c9390800290612083565b509250929050565b5f826120ce57506001610928565b816120da57505f610928565b81600181146120f057600281146120fa57612116565b6001915050610928565b60ff84111561210b5761210b61206a565b50506001821b610928565b5060208310610133831016604e8410600b8410161715612139575081810a610928565b612143838361207e565b805f19048211156121565761215661206a565b029392505050565b5f6109d760ff8416836120c0565b5f8261218657634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156109285761092861206a565b808201808211156109285761092861206a565b80820281158282048414176109285761092861206a565b634e487b7160e01b5f52603260045260245ffd5b5f600182016121ed576121ed61206a565b5060010190565b5f60208284031215612204575f80fd5b81516109d781611da3565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561225d5784516001600160a01b031683529383019391830191600101612238565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205f819df1200f5bf628144237664ed860cd3a7b98b0312d3d3f6a86cd5d914a4e64736f6c63430008140033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006e9a836d2b87d54d42355b58475f54add96187b1

-----Decoded View---------------
Arg [0] : _marketingWallet (address): 0x6e9a836d2B87D54D42355B58475f54aDD96187B1

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006e9a836d2b87d54d42355b58475f54add96187b1


Deployed Bytecode Sourcemap

7020:13612:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14957:396;;;;;;;;;;;;;:::i;:::-;;8454:50;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8454:50:0;;;;;;;;9927:71;;;;;;;;;;-1:-1:-1;9990:5:0;;;;;;;;;;;-1:-1:-1;;;9990:5:0;;;;9927:71;;;;9990:5;9927:71;:::i;10668:216::-;;;;;;;;;;-1:-1:-1;10668:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;10668:216:0;1205:187:1;9675:88:0;;;;;;;;;;-1:-1:-1;9748:12:0;;9675:88;;10192:107;;;;;;;;;;;;;:::i;13118:341::-;;;;;;;;;;-1:-1:-1;13118:341:0;;;;;:::i;:::-;;:::i;20352:138::-;;;;;;;;;;;;;:::i;9769:71::-;;;;;;;;;;-1:-1:-1;9769:71:0;;7330:2;2000:36:1;;1988:2;1973:18;9769:71:0;1858:184:1;16205:255:0;;;;;;;;;;-1:-1:-1;16205:255:0;;;;;:::i;:::-;;:::i;7655:44::-;;;;;;;;;;-1:-1:-1;7655:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18298:184;;;;;;;;;;-1:-1:-1;18298:184:0;;;;;:::i;:::-;;:::i;18492:335::-;;;;;;;;;;-1:-1:-1;18492:335:0;;;;;:::i;:::-;;:::i;11625:329::-;;;;;;;;;;-1:-1:-1;11625:329:0;;;;;:::i;:::-;;:::i;10892:122::-;;;;;;;;;;-1:-1:-1;10892:122:0;;;;;:::i;:::-;;:::i;8315:27::-;;;;;;;;;;;;;;;;11022:119;;;;;;;;;;-1:-1:-1;11022:119:0;;;;;:::i;:::-;;:::i;10305:105::-;;;;;;;;;;;;;:::i;19062:119::-;;;;;;;;;;-1:-1:-1;19062:119:0;;;;;:::i;:::-;;:::i;11149:468::-;;;;;;;;;;-1:-1:-1;11149:468:0;;;;;:::i;:::-;;:::i;8416:31::-;;;;;;;;;;-1:-1:-1;8416:31:0;;;;;;;;;;;12425:179;;;;;;;;;;;;;:::i;10416:105::-;;;;;;;;;;-1:-1:-1;10416:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;10500:18:0;10482:7;10500:18;;;:9;:18;;;;;;;10416:105;6506:103;;;;;;;;;;;;;:::i;8009:31::-;;;;;;;;;;-1:-1:-1;8009:31:0;;;;;;;;11962:455;;;;;;;;;;-1:-1:-1;11962:455:0;;;;;:::i;:::-;;:::i;10004:71::-;;;;;;;;;;-1:-1:-1;10047:7:0;6348:6;-1:-1:-1;;;;;6348:6:0;10004:71;;;-1:-1:-1;;;;;5317:32:1;;;5299:51;;5287:2;5272:18;10004:71:0;5153:203:1;7706:48:0;;;;;;;;;;-1:-1:-1;7706:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6275:87;;;;;;;;;;-1:-1:-1;6321:7:0;6348:6;-1:-1:-1;;;;;6348:6:0;6275:87;;8255:19;;;;;;;;;;-1:-1:-1;8255:19:0;;;;-1:-1:-1;;;;;8255:19:0;;;12954:156;;;;;;;;;;-1:-1:-1;12954:156:0;;;;;:::i;:::-;;:::i;18835:219::-;;;;;;;;;;-1:-1:-1;18835:219:0;;;;;:::i;:::-;;:::i;10081:105::-;;;;;;;;;;;;;:::i;8283:25::-;;;;;;;;;;;;;;;;12612:334;;;;;;;;;;;;;:::i;19324:461::-;;;;;;;;;;-1:-1:-1;19324:461:0;;;;;:::i;:::-;;:::i;20049:295::-;;;;;;;;;;-1:-1:-1;20049:295:0;;;;;:::i;:::-;;:::i;19793:93::-;;;;;;;;;;;;;:::i;7761:49::-;;;;;;;;;;-1:-1:-1;7761:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10527:133;;;;;;;;;;-1:-1:-1;10527:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;10629:19:0;;;10611:7;10629:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10527:133;19894:147;;;;;;;;;;-1:-1:-1;19894:147:0;;;;;:::i;:::-;;:::i;16468:145::-;;;;;;;;;;-1:-1:-1;16468:145:0;;;;;:::i;:::-;;:::i;6615:201::-;;;;;;;;;;-1:-1:-1;6615:201:0;;;;;:::i;:::-;;:::i;19189:127::-;;;;;;;;;;-1:-1:-1;19189:127:0;;;;;:::i;:::-;;:::i;8511:49::-;;;;;;;;;;;;;;;;8102:24;;;;;;;;;;-1:-1:-1;8102:24:0;;;;-1:-1:-1;;;;;8102:24:0;;;14957:396;4405:10;8734:24;;;;:10;:24;;;;;;;;;:49;;-1:-1:-1;6321:7:0;6348:6;-1:-1:-1;;;;;6348:6:0;8762:10;:21;8734:49;8726:89;;;;-1:-1:-1;;;8726:89:0;;;;;;;:::i;:::-;;;;;;;;;15017:12:::1;15004:10;:25:::0;15055:15:::1;15040:12;:30:::0;15081:11:::1;:18:::0;;-1:-1:-1;;15081:18:0::1;::::0;::::1;::::0;;15127:4:::1;15112:12;:19:::0;;;15161:4:::1;15142:16;:23:::0;;;15176:11:::1;:26:::0;;;;15213:12:::1;:31:::0;15277:19:::1;15257:15;:39:::0;;;15307:14:::1;:38:::0;14957:396::o;10668:216::-;10772:10;10743:4;10760:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10760:32:0;;;;;;;;;;:41;;;10817:37;10743:4;;10760:32;;10817:37;;;;10795:6;160:25:1;;148:2;133:18;;14:177;10817:37:0;;;;;;;;-1:-1:-1;10872:4:0;10668:216;;;;;:::o;10192:107::-;10242:7;10280:15;7330:2;10280;:15;:::i;:::-;10260:16;;:36;;;;:::i;:::-;10253:43;;10192:107;:::o;13118:341::-;-1:-1:-1;;;;;13238:19:0;;13218:4;13238:19;;;:11;:19;;;;;;;;13258:10;13238:31;;;;;;;;-1:-1:-1;;13238:52:0;13235:157;;-1:-1:-1;;;;;13340:19:0;;;;;;:11;:19;;;;;;;;13360:10;13340:31;;;;;;;;:40;;13374:6;;13340:40;:::i;:::-;-1:-1:-1;;;;;13306:19:0;;;;;;:11;:19;;;;;;;;13326:10;13306:31;;;;;;;:74;13235:157;13411:40;13425:6;13433:9;13444:6;13411:13;:40::i;:::-;13404:47;;13118:341;;;;;;:::o;20352:138::-;20476:4;;-1:-1:-1;;;;;20476:4:0;;;20405:7;10500:18;;;:9;:18;;;;;;;20458:4;;;;;10500:18;;;;;20405:7;;20448:33;;;:::i;:::-;20432:12;;:50;;;;:::i;16205:255::-;16305:11;;16284:4;;16305:11;;16304:12;:42;;;;-1:-1:-1;;;;;;16321:25:0;;;;;;:14;:25;;;;;;;;16320:26;16304:42;:69;;;;-1:-1:-1;;;;;;16351:22:0;;;;;;:14;:22;;;;;;;;16350:23;16304:69;16301:86;;;-1:-1:-1;16382:5:0;16375:12;;16301:86;-1:-1:-1;;;;;16406:19:0;;;;;;:11;:19;;;;;;;;16405:20;:47;;;;-1:-1:-1;;;;;;;16430:22:0;;;;;:11;:22;;;;;;;;16429:23;;16398:54;-1:-1:-1;16205:255:0:o;18298:184::-;6236:13;:11;:13::i;:::-;18393:4:::1;::::0;-1:-1:-1;;;;;18393:4:0;;::::1;18387:10:::0;;::::1;::::0;18379:57:::1;;;::::0;-1:-1:-1;;;18379:57:0;;8904:2:1;18379:57:0::1;::::0;::::1;8886:21:1::0;8943:2;8923:18;;;8916:30;8982:34;8962:18;;;8955:62;-1:-1:-1;;;9033:18:1;;;9026:32;9075:19;;18379:57:0::1;8702:398:1::0;18379:57:0::1;-1:-1:-1::0;;;;;18447:18:0;;;::::1;;::::0;;;:14:::1;:18;::::0;;;;:27;;-1:-1:-1;;18447:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18298:184::o;18492:335::-;6236:13;:11;:13::i;:::-;18626:1:::1;18611:12;:16;:37;;;;;18647:1;18631:13;:17;18611:37;:52;;;;;18662:1;18652:7;:11;18611:52;:72;;;;;18678:5;18667:7;:16;;18611:72;18603:81;;;::::0;::::1;;18744:7;18728:12;18713;;:27;;;;:::i;:::-;18712:39;;;;:::i;:::-;18694:15;:57:::0;18781:12:::1;::::0;18813:7;;18781:28:::1;::::0;18796:13;;18781:28:::1;:::i;:::-;18780:40;;;;:::i;:::-;18761:16;:59:::0;-1:-1:-1;;;18492:335:0:o;11625:329::-;4405:10;8734:24;;;;:10;:24;;;;;;;;;:49;;-1:-1:-1;6321:7:0;6348:6;-1:-1:-1;;;;;6348:6:0;8762:10;:21;8734:49;8726:89;;;;-1:-1:-1;;;8726:89:0;;;;;;;:::i;:::-;11740:21:::1;11777:13:::0;;11774:173:::1;;11808:9;-1:-1:-1::0;;;;;11823:8:0;::::1;11872:3;11840:28;11852:16:::0;11840:9;:28:::1;:::i;:::-;11839:36;;;;:::i;:::-;11823:57;::::0;::::1;::::0;;;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11807:73;;;11903:4;11895:40;;;::::0;-1:-1:-1;;;11895:40:0;;9690:2:1;11895:40:0::1;::::0;::::1;9672:21:1::0;9729:2;9709:18;;;9702:30;9768:26;9748:18;;;9741:54;9812:18;;11895:40:0::1;9488:348:1::0;11895:40:0::1;11792:155;11774:173;11709:245;11625:329:::0;;:::o;10892:122::-;10947:4;10971:35;10979:7;-1:-1:-1;;10971:7:0;:35::i;11022:119::-;6236:13;:11;:13::i;:::-;-1:-1:-1;;;;;11105:17:0;;;::::1;;::::0;;;:10:::1;:17;::::0;;;;:28;;-1:-1:-1;;11105:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11022:119::o;10305:105::-;10355:7;10391:15;7330:2;10391;:15;:::i;:::-;10373:14;;:34;;;;:::i;19062:119::-;6236:13;:11;:13::i;:::-;-1:-1:-1;;;;;19145:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;19145:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19062:119::o;11149:468::-;6236:13;:11;:13::i;:::-;11262:20;;;;;:58:::1;;-1:-1:-1::0;11286:34:0;;::::1;11262:58;11254:67;;;::::0;::::1;;11347:10;11332:12;11370:240;11387:20:::0;;::::1;11370:240;;;11433:14;:28;11448:9;;11458:1;11448:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11433:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11433:28:0;;::::1;;11432:29;:64:::0;::::1;;;;11466:16;:30;11483:9;;11493:1;11483:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11466:30:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11466:30:0;;::::1;;11465:31;11432:64;11429:170;;;11517:66;11532:4;11538:9;;11548:1;11538:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11566:15;7330:2;11566;:15;:::i;:::-;11552:7;;11560:1;11552:10;;;;;;;:::i;:::-;;;;;;;:30;;;;:::i;:::-;11517:14;:66::i;:::-;;11429:170;11409:3:::0;::::1;::::0;::::1;:::i;:::-;;;;11370:240;;;;11243:374;11149:468:::0;;;;:::o;12425:179::-;12512:20;;12504:92;;12467:12;;12512:20;;;-1:-1:-1;;;;;12512:20:0;;12560:21;;12467:12;12504:92;12467:12;12504:92;12560:21;12512:20;12504:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6506:103;6236:13;:11;:13::i;:::-;6571:30:::1;6598:1;6571:18;:30::i;:::-;6506:103::o:0;11962:455::-;12054:4;10482:7;10500:18;;;:9;:18;;;;;;12026:6;:34;;:48;;;;;12073:1;12064:6;:10;12026:48;12018:73;;;;-1:-1:-1;;;12018:73:0;;10315:2:1;12018:73:0;;;10297:21:1;10354:2;10334:18;;;10327:30;-1:-1:-1;;;10373:18:1;;;10366:42;10425:18;;12018:73:0;10113:336:1;12018:73:0;12130:16;;;12144:1;12130:16;;;;;;;;12106:21;;12130:16;;;;;;;;;;-1:-1:-1;12130:16:0;12106:40;;12175:4;12157;12162:1;12157:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12157:23:0;;;:7;;;;;;;;;;:23;;;;12201:6;;:13;;;-1:-1:-1;;;12201:13:0;;;;:6;;;;;:11;;:13;;;;;12157:7;;12201:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12191:4;12196:1;12191:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12191:23:0;;;:7;;;;;;;;;:23;12227:6;;:182;;-1:-1:-1;;;12227:182:0;;:6;;;:57;;:182;;12299:6;;12227;;12336:4;;12363;;12383:15;;12227:182;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12954:156;13034:4;13058:44;13072:10;13084:9;13095:6;13058:13;:44::i;18835:219::-;6236:13;:11;:13::i;:::-;18945:1:::1;18933:9;:13;:28;;;;;18960:1;18950:7;:11;18933:28;:48;;;;;18976:5;18965:7;:16;;18933:48;18925:57;;;::::0;::::1;;19039:7;19026:9;19011:12;;:24;;;;:::i;:::-;19010:36;;;;:::i;:::-;18993:14;:53:::0;-1:-1:-1;;18835:219:0:o;10081:105::-;10130:7;10167:15;7330:2;10167;:15;:::i;:::-;10148;;:35;;;;:::i;12612:334::-;4405:10;8734:24;;;;:10;:24;;;;;;;;;:49;;-1:-1:-1;6321:7:0;6348:6;-1:-1:-1;;;;;6348:6:0;8762:10;:21;8734:49;8726:89;;;;-1:-1:-1;;;8726:89:0;;;;;;;:::i;:::-;12673:12:::1;::::0;::::1;;12672:13;12664:22;;;::::0;::::1;;12697:12;:19:::0;;-1:-1:-1;;12697:19:0::1;12712:4;12697:19;::::0;;12742:4:::1;12727:12;:19:::0;;;12757:16:::1;:23:::0;;;12791:11:::1;:26:::0;;;12828:12:::1;:31:::0;12885:12:::1;12872:10;:25:::0;12923:15:::1;12908:12;:30:::0;12612:334::o;19324:461::-;6236:13;:11;:13::i;:::-;19446:12:::1;:28:::0;;;19485:16:::1;:36:::0;;;19532:11:::1;:27:::0;;;19570:12:::1;:32:::0;;;19613:14:::1;:32:::0;;;19664:29;;::::1;;19656:55;;;::::0;-1:-1:-1;;;19656:55:0;;12029:2:1;19656:55:0::1;::::0;::::1;12011:21:1::0;12068:2;12048:18;;;12041:30;-1:-1:-1;;;12087:18:1;;;12080:43;12140:18;;19656:55:0::1;11827:337:1::0;19656:55:0::1;19735:11;::::0;19748:12:::1;::::0;19762:14:::1;::::0;19727:50:::1;::::0;;12371:25:1;;;12427:2;12412:18;;12405:34;;;;12455:18;;;12448:34;19727:50:0;::::1;::::0;;;;12359:2:1;19727:50:0;;::::1;19324:461:::0;;;:::o;20049:295::-;6236:13;:11;:13::i;:::-;20190:1:::1;20175:12;:16;20167:25;;;::::0;::::1;;20203:11;:22:::0;;-1:-1:-1;;20203:22:0::1;::::0;;::::1;;;;::::0;;20252:12:::1;::::0;:27:::1;::::0;20267:12;;20252:27:::1;:::i;:::-;20236:13;:43:::0;20320:15:::1;7330:2;20320;:15;:::i;:::-;20304:32;::::0;:12;:32:::1;:::i;:::-;20290:11;:46:::0;-1:-1:-1;;;20049:295:0:o;19793:93::-;6236:13;:11;:13::i;:::-;19867:11:::1;::::0;;-1:-1:-1;;19852:26:0;::::1;19867:11;::::0;;::::1;19866:12;19852:26;::::0;;19793:93::o;19894:147::-;6236:13;:11;:13::i;:::-;19980:20:::1;:53:::0;;-1:-1:-1;;;;;19980:53:0;;::::1;;;-1:-1:-1::0;;;;;;19980:53:0;;::::1;::::0;;;::::1;::::0;;19894:147::o;16468:145::-;16524:7;16548;16544:32;;;-1:-1:-1;;16564:12:0;;;16468:145::o;16544:32::-;-1:-1:-1;;16594:11:0;;;16468:145::o;6615:201::-;6236:13;:11;:13::i;:::-;-1:-1:-1;;;;;6704:22:0;::::1;6696:73;;;::::0;-1:-1:-1;;;6696:73:0;;12695:2:1;6696:73:0::1;::::0;::::1;12677:21:1::0;12734:2;12714:18;;;12707:30;12773:34;12753:18;;;12746:62;-1:-1:-1;;;12824:18:1;;;12817:36;12870:19;;6696:73:0::1;12493:402:1::0;6696:73:0::1;6780:28;6799:8;6780:18;:28::i;:::-;6615:201:::0;:::o;19189:127::-;6236:13;:11;:13::i;:::-;-1:-1:-1;;;;;19276:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;19276:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19189:127::o;13467:1384::-;13559:4;-1:-1:-1;;;;;13584:20:0;;13576:57;;;;-1:-1:-1;;;13576:57:0;;13102:2:1;13576:57:0;;;13084:21:1;13141:2;13121:18;;;13114:30;13180:26;13160:18;;;13153:54;13224:18;;13576:57:0;12900:348:1;13576:57:0;-1:-1:-1;;;;;13652:23:0;;13644:58;;;;-1:-1:-1;;;13644:58:0;;13455:2:1;13644:58:0;;;13437:21:1;13494:2;13474:18;;;13467:30;-1:-1:-1;;;13513:18:1;;;13506:52;13575:18;;13644:58:0;13253:346:1;13644:58:0;13730:1;13721:6;:10;13713:44;;;;-1:-1:-1;;;13713:44:0;;13806:2:1;13713:44:0;;;13788:21:1;13845:2;13825:18;;;13818:30;-1:-1:-1;;;13864:18:1;;;13857:51;13925:18;;13713:44:0;13604:345:1;13713:44:0;-1:-1:-1;;;;;13776:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;13776:27:0;13768:60;;;;-1:-1:-1;;;13768:60:0;;14156:2:1;13768:60:0;;;14138:21:1;14195:2;14175:18;;;14168:30;-1:-1:-1;;;14214:18:1;;;14207:50;14274:18;;13768:60:0;13954:344:1;13768:60:0;14926:10;;:15;;;13842:40;;-1:-1:-1;;;;;;13857:25:0;;;;;;:14;:25;;;;;;;;13842:40;13839:110;;;-1:-1:-1;;;;;13893:24:0;;;;;;:16;:24;;;;;;;;13885:61;;;;-1:-1:-1;;;13885:61:0;;14505:2:1;13885:61:0;;;14487:21:1;14544:2;14524:18;;;14517:30;14583:26;14563:18;;;14556:54;14627:18;;13885:61:0;14303:348:1;13885:61:0;13963:12;;;;13959:111;;-1:-1:-1;;;;;13986:24:0;;;;;;:16;:24;;;;;;;;;:55;;-1:-1:-1;;;;;;14014:27:0;;;;;;:16;:27;;;;;;;;13986:55;13978:89;;;;-1:-1:-1;;;13978:89:0;;14858:2:1;13978:89:0;;;14840:21:1;14897:2;14877:18;;;14870:30;-1:-1:-1;;;14916:18:1;;;14909:51;14977:18;;13978:89:0;14656:345:1;13978:89:0;14082:39;14095:6;14103:9;14114:6;14082:12;:39::i;:::-;-1:-1:-1;;;;;14139:25:0;;;;;;:14;:25;;;;;;;;14138:26;:47;;;;-1:-1:-1;14181:4:0;;-1:-1:-1;;;;;14168:17:0;;;14181:4;;14168:17;;14138:47;14134:182;;;-1:-1:-1;;;;;14207:26:0;;;;;;:15;:26;;;;;;;;14202:103;;14254:35;14271:9;14282:6;14254:16;:35::i;:::-;14331:6;;;;14328:63;;;14347:41;14362:6;14370:9;14381:6;14347:14;:41::i;:::-;14340:48;;;;14328:63;-1:-1:-1;;;;;14423:17:0;;;;;;:9;:17;;;;;;:26;;14443:6;;14423:26;:::i;:::-;-1:-1:-1;;;;;14403:17:0;;;;;;:9;:17;;;;;:46;14487:6;14509:32;14413:6;14531:9;14509:13;:32::i;:::-;14506:182;;;14575:26;14583:9;14594:6;14575:7;:26::i;:::-;14558:43;;14619:25;14634:9;14619:14;:25::i;:::-;:39;;;;;14657:1;14648:6;:10;14619:39;14616:60;;;14660:16;14669:6;14660:8;:16::i;:::-;-1:-1:-1;;;;;14723:20:0;;;;;;:9;:20;;;;;;:37;;14746:14;;14723:37;:::i;:::-;-1:-1:-1;;;;;14700:20:0;;;;;;;:9;:20;;;;;;;:60;;;;14778:43;;;;;;;;;;14806:14;160:25:1;;148:2;133:18;;14:177;14778:43:0;;;;;;;;-1:-1:-1;14839:4:0;;13467:1384;-1:-1:-1;;;;13467:1384:0:o;6368:132::-;6321:7;6348:6;-1:-1:-1;;;;;6348:6:0;4405:10;6432:23;6424:68;;;;-1:-1:-1;;;6424:68:0;;15208:2:1;6424:68:0;;;15190:21:1;;;15227:18;;;15220:30;15286:34;15266:18;;;15259:62;15338:18;;6424:68:0;15006:356:1;15361:300:0;-1:-1:-1;;;;;15491:17:0;;15454:4;15491:17;;;:9;:17;;;;;;:26;;15511:6;;15491:26;:::i;:::-;-1:-1:-1;;;;;15471:17:0;;;;;;;:9;:17;;;;;;:46;;;;15551:20;;;;;;;:29;;15574:6;;15551:29;:::i;:::-;-1:-1:-1;;;;;15528:20:0;;;;;;;:9;:20;;;;;;;:52;;;;15596:35;;;;;;;;;;15624:6;160:25:1;;148:2;133:18;;14:177;15596:35:0;;;;;;;;-1:-1:-1;15649:4:0;15361:300;;;;;:::o;6822:191::-;6896:16;6915:6;;-1:-1:-1;;;;;6932:17:0;;;-1:-1:-1;;;;;;6932:17:0;;;;;;6965:40;;6915:6;;;;;;;6965:40;;6896:16;6965:40;6885:128;6822:191;:::o;15912:285::-;-1:-1:-1;;;;;16014:23:0;;;;;;:15;:23;;;;;;;;;:53;;-1:-1:-1;;;;;;16041:26:0;;;;;;:15;:26;;;;;;;;16014:53;16010:66;;;15912:285;;;:::o;16010:66::-;-1:-1:-1;;;;;16105:22:0;;;;;;:14;:22;;;;;;;;:59;;16148:16;;16105:59;;;16130:15;;16105:59;16094:6;:71;;16086:101;;;;-1:-1:-1;;;16086:101:0;;15569:2:1;16086:101:0;;;15551:21:1;15608:2;15588:18;;;15581:30;-1:-1:-1;;;15627:18:1;;;15620:47;15684:18;;16086:101:0;15367:341:1;15669:235:0;15777:14;;-1:-1:-1;;;;;15810:20:0;;15755:19;15810:20;;;:9;:20;;;;;;15777:14;;15810:29;;15833:6;;15810:29;:::i;:::-;:44;;15802:94;;;;-1:-1:-1;;;15802:94:0;;15915:2:1;15802:94:0;;;15897:21:1;15954:2;15934:18;;;15927:30;15993:34;15973:18;;;15966:62;-1:-1:-1;;;16044:18:1;;;16037:35;16089:19;;15802:94:0;15713:401:1;16621:305:0;-1:-1:-1;;;;;16726:25:0;;16691:7;16726:25;;;:14;:25;;;;;;16816:14;;16726:25;;;;;16691:7;;16792:20;16726:25;16792:11;:20::i;:::-;16783:29;;:6;:29;:::i;:::-;16782:48;;;;:::i;:::-;16861:4;16843:24;;;;:9;:24;;;;;:37;;16762:68;;-1:-1:-1;16762:68:0;;16843:24;;;:37;;16762:68;;16843:37;:::i;:::-;;;;-1:-1:-1;16900:18:0;;-1:-1:-1;16909:9:0;16900:6;:18;:::i;:::-;16893:25;16621:305;-1:-1:-1;;;;;16621:305:0:o;16934:302::-;17040:10;17000:4;17025:26;;;:14;:26;;;;;;;;17024:27;:47;;;;-1:-1:-1;17065:6:0;;;;17064:7;17024:47;:71;;;;-1:-1:-1;17084:11:0;;;;;;;17024:71;:109;;;;-1:-1:-1;;;;;;17108:25:0;;;;;;:14;:25;;;;;;;;17024:109;:161;;;;-1:-1:-1;17174:11:0;;17164:4;17146:24;;;;:9;:24;;;;;;:39;;17024:161;:204;;;;;17227:1;17212:12;;17198:11;;:26;;;;:::i;:::-;:30;17017:211;16934:302;-1:-1:-1;;16934:302:0:o;17244:1046::-;8607:6;:13;;-1:-1:-1;;8607:13:0;8616:4;8607:13;;;17339::::1;::::0;8607:6;;17330:22;::::1;:47;;17364:13;;17330:47;;;17355:6;17330:47;17410:4;17392:24;::::0;;;:9:::1;:24;::::0;;;;;17307:70;;-1:-1:-1;17392:39:0;-1:-1:-1;17388:84:0::1;;;-1:-1:-1::0;17466:4:0::1;17448:24;::::0;;;:9:::1;:24;::::0;;;;;17388:84:::1;17509:16;::::0;;17523:1:::1;17509:16:::0;;;;;::::1;::::0;;17485:21:::1;::::0;17509:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17509:16:0::1;17485:40;;17554:4;17536;17541:1;17536:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17536:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;17580:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;17580:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;17536:7;;17580:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17570:4;17575:1;17570:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17570:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;17664:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;17664:188:0;;17630:21:::1;::::0;17664:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;17736:12;;17606:21:::1;::::0;17779:4;;17806::::1;::::0;17826:15:::1;::::0;17664:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17865:17;17909:13;17885:21;:37;;;;:::i;:::-;17865:57:::0;-1:-1:-1;17865:57:0;17990:22;;17986:243:::1;;18054:20;::::0;:56:::1;::::0;18030:18:::1;::::0;18054:20:::1;::::0;::::1;-1:-1:-1::0;;;;;18054:20:0::1;::::0;18087:18;;18030;18054:56;18030:18;18054:56;18087:18;18054:20;:56:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;17986:243:0::1;18246:36;::::0;160:25:1;;;18246:36:0::1;::::0;148:2:1;133:18;18246:36:0::1;;;;;;;-1:-1:-1::0;;8625:6:0;:14;;-1:-1:-1;;8625:14:0;;;-1:-1:-1;;;;17244:1046:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:388::-;2115:6;2123;2176:2;2164:9;2155:7;2151:23;2147:32;2144:52;;;2192:1;2189;2182:12;2144:52;2231:9;2218:23;2250:31;2275:5;2250:31;:::i;:::-;2300:5;-1:-1:-1;2357:2:1;2342:18;;2329:32;2370:33;2329:32;2370:33;:::i;:::-;2422:7;2412:17;;;2047:388;;;;;:::o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;2692:160::-;2757:20;;2813:13;;2806:21;2796:32;;2786:60;;2842:1;2839;2832:12;2786:60;2692:160;;;:::o;2857:315::-;2922:6;2930;2983:2;2971:9;2962:7;2958:23;2954:32;2951:52;;;2999:1;2996;2989:12;2951:52;3038:9;3025:23;3057:31;3082:5;3057:31;:::i;:::-;3107:5;-1:-1:-1;3131:35:1;3162:2;3147:18;;3131:35;:::i;:::-;3121:45;;2857:315;;;;;:::o;3177:316::-;3254:6;3262;3270;3323:2;3311:9;3302:7;3298:23;3294:32;3291:52;;;3339:1;3336;3329:12;3291:52;-1:-1:-1;;3362:23:1;;;3432:2;3417:18;;3404:32;;-1:-1:-1;3483:2:1;3468:18;;;3455:32;;3177:316;-1:-1:-1;3177:316:1:o;3498:315::-;3566:6;3574;3627:2;3615:9;3606:7;3602:23;3598:32;3595:52;;;3643:1;3640;3633:12;3595:52;3679:9;3666:23;3656:33;;3739:2;3728:9;3724:18;3711:32;3752:31;3777:5;3752:31;:::i;3818:367::-;3881:8;3891:6;3945:3;3938:4;3930:6;3926:17;3922:27;3912:55;;3963:1;3960;3953:12;3912:55;-1:-1:-1;3986:20:1;;4029:18;4018:30;;4015:50;;;4061:1;4058;4051:12;4015:50;4098:4;4090:6;4086:17;4074:29;;4158:3;4151:4;4141:6;4138:1;4134:14;4126:6;4122:27;4118:38;4115:47;4112:67;;;4175:1;4172;4165:12;4112:67;3818:367;;;;;:::o;4190:773::-;4312:6;4320;4328;4336;4389:2;4377:9;4368:7;4364:23;4360:32;4357:52;;;4405:1;4402;4395:12;4357:52;4445:9;4432:23;4474:18;4515:2;4507:6;4504:14;4501:34;;;4531:1;4528;4521:12;4501:34;4570:70;4632:7;4623:6;4612:9;4608:22;4570:70;:::i;:::-;4659:8;;-1:-1:-1;4544:96:1;-1:-1:-1;4747:2:1;4732:18;;4719:32;;-1:-1:-1;4763:16:1;;;4760:36;;;4792:1;4789;4782:12;4760:36;;4831:72;4895:7;4884:8;4873:9;4869:24;4831:72;:::i;:::-;4190:773;;;;-1:-1:-1;4922:8:1;-1:-1:-1;;;;4190:773:1:o;4968:180::-;5027:6;5080:2;5068:9;5059:7;5055:23;5051:32;5048:52;;;5096:1;5093;5086:12;5048:52;-1:-1:-1;5119:23:1;;4968:180;-1:-1:-1;4968:180:1:o;5361:248::-;5429:6;5437;5490:2;5478:9;5469:7;5465:23;5461:32;5458:52;;;5506:1;5503;5496:12;5458:52;-1:-1:-1;;5529:23:1;;;5599:2;5584:18;;;5571:32;;-1:-1:-1;5361:248:1:o;5614:316::-;5688:6;5696;5704;5757:2;5745:9;5736:7;5732:23;5728:32;5725:52;;;5773:1;5770;5763:12;5725:52;5796:26;5812:9;5796:26;:::i;:::-;5786:36;5869:2;5854:18;;5841:32;;-1:-1:-1;5920:2:1;5905:18;;;5892:32;;5614:316;-1:-1:-1;;;5614:316:1:o;5935:180::-;5991:6;6044:2;6032:9;6023:7;6019:23;6015:32;6012:52;;;6060:1;6057;6050:12;6012:52;6083:26;6099:9;6083:26;:::i;6346:351::-;6548:2;6530:21;;;6587:2;6567:18;;;6560:30;6626:29;6621:2;6606:18;;6599:57;6688:2;6673:18;;6346:351::o;6702:127::-;6763:10;6758:3;6754:20;6751:1;6744:31;6794:4;6791:1;6784:15;6818:4;6815:1;6808:15;6834:422;6923:1;6966:5;6923:1;6980:270;7001:7;6991:8;6988:21;6980:270;;;7060:4;7056:1;7052:6;7048:17;7042:4;7039:27;7036:53;;;7069:18;;:::i;:::-;7119:7;7109:8;7105:22;7102:55;;;7139:16;;;;7102:55;7218:22;;;;7178:15;;;;6980:270;;;6984:3;6834:422;;;;;:::o;7261:806::-;7310:5;7340:8;7330:80;;-1:-1:-1;7381:1:1;7395:5;;7330:80;7429:4;7419:76;;-1:-1:-1;7466:1:1;7480:5;;7419:76;7511:4;7529:1;7524:59;;;;7597:1;7592:130;;;;7504:218;;7524:59;7554:1;7545:10;;7568:5;;;7592:130;7629:3;7619:8;7616:17;7613:43;;;7636:18;;:::i;:::-;-1:-1:-1;;7692:1:1;7678:16;;7707:5;;7504:218;;7806:2;7796:8;7793:16;7787:3;7781:4;7778:13;7774:36;7768:2;7758:8;7755:16;7750:2;7744:4;7741:12;7737:35;7734:77;7731:159;;;-1:-1:-1;7843:19:1;;;7875:5;;7731:159;7922:34;7947:8;7941:4;7922:34;:::i;:::-;7992:6;7988:1;7984:6;7980:19;7971:7;7968:32;7965:58;;;8003:18;;:::i;:::-;8041:20;;7261:806;-1:-1:-1;;;7261:806:1:o;8072:140::-;8130:5;8159:47;8200:4;8190:8;8186:19;8180:4;8159:47;:::i;8217:217::-;8257:1;8283;8273:132;;8327:10;8322:3;8318:20;8315:1;8308:31;8362:4;8359:1;8352:15;8390:4;8387:1;8380:15;8273:132;-1:-1:-1;8419:9:1;;8217:217::o;8439:128::-;8506:9;;;8527:11;;;8524:37;;;8541:18;;:::i;8572:125::-;8637:9;;;8658:10;;;8655:36;;;8671:18;;:::i;9105:168::-;9178:9;;;9209;;9226:15;;;9220:22;;9206:37;9196:71;;9247:18;;:::i;9841:127::-;9902:10;9897:3;9893:20;9890:1;9883:31;9933:4;9930:1;9923:15;9957:4;9954:1;9947:15;9973:135;10012:3;10033:17;;;10030:43;;10053:18;;:::i;:::-;-1:-1:-1;10100:1:1;10089:13;;9973:135::o;10586:251::-;10656:6;10709:2;10697:9;10688:7;10684:23;10680:32;10677:52;;;10725:1;10722;10715:12;10677:52;10757:9;10751:16;10776:31;10801:5;10776:31;:::i;10842:980::-;11104:4;11152:3;11141:9;11137:19;11183:6;11172:9;11165:25;11209:2;11247:6;11242:2;11231:9;11227:18;11220:34;11290:3;11285:2;11274:9;11270:18;11263:31;11314:6;11349;11343:13;11380:6;11372;11365:22;11418:3;11407:9;11403:19;11396:26;;11457:2;11449:6;11445:15;11431:29;;11478:1;11488:195;11502:6;11499:1;11496:13;11488:195;;;11567:13;;-1:-1:-1;;;;;11563:39:1;11551:52;;11658:15;;;;11623:12;;;;11599:1;11517:9;11488:195;;;-1:-1:-1;;;;;;;11739:32:1;;;;11734:2;11719:18;;11712:60;-1:-1:-1;;;11803:3:1;11788:19;11781:35;11700:3;10842:980;-1:-1:-1;;;10842:980:1:o

Swarm Source

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