ETH Price: $3,837.23 (-2.15%)

Token

ERC-20: Oswald The Lucky Rabbit (OSWALD)
 

Overview

Max Total Supply

1,000,000,000 OSWALD

Holders

14

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
ryoshiwallet.eth
Balance
12,000,000 OSWALD

Value
$0.00
0xf6eaef350da1e8a16cf41d3067a832b5f4e8ddae
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:
OSWALDTHELUCKYRABBIT

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-12
*/

/**
 *Submitted for verification at Etherscan.io on 2024-01-12
*/

// SPDX-License-Identifier: MIT

/*
$OSWALD on ETH

Launching on January 12th 4PM UTC

The oldest character in Walt Disney productions is widely considered to be Oswald the Lucky Rabbit. 
Oswald was created in 1927 by Walt Disney and Ub Iwerks, but eventually, the rights to the character were lost to Universal Studios.

Taxes will be zero. Contract will be renounced and 2ETH LP will be burned at launch once limits are lifted.

TG: https://t.me/OswaldTheLuckyRabbit_ETH
Twitter: https://twitter.com/OswaldToken_ETH
Web: Soon at launch
*/

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

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) {
        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 {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _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 OSWALDTHELUCKYRABBIT is ERC20, Ownable {
    using SafeMath for uint256;
    
    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private uniswapV2Pair;
    address private deployerWallet;
    address private marketingWallet;
    address private constant deadAddress = address(0xdead);

    bool private swapping;

    string private constant _name = "Oswald The Lucky Rabbit";
    string private constant _symbol = "OSWALD";

    uint256 public initialTotalSupply = 1000000000 * 1e18;
    uint256 public maxTransactionAmount = 20000000 * 1e18;
    uint256 public maxWallet = 20000000 * 1e18;
    uint256 public swapTokensAtAmount = 10000000 * 1e18;

    bool public tradingOpen = false;
    bool public swapEnabled = false;

    uint256 public BuyFee = 20;
    uint256 public SellFee = 20;

    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 wallet) ERC20(_name, _symbol) {

        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        marketingWallet = payable(wallet);     
        
        deployerWallet = payable(_msgSender());
        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(wallet), true);
        excludeFromFees(address(0xdead), true);

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(wallet), true);
        excludeFromMaxTransaction(address(0xdead), true);

        _mint(deployerWallet, initialTotalSupply);
    }

    receive() external payable {}

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"Trading is already open");
        _approve(address(this), address(_uniswapV2Router), initialTotalSupply);
        IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max);
        address wethAddress = _uniswapV2Router.WETH();
        uint256 wethBalance = IERC20(wethAddress).balanceOf(uniswapV2Pair);
        uint256 initialTokens = initialTotalSupply.mul(65).div(100); uint256 desiredETHAmount;
        if (wethBalance > 0) {desiredETHAmount = address(this).balance.sub(wethBalance);
        uint256 tokenValue = initialTokens.mul(wethBalance).div(desiredETHAmount);
        super._transfer(address(this), uniswapV2Pair, tokenValue);
        IUniswapV2Pair(uniswapV2Pair).sync();
        _uniswapV2Router.addLiquidityETH{value: desiredETHAmount}(address(this), initialTokens, 0, desiredETHAmount, owner(), block.timestamp);}
        else {_uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), initialTokens, 0, 0, owner(), block.timestamp);}
        swapEnabled = true;
        tradingOpen = true;
    }

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

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _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 (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
                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;

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

        bool takeFee = !swapping;

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

        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 SetFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 30 && _sellFee <= 99, "Fees cannot exceed 30%");
        BuyFee = _buyFee;
        SellFee = _sellFee;
    }

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

    function swapBack(uint256 tokens) private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap; 

        if (contractBalance == 0) {
            return;
        }

    if ((BuyFee+SellFee) == 0) {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount) {
            tokensToSwap = contractBalance;
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            }
            else {
                tokensToSwap = tokens;
            }
        }
    }

    else {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount.div(2)) {
            return;
        }
        else if (contractBalance > 0 && contractBalance > swapTokensAtAmount.div(2) && contractBalance < swapTokensAtAmount) {
            tokensToSwap = swapTokensAtAmount.div(2);
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellFee).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            } else {
                tokensToSwap = tokens;
            }
        }
    }
        swapTokensForEth(tokensToSwap);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"wallet","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":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckEth","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":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":[],"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":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60a06040526b033b2e3c9fd0803ce80000006009556a108b2a2c28029094000000600a556a108b2a2c28029094000000600b556a084595161401484a000000600c555f600d5f6101000a81548160ff0219169083151502179055505f600d60016101000a81548160ff0219169083151502179055506014600e556014600f553480156200008a575f80fd5b50604051620049e4380380620049e48339818101604052810190620000b0919062000a62565b6040518060400160405280601781526020017f4f7377616c6420546865204c75636b79205261626269740000000000000000008152506040518060400160405280600681526020017f4f5357414c44000000000000000000000000000000000000000000000000000081525081600390816200012d919062000cf6565b5080600490816200013f919062000cf6565b50505062000162620001566200054d60201b60201c565b6200055460201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021c919062000a62565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000284573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002aa919062000a62565b6040518363ffffffff1660e01b8152600401620002c992919062000deb565b6020604051808303815f875af1158015620002e6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200030c919062000a62565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200037f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200061760201b60201c565b620003b360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620006b560201b60201c565b620003c86080516001620006b560201b60201c565b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004186200054d60201b60201c565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004796200046b6200071d60201b60201c565b60016200074560201b60201c565b6200048c3060016200074560201b60201c565b6200049f8160016200074560201b60201c565b620004b461dead60016200074560201b60201c565b620004d6620004c86200071d60201b60201c565b6001620006b560201b60201c565b620004e9306001620006b560201b60201c565b620004fc816001620006b560201b60201c565b6200051161dead6001620006b560201b60201c565b6200054660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600954620007fd60201b60201c565b5062000fcc565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b620006c56200096260201b60201c565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620007556200096260201b60201c565b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620007f1919062000e32565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200086e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008659062000eab565b60405180910390fd5b620008815f8383620009f360201b60201c565b8060025f82825462000894919062000ef8565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000943919062000f43565b60405180910390a36200095e5f8383620009f860201b60201c565b5050565b620009726200054d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620009986200071d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620009f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009e89062000fac565b60405180910390fd5b565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000a2c8262000a01565b9050919050565b62000a3e8162000a20565b811462000a49575f80fd5b50565b5f8151905062000a5c8162000a33565b92915050565b5f6020828403121562000a7a5762000a79620009fd565b5b5f62000a898482850162000a4c565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000b0e57607f821691505b60208210810362000b245762000b2362000ac9565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000b887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b4b565b62000b94868362000b4b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000bde62000bd862000bd28462000bac565b62000bb5565b62000bac565b9050919050565b5f819050919050565b62000bf98362000bbe565b62000c1162000c088262000be5565b84845462000b57565b825550505050565b5f90565b62000c2762000c19565b62000c3481848462000bee565b505050565b5b8181101562000c5b5762000c4f5f8262000c1d565b60018101905062000c3a565b5050565b601f82111562000caa5762000c748162000b2a565b62000c7f8462000b3c565b8101602085101562000c8f578190505b62000ca762000c9e8562000b3c565b83018262000c39565b50505b505050565b5f82821c905092915050565b5f62000ccc5f198460080262000caf565b1980831691505092915050565b5f62000ce6838362000cbb565b9150826002028217905092915050565b62000d018262000a92565b67ffffffffffffffff81111562000d1d5762000d1c62000a9c565b5b62000d29825462000af6565b62000d3682828562000c5f565b5f60209050601f83116001811462000d6c575f841562000d57578287015190505b62000d63858262000cd9565b86555062000dd2565b601f19841662000d7c8662000b2a565b5f5b8281101562000da55784890151825560018201915060208501945060208101905062000d7e565b8683101562000dc5578489015162000dc1601f89168262000cbb565b8355505b6001600288020188555050505b505050505050565b62000de58162000a20565b82525050565b5f60408201905062000e005f83018562000dda565b62000e0f602083018462000dda565b9392505050565b5f8115159050919050565b62000e2c8162000e16565b82525050565b5f60208201905062000e475f83018462000e21565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000e93601f8362000e4d565b915062000ea08262000e5d565b602082019050919050565b5f6020820190508181035f83015262000ec48162000e85565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000f048262000bac565b915062000f118362000bac565b925082820190508082111562000f2c5762000f2b62000ecb565b5b92915050565b62000f3d8162000bac565b82525050565b5f60208201905062000f585f83018462000f32565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000f9460208362000e4d565b915062000fa18262000f5e565b602082019050919050565b5f6020820190508181035f83015262000fc58162000f86565b9050919050565b6080516139c76200101d5f395f818161095101528181610e1c01528181610e8201528181610f23015281816111680152818161121d0152818161262601528181612705015261272c01526139c75ff3fe6080604052600436106101e6575f3560e01c80638da5cb5b11610101578063c9567bf911610094578063e2f4560511610063578063e2f45605146106bf578063f2fde38b146106e9578063f8b45b0514610711578063ffb54a991461073b576101ed565b8063c9567bf914610619578063cf9522fd1461062f578063dd62ed3e14610659578063dd85465214610695576101ed565b8063a9059cbb116100d0578063a9059cbb14610563578063afa4f3b21461059f578063c0246668146105c7578063c8c8ebe4146105ef576101ed565b80638da5cb5b146104ab57806395d89b41146104d55780639a7a23d6146104ff578063a457c2d714610527576101ed565b80634fbee19311610179578063715018a611610148578063715018a614610441578063751039fc146104575780637571336a1461046d57806389291a8f14610495576101ed565b80634fbee19314610375578063583e0568146103b15780636ddd1713146103db57806370a0823114610405576101ed565b806323b872dd116101b557806323b872dd146102a9578063311028af146102e5578063313ce5671461030f5780633950935114610339576101ed565b8063032dc6a2146101f157806306fdde0314610219578063095ea7b31461024357806318160ddd1461027f576101ed565b366101ed57005b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190612814565b610765565b005b348015610224575f80fd5b5061022d6107d0565b60405161023a91906128dc565b60405180910390f35b34801561024e575f80fd5b5061026960048036038101906102649190612956565b610860565b60405161027691906129ae565b60405180910390f35b34801561028a575f80fd5b50610293610882565b6040516102a091906129d6565b60405180910390f35b3480156102b4575f80fd5b506102cf60048036038101906102ca91906129ef565b61088b565b6040516102dc91906129ae565b60405180910390f35b3480156102f0575f80fd5b506102f96108b9565b60405161030691906129d6565b60405180910390f35b34801561031a575f80fd5b506103236108bf565b6040516103309190612a5a565b60405180910390f35b348015610344575f80fd5b5061035f600480360381019061035a9190612956565b6108c7565b60405161036c91906129ae565b60405180910390f35b348015610380575f80fd5b5061039b60048036038101906103969190612a73565b6108fd565b6040516103a891906129ae565b60405180910390f35b3480156103bc575f80fd5b506103c561094f565b6040516103d29190612af9565b60405180910390f35b3480156103e6575f80fd5b506103ef610973565b6040516103fc91906129ae565b60405180910390f35b348015610410575f80fd5b5061042b60048036038101906104269190612a73565b610986565b60405161043891906129d6565b60405180910390f35b34801561044c575f80fd5b506104556109cb565b005b348015610462575f80fd5b5061046b6109de565b005b348015610478575f80fd5b50610493600480360381019061048e9190612b3c565b610a02565b005b3480156104a0575f80fd5b506104a9610a62565b005b3480156104b6575f80fd5b506104bf610af2565b6040516104cc9190612b89565b60405180910390f35b3480156104e0575f80fd5b506104e9610b1a565b6040516104f691906128dc565b60405180910390f35b34801561050a575f80fd5b5061052560048036038101906105209190612b3c565b610baa565b005b348015610532575f80fd5b5061054d60048036038101906105489190612956565b610c4f565b60405161055a91906129ae565b60405180910390f35b34801561056e575f80fd5b5061058960048036038101906105849190612956565b610cc4565b60405161059691906129ae565b60405180910390f35b3480156105aa575f80fd5b506105c560048036038101906105c09190612ba2565b610ce6565b005b3480156105d2575f80fd5b506105ed60048036038101906105e89190612b3c565b610d0b565b005b3480156105fa575f80fd5b50610603610db9565b60405161061091906129d6565b60405180910390f35b348015610624575f80fd5b5061062d610dbf565b005b34801561063a575f80fd5b50610643611306565b60405161065091906129d6565b60405180910390f35b348015610664575f80fd5b5061067f600480360381019061067a9190612bcd565b61130c565b60405161068c91906129d6565b60405180910390f35b3480156106a0575f80fd5b506106a961138e565b6040516106b691906129d6565b60405180910390f35b3480156106ca575f80fd5b506106d3611394565b6040516106e091906129d6565b60405180910390f35b3480156106f4575f80fd5b5061070f600480360381019061070a9190612a73565b61139a565b005b34801561071c575f80fd5b5061072561141c565b60405161073291906129d6565b60405180910390f35b348015610746575f80fd5b5061074f611422565b60405161075c91906129ae565b60405180910390f35b61076d611434565b601e821115801561077f575060638111155b6107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b590612c55565b60405180910390fd5b81600e8190555080600f819055505050565b6060600380546107df90612ca0565b80601f016020809104026020016040519081016040528092919081815260200182805461080b90612ca0565b80156108565780601f1061082d57610100808354040283529160200191610856565b820191905f5260205f20905b81548152906001019060200180831161083957829003601f168201915b5050505050905090565b5f8061086a6114b2565b90506108778185856114b9565b600191505092915050565b5f600254905090565b5f806108956114b2565b90506108a285828561167c565b6108ad858585611707565b60019150509392505050565b60095481565b5f6012905090565b5f806108d16114b2565b90506108f28185856108e3858961130c565b6108ed9190612cfd565b6114b9565b600191505092915050565b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600d60019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109d3611434565b6109dc5f611fe9565b565b6109e6611434565b5f6109ef610882565b905080600a8190555080600b8190555050565b610a0a611434565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610a6a611434565b5f4711610aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390612d7a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610aef573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610b2990612ca0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5590612ca0565b8015610ba05780601f10610b7757610100808354040283529160200191610ba0565b820191905f5260205f20905b815481529060010190602001808311610b8357829003601f168201915b5050505050905090565b610bb2611434565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612e08565b60405180910390fd5b610c4b82826120ac565b5050565b5f80610c596114b2565b90505f610c66828661130c565b905083811015610cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca290612e96565b60405180910390fd5b610cb882868684036114b9565b60019250505092915050565b5f80610cce6114b2565b9050610cdb818585611707565b600191505092915050565b610cee611434565b670de0b6b3a764000081610d029190612eb4565b600c8190555050565b610d13611434565b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610dad91906129ae565b60405180910390a25050565b600a5481565b610dc7611434565b600d5f9054906101000a900460ff1615610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90612f3f565b60405180910390fd5b610e43307f00000000000000000000000000000000000000000000000000000000000000006009546114b9565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610edf929190612f5d565b6020604051808303815f875af1158015610efb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1f9190612f98565b505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fae9190612fd7565b90505f8173ffffffffffffffffffffffffffffffffffffffff166370a0823160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161100b9190612b89565b602060405180830381865afa158015611026573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104a9190613016565b90505f6110766064611068604160095461214a90919063ffffffff16565b61215f90919063ffffffff16565b90505f8083111561121b57611094834761217490919063ffffffff16565b90505f6110bc826110ae868661214a90919063ffffffff16565b61215f90919063ffffffff16565b90506110ea3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612189565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611150575f80fd5b505af1158015611162573d5f803e3d5ffd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198330865f876111af610af2565b426040518863ffffffff1660e01b81526004016111d19695949392919061307a565b60606040518083038185885af11580156111ed573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061121291906130d9565b505050506112cb565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7194730855f80611264610af2565b426040518863ffffffff1660e01b815260040161128696959493929190613129565b60606040518083038185885af11580156112a2573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112c791906130d9565b5050505b6001600d60016101000a81548160ff0219169083151502179055506001600d5f6101000a81548160ff02191690831515021790555050505050565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b600c5481565b6113a2611434565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611407906131f8565b60405180910390fd5b61141981611fe9565b50565b600b5481565b600d5f9054906101000a900460ff1681565b61143c6114b2565b73ffffffffffffffffffffffffffffffffffffffff1661145a610af2565b73ffffffffffffffffffffffffffffffffffffffff16146114b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a790613260565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e906132ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158c9061337c565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161166f91906129d6565b60405180910390a3505050565b5f611687848461130c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461170157818110156116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ea906133e4565b60405180910390fd5b61170084848484036114b9565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176c90613472565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90613500565b60405180910390fd5b5f81036117fa576117f583835f612189565b611fe4565b611802610af2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118705750611840610af2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118a857505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118e2575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118fb5750600860149054906101000a900460ff16155b15611cc857600d5f9054906101000a900460ff166119ee5760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806119ae575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6119ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e490613568565b60405180910390fd5b5b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611a8b575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b3257600a54811115611ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acc906135f6565b60405180910390fd5b600b54611ae183610986565b82611aec9190612cfd565b1115611b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b249061365e565b60405180910390fd5b611cc7565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611bcf575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c1e57600a54811115611c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c10906136ec565b60405180910390fd5b611cc6565b60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611cc557600b54611c7883610986565b82611c839190612cfd565b1115611cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbb9061365e565b60405180910390fd5b5b5b5b5b5f611cd230610986565b90505f8082119050808015611cf35750600d60019054906101000a900460ff165b8015611d0c5750600860149054906101000a900460ff16155b8015611d5f575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611db2575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e05575060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e49576001600860146101000a81548160ff021916908315150217905550611e2e836123f5565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff1615905060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611ef8575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611f01575f90505b5f8115611fd45760125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611f8657611f7f6064611f71600f548861214a90919063ffffffff16565b61215f90919063ffffffff16565b9050611fb1565b611fae6064611fa0600e548861214a90919063ffffffff16565b61215f90919063ffffffff16565b90505b5f811115611fc557611fc4873083612189565b5b8085611fd1919061370a565b94505b611fdf878787612189565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f81836121579190612eb4565b905092915050565b5f818361216c919061376a565b905092915050565b5f8183612181919061370a565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ee90613472565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225c90613500565b60405180910390fd5b61227083838361257f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156122f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ea9061380a565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123dc91906129d6565b60405180910390a36123ef848484612584565b50505050565b5f6123ff30610986565b90505f80820361241057505061257c565b5f600f54600e546124219190612cfd565b0361249b575f821180156124365750600c5482105b1561244357819050612496565b5f61246c606461245e600f548761214a90919063ffffffff16565b61215f90919063ffffffff16565b9050808461247a919061370a565b9350600c5484111561249057600c549150612494565b8391505b505b612570565b5f821180156124be57506124bb6002600c5461215f90919063ffffffff16565b82105b156124ca57505061257c565b5f821180156124ed57506124ea6002600c5461215f90919063ffffffff16565b82115b80156124fa5750600c5482105b1561251c576125156002600c5461215f90919063ffffffff16565b905061256f565b5f6125456064612537600f548761214a90919063ffffffff16565b61215f90919063ffffffff16565b90508084612553919061370a565b9350600c5484111561256957600c54915061256d565b8391505b505b5b61257981612589565b50505b50565b505050565b505050565b5f600267ffffffffffffffff8111156125a5576125a4613828565b5b6040519080825280602002602001820160405280156125d35781602001602082028036833780820191505090505b50905030815f815181106125ea576125e9613855565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561268d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b19190612fd7565b816001815181106126c5576126c4613855565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061272a307f0000000000000000000000000000000000000000000000000000000000000000846114b9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016127ac959493929190613939565b5f604051808303815f87803b1580156127c3575f80fd5b505af11580156127d5573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b6127f3816127e1565b81146127fd575f80fd5b50565b5f8135905061280e816127ea565b92915050565b5f806040838503121561282a576128296127dd565b5b5f61283785828601612800565b925050602061284885828601612800565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561288957808201518184015260208101905061286e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6128ae82612852565b6128b8818561285c565b93506128c881856020860161286c565b6128d181612894565b840191505092915050565b5f6020820190508181035f8301526128f481846128a4565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612925826128fc565b9050919050565b6129358161291b565b811461293f575f80fd5b50565b5f813590506129508161292c565b92915050565b5f806040838503121561296c5761296b6127dd565b5b5f61297985828601612942565b925050602061298a85828601612800565b9150509250929050565b5f8115159050919050565b6129a881612994565b82525050565b5f6020820190506129c15f83018461299f565b92915050565b6129d0816127e1565b82525050565b5f6020820190506129e95f8301846129c7565b92915050565b5f805f60608486031215612a0657612a056127dd565b5b5f612a1386828701612942565b9350506020612a2486828701612942565b9250506040612a3586828701612800565b9150509250925092565b5f60ff82169050919050565b612a5481612a3f565b82525050565b5f602082019050612a6d5f830184612a4b565b92915050565b5f60208284031215612a8857612a876127dd565b5b5f612a9584828501612942565b91505092915050565b5f819050919050565b5f612ac1612abc612ab7846128fc565b612a9e565b6128fc565b9050919050565b5f612ad282612aa7565b9050919050565b5f612ae382612ac8565b9050919050565b612af381612ad9565b82525050565b5f602082019050612b0c5f830184612aea565b92915050565b612b1b81612994565b8114612b25575f80fd5b50565b5f81359050612b3681612b12565b92915050565b5f8060408385031215612b5257612b516127dd565b5b5f612b5f85828601612942565b9250506020612b7085828601612b28565b9150509250929050565b612b838161291b565b82525050565b5f602082019050612b9c5f830184612b7a565b92915050565b5f60208284031215612bb757612bb66127dd565b5b5f612bc484828501612800565b91505092915050565b5f8060408385031215612be357612be26127dd565b5b5f612bf085828601612942565b9250506020612c0185828601612942565b9150509250929050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f612c3f60168361285c565b9150612c4a82612c0b565b602082019050919050565b5f6020820190508181035f830152612c6c81612c33565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612cb757607f821691505b602082108103612cca57612cc9612c73565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d07826127e1565b9150612d12836127e1565b9250828201905080821115612d2a57612d29612cd0565b5b92915050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f612d6460168361285c565b9150612d6f82612d30565b602082019050919050565b5f6020820190508181035f830152612d9181612d58565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612df260398361285c565b9150612dfd82612d98565b604082019050919050565b5f6020820190508181035f830152612e1f81612de6565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612e8060258361285c565b9150612e8b82612e26565b604082019050919050565b5f6020820190508181035f830152612ead81612e74565b9050919050565b5f612ebe826127e1565b9150612ec9836127e1565b9250828202612ed7816127e1565b91508282048414831517612eee57612eed612cd0565b5b5092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612f2960178361285c565b9150612f3482612ef5565b602082019050919050565b5f6020820190508181035f830152612f5681612f1d565b9050919050565b5f604082019050612f705f830185612b7a565b612f7d60208301846129c7565b9392505050565b5f81519050612f9281612b12565b92915050565b5f60208284031215612fad57612fac6127dd565b5b5f612fba84828501612f84565b91505092915050565b5f81519050612fd18161292c565b92915050565b5f60208284031215612fec57612feb6127dd565b5b5f612ff984828501612fc3565b91505092915050565b5f81519050613010816127ea565b92915050565b5f6020828403121561302b5761302a6127dd565b5b5f61303884828501613002565b91505092915050565b5f819050919050565b5f61306461305f61305a84613041565b612a9e565b6127e1565b9050919050565b6130748161304a565b82525050565b5f60c08201905061308d5f830189612b7a565b61309a60208301886129c7565b6130a7604083018761306b565b6130b460608301866129c7565b6130c16080830185612b7a565b6130ce60a08301846129c7565b979650505050505050565b5f805f606084860312156130f0576130ef6127dd565b5b5f6130fd86828701613002565b935050602061310e86828701613002565b925050604061311f86828701613002565b9150509250925092565b5f60c08201905061313c5f830189612b7a565b61314960208301886129c7565b613156604083018761306b565b613163606083018661306b565b6131706080830185612b7a565b61317d60a08301846129c7565b979650505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6131e260268361285c565b91506131ed82613188565b604082019050919050565b5f6020820190508181035f83015261320f816131d6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61324a60208361285c565b915061325582613216565b602082019050919050565b5f6020820190508181035f8301526132778161323e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6132d860248361285c565b91506132e38261327e565b604082019050919050565b5f6020820190508181035f830152613305816132cc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61336660228361285c565b91506133718261330c565b604082019050919050565b5f6020820190508181035f8301526133938161335a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6133ce601d8361285c565b91506133d98261339a565b602082019050919050565b5f6020820190508181035f8301526133fb816133c2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61345c60258361285c565b915061346782613402565b604082019050919050565b5f6020820190508181035f83015261348981613450565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6134ea60238361285c565b91506134f582613490565b604082019050919050565b5f6020820190508181035f830152613517816134de565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61355260168361285c565b915061355d8261351e565b602082019050919050565b5f6020820190508181035f83015261357f81613546565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6135e060358361285c565b91506135eb82613586565b604082019050919050565b5f6020820190508181035f83015261360d816135d4565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f61364860138361285c565b915061365382613614565b602082019050919050565b5f6020820190508181035f8301526136758161363c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6136d660368361285c565b91506136e18261367c565b604082019050919050565b5f6020820190508181035f830152613703816136ca565b9050919050565b5f613714826127e1565b915061371f836127e1565b925082820390508181111561373757613736612cd0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613774826127e1565b915061377f836127e1565b92508261378f5761378e61373d565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6137f460268361285c565b91506137ff8261379a565b604082019050919050565b5f6020820190508181035f830152613821816137e8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6138b48161291b565b82525050565b5f6138c583836138ab565b60208301905092915050565b5f602082019050919050565b5f6138e782613882565b6138f1818561388c565b93506138fc8361389c565b805f5b8381101561392c57815161391388826138ba565b975061391e836138d1565b9250506001810190506138ff565b5085935050505092915050565b5f60a08201905061394c5f8301886129c7565b613959602083018761306b565b818103604083015261396b81866138dd565b905061397a6060830185612b7a565b61398760808301846129c7565b969550505050505056fea2646970667358221220afd356132e3916a46db98500cf292749798c2182689335a092cfd0a4e2d3bcd664736f6c63430008150033000000000000000000000000ef9108f7171b3a62db778d94097d14c5b7517557

