ETH Price: $2,671.31 (+1.29%)

Token

CyberTruck2.0 (TRUCK2.0)
 

Overview

Max Total Supply

1,000,000,000 TRUCK2.0

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,451,930.376363491 TRUCK2.0

Value
$0.00
0x8f290d0f672b55c3c95c51f6d1005eb04b0b7be4
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:
CyberTruck2

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-27
*/

//Website: cybertruck2.online
//Twitter: https://twitter.com/Cybertruck2Eth
//Telegram: https://t.me/Cybertruck2_Official

// SPDX-License-Identifier:MIT
pragma solidity ^0.8.10;

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

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

// Dex Router contract interface
interface IDexRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

contract CyberTruck2 is Context, IERC20, Ownable {
    using SafeMath for uint256;

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

    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isExcludedFromMaxTxn;
    mapping(address => bool) public isExcludedFromMaxHolding;
    mapping(address => bool) public isBot;

    string private _name = "CyberTruck2.0";
    string private _symbol = "TRUCK2.0";
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 1_000_000 * 1e12;

    address private constant DEAD = address(0xdead);
    address private constant ZERO = address(0);
    IDexRouter public dexRouter;
    address public dexPair;
    address public marketingWallet;

    uint256 public minTokenToSwap = _totalSupply.div(1e5); // this amount will trigger swap and distribute
    uint256 public maxHoldLimit = _totalSupply.div(100); // this is the max wallet holding limit
    uint256 public maxTxnLimit = _totalSupply.div(100); // this is the max transaction limit
    uint256 public botFee = 990;
    uint256 public percentDivider = 1000;
    uint256 public snipingTime = 60 seconds;
    uint256 public launchedAt;

    bool public distributeAndLiquifyStatus; // should be true to turn on to liquidate the pool
    bool public feesStatus; // enable by default
    bool public trading; // once enable can't be disable afterwards

    uint256 public liquidityFeeOnBuying = 10; // 1% will be added to the liquidity
    uint256 public marketingFeeOnBuying = 20; // 2% will be added to the marketing address

    uint256 public liquidityFeeOnSelling = 10; // 1% will be added to the liquidity
    uint256 public marketingFeeOnSelling = 150; // 2% will be added to the marketing address

    uint256 liquidityFeeCounter = 0;
    uint256 marketingFeeCounter = 0;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    constructor() {
        _balances[owner()] = _totalSupply;
        marketingWallet = address(0x71463a616945C5bD5c3480bB75A81f0Ebbd098F9);

        IDexRouter _dexRouter = IDexRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        // Create a dex pair for this new ERC20
        address _dexPair = IDexFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );
        dexPair = _dexPair;

        // set the rest of the contract variables
        dexRouter = _dexRouter;

        //exclude owner and this contract from fee
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[address(dexRouter)] = true;

        //exclude owner and this contract from max Txn
        isExcludedFromMaxTxn[owner()] = true;
        isExcludedFromMaxTxn[address(this)] = true;
        isExcludedFromMaxTxn[address(dexRouter)] = true;

        //exclude owner and this contract from max hold limit
        isExcludedFromMaxHolding[owner()] = true;
        isExcludedFromMaxHolding[address(this)] = true;
        isExcludedFromMaxHolding[address(dexRouter)] = true;
        isExcludedFromMaxHolding[dexPair] = true;
        isExcludedFromMaxHolding[marketingWallet] = true;

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

    //to receive ETH from dexRouter when swapping
    receive() external payable {}

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

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

    function decimals() public view returns (uint8) {
        return _decimals;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "TRUCK: transfer amount exceeds allowance"
            )
        );
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "TRUCK: decreased allowance or below zero"
            )
        );
        return true;
    }

    function includeOrExcludeFromFee(address account, bool value)
        external
        onlyOwner
    {
        isExcludedFromFee[account] = value;
    }

    function includeOrExcludeFromMaxTxn(
        address[] memory account,
        bool value
    ) external onlyOwner {
        for (uint256 i; i < account.length; i++) {
            isExcludedFromMaxTxn[account[i]] = value;
        }
    }

    function includeOrExcludeFromMaxHolding(address account, bool value)
        external
        onlyOwner
    {
        isExcludedFromMaxHolding[account] = value;
    }

    function setMinTokenToSwap(uint256 _amount) external onlyOwner {
        require(_amount > 0, "TRUCK: can't be 0");
        minTokenToSwap = _amount;
    }

    function setMaxHoldLimit(uint256 _amount) external onlyOwner {
        require(
            _amount >= _totalSupply.div(percentDivider),
            "TRUCK: should be greater than 0.1%"
        );
        maxHoldLimit = _amount;
    }

    function setMaxTxnLimit(uint256 _amount) external onlyOwner {
        require(
            _amount >= _totalSupply / percentDivider,
            "TRUCK: should be greater than 0.1%"
        );
        maxTxnLimit = _amount;
    }

    function setBuyFeePercent(
        uint256 _lpFee,
        uint256 _marketingFee
    ) external onlyOwner {
        marketingFeeOnBuying = _lpFee;
        liquidityFeeOnBuying = _marketingFee;
        require(
            _lpFee.add(_marketingFee) <= percentDivider.div(10),
            "TRUCK: can't be more than 10%"
        );
    }

    function setSellFeePercent(
        uint256 _lpFee,
        uint256 _marketingFee
    ) external onlyOwner {
        marketingFeeOnSelling = _lpFee;
        liquidityFeeOnSelling = _marketingFee;
        require(
            _lpFee.add(_marketingFee) <= percentDivider.div(10),
            "TRUCK: can't be more than 10%"
        );
    }

    function setDistributionStatus(bool _value) public onlyOwner {
        distributeAndLiquifyStatus = _value;
    }

    function enableOrDisableFees(bool _value) external onlyOwner {
        feesStatus = _value;
    }

    function updateAddresses(address _marketingWallet) external onlyOwner {
        marketingWallet = _marketingWallet;
    }

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

    function enableTrading() external onlyOwner {
        require(!trading, "TRUCK: already enabled");
        trading = true;
        feesStatus = true;
        distributeAndLiquifyStatus = true;
        launchedAt = block.timestamp;
    }

    function removeStuckEth(address _receiver) public onlyOwner {
        payable(_receiver).transfer(address(this).balance);
    }

    function totalBuyFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = amount
            .mul(marketingFeeOnBuying.add(liquidityFeeOnBuying))
            .div(percentDivider);
        return fee;
    }

    function totalSellFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = amount
            .mul(marketingFeeOnSelling.add(liquidityFeeOnSelling))
            .div(percentDivider);
        return fee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "TRUCK: approve from the zero address");
        require(spender != address(0), "TRUCK: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "TRUCK: transfer from the zero address");
        require(to != address(0), "TRUCK: transfer to the zero address");
        require(amount > 0, "TRUCK: Amount must be greater than zero");
        require(!isBot[from],"Bot detected");

        if (!isExcludedFromMaxTxn[from] && !isExcludedFromMaxTxn[to]) {
            require(amount <= maxTxnLimit, "TRUCK: max txn limit exceeds");

            // trading disable till launch
            if (!trading) {
                require(
                    dexPair != from && dexPair != to,
                    "TRUCK: trading is disable"
                );
            }
        }

        if (!isExcludedFromMaxHolding[to]) {
            require(
                balanceOf(to).add(amount) <= maxHoldLimit,
                "TRUCK: max hold limit exceeds"
            );
        }

        // swap and liquify
        distributeAndLiquify(from, to);

        //indicates if fee should be deducted from transfer
        bool takeFee = true;

        //if any account belongs to isExcludedFromFee account then remove the fee
        if (isExcludedFromFee[from] || isExcludedFromFee[to] || !feesStatus) {
            takeFee = false;
        }

        //transfer amount, it will take tax, burn, liquidity fee
        _tokenTransfer(from, to, amount, takeFee);
    }

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (dexPair == sender && takeFee) {
            uint256 allFee;
            uint256 tTransferAmount;
            // antibot
            if (
                block.timestamp < launchedAt + snipingTime &&
                sender != address(dexRouter)
            ) {
                allFee = amount.mul(botFee).div(percentDivider);
                marketingFeeCounter += allFee;
                tTransferAmount = amount.sub(allFee);
            } else {
                allFee = totalBuyFeePerTx(amount);
                tTransferAmount = amount.sub(allFee);
                setFeeCountersOnBuying(amount);
            }

            _balances[sender] = _balances[sender].sub(
                amount,
                "TRUCK: insufficient balance"
            );
            _balances[recipient] = _balances[recipient].add(tTransferAmount);
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else if (dexPair == recipient && takeFee) {
            uint256 allFee = totalSellFeePerTx(amount);
            uint256 tTransferAmount = amount.sub(allFee);
            _balances[sender] = _balances[sender].sub(
                amount,
                "TRUCK: insufficient balance"
            );
            _balances[recipient] = _balances[recipient].add(tTransferAmount);
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
            setFeeCountersOnSelling(amount);
        } else {
            _balances[sender] = _balances[sender].sub(
                amount,
                "TRUCK: insufficient balance"
            );
            _balances[recipient] = _balances[recipient].add(amount);
            emit Transfer(sender, recipient, amount);
        }
    }

    function takeTokenFee(address sender, uint256 amount) private {
        _balances[address(this)] = _balances[address(this)].add(amount);

        emit Transfer(sender, address(this), amount);
    }

    function setFeeCountersOnBuying(uint256 amount) private {
        liquidityFeeCounter += amount.mul(liquidityFeeOnBuying).div(
            percentDivider
        );
        marketingFeeCounter += amount.mul(marketingFeeOnBuying).div(
            percentDivider
        );
    }

    function setFeeCountersOnSelling(uint256 amount) private {
        liquidityFeeCounter += amount.mul(liquidityFeeOnSelling).div(
            percentDivider
        );
        marketingFeeCounter += amount.mul(marketingFeeOnSelling).div(
            percentDivider
        );
    }

    function distributeAndLiquify(address from, address to) private {
        if(liquidityFeeCounter.add(marketingFeeCounter) == 0) return;
        // is the token balance of this contract address over the min number of
        // tokens that we need to initiate a swap + liquidity lock?
        // also, don't get caught in a circular liquidity event.
        // also, don't swap & liquify if sender is Dex pair.
        uint256 contractTokenBalance = balanceOf(address(this));

        bool shouldSell = contractTokenBalance >= minTokenToSwap;

        if (
            shouldSell &&
            from != dexPair &&
            distributeAndLiquifyStatus &&
            !(from == address(this) && to == dexPair) // swap 1 time
        ) {
            // approve contract
            _approve(address(this), address(dexRouter), contractTokenBalance);

            uint256 halfLiquidity = liquidityFeeCounter.div(2);
            uint256 otherHalfLiquidity = liquidityFeeCounter.sub(halfLiquidity);

            uint256 tokenAmountToBeSwapped = contractTokenBalance.sub(
                otherHalfLiquidity
            );

            uint256 balanceBefore = address(this).balance;

            // now is to lock into liquidty pool
            Utils.swapTokensForEth(address(dexRouter), tokenAmountToBeSwapped);

            uint256 deltaBalance = address(this).balance.sub(balanceBefore);

            uint256 ethToBeAddedToLiquidity = deltaBalance
                .mul(halfLiquidity)
                .div(tokenAmountToBeSwapped);

            // add liquidity to Dex
            if (ethToBeAddedToLiquidity > 0) {
                Utils.addLiquidity(
                    address(dexRouter),
                    DEAD,
                    otherHalfLiquidity,
                    ethToBeAddedToLiquidity
                );

                emit SwapAndLiquify(
                    halfLiquidity,
                    ethToBeAddedToLiquidity,
                    otherHalfLiquidity
                );
            }

            uint256 ethForMarketing = address(this).balance;

            // sending Eth to Marketing wallet
            if (ethForMarketing > 0) payable(marketingWallet).transfer(ethForMarketing);

            // Reset all fee counters
            liquidityFeeCounter = 0;
            marketingFeeCounter = 0;
        }
    }
}

