ETH Price: $3,508.39 (+3.18%)
Gas: 9 Gwei

Token

Long Dragon (LD)
 

Overview

Max Total Supply

200,000,000 LD

Holders

81

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
614,738.680233386023870246 LD

Value
$0.00
0x4f5a7739eca9a550e4874fed0b909f330be98813
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:
LongDragon

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
⠀⠀⠀⠀⠀⠀⣰⠂⠀⣼⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡟⢆⢠⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡘⡇⠹⢦⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠹⣦⣹⢸⡖⠤⢀⠀⠘⢿⠛⢔⠢⡀⠃⠣⠀⠇⢡⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠹⠀⡷⣄⠠⡈⠑⠢⢧⠀⢢⠰⣼⢶⣷⣾⠀⠃⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠤⢖⡆⠰⡙⢕⢬⡢⣄⠀⠑⢼⠀⠚⣿⢆⠀⠱⣸⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⣤⡶⠮⢧⡀⠑⡈⢢⣕⡌⢶⠀⠀⣱⣠⠉⢺⡄⠀⢹⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⡸⠀⠈⡗⢄⡈⢆⠙⠿⣶⣿⠿⢿⣷⣴⠉⠹⢶⢾⡆⠀⠀⠀
⠀⠀⠀⢠⠶⠿⡉⠉⠉⠙⢻⣮⡙⢦⣱⡐⣌⠿⡄⢁⠄⠑⢤⣀⠐⢻⡇⠀⠀⠀
⠀⠀⠀⢀⣠⠾⠖⠛⢻⠟⠁⢘⣿⣆⠹⢷⡏⠀⠈⢻⣤⡆⠀⠑⢴⠉⢿⣄⠀⠀
⠀⠀⢠⠞⢃⢀⣠⡴⠋⠀⠈⠁⠉⢻⣷⣤⠧⡀⠀⠈⢻⠿⣿⡀⠀⢀⡀⣸⠀⠀
⠀⠀⢀⠔⠋⠁⡰⠁⠀⢀⠠⣤⣶⠞⢻⡙⠀⠙⢦⠀⠈⠓⢾⡟⡖⠊⡏⡟⠀⠀
⠀⢠⣋⢀⣠⡞⠁⠀⠔⣡⣾⠋⠉⢆⡀⢱⡀⠀⠀⠀⠀⠀⠀⢿⡄⠀⢇⠇⠀⠀
⠀⠎⣴⠛⢡⠃⠀⠀⣴⡏⠈⠢⣀⣸⣉⠦⣬⠦⣀⠀⣄⠀⠀⠈⠃⠀⠀⠙⡀⠀
⠀⡸⡁⣠⡆⠀⠀⣾⠋⠑⢄⣀⣠⡤⢕⡶⠁⠀⠀⠁⢪⠑⠤⡀⠀⢰⡐⠂⠑⢀
⠀⠏⡼⢋⠇⠀⣸⣟⣄⠀⠀⢠⡠⠓⣿⠇⠀⠀⠀⠀⠀⠑⢄⡌⠆⢰⣷⣀⡀⢸
⠀⣸⠁⢸⠀⢀⡿⡀⠀⠈⢇⡀⠗⢲⡟⠀⠀⠀⠀⠀⠀⠀⠀⠹⡜⠦⣈⠀⣸⡄
⠀⣧⠤⣼⠀⢸⠇⠉⠂⠔⠘⢄⣀⢼⠃⡇⠀⠀⠀⠀⠀⠀⠀⠀⠈⠑⠚⠳⠋⠀
⠐⠇⣰⢿⠀⣾⢂⣀⣀⡸⠆⠁⠀⣹⠀⢡⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⡏⣸⠀⣟⠁⠀⠙⢄⠼⠁⠈⢺⠀⠘⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠈⡏⣸⢰⡯⠆⢤⠔⠊⢢⣀⣀⡼⡇⠀⠹⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢠⢻⢸⡇⠀⠀⠑⣤⠊⠀⠀⠈⣧⠀⠀⠙⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠸⣼⢸⠟⠑⠺⡉⠈⢑⠆⠠⠐⢻⡄⠀⠀⠈⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⡟⣸⡀⠀⠀⣈⣶⡁⠀⠀⠀⢠⢻⡄⠀⠀⠀⠑⠤⣄⡀⠀⠀⠀⠀⠀⠀
⠀⠀⢰⠁⣿⡿⠟⢏⠁⠀⢈⠖⠒⠊⠉⠉⠹⣄⠀⠀⠀⠀⠀⠈⠑⠢⡀⠀⠀⠀
⠀⣀⠟⢰⡇⠀⠀⠈⢢⡴⠊⠀⠀⠀⠀⠀⣸⢙⣷⠄⢀⠀⠠⠄⠐⠒⠚⠀⠀⠀
⠘⠹⠤⠛⠛⠲⢤⠐⠊⠈⠂⢤⢀⠠⠔⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠣⢀⡀⠔⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Telegram - https://t.me/longdragonai
Website - https://longdragon.ai/
X - https://x.com/longdragonLD
**/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.25;
pragma experimental ABIEncoderV2;

abstract contract Ownable {
    address private _owner;

    constructor() {
        _owner = msg.sender;
    }

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

    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _owner = address(0);
    }
}

library SafeERC20 {
    function safeTransfer(address token, address to, uint256 value) internal {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: INTERNAL TRANSFER_FAILED');
    }
}

interface IERC20 {
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external;
}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