Deployed Bytecode

0x6080604052600436106101e6575f3560e01c80638da5cb5b11610101578063c9567bf911610094578063e2f4560511610063578063e2f45605146106bf578063f2fde38b146106e9578063f8b45b0514610711578063ffb54a991461073b576101ed565b8063c9567bf914610619578063cf9522fd1461062f578063dd62ed3e14610659578063dd85465214610695576101ed565b8063a9059cbb116100d0578063a9059cbb14610563578063afa4f3b21461059f578063c0246668146105c7578063c8c8ebe4146105ef576101ed565b80638da5cb5b146104ab57806395d89b41146104d55780639a7a23d6146104ff578063a457c2d714610527576101ed565b80634fbee19311610179578063715018a611610148578063715018a614610441578063751039fc146104575780637571336a1461046d57806389291a8f14610495576101ed565b80634fbee19314610375578063583e0568146103b15780636ddd1713146103db57806370a0823114610405576101ed565b806323b872dd116101b557806323b872dd146102a9578063311028af146102e5578063313ce5671461030f5780633950935114610339576101ed565b8063032dc6a2146101f157806306fdde0314610219578063095ea7b31461024357806318160ddd1461027f576101ed565b366101ed57005b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190612814565b610765565b005b348015610224575f80fd5b5061022d6107d0565b60405161023a91906128dc565b60405180910390f35b34801561024e575f80fd5b5061026960048036038101906102649190612956565b610860565b60405161027691906129ae565b60405180910390f35b34801561028a575f80fd5b50610293610882565b6040516102a091906129d6565b60405180910390f35b3480156102b4575f80fd5b506102cf60048036038101906102ca91906129ef565b61088b565b6040516102dc91906129ae565b60405180910390f35b3480156102f0575f80fd5b506102f96108b9565b60405161030691906129d6565b60405180910390f35b34801561031a575f80fd5b506103236108bf565b6040516103309190612a5a565b60405180910390f35b348015610344575f80fd5b5061035f600480360381019061035a9190612956565b6108c7565b60405161036c91906129ae565b60405180910390f35b348015610380575f80fd5b5061039b60048036038101906103969190612a73565b6108fd565b6040516103a891906129ae565b60405180910390f35b3480156103bc575f80fd5b506103c561094f565b6040516103d29190612af9565b60405180910390f35b3480156103e6575f80fd5b506103ef610973565b6040516103fc91906129ae565b60405180910390f35b348015610410575f80fd5b5061042b60048036038101906104269190612a73565b610986565b60405161043891906129d6565b60405180910390f35b34801561044c575f80fd5b506104556109cb565b005b348015610462575f80fd5b5061046b6109de565b005b348015610478575f80fd5b50610493600480360381019061048e9190612b3c565b610a02565b005b3480156104a0575f80fd5b506104a9610a62565b005b3480156104b6575f80fd5b506104bf610af2565b6040516104cc9190612b89565b60405180910390f35b3480156104e0575f80fd5b506104e9610b1a565b6040516104f691906128dc565b60405180910390f35b34801561050a575f80fd5b5061052560048036038101906105209190612b3c565b610baa565b005b348015610532575f80fd5b5061054d60048036038101906105489190612956565b610c4f565b60405161055a91906129ae565b60405180910390f35b34801561056e575f80fd5b5061058960048036038101906105849190612956565b610cc4565b60405161059691906129ae565b60405180910390f35b3480156105aa575f80fd5b506105c560048036038101906105c09190612ba2565b610ce6565b005b3480156105d2575f80fd5b506105ed60048036038101906105e89190612b3c565b610d0b565b005b3480156105fa575f80fd5b50610603610db9565b60405161061091906129d6565b60405180910390f35b348015610624575f80fd5b5061062d610dbf565b005b34801561063a575f80fd5b50610643611306565b60405161065091906129d6565b60405180910390f35b348015610664575f80fd5b5061067f600480360381019061067a9190612bcd565b61130c565b60405161068c91906129d6565b60405180910390f35b3480156106a0575f80fd5b506106a961138e565b6040516106b691906129d6565b60405180910390f35b3480156106ca575f80fd5b506106d3611394565b6040516106e091906129d6565b60405180910390f35b3480156106f4575f80fd5b5061070f600480360381019061070a9190612a73565b61139a565b005b34801561071c575f80fd5b5061072561141c565b60405161073291906129d6565b60405180910390f35b348015610746575f80fd5b5061074f611422565b60405161075c91906129ae565b60405180910390f35b61076d611434565b601e821115801561077f575060638111155b6107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b590612c55565b60405180910390fd5b81600e8190555080600f819055505050565b6060600380546107df90612ca0565b80601f016020809104026020016040519081016040528092919081815260200182805461080b90612ca0565b80156108565780601f1061082d57610100808354040283529160200191610856565b820191905f5260205f20905b81548152906001019060200180831161083957829003601f168201915b5050505050905090565b5f8061086a6114b2565b90506108778185856114b9565b600191505092915050565b5f600254905090565b5f806108956114b2565b90506108a285828561167c565b6108ad858585611707565b60019150509392505050565b60095481565b5f6012905090565b5f806108d16114b2565b90506108f28185856108e3858961130c565b6108ed9190612cfd565b6114b9565b600191505092915050565b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b600d60019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109d3611434565b6109dc5f611fe9565b565b6109e6611434565b5f6109ef610882565b905080600a8190555080600b8190555050565b610a0a611434565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610a6a611434565b5f4711610aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390612d7a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610aef573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610b2990612ca0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5590612ca0565b8015610ba05780601f10610b7757610100808354040283529160200191610ba0565b820191905f5260205f20905b815481529060010190602001808311610b8357829003601f168201915b5050505050905090565b610bb2611434565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612e08565b60405180910390fd5b610c4b82826120ac565b5050565b5f80610c596114b2565b90505f610c66828661130c565b905083811015610cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca290612e96565b60405180910390fd5b610cb882868684036114b9565b60019250505092915050565b5f80610cce6114b2565b9050610cdb818585611707565b600191505092915050565b610cee611434565b670de0b6b3a764000081610d029190612eb4565b600c8190555050565b610d13611434565b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610dad91906129ae565b60405180910390a25050565b600a5481565b610dc7611434565b600d5f9054906101000a900460ff1615610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90612f3f565b60405180910390fd5b610e43307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6009546114b9565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610edf929190612f5d565b6020604051808303815f875af1158015610efb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1f9190612f98565b505f7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fae9190612fd7565b90505f8173ffffffffffffffffffffffffffffffffffffffff166370a0823160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161100b9190612b89565b602060405180830381865afa158015611026573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104a9190613016565b90505f6110766064611068604160095461214a90919063ffffffff16565b61215f90919063ffffffff16565b90505f8083111561121b57611094834761217490919063ffffffff16565b90505f6110bc826110ae868661214a90919063ffffffff16565b61215f90919063ffffffff16565b90506110ea3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612189565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611150575f80fd5b505af1158015611162573d5f803e3d5ffd5b505050507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7198330865f876111af610af2565b426040518863ffffffff1660e01b81526004016111d19695949392919061307a565b60606040518083038185885af11580156111ed573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061121291906130d9565b505050506112cb565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7194730855f80611264610af2565b426040518863ffffffff1660e01b815260040161128696959493929190613129565b60606040518083038185885af11580156112a2573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112c791906130d9565b5050505b6001600d60016101000a81548160ff0219169083151502179055506001600d5f6101000a81548160ff02191690831515021790555050505050565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b600c5481565b6113a2611434565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611407906131f8565b60405180910390fd5b61141981611fe9565b50565b600b5481565b600d5f9054906101000a900460ff1681565b61143c6114b2565b73ffffffffffffffffffffffffffffffffffffffff1661145a610af2565b73ffffffffffffffffffffffffffffffffffffffff16146114b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a790613260565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e906132ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158c9061337c565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161166f91906129d6565b60405180910390a3505050565b5f611687848461130c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461170157818110156116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ea906133e4565b60405180910390fd5b61170084848484036114b9565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176c90613472565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90613500565b60405180910390fd5b5f81036117fa576117f583835f612189565b611fe4565b611802610af2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118705750611840610af2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118a857505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118e2575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118fb5750600860149054906101000a900460ff16155b15611cc857600d5f9054906101000a900460ff166119ee5760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806119ae575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6119ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e490613568565b60405180910390fd5b5b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611a8b575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b3257600a54811115611ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acc906135f6565b60405180910390fd5b600b54611ae183610986565b82611aec9190612cfd565b1115611b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b249061365e565b60405180910390fd5b611cc7565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611bcf575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c1e57600a54811115611c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c10906136ec565b60405180910390fd5b611cc6565b60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611cc557600b54611c7883610986565b82611c839190612cfd565b1115611cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbb9061365e565b60405180910390fd5b5b5b5b5b5f611cd230610986565b90505f8082119050808015611cf35750600d60019054906101000a900460ff165b8015611d0c5750600860149054906101000a900460ff16155b8015611d5f575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611db2575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e05575060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e49576001600860146101000a81548160ff021916908315150217905550611e2e836123f5565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff1615905060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611ef8575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611f01575f90505b5f8115611fd45760125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611f8657611f7f6064611f71600f548861214a90919063ffffffff16565b61215f90919063ffffffff16565b9050611fb1565b611fae6064611fa0600e548861214a90919063ffffffff16565b61215f90919063ffffffff16565b90505b5f811115611fc557611fc4873083612189565b5b8085611fd1919061370a565b94505b611fdf878787612189565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f81836121579190612eb4565b905092915050565b5f818361216c919061376a565b905092915050565b5f8183612181919061370a565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ee90613472565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225c90613500565b60405180910390fd5b61227083838361257f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156122f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ea9061380a565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123dc91906129d6565b60405180910390a36123ef848484612584565b50505050565b5f6123ff30610986565b90505f80820361241057505061257c565b5f600f54600e546124219190612cfd565b0361249b575f821180156124365750600c5482105b1561244357819050612496565b5f61246c606461245e600f548761214a90919063ffffffff16565b61215f90919063ffffffff16565b9050808461247a919061370a565b9350600c5484111561249057600c549150612494565b8391505b505b612570565b5f821180156124be57506124bb6002600c5461215f90919063ffffffff16565b82105b156124ca57505061257c565b5f821180156124ed57506124ea6002600c5461215f90919063ffffffff16565b82115b80156124fa5750600c5482105b1561251c576125156002600c5461215f90919063ffffffff16565b905061256f565b5f6125456064612537600f548761214a90919063ffffffff16565b61215f90919063ffffffff16565b90508084612553919061370a565b9350600c5484111561256957600c54915061256d565b8391505b505b5b61257981612589565b50505b50565b505050565b505050565b5f600267ffffffffffffffff8111156125a5576125a4613828565b5b6040519080825280602002602001820160405280156125d35781602001602082028036833780820191505090505b50905030815f815181106125ea576125e9613855565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561268d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b19190612fd7565b816001815181106126c5576126c4613855565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061272a307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846114b9565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016127ac959493929190613939565b5f604051808303815f87803b1580156127c3575f80fd5b505af11580156127d5573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b6127f3816127e1565b81146127fd575f80fd5b50565b5f8135905061280e816127ea565b92915050565b5f806040838503121561282a576128296127dd565b5b5f61283785828601612800565b925050602061284885828601612800565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561288957808201518184015260208101905061286e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6128ae82612852565b6128b8818561285c565b93506128c881856020860161286c565b6128d181612894565b840191505092915050565b5f6020820190508181035f8301526128f481846128a4565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612925826128fc565b9050919050565b6129358161291b565b811461293f575f80fd5b50565b5f813590506129508161292c565b92915050565b5f806040838503121561296c5761296b6127dd565b5b5f61297985828601612942565b925050602061298a85828601612800565b9150509250929050565b5f8115159050919050565b6129a881612994565b82525050565b5f6020820190506129c15f83018461299f565b92915050565b6129d0816127e1565b82525050565b5f6020820190506129e95f8301846129c7565b92915050565b5f805f60608486031215612a0657612a056127dd565b5b5f612a1386828701612942565b9350506020612a2486828701612942565b9250506040612a3586828701612800565b9150509250925092565b5f60ff82169050919050565b612a5481612a3f565b82525050565b5f602082019050612a6d5f830184612a4b565b92915050565b5f60208284031215612a8857612a876127dd565b5b5f612a9584828501612942565b91505092915050565b5f819050919050565b5f612ac1612abc612ab7846128fc565b612a9e565b6128fc565b9050919050565b5f612ad282612aa7565b9050919050565b5f612ae382612ac8565b9050919050565b612af381612ad9565b82525050565b5f602082019050612b0c5f830184612aea565b92915050565b612b1b81612994565b8114612b25575f80fd5b50565b5f81359050612b3681612b12565b92915050565b5f8060408385031215612b5257612b516127dd565b5b5f612b5f85828601612942565b9250506020612b7085828601612b28565b9150509250929050565b612b838161291b565b82525050565b5f602082019050612b9c5f830184612b7a565b92915050565b5f60208284031215612bb757612bb66127dd565b5b5f612bc484828501612800565b91505092915050565b5f8060408385031215612be357612be26127dd565b5b5f612bf085828601612942565b9250506020612c0185828601612942565b9150509250929050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f612c3f60168361285c565b9150612c4a82612c0b565b602082019050919050565b5f6020820190508181035f830152612c6c81612c33565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612cb757607f821691505b602082108103612cca57612cc9612c73565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d07826127e1565b9150612d12836127e1565b9250828201905080821115612d2a57612d29612cd0565b5b92915050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f612d6460168361285c565b9150612d6f82612d30565b602082019050919050565b5f6020820190508181035f830152612d9181612d58565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612df260398361285c565b9150612dfd82612d98565b604082019050919050565b5f6020820190508181035f830152612e1f81612de6565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612e8060258361285c565b9150612e8b82612e26565b604082019050919050565b5f6020820190508181035f830152612ead81612e74565b9050919050565b5f612ebe826127e1565b9150612ec9836127e1565b9250828202612ed7816127e1565b91508282048414831517612eee57612eed612cd0565b5b5092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612f2960178361285c565b9150612f3482612ef5565b602082019050919050565b5f6020820190508181035f830152612f5681612f1d565b9050919050565b5f604082019050612f705f830185612b7a565b612f7d60208301846129c7565b9392505050565b5f81519050612f9281612b12565b92915050565b5f60208284031215612fad57612fac6127dd565b5b5f612fba84828501612f84565b91505092915050565b5f81519050612fd18161292c565b92915050565b5f60208284031215612fec57612feb6127dd565b5b5f612ff984828501612fc3565b91505092915050565b5f81519050613010816127ea565b92915050565b5f6020828403121561302b5761302a6127dd565b5b5f61303884828501613002565b91505092915050565b5f819050919050565b5f61306461305f61305a84613041565b612a9e565b6127e1565b9050919050565b6130748161304a565b82525050565b5f60c08201905061308d5f830189612b7a565b61309a60208301886129c7565b6130a7604083018761306b565b6130b460608301866129c7565b6130c16080830185612b7a565b6130ce60a08301846129c7565b979650505050505050565b5f805f606084860312156130f0576130ef6127dd565b5b5f6130fd86828701613002565b935050602061310e86828701613002565b925050604061311f86828701613002565b9150509250925092565b5f60c08201905061313c5f830189612b7a565b61314960208301886129c7565b613156604083018761306b565b613163606083018661306b565b6131706080830185612b7a565b61317d60a08301846129c7565b979650505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6131e260268361285c565b91506131ed82613188565b604082019050919050565b5f6020820190508181035f83015261320f816131d6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61324a60208361285c565b915061325582613216565b602082019050919050565b5f6020820190508181035f8301526132778161323e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6132d860248361285c565b91506132e38261327e565b604082019050919050565b5f6020820190508181035f830152613305816132cc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61336660228361285c565b91506133718261330c565b604082019050919050565b5f6020820190508181035f8301526133938161335a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6133ce601d8361285c565b91506133d98261339a565b602082019050919050565b5f6020820190508181035f8301526133fb816133c2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61345c60258361285c565b915061346782613402565b604082019050919050565b5f6020820190508181035f83015261348981613450565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6134ea60238361285c565b91506134f582613490565b604082019050919050565b5f6020820190508181035f830152613517816134de565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61355260168361285c565b915061355d8261351e565b602082019050919050565b5f6020820190508181035f83015261357f81613546565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6135e060358361285c565b91506135eb82613586565b604082019050919050565b5f6020820190508181035f83015261360d816135d4565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f61364860138361285c565b915061365382613614565b602082019050919050565b5f6020820190508181035f8301526136758161363c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6136d660368361285c565b91506136e18261367c565b604082019050919050565b5f6020820190508181035f830152613703816136ca565b9050919050565b5f613714826127e1565b915061371f836127e1565b925082820390508181111561373757613736612cd0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613774826127e1565b915061377f836127e1565b92508261378f5761378e61373d565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6137f460268361285c565b91506137ff8261379a565b604082019050919050565b5f6020820190508181035f830152613821816137e8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6138b48161291b565b82525050565b5f6138c583836138ab565b60208301905092915050565b5f602082019050919050565b5f6138e782613882565b6138f1818561388c565b93506138fc8361389c565b805f5b8381101561392c57815161391388826138ba565b975061391e836138d1565b9250506001810190506138ff565b5085935050505092915050565b5f60a08201905061394c5f8301886129c7565b613959602083018761306b565b818103604083015261396b81866138dd565b905061397a6060830185612b7a565b61398760808301846129c7565b969550505050505056fea2646970667358221220afd356132e3916a46db98500cf292749798c2182689335a092cfd0a4e2d3bcd664736f6c63430008150033

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