// Library for doing a swap on Dex
library Utils {
    using SafeMath for uint256;

    function swapTokensForEth(address routerAddress, uint256 tokenAmount)
        internal
    {
        IDexRouter dexRouter = IDexRouter(routerAddress);

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

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

    function addLiquidity(
        address routerAddress,
        address owner,
        uint256 tokenAmount,
        uint256 ethAmount
    ) internal {
        IDexRouter dexRouter = IDexRouter(routerAddress);

        // add the liquidity
        dexRouter.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner,
            block.timestamp + 300
        );
    }
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"botFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeAndLiquifyStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableOrDisableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxHolding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxHolding","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokenToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"name":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lpFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"setDistributionStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxHoldLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxTxnLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinTokenToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lpFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setSellFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalBuyFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalSellFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"updateAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600d60808190526c04379626572547275636b322e3609c1b60a0908152620000309160079190620005ba565b50604080518082019091526008808252670545255434b322e360c41b6020909201918252620000609181620005ba565b506009805460ff191681179055670de0b6b3a7640000600a8190556200009690620186a062000524602090811b6200124017901c565b600e55620000b66064600a546200052460201b620012401790919060201c565b600f55620000d66064600a546200052460201b620012401790919060201c565b6010556103de6011556103e8601255603c601355600a6016556014601755600a60185560966019556000601a556000601b553480156200011557600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600a54600160006200016f6000546001600160a01b031690565b6001600160a01b031681526020808201929092526040908101600090812093909355600d80546001600160a01b0319167371463a616945c5bd5c3480bb75a81f0ebbd098f9179055805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9392849263c45a015592600480830193928290030181865afa15801562000205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022b919062000660565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000279573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029f919062000660565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000313919062000660565b600c80546001600160a01b038084166001600160a01b031992831617909255600b80549286169290911691909117905590506001600360006200035e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600b54909116835290822080549093168117909255600490620003ce6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600b549091168352908220805490931681179092556005906200043e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600b54821684528284208054861682179055600c54821684528284208054861682179055600d54909116835291208054909216179055620004cc6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200051491815260200190565b60405180910390a3505062000743565b60006200056e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200057560201b60201c565b9392505050565b60008183620005a25760405162461bcd60e51b81526004016200059991906200068b565b60405180910390fd5b506000620005b18486620006e3565b95945050505050565b828054620005c89062000706565b90600052602060002090601f016020900481019282620005ec576000855562000637565b82601f106200060757805160ff191683800117855562000637565b8280016001018555821562000637579182015b82811115620006375782518255916020019190600101906200061a565b506200064592915062000649565b5090565b5b808211156200064557600081556001016200064a565b6000602082840312156200067357600080fd5b81516001600160a01b03811681146200056e57600080fd5b600060208083528351808285015260005b81811015620006ba578581018301518582016040015282016200069c565b81811115620006cd576000604083870101525b50601f01601f1916929092016040019392505050565b6000826200070157634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806200071b57607f821691505b602082108114156200073d57634e487b7160e01b600052602260045260246000fd5b50919050565b61270780620007536000396000f3fe6080604052600436106102e85760003560e01c8063879dd3c511610190578063bf56b371116100dc578063ed42142911610095578063f2fde38b1161006f578063f2fde38b146108f8578063f4b3dbc314610918578063f9dfdaeb14610938578063fe6f1b051461095857600080fd5b8063ed42142914610898578063f097ea1a146108b8578063f242ab41146108d857600080fd5b8063bf56b371146107d0578063bf862391146107e6578063dd62ed3e146107fc578063e6c84dc614610842578063ea5b9e8514610858578063ec44acf21461087857600080fd5b80639a36dfa111610149578063a643c1a011610123578063a643c1a014610750578063a9059cbb14610770578063b0bc2a2d14610790578063be291dc6146107b057600080fd5b80639a36dfa1146106fa5780639b6a275014610710578063a457c2d71461073057600080fd5b8063879dd3c5146106435780638a8c523c146106625780638da5cb5b1461067757806391ce43ac1461069557806395d89b41146106b557806399b102b5146106ca57600080fd5b80633bbac5791161024f57806375f0a874116102085780637d99c66d116101e25780637d99c66d146105c7578063844af78e146105dd57806384ea21bc146105f35780638756aabd1461062357600080fd5b806375f0a8741461057757806379777b4e146105975780637c6a9a9c146105b157600080fd5b80633bbac579146104965780635342acb4146104c6578063679a3c59146104f6578063681aa3621461051657806370a082311461052c578063715018a61461056257600080fd5b80631884f1e6116102a15780631884f1e6146103e857806323b872dd146103fe5780632d1293901461041e578063313ce5671461043e5780633326d7f214610460578063395093511461047657600080fd5b806303c0f5d4146102f457806306fdde03146103165780630758d92414610341578063095ea7b3146103795780630a2d140c146103a957806318160ddd146103c957600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061031461030f3660046121ac565b61096e565b005b34801561032257600080fd5b5061032b6109cc565b60405161033891906121e1565b60405180910390f35b34801561034d57600080fd5b50600b54610361906001600160a01b031681565b6040516001600160a01b039091168152602001610338565b34801561038557600080fd5b50610399610394366004612236565b610a5e565b6040519015158152602001610338565b3480156103b557600080fd5b506103146103c4366004612262565b610a75565b3480156103d557600080fd5b50600a545b604051908152602001610338565b3480156103f457600080fd5b506103da600e5481565b34801561040a57600080fd5b5061039961041936600461227d565b610ab2565b34801561042a57600080fd5b506103146104393660046121ac565b610b1b565b34801561044a57600080fd5b5060095460405160ff9091168152602001610338565b34801561046c57600080fd5b506103da60165481565b34801561048257600080fd5b50610399610491366004612236565b610b70565b3480156104a257600080fd5b506103996104b13660046122be565b60066020526000908152604090205460ff1681565b3480156104d257600080fd5b506103996104e13660046122be565b60036020526000908152604090205460ff1681565b34801561050257600080fd5b506103146105113660046122be565b610ba6565b34801561052257600080fd5b506103da60105481565b34801561053857600080fd5b506103da6105473660046122be565b6001600160a01b031660009081526001602052604090205490565b34801561056e57600080fd5b50610314610c09565b34801561058357600080fd5b50600d54610361906001600160a01b031681565b3480156105a357600080fd5b506015546103999060ff1681565b3480156105bd57600080fd5b506103da60175481565b3480156105d357600080fd5b506103da60135481565b3480156105e957600080fd5b506103da60195481565b3480156105ff57600080fd5b5061039961060e3660046122be565b60056020526000908152604090205460ff1681565b34801561062f57600080fd5b5061031461063e3660046122db565b610c7d565b34801561064f57600080fd5b5060155461039990610100900460ff1681565b34801561066e57600080fd5b50610314610cda565b34801561068357600080fd5b506000546001600160a01b0316610361565b3480156106a157600080fd5b506103146106b036600461230a565b610d6d565b3480156106c157600080fd5b5061032b610e03565b3480156106d657600080fd5b506103996106e53660046122be565b60046020526000908152604090205460ff1681565b34801561070657600080fd5b506103da600f5481565b34801561071c57600080fd5b5061031461072b3660046122db565b610e12565b34801561073c57600080fd5b5061039961074b366004612236565b610e70565b34801561075c57600080fd5b5061031461076b3660046122be565b610ebf565b34801561077c57600080fd5b5061039961078b366004612236565b610f0b565b34801561079c57600080fd5b506103146107ab366004612262565b610f18565b3480156107bc57600080fd5b506103146107cb3660046123e1565b610f5c565b3480156107dc57600080fd5b506103da60145481565b3480156107f257600080fd5b506103da60115481565b34801561080857600080fd5b506103da610817366004612403565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561084e57600080fd5b506103da60185481565b34801561086457600080fd5b506103146108733660046121ac565b610ff6565b34801561088457600080fd5b506015546103999062010000900460ff1681565b3480156108a457600080fd5b506103da6108b33660046122db565b61104b565b3480156108c457600080fd5b506103146108d33660046122db565b611082565b3480156108e457600080fd5b50600c54610361906001600160a01b031681565b34801561090457600080fd5b506103146109133660046122be565b6110f5565b34801561092457600080fd5b506103da6109333660046122db565b6111df565b34801561094457600080fd5b506103146109533660046123e1565b611202565b34801561096457600080fd5b506103da60125481565b6000546001600160a01b031633146109a15760405162461bcd60e51b81526004016109989061243c565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6060600780546109db90612471565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0790612471565b8015610a545780601f10610a2957610100808354040283529160200191610a54565b820191906000526020600020905b815481529060010190602001808311610a3757829003601f168201915b5050505050905090565b6000610a6b338484611282565b5060015b92915050565b6000546001600160a01b03163314610a9f5760405162461bcd60e51b81526004016109989061243c565b6015805460ff1916911515919091179055565b6000610abf8484846113a6565b610b118433610b0c8560405180606001604052806028815260200161268a602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611759565b611282565b5060019392505050565b6000546001600160a01b03163314610b455760405162461bcd60e51b81526004016109989061243c565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610a6b918590610b0c9086611793565b6000546001600160a01b03163314610bd05760405162461bcd60e51b81526004016109989061243c565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610c05573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610c335760405162461bcd60e51b81526004016109989061243c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ca75760405162461bcd60e51b81526004016109989061243c565b601254600a54610cb691611240565b811015610cd55760405162461bcd60e51b8152600401610998906124ac565b600f55565b6000546001600160a01b03163314610d045760405162461bcd60e51b81526004016109989061243c565b60155462010000900460ff1615610d565760405162461bcd60e51b815260206004820152601660248201527515149550d2ce88185b1c9958591e48195b98589b195960521b6044820152606401610998565b6015805462ffffff19166201010117905542601455565b6000546001600160a01b03163314610d975760405162461bcd60e51b81526004016109989061243c565b60005b8251811015610dfe578160046000858481518110610dba57610dba6124ee565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610df68161251a565b915050610d9a565b505050565b6060600880546109db90612471565b6000546001600160a01b03163314610e3c5760405162461bcd60e51b81526004016109989061243c565b601254600a54610e4c9190612535565b811015610e6b5760405162461bcd60e51b8152600401610998906124ac565b601055565b6000610a6b3384610b0c85604051806060016040528060288152602001612662602891393360009081526002602090815260408083206001600160a01b038d1684529091529020549190611759565b6000546001600160a01b03163314610ee95760405162461bcd60e51b81526004016109989061243c565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a6b3384846113a6565b6000546001600160a01b03163314610f425760405162461bcd60e51b81526004016109989061243c565b601580549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610f865760405162461bcd60e51b81526004016109989061243c565b60198290556018819055601254610f9e90600a611240565b610fa88383611793565b1115610c055760405162461bcd60e51b815260206004820152601d60248201527f545255434b3a2063616e2774206265206d6f7265207468616e203130250000006044820152606401610998565b6000546001600160a01b031633146110205760405162461bcd60e51b81526004016109989061243c565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b60008061107b60125461107561106e60165460175461179390919063ffffffff16565b86906117f2565b90611240565b9392505050565b6000546001600160a01b031633146110ac5760405162461bcd60e51b81526004016109989061243c565b600081116110f05760405162461bcd60e51b81526020600482015260116024820152700545255434b3a2063616e2774206265203607c1b6044820152606401610998565b600e55565b6000546001600160a01b0316331461111f5760405162461bcd60e51b81526004016109989061243c565b6001600160a01b0381166111845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610998565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008061107b60125461107561106e60185460195461179390919063ffffffff16565b6000546001600160a01b0316331461122c5760405162461bcd60e51b81526004016109989061243c565b60178290556016819055601254610f9e90600a5b600061107b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611871565b6001600160a01b0383166112e45760405162461bcd60e51b8152602060048201526024808201527f545255434b3a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610998565b6001600160a01b0382166113455760405162461bcd60e51b815260206004820152602260248201527f545255434b3a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610998565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661140a5760405162461bcd60e51b815260206004820152602560248201527f545255434b3a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610998565b6001600160a01b03821661146c5760405162461bcd60e51b815260206004820152602360248201527f545255434b3a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610998565b600081116114cc5760405162461bcd60e51b815260206004820152602760248201527f545255434b3a20416d6f756e74206d7573742062652067726561746572207468604482015266616e207a65726f60c81b6064820152608401610998565b6001600160a01b03831660009081526006602052604090205460ff16156115245760405162461bcd60e51b815260206004820152600c60248201526b109bdd0819195d1958dd195960a21b6044820152606401610998565b6001600160a01b03831660009081526004602052604090205460ff1615801561156657506001600160a01b03821660009081526004602052604090205460ff16155b15611645576010548111156115bd5760405162461bcd60e51b815260206004820152601c60248201527f545255434b3a206d61782074786e206c696d69742065786365656473000000006044820152606401610998565b60155462010000900460ff1661164557600c546001600160a01b038481169116148015906115f95750600c546001600160a01b03838116911614155b6116455760405162461bcd60e51b815260206004820152601960248201527f545255434b3a2074726164696e672069732064697361626c65000000000000006044820152606401610998565b6001600160a01b03821660009081526005602052604090205460ff166116df57600f546116918261168b856001600160a01b031660009081526001602052604090205490565b90611793565b11156116df5760405162461bcd60e51b815260206004820152601d60248201527f545255434b3a206d617820686f6c64206c696d697420657863656564730000006044820152606401610998565b6116e9838361189f565b6001600160a01b03831660009081526003602052604090205460019060ff168061172b57506001600160a01b03831660009081526003602052604090205460ff165b8061173e5750601554610100900460ff16155b15611747575060005b61175384848484611a70565b50505050565b6000818484111561177d5760405162461bcd60e51b815260040161099891906121e1565b50600061178a8486612557565b95945050505050565b6000806117a0838561256e565b90508381101561107b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610998565b60008261180157506000610a6f565b600061180d8385612586565b90508261181a8583612535565b1461107b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610998565b600081836118925760405162461bcd60e51b815260040161099891906121e1565b50600061178a8486612535565b601b54601a546118ae91611793565b6118b6575050565b30600090815260016020526040902054600e54811080159081906118e85750600c546001600160a01b03858116911614155b80156118f6575060155460ff165b801561192457506001600160a01b038416301480156119225750600c546001600160a01b038481169116145b155b1561175357600b546119419030906001600160a01b031684611282565b601a54600090611952906002611240565b9050600061196b82601a54611e1d90919063ffffffff16565b905060006119798583611e1d565b600b549091504790611994906001600160a01b031683611e5f565b60006119a04783611e1d565b905060006119b28461107584896117f2565b90508015611a1657600b546119d4906001600160a01b031661dead8784611fb3565b60408051878152602081018390529081018690527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b478015611a5957600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611a57573d6000803e3d6000fd5b505b50506000601a819055601b55505050505050505050565b600c546001600160a01b038581169116148015611a8a5750805b15611c0e57600080601354601454611aa2919061256e565b42108015611abe5750600b546001600160a01b03878116911614155b15611b0957611ade601254611075601154876117f290919063ffffffff16565b915081601b6000828254611af2919061256e565b90915550611b0290508483611e1d565b9050611b29565b611b128461104b565b9150611b1e8483611e1d565b9050611b2984612068565b604080518082018252601b81527f545255434b3a20696e73756666696369656e742062616c616e636500000000006020808301919091526001600160a01b038916600090815260019091529190912054611b84918690611759565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611bb39082611793565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206126b283398151915290611bf59085815260200190565b60405180910390a3611c0786836120c8565b5050611753565b600c546001600160a01b038481169116148015611c285750805b15611d43576000611c38836111df565b90506000611c468483611e1d565b9050611cb7846040518060400160405280601b81526020017f545255434b3a20696e73756666696369656e742062616c616e63650000000000815250600160008a6001600160a01b03166001600160a01b03168152602001908152602001600020546117599092919063ffffffff16565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611ce69082611793565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206126b283398151915290611d289085815260200190565b60405180910390a3611d3a86836120c8565b611c078461212d565b604080518082018252601b81527f545255434b3a20696e73756666696369656e742062616c616e636500000000006020808301919091526001600160a01b038716600090815260019091529190912054611d9e918490611759565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611dcd9083611793565b6001600160a01b0380851660008181526001602052604090819020939093559151908616906000805160206126b283398151915290611e0f9086815260200190565b60405180910390a350505050565b600061107b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611759565b604080516002808252606082018352849260009291906020830190803683370190505090503081600081518110611e9857611e986124ee565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1a91906125a5565b81600181518110611f2d57611f2d6124ee565b6001600160a01b039283166020918202929092010152821663791ac9478460008430611f5b4261012c61256e565b6040518663ffffffff1660e01b8152600401611f7b9594939291906125c2565b600060405180830381600087803b158015611f9557600080fd5b505af1158015611fa9573d6000803e3d6000fd5b5050505050505050565b836001600160a01b03811663f305d7198330866000808a611fd64261012c61256e565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015612043573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fa99190612633565b612083601254611075601654846117f290919063ffffffff16565b601a6000828254612094919061256e565b90915550506012546017546120af91906110759084906117f2565b601b60008282546120c0919061256e565b909155505050565b306000908152600160205260409020546120e29082611793565b30600081815260016020526040908190209290925590516001600160a01b038416906000805160206126b2833981519152906121219085815260200190565b60405180910390a35050565b612148601254611075601854846117f290919063ffffffff16565b601a6000828254612159919061256e565b90915550506012546019546120af91906110759084906117f2565b6001600160a01b038116811461218957600080fd5b50565b803561219781612174565b919050565b8035801515811461219757600080fd5b600080604083850312156121bf57600080fd5b82356121ca81612174565b91506121d86020840161219c565b90509250929050565b600060208083528351808285015260005b8181101561220e578581018301518582016040015282016121f2565b81811115612220576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561224957600080fd5b823561225481612174565b946020939093013593505050565b60006020828403121561227457600080fd5b61107b8261219c565b60008060006060848603121561229257600080fd5b833561229d81612174565b925060208401356122ad81612174565b929592945050506040919091013590565b6000602082840312156122d057600080fd5b813561107b81612174565b6000602082840312156122ed57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561231d57600080fd5b823567ffffffffffffffff8082111561233557600080fd5b818501915085601f83011261234957600080fd5b813560208282111561235d5761235d6122f4565b8160051b604051601f19603f83011681018181108682111715612382576123826122f4565b6040529283528183019350848101820192898411156123a057600080fd5b948201945b838610156123c5576123b68661218c565b855294820194938201936123a5565b96506123d4905087820161219c565b9450505050509250929050565b600080604083850312156123f457600080fd5b50508035926020909101359150565b6000806040838503121561241657600080fd5b823561242181612174565b9150602083013561243181612174565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061248557607f821691505b602082108114156124a657634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526022908201527f545255434b3a2073686f756c642062652067726561746572207468616e20302e604082015261312560f01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561252e5761252e612504565b5060010190565b60008261255257634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561256957612569612504565b500390565b6000821982111561258157612581612504565b500190565b60008160001904831182151516156125a0576125a0612504565b500290565b6000602082840312156125b757600080fd5b815161107b81612174565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126125784516001600160a01b0316835293830193918301916001016125ed565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561264857600080fd5b835192506020840151915060408401519050925092509256fe545255434b3a2064656372656173656420616c6c6f77616e6365206f722062656c6f77207a65726f545255434b3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c2b477d195947fb44789041401d7f6194f18371bb2e820726f4cc8f4a802a84d64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106102e85760003560e01c8063879dd3c511610190578063bf56b371116100dc578063ed42142911610095578063f2fde38b1161006f578063f2fde38b146108f8578063f4b3dbc314610918578063f9dfdaeb14610938578063fe6f1b051461095857600080fd5b8063ed42142914610898578063f097ea1a146108b8578063f242ab41146108d857600080fd5b8063bf56b371146107d0578063bf862391146107e6578063dd62ed3e146107fc578063e6c84dc614610842578063ea5b9e8514610858578063ec44acf21461087857600080fd5b80639a36dfa111610149578063a643c1a011610123578063a643c1a014610750578063a9059cbb14610770578063b0bc2a2d14610790578063be291dc6146107b057600080fd5b80639a36dfa1146106fa5780639b6a275014610710578063a457c2d71461073057600080fd5b8063879dd3c5146106435780638a8c523c146106625780638da5cb5b1461067757806391ce43ac1461069557806395d89b41146106b557806399b102b5146106ca57600080fd5b80633bbac5791161024f57806375f0a874116102085780637d99c66d116101e25780637d99c66d146105c7578063844af78e146105dd57806384ea21bc146105f35780638756aabd1461062357600080fd5b806375f0a8741461057757806379777b4e146105975780637c6a9a9c146105b157600080fd5b80633bbac579146104965780635342acb4146104c6578063679a3c59146104f6578063681aa3621461051657806370a082311461052c578063715018a61461056257600080fd5b80631884f1e6116102a15780631884f1e6146103e857806323b872dd146103fe5780632d1293901461041e578063313ce5671461043e5780633326d7f214610460578063395093511461047657600080fd5b806303c0f5d4146102f457806306fdde03146103165780630758d92414610341578063095ea7b3146103795780630a2d140c146103a957806318160ddd146103c957600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061031461030f3660046121ac565b61096e565b005b34801561032257600080fd5b5061032b6109cc565b60405161033891906121e1565b60405180910390f35b34801561034d57600080fd5b50600b54610361906001600160a01b031681565b6040516001600160a01b039091168152602001610338565b34801561038557600080fd5b50610399610394366004612236565b610a5e565b6040519015158152602001610338565b3480156103b557600080fd5b506103146103c4366004612262565b610a75565b3480156103d557600080fd5b50600a545b604051908152602001610338565b3480156103f457600080fd5b506103da600e5481565b34801561040a57600080fd5b5061039961041936600461227d565b610ab2565b34801561042a57600080fd5b506103146104393660046121ac565b610b1b565b34801561044a57600080fd5b5060095460405160ff9091168152602001610338565b34801561046c57600080fd5b506103da60165481565b34801561048257600080fd5b50610399610491366004612236565b610b70565b3480156104a257600080fd5b506103996104b13660046122be565b60066020526000908152604090205460ff1681565b3480156104d257600080fd5b506103996104e13660046122be565b60036020526000908152604090205460ff1681565b34801561050257600080fd5b506103146105113660046122be565b610ba6565b34801561052257600080fd5b506103da60105481565b34801561053857600080fd5b506103da6105473660046122be565b6001600160a01b031660009081526001602052604090205490565b34801561056e57600080fd5b50610314610c09565b34801561058357600080fd5b50600d54610361906001600160a01b031681565b3480156105a357600080fd5b506015546103999060ff1681565b3480156105bd57600080fd5b506103da60175481565b3480156105d357600080fd5b506103da60135481565b3480156105e957600080fd5b506103da60195481565b3480156105ff57600080fd5b5061039961060e3660046122be565b60056020526000908152604090205460ff1681565b34801561062f57600080fd5b5061031461063e3660046122db565b610c7d565b34801561064f57600080fd5b5060155461039990610100900460ff1681565b34801561066e57600080fd5b50610314610cda565b34801561068357600080fd5b506000546001600160a01b0316610361565b3480156106a157600080fd5b506103146106b036600461230a565b610d6d565b3480156106c157600080fd5b5061032b610e03565b3480156106d657600080fd5b506103996106e53660046122be565b60046020526000908152604090205460ff1681565b34801561070657600080fd5b506103da600f5481565b34801561071c57600080fd5b5061031461072b3660046122db565b610e12565b34801561073c57600080fd5b5061039961074b366004612236565b610e70565b34801561075c57600080fd5b5061031461076b3660046122be565b610ebf565b34801561077c57600080fd5b5061039961078b366004612236565b610f0b565b34801561079c57600080fd5b506103146107ab366004612262565b610f18565b3480156107bc57600080fd5b506103146107cb3660046123e1565b610f5c565b3480156107dc57600080fd5b506103da60145481565b3480156107f257600080fd5b506103da60115481565b34801561080857600080fd5b506103da610817366004612403565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561084e57600080fd5b506103da60185481565b34801561086457600080fd5b506103146108733660046121ac565b610ff6565b34801561088457600080fd5b506015546103999062010000900460ff1681565b3480156108a457600080fd5b506103da6108b33660046122db565b61104b565b3480156108c457600080fd5b506103146108d33660046122db565b611082565b3480156108e457600080fd5b50600c54610361906001600160a01b031681565b34801561090457600080fd5b506103146109133660046122be565b6110f5565b34801561092457600080fd5b506103da6109333660046122db565b6111df565b34801561094457600080fd5b506103146109533660046123e1565b611202565b34801561096457600080fd5b506103da60125481565b6000546001600160a01b031633146109a15760405162461bcd60e51b81526004016109989061243c565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6060600780546109db90612471565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0790612471565b8015610a545780601f10610a2957610100808354040283529160200191610a54565b820191906000526020600020905b815481529060010190602001808311610a3757829003601f168201915b5050505050905090565b6000610a6b338484611282565b5060015b92915050565b6000546001600160a01b03163314610a9f5760405162461bcd60e51b81526004016109989061243c565b6015805460ff1916911515919091179055565b6000610abf8484846113a6565b610b118433610b0c8560405180606001604052806028815260200161268a602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611759565b611282565b5060019392505050565b6000546001600160a01b03163314610b455760405162461bcd60e51b81526004016109989061243c565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610a6b918590610b0c9086611793565b6000546001600160a01b03163314610bd05760405162461bcd60e51b81526004016109989061243c565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610c05573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610c335760405162461bcd60e51b81526004016109989061243c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ca75760405162461bcd60e51b81526004016109989061243c565b601254600a54610cb691611240565b811015610cd55760405162461bcd60e51b8152600401610998906124ac565b600f55565b6000546001600160a01b03163314610d045760405162461bcd60e51b81526004016109989061243c565b60155462010000900460ff1615610d565760405162461bcd60e51b815260206004820152601660248201527515149550d2ce88185b1c9958591e48195b98589b195960521b6044820152606401610998565b6015805462ffffff19166201010117905542601455565b6000546001600160a01b03163314610d975760405162461bcd60e51b81526004016109989061243c565b60005b8251811015610dfe578160046000858481518110610dba57610dba6124ee565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610df68161251a565b915050610d9a565b505050565b6060600880546109db90612471565b6000546001600160a01b03163314610e3c5760405162461bcd60e51b81526004016109989061243c565b601254600a54610e4c9190612535565b811015610e6b5760405162461bcd60e51b8152600401610998906124ac565b601055565b6000610a6b3384610b0c85604051806060016040528060288152602001612662602891393360009081526002602090815260408083206001600160a01b038d1684529091529020549190611759565b6000546001600160a01b03163314610ee95760405162461bcd60e51b81526004016109989061243c565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a6b3384846113a6565b6000546001600160a01b03163314610f425760405162461bcd60e51b81526004016109989061243c565b601580549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610f865760405162461bcd60e51b81526004016109989061243c565b60198290556018819055601254610f9e90600a611240565b610fa88383611793565b1115610c055760405162461bcd60e51b815260206004820152601d60248201527f545255434b3a2063616e2774206265206d6f7265207468616e203130250000006044820152606401610998565b6000546001600160a01b031633146110205760405162461bcd60e51b81526004016109989061243c565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b60008061107b60125461107561106e60165460175461179390919063ffffffff16565b86906117f2565b90611240565b9392505050565b6000546001600160a01b031633146110ac5760405162461bcd60e51b81526004016109989061243c565b600081116110f05760405162461bcd60e51b81526020600482015260116024820152700545255434b3a2063616e2774206265203607c1b6044820152606401610998565b600e55565b6000546001600160a01b0316331461111f5760405162461bcd60e51b81526004016109989061243c565b6001600160a01b0381166111845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610998565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008061107b60125461107561106e60185460195461179390919063ffffffff16565b6000546001600160a01b0316331461122c5760405162461bcd60e51b81526004016109989061243c565b60178290556016819055601254610f9e90600a5b600061107b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611871565b6001600160a01b0383166112e45760405162461bcd60e51b8152602060048201526024808201527f545255434b3a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610998565b6001600160a01b0382166113455760405162461bcd60e51b815260206004820152602260248201527f545255434b3a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610998565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661140a5760405162461bcd60e51b815260206004820152602560248201527f545255434b3a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610998565b6001600160a01b03821661146c5760405162461bcd60e51b815260206004820152602360248201527f545255434b3a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610998565b600081116114cc5760405162461bcd60e51b815260206004820152602760248201527f545255434b3a20416d6f756e74206d7573742062652067726561746572207468604482015266616e207a65726f60c81b6064820152608401610998565b6001600160a01b03831660009081526006602052604090205460ff16156115245760405162461bcd60e51b815260206004820152600c60248201526b109bdd0819195d1958dd195960a21b6044820152606401610998565b6001600160a01b03831660009081526004602052604090205460ff1615801561156657506001600160a01b03821660009081526004602052604090205460ff16155b15611645576010548111156115bd5760405162461bcd60e51b815260206004820152601c60248201527f545255434b3a206d61782074786e206c696d69742065786365656473000000006044820152606401610998565b60155462010000900460ff1661164557600c546001600160a01b038481169116148015906115f95750600c546001600160a01b03838116911614155b6116455760405162461bcd60e51b815260206004820152601960248201527f545255434b3a2074726164696e672069732064697361626c65000000000000006044820152606401610998565b6001600160a01b03821660009081526005602052604090205460ff166116df57600f546116918261168b856001600160a01b031660009081526001602052604090205490565b90611793565b11156116df5760405162461bcd60e51b815260206004820152601d60248201527f545255434b3a206d617820686f6c64206c696d697420657863656564730000006044820152606401610998565b6116e9838361189f565b6001600160a01b03831660009081526003602052604090205460019060ff168061172b57506001600160a01b03831660009081526003602052604090205460ff165b8061173e5750601554610100900460ff16155b15611747575060005b61175384848484611a70565b50505050565b6000818484111561177d5760405162461bcd60e51b815260040161099891906121e1565b50600061178a8486612557565b95945050505050565b6000806117a0838561256e565b90508381101561107b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610998565b60008261180157506000610a6f565b600061180d8385612586565b90508261181a8583612535565b1461107b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610998565b600081836118925760405162461bcd60e51b815260040161099891906121e1565b50600061178a8486612535565b601b54601a546118ae91611793565b6118b6575050565b30600090815260016020526040902054600e54811080159081906118e85750600c546001600160a01b03858116911614155b80156118f6575060155460ff165b801561192457506001600160a01b038416301480156119225750600c546001600160a01b038481169116145b155b1561175357600b546119419030906001600160a01b031684611282565b601a54600090611952906002611240565b9050600061196b82601a54611e1d90919063ffffffff16565b905060006119798583611e1d565b600b549091504790611994906001600160a01b031683611e5f565b60006119a04783611e1d565b905060006119b28461107584896117f2565b90508015611a1657600b546119d4906001600160a01b031661dead8784611fb3565b60408051878152602081018390529081018690527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b478015611a5957600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611a57573d6000803e3d6000fd5b505b50506000601a819055601b55505050505050505050565b600c546001600160a01b038581169116148015611a8a5750805b15611c0e57600080601354601454611aa2919061256e565b42108015611abe5750600b546001600160a01b03878116911614155b15611b0957611ade601254611075601154876117f290919063ffffffff16565b915081601b6000828254611af2919061256e565b90915550611b0290508483611e1d565b9050611b29565b611b128461104b565b9150611b1e8483611e1d565b9050611b2984612068565b604080518082018252601b81527f545255434b3a20696e73756666696369656e742062616c616e636500000000006020808301919091526001600160a01b038916600090815260019091529190912054611b84918690611759565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611bb39082611793565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206126b283398151915290611bf59085815260200190565b60405180910390a3611c0786836120c8565b5050611753565b600c546001600160a01b038481169116148015611c285750805b15611d43576000611c38836111df565b90506000611c468483611e1d565b9050611cb7846040518060400160405280601b81526020017f545255434b3a20696e73756666696369656e742062616c616e63650000000000815250600160008a6001600160a01b03166001600160a01b03168152602001908152602001600020546117599092919063ffffffff16565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611ce69082611793565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206126b283398151915290611d289085815260200190565b60405180910390a3611d3a86836120c8565b611c078461212d565b604080518082018252601b81527f545255434b3a20696e73756666696369656e742062616c616e636500000000006020808301919091526001600160a01b038716600090815260019091529190912054611d9e918490611759565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611dcd9083611793565b6001600160a01b0380851660008181526001602052604090819020939093559151908616906000805160206126b283398151915290611e0f9086815260200190565b60405180910390a350505050565b600061107b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611759565b604080516002808252606082018352849260009291906020830190803683370190505090503081600081518110611e9857611e986124ee565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1a91906125a5565b81600181518110611f2d57611f2d6124ee565b6001600160a01b039283166020918202929092010152821663791ac9478460008430611f5b4261012c61256e565b6040518663ffffffff1660e01b8152600401611f7b9594939291906125c2565b600060405180830381600087803b158015611f9557600080fd5b505af1158015611fa9573d6000803e3d6000fd5b5050505050505050565b836001600160a01b03811663f305d7198330866000808a611fd64261012c61256e565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015612043573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fa99190612633565b612083601254611075601654846117f290919063ffffffff16565b601a6000828254612094919061256e565b90915550506012546017546120af91906110759084906117f2565b601b60008282546120c0919061256e565b909155505050565b306000908152600160205260409020546120e29082611793565b30600081815260016020526040908190209290925590516001600160a01b038416906000805160206126b2833981519152906121219085815260200190565b60405180910390a35050565b612148601254611075601854846117f290919063ffffffff16565b601a6000828254612159919061256e565b90915550506012546019546120af91906110759084906117f2565b6001600160a01b038116811461218957600080fd5b50565b803561219781612174565b919050565b8035801515811461219757600080fd5b600080604083850312156121bf57600080fd5b82356121ca81612174565b91506121d86020840161219c565b90509250929050565b600060208083528351808285015260005b8181101561220e578581018301518582016040015282016121f2565b81811115612220576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561224957600080fd5b823561225481612174565b946020939093013593505050565b60006020828403121561227457600080fd5b61107b8261219c565b60008060006060848603121561229257600080fd5b833561229d81612174565b925060208401356122ad81612174565b929592945050506040919091013590565b6000602082840312156122d057600080fd5b813561107b81612174565b6000602082840312156122ed57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561231d57600080fd5b823567ffffffffffffffff8082111561233557600080fd5b818501915085601f83011261234957600080fd5b813560208282111561235d5761235d6122f4565b8160051b604051601f19603f83011681018181108682111715612382576123826122f4565b6040529283528183019350848101820192898411156123a057600080fd5b948201945b838610156123c5576123b68661218c565b855294820194938201936123a5565b96506123d4905087820161219c565b9450505050509250929050565b600080604083850312156123f457600080fd5b50508035926020909101359150565b6000806040838503121561241657600080fd5b823561242181612174565b9150602083013561243181612174565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061248557607f821691505b602082108114156124a657634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526022908201527f545255434b3a2073686f756c642062652067726561746572207468616e20302e604082015261312560f01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561252e5761252e612504565b5060010190565b60008261255257634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561256957612569612504565b500390565b6000821982111561258157612581612504565b500190565b60008160001904831182151516156125a0576125a0612504565b500290565b6000602082840312156125b757600080fd5b815161107b81612174565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126125784516001600160a01b0316835293830193918301916001016125ed565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561264857600080fd5b835192506020840151915060408401519050925092509256fe545255434b3a2064656372656173656420616c6c6f77616e6365206f722062656c6f77207a65726f545255434b3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c2b477d195947fb44789041401d7f6194f18371bb2e820726f4cc8f4a802a84d64736f6c634300080a0033

Deployed Bytecode Sourcemap

3303:16294:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11473:130;;;;;;;;;;-1:-1:-1;11473:130:0;;;;;:::i;:::-;;:::i;:::-;;6865:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4026:27;;;;;;;;;;-1:-1:-1;4026:27:0;;;;-1:-1:-1;;;;;4026:27:0;;;;;;-1:-1:-1;;;;;1558:32:1;;;1540:51;;1528:2;1513:18;4026:27:0;1376:221:1;7776:193:0;;;;;;;;;;-1:-1:-1;7776:193:0;;;;;:::i;:::-;;:::i;:::-;;;2087:14:1;;2080:22;2062:41;;2050:2;2035:18;7776:193:0;1922:187:1;11112:115:0;;;;;;;;;;-1:-1:-1;11112:115:0;;;;;:::i;:::-;;:::i;7142:100::-;;;;;;;;;;-1:-1:-1;7222:12:0;;7142:100;;;2445:25:1;;;2433:2;2418:18;7142:100:0;2299:177:1;4128:53:0;;;;;;;;;;;;;;;;7977:446;;;;;;;;;;-1:-1:-1;7977:446:0;;;;;:::i;:::-;;:::i;9567:171::-;;;;;;;;;;-1:-1:-1;9567:171:0;;;;;:::i;:::-;;:::i;7051:83::-;;;;;;;;;;-1:-1:-1;7117:9:0;;7051:83;;7117:9;;;;3084:36:1;;3072:2;3057:18;7051:83:0;2942:184:1;4802:40:0;;;;;;;;;;;;;;;;8431:300;;;;;;;;;;-1:-1:-1;8431:300:0;;;;;:::i;:::-;;:::i;3700:37::-;;;;;;;;;;-1:-1:-1;3700:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3522:49;;;;;;;;;;-1:-1:-1;3522:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11861:129;;;;;;;;;;-1:-1:-1;11861:129:0;;;;;:::i;:::-;;:::i;4334:50::-;;;;;;;;;;;;;;;;7250:119;;;;;;;;;;-1:-1:-1;7250:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7343:18:0;7316:7;7343:18;;;:9;:18;;;;;;;7250:119;2850:157;;;;;;;;;;;;;:::i;4089:30::-;;;;;;;;;;-1:-1:-1;4089:30:0;;;;-1:-1:-1;;;;;4089:30:0;;;4585:38;;;;;;;;;;-1:-1:-1;4585:38:0;;;;;;;;4886:40;;;;;;;;;;;;;;;;4505:39;;;;;;;;;;;;;;;;5065:42;;;;;;;;;;;;;;;;3637:56;;;;;;;;;;-1:-1:-1;3637:56:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9912:240;;;;;;;;;;-1:-1:-1;9912:240:0;;;;;:::i;:::-;;:::i;4681:22::-;;;;;;;;;;-1:-1:-1;4681:22:0;;;;;;;;;;;11611:242;;;;;;;;;;;;;:::i;2636:79::-;;;;;;;;;;-1:-1:-1;2674:7:0;2701:6;-1:-1:-1;;;;;2701:6:0;2636:79;;9315:244;;;;;;;;;;-1:-1:-1;9315:244:0;;;;;:::i;:::-;;:::i;6956:87::-;;;;;;;;;;;;;:::i;3578:52::-;;;;;;;;;;-1:-1:-1;3578:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4236:51;;;;;;;;;;;;;;;;10160:235;;;;;;;;;;-1:-1:-1;10160:235:0;;;;;:::i;:::-;;:::i;8739:403::-;;;;;;;;;;-1:-1:-1;8739:403:0;;;;;:::i;:::-;;:::i;11342:123::-;;;;;;;;;;-1:-1:-1;11342:123:0;;;;;:::i;:::-;;:::i;7377:199::-;;;;;;;;;;-1:-1:-1;7377:199:0;;;;;:::i;:::-;;:::i;11235:99::-;;;;;;;;;;-1:-1:-1;11235:99:0;;;;;:::i;:::-;;:::i;10756:348::-;;;;;;;;;;-1:-1:-1;10756:348:0;;;;;:::i;:::-;;:::i;4551:25::-;;;;;;;;;;;;;;;;4428:27;;;;;;;;;;;;;;;;7584:184;;;;;;;;;;-1:-1:-1;7584:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7733:18:0;;;7701:7;7733:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7584:184;4980:41;;;;;;;;;;;;;;;;9150:157;;;;;;;;;;-1:-1:-1;9150:157:0;;;;;:::i;:::-;;:::i;4731:19::-;;;;;;;;;;-1:-1:-1;4731:19:0;;;;;;;;;;;11998:232;;;;;;;;;;-1:-1:-1;11998:232:0;;;;;:::i;:::-;;:::i;9746:158::-;;;;;;;;;;-1:-1:-1;9746:158:0;;;;;:::i;:::-;;:::i;4060:22::-;;;;;;;;;;-1:-1:-1;4060:22:0;;;;-1:-1:-1;;;;;4060:22:0;;;3015:281;;;;;;;;;;-1:-1:-1;3015:281:0;;;;;:::i;:::-;;:::i;12238:235::-;;;;;;;;;;-1:-1:-1;12238:235:0;;;;;:::i;:::-;;:::i;10403:345::-;;;;;;;;;;-1:-1:-1;10403:345:0;;;;;:::i;:::-;;:::i;4462:36::-;;;;;;;;;;;;;;;;11473:130;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11573:13:0;;;::::1;;::::0;;;:5:::1;:13;::::0;;;;:22;;-1:-1:-1;;11573:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11473:130::o;6865:83::-;6902:13;6935:5;6928:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6865:83;:::o;7776:193::-;7878:4;7900:39;2068:10;7923:7;7932:6;7900:8;:39::i;:::-;-1:-1:-1;7957:4:0;7776:193;;;;;:::o;11112:115::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;11184:26:::1;:35:::0;;-1:-1:-1;;11184:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11112:115::o;7977:446::-;8109:4;8126:36;8136:6;8144:9;8155:6;8126:9;:36::i;:::-;8173:220;8196:6;2068:10;8244:138;8300:6;8244:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8244:19:0;;;;;;:11;:19;;;;;;;;2068:10;8244:33;;;;;;;;;;:37;:138::i;:::-;8173:8;:220::i;:::-;-1:-1:-1;8411:4:0;7977:446;;;;;:::o;9567:171::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9689:33:0;;;::::1;;::::0;;;:24:::1;:33;::::0;;;;:41;;-1:-1:-1;;9689:41:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9567:171::o;8431:300::-;2068:10;8546:4;8640:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8640:34:0;;;;;;;;;;8546:4;;8568:133;;8618:7;;8640:50;;8679:10;8640:38;:50::i;11861:129::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;11932:50:::1;::::0;-1:-1:-1;;;;;11932:27:0;::::1;::::0;11960:21:::1;11932:50:::0;::::1;;;::::0;::::1;::::0;;;11960:21;11932:27;:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11861:129:::0;:::o;2850:157::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;2957:1:::1;2941:6:::0;;2920:40:::1;::::0;-1:-1:-1;;;;;2941:6:0;;::::1;::::0;2920:40:::1;::::0;2957:1;;2920:40:::1;2996:1;2971:28:::0;;-1:-1:-1;;;;;;2971:28:0::1;::::0;;2850:157::o;9912:240::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;10034:14:::1;::::0;10017:12:::1;::::0;:32:::1;::::0;:16:::1;:32::i;:::-;10006:7;:43;;9984:127;;;;-1:-1:-1::0;;;9984:127:0::1;;;;;;;:::i;:::-;10122:12;:22:::0;9912:240::o;11611:242::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;11675:7:::1;::::0;;;::::1;;;11674:8;11666:43;;;::::0;-1:-1:-1;;;11666:43:0;;7101:2:1;11666:43:0::1;::::0;::::1;7083:21:1::0;7140:2;7120:18;;;7113:30;-1:-1:-1;;;7159:18:1;;;7152:52;7221:18;;11666:43:0::1;6899:346:1::0;11666:43:0::1;11720:7;:14:::0;;-1:-1:-1;;11773:33:0;;;;;11830:15:::1;11817:10;:28:::0;11611:242::o;9315:244::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;9449:9:::1;9444:108;9464:7;:14;9460:1;:18;9444:108;;;9535:5;9500:20;:32;9521:7;9529:1;9521:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9500:32:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9500:32:0;:40;;-1:-1:-1;;9500:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9480:3;::::1;::::0;::::1;:::i;:::-;;;;9444:108;;;;9315:244:::0;;:::o;6956:87::-;6995:13;7028:7;7021:14;;;;;:::i;10160:235::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;10279:14:::1;;10264:12;;:29;;;;:::i;:::-;10253:7;:40;;10231:124;;;;-1:-1:-1::0;;;10231:124:0::1;;;;;;;:::i;:::-;10366:11;:21:::0;10160:235::o;8739:403::-;8859:4;8881:231;2068:10;8931:7;8953:148;9010:15;8953:148;;;;;;;;;;;;;;;;;2068:10;8953:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8953:34:0;;;;;;;;;;;;:38;:148::i;11342:123::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;11423:15:::1;:34:::0;;-1:-1:-1;;;;;;11423:34:0::1;-1:-1:-1::0;;;;;11423:34:0;;;::::1;::::0;;;::::1;::::0;;11342:123::o;7377:199::-;7482:4;7504:42;2068:10;7528:9;7539:6;7504:9;:42::i;11235:99::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;11307:10:::1;:19:::0;;;::::1;;;;-1:-1:-1::0;;11307:19:0;;::::1;::::0;;;::::1;::::0;;11235:99::o;10756:348::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;10877:21:::1;:30:::0;;;10918:21:::1;:37:::0;;;11017:14:::1;::::0;:22:::1;::::0;11036:2:::1;11017:18;:22::i;:::-;10988:25;:6:::0;10999:13;10988:10:::1;:25::i;:::-;:51;;10966:130;;;::::0;-1:-1:-1;;;10966:130:0;;8078:2:1;10966:130:0::1;::::0;::::1;8060:21:1::0;8117:2;8097:18;;;8090:30;8156:31;8136:18;;;8129:59;8205:18;;10966:130:0::1;7876:353:1::0;9150:157:0;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9265:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;9265:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9150:157::o;11998:232::-;12061:7;12081:11;12095:106;12186:14;;12095:72;12120:46;12145:20;;12120;;:24;;:46;;;;:::i;:::-;12095:6;;:24;:72::i;:::-;:90;;:106::i;:::-;12081:120;11998:232;-1:-1:-1;;;11998:232:0:o;9746:158::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;9838:1:::1;9828:7;:11;9820:41;;;::::0;-1:-1:-1;;;9820:41:0;;8436:2:1;9820:41:0::1;::::0;::::1;8418:21:1::0;8475:2;8455:18;;;8448:30;-1:-1:-1;;;8494:18:1;;;8487:47;8551:18;;9820:41:0::1;8234:341:1::0;9820:41:0::1;9872:14;:24:::0;9746:158::o;3015:281::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3118:22:0;::::1;3096:110;;;::::0;-1:-1:-1;;;3096:110:0;;8782:2:1;3096:110:0::1;::::0;::::1;8764:21:1::0;8821:2;8801:18;;;8794:30;8860:34;8840:18;;;8833:62;-1:-1:-1;;;8911:18:1;;;8904:36;8957:19;;3096:110:0::1;8580:402:1::0;3096:110:0::1;3243:6;::::0;;3222:38:::1;::::0;-1:-1:-1;;;;;3222:38:0;;::::1;::::0;3243:6;::::1;::::0;3222:38:::1;::::0;::::1;3271:6;:17:::0;;-1:-1:-1;;;;;;3271:17:0::1;-1:-1:-1::0;;;;;3271:17:0;;;::::1;::::0;;;::::1;::::0;;3015:281::o;12238:235::-;12302:7;12322:11;12336:108;12429:14;;12336:74;12361:48;12387:21;;12361;;:25;;:48;;;;:::i;10403:345::-;2763:6;;-1:-1:-1;;;;;2763:6:0;2068:10;2763:22;2755:67;;;;-1:-1:-1;;;2755:67:0;;;;;;;:::i;:::-;10523:20:::1;:29:::0;;;10563:20:::1;:36:::0;;;10661:14:::1;::::0;:22:::1;::::0;10680:2:::1;21893:132:::0;21951:7;21978:39;21982:1;21985;21978:39;;;;;;;;;;;;;;;;;:3;:39::i;12481:371::-;-1:-1:-1;;;;;12608:19:0;;12600:68;;;;-1:-1:-1;;;12600:68:0;;9189:2:1;12600:68:0;;;9171:21:1;9228:2;9208:18;;;9201:30;9267:34;9247:18;;;9240:62;-1:-1:-1;;;9318:18:1;;;9311:34;9362:19;;12600:68:0;8987:400:1;12600:68:0;-1:-1:-1;;;;;12687:21:0;;12679:68;;;;-1:-1:-1;;;12679:68:0;;9594:2:1;12679:68:0;;;9576:21:1;9633:2;9613:18;;;9606:30;9672:34;9652:18;;;9645:62;-1:-1:-1;;;9723:18:1;;;9716:32;9765:19;;12679:68:0;9392:398:1;12679:68:0;-1:-1:-1;;;;;12760:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12812:32;;2445:25:1;;;12812:32:0;;2418:18:1;12812:32:0;;;;;;;12481:371;;;:::o;12860:1485::-;-1:-1:-1;;;;;12982:18:0;;12974:68;;;;-1:-1:-1;;;12974:68:0;;9997:2:1;12974:68:0;;;9979:21:1;10036:2;10016:18;;;10009:30;10075:34;10055:18;;;10048:62;-1:-1:-1;;;10126:18:1;;;10119:35;10171:19;;12974:68:0;9795:401:1;12974:68:0;-1:-1:-1;;;;;13061:16:0;;13053:64;;;;-1:-1:-1;;;13053:64:0;;10403:2:1;13053:64:0;;;10385:21:1;10442:2;10422:18;;;10415:30;10481:34;10461:18;;;10454:62;-1:-1:-1;;;10532:18:1;;;10525:33;10575:19;;13053:64:0;10201:399:1;13053:64:0;13145:1;13136:6;:10;13128:62;;;;-1:-1:-1;;;13128:62:0;;10807:2:1;13128:62:0;;;10789:21:1;10846:2;10826:18;;;10819:30;10885:34;10865:18;;;10858:62;-1:-1:-1;;;10936:18:1;;;10929:37;10983:19;;13128:62:0;10605:403:1;13128:62:0;-1:-1:-1;;;;;13210:11:0;;;;;;:5;:11;;;;;;;;13209:12;13201:36;;;;-1:-1:-1;;;13201:36:0;;11215:2:1;13201:36:0;;;11197:21:1;11254:2;11234:18;;;11227:30;-1:-1:-1;;;11273:18:1;;;11266:42;11325:18;;13201:36:0;11013:336:1;13201:36:0;-1:-1:-1;;;;;13255:26:0;;;;;;:20;:26;;;;;;;;13254:27;:56;;;;-1:-1:-1;;;;;;13286:24:0;;;;;;:20;:24;;;;;;;;13285:25;13254:56;13250:391;;;13345:11;;13335:6;:21;;13327:62;;;;-1:-1:-1;;;13327:62:0;;11556:2:1;13327:62:0;;;11538:21:1;11595:2;11575:18;;;11568:30;11634;11614:18;;;11607:58;11682:18;;13327:62:0;11354:352:1;13327:62:0;13455:7;;;;;;;13450:180;;13513:7;;-1:-1:-1;;;;;13513:15:0;;;:7;;:15;;;;:32;;-1:-1:-1;13532:7:0;;-1:-1:-1;;;;;13532:13:0;;;:7;;:13;;13513:32;13483:131;;;;-1:-1:-1;;;13483:131:0;;11913:2:1;13483:131:0;;;11895:21:1;11952:2;11932:18;;;11925:30;11991:27;11971:18;;;11964:55;12036:18;;13483:131:0;11711:349:1;13483:131:0;-1:-1:-1;;;;;13658:28:0;;;;;;:24;:28;;;;;;;;13653:194;;13758:12;;13729:25;13747:6;13729:13;13739:2;-1:-1:-1;;;;;7343:18:0;7316:7;7343:18;;;:9;:18;;;;;;;7250:119;13729:13;:17;;:25::i;:::-;:41;;13703:132;;;;-1:-1:-1;;;13703:132:0;;12267:2:1;13703:132:0;;;12249:21:1;12306:2;12286:18;;;12279:30;12345:31;12325:18;;;12318:59;12394:18;;13703:132:0;12065:353:1;13703:132:0;13888:30;13909:4;13915:2;13888:20;:30::i;:::-;-1:-1:-1;;;;;14111:23:0;;13992:12;14111:23;;;:17;:23;;;;;;14007:4;;14111:23;;;:48;;-1:-1:-1;;;;;;14138:21:0;;;;;;:17;:21;;;;;;;;14111:48;:63;;;-1:-1:-1;14164:10:0;;;;;;;14163:11;14111:63;14107:111;;;-1:-1:-1;14201:5:0;14107:111;14296:41;14311:4;14317:2;14321:6;14329:7;14296:14;:41::i;:::-;12963:1382;12860:1485;;;:::o;21180:226::-;21300:7;21336:12;21328:6;;;;21320:29;;;;-1:-1:-1;;;21320:29:0;;;;;;;;:::i;:::-;-1:-1:-1;21360:9:0;21372:5;21376:1;21372;:5;:::i;:::-;21360:17;21180:226;-1:-1:-1;;;;;21180:226:0:o;20847:181::-;20905:7;;20937:5;20941:1;20937;:5;:::i;:::-;20925:17;;20966:1;20961;:6;;20953:46;;;;-1:-1:-1;;;20953:46:0;;12888:2:1;20953:46:0;;;12870:21:1;12927:2;12907:18;;;12900:30;12966:29;12946:18;;;12939:57;13013:18;;20953:46:0;12686:351:1;21414:471:0;21472:7;21717:6;21713:47;;-1:-1:-1;21747:1:0;21740:8;;21713:47;21772:9;21784:5;21788:1;21784;:5;:::i;:::-;21772:17;-1:-1:-1;21817:1:0;21808:5;21812:1;21772:17;21808:5;:::i;:::-;:10;21800:56;;;;-1:-1:-1;;;21800:56:0;;13417:2:1;21800:56:0;;;13399:21:1;13456:2;13436:18;;;13429:30;13495:34;13475:18;;;13468:62;-1:-1:-1;;;13546:18:1;;;13539:31;13587:19;;21800:56:0;13215:397:1;22033:312:0;22153:7;22188:12;22181:5;22173:28;;;;-1:-1:-1;;;22173:28:0;;;;;;;;:::i;:::-;-1:-1:-1;22212:9:0;22224:5;22228:1;22224;:5;:::i;17201:2393::-;17303:19;;17279;;:44;;:23;:44::i;:::-;17276:61;;17201:2393;;:::o;17276:61::-;17674:4;17625:28;7343:18;;;:9;:18;;;;;;17735:14;;17711:38;;;;;;;17780:42;;-1:-1:-1;17815:7:0;;-1:-1:-1;;;;;17807:15:0;;;17815:7;;17807:15;;17780:42;:85;;;;-1:-1:-1;17839:26:0;;;;17780:85;:143;;;;-1:-1:-1;;;;;;17884:21:0;;17900:4;17884:21;:38;;;;-1:-1:-1;17915:7:0;;-1:-1:-1;;;;;17909:13:0;;;17915:7;;17909:13;17884:38;17882:41;17780:143;17762:1825;;;18030:9;;17998:65;;18015:4;;-1:-1:-1;;;;;18030:9:0;18042:20;17998:8;:65::i;:::-;18104:19;;18080:21;;18104:26;;18128:1;18104:23;:26::i;:::-;18080:50;;18145:26;18174:38;18198:13;18174:19;;:23;;:38;;;;:::i;:::-;18145:67;-1:-1:-1;18229:30:0;18262:76;:20;18145:67;18262:24;:76::i;:::-;18498:9;;18229:109;;-1:-1:-1;18379:21:0;;18467:66;;-1:-1:-1;;;;;18498:9:0;18229:109;18467:22;:66::i;:::-;18550:20;18573:40;:21;18599:13;18573:25;:40::i;:::-;18550:63;-1:-1:-1;18630:31:0;18664:95;18736:22;18664:49;18550:63;18699:13;18664:34;:49::i;:95::-;18630:129;-1:-1:-1;18817:27:0;;18813:442;;18914:9;;18865:192;;-1:-1:-1;;;;;18914:9:0;3963:6;18974:18;19015:23;18865:18;:192::i;:::-;19083:156;;;13819:25:1;;;13875:2;13860:18;;13853:34;;;13903:18;;;13896:34;;;19083:156:0;;13807:2:1;13792:18;19083:156:0;;;;;;;18813:442;19297:21;19387:19;;19383:75;;19416:15;;19408:50;;-1:-1:-1;;;;;19416:15:0;;;;19408:50;;;;;19442:15;;19416;19408:50;19416:15;19408:50;19442:15;19416;19408:50;;;;;;;;;;;;;;;;;;;;;19383:75;-1:-1:-1;;19536:1:0;19514:19;:23;;;19552:19;:23;-1:-1:-1;;;;;17265:2329:0;;17201:2393;;:::o;14426:1971::-;14581:7;;-1:-1:-1;;;;;14581:17:0;;;:7;;:17;:28;;;;;14602:7;14581:28;14577:1813;;;14626:14;14655:23;14770:11;;14757:10;;:24;;;;:::i;:::-;14739:15;:42;:91;;;;-1:-1:-1;14820:9:0;;-1:-1:-1;;;;;14802:28:0;;;14820:9;;14802:28;;14739:91;14717:492;;;14874:38;14897:14;;14874:18;14885:6;;14874;:10;;:18;;;;:::i;:38::-;14865:47;;14954:6;14931:19;;:29;;;;;;;:::i;:::-;;;;-1:-1:-1;14997:18:0;;-1:-1:-1;14997:6:0;15008;14997:10;:18::i;:::-;14979:36;;14717:492;;;15065:24;15082:6;15065:16;:24::i;:::-;15056:33;-1:-1:-1;15126:18:0;:6;15056:33;15126:10;:18::i;:::-;15108:36;;15163:30;15186:6;15163:22;:30::i;:::-;15245:109;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15245:17:0;;-1:-1:-1;15245:17:0;;;:9;:17;;;;;;;;:109;;15285:6;;15245:21;:109::i;:::-;-1:-1:-1;;;;;15225:17:0;;;;;;;:9;:17;;;;;;:129;;;;15392:20;;;;;;;:41;;15417:15;15392:24;:41::i;:::-;-1:-1:-1;;;;;15369:20:0;;;;;;;:9;:20;;;;;;;:64;;;;15453:44;;;;;;-1:-1:-1;;;;;;;;;;;15453:44:0;;;15481:15;2445:25:1;;2433:2;2418:18;;2299:177;15453:44:0;;;;;;;;15514:28;15527:6;15535;15514:12;:28::i;:::-;14611:943;;14577:1813;;;15564:7;;-1:-1:-1;;;;;15564:20:0;;;:7;;:20;:31;;;;;15588:7;15564:31;15560:830;;;15612:14;15629:25;15647:6;15629:17;:25::i;:::-;15612:42;-1:-1:-1;15669:23:0;15695:18;:6;15612:42;15695:10;:18::i;:::-;15669:44;;15748:109;15788:6;15748:109;;;;;;;;;;;;;;;;;:9;:17;15758:6;-1:-1:-1;;;;;15748:17:0;-1:-1:-1;;;;;15748:17:0;;;;;;;;;;;;;:21;;:109;;;;;:::i;:::-;-1:-1:-1;;;;;15728:17:0;;;;;;;:9;:17;;;;;;:129;;;;15895:20;;;;;;;:41;;15920:15;15895:24;:41::i;:::-;-1:-1:-1;;;;;15872:20:0;;;;;;;:9;:20;;;;;;;:64;;;;15956:44;;;;;;-1:-1:-1;;;;;;;;;;;15956:44:0;;;15984:15;2445:25:1;;2433:2;2418:18;;2299:177;15956:44:0;;;;;;;;16017:28;16030:6;16038;16017:12;:28::i;:::-;16060:31;16084:6;16060:23;:31::i;15560:830::-;16144:109;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16144:17:0;;-1:-1:-1;16144:17:0;;;:9;:17;;;;;;;;:109;;16184:6;;16144:21;:109::i;:::-;-1:-1:-1;;;;;16124:17:0;;;;;;;:9;:17;;;;;;:129;;;;16291:20;;;;;;;:32;;16316:6;16291:24;:32::i;:::-;-1:-1:-1;;;;;16268:20:0;;;;;;;:9;:20;;;;;;;:55;;;;16343:35;;;;;;-1:-1:-1;;;;;;;;;;;16343:35:0;;;16371:6;2445:25:1;;2433:2;2418:18;;2299:177;16343:35:0;;;;;;;;14426:1971;;;;:::o;21036:136::-;21094:7;21121:43;21125:1;21128;21121:43;;;;;;;;;;;;;;;;;:3;:43::i;19693:603::-;19938:16;;;19952:1;19938:16;;;;;;;;19831:13;;19797:20;;19938:16;19952:1;19938:16;;;;;;;;;;-1:-1:-1;19938:16:0;19914:40;;19983:4;19965;19970:1;19965:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;19965:23:0;;;-1:-1:-1;;;;;19965:23:0;;;;;20009:9;-1:-1:-1;;;;;20009:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19999:4;20004:1;19999:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19999:26:0;;;:7;;;;;;;;;:26;20064:60;;;20139:11;20165:1;20209:4;20236;20256:21;:15;20274:3;20256:21;:::i;:::-;20064:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19786:510;;19693:603;;:::o;20304:512::-;20501:13;-1:-1:-1;;;;;20558:25:0;;;20591:9;20624:4;20644:11;20467:20;;20756:5;20776:21;:15;20794:3;20776:21;:::i;:::-;20558:250;;;;;;-1:-1:-1;;;;;;20558:250:0;;;-1:-1:-1;;;;;15541:15:1;;;20558:250:0;;;15523:34:1;15573:18;;;15566:34;;;;15616:18;;;15609:34;;;;15659:18;;;15652:34;;;;15723:15;;;15702:19;;;15695:44;15755:19;;;15748:35;;;;15457:19;;20558:250:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16614:284::-;16704:76;16755:14;;16704:32;16715:20;;16704:6;:10;;:32;;;;:::i;:76::-;16681:19;;:99;;;;;;;:::i;:::-;;;;-1:-1:-1;;16865:14:0;;16825:20;;16814:76;;16865:14;16814:32;;:6;;:10;:32::i;:76::-;16791:19;;:99;;;;;;;:::i;:::-;;;;-1:-1:-1;;;16614:284:0:o;16405:201::-;16523:4;16505:24;;;;:9;:24;;;;;;:36;;16534:6;16505:28;:36::i;:::-;16496:4;16478:24;;;;:9;:24;;;;;;;:63;;;;16559:39;;-1:-1:-1;;;;;16559:39:0;;;-1:-1:-1;;;;;;;;;;;16559:39:0;;;16591:6;2445:25:1;;2433:2;2418:18;;2299:177;16559:39:0;;;;;;;;16405:201;;:::o;16906:287::-;16997:77;17049:14;;16997:33;17008:21;;16997:6;:10;;:33;;;;:::i;:77::-;16974:19;;:100;;;;;;;:::i;:::-;;;;-1:-1:-1;;17160:14:0;;17119:21;;17108:77;;17160:14;17108:33;;:6;;:10;:33::i;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:134::-;218:20;;247:31;218:20;247:31;:::i;:::-;150:134;;;:::o;289:160::-;354:20;;410:13;;403:21;393:32;;383:60;;439:1;436;429:12;454:315;519:6;527;580:2;568:9;559:7;555:23;551:32;548:52;;;596:1;593;586:12;548:52;635:9;622:23;654:31;679:5;654:31;:::i;:::-;704:5;-1:-1:-1;728:35:1;759:2;744:18;;728:35;:::i;:::-;718:45;;454:315;;;;;:::o;774:597::-;886:4;915:2;944;933:9;926:21;976:6;970:13;1019:6;1014:2;1003:9;999:18;992:34;1044:1;1054:140;1068:6;1065:1;1062:13;1054:140;;;1163:14;;;1159:23;;1153:30;1129:17;;;1148:2;1125:26;1118:66;1083:10;;1054:140;;;1212:6;1209:1;1206:13;1203:91;;;1282:1;1277:2;1268:6;1257:9;1253:22;1249:31;1242:42;1203:91;-1:-1:-1;1355:2:1;1334:15;-1:-1:-1;;1330:29:1;1315:45;;;;1362:2;1311:54;;774:597;-1:-1:-1;;;774:597:1:o;1602:315::-;1670:6;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;1907:2;1892:18;;;;1879:32;;-1:-1:-1;;;1602:315:1:o;2114:180::-;2170:6;2223:2;2211:9;2202:7;2198:23;2194:32;2191:52;;;2239:1;2236;2229:12;2191:52;2262:26;2278:9;2262:26;:::i;2481:456::-;2558:6;2566;2574;2627:2;2615:9;2606:7;2602:23;2598:32;2595:52;;;2643:1;2640;2633:12;2595:52;2682:9;2669:23;2701:31;2726:5;2701:31;:::i;:::-;2751:5;-1:-1:-1;2808:2:1;2793:18;;2780:32;2821:33;2780:32;2821:33;:::i;:::-;2481:456;;2873:7;;-1:-1:-1;;;2927:2:1;2912:18;;;;2899:32;;2481:456::o;3131:247::-;3190:6;3243:2;3231:9;3222:7;3218:23;3214:32;3211:52;;;3259:1;3256;3249:12;3211:52;3298:9;3285:23;3317:31;3342:5;3317:31;:::i;3591:180::-;3650:6;3703:2;3691:9;3682:7;3678:23;3674:32;3671:52;;;3719:1;3716;3709:12;3671:52;-1:-1:-1;3742:23:1;;3591:180;-1:-1:-1;3591:180:1:o;3776:127::-;3837:10;3832:3;3828:20;3825:1;3818:31;3868:4;3865:1;3858:15;3892:4;3889:1;3882:15;3908:1191;3998:6;4006;4059:2;4047:9;4038:7;4034:23;4030:32;4027:52;;;4075:1;4072;4065:12;4027:52;4115:9;4102:23;4144:18;4185:2;4177:6;4174:14;4171:34;;;4201:1;4198;4191:12;4171:34;4239:6;4228:9;4224:22;4214:32;;4284:7;4277:4;4273:2;4269:13;4265:27;4255:55;;4306:1;4303;4296:12;4255:55;4342:2;4329:16;4364:4;4387:2;4383;4380:10;4377:36;;;4393:18;;:::i;:::-;4439:2;4436:1;4432:10;4471:2;4465:9;4534:2;4530:7;4525:2;4521;4517:11;4513:25;4505:6;4501:38;4589:6;4577:10;4574:22;4569:2;4557:10;4554:18;4551:46;4548:72;;;4600:18;;:::i;:::-;4636:2;4629:22;4686:18;;;4720:15;;;;-1:-1:-1;4762:11:1;;;4758:20;;;4790:19;;;4787:39;;;4822:1;4819;4812:12;4787:39;4846:11;;;;4866:148;4882:6;4877:3;4874:15;4866:148;;;4948:23;4967:3;4948:23;:::i;:::-;4936:36;;4899:12;;;;4992;;;;4866:148;;;5033:6;-1:-1:-1;5058:35:1;;-1:-1:-1;5074:18:1;;;5058:35;:::i;:::-;5048:45;;;;;;3908:1191;;;;;:::o;5104:248::-;5172:6;5180;5233:2;5221:9;5212:7;5208:23;5204:32;5201:52;;;5249:1;5246;5239:12;5201:52;-1:-1:-1;;5272:23:1;;;5342:2;5327:18;;;5314:32;;-1:-1:-1;5104:248:1:o;5357:388::-;5425:6;5433;5486:2;5474:9;5465:7;5461:23;5457:32;5454:52;;;5502:1;5499;5492:12;5454:52;5541:9;5528:23;5560:31;5585:5;5560:31;:::i;:::-;5610:5;-1:-1:-1;5667:2:1;5652:18;;5639:32;5680:33;5639:32;5680:33;:::i;:::-;5732:7;5722:17;;;5357:388;;;;;:::o;5750:356::-;5952:2;5934:21;;;5971:18;;;5964:30;6030:34;6025:2;6010:18;;6003:62;6097:2;6082:18;;5750:356::o;6111:380::-;6190:1;6186:12;;;;6233;;;6254:61;;6308:4;6300:6;6296:17;6286:27;;6254:61;6361:2;6353:6;6350:14;6330:18;6327:38;6324:161;;;6407:10;6402:3;6398:20;6395:1;6388:31;6442:4;6439:1;6432:15;6470:4;6467:1;6460:15;6324:161;;6111:380;;;:::o;6496:398::-;6698:2;6680:21;;;6737:2;6717:18;;;6710:30;6776:34;6771:2;6756:18;;6749:62;-1:-1:-1;;;6842:2:1;6827:18;;6820:32;6884:3;6869:19;;6496:398::o;7250:127::-;7311:10;7306:3;7302:20;7299:1;7292:31;7342:4;7339:1;7332:15;7366:4;7363:1;7356:15;7382:127;7443:10;7438:3;7434:20;7431:1;7424:31;7474:4;7471:1;7464:15;7498:4;7495:1;7488:15;7514:135;7553:3;-1:-1:-1;;7574:17:1;;7571:43;;;7594:18;;:::i;:::-;-1:-1:-1;7641:1:1;7630:13;;7514:135::o;7654:217::-;7694:1;7720;7710:132;;7764:10;7759:3;7755:20;7752:1;7745:31;7799:4;7796:1;7789:15;7827:4;7824:1;7817:15;7710:132;-1:-1:-1;7856:9:1;;7654:217::o;12423:125::-;12463:4;12491:1;12488;12485:8;12482:34;;;12496:18;;:::i;:::-;-1:-1:-1;12533:9:1;;12423:125::o;12553:128::-;12593:3;12624:1;12620:6;12617:1;12614:13;12611:39;;;12630:18;;:::i;:::-;-1:-1:-1;12666:9:1;;12553:128::o;13042:168::-;13082:7;13148:1;13144;13140:6;13136:14;13133:1;13130:21;13125:1;13118:9;13111:17;13107:45;13104:71;;;13155:18;;:::i;:::-;-1:-1:-1;13195:9:1;;13042:168::o;13941:251::-;14011:6;14064:2;14052:9;14043:7;14039:23;14035:32;14032:52;;;14080:1;14077;14070:12;14032:52;14112:9;14106:16;14131:31;14156:5;14131:31;:::i;14197:980::-;14459:4;14507:3;14496:9;14492:19;14538:6;14527:9;14520:25;14564:2;14602:6;14597:2;14586:9;14582:18;14575:34;14645:3;14640:2;14629:9;14625:18;14618:31;14669:6;14704;14698:13;14735:6;14727;14720:22;14773:3;14762:9;14758:19;14751:26;;14812:2;14804:6;14800:15;14786:29;;14833:1;14843:195;14857:6;14854:1;14851:13;14843:195;;;14922:13;;-1:-1:-1;;;;;14918:39:1;14906:52;;15013:15;;;;14978:12;;;;14954:1;14872:9;14843:195;;;-1:-1:-1;;;;;;;15094:32:1;;;;15089:2;15074:18;;15067:60;-1:-1:-1;;;15158:3:1;15143:19;15136:35;15055:3;14197:980;-1:-1:-1;;;14197:980:1:o;15794:306::-;15882:6;15890;15898;15951:2;15939:9;15930:7;15926:23;15922:32;15919:52;;;15967:1;15964;15957:12;15919:52;15996:9;15990:16;15980:26;;16046:2;16035:9;16031:18;16025:25;16015:35;;16090:2;16079:9;16075:18;16069:25;16059:35;;15794:306;;;;;:::o

Swarm Source

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