contract LongDragon is Ownable {
    string private constant _name = unicode"Long Dragon";
    string private constant _symbol = unicode"LD";
    uint256 private constant _totalSupply = 200000000 * 1e18;

    uint256 public maxTransactionAmount = 2000000 * 1e18; // 1% Max Txn
    uint256 public maxWallet = 2000000 * 1e18; // 1% Max Wallet
    uint256 public swapTokensAtAmount = (_totalSupply * 2) / 10000;

    uint8 public buyTotalFees = 5;
    uint8 public sellTotalFees = 5;

    uint8 public revFee = 50;
    uint8 public treasuryFee = 25;
    uint8 public teamFee = 25;

    address private stakingWallet = 0x706C7965535411D6Ce2DE1E55Ed0c19E72924C46;
    address private presaleWallet = 0x5f921DcdA2f196b1fF7A5Bf73367EA1f38BF09C3;
    address private teamWallet = 0x0A1C384107B19C0ba3bC5dCFECB6BC43F11BE18A;
    address private constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

    bool private swapping;
    bool public limitsInEffect = true;
    bool private launched;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;

    event SwapAndLiquify(uint256 tokensSwapped, uint256 teamETH, uint256 revETH, uint256 TreasuryETH);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    IUniswapV2Router02 public constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public immutable uniswapV2Pair;

    constructor() {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), WETH);
        automatedMarketMakerPairs[uniswapV2Pair] = true;

        address airdropWallet = 0x44668F20c6986C8fb2B51bfF0cB498DC8E771a5a;

        setExcludedFromFees(owner(), true);
        setExcludedFromFees(address(this), true);
        setExcludedFromFees(address(0xdead), true);
        setExcludedFromFees(teamWallet, true);
        setExcludedFromFees(stakingWallet, true);
        setExcludedFromFees(presaleWallet, true);

        setExcludedFromMaxTransaction(owner(), true);
        setExcludedFromMaxTransaction(address(uniswapV2Router), true);
        setExcludedFromMaxTransaction(address(this), true);
        setExcludedFromMaxTransaction(address(0xdead), true);
        setExcludedFromMaxTransaction(address(uniswapV2Pair), true);
        setExcludedFromMaxTransaction(teamWallet, true);
        setExcludedFromMaxTransaction(stakingWallet, true);
        setExcludedFromMaxTransaction(presaleWallet, true);

        _balances[msg.sender] = 30000000 * 1e18;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
        _balances[stakingWallet] = 20000000 * 1e18;
        emit Transfer(address(0), stakingWallet, _balances[stakingWallet]);
        _balances[presaleWallet] = 4000000 * 1e18;
        emit Transfer(address(0), presaleWallet, _balances[presaleWallet]);
        _balances[airdropWallet] = 20000000 * 1e18;
        emit Transfer(address(0), airdropWallet, _balances[airdropWallet]);
        _balances[address(this)] = 126000000 * 1e18;
        emit Transfer(address(0), address(this), _balances[address(this)]);

        _approve(address(this), address(uniswapV2Router), type(uint256).max);
    }

    receive() external payable {}

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

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

    function decimals() public pure returns (uint8) {
        return 18;
    }

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

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

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

    function approve(address spender, uint256 amount) external returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
        uint256 currentAllowance = _allowances[sender][msg.sender];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, msg.sender, currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (!launched && (from != owner() && from != address(this) && to != owner())) {
            revert("Trading not enabled");
        }

        if (limitsInEffect) {
            if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                    require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTx");
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                } else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxTransactionAmount,"Sell transfer amount exceeds the maxTx");
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }
            }
        }

        bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;

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

        bool takeFee = !swapping;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");

        uint256 fees = 0;
        if (takeFee) {
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = (amount * sellTotalFees) / 100;
            } else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = (amount * buyTotalFees) / 100;
            }

            if (fees > 0) {
                unchecked {
                    amount = amount - fees;
                    _balances[from] -= fees;
                    _balances[address(this)] += fees;
                }
                emit Transfer(from, address(this), fees);
            }
        }
        unchecked {
            _balances[from] -= amount;
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
    }

    function setDistributionFees(uint8 _RevFee, uint8 _TreasuryFee, uint8 _teamFee) external onlyOwner {
        revFee = _RevFee;
        treasuryFee = _TreasuryFee;
        teamFee = _teamFee;
        require((revFee + treasuryFee + teamFee) == 100, "Distribution have to be equal to 100%");
    }

    function setFees(uint8 _buyTotalFees, uint8 _sellTotalFees) external onlyOwner {
        require(_buyTotalFees <= 5, "Buy fees must be less than or equal to 5%");
        require(_sellTotalFees <= 5, "Sell fees must be less than or equal to 5%");
        buyTotalFees = _buyTotalFees;
        sellTotalFees = _sellTotalFees;
    }

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

    function setExcludedFromMaxTransaction(address account, bool excluded) public onlyOwner {
        _isExcludedMaxTransactionAmount[account] = excluded;
    }

    function airdropWallets(address[] memory addresses, uint256[] memory amounts) external onlyOwner {
        require(!launched, "Already launched");
        for (uint256 i = 0; i < addresses.length; i++) {
            require(_balances[msg.sender] >= amounts[i], "ERC20: transfer amount exceeds balance");
            _balances[addresses[i]] += amounts[i];
            _balances[msg.sender] -= amounts[i];
            emit Transfer(msg.sender, addresses[i], amounts[i]);
        }
    }

    function openTrade() external onlyOwner {
        require(!launched, "Already launched");
        launched = true;
    }

    function LaunchLongDragon() external payable onlyOwner {
        require(!launched, "Already launched");
        uniswapV2Router.addLiquidityETH{value: msg.value}(
            address(this),
            _balances[address(this)],
            0,
            0,
            teamWallet,
            block.timestamp
        );
    }

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

    function setSwapAtAmount(uint256 newSwapAmount) external onlyOwner {
        require(newSwapAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% of the supply");
        require(newSwapAmount <= (totalSupply() * 5) / 1000, "Swap amount cannot be higher than 0.5% of the supply");
        swapTokensAtAmount = newSwapAmount;
    }

    function setMaxTxnAmount(uint256 newMaxTx) external onlyOwner {
        require(newMaxTx >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set max transaction lower than 0.1%");
        maxTransactionAmount = newMaxTx * (10**18);
    }

    function setMaxWalletAmount(uint256 newMaxWallet) external onlyOwner {
        require(newMaxWallet >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set max wallet lower than 0.1%");
        maxWallet = newMaxWallet * (10**18);
    }

    function updateStakingWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        stakingWallet = newAddress;
    }

    function updatePresaleWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        presaleWallet = newAddress;
    }

    function updateTeamWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        teamWallet = newAddress;
    }

    function excludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function withdrawStuckToken(address token, address to) external onlyOwner {
        uint256 _contractBalance = IERC20(token).balanceOf(address(this));
        SafeERC20.safeTransfer(token, to, _contractBalance); // Use safeTransfer
    }

    function withdrawStuckETH(address addr) external onlyOwner {
        require(addr != address(0), "Invalid address");

        (bool success, ) = addr.call{value: address(this).balance}("");
        require(success, "Withdrawal failed");
    }

    function swapBack() private {
        uint256 swapThreshold = swapTokensAtAmount;
        bool success;

        if (balanceOf(address(this)) > swapTokensAtAmount * 20) {
            swapThreshold = swapTokensAtAmount * 20;
        }

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(swapThreshold, 0, path, address(this), block.timestamp);

        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            uint256 ethForRev = (ethBalance * revFee) / 100;
            uint256 ethForTeam = (ethBalance * teamFee) / 100;
            uint256 ethForTreasury = ethBalance - ethForRev - ethForTeam;

            (success, ) = address(teamWallet).call{value: ethForTeam}("");
            (success, ) = address(presaleWallet).call{value: ethForTreasury}("");
            (success, ) = address(stakingWallet).call{value: ethForRev}("");

            emit SwapAndLiquify(swapThreshold, ethForTeam, ethForRev, ethForTreasury);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"teamETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"revETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"TreasuryETH","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":[],"name":"LaunchLongDragon","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdropWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_RevFee","type":"uint8"},{"internalType":"uint8","name":"_TreasuryFee","type":"uint8"},{"internalType":"uint8","name":"_teamFee","type":"uint8"}],"name":"setDistributionFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludedFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_buyTotalFees","type":"uint8"},{"internalType":"uint8","name":"_sellTotalFees","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxTx","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxWallet","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapAmount","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updatePresaleWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateStakingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"withdrawStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526a01a784379d99db420000006001556a01a784379d99db420000006002556127106aa56fa5b99019a5c8000000600261003d9190610719565b6100479190610742565b600355600480546001600160c81b03191678706c7965535411d6ce2de1e55ed0c19e72924c46191932050517905560058054735f921dcda2f196b1ff7a5bf73367ea1f38bf09c36001600160a01b031990911617905560068054600161ff0160a01b0319167501000a1c384107b19c0ba3bc5dcfecb6bc43f11be18a1790553480156100d1575f80fd5b505f80546001600160a01b031916331790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9163c45a01559160048083019260209291908290030181865afa158015610131573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101559190610761565b6040516364e329cb60e11b815230600482015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260248201526001600160a01b03919091169063c9c65396906044016020604051808303815f875af11580156101b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d89190610761565b6001600160a01b031660808190525f908152600b60205260409020805460ff191660011790557344668f20c6986c8fb2b51bff0cb498dc8e771a5a61022e6102275f546001600160a01b031690565b60016104f3565b6102393060016104f3565b61024661dead60016104f3565b60065461025d906001600160a01b031660016104f3565b60045461027d906501000000000090046001600160a01b031660016104f3565b600554610294906001600160a01b031660016104f3565b6102af6102a85f546001600160a01b031690565b6001610577565b6102ce737a250d5630b4cf539739df2c5dacb4c659f2488d6001610577565b6102d9306001610577565b6102e661dead6001610577565b6080516102f4906001610577565b60065461030b906001600160a01b03166001610577565b60045461032b906501000000000090046001600160a01b03166001610577565b600554610342906001600160a01b03166001610577565b335f8181526007602090815260408083206a18d0bf423c03d8de0000009081905590519081525f80516020613147833981519152910160405180910390a3600480546001600160a01b03650100000000009182900481165f908152600760205260408082206a108b2a2c2802909400000090559354929092041680825282822054925190925f80516020613147833981519152916103e291815260200190565b60405180910390a3600580546001600160a01b039081165f908152600760205260408082206a034f086f3b33b6840000009055925490911680825282822054925190925f805160206131478339815191529161044091815260200190565b60405180910390a36001600160a01b0381165f8181526007602090815260408083206a108b2a2c280290940000009081905590519081525f80516020613147833981519152910160405180910390a3305f8181526007602090815260408083206a683989afc8dcf53e0000009081905590519081525f80516020613147833981519152910160405180910390a36104ed30737a250d5630b4cf539739df2c5dacb4c659f2488d5f196105f6565b5061078e565b336105055f546001600160a01b031690565b6001600160a01b03161461054d5760405162461bcd60e51b815260206004820181905260248201525f8051602061312783398151915260448201526064015b60405180910390fd5b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b336105895f546001600160a01b031690565b6001600160a01b0316146105cc5760405162461bcd60e51b815260206004820181905260248201525f805160206131278339815191526044820152606401610544565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b0383166106585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610544565b6001600160a01b0382166106b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610544565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b808202811582820484141761073c57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f8261075c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610771575f80fd5b81516001600160a01b0381168114610787575f80fd5b9392505050565b60805161297a6107ad5f395f81816103cf0152611045015261297a5ff3fe608060405260043610610236575f3560e01c80637cb332bb11610129578063cc32d176116100a8578063e2f456051161006d578063e2f4560514610718578063e71079471461072d578063edbb3b2c1461074c578063f8b45b051461076b578063fb201b1d14610780575f80fd5b8063cc32d1761461065b578063d201b01e1461067b578063d7c94efd1461069a578063d85ba063146106bb578063dd62ed3e146106d4575f80fd5b80639a7a23d6116100ee5780639a7a23d6146105e1578063a9059cbb14610600578063ab0c86c51461061f578063bc205ad314610627578063c8c8ebe414610646575f80fd5b80637cb332bb1461052657806385ecafd7146105455780638da5cb5b1461057c5780638e17c0171461059857806395d89b41146105b7575f80fd5b80634a62bb65116101b55780636a486a8e1161017a5780636a486a8e1461048d57806370a08231146104ab578063715018a6146104df57806374010ece146104f3578063751039fc14610512575f80fd5b80634a62bb65146103f15780634fcd244614610411578063590ffdce146104305780636402511e1461044f57806366650dae1461046e575f80fd5b806323b872dd116101fb57806323b872dd1461034c57806327a14fc21461036b578063313ce5671461038c5780633c090c461461039f57806349bd5a5e146103be575f80fd5b806306fdde0314610241578063095ea7b3146102865780631694505e146102b557806318160ddd146102f457806321d37e391461031b575f80fd5b3661023d57005b5f80fd5b34801561024c575f80fd5b5060408051808201909152600b81526a2637b73390223930b3b7b760a91b60208201525b60405161027d919061238a565b60405180910390f35b348015610291575f80fd5b506102a56102a03660046123da565b610794565b604051901515815260200161027d565b3480156102c0575f80fd5b506102dc737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161027d565b3480156102ff575f80fd5b506aa56fa5b99019a5c80000005b60405190815260200161027d565b348015610326575f80fd5b5060045461033a9062010000900460ff1681565b60405160ff909116815260200161027d565b348015610357575f80fd5b506102a5610366366004612402565b6107aa565b348015610376575f80fd5b5061038a61038536600461243b565b61085e565b005b348015610397575f80fd5b50601261033a565b3480156103aa575f80fd5b5061038a6103b9366004612462565b610941565b3480156103c9575f80fd5b506102dc7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103fc575f80fd5b506006546102a590600160a81b900460ff1681565b34801561041c575f80fd5b5061038a61042b3660046124a2565b610a49565b34801561043b575f80fd5b5061038a61044a3660046124e3565b610b72565b34801561045a575f80fd5b5061038a61046936600461243b565b610bd4565b348015610479575f80fd5b5061038a6104883660046124e3565b610d31565b348015610498575f80fd5b5060045461033a90610100900460ff1681565b3480156104b6575f80fd5b5061030d6104c5366004612518565b6001600160a01b03165f9081526007602052604090205490565b3480156104ea575f80fd5b5061038a610d93565b3480156104fe575f80fd5b5061038a61050d36600461243b565b610ddc565b34801561051d575f80fd5b5061038a610ec4565b348015610531575f80fd5b5061038a610540366004612518565b610f0b565b348015610550575f80fd5b506102a561055f366004612518565b6001600160a01b03165f9081526009602052604090205460ff1690565b348015610587575f80fd5b505f546001600160a01b03166102dc565b3480156105a3575f80fd5b5061038a6105b2366004612518565b610f8b565b3480156105c2575f80fd5b50604080518082019091526002815261131160f21b6020820152610270565b3480156105ec575f80fd5b5061038a6105fb3660046124e3565b61100b565b34801561060b575f80fd5b506102a561061a3660046123da565b6110ee565b61038a6110fa565b348015610632575f80fd5b5061038a610641366004612538565b61120d565b348015610651575f80fd5b5061030d60015481565b348015610666575f80fd5b5060045461033a906301000000900460ff1681565b348015610686575f80fd5b5061038a610695366004612518565b6112ba565b3480156106a5575f80fd5b5060045461033a90640100000000900460ff1681565b3480156106c6575f80fd5b5060045461033a9060ff1681565b3480156106df575f80fd5b5061030d6106ee366004612538565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b348015610723575f80fd5b5061030d60035481565b348015610738575f80fd5b5061038a610747366004612634565b6113d1565b348015610757575f80fd5b5061038a610766366004612518565b6115de565b348015610776575f80fd5b5061030d60025481565b34801561078b575f80fd5b5061038a61166c565b5f6107a03384846116e3565b5060015b92915050565b6001600160a01b0383165f9081526008602090815260408083203384529091528120545f198114610848578281101561083b5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61084885338584036116e3565b610853858585611806565b506001949350505050565b336108705f546001600160a01b031690565b6001600160a01b0316146108965760405162461bcd60e51b8152600401610832906126ee565b670de0b6b3a76400006103e86108b86aa56fa5b99019a5c80000006001612737565b6108c2919061274e565b6108cc919061274e565b8110156109295760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574206d61782077616c6c6574206c6f776572207468616e60448201526420302e312560d81b6064820152608401610832565b61093b81670de0b6b3a7640000612737565b60025550565b336109535f546001600160a01b031690565b6001600160a01b0316146109795760405162461bcd60e51b8152600401610832906126ee565b6004805463ffff000019166201000060ff868116820263ff000000191692909217630100000086841681029190911764ff0000000019166401000000008685168102919091179485905584048316936109da9391810482169290041661276d565b6109e4919061276d565b60ff16606414610a445760405162461bcd60e51b815260206004820152602560248201527f446973747269627574696f6e206861766520746f20626520657175616c20746f604482015264203130302560d81b6064820152608401610832565b505050565b33610a5b5f546001600160a01b031690565b6001600160a01b031614610a815760405162461bcd60e51b8152600401610832906126ee565b60058260ff161115610ae75760405162461bcd60e51b815260206004820152602960248201527f4275792066656573206d757374206265206c657373207468616e206f7220657160448201526875616c20746f20352560b81b6064820152608401610832565b60058160ff161115610b4e5760405162461bcd60e51b815260206004820152602a60248201527f53656c6c2066656573206d757374206265206c657373207468616e206f7220656044820152697175616c20746f20352560b01b6064820152608401610832565b6004805460ff9283166101000261ffff199091169290931691909117919091179055565b33610b845f546001600160a01b031690565b6001600160a01b031614610baa5760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b33610be65f546001600160a01b031690565b6001600160a01b031614610c0c5760405162461bcd60e51b8152600401610832906126ee565b620186a0610c266aa56fa5b99019a5c80000006001612737565b610c30919061274e565b811015610c9d5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527420302e30303125206f662074686520737570706c7960581b6064820152608401610832565b6103e8610cb66aa56fa5b99019a5c80000006005612737565b610cc0919061274e565b811115610d2c5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f7420626520686967686572207468616044820152736e20302e3525206f662074686520737570706c7960601b6064820152608401610832565b600355565b33610d435f546001600160a01b031690565b6001600160a01b031614610d695760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b33610da55f546001600160a01b031690565b6001600160a01b031614610dcb5760405162461bcd60e51b8152600401610832906126ee565b5f80546001600160a01b0319169055565b33610dee5f546001600160a01b031690565b6001600160a01b031614610e145760405162461bcd60e51b8152600401610832906126ee565b670de0b6b3a76400006103e8610e366aa56fa5b99019a5c80000006001612737565b610e40919061274e565b610e4a919061274e565b811015610eac5760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c6f776572604482015269207468616e20302e312560b01b6064820152608401610832565b610ebe81670de0b6b3a7640000612737565b60015550565b33610ed65f546001600160a01b031690565b6001600160a01b031614610efc5760405162461bcd60e51b8152600401610832906126ee565b6006805460ff60a81b19169055565b33610f1d5f546001600160a01b031690565b6001600160a01b031614610f435760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b038116610f695760405162461bcd60e51b815260040161083290612786565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b33610f9d5f546001600160a01b031690565b6001600160a01b031614610fc35760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b038116610fe95760405162461bcd60e51b815260040161083290612786565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b3361101d5f546001600160a01b031690565b6001600160a01b0316146110435760405162461bcd60e51b8152600401610832906126ee565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036110c45760405162461bcd60e51b815260206004820152601a60248201527f54686520706169722063616e6e6f742062652072656d6f7665640000000000006044820152606401610832565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b5f6107a0338484611806565b3361110c5f546001600160a01b031690565b6001600160a01b0316146111325760405162461bcd60e51b8152600401610832906126ee565b600654600160b01b900460ff161561115c5760405162461bcd60e51b8152600401610832906127b6565b305f8181526007602052604080822054600654915163f305d71960e01b8152600481019490945260248401526044830182905260648301919091526001600160a01b031660848201524260a4820152737a250d5630b4cf539739df2c5dacb4c659f2488d9063f305d71990349060c40160606040518083038185885af11580156111e8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b3361121f5f546001600160a01b031690565b6001600160a01b0316146112455760405162461bcd60e51b8152600401610832906126ee565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015611289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ad919061280b565b9050610a44838383611f6b565b336112cc5f546001600160a01b031690565b6001600160a01b0316146112f25760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b03811661133a5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610832565b5f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114611383576040519150601f19603f3d011682016040523d82523d5f602084013e611388565b606091505b50509050806113cd5760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b0819985a5b1959607a1b6044820152606401610832565b5050565b336113e35f546001600160a01b031690565b6001600160a01b0316146114095760405162461bcd60e51b8152600401610832906126ee565b600654600160b01b900460ff16156114335760405162461bcd60e51b8152600401610832906127b6565b5f5b8251811015610a445781818151811061145057611450612822565b602002602001015160075f336001600160a01b03166001600160a01b031681526020019081526020015f2054101561149a5760405162461bcd60e51b815260040161083290612836565b8181815181106114ac576114ac612822565b602002602001015160075f8584815181106114c9576114c9612822565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f8282546114fe919061287c565b9250508190555081818151811061151757611517612822565b602002602001015160075f336001600160a01b03166001600160a01b031681526020019081526020015f205f828254611550919061288f565b9250508190555082818151811061156957611569612822565b60200260200101516001600160a01b0316336001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484815181106115b7576115b7612822565b60200260200101516040516115ce91815260200190565b60405180910390a3600101611435565b336115f05f546001600160a01b031690565b6001600160a01b0316146116165760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b03811661163c5760405162461bcd60e51b815260040161083290612786565b600480546001600160a01b03909216650100000000000265010000000000600160c81b0319909216919091179055565b3361167e5f546001600160a01b031690565b6001600160a01b0316146116a45760405162461bcd60e51b8152600401610832906126ee565b600654600160b01b900460ff16156116ce5760405162461bcd60e51b8152600401610832906127b6565b6006805460ff60b01b1916600160b01b179055565b6001600160a01b0383166117455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610832565b6001600160a01b0382166117a65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610832565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661186a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610832565b6001600160a01b0382166118cc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610832565b5f811161192d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610832565b600654600160b01b900460ff1615801561198157505f546001600160a01b0384811691161480159061196857506001600160a01b0383163014155b801561198157505f546001600160a01b03838116911614155b156119c45760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610832565b600654600160a81b900460ff1615611c85575f546001600160a01b03848116911614801590611a0057505f546001600160a01b03838116911614155b8015611a1457506001600160a01b03821615155b8015611a2b57506001600160a01b03821661dead14155b8015611a415750600654600160a01b900460ff16155b15611c85576001600160a01b0383165f908152600b602052604090205460ff168015611a8557506001600160a01b0382165f908152600a602052604090205460ff16155b15611b5857600154811115611aea5760405162461bcd60e51b815260206004820152602560248201527f427579207472616e7366657220616d6f756e74206578636565647320746865206044820152640dac2f0a8f60db1b6064820152608401610832565b6002546001600160a01b0383165f90815260076020526040902054611b0f908361287c565b1115611b535760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610832565b611c85565b6001600160a01b0382165f908152600b602052604090205460ff168015611b9757506001600160a01b0383165f908152600a602052604090205460ff16155b15611bfd57600154811115611b535760405162461bcd60e51b815260206004820152602660248201527f53656c6c207472616e7366657220616d6f756e74206578636565647320746865604482015265040dac2f0a8f60d31b6064820152608401610832565b6001600160a01b0382165f908152600a602052604090205460ff16611c85576002546001600160a01b0383165f90815260076020526040902054611c41908361287c565b1115611c855760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610832565b600354305f90815260076020526040902054108015908190611cb15750600654600160a01b900460ff16155b8015611cd557506001600160a01b0384165f908152600b602052604090205460ff16155b8015611cf957506001600160a01b0384165f9081526009602052604090205460ff16155b8015611d1d57506001600160a01b0383165f9081526009602052604090205460ff16155b15611d4b576006805460ff60a01b1916600160a01b179055611d3d612092565b6006805460ff60a01b191690555b6006546001600160a01b0385165f9081526009602052604090205460ff600160a01b909204821615911680611d9757506001600160a01b0384165f9081526009602052604090205460ff165b15611d9f57505f5b6001600160a01b0385165f9081526007602052604090205483811015611dd75760405162461bcd60e51b815260040161083290612836565b5f8215611ef9576001600160a01b0386165f908152600b602052604090205460ff168015611e0e5750600454610100900460ff1615155b15611e3c57600454606490611e2b90610100900460ff1687612737565b611e35919061274e565b9050611e8c565b6001600160a01b0387165f908152600b602052604090205460ff168015611e67575060045460ff1615155b15611e8c57600454606490611e7f9060ff1687612737565b611e89919061274e565b90505b8015611ef9576001600160a01b0387165f8181526007602090815260408083208054869003905530808452928190208054860190555184815297849003979192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6001600160a01b038088165f8181526007602052604080822080548a900390559289168082529083902080548901905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f5a9089815260200190565b60405180910390a350505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f92839290871691611fc691906128a2565b5f604051808303815f865af19150503d805f8114611fff576040519150601f19603f3d011682016040523d82523d5f602084013e612004565b606091505b509150915081801561202e57508051158061202e57508080602001905181019061202e91906128b8565b61208b5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657248656c7065723a20494e5445524e414c205452414e5346456044820152671497d1905253115160c21b6064820152608401610832565b5050505050565b6003545f6120a1826014612737565b305f9081526007602052604090205411156120c7576003546120c4906014612737565b91505b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106120fa576120fa612822565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061214257612142612822565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906121999086905f908690309042906004016128d3565b5f604051808303815f87803b1580156121b0575f80fd5b505af11580156121c2573d5f803e3d5ffd5b504792505081159050612384576004545f906064906121ea9062010000900460ff1684612737565b6121f4919061274e565b6004549091505f9060649061221490640100000000900460ff1685612737565b61221e919061274e565b90505f8161222c848661288f565b612236919061288f565b6006546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114612281576040519150601f19603f3d011682016040523d82523d5f602084013e612286565b606091505b50506005546040519197506001600160a01b03169082905f81818185875af1925050503d805f81146122d3576040519150601f19603f3d011682016040523d82523d5f602084013e6122d8565b606091505b50506004546040519197506501000000000090046001600160a01b03169084905f81818185875af1925050503d805f811461232e576040519150601f19603f3d011682016040523d82523d5f602084013e612333565b606091505b50506040805189815260208101859052908101859052606081018390529096507f93efcf28fbf701a930e0ad258987a2e4f08eb3aa99f9c02029e7ba049f69405f9060800160405180910390a15050505b50505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146123d5575f80fd5b919050565b5f80604083850312156123eb575f80fd5b6123f4836123bf565b946020939093013593505050565b5f805f60608486031215612414575f80fd5b61241d846123bf565b925061242b602085016123bf565b9150604084013590509250925092565b5f6020828403121561244b575f80fd5b5035919050565b803560ff811681146123d5575f80fd5b5f805f60608486031215612474575f80fd5b61247d84612452565b925061248b60208501612452565b915061249960408501612452565b90509250925092565b5f80604083850312156124b3575f80fd5b6124bc83612452565b91506124ca60208401612452565b90509250929050565b80151581146124e0575f80fd5b50565b5f80604083850312156124f4575f80fd5b6124fd836123bf565b9150602083013561250d816124d3565b809150509250929050565b5f60208284031215612528575f80fd5b612531826123bf565b9392505050565b5f8060408385031215612549575f80fd5b612552836123bf565b91506124ca602084016123bf565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561259d5761259d612560565b604052919050565b5f67ffffffffffffffff8211156125be576125be612560565b5060051b60200190565b5f82601f8301126125d7575f80fd5b813560206125ec6125e7836125a5565b612574565b8083825260208201915060208460051b87010193508684111561260d575f80fd5b602086015b848110156126295780358352918301918301612612565b509695505050505050565b5f8060408385031215612645575f80fd5b823567ffffffffffffffff8082111561265c575f80fd5b818501915085601f83011261266f575f80fd5b8135602061267f6125e7836125a5565b82815260059290921b8401810191818101908984111561269d575f80fd5b948201945b838610156126c2576126b3866123bf565b825294820194908201906126a2565b965050860135925050808211156126d7575f80fd5b506126e4858286016125c8565b9150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107a4576107a4612723565b5f8261276857634e487b7160e01b5f52601260045260245ffd5b500490565b60ff81811683821601908111156107a4576107a4612723565b602080825260169082015275416464726573732063616e6e6f74206265207a65726f60501b604082015260600190565b60208082526010908201526f105b1c9958591e481b185d5b98da195960821b604082015260600190565b5f805f606084860312156127f2575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561281b575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b808201808211156107a4576107a4612723565b818103818111156107a4576107a4612723565b5f82518060208501845e5f920191825250919050565b5f602082840312156128c8575f80fd5b8151612531816124d3565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156129235784516001600160a01b0316835293830193918301916001016128fe565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212207a1f031a90a49941262cb932910edad10eea908a4c0e5334c842ff3fec43c9dc64736f6c634300081900334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x608060405260043610610236575f3560e01c80637cb332bb11610129578063cc32d176116100a8578063e2f456051161006d578063e2f4560514610718578063e71079471461072d578063edbb3b2c1461074c578063f8b45b051461076b578063fb201b1d14610780575f80fd5b8063cc32d1761461065b578063d201b01e1461067b578063d7c94efd1461069a578063d85ba063146106bb578063dd62ed3e146106d4575f80fd5b80639a7a23d6116100ee5780639a7a23d6146105e1578063a9059cbb14610600578063ab0c86c51461061f578063bc205ad314610627578063c8c8ebe414610646575f80fd5b80637cb332bb1461052657806385ecafd7146105455780638da5cb5b1461057c5780638e17c0171461059857806395d89b41146105b7575f80fd5b80634a62bb65116101b55780636a486a8e1161017a5780636a486a8e1461048d57806370a08231146104ab578063715018a6146104df57806374010ece146104f3578063751039fc14610512575f80fd5b80634a62bb65146103f15780634fcd244614610411578063590ffdce146104305780636402511e1461044f57806366650dae1461046e575f80fd5b806323b872dd116101fb57806323b872dd1461034c57806327a14fc21461036b578063313ce5671461038c5780633c090c461461039f57806349bd5a5e146103be575f80fd5b806306fdde0314610241578063095ea7b3146102865780631694505e146102b557806318160ddd146102f457806321d37e391461031b575f80fd5b3661023d57005b5f80fd5b34801561024c575f80fd5b5060408051808201909152600b81526a2637b73390223930b3b7b760a91b60208201525b60405161027d919061238a565b60405180910390f35b348015610291575f80fd5b506102a56102a03660046123da565b610794565b604051901515815260200161027d565b3480156102c0575f80fd5b506102dc737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161027d565b3480156102ff575f80fd5b506aa56fa5b99019a5c80000005b60405190815260200161027d565b348015610326575f80fd5b5060045461033a9062010000900460ff1681565b60405160ff909116815260200161027d565b348015610357575f80fd5b506102a5610366366004612402565b6107aa565b348015610376575f80fd5b5061038a61038536600461243b565b61085e565b005b348015610397575f80fd5b50601261033a565b3480156103aa575f80fd5b5061038a6103b9366004612462565b610941565b3480156103c9575f80fd5b506102dc7f000000000000000000000000235d8bd43ce6a575e4767f4bf1772cc28925c40f81565b3480156103fc575f80fd5b506006546102a590600160a81b900460ff1681565b34801561041c575f80fd5b5061038a61042b3660046124a2565b610a49565b34801561043b575f80fd5b5061038a61044a3660046124e3565b610b72565b34801561045a575f80fd5b5061038a61046936600461243b565b610bd4565b348015610479575f80fd5b5061038a6104883660046124e3565b610d31565b348015610498575f80fd5b5060045461033a90610100900460ff1681565b3480156104b6575f80fd5b5061030d6104c5366004612518565b6001600160a01b03165f9081526007602052604090205490565b3480156104ea575f80fd5b5061038a610d93565b3480156104fe575f80fd5b5061038a61050d36600461243b565b610ddc565b34801561051d575f80fd5b5061038a610ec4565b348015610531575f80fd5b5061038a610540366004612518565b610f0b565b348015610550575f80fd5b506102a561055f366004612518565b6001600160a01b03165f9081526009602052604090205460ff1690565b348015610587575f80fd5b505f546001600160a01b03166102dc565b3480156105a3575f80fd5b5061038a6105b2366004612518565b610f8b565b3480156105c2575f80fd5b50604080518082019091526002815261131160f21b6020820152610270565b3480156105ec575f80fd5b5061038a6105fb3660046124e3565b61100b565b34801561060b575f80fd5b506102a561061a3660046123da565b6110ee565b61038a6110fa565b348015610632575f80fd5b5061038a610641366004612538565b61120d565b348015610651575f80fd5b5061030d60015481565b348015610666575f80fd5b5060045461033a906301000000900460ff1681565b348015610686575f80fd5b5061038a610695366004612518565b6112ba565b3480156106a5575f80fd5b5060045461033a90640100000000900460ff1681565b3480156106c6575f80fd5b5060045461033a9060ff1681565b3480156106df575f80fd5b5061030d6106ee366004612538565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b348015610723575f80fd5b5061030d60035481565b348015610738575f80fd5b5061038a610747366004612634565b6113d1565b348015610757575f80fd5b5061038a610766366004612518565b6115de565b348015610776575f80fd5b5061030d60025481565b34801561078b575f80fd5b5061038a61166c565b5f6107a03384846116e3565b5060015b92915050565b6001600160a01b0383165f9081526008602090815260408083203384529091528120545f198114610848578281101561083b5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61084885338584036116e3565b610853858585611806565b506001949350505050565b336108705f546001600160a01b031690565b6001600160a01b0316146108965760405162461bcd60e51b8152600401610832906126ee565b670de0b6b3a76400006103e86108b86aa56fa5b99019a5c80000006001612737565b6108c2919061274e565b6108cc919061274e565b8110156109295760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574206d61782077616c6c6574206c6f776572207468616e60448201526420302e312560d81b6064820152608401610832565b61093b81670de0b6b3a7640000612737565b60025550565b336109535f546001600160a01b031690565b6001600160a01b0316146109795760405162461bcd60e51b8152600401610832906126ee565b6004805463ffff000019166201000060ff868116820263ff000000191692909217630100000086841681029190911764ff0000000019166401000000008685168102919091179485905584048316936109da9391810482169290041661276d565b6109e4919061276d565b60ff16606414610a445760405162461bcd60e51b815260206004820152602560248201527f446973747269627574696f6e206861766520746f20626520657175616c20746f604482015264203130302560d81b6064820152608401610832565b505050565b33610a5b5f546001600160a01b031690565b6001600160a01b031614610a815760405162461bcd60e51b8152600401610832906126ee565b60058260ff161115610ae75760405162461bcd60e51b815260206004820152602960248201527f4275792066656573206d757374206265206c657373207468616e206f7220657160448201526875616c20746f20352560b81b6064820152608401610832565b60058160ff161115610b4e5760405162461bcd60e51b815260206004820152602a60248201527f53656c6c2066656573206d757374206265206c657373207468616e206f7220656044820152697175616c20746f20352560b01b6064820152608401610832565b6004805460ff9283166101000261ffff199091169290931691909117919091179055565b33610b845f546001600160a01b031690565b6001600160a01b031614610baa5760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b33610be65f546001600160a01b031690565b6001600160a01b031614610c0c5760405162461bcd60e51b8152600401610832906126ee565b620186a0610c266aa56fa5b99019a5c80000006001612737565b610c30919061274e565b811015610c9d5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527420302e30303125206f662074686520737570706c7960581b6064820152608401610832565b6103e8610cb66aa56fa5b99019a5c80000006005612737565b610cc0919061274e565b811115610d2c5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f7420626520686967686572207468616044820152736e20302e3525206f662074686520737570706c7960601b6064820152608401610832565b600355565b33610d435f546001600160a01b031690565b6001600160a01b031614610d695760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b33610da55f546001600160a01b031690565b6001600160a01b031614610dcb5760405162461bcd60e51b8152600401610832906126ee565b5f80546001600160a01b0319169055565b33610dee5f546001600160a01b031690565b6001600160a01b031614610e145760405162461bcd60e51b8152600401610832906126ee565b670de0b6b3a76400006103e8610e366aa56fa5b99019a5c80000006001612737565b610e40919061274e565b610e4a919061274e565b811015610eac5760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c6f776572604482015269207468616e20302e312560b01b6064820152608401610832565b610ebe81670de0b6b3a7640000612737565b60015550565b33610ed65f546001600160a01b031690565b6001600160a01b031614610efc5760405162461bcd60e51b8152600401610832906126ee565b6006805460ff60a81b19169055565b33610f1d5f546001600160a01b031690565b6001600160a01b031614610f435760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b038116610f695760405162461bcd60e51b815260040161083290612786565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b33610f9d5f546001600160a01b031690565b6001600160a01b031614610fc35760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b038116610fe95760405162461bcd60e51b815260040161083290612786565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b3361101d5f546001600160a01b031690565b6001600160a01b0316146110435760405162461bcd60e51b8152600401610832906126ee565b7f000000000000000000000000235d8bd43ce6a575e4767f4bf1772cc28925c40f6001600160a01b0316826001600160a01b0316036110c45760405162461bcd60e51b815260206004820152601a60248201527f54686520706169722063616e6e6f742062652072656d6f7665640000000000006044820152606401610832565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b5f6107a0338484611806565b3361110c5f546001600160a01b031690565b6001600160a01b0316146111325760405162461bcd60e51b8152600401610832906126ee565b600654600160b01b900460ff161561115c5760405162461bcd60e51b8152600401610832906127b6565b305f8181526007602052604080822054600654915163f305d71960e01b8152600481019490945260248401526044830182905260648301919091526001600160a01b031660848201524260a4820152737a250d5630b4cf539739df2c5dacb4c659f2488d9063f305d71990349060c40160606040518083038185885af11580156111e8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b3361121f5f546001600160a01b031690565b6001600160a01b0316146112455760405162461bcd60e51b8152600401610832906126ee565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015611289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ad919061280b565b9050610a44838383611f6b565b336112cc5f546001600160a01b031690565b6001600160a01b0316146112f25760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b03811661133a5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610832565b5f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114611383576040519150601f19603f3d011682016040523d82523d5f602084013e611388565b606091505b50509050806113cd5760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b0819985a5b1959607a1b6044820152606401610832565b5050565b336113e35f546001600160a01b031690565b6001600160a01b0316146114095760405162461bcd60e51b8152600401610832906126ee565b600654600160b01b900460ff16156114335760405162461bcd60e51b8152600401610832906127b6565b5f5b8251811015610a445781818151811061145057611450612822565b602002602001015160075f336001600160a01b03166001600160a01b031681526020019081526020015f2054101561149a5760405162461bcd60e51b815260040161083290612836565b8181815181106114ac576114ac612822565b602002602001015160075f8584815181106114c9576114c9612822565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f8282546114fe919061287c565b9250508190555081818151811061151757611517612822565b602002602001015160075f336001600160a01b03166001600160a01b031681526020019081526020015f205f828254611550919061288f565b9250508190555082818151811061156957611569612822565b60200260200101516001600160a01b0316336001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484815181106115b7576115b7612822565b60200260200101516040516115ce91815260200190565b60405180910390a3600101611435565b336115f05f546001600160a01b031690565b6001600160a01b0316146116165760405162461bcd60e51b8152600401610832906126ee565b6001600160a01b03811661163c5760405162461bcd60e51b815260040161083290612786565b600480546001600160a01b03909216650100000000000265010000000000600160c81b0319909216919091179055565b3361167e5f546001600160a01b031690565b6001600160a01b0316146116a45760405162461bcd60e51b8152600401610832906126ee565b600654600160b01b900460ff16156116ce5760405162461bcd60e51b8152600401610832906127b6565b6006805460ff60b01b1916600160b01b179055565b6001600160a01b0383166117455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610832565b6001600160a01b0382166117a65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610832565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661186a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610832565b6001600160a01b0382166118cc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610832565b5f811161192d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610832565b600654600160b01b900460ff1615801561198157505f546001600160a01b0384811691161480159061196857506001600160a01b0383163014155b801561198157505f546001600160a01b03838116911614155b156119c45760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610832565b600654600160a81b900460ff1615611c85575f546001600160a01b03848116911614801590611a0057505f546001600160a01b03838116911614155b8015611a1457506001600160a01b03821615155b8015611a2b57506001600160a01b03821661dead14155b8015611a415750600654600160a01b900460ff16155b15611c85576001600160a01b0383165f908152600b602052604090205460ff168015611a8557506001600160a01b0382165f908152600a602052604090205460ff16155b15611b5857600154811115611aea5760405162461bcd60e51b815260206004820152602560248201527f427579207472616e7366657220616d6f756e74206578636565647320746865206044820152640dac2f0a8f60db1b6064820152608401610832565b6002546001600160a01b0383165f90815260076020526040902054611b0f908361287c565b1115611b535760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610832565b611c85565b6001600160a01b0382165f908152600b602052604090205460ff168015611b9757506001600160a01b0383165f908152600a602052604090205460ff16155b15611bfd57600154811115611b535760405162461bcd60e51b815260206004820152602660248201527f53656c6c207472616e7366657220616d6f756e74206578636565647320746865604482015265040dac2f0a8f60d31b6064820152608401610832565b6001600160a01b0382165f908152600a602052604090205460ff16611c85576002546001600160a01b0383165f90815260076020526040902054611c41908361287c565b1115611c855760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610832565b600354305f90815260076020526040902054108015908190611cb15750600654600160a01b900460ff16155b8015611cd557506001600160a01b0384165f908152600b602052604090205460ff16155b8015611cf957506001600160a01b0384165f9081526009602052604090205460ff16155b8015611d1d57506001600160a01b0383165f9081526009602052604090205460ff16155b15611d4b576006805460ff60a01b1916600160a01b179055611d3d612092565b6006805460ff60a01b191690555b6006546001600160a01b0385165f9081526009602052604090205460ff600160a01b909204821615911680611d9757506001600160a01b0384165f9081526009602052604090205460ff165b15611d9f57505f5b6001600160a01b0385165f9081526007602052604090205483811015611dd75760405162461bcd60e51b815260040161083290612836565b5f8215611ef9576001600160a01b0386165f908152600b602052604090205460ff168015611e0e5750600454610100900460ff1615155b15611e3c57600454606490611e2b90610100900460ff1687612737565b611e35919061274e565b9050611e8c565b6001600160a01b0387165f908152600b602052604090205460ff168015611e67575060045460ff1615155b15611e8c57600454606490611e7f9060ff1687612737565b611e89919061274e565b90505b8015611ef9576001600160a01b0387165f8181526007602090815260408083208054869003905530808452928190208054860190555184815297849003979192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6001600160a01b038088165f8181526007602052604080822080548a900390559289168082529083902080548901905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f5a9089815260200190565b60405180910390a350505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f92839290871691611fc691906128a2565b5f604051808303815f865af19150503d805f8114611fff576040519150601f19603f3d011682016040523d82523d5f602084013e612004565b606091505b509150915081801561202e57508051158061202e57508080602001905181019061202e91906128b8565b61208b5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657248656c7065723a20494e5445524e414c205452414e5346456044820152671497d1905253115160c21b6064820152608401610832565b5050505050565b6003545f6120a1826014612737565b305f9081526007602052604090205411156120c7576003546120c4906014612737565b91505b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106120fa576120fa612822565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061214257612142612822565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906121999086905f908690309042906004016128d3565b5f604051808303815f87803b1580156121b0575f80fd5b505af11580156121c2573d5f803e3d5ffd5b504792505081159050612384576004545f906064906121ea9062010000900460ff1684612737565b6121f4919061274e565b6004549091505f9060649061221490640100000000900460ff1685612737565b61221e919061274e565b90505f8161222c848661288f565b612236919061288f565b6006546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114612281576040519150601f19603f3d011682016040523d82523d5f602084013e612286565b606091505b50506005546040519197506001600160a01b03169082905f81818185875af1925050503d805f81146122d3576040519150601f19603f3d011682016040523d82523d5f602084013e6122d8565b606091505b50506004546040519197506501000000000090046001600160a01b03169084905f81818185875af1925050503d805f811461232e576040519150601f19603f3d011682016040523d82523d5f602084013e612333565b606091505b50506040805189815260208101859052908101859052606081018390529096507f93efcf28fbf701a930e0ad258987a2e4f08eb3aa99f9c02029e7ba049f69405f9060800160405180910390a15050505b50505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146123d5575f80fd5b919050565b5f80604083850312156123eb575f80fd5b6123f4836123bf565b946020939093013593505050565b5f805f60608486031215612414575f80fd5b61241d846123bf565b925061242b602085016123bf565b9150604084013590509250925092565b5f6020828403121561244b575f80fd5b5035919050565b803560ff811681146123d5575f80fd5b5f805f60608486031215612474575f80fd5b61247d84612452565b925061248b60208501612452565b915061249960408501612452565b90509250925092565b5f80604083850312156124b3575f80fd5b6124bc83612452565b91506124ca60208401612452565b90509250929050565b80151581146124e0575f80fd5b50565b5f80604083850312156124f4575f80fd5b6124fd836123bf565b9150602083013561250d816124d3565b809150509250929050565b5f60208284031215612528575f80fd5b612531826123bf565b9392505050565b5f8060408385031215612549575f80fd5b612552836123bf565b91506124ca602084016123bf565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561259d5761259d612560565b604052919050565b5f67ffffffffffffffff8211156125be576125be612560565b5060051b60200190565b5f82601f8301126125d7575f80fd5b813560206125ec6125e7836125a5565b612574565b8083825260208201915060208460051b87010193508684111561260d575f80fd5b602086015b848110156126295780358352918301918301612612565b509695505050505050565b5f8060408385031215612645575f80fd5b823567ffffffffffffffff8082111561265c575f80fd5b818501915085601f83011261266f575f80fd5b8135602061267f6125e7836125a5565b82815260059290921b8401810191818101908984111561269d575f80fd5b948201945b838610156126c2576126b3866123bf565b825294820194908201906126a2565b965050860135925050808211156126d7575f80fd5b506126e4858286016125c8565b9150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107a4576107a4612723565b5f8261276857634e487b7160e01b5f52601260045260245ffd5b500490565b60ff81811683821601908111156107a4576107a4612723565b602080825260169082015275416464726573732063616e6e6f74206265207a65726f60501b604082015260600190565b60208082526010908201526f105b1c9958591e481b185d5b98da195960821b604082015260600190565b5f805f606084860312156127f2575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561281b575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b808201808211156107a4576107a4612723565b818103818111156107a4576107a4612723565b5f82518060208501845e5f920191825250919050565b5f602082840312156128c8575f80fd5b8151612531816124d3565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156129235784516001600160a01b0316835293830193918301916001016128fe565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212207a1f031a90a49941262cb932910edad10eea908a4c0e5334c842ff3fec43c9dc64736f6c63430008190033

Deployed Bytecode Sourcemap

4343:13554:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7958:83;;;;;;;;;;-1:-1:-1;8028:5:0;;;;;;;;;;;;-1:-1:-1;;;8028:5:0;;;;7958:83;;;;;;;:::i;:::-;;;;;;;;8587:152;;;;;;;;;;-1:-1:-1;8587:152:0;;;;;:::i;:::-;;:::i;:::-;;;1039:14:1;;1032:22;1014:41;;1002:2;987:18;8587:152:0;874:187:1;5954:115:0;;;;;;;;;;;;6026:42;5954:115;;;;;-1:-1:-1;;;;;1256:32:1;;;1238:51;;1226:2;1211:18;5954:115:0;1066:229:1;8228:91:0;;;;;;;;;;-1:-1:-1;4532:16:0;8228:91;;;1446:25:1;;;1434:2;1419:18;8228:91:0;1300:177:1;4841:24:0;;;;;;;;;;-1:-1:-1;4841:24:0;;;;;;;;;;;;;;1654:4:1;1642:17;;;1624:36;;1612:2;1597:18;4841:24:0;1482:184:1;9258:520:0;;;;;;;;;;-1:-1:-1;9258:520:0;;;;;:::i;:::-;;:::i;15330:235::-;;;;;;;;;;-1:-1:-1;15330:235:0;;;;;:::i;:::-;;:::i;:::-;;8144:76;;;;;;;;;;-1:-1:-1;8210:2:0;8144:76;;12561:300;;;;;;;;;;-1:-1:-1;12561:300:0;;;;;:::i;:::-;;:::i;6076:38::-;;;;;;;;;;;;;;;5293:33;;;;;;;;;;-1:-1:-1;5293:33:0;;;;-1:-1:-1;;;5293:33:0;;;;;;12869:335;;;;;;;;;;-1:-1:-1;12869:335:0;;;;;:::i;:::-;;:::i;13212:136::-;;;;;;;;;;-1:-1:-1;13212:136:0;;;;;:::i;:::-;;:::i;14717:361::-;;;;;;;;;;-1:-1:-1;14717:361:0;;;;;:::i;:::-;;:::i;13356:158::-;;;;;;;;;;-1:-1:-1;13356:158:0;;;;;:::i;:::-;;:::i;4802:30::-;;;;;;;;;;-1:-1:-1;4802:30:0;;;;;;;;;;;8327:110;;;;;;;;;;-1:-1:-1;8327:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;8411:18:0;8384:7;8411:18;;;:9;:18;;;;;;;8327:110;3040:92;;;;;;;;;;;;;:::i;15086:236::-;;;;;;;;;;-1:-1:-1;15086:236:0;;;;;:::i;:::-;;:::i;12469:84::-;;;;;;;;;;;;;:::i;15955:177::-;;;;;;;;;;-1:-1:-1;15955:177:0;;;;;:::i;:::-;;:::i;16140:123::-;;;;;;;;;;-1:-1:-1;16140:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;16227:28:0;16203:4;16227:28;;;:19;:28;;;;;;;;;16140:123;2819:87;;;;;;;;;;-1:-1:-1;2865:7:0;2892:6;-1:-1:-1;;;;;2892:6:0;2819:87;;15764:183;;;;;;;;;;-1:-1:-1;15764:183:0;;;;;:::i;:::-;;:::i;8049:87::-;;;;;;;;;;-1:-1:-1;8121:7:0;;;;;;;;;;;;-1:-1:-1;;;8121:7:0;;;;8049:87;;14498:211;;;;;;;;;;-1:-1:-1;14498:211:0;;;;;:::i;:::-;;:::i;9092:158::-;;;;;;;;;;-1:-1:-1;9092:158:0;;;;;:::i;:::-;;:::i;14153:337::-;;;:::i;16271:240::-;;;;;;;;;;-1:-1:-1;16271:240:0;;;;;:::i;:::-;;:::i;4557:52::-;;;;;;;;;;;;;;;;4872:29;;;;;;;;;;-1:-1:-1;4872:29:0;;;;;;;;;;;16519:247;;;;;;;;;;-1:-1:-1;16519:247:0;;;;;:::i;:::-;;:::i;4908:25::-;;;;;;;;;;-1:-1:-1;4908:25:0;;;;;;;;;;;4766:29;;;;;;;;;;-1:-1:-1;4766:29:0;;;;;;;;8445:134;;;;;;;;;;-1:-1:-1;8445:134:0;;;;;:::i;:::-;-1:-1:-1;;;;;8544:18:0;;;8517:7;8544:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8445:134;4695:62;;;;;;;;;;;;;;;;13522:492;;;;;;;;;;-1:-1:-1;13522:492:0;;;;;:::i;:::-;;:::i;15573:183::-;;;;;;;;;;-1:-1:-1;15573:183:0;;;;;:::i;:::-;;:::i;4630:41::-;;;;;;;;;;;;;;;;14022:123;;;;;;;;;;;;;:::i;8587:152::-;8655:4;8672:37;8681:10;8693:7;8702:6;8672:8;:37::i;:::-;-1:-1:-1;8727:4:0;8587:152;;;;;:::o;9258:520::-;-1:-1:-1;;;;;9393:19:0;;9349:4;9393:19;;;:11;:19;;;;;;;;9413:10;9393:31;;;;;;;;-1:-1:-1;;9439:37:0;;9435:263;;9521:6;9501:16;:26;;9493:79;;;;-1:-1:-1;;;9493:79:0;;6667:2:1;9493:79:0;;;6649:21:1;6706:2;6686:18;;;6679:30;6745:34;6725:18;;;6718:62;-1:-1:-1;;;6796:18:1;;;6789:38;6844:19;;9493:79:0;;;;;;;;;9616:55;9625:6;9633:10;9664:6;9645:16;:25;9616:8;:55::i;:::-;9710:36;9720:6;9728:9;9739:6;9710:9;:36::i;:::-;-1:-1:-1;9766:4:0;;9258:520;-1:-1:-1;;;;9258:520:0:o;15330:235::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;15465:4:::1;15457;15436:17;4532:16:::0;15452:1:::1;15436:17;:::i;:::-;15435:26;;;;:::i;:::-;15434:35;;;;:::i;:::-;15418:12;:51;;15410:101;;;::::0;-1:-1:-1;;;15410:101:0;;7964:2:1;15410:101:0::1;::::0;::::1;7946:21:1::0;8003:2;7983:18;;;7976:30;8042:34;8022:18;;;8015:62;-1:-1:-1;;;8093:18:1;;;8086:35;8138:19;;15410:101:0::1;7762:401:1::0;15410:101:0::1;15534:23;:12:::0;15550:6:::1;15534:23;:::i;:::-;15522:9;:35:::0;-1:-1:-1;15330:235:0:o;12561:300::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;12671:6:::1;:16:::0;;-1:-1:-1;;12698:26:0;12671:16;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;12698:26:0;;;;;;;;::::1;::::0;::::1;::::0;;;::::1;-1:-1:-1::0;;12735:18:0::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;12796:7;::::1;::::0;::::1;::::0;12773:20:::1;::::0;12782:11;;::::1;::::0;::::1;::::0;12773:6;::::1;;:20;:::i;:::-;:30;;;;:::i;:::-;12772:39;;12808:3;12772:39;12764:89;;;::::0;-1:-1:-1;;;12764:89:0;;8523:2:1;12764:89:0::1;::::0;::::1;8505:21:1::0;8562:2;8542:18;;;8535:30;8601:34;8581:18;;;8574:62;-1:-1:-1;;;8652:18:1;;;8645:35;8697:19;;12764:89:0::1;8321:401:1::0;12764:89:0::1;12561:300:::0;;;:::o;12869:335::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;12984:1:::1;12967:13;:18;;;;12959:72;;;::::0;-1:-1:-1;;;12959:72:0;;8929:2:1;12959:72:0::1;::::0;::::1;8911:21:1::0;8968:2;8948:18;;;8941:30;9007:34;8987:18;;;8980:62;-1:-1:-1;;;9058:18:1;;;9051:39;9107:19;;12959:72:0::1;8727:405:1::0;12959:72:0::1;13068:1;13050:14;:19;;;;13042:74;;;::::0;-1:-1:-1;;;13042:74:0;;9339:2:1;13042:74:0::1;::::0;::::1;9321:21:1::0;9378:2;9358:18;;;9351:30;9417:34;9397:18;;;9390:62;-1:-1:-1;;;9468:18:1;;;9461:40;9518:19;;13042:74:0::1;9137:406:1::0;13042:74:0::1;13127:12;:28:::0;;::::1;13166:30:::0;;::::1;13127:28;13166:30;-1:-1:-1::0;;13166:30:0;;;13127:28;;;::::1;13166:30:::0;;;;;;;::::1;::::0;;12869:335::o;13212:136::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13301:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:39;;-1:-1:-1;;13301:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13212:136::o;14717:361::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;14842:6:::1;14821:17;4532:16:::0;14837:1:::1;14821:17;:::i;:::-;14820:28;;;;:::i;:::-;14803:13;:45;;14795:111;;;::::0;-1:-1:-1;;;14795:111:0;;9750:2:1;14795:111:0::1;::::0;::::1;9732:21:1::0;9789:2;9769:18;;;9762:30;9828:34;9808:18;;;9801:62;-1:-1:-1;;;9879:18:1;;;9872:51;9940:19;;14795:111:0::1;9548:417:1::0;14795:111:0::1;14964:4;14943:17;4532:16:::0;14959:1:::1;14943:17;:::i;:::-;14942:26;;;;:::i;:::-;14925:13;:43;;14917:108;;;::::0;-1:-1:-1;;;14917:108:0;;10172:2:1;14917:108:0::1;::::0;::::1;10154:21:1::0;10211:2;10191:18;;;10184:30;10250:34;10230:18;;;10223:62;-1:-1:-1;;;10301:18:1;;;10294:50;10361:19;;14917:108:0::1;9970:416:1::0;14917:108:0::1;15036:18;:34:::0;14717:361::o;13356:158::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13455:40:0;;;::::1;;::::0;;;:31:::1;:40;::::0;;;;:51;;-1:-1:-1;;13455:51:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13356:158::o;3040:92::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;3122:1:::1;3105:19:::0;;-1:-1:-1;;;;;;3105:19:0::1;::::0;;3040:92::o;15086:236::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;15210:4:::1;15202;15181:17;4532:16:::0;15197:1:::1;15181:17;:::i;:::-;15180:26;;;;:::i;:::-;15179:35;;;;:::i;:::-;15167:8;:47;;15159:102;;;::::0;-1:-1:-1;;;15159:102:0;;10593:2:1;15159:102:0::1;::::0;::::1;10575:21:1::0;10632:2;10612:18;;;10605:30;10671:34;10651:18;;;10644:62;-1:-1:-1;;;10722:18:1;;;10715:40;10772:19;;15159:102:0::1;10391:406:1::0;15159:102:0::1;15295:19;:8:::0;15307:6:::1;15295:19;:::i;:::-;15272:20;:42:::0;-1:-1:-1;15086:236:0:o;12469:84::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;12523:14:::1;:22:::0;;-1:-1:-1;;;;12523:22:0::1;::::0;;12469:84::o;15955:177::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16039:24:0;::::1;16031:59;;;;-1:-1:-1::0;;;16031:59:0::1;;;;;;;:::i;:::-;16101:10;:23:::0;;-1:-1:-1;;;;;;16101:23:0::1;-1:-1:-1::0;;;;;16101:23:0;;;::::1;::::0;;;::::1;::::0;;15955:177::o;15764:183::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15851:24:0;::::1;15843:59;;;;-1:-1:-1::0;;;15843:59:0::1;;;;;;;:::i;:::-;15913:13;:26:::0;;-1:-1:-1;;;;;;15913:26:0::1;-1:-1:-1::0;;;;;15913:26:0;;;::::1;::::0;;;::::1;::::0;;15764:183::o;14498:211::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;14607:13:::1;-1:-1:-1::0;;;;;14599:21:0::1;:4;-1:-1:-1::0;;;;;14599:21:0::1;::::0;14591:60:::1;;;::::0;-1:-1:-1;;;14591:60:0;;11355:2:1;14591:60:0::1;::::0;::::1;11337:21:1::0;11394:2;11374:18;;;11367:30;11433:28;11413:18;;;11406:56;11479:18;;14591:60:0::1;11153:350:1::0;14591:60:0::1;-1:-1:-1::0;;;;;14662:31:0;;;::::1;;::::0;;;:25:::1;:31;::::0;;;;:39;;-1:-1:-1;;14662:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14498:211::o;9092:158::-;9163:4;9180:40;9190:10;9202:9;9213:6;9180:9;:40::i;14153:337::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;14228:8:::1;::::0;-1:-1:-1;;;14228:8:0;::::1;;;14227:9;14219:38;;;;-1:-1:-1::0;;;14219:38:0::1;;;;;;;:::i;:::-;14340:4;14360:24;::::0;;;:9:::1;:24;::::0;;;;;;14431:10:::1;::::0;14268:214;;-1:-1:-1;;;14268:214:0;;::::1;::::0;::::1;12194:34:1::0;;;;12244:18;;;12237:34;12287:18;;;12280:34;;;12330:18;;;12323:34;;;;-1:-1:-1;;;;;14431:10:0::1;12373:19:1::0;;;12366:44;14456:15:0::1;12426:19:1::0;;;12419:35;6026:42:0::1;::::0;14268:31:::1;::::0;14307:9:::1;::::0;12128:19:1;;14268:214:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16271:240::-:0;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;16383:38:::1;::::0;-1:-1:-1;;;16383:38:0;;16415:4:::1;16383:38;::::0;::::1;1238:51:1::0;16356:24:0::1;::::0;-1:-1:-1;;;;;16383:23:0;::::1;::::0;::::1;::::0;1211:18:1;;16383:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16356:65;;16432:51;16455:5;16462:2;16466:16;16432:22;:51::i;16519:247::-:0;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16597:18:0;::::1;16589:46;;;::::0;-1:-1:-1;;;16589:46:0;;13167:2:1;16589:46:0::1;::::0;::::1;13149:21:1::0;13206:2;13186:18;;;13179:30;-1:-1:-1;;;13225:18:1;;;13218:45;13280:18;;16589:46:0::1;12965:339:1::0;16589:46:0::1;16649:12;16667:4;-1:-1:-1::0;;;;;16667:9:0::1;16684:21;16667:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16648:62;;;16729:7;16721:37;;;::::0;-1:-1:-1;;;16721:37:0;;13721:2:1;16721:37:0::1;::::0;::::1;13703:21:1::0;13760:2;13740:18;;;13733:30;-1:-1:-1;;;13779:18:1;;;13772:47;13836:18;;16721:37:0::1;13519:341:1::0;16721:37:0::1;16578:188;16519:247:::0;:::o;13522:492::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;13639:8:::1;::::0;-1:-1:-1;;;13639:8:0;::::1;;;13638:9;13630:38;;;;-1:-1:-1::0;;;13630:38:0::1;;;;;;;:::i;:::-;13684:9;13679:328;13703:9;:16;13699:1;:20;13679:328;;;13774:7;13782:1;13774:10;;;;;;;;:::i;:::-;;;;;;;13749:9;:21;13759:10;-1:-1:-1::0;;;;;13749:21:0::1;-1:-1:-1::0;;;;;13749:21:0::1;;;;;;;;;;;;;:35;;13741:86;;;;-1:-1:-1::0;;;13741:86:0::1;;;;;;;:::i;:::-;13869:7;13877:1;13869:10;;;;;;;;:::i;:::-;;;;;;;13842:9;:23;13852:9;13862:1;13852:12;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13842:23:0::1;-1:-1:-1::0;;;;;13842:23:0::1;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;13919:7;13927:1;13919:10;;;;;;;;:::i;:::-;;;;;;;13894:9;:21;13904:10;-1:-1:-1::0;;;;;13894:21:0::1;-1:-1:-1::0;;;;;13894:21:0::1;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;13970:9;13980:1;13970:12;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13949:46:0::1;13958:10;-1:-1:-1::0;;;;;13949:46:0::1;;13984:7;13992:1;13984:10;;;;;;;;:::i;:::-;;;;;;;13949:46;;;;1446:25:1::0;;1434:2;1419:18;;1300:177;13949:46:0::1;;;;;;;;13721:3;;13679:328;;15573:183:::0;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15660:24:0;::::1;15652:59;;;;-1:-1:-1::0;;;15652:59:0::1;;;;;;;:::i;:::-;15722:13;:26:::0;;-1:-1:-1;;;;;15722:26:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;15722:26:0;;::::1;::::0;;;::::1;::::0;;15573:183::o;14022:123::-;2965:10;2954:7;2865;2892:6;-1:-1:-1;;;;;2892:6:0;;2819:87;2954:7;-1:-1:-1;;;;;2954:21:0;;2946:66;;;;-1:-1:-1;;;2946:66:0;;;;;;;:::i;:::-;14082:8:::1;::::0;-1:-1:-1;;;14082:8:0;::::1;;;14081:9;14073:38;;;;-1:-1:-1::0;;;14073:38:0::1;;;;;;;:::i;:::-;14122:8;:15:::0;;-1:-1:-1;;;;14122:15:0::1;-1:-1:-1::0;;;14122:15:0::1;::::0;;14022:123::o;8747:337::-;-1:-1:-1;;;;;8840:19:0;;8832:68;;;;-1:-1:-1;;;8832:68:0;;14869:2:1;8832:68:0;;;14851:21:1;14908:2;14888:18;;;14881:30;14947:34;14927:18;;;14920:62;-1:-1:-1;;;14998:18:1;;;14991:34;15042:19;;8832:68:0;14667:400:1;8832:68:0;-1:-1:-1;;;;;8919:21:0;;8911:68;;;;-1:-1:-1;;;8911:68:0;;15274:2:1;8911:68:0;;;15256:21:1;15313:2;15293:18;;;15286:30;15352:34;15332:18;;;15325:62;-1:-1:-1;;;15403:18:1;;;15396:32;15445:19;;8911:68:0;15072:398:1;8911:68:0;-1:-1:-1;;;;;8992:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9044:32;;1446:25:1;;;9044:32:0;;1419:18:1;9044:32:0;;;;;;;8747:337;;;:::o;9786:2675::-;-1:-1:-1;;;;;9874:18:0;;9866:68;;;;-1:-1:-1;;;9866:68:0;;15677:2:1;9866:68:0;;;15659:21:1;15716:2;15696:18;;;15689:30;15755:34;15735:18;;;15728:62;-1:-1:-1;;;15806:18:1;;;15799:35;15851:19;;9866:68:0;15475:401:1;9866:68:0;-1:-1:-1;;;;;9953:16:0;;9945:64;;;;-1:-1:-1;;;9945:64:0;;16083:2:1;9945:64:0;;;16065:21:1;16122:2;16102:18;;;16095:30;16161:34;16141:18;;;16134:62;-1:-1:-1;;;16212:18:1;;;16205:33;16255:19;;9945:64:0;15881:399:1;9945:64:0;10037:1;10028:6;:10;10020:64;;;;-1:-1:-1;;;10020:64:0;;16487:2:1;10020:64:0;;;16469:21:1;16526:2;16506:18;;;16499:30;16565:34;16545:18;;;16538:62;-1:-1:-1;;;16616:18:1;;;16609:39;16665:19;;10020:64:0;16285:405:1;10020:64:0;10102:8;;-1:-1:-1;;;10102:8:0;;;;10101:9;:72;;;;-1:-1:-1;2865:7:0;2892:6;-1:-1:-1;;;;;10115:15:0;;;2892:6;;10115:15;;;;:40;;-1:-1:-1;;;;;;10134:21:0;;10150:4;10134:21;;10115:40;:57;;;;-1:-1:-1;2865:7:0;2892:6;-1:-1:-1;;;;;10159:13:0;;;2892:6;;10159:13;;10115:57;10097:134;;;10190:29;;-1:-1:-1;;;10190:29:0;;16897:2:1;10190:29:0;;;16879:21:1;16936:2;16916:18;;;16909:30;-1:-1:-1;;;16955:18:1;;;16948:49;17014:18;;10190:29:0;16695:343:1;10097:134:0;10247:14;;-1:-1:-1;;;10247:14:0;;;;10243:830;;;2865:7;2892:6;-1:-1:-1;;;;;10282:15:0;;;2892:6;;10282:15;;;;:32;;-1:-1:-1;2865:7:0;2892:6;-1:-1:-1;;;;;10301:13:0;;;2892:6;;10301:13;;10282:32;:52;;;;-1:-1:-1;;;;;;10318:16:0;;;;10282:52;:77;;;;-1:-1:-1;;;;;;10338:21:0;;10352:6;10338:21;;10282:77;:90;;;;-1:-1:-1;10364:8:0;;-1:-1:-1;;;10364:8:0;;;;10363:9;10282:90;10278:784;;;-1:-1:-1;;;;;10397:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;10433:35:0;;;;;;:31;:35;;;;;;;;10432:36;10397:71;10393:654;;;10511:20;;10501:6;:30;;10493:80;;;;-1:-1:-1;;;10493:80:0;;17245:2:1;10493:80:0;;;17227:21:1;17284:2;17264:18;;;17257:30;17323:34;17303:18;;;17296:62;-1:-1:-1;;;17374:18:1;;;17367:35;17419:19;;10493:80:0;17043:401:1;10493:80:0;10630:9;;-1:-1:-1;;;;;8411:18:0;;8384:7;8411:18;;;:9;:18;;;;;;10604:22;;:6;:22;:::i;:::-;:35;;10596:67;;;;-1:-1:-1;;;10596:67:0;;17651:2:1;10596:67:0;;;17633:21:1;17690:2;17670:18;;;17663:30;-1:-1:-1;;;17709:18:1;;;17702:49;17768:18;;10596:67:0;17449:343:1;10596:67:0;10393:654;;;-1:-1:-1;;;;;10693:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;10727:37:0;;;;;;:31;:37;;;;;;;;10726:38;10693:71;10689:358;;;10807:20;;10797:6;:30;;10789:80;;;;-1:-1:-1;;;10789:80:0;;17999:2:1;10789:80:0;;;17981:21:1;18038:2;18018:18;;;18011:30;18077:34;18057:18;;;18050:62;-1:-1:-1;;;18128:18:1;;;18121:36;18174:19;;10789:80:0;17797:402:1;10689:358:0;-1:-1:-1;;;;;10900:35:0;;;;;;:31;:35;;;;;;;;10895:152;;10994:9;;-1:-1:-1;;;;;8411:18:0;;8384:7;8411:18;;;:9;:18;;;;;;10968:22;;:6;:22;:::i;:::-;:35;;10960:67;;;;-1:-1:-1;;;10960:67:0;;17651:2:1;10960:67:0;;;17633:21:1;17690:2;17670:18;;;17663:30;-1:-1:-1;;;17709:18:1;;;17702:49;17768:18;;10960:67:0;17449:343:1;10960:67:0;11128:18;;11118:4;11085:12;8411:18;;;:9;:18;;;;;;-1:-1:-1;11100:46:0;;;;;11163:20;;-1:-1:-1;11175:8:0;;-1:-1:-1;;;11175:8:0;;;;11174:9;11163:20;:56;;;;-1:-1:-1;;;;;;11188:31:0;;;;;;:25;:31;;;;;;;;11187:32;11163:56;:86;;;;-1:-1:-1;;;;;;11224:25:0;;;;;;:19;:25;;;;;;;;11223:26;11163:86;:114;;;;-1:-1:-1;;;;;;11254:23:0;;;;;;:19;:23;;;;;;;;11253:24;11163:114;11159:218;;;11294:8;:15;;-1:-1:-1;;;;11294:15:0;-1:-1:-1;;;11294:15:0;;;11324:10;:8;:10::i;:::-;11349:8;:16;;-1:-1:-1;;;;11349:16:0;;;11159:218;11405:8;;-1:-1:-1;;;;;11430:25:0;;11389:12;11430:25;;;:19;:25;;;;;;11405:8;-1:-1:-1;;;11405:8:0;;;;;11404:9;;11430:25;;:52;;-1:-1:-1;;;;;;11459:23:0;;;;;;:19;:23;;;;;;;;11430:52;11426:100;;;-1:-1:-1;11509:5:0;11426:100;-1:-1:-1;;;;;11562:15:0;;11538:21;11562:15;;;:9;:15;;;;;;11596:23;;;;11588:74;;;;-1:-1:-1;;;11588:74:0;;;;;;;:::i;:::-;11675:12;11706:7;11702:600;;;-1:-1:-1;;;;;11734:29:0;;;;;;:25;:29;;;;;;;;:50;;;;-1:-1:-1;11767:13:0;;;;;;;:17;;11734:50;11730:262;;;11822:13;;11839:3;;11813:22;;11822:13;;;;;11813:6;:22;:::i;:::-;11812:30;;;;:::i;:::-;11805:37;;11730:262;;;-1:-1:-1;;;;;11868:31:0;;;;;;:25;:31;;;;;;;;:51;;;;-1:-1:-1;11903:12:0;;;;:16;;11868:51;11864:128;;;11957:12;;11973:3;;11948:21;;11957:12;;11948:6;:21;:::i;:::-;11947:29;;;;:::i;:::-;11940:36;;11864:128;12012:8;;12008:283;;-1:-1:-1;;;;;12119:15:0;;;;;;:9;:15;;;;;;;;:23;;;;;;;12183:4;12165:24;;;;;;;:32;;;;;;12240:35;1446:25:1;;;12083:13:0;;;;;12183:4;;12119:15;12240:35;;1419:18:1;12240:35:0;;;;;;;12008:283;-1:-1:-1;;;;;12337:15:0;;;;;;;:9;:15;;;;;;:25;;;;;;;12377:13;;;;;;;;;;:23;;;;;;12427:26;;;;;;12356:6;1446:25:1;;1434:2;1419:18;;1300:177;12427:26:0;;;;;;;;9855:2606;;;;9786:2675;;;:::o;3164:320::-;3295:59;;;-1:-1:-1;;;;;18396:32:1;;;3295:59:0;;;18378:51:1;18445:18;;;;18438:34;;;3295:59:0;;;;;;;;;;18351:18:1;;;;3295:59:0;;;;;;;-1:-1:-1;;;;;3295:59:0;-1:-1:-1;;;3295:59:0;;;3284:71;;-1:-1:-1;;;;3284:10:0;;;;:71;;3295:59;3284:71;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3248:107;;;;3374:7;:57;;;;-1:-1:-1;3386:11:0;;:16;;:44;;;3417:4;3406:24;;;;;;;;;;;;:::i;:::-;3366:110;;;;-1:-1:-1;;;3366:110:0;;19241:2:1;3366:110:0;;;19223:21:1;19280:2;19260:18;;;19253:30;19319:34;19299:18;;;19292:62;-1:-1:-1;;;19370:18:1;;;19363:38;19418:19;;3366:110:0;19039:404:1;3366:110:0;3237:247;;3164:320;;;:::o;16774:1120::-;16837:18;;16813:21;16922:23;16837:18;16943:2;16922:23;:::i;:::-;16913:4;8384:7;8411:18;;;:9;:18;;;;;;16895:50;16891:122;;;16978:18;;:23;;16999:2;16978:23;:::i;:::-;16962:39;;16891:122;17049:16;;;17063:1;17049:16;;;;;;;;17025:21;;17049:16;;;;;;;;;;-1:-1:-1;17049:16:0;17025:40;;17094:4;17076;17081:1;17076:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17076:23:0;;;-1:-1:-1;;;;;17076:23:0;;;;;5214:42;17110:4;17115:1;17110:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17110:14:0;;;:7;;;;;;;;;;;:14;17137:122;;-1:-1:-1;;;17137:122:0;;6026:42;;17137:66;;:122;;17204:13;;17219:1;;17222:4;;17236;;17243:15;;17137:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17293:21:0;;-1:-1:-1;;17329:14:0;;;-1:-1:-1;17325:562:0;;17394:6;;17360:17;;17404:3;;17381:19;;17394:6;;;;;17381:10;:19;:::i;:::-;17380:27;;;;:::i;:::-;17457:7;;17360:47;;-1:-1:-1;17422:18:0;;17468:3;;17444:20;;17457:7;;;;;17444:10;:20;:::i;:::-;17443:28;;;;:::i;:::-;17422:49;-1:-1:-1;17486:22:0;17422:49;17511:22;17524:9;17511:10;:22;:::i;:::-;:35;;;;:::i;:::-;17585:10;;17577:47;;17486:60;;-1:-1:-1;;;;;;17585:10:0;;17609;;17577:47;;;;17609:10;17585;17577:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17661:13:0;;17653:54;;17563:61;;-1:-1:-1;;;;;;17661:13:0;;17688:14;;17653:54;;;;17688:14;17661:13;17653:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17744:13:0;;17736:49;;17639:68;;-1:-1:-1;17744:13:0;;;-1:-1:-1;;;;;17744:13:0;;17771:9;;17736:49;;;;17771:9;17744:13;17736:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17807:68:0;;;20664:25:1;;;20720:2;20705:18;;20698:34;;;20748:18;;;20741:34;;;20806:2;20791:18;;20784:34;;;17722:63:0;;-1:-1:-1;17807:68:0;;20651:3:1;20636:19;17807:68:0;;;;;;;17345:542;;;17325:562;16802:1092;;;;16774:1120::o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:173::-;505:20;;-1:-1:-1;;;;;554:31:1;;544:42;;534:70;;600:1;597;590:12;534:70;437:173;;;:::o;615:254::-;683:6;691;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;783:29;802:9;783:29;:::i;:::-;773:39;859:2;844:18;;;;831:32;;-1:-1:-1;;;615:254:1:o;1671:328::-;1748:6;1756;1764;1817:2;1805:9;1796:7;1792:23;1788:32;1785:52;;;1833:1;1830;1823:12;1785:52;1856:29;1875:9;1856:29;:::i;:::-;1846:39;;1904:38;1938:2;1927:9;1923:18;1904:38;:::i;:::-;1894:48;;1989:2;1978:9;1974:18;1961:32;1951:42;;1671:328;;;;;:::o;2004:180::-;2063:6;2116:2;2104:9;2095:7;2091:23;2087:32;2084:52;;;2132:1;2129;2122:12;2084:52;-1:-1:-1;2155:23:1;;2004:180;-1:-1:-1;2004:180:1:o;2189:156::-;2255:20;;2315:4;2304:16;;2294:27;;2284:55;;2335:1;2332;2325:12;2350:322;2421:6;2429;2437;2490:2;2478:9;2469:7;2465:23;2461:32;2458:52;;;2506:1;2503;2496:12;2458:52;2529:27;2546:9;2529:27;:::i;:::-;2519:37;;2575:36;2607:2;2596:9;2592:18;2575:36;:::i;:::-;2565:46;;2630:36;2662:2;2651:9;2647:18;2630:36;:::i;:::-;2620:46;;2350:322;;;;;:::o;2885:252::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:27;3066:9;3049:27;:::i;:::-;3039:37;;3095:36;3127:2;3116:9;3112:18;3095:36;:::i;:::-;3085:46;;2885:252;;;;;:::o;3142:118::-;3228:5;3221:13;3214:21;3207:5;3204:32;3194:60;;3250:1;3247;3240:12;3194:60;3142:118;:::o;3265:315::-;3330:6;3338;3391:2;3379:9;3370:7;3366:23;3362:32;3359:52;;;3407:1;3404;3397:12;3359:52;3430:29;3449:9;3430:29;:::i;:::-;3420:39;;3509:2;3498:9;3494:18;3481:32;3522:28;3544:5;3522:28;:::i;:::-;3569:5;3559:15;;;3265:315;;;;;:::o;3585:186::-;3644:6;3697:2;3685:9;3676:7;3672:23;3668:32;3665:52;;;3713:1;3710;3703:12;3665:52;3736:29;3755:9;3736:29;:::i;:::-;3726:39;3585:186;-1:-1:-1;;;3585:186:1:o;3776:260::-;3844:6;3852;3905:2;3893:9;3884:7;3880:23;3876:32;3873:52;;;3921:1;3918;3911:12;3873:52;3944:29;3963:9;3944:29;:::i;:::-;3934:39;;3992:38;4026:2;4015:9;4011:18;3992:38;:::i;4041:127::-;4102:10;4097:3;4093:20;4090:1;4083:31;4133:4;4130:1;4123:15;4157:4;4154:1;4147:15;4173:275;4244:2;4238:9;4309:2;4290:13;;-1:-1:-1;;4286:27:1;4274:40;;4344:18;4329:34;;4365:22;;;4326:62;4323:88;;;4391:18;;:::i;:::-;4427:2;4420:22;4173:275;;-1:-1:-1;4173:275:1:o;4453:183::-;4513:4;4546:18;4538:6;4535:30;4532:56;;;4568:18;;:::i;:::-;-1:-1:-1;4613:1:1;4609:14;4625:4;4605:25;;4453:183::o;4641:668::-;4695:5;4748:3;4741:4;4733:6;4729:17;4725:27;4715:55;;4766:1;4763;4756:12;4715:55;4802:6;4789:20;4828:4;4852:60;4868:43;4908:2;4868:43;:::i;:::-;4852:60;:::i;:::-;4934:3;4958:2;4953:3;4946:15;4986:4;4981:3;4977:14;4970:21;;5043:4;5037:2;5034:1;5030:10;5022:6;5018:23;5014:34;5000:48;;5071:3;5063:6;5060:15;5057:35;;;5088:1;5085;5078:12;5057:35;5124:4;5116:6;5112:17;5138:142;5154:6;5149:3;5146:15;5138:142;;;5220:17;;5208:30;;5258:12;;;;5171;;5138:142;;;-1:-1:-1;5298:5:1;4641:668;-1:-1:-1;;;;;;4641:668:1:o;5314:1146::-;5432:6;5440;5493:2;5481:9;5472:7;5468:23;5464:32;5461:52;;;5509:1;5506;5499:12;5461:52;5549:9;5536:23;5578:18;5619:2;5611:6;5608:14;5605:34;;;5635:1;5632;5625:12;5605:34;5673:6;5662:9;5658:22;5648:32;;5718:7;5711:4;5707:2;5703:13;5699:27;5689:55;;5740:1;5737;5730:12;5689:55;5776:2;5763:16;5798:4;5822:60;5838:43;5878:2;5838:43;:::i;5822:60::-;5916:15;;;5998:1;5994:10;;;;5986:19;;5982:28;;;5947:12;;;;6022:19;;;6019:39;;;6054:1;6051;6044:12;6019:39;6078:11;;;;6098:148;6114:6;6109:3;6106:15;6098:148;;;6180:23;6199:3;6180:23;:::i;:::-;6168:36;;6131:12;;;;6224;;;;6098:148;;;6265:5;-1:-1:-1;;6308:18:1;;6295:32;;-1:-1:-1;;6339:16:1;;;6336:36;;;6368:1;6365;6358:12;6336:36;;6391:63;6446:7;6435:8;6424:9;6420:24;6391:63;:::i;:::-;6381:73;;;5314:1146;;;;;:::o;6874:356::-;7076:2;7058:21;;;7095:18;;;7088:30;7154:34;7149:2;7134:18;;7127:62;7221:2;7206:18;;6874:356::o;7235:127::-;7296:10;7291:3;7287:20;7284:1;7277:31;7327:4;7324:1;7317:15;7351:4;7348:1;7341:15;7367:168;7440:9;;;7471;;7488:15;;;7482:22;;7468:37;7458:71;;7509:18;;:::i;7540:217::-;7580:1;7606;7596:132;;7650:10;7645:3;7641:20;7638:1;7631:31;7685:4;7682:1;7675:15;7713:4;7710:1;7703:15;7596:132;-1:-1:-1;7742:9:1;;7540:217::o;8168:148::-;8256:4;8235:12;;;8249;;;8231:31;;8274:13;;8271:39;;;8290:18;;:::i;10802:346::-;11004:2;10986:21;;;11043:2;11023:18;;;11016:30;-1:-1:-1;;;11077:2:1;11062:18;;11055:52;11139:2;11124:18;;10802:346::o;11508:340::-;11710:2;11692:21;;;11749:2;11729:18;;;11722:30;-1:-1:-1;;;11783:2:1;11768:18;;11761:46;11839:2;11824:18;;11508:340::o;12465:306::-;12553:6;12561;12569;12622:2;12610:9;12601:7;12597:23;12593:32;12590:52;;;12638:1;12635;12628:12;12590:52;12667:9;12661:16;12651:26;;12717:2;12706:9;12702:18;12696:25;12686:35;;12761:2;12750:9;12746:18;12740:25;12730:35;;12465:306;;;;;:::o;12776:184::-;12846:6;12899:2;12887:9;12878:7;12874:23;12870:32;12867:52;;;12915:1;12912;12905:12;12867:52;-1:-1:-1;12938:16:1;;12776:184;-1:-1:-1;12776:184:1:o;13865:127::-;13926:10;13921:3;13917:20;13914:1;13907:31;13957:4;13954:1;13947:15;13981:4;13978:1;13971:15;13997:402;14199:2;14181:21;;;14238:2;14218:18;;;14211:30;14277:34;14272:2;14257:18;;14250:62;-1:-1:-1;;;14343:2:1;14328:18;;14321:36;14389:3;14374:19;;13997:402::o;14404:125::-;14469:9;;;14490:10;;;14487:36;;;14503:18;;:::i;14534:128::-;14601:9;;;14622:11;;;14619:37;;;14636:18;;:::i;18483:301::-;18612:3;18650:6;18644:13;18696:6;18689:4;18681:6;18677:17;18672:3;18666:37;18758:1;18722:16;;18747:13;;;-1:-1:-1;18722:16:1;18483:301;-1:-1:-1;18483:301:1:o;18789:245::-;18856:6;18909:2;18897:9;18888:7;18884:23;18880:32;18877:52;;;18925:1;18922;18915:12;18877:52;18957:9;18951:16;18976:28;18998:5;18976:28;:::i;19448:980::-;19710:4;19758:3;19747:9;19743:19;19789:6;19778:9;19771:25;19815:2;19853:6;19848:2;19837:9;19833:18;19826:34;19896:3;19891:2;19880:9;19876:18;19869:31;19920:6;19955;19949:13;19986:6;19978;19971:22;20024:3;20013:9;20009:19;20002:26;;20063:2;20055:6;20051:15;20037:29;;20084:1;20094:195;20108:6;20105:1;20102:13;20094:195;;;20173:13;;-1:-1:-1;;;;;20169:39:1;20157:52;;20264:15;;;;20229:12;;;;20205:1;20123:9;20094:195;;;-1:-1:-1;;;;;;;20345:32:1;;;;20340:2;20325:18;;20318:60;-1:-1:-1;;;20409:3:1;20394:19;20387:35;20306:3;19448:980;-1:-1:-1;;;19448:980:1:o

Swarm Source

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