000000000000000000000000ef9108f7171b3a62db778d94097d14c5b7517557

-----Decoded View---------------
Arg [0] : wallet (address): 0xeF9108F7171b3A62dB778d94097D14c5B7517557

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


Deployed Bytecode Sourcemap

15218:9430:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22898:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10242:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11174:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10563:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11383:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15690:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10462:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11686:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19495:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15312:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15957:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10679:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9318:103;;;;;;;;;;;;;:::i;:::-;;22505:193;;;;;;;;;;;;;:::i;:::-;;18663:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22706:184;;;;;;;;;;;;;:::i;:::-;;9083:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10350:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19028:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11932:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10814:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23117:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18838:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15750:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17517:1138;;;;;;;;;;;;;:::i;:::-;;16030:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11015:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15997:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15859:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9429:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15810:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15919:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22898:211;9042:13;:11;:13::i;:::-;22998:2:::1;22987:7;:13;;:31;;;;;23016:2;23004:8;:14;;22987:31;22979:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;23065:7;23056:6;:16;;;;23093:8;23083:7;:18;;;;22898:211:::0;;:::o;10242:100::-;10296:13;10329:5;10322:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10242:100;:::o;11174:201::-;11257:4;11274:13;11290:12;:10;:12::i;:::-;11274:28;;11313:32;11322:5;11329:7;11338:6;11313:8;:32::i;:::-;11363:4;11356:11;;;11174:201;;;;:::o;10563:108::-;10624:7;10651:12;;10644:19;;10563:108;:::o;11383:295::-;11514:4;11531:15;11549:12;:10;:12::i;:::-;11531:30;;11572:38;11588:4;11594:7;11603:6;11572:15;:38::i;:::-;11621:27;11631:4;11637:2;11641:6;11621:9;:27::i;:::-;11666:4;11659:11;;;11383:295;;;;;:::o;15690:53::-;;;;:::o;10462:93::-;10520:5;10545:2;10538:9;;10462:93;:::o;11686:238::-;11774:4;11791:13;11807:12;:10;:12::i;:::-;11791:28;;11830:64;11839:5;11846:7;11883:10;11855:25;11865:5;11872:7;11855:9;:25::i;:::-;:38;;;;:::i;:::-;11830:8;:64::i;:::-;11912:4;11905:11;;;11686:238;;;;:::o;19495:126::-;19561:4;19585:19;:28;19605:7;19585:28;;;;;;;;;;;;;;;;;;;;;;;;;19578:35;;19495:126;;;:::o;15312:52::-;;;:::o;15957:31::-;;;;;;;;;;;;;:::o;10679:127::-;10753:7;10780:9;:18;10790:7;10780:18;;;;;;;;;;;;;;;;10773:25;;10679:127;;;:::o;9318:103::-;9042:13;:11;:13::i;:::-;9383:30:::1;9410:1;9383:18;:30::i;:::-;9318:103::o:0;22505:193::-;9042:13;:11;:13::i;:::-;22558:25:::1;22586:13;:11;:13::i;:::-;22558:41;;22633:17;22610:20;:40;;;;22673:17;22661:9;:29;;;;22547:151;22505:193::o:0;18663:167::-;9042:13;:11;:13::i;:::-;18818:4:::1;18776:31;:39;18808:6;18776:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;18663:167:::0;;:::o;22706:184::-;9042:13;:11;:13::i;:::-;22792:1:::1;22768:21;:25;22760:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;22839:10;22831:28;;:51;22860:21;22831:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;22706:184::o:0;9083:87::-;9129:7;9156:6;;;;;;;;;;;9149:13;;9083:87;:::o;10350:104::-;10406:13;10439:7;10432:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10350:104;:::o;19028:265::-;9042:13;:11;:13::i;:::-;19158::::1;;;;;;;;;;;19150:21;;:4;:21;;::::0;19142:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;19244:41;19273:4;19279:5;19244:28;:41::i;:::-;19028:265:::0;;:::o;11932:436::-;12025:4;12042:13;12058:12;:10;:12::i;:::-;12042:28;;12081:24;12108:25;12118:5;12125:7;12108:9;:25::i;:::-;12081:52;;12172:15;12152:16;:35;;12144:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12265:60;12274:5;12281:7;12309:15;12290:16;:34;12265:8;:60::i;:::-;12356:4;12349:11;;;;11932:436;;;;:::o;10814:193::-;10893:4;10910:13;10926:12;:10;:12::i;:::-;10910:28;;10949;10959:5;10966:2;10970:6;10949:9;:28::i;:::-;10995:4;10988:11;;;10814:193;;;;:::o;23117:127::-;9042:13;:11;:13::i;:::-;23227:8:::1;23216:7;:20;;;;:::i;:::-;23195:18;:41;;;;23117:127:::0;:::o;18838:182::-;9042:13;:11;:13::i;:::-;18954:8:::1;18923:19;:28;18943:7;18923:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18994:7;18978:34;;;19003:8;18978:34;;;;;;:::i;:::-;;;;;;;;18838:182:::0;;:::o;15750:53::-;;;;:::o;17517:1138::-;9042:13;:11;:13::i;:::-;17581:11:::1;;;;;;;;;;;17580:12;17572:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;17630:70;17647:4;17662:16;17681:18;;17630:8;:70::i;:::-;17718:13;;;;;;;;;;;17711:29;;;17749:16;17768:14;17711:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17794:19;17816:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17794:45;;17850:19;17879:11;17872:29;;;17902:13;;;;;;;;;;;17872:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17850:66;;17927:21;17951:35;17982:3;17951:26;17974:2;17951:18;;:22;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;17927:59;;17988:24;18041:1:::0;18027:11:::1;:15;18023:567;;;18064:38;18090:11;18064:21;:25;;:38;;;;:::i;:::-;18045:57;;18113:18;18134:52;18169:16;18134:30;18152:11;18134:13;:17;;:30;;;;:::i;:::-;:34;;:52;;;;:::i;:::-;18113:73;;18197:57;18221:4;18228:13;;;;;;;;;;;18243:10;18197:15;:57::i;:::-;18280:13;;;;;;;;;;;18265:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18312:16;:32;;;18352:16;18378:4;18385:13;18400:1;18403:16;18421:7;:5;:7::i;:::-;18430:15;18312:134;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18044:404;18023:567;;;18464:16;:32;;;18504:21;18535:4;18542:13;18557:1;18560::::0;18563:7:::1;:5;:7::i;:::-;18572:15;18464:124;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18023:567;18614:4;18600:11;;:18;;;;;;;;;;;;;;;;;;18643:4;18629:11;;:18;;;;;;;;;;;;;;;;;;17561:1094;;;;17517:1138::o:0;16030:27::-;;;;:::o;11015:151::-;11104:7;11131:11;:18;11143:5;11131:18;;;;;;;;;;;;;;;:27;11150:7;11131:27;;;;;;;;;;;;;;;;11124:34;;11015:151;;;;:::o;15997:26::-;;;;:::o;15859:51::-;;;;:::o;9429:201::-;9042:13;:11;:13::i;:::-;9538:1:::1;9518:22;;:8;:22;;::::0;9510:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;9594:28;9613:8;9594:18;:28::i;:::-;9429:201:::0;:::o;15810:42::-;;;;:::o;15919:31::-;;;;;;;;;;;;;:::o;9178:132::-;9253:12;:10;:12::i;:::-;9242:23;;:7;:5;:7::i;:::-;:23;;;9234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9178:132::o;727:98::-;780:7;807:10;800:17;;727:98;:::o;14105:380::-;14258:1;14241:19;;:5;:19;;;14233:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14339:1;14320:21;;:7;:21;;;14312:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14423:6;14393:11;:18;14405:5;14393:18;;;;;;;;;;;;;;;:27;14412:7;14393:27;;;;;;;;;;;;;;;:36;;;;14461:7;14445:32;;14454:5;14445:32;;;14470:6;14445:32;;;;;;:::i;:::-;;;;;;;;14105:380;;;:::o;14493:453::-;14628:24;14655:25;14665:5;14672:7;14655:9;:25::i;:::-;14628:52;;14715:17;14695:16;:37;14691:248;;14777:6;14757:16;:26;;14749:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14861:51;14870:5;14877:7;14905:6;14886:16;:25;14861:8;:51::i;:::-;14691:248;14617:329;14493:453;;;:::o;19629:2379::-;19745:1;19729:18;;:4;:18;;;19721:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19822:1;19808:16;;:2;:16;;;19800:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19891:1;19881:6;:11;19877:93;;19909:28;19925:4;19931:2;19935:1;19909:15;:28::i;:::-;19952:7;;19877:93;20000:7;:5;:7::i;:::-;19992:15;;:4;:15;;;;:32;;;;;20017:7;:5;:7::i;:::-;20011:13;;:2;:13;;;;19992:32;:52;;;;;20042:1;20028:16;;:2;:16;;;;19992:52;:77;;;;;20062:6;20048:21;;:2;:21;;;;19992:77;:90;;;;;20074:8;;;;;;;;;;;20073:9;19992:90;19988:1060;;;20110:11;;;;;;;;;;;20105:148;;20154:19;:25;20174:4;20154:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;20183:19;:23;20203:2;20183:23;;;;;;;;;;;;;;;;;;;;;;;;;20154:52;20146:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;20105:148;20277:25;:31;20303:4;20277:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;20313:31;:35;20345:2;20313:35;;;;;;;;;;;;;;;;;;;;;;;;;20312:36;20277:71;20273:760;;;20409:20;;20399:6;:30;;20391:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;20544:9;;20527:13;20537:2;20527:9;:13::i;:::-;20518:6;:22;;;;:::i;:::-;:35;;20510:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20273:760;;;20626:25;:29;20652:2;20626:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;20660:31;:37;20692:4;20660:37;;;;;;;;;;;;;;;;;;;;;;;;;20659:38;20626:71;20622:411;;;20740:20;;20730:6;:30;;20722:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;20622:411;;;20886:31;:35;20918:2;20886:35;;;;;;;;;;;;;;;;;;;;;;;;;20881:152;;20980:9;;20963:13;20973:2;20963:9;:13::i;:::-;20954:6;:22;;;;:::i;:::-;:35;;20946:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20881:152;20622:411;20273:760;19988:1060;21060:28;21091:24;21109:4;21091:9;:24::i;:::-;21060:55;;21128:12;21166:1;21143:20;:24;21128:39;;21184:7;:22;;;;;21195:11;;;;;;;;;;;21184:22;:35;;;;;21211:8;;;;;;;;;;;21210:9;21184:35;:71;;;;;21224:25;:31;21250:4;21224:31;;;;;;;;;;;;;;;;;;;;;;;;;21223:32;21184:71;:101;;;;;21260:19;:25;21280:4;21260:25;;;;;;;;;;;;;;;;;;;;;;;;;21259:26;21184:101;:129;;;;;21290:19;:23;21310:2;21290:23;;;;;;;;;;;;;;;;;;;;;;;;;21289:24;21184:129;21180:239;;;21341:4;21330:8;;:15;;;;;;;;;;;;;;;;;;21360:16;21369:6;21360:8;:16::i;:::-;21402:5;21391:8;;:16;;;;;;;;;;;;;;;;;;21180:239;21431:12;21447:8;;;;;;;;;;;21446:9;21431:24;;21472:19;:25;21492:4;21472:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;21501:19;:23;21521:2;21501:23;;;;;;;;;;;;;;;;;;;;;;;;;21472:52;21468:100;;;21551:5;21541:15;;21468:100;21580:12;21613:7;21609:348;;;21641:25;:29;21667:2;21641:29;;;;;;;;;;;;;;;;;;;;;;;;;21637:193;;;21698:28;21722:3;21698:19;21709:7;;21698:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;21691:35;;21637:193;;;21787:27;21810:3;21787:18;21798:6;;21787;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;21780:34;;21637:193;21853:1;21846:4;:8;21842:83;;;21871:42;21887:4;21901;21908;21871:15;:42::i;:::-;21842:83;21945:4;21935:14;;;;;:::i;:::-;;;21609:348;21967:33;21983:4;21989:2;21993:6;21967:15;:33::i;:::-;19708:2300;;;;19629:2379;;;;:::o;9638:191::-;9712:16;9731:6;;;;;;;;;;;9712:25;;9757:8;9748:6;;:17;;;;;;;;;;;;;;;;;;9812:8;9781:40;;9802:8;9781:40;;;;;;;;;;;;9701:128;9638:191;:::o;19301:186::-;19418:5;19384:25;:31;19410:4;19384:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;19473:5;19439:40;;19467:4;19439:40;;;;;;;;;;;;19301:186;;:::o;6879:98::-;6937:7;6968:1;6964;:5;;;;:::i;:::-;6957:12;;6879:98;;;;:::o;6985:::-;7043:7;7074:1;7070;:5;;;;:::i;:::-;7063:12;;6985:98;;;;:::o;6773:::-;6831:7;6862:1;6858;:5;;;;:::i;:::-;6851:12;;6773:98;;;;:::o;12376:675::-;12523:1;12507:18;;:4;:18;;;12499:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12600:1;12586:16;;:2;:16;;;12578:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12655:38;12676:4;12682:2;12686:6;12655:20;:38::i;:::-;12706:19;12728:9;:15;12738:4;12728:15;;;;;;;;;;;;;;;;12706:37;;12777:6;12762:11;:21;;12754:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12894:6;12880:11;:20;12862:9;:15;12872:4;12862:15;;;;;;;;;;;;;;;:38;;;;12932:6;12915:9;:13;12925:2;12915:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12982:2;12967:26;;12976:4;12967:26;;;12986:6;12967:26;;;;;;:::i;:::-;;;;;;;;13006:37;13026:4;13032:2;13036:6;13006:19;:37::i;:::-;12488:563;12376:675;;;:::o;23252:1393::-;23305:23;23331:24;23349:4;23331:9;:24::i;:::-;23305:50;;23366:20;23423:1;23404:15;:20;23400:59;;23441:7;;;;23400:59;23491:1;23479:7;;23472:6;;:14;;;;:::i;:::-;23471:21;23467:1130;;23528:1;23510:15;:19;:59;;;;;23551:18;;23533:15;:36;23510:59;23507:443;;;23601:15;23586:30;;23507:443;;;23658:21;23682:28;23706:3;23682:19;23693:7;;23682:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;23658:52;;23735:13;23725:23;;;;;:::i;:::-;;;23776:18;;23767:6;:27;23763:176;;;23830:18;;23815:33;;23763:176;;;23917:6;23902:21;;23763:176;23643:307;23507:443;23467:1130;;;24004:1;23986:15;:19;:66;;;;;24027:25;24050:1;24027:18;;:22;;:25;;;;:::i;:::-;24009:15;:43;23986:66;23983:607;;;24069:7;;;;23983:607;24124:1;24106:15;:19;:66;;;;;24147:25;24170:1;24147:18;;:22;;:25;;;;:::i;:::-;24129:15;:43;24106:66;:106;;;;;24194:18;;24176:15;:36;24106:106;24102:488;;;24244:25;24267:1;24244:18;;:22;;:25;;;;:::i;:::-;24229:40;;24102:488;;;24311:21;24335:28;24359:3;24335:19;24346:7;;24335:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;24311:52;;24388:13;24378:23;;;;;:::i;:::-;;;24429:18;;24420:6;:27;24416:163;;;24483:18;;24468:33;;24416:163;;;24557:6;24542:21;;24416:163;24296:294;24102:488;23467:1130;24607:30;24624:12;24607:16;:30::i;:::-;23294:1351;;23252:1393;;:::o;14954:125::-;;;;:::o;15087:124::-;;;;:::o;22016:482::-;22084:21;22122:1;22108:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22084:40;;22153:4;22135;22140:1;22135:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22179:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22169:4;22174:1;22169:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;22215:63;22232:4;22247:16;22266:11;22215:8;:63::i;:::-;22291:16;:67;;;22373:11;22399:1;22415:4;22434:15;;;;;;;;;;;22464;22291:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22071:427;22016:482;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:99::-;1222:6;1256:5;1250:12;1240:22;;1170:99;;;:::o;1275:169::-;1359:11;1393:6;1388:3;1381:19;1433:4;1428:3;1424:14;1409:29;;1275:169;;;;:::o;1450:246::-;1531:1;1541:113;1555:6;1552:1;1549:13;1541:113;;;1640:1;1635:3;1631:11;1625:18;1621:1;1616:3;1612:11;1605:39;1577:2;1574:1;1570:10;1565:15;;1541:113;;;1688:1;1679:6;1674:3;1670:16;1663:27;1512:184;1450:246;;;:::o;1702:102::-;1743:6;1794:2;1790:7;1785:2;1778:5;1774:14;1770:28;1760:38;;1702:102;;;:::o;1810:377::-;1898:3;1926:39;1959:5;1926:39;:::i;:::-;1981:71;2045:6;2040:3;1981:71;:::i;:::-;1974:78;;2061:65;2119:6;2114:3;2107:4;2100:5;2096:16;2061:65;:::i;:::-;2151:29;2173:6;2151:29;:::i;:::-;2146:3;2142:39;2135:46;;1902:285;1810:377;;;;:::o;2193:313::-;2306:4;2344:2;2333:9;2329:18;2321:26;;2393:9;2387:4;2383:20;2379:1;2368:9;2364:17;2357:47;2421:78;2494:4;2485:6;2421:78;:::i;:::-;2413:86;;2193:313;;;;:::o;2512:126::-;2549:7;2589:42;2582:5;2578:54;2567:65;;2512:126;;;:::o;2644:96::-;2681:7;2710:24;2728:5;2710:24;:::i;:::-;2699:35;;2644:96;;;:::o;2746:122::-;2819:24;2837:5;2819:24;:::i;:::-;2812:5;2809:35;2799:63;;2858:1;2855;2848:12;2799:63;2746:122;:::o;2874:139::-;2920:5;2958:6;2945:20;2936:29;;2974:33;3001:5;2974:33;:::i;:::-;2874:139;;;;:::o;3019:474::-;3087:6;3095;3144:2;3132:9;3123:7;3119:23;3115:32;3112:119;;;3150:79;;:::i;:::-;3112:119;3270:1;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3241:117;3397:2;3423:53;3468:7;3459:6;3448:9;3444:22;3423:53;:::i;:::-;3413:63;;3368:118;3019:474;;;;;:::o;3499:90::-;3533:7;3576:5;3569:13;3562:21;3551:32;;3499:90;;;:::o;3595:109::-;3676:21;3691:5;3676:21;:::i;:::-;3671:3;3664:34;3595:109;;:::o;3710:210::-;3797:4;3835:2;3824:9;3820:18;3812:26;;3848:65;3910:1;3899:9;3895:17;3886:6;3848:65;:::i;:::-;3710:210;;;;:::o;3926:118::-;4013:24;4031:5;4013:24;:::i;:::-;4008:3;4001:37;3926:118;;:::o;4050:222::-;4143:4;4181:2;4170:9;4166:18;4158:26;;4194:71;4262:1;4251:9;4247:17;4238:6;4194:71;:::i;:::-;4050:222;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:60::-;5696:3;5717:5;5710:12;;5668:60;;;:::o;5734:142::-;5784:9;5817:53;5835:34;5844:24;5862:5;5844:24;:::i;:::-;5835:34;:::i;:::-;5817:53;:::i;:::-;5804:66;;5734:142;;;:::o;5882:126::-;5932:9;5965:37;5996:5;5965:37;:::i;:::-;5952:50;;5882:126;;;:::o;6014:151::-;6089:9;6122:37;6153:5;6122:37;:::i;:::-;6109:50;;6014:151;;;:::o;6171:181::-;6283:62;6339:5;6283:62;:::i;:::-;6278:3;6271:75;6171:181;;:::o;6358:272::-;6476:4;6514:2;6503:9;6499:18;6491:26;;6527:96;6620:1;6609:9;6605:17;6596:6;6527:96;:::i;:::-;6358:272;;;;:::o;6636:116::-;6706:21;6721:5;6706:21;:::i;:::-;6699:5;6696:32;6686:60;;6742:1;6739;6732:12;6686:60;6636:116;:::o;6758:133::-;6801:5;6839:6;6826:20;6817:29;;6855:30;6879:5;6855:30;:::i;:::-;6758:133;;;;:::o;6897:468::-;6962:6;6970;7019:2;7007:9;6998:7;6994:23;6990:32;6987:119;;;7025:79;;:::i;:::-;6987:119;7145:1;7170:53;7215:7;7206:6;7195:9;7191:22;7170:53;:::i;:::-;7160:63;;7116:117;7272:2;7298:50;7340:7;7331:6;7320:9;7316:22;7298:50;:::i;:::-;7288:60;;7243:115;6897:468;;;;;:::o;7371:118::-;7458:24;7476:5;7458:24;:::i;:::-;7453:3;7446:37;7371:118;;:::o;7495:222::-;7588:4;7626:2;7615:9;7611:18;7603:26;;7639:71;7707:1;7696:9;7692:17;7683:6;7639:71;:::i;:::-;7495:222;;;;:::o;7723:329::-;7782:6;7831:2;7819:9;7810:7;7806:23;7802:32;7799:119;;;7837:79;;:::i;:::-;7799:119;7957:1;7982:53;8027:7;8018:6;8007:9;8003:22;7982:53;:::i;:::-;7972:63;;7928:117;7723:329;;;;:::o;8058:474::-;8126:6;8134;8183:2;8171:9;8162:7;8158:23;8154:32;8151:119;;;8189:79;;:::i;:::-;8151:119;8309:1;8334:53;8379:7;8370:6;8359:9;8355:22;8334:53;:::i;:::-;8324:63;;8280:117;8436:2;8462:53;8507:7;8498:6;8487:9;8483:22;8462:53;:::i;:::-;8452:63;;8407:118;8058:474;;;;;:::o;8538:172::-;8678:24;8674:1;8666:6;8662:14;8655:48;8538:172;:::o;8716:366::-;8858:3;8879:67;8943:2;8938:3;8879:67;:::i;:::-;8872:74;;8955:93;9044:3;8955:93;:::i;:::-;9073:2;9068:3;9064:12;9057:19;;8716:366;;;:::o;9088:419::-;9254:4;9292:2;9281:9;9277:18;9269:26;;9341:9;9335:4;9331:20;9327:1;9316:9;9312:17;9305:47;9369:131;9495:4;9369:131;:::i;:::-;9361:139;;9088:419;;;:::o;9513:180::-;9561:77;9558:1;9551:88;9658:4;9655:1;9648:15;9682:4;9679:1;9672:15;9699:320;9743:6;9780:1;9774:4;9770:12;9760:22;;9827:1;9821:4;9817:12;9848:18;9838:81;;9904:4;9896:6;9892:17;9882:27;;9838:81;9966:2;9958:6;9955:14;9935:18;9932:38;9929:84;;9985:18;;:::i;:::-;9929:84;9750:269;9699:320;;;:::o;10025:180::-;10073:77;10070:1;10063:88;10170:4;10167:1;10160:15;10194:4;10191:1;10184:15;10211:191;10251:3;10270:20;10288:1;10270:20;:::i;:::-;10265:25;;10304:20;10322:1;10304:20;:::i;:::-;10299:25;;10347:1;10344;10340:9;10333:16;;10368:3;10365:1;10362:10;10359:36;;;10375:18;;:::i;:::-;10359:36;10211:191;;;;:::o;10408:172::-;10548:24;10544:1;10536:6;10532:14;10525:48;10408:172;:::o;10586:366::-;10728:3;10749:67;10813:2;10808:3;10749:67;:::i;:::-;10742:74;;10825:93;10914:3;10825:93;:::i;:::-;10943:2;10938:3;10934:12;10927:19;;10586:366;;;:::o;10958:419::-;11124:4;11162:2;11151:9;11147:18;11139:26;;11211:9;11205:4;11201:20;11197:1;11186:9;11182:17;11175:47;11239:131;11365:4;11239:131;:::i;:::-;11231:139;;10958:419;;;:::o;11383:244::-;11523:34;11519:1;11511:6;11507:14;11500:58;11592:27;11587:2;11579:6;11575:15;11568:52;11383:244;:::o;11633:366::-;11775:3;11796:67;11860:2;11855:3;11796:67;:::i;:::-;11789:74;;11872:93;11961:3;11872:93;:::i;:::-;11990:2;11985:3;11981:12;11974:19;;11633:366;;;:::o;12005:419::-;12171:4;12209:2;12198:9;12194:18;12186:26;;12258:9;12252:4;12248:20;12244:1;12233:9;12229:17;12222:47;12286:131;12412:4;12286:131;:::i;:::-;12278:139;;12005:419;;;:::o;12430:224::-;12570:34;12566:1;12558:6;12554:14;12547:58;12639:7;12634:2;12626:6;12622:15;12615:32;12430:224;:::o;12660:366::-;12802:3;12823:67;12887:2;12882:3;12823:67;:::i;:::-;12816:74;;12899:93;12988:3;12899:93;:::i;:::-;13017:2;13012:3;13008:12;13001:19;;12660:366;;;:::o;13032:419::-;13198:4;13236:2;13225:9;13221:18;13213:26;;13285:9;13279:4;13275:20;13271:1;13260:9;13256:17;13249:47;13313:131;13439:4;13313:131;:::i;:::-;13305:139;;13032:419;;;:::o;13457:410::-;13497:7;13520:20;13538:1;13520:20;:::i;:::-;13515:25;;13554:20;13572:1;13554:20;:::i;:::-;13549:25;;13609:1;13606;13602:9;13631:30;13649:11;13631:30;:::i;:::-;13620:41;;13810:1;13801:7;13797:15;13794:1;13791:22;13771:1;13764:9;13744:83;13721:139;;13840:18;;:::i;:::-;13721:139;13505:362;13457:410;;;;:::o;13873:173::-;14013:25;14009:1;14001:6;13997:14;13990:49;13873:173;:::o;14052:366::-;14194:3;14215:67;14279:2;14274:3;14215:67;:::i;:::-;14208:74;;14291:93;14380:3;14291:93;:::i;:::-;14409:2;14404:3;14400:12;14393:19;;14052:366;;;:::o;14424:419::-;14590:4;14628:2;14617:9;14613:18;14605:26;;14677:9;14671:4;14667:20;14663:1;14652:9;14648:17;14641:47;14705:131;14831:4;14705:131;:::i;:::-;14697:139;;14424:419;;;:::o;14849:332::-;14970:4;15008:2;14997:9;14993:18;14985:26;;15021:71;15089:1;15078:9;15074:17;15065:6;15021:71;:::i;:::-;15102:72;15170:2;15159:9;15155:18;15146:6;15102:72;:::i;:::-;14849:332;;;;;:::o;15187:137::-;15241:5;15272:6;15266:13;15257:22;;15288:30;15312:5;15288:30;:::i;:::-;15187:137;;;;:::o;15330:345::-;15397:6;15446:2;15434:9;15425:7;15421:23;15417:32;15414:119;;;15452:79;;:::i;:::-;15414:119;15572:1;15597:61;15650:7;15641:6;15630:9;15626:22;15597:61;:::i;:::-;15587:71;;15543:125;15330:345;;;;:::o;15681:143::-;15738:5;15769:6;15763:13;15754:22;;15785:33;15812:5;15785:33;:::i;:::-;15681:143;;;;:::o;15830:351::-;15900:6;15949:2;15937:9;15928:7;15924:23;15920:32;15917:119;;;15955:79;;:::i;:::-;15917:119;16075:1;16100:64;16156:7;16147:6;16136:9;16132:22;16100:64;:::i;:::-;16090:74;;16046:128;15830:351;;;;:::o;16187:143::-;16244:5;16275:6;16269:13;16260:22;;16291:33;16318:5;16291:33;:::i;:::-;16187:143;;;;:::o;16336:351::-;16406:6;16455:2;16443:9;16434:7;16430:23;16426:32;16423:119;;;16461:79;;:::i;:::-;16423:119;16581:1;16606:64;16662:7;16653:6;16642:9;16638:22;16606:64;:::i;:::-;16596:74;;16552:128;16336:351;;;;:::o;16693:85::-;16738:7;16767:5;16756:16;;16693:85;;;:::o;16784:158::-;16842:9;16875:61;16893:42;16902:32;16928:5;16902:32;:::i;:::-;16893:42;:::i;:::-;16875:61;:::i;:::-;16862:74;;16784:158;;;:::o;16948:147::-;17043:45;17082:5;17043:45;:::i;:::-;17038:3;17031:58;16948:147;;:::o;17101:791::-;17342:4;17380:3;17369:9;17365:19;17357:27;;17394:71;17462:1;17451:9;17447:17;17438:6;17394:71;:::i;:::-;17475:72;17543:2;17532:9;17528:18;17519:6;17475:72;:::i;:::-;17557:80;17633:2;17622:9;17618:18;17609:6;17557:80;:::i;:::-;17647:72;17715:2;17704:9;17700:18;17691:6;17647:72;:::i;:::-;17729:73;17797:3;17786:9;17782:19;17773:6;17729:73;:::i;:::-;17812;17880:3;17869:9;17865:19;17856:6;17812:73;:::i;:::-;17101:791;;;;;;;;;:::o;17898:663::-;17986:6;17994;18002;18051:2;18039:9;18030:7;18026:23;18022:32;18019:119;;;18057:79;;:::i;:::-;18019:119;18177:1;18202:64;18258:7;18249:6;18238:9;18234:22;18202:64;:::i;:::-;18192:74;;18148:128;18315:2;18341:64;18397:7;18388:6;18377:9;18373:22;18341:64;:::i;:::-;18331:74;;18286:129;18454:2;18480:64;18536:7;18527:6;18516:9;18512:22;18480:64;:::i;:::-;18470:74;;18425:129;17898:663;;;;;:::o;18567:807::-;18816:4;18854:3;18843:9;18839:19;18831:27;;18868:71;18936:1;18925:9;18921:17;18912:6;18868:71;:::i;:::-;18949:72;19017:2;19006:9;19002:18;18993:6;18949:72;:::i;:::-;19031:80;19107:2;19096:9;19092:18;19083:6;19031:80;:::i;:::-;19121;19197:2;19186:9;19182:18;19173:6;19121:80;:::i;:::-;19211:73;19279:3;19268:9;19264:19;19255:6;19211:73;:::i;:::-;19294;19362:3;19351:9;19347:19;19338:6;19294:73;:::i;:::-;18567:807;;;;;;;;;:::o;19380:225::-;19520:34;19516:1;19508:6;19504:14;19497:58;19589:8;19584:2;19576:6;19572:15;19565:33;19380:225;:::o;19611:366::-;19753:3;19774:67;19838:2;19833:3;19774:67;:::i;:::-;19767:74;;19850:93;19939:3;19850:93;:::i;:::-;19968:2;19963:3;19959:12;19952:19;;19611:366;;;:::o;19983:419::-;20149:4;20187:2;20176:9;20172:18;20164:26;;20236:9;20230:4;20226:20;20222:1;20211:9;20207:17;20200:47;20264:131;20390:4;20264:131;:::i;:::-;20256:139;;19983:419;;;:::o;20408:182::-;20548:34;20544:1;20536:6;20532:14;20525:58;20408:182;:::o;20596:366::-;20738:3;20759:67;20823:2;20818:3;20759:67;:::i;:::-;20752:74;;20835:93;20924:3;20835:93;:::i;:::-;20953:2;20948:3;20944:12;20937:19;;20596:366;;;:::o;20968:419::-;21134:4;21172:2;21161:9;21157:18;21149:26;;21221:9;21215:4;21211:20;21207:1;21196:9;21192:17;21185:47;21249:131;21375:4;21249:131;:::i;:::-;21241:139;;20968:419;;;:::o;21393:223::-;21533:34;21529:1;21521:6;21517:14;21510:58;21602:6;21597:2;21589:6;21585:15;21578:31;21393:223;:::o;21622:366::-;21764:3;21785:67;21849:2;21844:3;21785:67;:::i;:::-;21778:74;;21861:93;21950:3;21861:93;:::i;:::-;21979:2;21974:3;21970:12;21963:19;;21622:366;;;:::o;21994:419::-;22160:4;22198:2;22187:9;22183:18;22175:26;;22247:9;22241:4;22237:20;22233:1;22222:9;22218:17;22211:47;22275:131;22401:4;22275:131;:::i;:::-;22267:139;;21994:419;;;:::o;22419:221::-;22559:34;22555:1;22547:6;22543:14;22536:58;22628:4;22623:2;22615:6;22611:15;22604:29;22419:221;:::o;22646:366::-;22788:3;22809:67;22873:2;22868:3;22809:67;:::i;:::-;22802:74;;22885:93;22974:3;22885:93;:::i;:::-;23003:2;22998:3;22994:12;22987:19;;22646:366;;;:::o;23018:419::-;23184:4;23222:2;23211:9;23207:18;23199:26;;23271:9;23265:4;23261:20;23257:1;23246:9;23242:17;23235:47;23299:131;23425:4;23299:131;:::i;:::-;23291:139;;23018:419;;;:::o;23443:179::-;23583:31;23579:1;23571:6;23567:14;23560:55;23443:179;:::o;23628:366::-;23770:3;23791:67;23855:2;23850:3;23791:67;:::i;:::-;23784:74;;23867:93;23956:3;23867:93;:::i;:::-;23985:2;23980:3;23976:12;23969:19;;23628:366;;;:::o;24000:419::-;24166:4;24204:2;24193:9;24189:18;24181:26;;24253:9;24247:4;24243:20;24239:1;24228:9;24224:17;24217:47;24281:131;24407:4;24281:131;:::i;:::-;24273:139;;24000:419;;;:::o;24425:224::-;24565:34;24561:1;24553:6;24549:14;24542:58;24634:7;24629:2;24621:6;24617:15;24610:32;24425:224;:::o;24655:366::-;24797:3;24818:67;24882:2;24877:3;24818:67;:::i;:::-;24811:74;;24894:93;24983:3;24894:93;:::i;:::-;25012:2;25007:3;25003:12;24996:19;;24655:366;;;:::o;25027:419::-;25193:4;25231:2;25220:9;25216:18;25208:26;;25280:9;25274:4;25270:20;25266:1;25255:9;25251:17;25244:47;25308:131;25434:4;25308:131;:::i;:::-;25300:139;;25027:419;;;:::o;25452:222::-;25592:34;25588:1;25580:6;25576:14;25569:58;25661:5;25656:2;25648:6;25644:15;25637:30;25452:222;:::o;25680:366::-;25822:3;25843:67;25907:2;25902:3;25843:67;:::i;:::-;25836:74;;25919:93;26008:3;25919:93;:::i;:::-;26037:2;26032:3;26028:12;26021:19;;25680:366;;;:::o;26052:419::-;26218:4;26256:2;26245:9;26241:18;26233:26;;26305:9;26299:4;26295:20;26291:1;26280:9;26276:17;26269:47;26333:131;26459:4;26333:131;:::i;:::-;26325:139;;26052:419;;;:::o;26477:172::-;26617:24;26613:1;26605:6;26601:14;26594:48;26477:172;:::o;26655:366::-;26797:3;26818:67;26882:2;26877:3;26818:67;:::i;:::-;26811:74;;26894:93;26983:3;26894:93;:::i;:::-;27012:2;27007:3;27003:12;26996:19;;26655:366;;;:::o;27027:419::-;27193:4;27231:2;27220:9;27216:18;27208:26;;27280:9;27274:4;27270:20;27266:1;27255:9;27251:17;27244:47;27308:131;27434:4;27308:131;:::i;:::-;27300:139;;27027:419;;;:::o;27452:240::-;27592:34;27588:1;27580:6;27576:14;27569:58;27661:23;27656:2;27648:6;27644:15;27637:48;27452:240;:::o;27698:366::-;27840:3;27861:67;27925:2;27920:3;27861:67;:::i;:::-;27854:74;;27937:93;28026:3;27937:93;:::i;:::-;28055:2;28050:3;28046:12;28039:19;;27698:366;;;:::o;28070:419::-;28236:4;28274:2;28263:9;28259:18;28251:26;;28323:9;28317:4;28313:20;28309:1;28298:9;28294:17;28287:47;28351:131;28477:4;28351:131;:::i;:::-;28343:139;;28070:419;;;:::o;28495:169::-;28635:21;28631:1;28623:6;28619:14;28612:45;28495:169;:::o;28670:366::-;28812:3;28833:67;28897:2;28892:3;28833:67;:::i;:::-;28826:74;;28909:93;28998:3;28909:93;:::i;:::-;29027:2;29022:3;29018:12;29011:19;;28670:366;;;:::o;29042:419::-;29208:4;29246:2;29235:9;29231:18;29223:26;;29295:9;29289:4;29285:20;29281:1;29270:9;29266:17;29259:47;29323:131;29449:4;29323:131;:::i;:::-;29315:139;;29042:419;;;:::o;29467:241::-;29607:34;29603:1;29595:6;29591:14;29584:58;29676:24;29671:2;29663:6;29659:15;29652:49;29467:241;:::o;29714:366::-;29856:3;29877:67;29941:2;29936:3;29877:67;:::i;:::-;29870:74;;29953:93;30042:3;29953:93;:::i;:::-;30071:2;30066:3;30062:12;30055:19;;29714:366;;;:::o;30086:419::-;30252:4;30290:2;30279:9;30275:18;30267:26;;30339:9;30333:4;30329:20;30325:1;30314:9;30310:17;30303:47;30367:131;30493:4;30367:131;:::i;:::-;30359:139;;30086:419;;;:::o;30511:194::-;30551:4;30571:20;30589:1;30571:20;:::i;:::-;30566:25;;30605:20;30623:1;30605:20;:::i;:::-;30600:25;;30649:1;30646;30642:9;30634:17;;30673:1;30667:4;30664:11;30661:37;;;30678:18;;:::i;:::-;30661:37;30511:194;;;;:::o;30711:180::-;30759:77;30756:1;30749:88;30856:4;30853:1;30846:15;30880:4;30877:1;30870:15;30897:185;30937:1;30954:20;30972:1;30954:20;:::i;:::-;30949:25;;30988:20;31006:1;30988:20;:::i;:::-;30983:25;;31027:1;31017:35;;31032:18;;:::i;:::-;31017:35;31074:1;31071;31067:9;31062:14;;30897:185;;;;:::o;31088:225::-;31228:34;31224:1;31216:6;31212:14;31205:58;31297:8;31292:2;31284:6;31280:15;31273:33;31088:225;:::o;31319:366::-;31461:3;31482:67;31546:2;31541:3;31482:67;:::i;:::-;31475:74;;31558:93;31647:3;31558:93;:::i;:::-;31676:2;31671:3;31667:12;31660:19;;31319:366;;;:::o;31691:419::-;31857:4;31895:2;31884:9;31880:18;31872:26;;31944:9;31938:4;31934:20;31930:1;31919:9;31915:17;31908:47;31972:131;32098:4;31972:131;:::i;:::-;31964:139;;31691:419;;;:::o;32116:180::-;32164:77;32161:1;32154:88;32261:4;32258:1;32251:15;32285:4;32282:1;32275:15;32302:180;32350:77;32347:1;32340:88;32447:4;32444:1;32437:15;32471:4;32468:1;32461:15;32488:114;32555:6;32589:5;32583:12;32573:22;;32488:114;;;:::o;32608:184::-;32707:11;32741:6;32736:3;32729:19;32781:4;32776:3;32772:14;32757:29;;32608:184;;;;:::o;32798:132::-;32865:4;32888:3;32880:11;;32918:4;32913:3;32909:14;32901:22;;32798:132;;;:::o;32936:108::-;33013:24;33031:5;33013:24;:::i;:::-;33008:3;33001:37;32936:108;;:::o;33050:179::-;33119:10;33140:46;33182:3;33174:6;33140:46;:::i;:::-;33218:4;33213:3;33209:14;33195:28;;33050:179;;;;:::o;33235:113::-;33305:4;33337;33332:3;33328:14;33320:22;;33235:113;;;:::o;33384:732::-;33503:3;33532:54;33580:5;33532:54;:::i;:::-;33602:86;33681:6;33676:3;33602:86;:::i;:::-;33595:93;;33712:56;33762:5;33712:56;:::i;:::-;33791:7;33822:1;33807:284;33832:6;33829:1;33826:13;33807:284;;;33908:6;33902:13;33935:63;33994:3;33979:13;33935:63;:::i;:::-;33928:70;;34021:60;34074:6;34021:60;:::i;:::-;34011:70;;33867:224;33854:1;33851;33847:9;33842:14;;33807:284;;;33811:14;34107:3;34100:10;;33508:608;;;33384:732;;;;:::o;34122:831::-;34385:4;34423:3;34412:9;34408:19;34400:27;;34437:71;34505:1;34494:9;34490:17;34481:6;34437:71;:::i;:::-;34518:80;34594:2;34583:9;34579:18;34570:6;34518:80;:::i;:::-;34645:9;34639:4;34635:20;34630:2;34619:9;34615:18;34608:48;34673:108;34776:4;34767:6;34673:108;:::i;:::-;34665:116;;34791:72;34859:2;34848:9;34844:18;34835:6;34791:72;:::i;:::-;34873:73;34941:3;34930:9;34926:19;34917:6;34873:73;:::i;:::-;34122:831;;;;;;;;:::o

Swarm Source

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