ETH Price: $3,343.94 (-0.68%)
Gas: 6 Gwei

Token

RUSSIA (RUSSIA)
 

Overview

Max Total Supply

100,000,000 RUSSIA

Holders

92

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
6,862,123.291980646053885735 RUSSIA

Value
$0.00
0xa5d24ce73696e819bb21d57912fc085998705f2c
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:
RUSSIA

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
/*

RUSSIA

Website:   https://russiacoin.cash

Telegram:  https://t.me/russia_erc20

Twitter:   https://twitter.com/russia_erc20

*/

pragma solidity 0.8.20;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

interface 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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

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

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

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

    function transfer(
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, 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) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        require(amount > 0, "Amount should be greater than zero");
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

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

        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        _beforeTokenTransfer(from, to, amount);

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

        unchecked {
            _balances[from] = _balances[from] - (amount == 0 ? 1 : amount);
            _balances[to] = _balances[to] + amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, 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;
        unchecked {
            _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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract RUSSIA is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    address private marketingWallet;
    address private constant deadAddress = address(0xdead);

    bool private swapping;

    string private constant _name = "RUSSIA";
    string private constant _symbol = "RUSSIA";

    uint256 public initialTotalSupply = 100_000_000 * 1e18;
    uint256 public maxTransactionAmount = (initialTotalSupply * 20) / 1000;
    uint256 public maxWallet = (initialTotalSupply * 20) / 1000;
    uint256 public swapTokensAtAmount = (initialTotalSupply * 4) / 1000;

    bool public tradingOpen = false;

    uint256 public BuyFee = 25;
    uint256 public SellFee = 25;

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

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor(address _mkAddr) ERC20(_name, _symbol) {
        marketingWallet = payable(_mkAddr);

        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(marketingWallet), true);

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(marketingWallet), true);

        _mint(msg.sender, initialTotalSupply);
    }

    function createTradingPair() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        
        _setAutomatedMarketMakerPair(uniswapV2Pair, true);

        excludeFromMaxTransaction(uniswapV2Pair, true);
    }

    function openTrading() external onlyOwner {
        _approve(address(this), address(uniswapV2Router), ~uint256(0));

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        tradingOpen = true;
    }

    receive() external payable {}

    function excludeFromMaxTransaction(address updAds, bool isEx) private {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

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

    function setAutomatedMarketMakerPair(
        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 isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    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 (!_isExcludedFromFees[from]) {
            require(amount > 0, "Transfer amount should be greater than zero");
        }

        bool isTransfer = !automatedMarketMakerPairs[from] &&
            !automatedMarketMakerPairs[to];

        if (
            from != owner() &&
            to != owner() &&
            to != address(0) &&
            to != address(0xdead) &&
            !swapping
        ) {
            if (!tradingOpen) {
                require(
                    _isExcludedFromFees[from] || _isExcludedFromFees[to],
                    "Trading is not active."
                );
            }

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

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance > 0 && !isTransfer;

        if (
            canSwap &&
            !swapping &&
            automatedMarketMakerPairs[to] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            uint256 tokensToSwap = contractTokenBalance;
            if (tokensToSwap > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            }
            swapping = true;
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = uniswapV2Router.WETH();
            uniswapV2Router
                .swapExactTokensForETHSupportingFeeOnTransferTokens(
                    tokensToSwap,
                    0,
                    path,
                    marketingWallet,
                    block.timestamp
                );
            swapping = false;
        }

        bool takeFee = !swapping && !isTransfer;

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

        if (!swapping && !tradingOpen && from == address(this) && automatedMarketMakerPairs[to]){
            takeFee = true;
        }

        uint256 fees = 0;

        if (takeFee) {
            if (automatedMarketMakerPairs[to]) {
                fees = amount.mul(SellFee).div(100);
            } else {
                fees = amount.mul(BuyFee).div(100);
            }

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

    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,
            marketingWallet,
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner {
        uint256 totalSupplyAmount = totalSupply();
        maxTransactionAmount = totalSupplyAmount;
        maxWallet = totalSupplyAmount;
    }

    function clearStuckEth() external onlyOwner {
        require(address(this).balance > 0, "Token: no ETH to clear");
        payable(msg.sender).transfer(address(this).balance);
    }

    function clearStuckTokens(address tokenAddress) external onlyOwner {
        IERC20 tokenContract = IERC20(tokenAddress);
        uint256 balance = tokenContract.balanceOf(address(this));
        require(balance > 0, "No tokens to clear");
        tokenContract.transfer(msg.sender, balance);
    }

    function SetFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 20 && _sellFee <= 40, "Fees cannot exceed 30%");
        BuyFee = _buyFee;
        SellFee = _sellFee;
    }

    function setSwapTokensAtAmount(uint256 _amount) external onlyOwner {
        swapTokensAtAmount = _amount * (10 ** 18);
    }

    function manualSwap(uint256 percent) external onlyOwner {
        uint256 totalSupplyAmount = totalSupply();
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap;

        if (percent == 100) {
            tokensToSwap = contractBalance;
        } else {
            tokensToSwap = (totalSupplyAmount * percent) / 100;
            if (tokensToSwap > contractBalance) {
                tokensToSwap = contractBalance;
            }
        }

        require(
            tokensToSwap <= contractBalance,
            "Swap amount exceeds contract balance"
        );
        swapTokensForEth(tokensToSwap);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_mkAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"SetFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createTradingPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"},{"stateMutability":"payable","type":"receive"}]

60806040526a52b7d2dcc80cd2e40000006009556103e86009546014620000279190620003ab565b620000339190620003cb565b600a556103e860095460146200004a9190620003ab565b620000569190620003cb565b600b556103e860095460046200006d9190620003ab565b620000799190620003cb565b600c55600d805460ff191690556019600e819055600f553480156200009c575f80fd5b506040516200253438038062002534833981016040819052620000bf91620003eb565b60408051808201825260068082526552555353494160d01b6020808401829052845180860190955291845290830152906003620000fd8382620004b9565b5060046200010c8282620004b9565b50505062000129620001236200021b60201b60201c565b6200021f565b600880546001600160a01b0319166001600160a01b038316179055620001636200015b6005546001600160a01b031690565b600162000270565b6200017030600162000270565b60085462000189906001600160a01b0316600162000270565b620001c3620001a06005546001600160a01b031690565b6001600160a01b03165f908152601160205260409020805460ff19166001179055565b305f908152601160205260409020805460ff191660011790556008546001600160a01b03165f908152601160205260409020805460ff191660011790556200021433600954620002ce60201b60201c565b5062000597565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620003295760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f8282546200033c919062000581565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620003c557620003c562000397565b92915050565b5f82620003e657634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620003fc575f80fd5b81516001600160a01b038116811462000413575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200044357607f821691505b6020821081036200046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000392575f81815260208120601f850160051c81016020861015620004905750805b601f850160051c820191505b81811015620004b1578281556001016200049c565b505050505050565b81516001600160401b03811115620004d557620004d56200041a565b620004ed81620004e684546200042e565b8462000468565b602080601f83116001811462000523575f84156200050b5750858301515b5f19600386901b1c1916600185901b178555620004b1565b5f85815260208120601f198616915b82811015620005535788860151825594840194600190910190840162000532565b50858210156200057157878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620003c557620003c562000397565b611f8f80620005a55f395ff3fe6080604052600436106101e9575f3560e01c806389291a8f11610108578063c8c8ebe41161009d578063dd8546521161006d578063dd85465214610553578063e2f4560514610568578063f2fde38b1461057d578063f8b45b051461059c578063ffb54a99146105b1575f80fd5b8063c8c8ebe4146104f6578063c9567bf91461050b578063cf9522fd1461051f578063dd62ed3e14610534575f80fd5b8063a457c2d7116100d8578063a457c2d71461047a578063a9059cbb14610499578063afa4f3b2146104b8578063b70143c9146104d7575f80fd5b806389291a8f146104165780638da5cb5b1461042a57806395d89b41146104475780639a7a23d61461045b575f80fd5b8063346cc7be1161017e5780634fbee1931161014e5780634fbee1931461038357806370a08231146103ba578063715018a6146103ee578063751039fc14610402575f80fd5b8063346cc7be1461030757806339509351146103265780633be6e6371461034557806349bd5a5e14610364575f80fd5b806318160ddd116101b957806318160ddd1461029a57806323b872dd146102b8578063311028af146102d7578063313ce567146102ec575f80fd5b806306fdde03146101f4578063095ea7b31461021e5780630c11ab691461024d5780631694505e14610263575f80fd5b366101f057005b5f80fd5b3480156101ff575f80fd5b506102086105ca565b6040516102159190611c2d565b60405180910390f35b348015610229575f80fd5b5061023d610238366004611c8c565b61065a565b6040519015158152602001610215565b348015610258575f80fd5b50610261610673565b005b34801561026e575f80fd5b50600654610282906001600160a01b031681565b6040516001600160a01b039091168152602001610215565b3480156102a5575f80fd5b506002545b604051908152602001610215565b3480156102c3575f80fd5b5061023d6102d2366004611cb6565b610844565b3480156102e2575f80fd5b506102aa60095481565b3480156102f7575f80fd5b5060405160128152602001610215565b348015610312575f80fd5b50610261610321366004611cf4565b6108c6565b348015610331575f80fd5b5061023d610340366004611c8c565b6109f2565b348015610350575f80fd5b5061026161035f366004611d0f565b610a13565b34801561036f575f80fd5b50600754610282906001600160a01b031681565b34801561038e575f80fd5b5061023d61039d366004611cf4565b6001600160a01b03165f9081526010602052604090205460ff1690565b3480156103c5575f80fd5b506102aa6103d4366004611cf4565b6001600160a01b03165f9081526020819052604090205490565b3480156103f9575f80fd5b50610261610a7d565b34801561040d575f80fd5b50610261610a8e565b348015610421575f80fd5b50610261610aab565b348015610435575f80fd5b506005546001600160a01b0316610282565b348015610452575f80fd5b50610208610b27565b348015610466575f80fd5b50610261610475366004611d3c565b610b36565b348015610485575f80fd5b5061023d610494366004611c8c565b610bd0565b3480156104a4575f80fd5b5061023d6104b3366004611c8c565b610c4a565b3480156104c3575f80fd5b506102616104d2366004611d73565b610c57565b3480156104e2575f80fd5b506102616104f1366004611d73565b610c77565b348015610501575f80fd5b506102aa600a5481565b348015610516575f80fd5b50610261610d33565b34801561052a575f80fd5b506102aa600f5481565b34801561053f575f80fd5b506102aa61054e366004611d8a565b610e36565b34801561055e575f80fd5b506102aa600e5481565b348015610573575f80fd5b506102aa600c5481565b348015610588575f80fd5b50610261610597366004611cf4565b610e60565b3480156105a7575f80fd5b506102aa600b5481565b3480156105bc575f80fd5b50600d5461023d9060ff1681565b6060600380546105d990611db6565b80601f016020809104026020016040519081016040528092919081815260200182805461060590611db6565b80156106505780601f1061062757610100808354040283529160200191610650565b820191905f5260205f20905b81548152906001019060200180831161063357829003601f168201915b5050505050905090565b5f33610667818585610ed6565b60019150505b92915050565b61067b610ffa565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156106dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107019190611dee565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610760573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107849190611dee565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f29190611dee565b600780546001600160a01b0319166001600160a01b0392909216918217905561081c906001611054565b6007546001600160a01b03165f908152601160205260409020805460ff19166001179055565b565b5f8082116108a45760405162461bcd60e51b815260206004820152602260248201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604482015261726f60f01b60648201526084015b60405180910390fd5b336108b08582856110a7565b6108bb858585611119565b506001949350505050565b6108ce610ffa565b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610914573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109389190611e09565b90505f811161097e5760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b604482015260640161089b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af11580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190611e20565b50505050565b5f33610667818585610a048383610e36565b610a0e9190611e4f565b610ed6565b610a1b610ffa565b60148211158015610a2d575060288111155b610a725760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642033302560501b604482015260640161089b565b600e91909155600f55565b610a85610ffa565b6108425f611985565b610a96610ffa565b5f610aa060025490565b600a819055600b5550565b610ab3610ffa565b5f4711610afb5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161089b565b60405133904780156108fc02915f818181858888f19350505050158015610b24573d5f803e3d5ffd5b50565b6060600480546105d990611db6565b610b3e610ffa565b6007546001600160a01b0390811690831603610bc25760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161089b565b610bcc8282611054565b5050565b5f3381610bdd8286610e36565b905083811015610c3d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161089b565b6108bb8286868403610ed6565b5f33610667818585611119565b610c5f610ffa565b610c7181670de0b6b3a7640000611e62565b600c5550565b610c7f610ffa565b5f610c8960025490565b305f908152602081905260408120549192506064849003610cab575080610cce565b6064610cb78585611e62565b610cc19190611e79565b905081811115610cce5750805b81811115610d2a5760405162461bcd60e51b8152602060048201526024808201527f5377617020616d6f756e74206578636565647320636f6e74726163742062616c604482015263616e636560e01b606482015260840161089b565b6109ec816119d6565b610d3b610ffa565b600654610d549030906001600160a01b03165f19610ed6565b6006546001600160a01b031663f305d7194730610d85816001600160a01b03165f9081526020819052604090205490565b5f80610d996005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610dff573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e249190611e98565b5050600d805460ff1916600117905550565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610e68610ffa565b6001600160a01b038116610ecd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161089b565b610b2481611985565b6001600160a01b038316610f385760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161089b565b6001600160a01b038216610f995760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161089b565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6005546001600160a01b031633146108425760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161089b565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b5f6110b28484610e36565b90505f1981146109ec578181101561110c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161089b565b6109ec8484848403610ed6565b6001600160a01b03831661117d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161089b565b6001600160a01b0382166111df5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161089b565b6001600160a01b0383165f9081526010602052604090205460ff16611261575f81116112615760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657220616d6f756e742073686f756c642062652067726561746560448201526a72207468616e207a65726f60a81b606482015260840161089b565b6001600160a01b0383165f9081526012602052604081205460ff161580156112a157506001600160a01b0383165f9081526012602052604090205460ff16155b90506112b56005546001600160a01b031690565b6001600160a01b0316846001600160a01b0316141580156112e457506005546001600160a01b03848116911614155b80156112f857506001600160a01b03831615155b801561130f57506001600160a01b03831661dead14155b80156113255750600854600160a01b900460ff16155b1561161557600d5460ff166113b6576001600160a01b0384165f9081526010602052604090205460ff168061137157506001600160a01b0383165f9081526010602052604090205460ff165b6113b65760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161089b565b6001600160a01b0384165f9081526012602052604090205460ff1680156113f557506001600160a01b0383165f9081526011602052604090205460ff16155b156114d857600a5482111561146a5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161089b565b600b546001600160a01b0384165f9081526020819052604090205461148f9084611e4f565b11156114d35760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161089b565b611615565b6001600160a01b0383165f9081526012602052604090205460ff16801561151757506001600160a01b0384165f9081526011602052604090205460ff16155b1561158d57600a548211156114d35760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161089b565b6001600160a01b0383165f9081526011602052604090205460ff1661161557600b546001600160a01b0384165f908152602081905260409020546115d19084611e4f565b11156116155760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161089b565b305f90815260208190526040812054908115801590611632575082155b905080801561164b5750600854600160a01b900460ff16155b801561166e57506001600160a01b0385165f9081526012602052604090205460ff165b801561169257506001600160a01b0386165f9081526010602052604090205460ff16155b80156116b657506001600160a01b0385165f9081526010602052604090205460ff16155b1561182857600c5482908111156116cc5750600c545b6008805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061171257611712611ec3565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611769573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178d9190611dee565b816001815181106117a0576117a0611ec3565b6001600160a01b03928316602091820292909201015260065460085460405163791ac94760e01b81529183169263791ac947926117eb9287925f928892909116904290600401611ed7565b5f604051808303815f87803b158015611802575f80fd5b505af1158015611814573d5f803e3d5ffd5b50506008805460ff60a01b19169055505050505b6008545f90600160a01b900460ff16158015611842575083155b6001600160a01b0388165f9081526010602052604090205490915060ff168061188257506001600160a01b0386165f9081526010602052604090205460ff165b1561188a57505f5b600854600160a01b900460ff161580156118a75750600d5460ff16155b80156118bb57506001600160a01b03871630145b80156118de57506001600160a01b0386165f9081526012602052604090205460ff165b156118e7575060015b5f8115611970576001600160a01b0387165f9081526012602052604090205460ff16156119355761192e6064611928600f5489611b2a90919063ffffffff16565b90611b3c565b9050611952565b61194f6064611928600e5489611b2a90919063ffffffff16565b90505b801561196357611963883083611b47565b61196d8187611f46565b95505b61197b888888611b47565b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a0957611a09611ec3565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a849190611dee565b81600181518110611a9757611a97611ec3565b6001600160a01b039283166020918202929092010152600654611abd9130911684610ed6565b60065460085460405163791ac94760e01b81526001600160a01b039283169263791ac94792611af99287925f9288929116904290600401611ed7565b5f604051808303815f87803b158015611b10575f80fd5b505af1158015611b22573d5f803e3d5ffd5b505050505050565b5f611b358284611e62565b9392505050565b5f611b358284611e79565b6001600160a01b0383165f90815260208190526040902054811115611bbd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161089b565b8015611bc95780611bcc565b60015b6001600160a01b038481165f8181526020818152604080832080549690960390955592861680825290849020805486019055925184815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610fed565b5f6020808352835180828501525f5b81811015611c5857858101830151858201604001528201611c3c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b24575f80fd5b5f8060408385031215611c9d575f80fd5b8235611ca881611c78565b946020939093013593505050565b5f805f60608486031215611cc8575f80fd5b8335611cd381611c78565b92506020840135611ce381611c78565b929592945050506040919091013590565b5f60208284031215611d04575f80fd5b8135611b3581611c78565b5f8060408385031215611d20575f80fd5b50508035926020909101359150565b8015158114610b24575f80fd5b5f8060408385031215611d4d575f80fd5b8235611d5881611c78565b91506020830135611d6881611d2f565b809150509250929050565b5f60208284031215611d83575f80fd5b5035919050565b5f8060408385031215611d9b575f80fd5b8235611da681611c78565b91506020830135611d6881611c78565b600181811c90821680611dca57607f821691505b602082108103611de857634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611dfe575f80fd5b8151611b3581611c78565b5f60208284031215611e19575f80fd5b5051919050565b5f60208284031215611e30575f80fd5b8151611b3581611d2f565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561066d5761066d611e3b565b808202811582820484141761066d5761066d611e3b565b5f82611e9357634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f60608486031215611eaa575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611f255784516001600160a01b031683529383019391830191600101611f00565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561066d5761066d611e3b56fea264697066735822122092950f4066023dd3a6c7396f8abf4e2028fa65dec9aeaab6ff66985051f0e38a64736f6c63430008140033000000000000000000000000b03d1bb54c9c074fd20c9320182c9e98eab9d9e7

Deployed Bytecode

0x6080604052600436106101e9575f3560e01c806389291a8f11610108578063c8c8ebe41161009d578063dd8546521161006d578063dd85465214610553578063e2f4560514610568578063f2fde38b1461057d578063f8b45b051461059c578063ffb54a99146105b1575f80fd5b8063c8c8ebe4146104f6578063c9567bf91461050b578063cf9522fd1461051f578063dd62ed3e14610534575f80fd5b8063a457c2d7116100d8578063a457c2d71461047a578063a9059cbb14610499578063afa4f3b2146104b8578063b70143c9146104d7575f80fd5b806389291a8f146104165780638da5cb5b1461042a57806395d89b41146104475780639a7a23d61461045b575f80fd5b8063346cc7be1161017e5780634fbee1931161014e5780634fbee1931461038357806370a08231146103ba578063715018a6146103ee578063751039fc14610402575f80fd5b8063346cc7be1461030757806339509351146103265780633be6e6371461034557806349bd5a5e14610364575f80fd5b806318160ddd116101b957806318160ddd1461029a57806323b872dd146102b8578063311028af146102d7578063313ce567146102ec575f80fd5b806306fdde03146101f4578063095ea7b31461021e5780630c11ab691461024d5780631694505e14610263575f80fd5b366101f057005b5f80fd5b3480156101ff575f80fd5b506102086105ca565b6040516102159190611c2d565b60405180910390f35b348015610229575f80fd5b5061023d610238366004611c8c565b61065a565b6040519015158152602001610215565b348015610258575f80fd5b50610261610673565b005b34801561026e575f80fd5b50600654610282906001600160a01b031681565b6040516001600160a01b039091168152602001610215565b3480156102a5575f80fd5b506002545b604051908152602001610215565b3480156102c3575f80fd5b5061023d6102d2366004611cb6565b610844565b3480156102e2575f80fd5b506102aa60095481565b3480156102f7575f80fd5b5060405160128152602001610215565b348015610312575f80fd5b50610261610321366004611cf4565b6108c6565b348015610331575f80fd5b5061023d610340366004611c8c565b6109f2565b348015610350575f80fd5b5061026161035f366004611d0f565b610a13565b34801561036f575f80fd5b50600754610282906001600160a01b031681565b34801561038e575f80fd5b5061023d61039d366004611cf4565b6001600160a01b03165f9081526010602052604090205460ff1690565b3480156103c5575f80fd5b506102aa6103d4366004611cf4565b6001600160a01b03165f9081526020819052604090205490565b3480156103f9575f80fd5b50610261610a7d565b34801561040d575f80fd5b50610261610a8e565b348015610421575f80fd5b50610261610aab565b348015610435575f80fd5b506005546001600160a01b0316610282565b348015610452575f80fd5b50610208610b27565b348015610466575f80fd5b50610261610475366004611d3c565b610b36565b348015610485575f80fd5b5061023d610494366004611c8c565b610bd0565b3480156104a4575f80fd5b5061023d6104b3366004611c8c565b610c4a565b3480156104c3575f80fd5b506102616104d2366004611d73565b610c57565b3480156104e2575f80fd5b506102616104f1366004611d73565b610c77565b348015610501575f80fd5b506102aa600a5481565b348015610516575f80fd5b50610261610d33565b34801561052a575f80fd5b506102aa600f5481565b34801561053f575f80fd5b506102aa61054e366004611d8a565b610e36565b34801561055e575f80fd5b506102aa600e5481565b348015610573575f80fd5b506102aa600c5481565b348015610588575f80fd5b50610261610597366004611cf4565b610e60565b3480156105a7575f80fd5b506102aa600b5481565b3480156105bc575f80fd5b50600d5461023d9060ff1681565b6060600380546105d990611db6565b80601f016020809104026020016040519081016040528092919081815260200182805461060590611db6565b80156106505780601f1061062757610100808354040283529160200191610650565b820191905f5260205f20905b81548152906001019060200180831161063357829003601f168201915b5050505050905090565b5f33610667818585610ed6565b60019150505b92915050565b61067b610ffa565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156106dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107019190611dee565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610760573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107849190611dee565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f29190611dee565b600780546001600160a01b0319166001600160a01b0392909216918217905561081c906001611054565b6007546001600160a01b03165f908152601160205260409020805460ff19166001179055565b565b5f8082116108a45760405162461bcd60e51b815260206004820152602260248201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604482015261726f60f01b60648201526084015b60405180910390fd5b336108b08582856110a7565b6108bb858585611119565b506001949350505050565b6108ce610ffa565b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610914573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109389190611e09565b90505f811161097e5760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b604482015260640161089b565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af11580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190611e20565b50505050565b5f33610667818585610a048383610e36565b610a0e9190611e4f565b610ed6565b610a1b610ffa565b60148211158015610a2d575060288111155b610a725760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642033302560501b604482015260640161089b565b600e91909155600f55565b610a85610ffa565b6108425f611985565b610a96610ffa565b5f610aa060025490565b600a819055600b5550565b610ab3610ffa565b5f4711610afb5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161089b565b60405133904780156108fc02915f818181858888f19350505050158015610b24573d5f803e3d5ffd5b50565b6060600480546105d990611db6565b610b3e610ffa565b6007546001600160a01b0390811690831603610bc25760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161089b565b610bcc8282611054565b5050565b5f3381610bdd8286610e36565b905083811015610c3d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161089b565b6108bb8286868403610ed6565b5f33610667818585611119565b610c5f610ffa565b610c7181670de0b6b3a7640000611e62565b600c5550565b610c7f610ffa565b5f610c8960025490565b305f908152602081905260408120549192506064849003610cab575080610cce565b6064610cb78585611e62565b610cc19190611e79565b905081811115610cce5750805b81811115610d2a5760405162461bcd60e51b8152602060048201526024808201527f5377617020616d6f756e74206578636565647320636f6e74726163742062616c604482015263616e636560e01b606482015260840161089b565b6109ec816119d6565b610d3b610ffa565b600654610d549030906001600160a01b03165f19610ed6565b6006546001600160a01b031663f305d7194730610d85816001600160a01b03165f9081526020819052604090205490565b5f80610d996005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610dff573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e249190611e98565b5050600d805460ff1916600117905550565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610e68610ffa565b6001600160a01b038116610ecd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161089b565b610b2481611985565b6001600160a01b038316610f385760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161089b565b6001600160a01b038216610f995760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161089b565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6005546001600160a01b031633146108425760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161089b565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b5f6110b28484610e36565b90505f1981146109ec578181101561110c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161089b565b6109ec8484848403610ed6565b6001600160a01b03831661117d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161089b565b6001600160a01b0382166111df5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161089b565b6001600160a01b0383165f9081526010602052604090205460ff16611261575f81116112615760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657220616d6f756e742073686f756c642062652067726561746560448201526a72207468616e207a65726f60a81b606482015260840161089b565b6001600160a01b0383165f9081526012602052604081205460ff161580156112a157506001600160a01b0383165f9081526012602052604090205460ff16155b90506112b56005546001600160a01b031690565b6001600160a01b0316846001600160a01b0316141580156112e457506005546001600160a01b03848116911614155b80156112f857506001600160a01b03831615155b801561130f57506001600160a01b03831661dead14155b80156113255750600854600160a01b900460ff16155b1561161557600d5460ff166113b6576001600160a01b0384165f9081526010602052604090205460ff168061137157506001600160a01b0383165f9081526010602052604090205460ff165b6113b65760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161089b565b6001600160a01b0384165f9081526012602052604090205460ff1680156113f557506001600160a01b0383165f9081526011602052604090205460ff16155b156114d857600a5482111561146a5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161089b565b600b546001600160a01b0384165f9081526020819052604090205461148f9084611e4f565b11156114d35760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161089b565b611615565b6001600160a01b0383165f9081526012602052604090205460ff16801561151757506001600160a01b0384165f9081526011602052604090205460ff16155b1561158d57600a548211156114d35760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161089b565b6001600160a01b0383165f9081526011602052604090205460ff1661161557600b546001600160a01b0384165f908152602081905260409020546115d19084611e4f565b11156116155760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161089b565b305f90815260208190526040812054908115801590611632575082155b905080801561164b5750600854600160a01b900460ff16155b801561166e57506001600160a01b0385165f9081526012602052604090205460ff165b801561169257506001600160a01b0386165f9081526010602052604090205460ff16155b80156116b657506001600160a01b0385165f9081526010602052604090205460ff16155b1561182857600c5482908111156116cc5750600c545b6008805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061171257611712611ec3565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611769573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178d9190611dee565b816001815181106117a0576117a0611ec3565b6001600160a01b03928316602091820292909201015260065460085460405163791ac94760e01b81529183169263791ac947926117eb9287925f928892909116904290600401611ed7565b5f604051808303815f87803b158015611802575f80fd5b505af1158015611814573d5f803e3d5ffd5b50506008805460ff60a01b19169055505050505b6008545f90600160a01b900460ff16158015611842575083155b6001600160a01b0388165f9081526010602052604090205490915060ff168061188257506001600160a01b0386165f9081526010602052604090205460ff165b1561188a57505f5b600854600160a01b900460ff161580156118a75750600d5460ff16155b80156118bb57506001600160a01b03871630145b80156118de57506001600160a01b0386165f9081526012602052604090205460ff165b156118e7575060015b5f8115611970576001600160a01b0387165f9081526012602052604090205460ff16156119355761192e6064611928600f5489611b2a90919063ffffffff16565b90611b3c565b9050611952565b61194f6064611928600e5489611b2a90919063ffffffff16565b90505b801561196357611963883083611b47565b61196d8187611f46565b95505b61197b888888611b47565b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a0957611a09611ec3565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a849190611dee565b81600181518110611a9757611a97611ec3565b6001600160a01b039283166020918202929092010152600654611abd9130911684610ed6565b60065460085460405163791ac94760e01b81526001600160a01b039283169263791ac94792611af99287925f9288929116904290600401611ed7565b5f604051808303815f87803b158015611b10575f80fd5b505af1158015611b22573d5f803e3d5ffd5b505050505050565b5f611b358284611e62565b9392505050565b5f611b358284611e79565b6001600160a01b0383165f90815260208190526040902054811115611bbd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161089b565b8015611bc95780611bcc565b60015b6001600160a01b038481165f8181526020818152604080832080549690960390955592861680825290849020805486019055925184815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610fed565b5f6020808352835180828501525f5b81811015611c5857858101830151858201604001528201611c3c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b24575f80fd5b5f8060408385031215611c9d575f80fd5b8235611ca881611c78565b946020939093013593505050565b5f805f60608486031215611cc8575f80fd5b8335611cd381611c78565b92506020840135611ce381611c78565b929592945050506040919091013590565b5f60208284031215611d04575f80fd5b8135611b3581611c78565b5f8060408385031215611d20575f80fd5b50508035926020909101359150565b8015158114610b24575f80fd5b5f8060408385031215611d4d575f80fd5b8235611d5881611c78565b91506020830135611d6881611d2f565b809150509250929050565b5f60208284031215611d83575f80fd5b5035919050565b5f8060408385031215611d9b575f80fd5b8235611da681611c78565b91506020830135611d6881611c78565b600181811c90821680611dca57607f821691505b602082108103611de857634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611dfe575f80fd5b8151611b3581611c78565b5f60208284031215611e19575f80fd5b5051919050565b5f60208284031215611e30575f80fd5b8151611b3581611d2f565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561066d5761066d611e3b565b808202811582820484141761066d5761066d611e3b565b5f82611e9357634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f60608486031215611eaa575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611f255784516001600160a01b031683529383019391830191600101611f00565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561066d5761066d611e3b56fea264697066735822122092950f4066023dd3a6c7396f8abf4e2028fa65dec9aeaab6ff66985051f0e38a64736f6c63430008140033

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

000000000000000000000000b03d1bb54c9c074fd20c9320182c9e98eab9d9e7

-----Decoded View---------------
Arg [0] : _mkAddr (address): 0xB03d1Bb54c9C074Fd20c9320182C9E98EAB9d9E7

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b03d1bb54c9c074fd20c9320182c9e98eab9d9e7


Deployed Bytecode Sourcemap

15081:9413:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9932:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10930:226;;;;;;;;;;-1:-1:-1;10930:226:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10930:226:0;1023:187:1;16697:460:0;;;;;;;;;;;;;:::i;:::-;;15157:41;;;;;;;;;;-1:-1:-1;15157:41:0;;;;-1:-1:-1;;;;;15157:41:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;15157:41:0;1215:228:1;10253:108:0;;;;;;;;;;-1:-1:-1;10341:12:0;;10253:108;;;1594:25:1;;;1582:2;1567:18;10253:108:0;1448:177:1;11164:363:0;;;;;;;;;;-1:-1:-1;11164:363:0;;;;;:::i;:::-;;:::i;15469:54::-;;;;;;;;;;;;;;;;10152:93;;;;;;;;;;-1:-1:-1;10152:93:0;;10235:2;2233:36:1;;2221:2;2206:18;10152:93:0;2091:184:1;23159:303:0;;;;;;;;;;-1:-1:-1;23159:303:0;;;;;:::i;:::-;;:::i;11535:263::-;;;;;;;;;;-1:-1:-1;11535:263:0;;;;;:::i;:::-;;:::i;23470:212::-;;;;;;;;;;-1:-1:-1;23470:212:0;;;;;:::i;:::-;;:::i;15205:28::-;;;;;;;;;;-1:-1:-1;15205:28:0;;;;-1:-1:-1;;;;;15205:28:0;;;18430:126;;;;;;;;;;-1:-1:-1;18430:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;18520:28:0;18496:4;18520:28;;;:19;:28;;;;;;;;;18430:126;10369:143;;;;;;;;;;-1:-1:-1;10369:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;10486:18:0;10459:7;10486:18;;;;;;;;;;;;10369:143;8971:103;;;;;;;;;;;;;:::i;22764:194::-;;;;;;;;;;;;;:::i;22966:185::-;;;;;;;;;;;;;:::i;8736:87::-;;;;;;;;;;-1:-1:-1;8809:6:0;;-1:-1:-1;;;;;8809:6:0;8736:87;;10040:104;;;;;;;;;;;;;:::i;17924:304::-;;;;;;;;;;-1:-1:-1;17924:304:0;;;;;:::i;:::-;;:::i;11806:498::-;;;;;;;;;;-1:-1:-1;11806:498:0;;;;;:::i;:::-;;:::i;10520:218::-;;;;;;;;;;-1:-1:-1;10520:218:0;;;;;:::i;:::-;;:::i;23690:127::-;;;;;;;;;;-1:-1:-1;23690:127:0;;;;;:::i;:::-;;:::i;23825:666::-;;;;;;;;;;-1:-1:-1;23825:666:0;;;;;:::i;:::-;;:::i;15530:70::-;;;;;;;;;;;;;;;;17165:390;;;;;;;;;;;;;:::i;15822:27::-;;;;;;;;;;;;;;;;10746:176;;;;;;;;;;-1:-1:-1;10746:176:0;;;;;:::i;:::-;;:::i;15789:26::-;;;;;;;;;;;;;;;;15673:67;;;;;;;;;;;;;;;;9082:238;;;;;;;;;;-1:-1:-1;9082:238:0;;;;;:::i;:::-;;:::i;15607:59::-;;;;;;;;;;;;;;;;15749:31;;;;;;;;;;-1:-1:-1;15749:31:0;;;;;;;;9932:100;9986:13;10019:5;10012:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9932:100;:::o;10930:226::-;11038:4;320:10;11094:32;320:10;11110:7;11119:6;11094:8;:32::i;:::-;11144:4;11137:11;;;10930:226;;;;;:::o;16697:460::-;8695:13;:11;:13::i;:::-;16756:15:::1;:104:::0;;-1:-1:-1;;;;;;16756:104:0::1;16807:42;16756:104:::0;;::::1;::::0;;;16907:25:::1;::::0;;-1:-1:-1;;;16907:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;16807:42;16907:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16889:55:0::1;;16967:4;16987:15;;;;;;;;;-1:-1:-1::0;;;;;16987:15:0::1;-1:-1:-1::0;;;;;16987:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16889:131;::::0;-1:-1:-1;;;;;;16889:131:0::1;::::0;;;;;;-1:-1:-1;;;;;4952:15:1;;;16889:131:0::1;::::0;::::1;4934:34:1::0;5004:15;;4984:18;;;4977:43;4869:18;;16889:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16873:13;:147:::0;;-1:-1:-1;;;;;;16873:147:0::1;-1:-1:-1::0;;;;;16873:147:0;;;::::1;::::0;;::::1;::::0;;17041:49:::1;::::0;-1:-1:-1;17041:28:0::1;:49::i;:::-;17129:13;::::0;-1:-1:-1;;;;;17129:13:0::1;17681:39:::0;;;;:31;:39;;;;;:46;;-1:-1:-1;;17681:46:0;17129:13;17681:46;;;16697:460::o;17103:46::-:1;16697:460::o:0;11164:363::-;11295:4;11329:1;11320:6;:10;11312:57;;;;-1:-1:-1;;;11312:57:0;;5233:2:1;11312:57:0;;;5215:21:1;5272:2;5252:18;;;5245:30;5311:34;5291:18;;;5284:62;-1:-1:-1;;;5362:18:1;;;5355:32;5404:19;;11312:57:0;;;;;;;;;320:10;11421:38;11437:4;320:10;11452:6;11421:15;:38::i;:::-;11470:27;11480:4;11486:2;11490:6;11470:9;:27::i;:::-;-1:-1:-1;11515:4:0;;11164:363;-1:-1:-1;;;;11164:363:0:o;23159:303::-;8695:13;:11;:13::i;:::-;23309:38:::1;::::0;-1:-1:-1;;;23309:38:0;;23341:4:::1;23309:38;::::0;::::1;1386:51:1::0;23267:12:0;;23237:20:::1;::::0;-1:-1:-1;;;;;23309:23:0;::::1;::::0;::::1;::::0;1359:18:1;;23309:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23291:56;;23376:1;23366:7;:11;23358:42;;;::::0;-1:-1:-1;;;23358:42:0;;5825:2:1;23358:42:0::1;::::0;::::1;5807:21:1::0;5864:2;5844:18;;;5837:30;-1:-1:-1;;;5883:18:1;;;5876:48;5941:18;;23358:42:0::1;5623:342:1::0;23358:42:0::1;23411:43;::::0;-1:-1:-1;;;23411:43:0;;23434:10:::1;23411:43;::::0;::::1;6144:51:1::0;6211:18;;;6204:34;;;-1:-1:-1;;;;;23411:22:0;::::1;::::0;::::1;::::0;6117:18:1;;23411:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23226:236;;23159:303:::0;:::o;11535:263::-;11648:4;320:10;11704:64;320:10;11720:7;11757:10;11729:25;320:10;11720:7;11729:9;:25::i;:::-;:38;;;;:::i;:::-;11704:8;:64::i;23470:212::-;8695:13;:11;:13::i;:::-;23571:2:::1;23560:7;:13;;:31;;;;;23589:2;23577:8;:14;;23560:31;23552:66;;;::::0;-1:-1:-1;;;23552:66:0;;6963:2:1;23552:66:0::1;::::0;::::1;6945:21:1::0;7002:2;6982:18;;;6975:30;-1:-1:-1;;;7021:18:1;;;7014:52;7083:18;;23552:66:0::1;6761:346:1::0;23552:66:0::1;23629:6;:16:::0;;;;23656:7:::1;:18:::0;23470:212::o;8971:103::-;8695:13;:11;:13::i;:::-;9036:30:::1;9063:1;9036:18;:30::i;22764:194::-:0;8695:13;:11;:13::i;:::-;22818:25:::1;22846:13;10341:12:::0;;;10253:108;22846:13:::1;22870:20;:40:::0;;;22921:9:::1;:29:::0;-1:-1:-1;22764:194:0:o;22966:185::-;8695:13;:11;:13::i;:::-;23053:1:::1;23029:21;:25;23021:60;;;::::0;-1:-1:-1;;;23021:60:0;;7314:2:1;23021:60:0::1;::::0;::::1;7296:21:1::0;7353:2;7333:18;;;7326:30;-1:-1:-1;;;7372:18:1;;;7365:52;7434:18;;23021:60:0::1;7112:346:1::0;23021:60:0::1;23092:51;::::0;23100:10:::1;::::0;23121:21:::1;23092:51:::0;::::1;;;::::0;::::1;::::0;;;23121:21;23100:10;23092:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22966:185::o:0;10040:104::-;10096:13;10129:7;10122:14;;;;;:::i;17924:304::-;8695:13;:11;:13::i;:::-;18070::::1;::::0;-1:-1:-1;;;;;18070:13:0;;::::1;18062:21:::0;;::::1;::::0;18040:128:::1;;;::::0;-1:-1:-1;;;18040:128:0;;7665:2:1;18040:128:0::1;::::0;::::1;7647:21:1::0;7704:2;7684:18;;;7677:30;7743:34;7723:18;;;7716:62;7814:27;7794:18;;;7787:55;7859:19;;18040:128:0::1;7463:421:1::0;18040:128:0::1;18179:41;18208:4;18214:5;18179:28;:41::i;:::-;17924:304:::0;;:::o;11806:498::-;11924:4;320:10;11924:4;12007:25;320:10;12024:7;12007:9;:25::i;:::-;11980:52;;12085:15;12065:16;:35;;12043:122;;;;-1:-1:-1;;;12043:122:0;;8091:2:1;12043:122:0;;;8073:21:1;8130:2;8110:18;;;8103:30;8169:34;8149:18;;;8142:62;-1:-1:-1;;;8220:18:1;;;8213:35;8265:19;;12043:122:0;7889:401:1;12043:122:0;12201:60;12210:5;12217:7;12245:15;12226:16;:34;12201:8;:60::i;10520:218::-;10624:4;320:10;10680:28;320:10;10697:2;10701:6;10680:9;:28::i;23690:127::-;8695:13;:11;:13::i;:::-;23789:20:::1;:7:::0;23800:8:::1;23789:20;:::i;:::-;23768:18;:41:::0;-1:-1:-1;23690:127:0:o;23825:666::-;8695:13;:11;:13::i;:::-;23892:25:::1;23920:13;10341:12:::0;;;10253:108;23920:13:::1;23988:4;23944:23;10486:18:::0;;;;;;;;;;;23892:41;;-1:-1:-1;24053:3:0::1;24042:14:::0;;;24038:275:::1;;-1:-1:-1::0;24088:15:0;24038:275:::1;;;24183:3;24152:27;24172:7:::0;24152:17;:27:::1;:::i;:::-;24151:35;;;;:::i;:::-;24136:50;;24220:15;24205:12;:30;24201:101;;;-1:-1:-1::0;24271:15:0;24201:101:::1;24363:15;24347:12;:31;;24325:117;;;::::0;-1:-1:-1;;;24325:117:0;;8892:2:1;24325:117:0::1;::::0;::::1;8874:21:1::0;8931:2;8911:18;;;8904:30;8970:34;8950:18;;;8943:62;-1:-1:-1;;;9021:18:1;;;9014:34;9065:19;;24325:117:0::1;8690:400:1::0;24325:117:0::1;24453:30;24470:12;24453:16;:30::i;17165:390::-:0;8695:13;:11;:13::i;:::-;17250:15:::1;::::0;17218:62:::1;::::0;17235:4:::1;::::0;-1:-1:-1;;;;;17250:15:0::1;-1:-1:-1::0;;17218:8:0::1;:62::i;:::-;17293:15;::::0;-1:-1:-1;;;;;17293:15:0::1;:31;17332:21;17377:4;17397:24;17377:4:::0;-1:-1:-1;;;;;10486:18:0;10459:7;10486:18;;;;;;;;;;;;10369:143;17397:24:::1;17436:1;17452::::0;17468:7:::1;8809:6:::0;;-1:-1:-1;;;;;8809:6:0;;8736:87;17468:7:::1;17293:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;17293:223:0;;;-1:-1:-1;;;;;9454:15:1;;;17293:223:0::1;::::0;::::1;9436:34:1::0;9486:18;;;9479:34;;;;9529:18;;;9522:34;;;;9572:18;;;9565:34;9636:15;;;9615:19;;;9608:44;17490:15:0::1;9668:19:1::0;;;9661:35;9370:19;;17293:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17529:11:0::1;:18:::0;;-1:-1:-1;;17529:18:0::1;17543:4;17529:18;::::0;;-1:-1:-1;17165:390:0:o;10746:176::-;-1:-1:-1;;;;;10887:18:0;;;10860:7;10887:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10746:176::o;9082:238::-;8695:13;:11;:13::i;:::-;-1:-1:-1;;;;;9185:22:0;::::1;9163:110;;;::::0;-1:-1:-1;;;9163:110:0;;10220:2:1;9163:110:0::1;::::0;::::1;10202:21:1::0;10259:2;10239:18;;;10232:30;10298:34;10278:18;;;10271:62;-1:-1:-1;;;10349:18:1;;;10342:36;10395:19;;9163:110:0::1;10018:402:1::0;9163:110:0::1;9284:28;9303:8;9284:18;:28::i;13919:380::-:0;-1:-1:-1;;;;;14055:19:0;;14047:68;;;;-1:-1:-1;;;14047:68:0;;10627:2:1;14047:68:0;;;10609:21:1;10666:2;10646:18;;;10639:30;10705:34;10685:18;;;10678:62;-1:-1:-1;;;10756:18:1;;;10749:34;10800:19;;14047:68:0;10425:400:1;14047:68:0;-1:-1:-1;;;;;14134:21:0;;14126:68;;;;-1:-1:-1;;;14126:68:0;;11032:2:1;14126:68:0;;;11014:21:1;11071:2;11051:18;;;11044:30;11110:34;11090:18;;;11083:62;-1:-1:-1;;;11161:18:1;;;11154:32;11203:19;;14126:68:0;10830:398:1;14126:68:0;-1:-1:-1;;;;;14207:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14259:32;;1594:25:1;;;14259:32:0;;1567:18:1;14259:32:0;;;;;;;;13919:380;;;:::o;8831:132::-;8809:6;;-1:-1:-1;;;;;8809:6:0;320:10;8895:23;8887:68;;;;-1:-1:-1;;;8887:68:0;;11435:2:1;8887:68:0;;;11417:21:1;;;11454:18;;;11447:30;11513:34;11493:18;;;11486:62;11565:18;;8887:68:0;11233:356:1;18236:186:0;-1:-1:-1;;;;;18319:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;18319:39:0;;;;;;;;;;18374:40;;18319:39;;:31;18374:40;;;18236:186;;:::o;14307:502::-;14442:24;14469:25;14479:5;14486:7;14469:9;:25::i;:::-;14442:52;;-1:-1:-1;;14509:16:0;:37;14505:297;;14609:6;14589:16;:26;;14563:117;;;;-1:-1:-1;;;14563:117:0;;11796:2:1;14563:117:0;;;11778:21:1;11835:2;11815:18;;;11808:30;11874:31;11854:18;;;11847:59;11923:18;;14563:117:0;11594:353:1;14563:117:0;14724:51;14733:5;14740:7;14768:6;14749:16;:25;14724:8;:51::i;18564:3707::-;-1:-1:-1;;;;;18696:18:0;;18688:68;;;;-1:-1:-1;;;18688:68:0;;12154:2:1;18688:68:0;;;12136:21:1;12193:2;12173:18;;;12166:30;12232:34;12212:18;;;12205:62;-1:-1:-1;;;12283:18:1;;;12276:35;12328:19;;18688:68:0;11952:401:1;18688:68:0;-1:-1:-1;;;;;18775:16:0;;18767:64;;;;-1:-1:-1;;;18767:64:0;;12560:2:1;18767:64:0;;;12542:21:1;12599:2;12579:18;;;12572:30;12638:34;12618:18;;;12611:62;-1:-1:-1;;;12689:18:1;;;12682:33;12732:19;;18767:64:0;12358:399:1;18767:64:0;-1:-1:-1;;;;;18849:25:0;;;;;;:19;:25;;;;;;;;18844:125;;18908:1;18899:6;:10;18891:66;;;;-1:-1:-1;;;18891:66:0;;12964:2:1;18891:66:0;;;12946:21:1;13003:2;12983:18;;;12976:30;13042:34;13022:18;;;13015:62;-1:-1:-1;;;13093:18:1;;;13086:41;13144:19;;18891:66:0;12762:407:1;18891:66:0;-1:-1:-1;;;;;19000:31:0;;18981:15;19000:31;;;:25;:31;;;;;;;;18999:32;:79;;;;-1:-1:-1;;;;;;19049:29:0;;;;;;:25;:29;;;;;;;;19048:30;18999:79;18981:97;;19117:7;8809:6;;-1:-1:-1;;;;;8809:6:0;;8736:87;19117:7;-1:-1:-1;;;;;19109:15:0;:4;-1:-1:-1;;;;;19109:15:0;;;:45;;;;-1:-1:-1;8809:6:0;;-1:-1:-1;;;;;19141:13:0;;;8809:6;;19141:13;;19109:45;:78;;;;-1:-1:-1;;;;;;19171:16:0;;;;19109:78;:116;;;;-1:-1:-1;;;;;;19204:21:0;;19218:6;19204:21;;19109:116;:142;;;;-1:-1:-1;19243:8:0;;-1:-1:-1;;;19243:8:0;;;;19242:9;19109:142;19091:1416;;;19283:11;;;;19278:201;;-1:-1:-1;;;;;19345:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;19374:23:0;;;;;;:19;:23;;;;;;;;19345:52;19315:148;;;;-1:-1:-1;;;19315:148:0;;13376:2:1;19315:148:0;;;13358:21:1;13415:2;13395:18;;;13388:30;-1:-1:-1;;;13434:18:1;;;13427:52;13496:18;;19315:148:0;13174:346:1;19315:148:0;-1:-1:-1;;;;;19517:31:0;;;;;;:25;:31;;;;;;;;:88;;;;-1:-1:-1;;;;;;19570:35:0;;;;;;:31;:35;;;;;;;;19569:36;19517:88;19495:1001;;;19680:20;;19670:6;:30;;19640:157;;;;-1:-1:-1;;;19640:157:0;;13727:2:1;19640:157:0;;;13709:21:1;13766:2;13746:18;;;13739:30;13805:34;13785:18;;;13778:62;-1:-1:-1;;;13856:18:1;;;13849:51;13917:19;;19640:157:0;13525:417:1;19640:157:0;19872:9;;-1:-1:-1;;;;;10486:18:0;;10459:7;10486:18;;;;;;;;;;;19846:22;;:6;:22;:::i;:::-;:35;;19816:128;;;;-1:-1:-1;;;19816:128:0;;14149:2:1;19816:128:0;;;14131:21:1;14188:2;14168:18;;;14161:30;-1:-1:-1;;;14207:18:1;;;14200:49;14266:18;;19816:128:0;13947:343:1;19816:128:0;19495:1001;;;-1:-1:-1;;;;;19988:29:0;;;;;;:25;:29;;;;;;;;:88;;;;-1:-1:-1;;;;;;20039:37:0;;;;;;:31;:37;;;;;;;;20038:38;19988:88;19966:530;;;20151:20;;20141:6;:30;;20111:158;;;;-1:-1:-1;;;20111:158:0;;14497:2:1;20111:158:0;;;14479:21:1;14536:2;14516:18;;;14509:30;14575:34;14555:18;;;14548:62;-1:-1:-1;;;14626:18:1;;;14619:52;14688:19;;20111:158:0;14295:418:1;19966:530:0;-1:-1:-1;;;;;20296:35:0;;;;;;:31;:35;;;;;;;;20291:205;;20408:9;;-1:-1:-1;;;;;10486:18:0;;10459:7;10486:18;;;;;;;;;;;20382:22;;:6;:22;:::i;:::-;:35;;20352:128;;;;-1:-1:-1;;;20352:128:0;;14149:2:1;20352:128:0;;;14131:21:1;14188:2;14168:18;;;14161:30;-1:-1:-1;;;14207:18:1;;;14200:49;14266:18;;20352:128:0;13947:343:1;20352:128:0;20568:4;20519:28;10486:18;;;;;;;;;;;;20602:24;;;;;:39;;;20631:10;20630:11;20602:39;20587:54;;20672:7;:33;;;;-1:-1:-1;20697:8:0;;-1:-1:-1;;;20697:8:0;;;;20696:9;20672:33;:79;;;;-1:-1:-1;;;;;;20722:29:0;;;;;;:25;:29;;;;;;;;20672:79;:122;;;;-1:-1:-1;;;;;;20769:25:0;;;;;;:19;:25;;;;;;;;20768:26;20672:122;:163;;;;-1:-1:-1;;;;;;20812:23:0;;;;;;:19;:23;;;;;;;;20811:24;20672:163;20654:865;;;20939:18;;20885:20;;20924:33;;20920:107;;;-1:-1:-1;20993:18:0;;20920:107;21041:8;:15;;-1:-1:-1;;;;21041:15:0;-1:-1:-1;;;21041:15:0;;;21095:16;;;21109:1;21095:16;;;;;;;;-1:-1:-1;;21095:16:0;;;;;;;;;;-1:-1:-1;21095:16:0;21071:40;;21144:4;21126;21131:1;21126:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21126:23:0;;;:7;;;;;;;;;;:23;;;;21174:15;;:22;;;-1:-1:-1;;;21174:22:0;;;;:15;;;;;:20;;:22;;;;;21126:7;;21174:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21164:4;21169:1;21164:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21164:32:0;;;:7;;;;;;;;;:32;21211:15;;21404;;21211:265;;-1:-1:-1;;;21211:265:0;;:15;;;;:84;;:265;;21318:12;;21211:15;;21377:4;;21404:15;;;;21442;;21211:265;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21491:8:0;:16;;-1:-1:-1;;;;21491:16:0;;;-1:-1:-1;;;;20654:865:0;21547:8;;21531:12;;-1:-1:-1;;;21547:8:0;;;;21546:9;:24;;;;;21560:10;21559:11;21546:24;-1:-1:-1;;;;;21587:25:0;;;;;;:19;:25;;;;;;21531:39;;-1:-1:-1;21587:25:0;;;:52;;-1:-1:-1;;;;;;21616:23:0;;;;;;:19;:23;;;;;;;;21587:52;21583:100;;;-1:-1:-1;21666:5:0;21583:100;21700:8;;-1:-1:-1;;;21700:8:0;;;;21699:9;:25;;;;-1:-1:-1;21713:11:0;;;;21712:12;21699:25;:50;;;;-1:-1:-1;;;;;;21728:21:0;;21744:4;21728:21;21699:50;:83;;;;-1:-1:-1;;;;;;21753:29:0;;;;;;:25;:29;;;;;;;;21699:83;21695:129;;;-1:-1:-1;21808:4:0;21695:129;21836:12;21869:7;21865:355;;;-1:-1:-1;;;;;21897:29:0;;;;;;:25;:29;;;;;;;;21893:180;;;21954:28;21978:3;21954:19;21965:7;;21954:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;21947:35;;21893:180;;;22030:27;22053:3;22030:18;22041:6;;22030;:10;;:18;;;;:::i;:27::-;22023:34;;21893:180;22093:8;;22089:91;;22122:42;22138:4;22152;22159;22122:15;:42::i;:::-;22194:14;22204:4;22194:14;;:::i;:::-;;;21865:355;22230:33;22246:4;22252:2;22256:6;22230:15;:33::i;:::-;18677:3594;;;;;18564:3707;;;:::o;9328:191::-;9421:6;;;-1:-1:-1;;;;;9438:17:0;;;-1:-1:-1;;;;;;9438:17:0;;;;;;;9471:40;;9421:6;;;9438:17;9421:6;;9471:40;;9402:16;;9471:40;9391:128;9328:191;:::o;22279:477::-;22369:16;;;22383:1;22369:16;;;;;;;;22345:21;;22369:16;;;;;;;;;;-1:-1:-1;22369:16:0;22345:40;;22414:4;22396;22401:1;22396:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22396:23:0;;;:7;;;;;;;;;;:23;;;;22440:15;;:22;;;-1:-1:-1;;;22440:22:0;;;;:15;;;;;:20;;:22;;;;;22396:7;;22440:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22430:4;22435:1;22430:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22430:32:0;;;:7;;;;;;;;;:32;22507:15;;22475:62;;22492:4;;22507:15;22525:11;22475:8;:62::i;:::-;22550:15;;22692;;22550:198;;-1:-1:-1;;;22550:198:0;;-1:-1:-1;;;;;22550:15:0;;;;:66;;:198;;22631:11;;22550:15;;22673:4;;22692:15;;;22722;;22550:198;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22334:422;22279:477;:::o;6350:98::-;6408:7;6435:5;6439:1;6435;:5;:::i;:::-;6428:12;6350:98;-1:-1:-1;;;6350:98:0:o;6456:::-;6514:7;6541:5;6545:1;6541;:5;:::i;12312:553::-;-1:-1:-1;;;;;12508:15:0;;:9;:15;;;;;;;;;;;:25;-1:-1:-1;12508:25:0;12486:113;;;;-1:-1:-1;;;12486:113:0;;16302:2:1;12486:113:0;;;16284:21:1;16341:2;16321:18;;;16314:30;16380:34;16360:18;;;16353:62;-1:-1:-1;;;16431:18:1;;;16424:36;16477:19;;12486:113:0;16100:402:1;12486:113:0;12674:11;;:24;;12692:6;12674:24;;;12688:1;12674:24;-1:-1:-1;;;;;12655:15:0;;;:9;:15;;;;;;;;;;;;;:44;;;;12637:62;;;12730:13;;;;;;;;;;;;:22;;12714:38;;12781:26;;1594:25:1;;;12655:15:0;;12781:26;;1567:18:1;12781:26:0;1448:177:1;14:548;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;1630:456::-;1707:6;1715;1723;1776:2;1764:9;1755:7;1751:23;1747:32;1744:52;;;1792:1;1789;1782:12;1744:52;1831:9;1818:23;1850:31;1875:5;1850:31;:::i;:::-;1900:5;-1:-1:-1;1957:2:1;1942:18;;1929:32;1970:33;1929:32;1970:33;:::i;:::-;1630:456;;2022:7;;-1:-1:-1;;;2076:2:1;2061:18;;;;2048:32;;1630:456::o;2280:247::-;2339:6;2392:2;2380:9;2371:7;2367:23;2363:32;2360:52;;;2408:1;2405;2398:12;2360:52;2447:9;2434:23;2466:31;2491:5;2466:31;:::i;2532:248::-;2600:6;2608;2661:2;2649:9;2640:7;2636:23;2632:32;2629:52;;;2677:1;2674;2667:12;2629:52;-1:-1:-1;;2700:23:1;;;2770:2;2755:18;;;2742:32;;-1:-1:-1;2532:248:1:o;2993:118::-;3079:5;3072:13;3065:21;3058:5;3055:32;3045:60;;3101:1;3098;3091:12;3116:382;3181:6;3189;3242:2;3230:9;3221:7;3217:23;3213:32;3210:52;;;3258:1;3255;3248:12;3210:52;3297:9;3284:23;3316:31;3341:5;3316:31;:::i;:::-;3366:5;-1:-1:-1;3423:2:1;3408:18;;3395:32;3436:30;3395:32;3436:30;:::i;:::-;3485:7;3475:17;;;3116:382;;;;;:::o;3503:180::-;3562:6;3615:2;3603:9;3594:7;3590:23;3586:32;3583:52;;;3631:1;3628;3621:12;3583:52;-1:-1:-1;3654:23:1;;3503:180;-1:-1:-1;3503:180:1:o;3688:388::-;3756:6;3764;3817:2;3805:9;3796:7;3792:23;3788:32;3785:52;;;3833:1;3830;3823:12;3785:52;3872:9;3859:23;3891:31;3916:5;3891:31;:::i;:::-;3941:5;-1:-1:-1;3998:2:1;3983:18;;3970:32;4011:33;3970:32;4011:33;:::i;4081:380::-;4160:1;4156:12;;;;4203;;;4224:61;;4278:4;4270:6;4266:17;4256:27;;4224:61;4331:2;4323:6;4320:14;4300:18;4297:38;4294:161;;4377:10;4372:3;4368:20;4365:1;4358:31;4412:4;4409:1;4402:15;4440:4;4437:1;4430:15;4294:161;;4081:380;;;:::o;4466:251::-;4536:6;4589:2;4577:9;4568:7;4564:23;4560:32;4557:52;;;4605:1;4602;4595:12;4557:52;4637:9;4631:16;4656:31;4681:5;4656:31;:::i;5434:184::-;5504:6;5557:2;5545:9;5536:7;5532:23;5528:32;5525:52;;;5573:1;5570;5563:12;5525:52;-1:-1:-1;5596:16:1;;5434:184;-1:-1:-1;5434:184:1:o;6249:245::-;6316:6;6369:2;6357:9;6348:7;6344:23;6340:32;6337:52;;;6385:1;6382;6375:12;6337:52;6417:9;6411:16;6436:28;6458:5;6436:28;:::i;6499:127::-;6560:10;6555:3;6551:20;6548:1;6541:31;6591:4;6588:1;6581:15;6615:4;6612:1;6605:15;6631:125;6696:9;;;6717:10;;;6714:36;;;6730:18;;:::i;8295:168::-;8368:9;;;8399;;8416:15;;;8410:22;;8396:37;8386:71;;8437:18;;:::i;8468:217::-;8508:1;8534;8524:132;;8578:10;8573:3;8569:20;8566:1;8559:31;8613:4;8610:1;8603:15;8641:4;8638:1;8631:15;8524:132;-1:-1:-1;8670:9:1;;8468:217::o;9707:306::-;9795:6;9803;9811;9864:2;9852:9;9843:7;9839:23;9835:32;9832:52;;;9880:1;9877;9870:12;9832:52;9909:9;9903:16;9893:26;;9959:2;9948:9;9944:18;9938:25;9928:35;;10003:2;9992:9;9988:18;9982:25;9972:35;;9707:306;;;;;:::o;14850:127::-;14911:10;14906:3;14902:20;14899:1;14892:31;14942:4;14939:1;14932:15;14966:4;14963:1;14956:15;14982:980;15244:4;15292:3;15281:9;15277:19;15323:6;15312:9;15305:25;15349:2;15387:6;15382:2;15371:9;15367:18;15360:34;15430:3;15425:2;15414:9;15410:18;15403:31;15454:6;15489;15483:13;15520:6;15512;15505:22;15558:3;15547:9;15543:19;15536:26;;15597:2;15589:6;15585:15;15571:29;;15618:1;15628:195;15642:6;15639:1;15636:13;15628:195;;;15707:13;;-1:-1:-1;;;;;15703:39:1;15691:52;;15798:15;;;;15763:12;;;;15739:1;15657:9;15628:195;;;-1:-1:-1;;;;;;;15879:32:1;;;;15874:2;15859:18;;15852:60;-1:-1:-1;;;15943:3:1;15928:19;15921:35;15840:3;14982:980;-1:-1:-1;;;14982:980:1:o;15967:128::-;16034:9;;;16055:11;;;16052:37;;;16069:18;;:::i

Swarm Source

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