ETH Price: $2,624.65 (+0.53%)

Token

ORACLE (ORACLE)
 

Overview

Max Total Supply

210,000,000 ORACLE

Holders

849

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
9,089.091090891 ORACLE

Value
$0.00
0x144970d64d4d436a2afdbc3202e06e113828fe02
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:
Oracle

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-25
*/

// SPDX-License-Identifier: Unlicensed


pragma solidity ^0.8.7;

interface IERC20 {
    
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    
    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 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;
        }
    }
}



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

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


library Address {
    
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


abstract contract Ownable is Context {
    address private _owner;

    // Set original owner
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = 0x9428481F22Ce025B81e6E7265808feD2935E0BA4;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    // Restrict function to contract owner only 
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    // Renounce ownership of the contract 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    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(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint 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 (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint 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 (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    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 (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);


    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


contract Oracle is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;


    // Tracking status of wallets
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee; 

    /*
     * Development and burn wallet WALLETS
     */

    address payable private Wallet_Dev = payable(0x9428481F22Ce025B81e6E7265808feD2935E0BA4);
    address payable private Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 

    /*
     * TOKEN DETAILS
     */

    string private _name = "ORACLE"; 
    string private _symbol = "ORACLE";  
    uint8 private _decimals = 9;
    uint256 private _tTotal = 210_000_000 * 10**_decimals;
    uint256 private _tFeeTotal;

    // Counter for liquify trigger
    uint8 private txCount = 0;
    uint8 private swapTrigger = 2; 
    
    // This is the max fee that the contract will accept, it is hard-coded to protect buyers
    // This includes the buy AND the sell fee!
    uint256 public maxPossibleFee = 12; 

    // Setting the initial fees
    uint256 private _TotalFee = 100;
    uint256 public _buyFee = 10;
    uint256 public _sellFee = 80;

    // 'Previous fees' are used to keep track of fee settings when removing and restoring fees
    uint256 private _previousTotalFee = _TotalFee; 
    uint256 private _previousBuyFee = _buyFee; 
    uint256 private _previousSellFee = _sellFee; 

    /*
     *WALLET LIMITS 
    */

    uint256 public _maxWalletToken = 0 * (10 **_decimals);//0%
    uint256 private _previousMaxWalletToken = _maxWalletToken;
    /* 
     PANCAKESWAP SET UP
    */
                                     
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    // Prevent processing while already processing! 
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        _tOwned[owner()] = _tTotal;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        //0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D - Uniswap v2 router - mainnet

        // Create pair address for PancakeSwap
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[Wallet_Dev] = true;
        
        emit Transfer(address(0), owner(), _tTotal);
    }

    /*
    * STANDARD ERC20 COMPLIANCE FUNCTIONS
    */

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

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

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

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

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

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

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

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

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

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

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


    /*
     * END OF STANDARD ERC20 COMPLIANCE FUNCTIONS
    */


    /*
     *   FEES
    */
    
    // Excludes marketing wallet or volume wallet from tax
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    
    // Set a wallet address so that it has to pay transaction fees
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    //Good for stealth launch, changes from temp to the final name
    function set_Token_Bio_For_Stealth_Launch(string memory newName, string memory newSymbol) public onlyOwner() {
        _name = newName;
        _symbol = newSymbol;
    }

    function _set_Fees(uint256 Buy_Fee, uint256 Sell_Fee) external onlyOwner() {
        require((Buy_Fee + Sell_Fee) <= maxPossibleFee, "Cannot increase above 12%.");
        _sellFee = Sell_Fee;
        _buyFee = Buy_Fee;

    }

    // Update main wallet
    function Wallet_Update_Dev(address payable wallet) public onlyOwner() {
        Wallet_Dev = wallet;
        _isExcludedFromFee[Wallet_Dev] = true;
    }

    function set_Swap_And_Liquify_Enabled(bool true_or_false) public onlyOwner {
        swapAndLiquifyEnabled = true_or_false;
        emit SwapAndLiquifyEnabledUpdated(true_or_false);
    }

    // This will set the number of transactions required before the 'swapAndLiquify' function triggers
    function set_Number_Of_Transactions_Before_Liquify_Trigger(uint8 number_of_transactions) public onlyOwner {
        swapTrigger = number_of_transactions;
    }
    

    // This function is required so that the contract can receive BNB from pancakeswap
    receive() external payable {}

    bool public noFeeToTransfer = true;
    function set_Transfers_Without_Fees(bool true_or_false) external onlyOwner {
        noFeeToTransfer = true_or_false;
    } 
    
    // Set the maximum wallet holding (percent of total supply)
     function set_Max_Wallet_Percent(uint256 maxWallHolidng) external onlyOwner() {
        _maxWalletToken = maxWallHolidng * (10**_decimals);
    }

    // Remove all fees
    function removeAllFee() private {
        if(_TotalFee == 0 && _buyFee == 0 && _sellFee == 0) return;

        _previousBuyFee = _buyFee; 
        _previousSellFee = _sellFee; 
        _previousTotalFee = _TotalFee;
        _buyFee = 0;
        _sellFee = 0;
        _TotalFee = 0;

    }
    
    // Restore all fees
    function restoreAllFee() private {
    
    _TotalFee = _previousTotalFee;
    _buyFee = _previousBuyFee; 
    _sellFee = _previousSellFee; 

    }


    // Approve a wallet to sell tokens
    function _approve(address owner, address spender, uint256 amount) private {

        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        
        /*
         * TRANSACTION AND WALLET LIMITS
         */
        
        // Limit wallet total
        if (to != owner() &&
            to != Wallet_Dev &&
            to != address(this) &&
            to != uniswapV2Pair &&
            to != Wallet_Burn &&
            from != owner()){

            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Maximum wallet limited has been exceeded");       
        }

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");

        /*

        PROCESSING

        */

        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            txCount = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > 0){
            swapAndLiquify(contractTokenBalance);
           }
        }

        
        bool takeFee = true;
         
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || (noFeeToTransfer && from != uniswapV2Pair && to != uniswapV2Pair)){
            takeFee = false;
        } else if (from == uniswapV2Pair){
            _TotalFee = _buyFee;
        } else if (to == uniswapV2Pair){
            _TotalFee = _sellFee;
        }

        _tokenTransfer(from,to,amount,takeFee);
    }


    // Send BNB to external wallet
    function sendToWallet(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);
        }


    // Processing tokens from contract
    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        
        swapTokensForBNB(contractTokenBalance);
        uint256 contractBNB = address(this).balance;
        sendToWallet(Wallet_Dev,contractBNB);
    }

    // Swapping tokens for BNB using PancakeSwap 
    function swapTokensForBNB(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }

    // Check if token transfer needs to process fees
    function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
            
        if(!takeFee){
            removeAllFee();
            } else {
                txCount++;
            }
        _transferTokens(sender, recipient, amount);
        
        if(!takeFee)
            restoreAllFee();
    }

    // Redistributing tokens and adding the fee to the contract address
    function _transferTokens(address sender, address recipient, uint256 tAmount) private {
        
        (uint256 tTransferAmount, uint256 tDev) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _tOwned[address(this)] = _tOwned[address(this)].add(tDev);   
        emit Transfer(sender, recipient, tTransferAmount);
    }


    // Calculating the fee in tokens
    function _getValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tDev = tAmount.mul(_TotalFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tDev);
        return (tTransferAmount, tDev);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address payable","name":"wallet","type":"address"}],"name":"Wallet_Update_Dev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":"Buy_Fee","type":"uint256"},{"internalType":"uint256","name":"Sell_Fee","type":"uint256"}],"name":"_set_Fees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","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":"maxPossibleFee","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":"noFeeToTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallHolidng","type":"uint256"}],"name":"set_Max_Wallet_Percent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"number_of_transactions","type":"uint8"}],"name":"set_Number_Of_Transactions_Before_Liquify_Trigger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"set_Swap_And_Liquify_Enabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newName","type":"string"},{"internalType":"string","name":"newSymbol","type":"string"}],"name":"set_Token_Bio_For_Stealth_Launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"set_Transfers_Without_Fees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052739428481f22ce025b81e6e7265808fed2935e0ba4600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600681526020017f4f5241434c45000000000000000000000000000000000000000000000000000081525060069080519060200190620000e992919062000790565b506040518060400160405280600681526020017f4f5241434c450000000000000000000000000000000000000000000000000000815250600790805190602001906200013792919062000790565b506009600860006101000a81548160ff021916908360ff160217905550600860009054906101000a900460ff16600a62000172919062000950565b630c84588062000183919062000a8d565b6009556000600b60006101000a81548160ff021916908360ff1602179055506002600b60016101000a81548160ff021916908360ff160217905550600c80556064600d55600a600e556050600f55600d54601055600e54601155600f54601255600860009054906101000a900460ff16600a62000201919062000950565b60006200020f919062000a8d565b6013556013546014556001601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff0219169083151502179055503480156200025a57600080fd5b50739428481f22ce025b81e6e7265808fed2935e0ba46000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360095460016000620003416200076760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003df57600080fd5b505afa158015620003f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200041a919062000857565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200047d57600080fd5b505afa15801562000492573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b8919062000857565b6040518363ffffffff1660e01b8152600401620004d7929190620008ab565b602060405180830381600087803b158015620004f257600080fd5b505af115801562000507573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200052d919062000857565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000620005c46200076760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006f76200076760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620007589190620008d8565b60405180910390a35062000bf9565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200079e9062000b39565b90600052602060002090601f016020900481019282620007c257600085556200080e565b82601f10620007dd57805160ff19168380011785556200080e565b828001600101855582156200080e579182015b828111156200080d578251825591602001919060010190620007f0565b5b5090506200081d919062000821565b5090565b5b808211156200083c57600081600090555060010162000822565b5090565b600081519050620008518162000bdf565b92915050565b60006020828403121562000870576200086f62000bcd565b5b6000620008808482850162000840565b91505092915050565b620008948162000aee565b82525050565b620008a58162000b22565b82525050565b6000604082019050620008c2600083018562000889565b620008d1602083018462000889565b9392505050565b6000602082019050620008ef60008301846200089a565b92915050565b6000808291508390505b600185111562000947578086048111156200091f576200091e62000b6f565b5b60018516156200092f5780820291505b80810290506200093f8562000bd2565b9450620008ff565b94509492505050565b60006200095d8262000b22565b91506200096a8362000b2c565b9250620009997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a1565b905092915050565b600082620009b3576001905062000a86565b81620009c3576000905062000a86565b8160018114620009dc5760028114620009e75762000a1d565b600191505062000a86565b60ff841115620009fc57620009fb62000b6f565b5b8360020a91508482111562000a165762000a1562000b6f565b5b5062000a86565b5060208310610133831016604e8410600b841016171562000a575782820a90508381111562000a515762000a5062000b6f565b5b62000a86565b62000a668484846001620008f5565b9250905081840481111562000a805762000a7f62000b6f565b5b81810290505b9392505050565b600062000a9a8262000b22565b915062000aa78362000b22565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae35762000ae262000b6f565b5b828202905092915050565b600062000afb8262000b02565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000b5257607f821691505b6020821081141562000b695762000b6862000b9e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000bea8162000aee565b811462000bf657600080fd5b50565b61371a8062000c096000396000f3fe6080604052600436106101f25760003560e01c806367cbd84c1161010d57806394220184116100a0578063a9059cbb1161006f578063a9059cbb146106fc578063dd62ed3e14610739578063ea2f0b3714610776578063f2fde38b1461079f578063f7739b5f146107c8576101f9565b8063942201841461064257806395d89b411461066b578063a457c2d714610696578063a514a07d146106d3576101f9565b806378109e54116100dc57806378109e541461059a5780637caefa89146105c55780638824e16e146105ee5780638da5cb5b14610617576101f9565b806367cbd84c146104e057806370a0823114610509578063715018a614610546578063768dc7101461055d576101f9565b8063313ce5671161018557806349bd5a5e1161015457806349bd5a5e146104365780634a4f9701146104615780634a74bb021461048a578063590f897e146104b5576101f9565b8063313ce5671461037a57806339509351146103a557806340b9a54b146103e2578063437823ec1461040d576101f9565b80631694505e116101c15780631694505e146102bc57806318160ddd146102e7578063220f66961461031257806323b872dd1461033d576101f9565b806306fdde03146101fe578063095ea7b3146102295780631277ce851461026657806313fad07a14610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107f1565b6040516102209190612d35565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190612958565b610883565b60405161025d9190612cff565b60405180910390f35b34801561027257600080fd5b5061027b6108a1565b6040516102889190612e37565b60405180910390f35b34801561029d57600080fd5b506102a66108a7565b6040516102b39190612cff565b60405180910390f35b3480156102c857600080fd5b506102d16108b8565b6040516102de9190612d1a565b60405180910390f35b3480156102f357600080fd5b506102fc6108de565b6040516103099190612e37565b60405180910390f35b34801561031e57600080fd5b506103276108e8565b6040516103349190612cff565b60405180910390f35b34801561034957600080fd5b50610364600480360381019061035f9190612905565b6108fb565b6040516103719190612cff565b60405180910390f35b34801561038657600080fd5b5061038f6109d4565b60405161039c9190612eac565b60405180910390f35b3480156103b157600080fd5b506103cc60048036038101906103c79190612958565b6109eb565b6040516103d99190612cff565b60405180910390f35b3480156103ee57600080fd5b506103f7610a9e565b6040516104049190612e37565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f919061283e565b610aa4565b005b34801561044257600080fd5b5061044b610b7b565b6040516104589190612ce4565b60405180910390f35b34801561046d57600080fd5b50610488600480360381019061048391906129c5565b610ba1565b005b34801561049657600080fd5b5061049f610c4f565b6040516104ac9190612cff565b60405180910390f35b3480156104c157600080fd5b506104ca610c62565b6040516104d79190612e37565b60405180910390f35b3480156104ec57600080fd5b5061050760048036038101906105029190612a6a565b610c68565b005b34801561051557600080fd5b50610530600480360381019061052b919061283e565b610d46565b60405161053d9190612e37565b60405180910390f35b34801561055257600080fd5b5061055b610d8f565b005b34801561056957600080fd5b50610584600480360381019061057f919061283e565b610ec9565b6040516105919190612cff565b60405180910390f35b3480156105a657600080fd5b506105af610ee9565b6040516105bc9190612e37565b60405180910390f35b3480156105d157600080fd5b506105ec60048036038101906105e79190612aaa565b610eef565b005b3480156105fa57600080fd5b5061061560048036038101906106109190612898565b610f89565b005b34801561062357600080fd5b5061062c6110c3565b6040516106399190612ce4565b60405180910390f35b34801561064e57600080fd5b5061066960048036038101906106649190612a3d565b6110ec565b005b34801561067757600080fd5b50610680611198565b60405161068d9190612d35565b60405180910390f35b3480156106a257600080fd5b506106bd60048036038101906106b89190612958565b61122a565b6040516106ca9190612cff565b60405180910390f35b3480156106df57600080fd5b506106fa60048036038101906106f59190612998565b6112f7565b005b34801561070857600080fd5b50610723600480360381019061071e9190612958565b61138f565b6040516107309190612cff565b60405180910390f35b34801561074557600080fd5b50610760600480360381019061075b91906128c5565b6113ad565b60405161076d9190612e37565b60405180910390f35b34801561078257600080fd5b5061079d6004803603810190610798919061283e565b611434565b005b3480156107ab57600080fd5b506107c660048036038101906107c1919061283e565b61150b565b005b3480156107d457600080fd5b506107ef60048036038101906107ea9190612998565b6116b4565b005b606060068054610800906132e9565b80601f016020809104026020016040519081016040528092919081815260200182805461082c906132e9565b80156108795780601f1061084e57610100808354040283529160200191610879565b820191906000526020600020905b81548152906001019060200180831161085c57829003601f168201915b5050505050905090565b6000610897610890611784565b848461178c565b6001905092915050565b600c5481565b60168054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b601660149054906101000a900460ff1681565b6000610908848484611920565b6109c984610914611784565b6109c48560405180606001604052806028815260200161369860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061097a611784565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f789092919063ffffffff16565b61178c565b600190509392505050565b6000600860009054906101000a900460ff16905090565b6000610a946109f8611784565b84610a8f8560026000610a09611784565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcd90919063ffffffff16565b61178c565b6001905092915050565b600e5481565b610aac611784565b73ffffffffffffffffffffffffffffffffffffffff16610aca6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790612df7565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ba9611784565b73ffffffffffffffffffffffffffffffffffffffff16610bc76110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490612df7565b60405180910390fd5b8160069080519060200190610c339291906126ad565b508060079080519060200190610c4a9291906126ad565b505050565b601660159054906101000a900460ff1681565b600f5481565b610c70611784565b73ffffffffffffffffffffffffffffffffffffffff16610c8e6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdb90612df7565b60405180910390fd5b600c548183610cf39190612f72565b1115610d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2b90612d77565b60405180910390fd5b80600f8190555081600e819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d97611784565b73ffffffffffffffffffffffffffffffffffffffff16610db56110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0290612df7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b60135481565b610ef7611784565b73ffffffffffffffffffffffffffffffffffffffff16610f156110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6290612df7565b60405180910390fd5b80600b60016101000a81548160ff021916908360ff16021790555050565b610f91611784565b73ffffffffffffffffffffffffffffffffffffffff16610faf6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611005576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffc90612df7565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110f4611784565b73ffffffffffffffffffffffffffffffffffffffff166111126110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115f90612df7565b60405180910390fd5b600860009054906101000a900460ff16600a611184919061304c565b8161118f919061316a565b60138190555050565b6060600780546111a7906132e9565b80601f01602080910402602001604051908101604052809291908181526020018280546111d3906132e9565b80156112205780601f106111f557610100808354040283529160200191611220565b820191906000526020600020905b81548152906001019060200180831161120357829003601f168201915b5050505050905090565b60006112ed611237611784565b846112e8856040518060600160405280602581526020016136c06025913960026000611261611784565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f789092919063ffffffff16565b61178c565b6001905092915050565b6112ff611784565b73ffffffffffffffffffffffffffffffffffffffff1661131d6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a90612df7565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b60006113a361139c611784565b8484611920565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61143c611784565b73ffffffffffffffffffffffffffffffffffffffff1661145a6110c3565b73ffffffffffffffffffffffffffffffffffffffff16146114b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a790612df7565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611513611784565b73ffffffffffffffffffffffffffffffffffffffff166115316110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157e90612df7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee90612d97565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6116bc611784565b73ffffffffffffffffffffffffffffffffffffffff166116da6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172790612df7565b60405180910390fd5b80601660156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516117799190612cff565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117f65750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c90612e17565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119139190612e37565b60405180910390a3505050565b6119286110c3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156119b15750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119e957503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a435750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9d5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611adc5750611aac6110c3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b40576000611aec83610d46565b90506013548282611afd9190612f72565b1115611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3590612d57565b60405180910390fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611baa5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be090612dd7565b60405180910390fd5b60008111611c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2390612db7565b60405180910390fd5b600b60019054906101000a900460ff1660ff16600b60009054906101000a900460ff1660ff1610158015611c6d5750601660149054906101000a900460ff16155b8015611cc75750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cdf5750601660159054906101000a900460ff165b15611d22576000600b60006101000a81548160ff021916908360ff1602179055506000611d0b30610d46565b90506000811115611d2057611d1f81611fe3565b5b505b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dc95750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611e92575060168054906101000a900460ff168015611e375750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611e915750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ea05760009050611f66565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611f0457600e54600d81905550611f65565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f6457600f54600d819055505b5b5b611f7284848484612057565b50505050565b6000838311158290611fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb79190612d35565b60405180910390fd5b5082840390509392505050565b60008183611fdb9190612f72565b905092915050565b6001601660146101000a81548160ff021916908315150217905550612007816120c1565b6000479050612038600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612313565b506000601660146101000a81548160ff02191690831515021790555050565b806120695761206461235e565b6120a2565b600b600081819054906101000a900460ff16809291906120889061334c565b91906101000a81548160ff021916908360ff160217905550505b6120ad8484846123c0565b806120bb576120ba6125fb565b5b50505050565b6000600267ffffffffffffffff8111156120de576120dd613432565b5b60405190808252806020026020018201604052801561210c5781602001602082028036833780820191505090505b509050308160008151811061212457612123613403565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c657600080fd5b505afa1580156121da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121fe919061286b565b8160018151811061221257612211613403565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227930601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461178c565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122dd959493929190612e52565b600060405180830381600087803b1580156122f757600080fd5b505af115801561230b573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612359573d6000803e3d6000fd5b505050565b6000600d5414801561237257506000600e54145b801561238057506000600f54145b1561238a576123be565b600e54601181905550600f54601281905550600d546010819055506000600e819055506000600f819055506000600d819055505b565b6000806123cc83612618565b9150915061242283600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266b90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124b782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcd90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061254c81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125ec9190612e37565b60405180910390a35050505050565b601054600d81905550601154600e81905550601254600f81905550565b60008060006126456064612637600d548761268190919063ffffffff16565b61269790919063ffffffff16565b9050600061265c828661266b90919063ffffffff16565b90508082935093505050915091565b6000818361267991906131c4565b905092915050565b6000818361268f919061316a565b905092915050565b600081836126a59190612fc8565b905092915050565b8280546126b9906132e9565b90600052602060002090601f0160209004810192826126db5760008555612722565b82601f106126f457805160ff1916838001178555612722565b82800160010185558215612722579182015b82811115612721578251825591602001919060010190612706565b5b50905061272f9190612733565b5090565b5b8082111561274c576000816000905550600101612734565b5090565b600061276361275e84612eec565b612ec7565b90508281526020810184848401111561277f5761277e613466565b5b61278a8482856132a7565b509392505050565b6000813590506127a181613624565b92915050565b6000815190506127b681613624565b92915050565b6000813590506127cb8161363b565b92915050565b6000813590506127e081613652565b92915050565b600082601f8301126127fb576127fa613461565b5b813561280b848260208601612750565b91505092915050565b60008135905061282381613669565b92915050565b60008135905061283881613680565b92915050565b60006020828403121561285457612853613470565b5b600061286284828501612792565b91505092915050565b60006020828403121561288157612880613470565b5b600061288f848285016127a7565b91505092915050565b6000602082840312156128ae576128ad613470565b5b60006128bc848285016127bc565b91505092915050565b600080604083850312156128dc576128db613470565b5b60006128ea85828601612792565b92505060206128fb85828601612792565b9150509250929050565b60008060006060848603121561291e5761291d613470565b5b600061292c86828701612792565b935050602061293d86828701612792565b925050604061294e86828701612814565b9150509250925092565b6000806040838503121561296f5761296e613470565b5b600061297d85828601612792565b925050602061298e85828601612814565b9150509250929050565b6000602082840312156129ae576129ad613470565b5b60006129bc848285016127d1565b91505092915050565b600080604083850312156129dc576129db613470565b5b600083013567ffffffffffffffff8111156129fa576129f961346b565b5b612a06858286016127e6565b925050602083013567ffffffffffffffff811115612a2757612a2661346b565b5b612a33858286016127e6565b9150509250929050565b600060208284031215612a5357612a52613470565b5b6000612a6184828501612814565b91505092915050565b60008060408385031215612a8157612a80613470565b5b6000612a8f85828601612814565b9250506020612aa085828601612814565b9150509250929050565b600060208284031215612ac057612abf613470565b5b6000612ace84828501612829565b91505092915050565b6000612ae38383612aef565b60208301905092915050565b612af8816131f8565b82525050565b612b07816131f8565b82525050565b6000612b1882612f2d565b612b228185612f50565b9350612b2d83612f1d565b8060005b83811015612b5e578151612b458882612ad7565b9750612b5083612f43565b925050600181019050612b31565b5085935050505092915050565b612b748161321c565b82525050565b612b838161325f565b82525050565b612b9281613271565b82525050565b6000612ba382612f38565b612bad8185612f61565b9350612bbd8185602086016132b6565b612bc681613475565b840191505092915050565b6000612bde602883612f61565b9150612be982613493565b604082019050919050565b6000612c01601a83612f61565b9150612c0c826134e2565b602082019050919050565b6000612c24602683612f61565b9150612c2f8261350b565b604082019050919050565b6000612c47602583612f61565b9150612c528261355a565b604082019050919050565b6000612c6a601583612f61565b9150612c75826135a9565b602082019050919050565b6000612c8d602083612f61565b9150612c98826135d2565b602082019050919050565b6000612cb0601183612f61565b9150612cbb826135fb565b602082019050919050565b612ccf81613248565b82525050565b612cde81613252565b82525050565b6000602082019050612cf96000830184612afe565b92915050565b6000602082019050612d146000830184612b6b565b92915050565b6000602082019050612d2f6000830184612b7a565b92915050565b60006020820190508181036000830152612d4f8184612b98565b905092915050565b60006020820190508181036000830152612d7081612bd1565b9050919050565b60006020820190508181036000830152612d9081612bf4565b9050919050565b60006020820190508181036000830152612db081612c17565b9050919050565b60006020820190508181036000830152612dd081612c3a565b9050919050565b60006020820190508181036000830152612df081612c5d565b9050919050565b60006020820190508181036000830152612e1081612c80565b9050919050565b60006020820190508181036000830152612e3081612ca3565b9050919050565b6000602082019050612e4c6000830184612cc6565b92915050565b600060a082019050612e676000830188612cc6565b612e746020830187612b89565b8181036040830152612e868186612b0d565b9050612e956060830185612afe565b612ea26080830184612cc6565b9695505050505050565b6000602082019050612ec16000830184612cd5565b92915050565b6000612ed1612ee2565b9050612edd828261331b565b919050565b6000604051905090565b600067ffffffffffffffff821115612f0757612f06613432565b5b612f1082613475565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f7d82613248565b9150612f8883613248565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612fbd57612fbc613376565b5b828201905092915050565b6000612fd382613248565b9150612fde83613248565b925082612fee57612fed6133a5565b5b828204905092915050565b6000808291508390505b60018511156130435780860481111561301f5761301e613376565b5b600185161561302e5780820291505b808102905061303c85613486565b9450613003565b94509492505050565b600061305782613248565b915061306283613252565b925061308f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613097565b905092915050565b6000826130a75760019050613163565b816130b55760009050613163565b81600181146130cb57600281146130d557613104565b6001915050613163565b60ff8411156130e7576130e6613376565b5b8360020a9150848211156130fe576130fd613376565b5b50613163565b5060208310610133831016604e8410600b84101617156131395782820a90508381111561313457613133613376565b5b613163565b6131468484846001612ff9565b9250905081840481111561315d5761315c613376565b5b81810290505b9392505050565b600061317582613248565b915061318083613248565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131b9576131b8613376565b5b828202905092915050565b60006131cf82613248565b91506131da83613248565b9250828210156131ed576131ec613376565b5b828203905092915050565b600061320382613228565b9050919050565b600061321582613228565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061326a82613283565b9050919050565b600061327c82613248565b9050919050565b600061328e82613295565b9050919050565b60006132a082613228565b9050919050565b82818337600083830152505050565b60005b838110156132d45780820151818401526020810190506132b9565b838111156132e3576000848401525b50505050565b6000600282049050600182168061330157607f821691505b60208210811415613315576133146133d4565b5b50919050565b61332482613475565b810181811067ffffffffffffffff8211171561334357613342613432565b5b80604052505050565b600061335782613252565b915060ff82141561336b5761336a613376565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e2060008201527f6578636565646564000000000000000000000000000000000000000000000000602082015250565b7f43616e6e6f7420696e6372656173652061626f7665203132252e000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b61362d816131f8565b811461363857600080fd5b50565b6136448161320a565b811461364f57600080fd5b50565b61365b8161321c565b811461366657600080fd5b50565b61367281613248565b811461367d57600080fd5b50565b61368981613252565b811461369457600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220660c5681120134ab2a18a54c8e86ed80e05b8ed25b9f584ecfe776a2dcde4c2f64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c806367cbd84c1161010d57806394220184116100a0578063a9059cbb1161006f578063a9059cbb146106fc578063dd62ed3e14610739578063ea2f0b3714610776578063f2fde38b1461079f578063f7739b5f146107c8576101f9565b8063942201841461064257806395d89b411461066b578063a457c2d714610696578063a514a07d146106d3576101f9565b806378109e54116100dc57806378109e541461059a5780637caefa89146105c55780638824e16e146105ee5780638da5cb5b14610617576101f9565b806367cbd84c146104e057806370a0823114610509578063715018a614610546578063768dc7101461055d576101f9565b8063313ce5671161018557806349bd5a5e1161015457806349bd5a5e146104365780634a4f9701146104615780634a74bb021461048a578063590f897e146104b5576101f9565b8063313ce5671461037a57806339509351146103a557806340b9a54b146103e2578063437823ec1461040d576101f9565b80631694505e116101c15780631694505e146102bc57806318160ddd146102e7578063220f66961461031257806323b872dd1461033d576101f9565b806306fdde03146101fe578063095ea7b3146102295780631277ce851461026657806313fad07a14610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107f1565b6040516102209190612d35565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190612958565b610883565b60405161025d9190612cff565b60405180910390f35b34801561027257600080fd5b5061027b6108a1565b6040516102889190612e37565b60405180910390f35b34801561029d57600080fd5b506102a66108a7565b6040516102b39190612cff565b60405180910390f35b3480156102c857600080fd5b506102d16108b8565b6040516102de9190612d1a565b60405180910390f35b3480156102f357600080fd5b506102fc6108de565b6040516103099190612e37565b60405180910390f35b34801561031e57600080fd5b506103276108e8565b6040516103349190612cff565b60405180910390f35b34801561034957600080fd5b50610364600480360381019061035f9190612905565b6108fb565b6040516103719190612cff565b60405180910390f35b34801561038657600080fd5b5061038f6109d4565b60405161039c9190612eac565b60405180910390f35b3480156103b157600080fd5b506103cc60048036038101906103c79190612958565b6109eb565b6040516103d99190612cff565b60405180910390f35b3480156103ee57600080fd5b506103f7610a9e565b6040516104049190612e37565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f919061283e565b610aa4565b005b34801561044257600080fd5b5061044b610b7b565b6040516104589190612ce4565b60405180910390f35b34801561046d57600080fd5b50610488600480360381019061048391906129c5565b610ba1565b005b34801561049657600080fd5b5061049f610c4f565b6040516104ac9190612cff565b60405180910390f35b3480156104c157600080fd5b506104ca610c62565b6040516104d79190612e37565b60405180910390f35b3480156104ec57600080fd5b5061050760048036038101906105029190612a6a565b610c68565b005b34801561051557600080fd5b50610530600480360381019061052b919061283e565b610d46565b60405161053d9190612e37565b60405180910390f35b34801561055257600080fd5b5061055b610d8f565b005b34801561056957600080fd5b50610584600480360381019061057f919061283e565b610ec9565b6040516105919190612cff565b60405180910390f35b3480156105a657600080fd5b506105af610ee9565b6040516105bc9190612e37565b60405180910390f35b3480156105d157600080fd5b506105ec60048036038101906105e79190612aaa565b610eef565b005b3480156105fa57600080fd5b5061061560048036038101906106109190612898565b610f89565b005b34801561062357600080fd5b5061062c6110c3565b6040516106399190612ce4565b60405180910390f35b34801561064e57600080fd5b5061066960048036038101906106649190612a3d565b6110ec565b005b34801561067757600080fd5b50610680611198565b60405161068d9190612d35565b60405180910390f35b3480156106a257600080fd5b506106bd60048036038101906106b89190612958565b61122a565b6040516106ca9190612cff565b60405180910390f35b3480156106df57600080fd5b506106fa60048036038101906106f59190612998565b6112f7565b005b34801561070857600080fd5b50610723600480360381019061071e9190612958565b61138f565b6040516107309190612cff565b60405180910390f35b34801561074557600080fd5b50610760600480360381019061075b91906128c5565b6113ad565b60405161076d9190612e37565b60405180910390f35b34801561078257600080fd5b5061079d6004803603810190610798919061283e565b611434565b005b3480156107ab57600080fd5b506107c660048036038101906107c1919061283e565b61150b565b005b3480156107d457600080fd5b506107ef60048036038101906107ea9190612998565b6116b4565b005b606060068054610800906132e9565b80601f016020809104026020016040519081016040528092919081815260200182805461082c906132e9565b80156108795780601f1061084e57610100808354040283529160200191610879565b820191906000526020600020905b81548152906001019060200180831161085c57829003601f168201915b5050505050905090565b6000610897610890611784565b848461178c565b6001905092915050565b600c5481565b60168054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b601660149054906101000a900460ff1681565b6000610908848484611920565b6109c984610914611784565b6109c48560405180606001604052806028815260200161369860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061097a611784565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f789092919063ffffffff16565b61178c565b600190509392505050565b6000600860009054906101000a900460ff16905090565b6000610a946109f8611784565b84610a8f8560026000610a09611784565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcd90919063ffffffff16565b61178c565b6001905092915050565b600e5481565b610aac611784565b73ffffffffffffffffffffffffffffffffffffffff16610aca6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790612df7565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ba9611784565b73ffffffffffffffffffffffffffffffffffffffff16610bc76110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490612df7565b60405180910390fd5b8160069080519060200190610c339291906126ad565b508060079080519060200190610c4a9291906126ad565b505050565b601660159054906101000a900460ff1681565b600f5481565b610c70611784565b73ffffffffffffffffffffffffffffffffffffffff16610c8e6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdb90612df7565b60405180910390fd5b600c548183610cf39190612f72565b1115610d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2b90612d77565b60405180910390fd5b80600f8190555081600e819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d97611784565b73ffffffffffffffffffffffffffffffffffffffff16610db56110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0290612df7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b60135481565b610ef7611784565b73ffffffffffffffffffffffffffffffffffffffff16610f156110c3565b73ffffffffffffffffffffffffffffffffffffffff1614610f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6290612df7565b60405180910390fd5b80600b60016101000a81548160ff021916908360ff16021790555050565b610f91611784565b73ffffffffffffffffffffffffffffffffffffffff16610faf6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611005576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffc90612df7565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110f4611784565b73ffffffffffffffffffffffffffffffffffffffff166111126110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115f90612df7565b60405180910390fd5b600860009054906101000a900460ff16600a611184919061304c565b8161118f919061316a565b60138190555050565b6060600780546111a7906132e9565b80601f01602080910402602001604051908101604052809291908181526020018280546111d3906132e9565b80156112205780601f106111f557610100808354040283529160200191611220565b820191906000526020600020905b81548152906001019060200180831161120357829003601f168201915b5050505050905090565b60006112ed611237611784565b846112e8856040518060600160405280602581526020016136c06025913960026000611261611784565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f789092919063ffffffff16565b61178c565b6001905092915050565b6112ff611784565b73ffffffffffffffffffffffffffffffffffffffff1661131d6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a90612df7565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b60006113a361139c611784565b8484611920565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61143c611784565b73ffffffffffffffffffffffffffffffffffffffff1661145a6110c3565b73ffffffffffffffffffffffffffffffffffffffff16146114b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a790612df7565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611513611784565b73ffffffffffffffffffffffffffffffffffffffff166115316110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157e90612df7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee90612d97565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6116bc611784565b73ffffffffffffffffffffffffffffffffffffffff166116da6110c3565b73ffffffffffffffffffffffffffffffffffffffff1614611730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172790612df7565b60405180910390fd5b80601660156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516117799190612cff565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117f65750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c90612e17565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119139190612e37565b60405180910390a3505050565b6119286110c3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156119b15750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119e957503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a435750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9d5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611adc5750611aac6110c3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b40576000611aec83610d46565b90506013548282611afd9190612f72565b1115611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3590612d57565b60405180910390fd5b505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611baa5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be090612dd7565b60405180910390fd5b60008111611c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2390612db7565b60405180910390fd5b600b60019054906101000a900460ff1660ff16600b60009054906101000a900460ff1660ff1610158015611c6d5750601660149054906101000a900460ff16155b8015611cc75750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cdf5750601660159054906101000a900460ff165b15611d22576000600b60006101000a81548160ff021916908360ff1602179055506000611d0b30610d46565b90506000811115611d2057611d1f81611fe3565b5b505b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dc95750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611e92575060168054906101000a900460ff168015611e375750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611e915750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ea05760009050611f66565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611f0457600e54600d81905550611f65565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f6457600f54600d819055505b5b5b611f7284848484612057565b50505050565b6000838311158290611fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb79190612d35565b60405180910390fd5b5082840390509392505050565b60008183611fdb9190612f72565b905092915050565b6001601660146101000a81548160ff021916908315150217905550612007816120c1565b6000479050612038600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612313565b506000601660146101000a81548160ff02191690831515021790555050565b806120695761206461235e565b6120a2565b600b600081819054906101000a900460ff16809291906120889061334c565b91906101000a81548160ff021916908360ff160217905550505b6120ad8484846123c0565b806120bb576120ba6125fb565b5b50505050565b6000600267ffffffffffffffff8111156120de576120dd613432565b5b60405190808252806020026020018201604052801561210c5781602001602082028036833780820191505090505b509050308160008151811061212457612123613403565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c657600080fd5b505afa1580156121da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121fe919061286b565b8160018151811061221257612211613403565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227930601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461178c565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122dd959493929190612e52565b600060405180830381600087803b1580156122f757600080fd5b505af115801561230b573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612359573d6000803e3d6000fd5b505050565b6000600d5414801561237257506000600e54145b801561238057506000600f54145b1561238a576123be565b600e54601181905550600f54601281905550600d546010819055506000600e819055506000600f819055506000600d819055505b565b6000806123cc83612618565b9150915061242283600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266b90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124b782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcd90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061254c81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125ec9190612e37565b60405180910390a35050505050565b601054600d81905550601154600e81905550601254600f81905550565b60008060006126456064612637600d548761268190919063ffffffff16565b61269790919063ffffffff16565b9050600061265c828661266b90919063ffffffff16565b90508082935093505050915091565b6000818361267991906131c4565b905092915050565b6000818361268f919061316a565b905092915050565b600081836126a59190612fc8565b905092915050565b8280546126b9906132e9565b90600052602060002090601f0160209004810192826126db5760008555612722565b82601f106126f457805160ff1916838001178555612722565b82800160010185558215612722579182015b82811115612721578251825591602001919060010190612706565b5b50905061272f9190612733565b5090565b5b8082111561274c576000816000905550600101612734565b5090565b600061276361275e84612eec565b612ec7565b90508281526020810184848401111561277f5761277e613466565b5b61278a8482856132a7565b509392505050565b6000813590506127a181613624565b92915050565b6000815190506127b681613624565b92915050565b6000813590506127cb8161363b565b92915050565b6000813590506127e081613652565b92915050565b600082601f8301126127fb576127fa613461565b5b813561280b848260208601612750565b91505092915050565b60008135905061282381613669565b92915050565b60008135905061283881613680565b92915050565b60006020828403121561285457612853613470565b5b600061286284828501612792565b91505092915050565b60006020828403121561288157612880613470565b5b600061288f848285016127a7565b91505092915050565b6000602082840312156128ae576128ad613470565b5b60006128bc848285016127bc565b91505092915050565b600080604083850312156128dc576128db613470565b5b60006128ea85828601612792565b92505060206128fb85828601612792565b9150509250929050565b60008060006060848603121561291e5761291d613470565b5b600061292c86828701612792565b935050602061293d86828701612792565b925050604061294e86828701612814565b9150509250925092565b6000806040838503121561296f5761296e613470565b5b600061297d85828601612792565b925050602061298e85828601612814565b9150509250929050565b6000602082840312156129ae576129ad613470565b5b60006129bc848285016127d1565b91505092915050565b600080604083850312156129dc576129db613470565b5b600083013567ffffffffffffffff8111156129fa576129f961346b565b5b612a06858286016127e6565b925050602083013567ffffffffffffffff811115612a2757612a2661346b565b5b612a33858286016127e6565b9150509250929050565b600060208284031215612a5357612a52613470565b5b6000612a6184828501612814565b91505092915050565b60008060408385031215612a8157612a80613470565b5b6000612a8f85828601612814565b9250506020612aa085828601612814565b9150509250929050565b600060208284031215612ac057612abf613470565b5b6000612ace84828501612829565b91505092915050565b6000612ae38383612aef565b60208301905092915050565b612af8816131f8565b82525050565b612b07816131f8565b82525050565b6000612b1882612f2d565b612b228185612f50565b9350612b2d83612f1d565b8060005b83811015612b5e578151612b458882612ad7565b9750612b5083612f43565b925050600181019050612b31565b5085935050505092915050565b612b748161321c565b82525050565b612b838161325f565b82525050565b612b9281613271565b82525050565b6000612ba382612f38565b612bad8185612f61565b9350612bbd8185602086016132b6565b612bc681613475565b840191505092915050565b6000612bde602883612f61565b9150612be982613493565b604082019050919050565b6000612c01601a83612f61565b9150612c0c826134e2565b602082019050919050565b6000612c24602683612f61565b9150612c2f8261350b565b604082019050919050565b6000612c47602583612f61565b9150612c528261355a565b604082019050919050565b6000612c6a601583612f61565b9150612c75826135a9565b602082019050919050565b6000612c8d602083612f61565b9150612c98826135d2565b602082019050919050565b6000612cb0601183612f61565b9150612cbb826135fb565b602082019050919050565b612ccf81613248565b82525050565b612cde81613252565b82525050565b6000602082019050612cf96000830184612afe565b92915050565b6000602082019050612d146000830184612b6b565b92915050565b6000602082019050612d2f6000830184612b7a565b92915050565b60006020820190508181036000830152612d4f8184612b98565b905092915050565b60006020820190508181036000830152612d7081612bd1565b9050919050565b60006020820190508181036000830152612d9081612bf4565b9050919050565b60006020820190508181036000830152612db081612c17565b9050919050565b60006020820190508181036000830152612dd081612c3a565b9050919050565b60006020820190508181036000830152612df081612c5d565b9050919050565b60006020820190508181036000830152612e1081612c80565b9050919050565b60006020820190508181036000830152612e3081612ca3565b9050919050565b6000602082019050612e4c6000830184612cc6565b92915050565b600060a082019050612e676000830188612cc6565b612e746020830187612b89565b8181036040830152612e868186612b0d565b9050612e956060830185612afe565b612ea26080830184612cc6565b9695505050505050565b6000602082019050612ec16000830184612cd5565b92915050565b6000612ed1612ee2565b9050612edd828261331b565b919050565b6000604051905090565b600067ffffffffffffffff821115612f0757612f06613432565b5b612f1082613475565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f7d82613248565b9150612f8883613248565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612fbd57612fbc613376565b5b828201905092915050565b6000612fd382613248565b9150612fde83613248565b925082612fee57612fed6133a5565b5b828204905092915050565b6000808291508390505b60018511156130435780860481111561301f5761301e613376565b5b600185161561302e5780820291505b808102905061303c85613486565b9450613003565b94509492505050565b600061305782613248565b915061306283613252565b925061308f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613097565b905092915050565b6000826130a75760019050613163565b816130b55760009050613163565b81600181146130cb57600281146130d557613104565b6001915050613163565b60ff8411156130e7576130e6613376565b5b8360020a9150848211156130fe576130fd613376565b5b50613163565b5060208310610133831016604e8410600b84101617156131395782820a90508381111561313457613133613376565b5b613163565b6131468484846001612ff9565b9250905081840481111561315d5761315c613376565b5b81810290505b9392505050565b600061317582613248565b915061318083613248565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131b9576131b8613376565b5b828202905092915050565b60006131cf82613248565b91506131da83613248565b9250828210156131ed576131ec613376565b5b828203905092915050565b600061320382613228565b9050919050565b600061321582613228565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061326a82613283565b9050919050565b600061327c82613248565b9050919050565b600061328e82613295565b9050919050565b60006132a082613228565b9050919050565b82818337600083830152505050565b60005b838110156132d45780820151818401526020810190506132b9565b838111156132e3576000848401525b50505050565b6000600282049050600182168061330157607f821691505b60208210811415613315576133146133d4565b5b50919050565b61332482613475565b810181811067ffffffffffffffff8211171561334357613342613432565b5b80604052505050565b600061335782613252565b915060ff82141561336b5761336a613376565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e2060008201527f6578636565646564000000000000000000000000000000000000000000000000602082015250565b7f43616e6e6f7420696e6372656173652061626f7665203132252e000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b61362d816131f8565b811461363857600080fd5b50565b6136448161320a565b811461364f57600080fd5b50565b61365b8161321c565b811461366657600080fd5b50565b61367281613248565b811461367d57600080fd5b50565b61368981613252565b811461369457600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220660c5681120134ab2a18a54c8e86ed80e05b8ed25b9f584ecfe776a2dcde4c2f64736f6c63430008070033

Deployed Bytecode Sourcemap

10595:11769:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13688:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14519:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11700:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17272;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12386:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13965:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12469:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14688:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13874:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15009:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11815:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15682:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12434:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16059:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12504:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11849:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16240:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14068:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5935:148;;;;;;;;;;;;;:::i;:::-;;10878:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12177:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16972:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16506:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5618:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17517:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13779:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15235:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17313:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14193:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14368:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15873:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6139:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16670:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13688:83;13725:13;13758:5;13751:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13688:83;:::o;14519:161::-;14594:4;14611:39;14620:12;:10;:12::i;:::-;14634:7;14643:6;14611:8;:39::i;:::-;14668:4;14661:11;;14519:161;;;;:::o;11700:34::-;;;;:::o;17272:::-;;;;;;;;;;;;:::o;12386:41::-;;;;;;;;;;;;;:::o;13965:95::-;14018:7;14045;;14038:14;;13965:95;:::o;12469:28::-;;;;;;;;;;;;;:::o;14688:313::-;14786:4;14803:36;14813:6;14821:9;14832:6;14803:9;:36::i;:::-;14850:121;14859:6;14867:12;:10;:12::i;:::-;14881:89;14919:6;14881:89;;;;;;;;;;;;;;;;;:11;:19;14893:6;14881:19;;;;;;;;;;;;;;;:33;14901:12;:10;:12::i;:::-;14881:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14850:8;:121::i;:::-;14989:4;14982:11;;14688:313;;;;;:::o;13874:83::-;13915:5;13940:9;;;;;;;;;;;13933:16;;13874:83;:::o;15009:218::-;15097:4;15114:83;15123:12;:10;:12::i;:::-;15137:7;15146:50;15185:10;15146:11;:25;15158:12;:10;:12::i;:::-;15146:25;;;;;;;;;;;;;;;:34;15172:7;15146:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;15114:8;:83::i;:::-;15215:4;15208:11;;15009:218;;;;:::o;11815:27::-;;;;:::o;15682:111::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15781:4:::1;15751:18;:27;15770:7;15751:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;15682:111:::0;:::o;12434:28::-;;;;;;;;;;;;;:::o;16059:173::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16187:7:::1;16179:5;:15;;;;;;;;;;;;:::i;:::-;;16215:9;16205:7;:19;;;;;;;;;;;;:::i;:::-;;16059:173:::0;;:::o;12504:40::-;;;;;;;;;;;;;:::o;11849:28::-;;;;:::o;16240:231::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16358:14:::1;;16345:8;16335:7;:18;;;;:::i;:::-;16334:38;;16326:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;16425:8;16414;:19;;;;16454:7;16444;:17;;;;16240:231:::0;;:::o;14068:117::-;14134:7;14161;:16;14169:7;14161:16;;;;;;;;;;;;;;;;14154:23;;14068:117;;;:::o;5935:148::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6042:1:::1;6005:40;;6026:6;::::0;::::1;;;;;;;;6005:40;;;;;;;;;;;;6073:1;6056:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5935:148::o:0;10878:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;12177:53::-;;;;:::o;16972:161::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17103:22:::1;17089:11;;:36;;;;;;;;;;;;;;;;;;16972:161:::0;:::o;16506:156::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16600:6:::1;16587:10;;:19;;;;;;;;;;;;;;;;;;16650:4;16617:18;:30;16636:10;;;;;;;;;;;16617:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;16506:156:::0;:::o;5618:87::-;5664:7;5691:6;;;;;;;;;;;5684:13;;5618:87;:::o;17517:146::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17645:9:::1;;;;;;;;;;;17641:2;:13;;;;:::i;:::-;17623:14;:32;;;;:::i;:::-;17605:15;:50;;;;17517:146:::0;:::o;13779:87::-;13818:13;13851:7;13844:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13779:87;:::o;15235:269::-;15328:4;15345:129;15354:12;:10;:12::i;:::-;15368:7;15377:96;15416:15;15377:96;;;;;;;;;;;;;;;;;:11;:25;15389:12;:10;:12::i;:::-;15377:25;;;;;;;;;;;;;;;:34;15403:7;15377:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;15345:8;:129::i;:::-;15492:4;15485:11;;15235:269;;;;:::o;17313:125::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17417:13:::1;17399:15;::::0;:31:::1;;;;;;;;;;;;;;;;;;17313:125:::0;:::o;14193:167::-;14271:4;14288:42;14298:12;:10;:12::i;:::-;14312:9;14323:6;14288:9;:42::i;:::-;14348:4;14341:11;;14193:167;;;;:::o;14368:143::-;14449:7;14476:11;:18;14488:5;14476:18;;;;;;;;;;;;;;;:27;14495:7;14476:27;;;;;;;;;;;;;;;;14469:34;;14368:143;;;;:::o;15873:110::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15970:5:::1;15940:18;:27;15959:7;15940:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;15873:110:::0;:::o;6139:244::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6248:1:::1;6228:22;;:8;:22;;;;6220:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6338:8;6309:38;;6330:6;::::0;::::1;;;;;;;;6309:38;;;;;;;;;;;;6367:8;6358:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6139:244:::0;:::o;16670:190::-;5814:12;:10;:12::i;:::-;5803:23;;:7;:5;:7::i;:::-;:23;;;5795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16780:13:::1;16756:21;;:37;;;;;;;;;;;;;;;;;;16809:43;16838:13;16809:43;;;;;;:::i;:::-;;;;;;;;16670:190:::0;:::o;1679:98::-;1732:7;1759:10;1752:17;;1679:98;:::o;18233:266::-;18345:1;18328:19;;:5;:19;;;;:44;;;;;18370:1;18351:21;;:7;:21;;;;18328:44;18320:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;18435:6;18405:11;:18;18417:5;18405:18;;;;;;;;;;;;;;;:27;18424:7;18405:27;;;;;;;;;;;;;;;:36;;;;18473:7;18457:32;;18466:5;18457:32;;;18482:6;18457:32;;;;;;:::i;:::-;;;;;;;;18233:266;;;:::o;18507:1651::-;18749:7;:5;:7::i;:::-;18743:13;;:2;:13;;;;:46;;;;;18779:10;;;;;;;;;;;18773:16;;:2;:16;;;;18743:46;:82;;;;;18820:4;18806:19;;:2;:19;;;;18743:82;:118;;;;;18848:13;;;;;;;;;;;18842:19;;:2;:19;;;;18743:118;:152;;;;;18884:11;;;;;;;;;;;18878:17;;:2;:17;;;;18743:152;:184;;;;;18920:7;:5;:7::i;:::-;18912:15;;:4;:15;;;;18743:184;18739:366;;;18945:18;18966:13;18976:2;18966:9;:13::i;:::-;18945:34;;19027:15;;19016:6;19003:10;:19;;;;:::i;:::-;19002:40;;18994:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;18928:177;18739:366;19141:1;19125:18;;:4;:18;;;;:38;;;;;19161:1;19147:16;;:2;:16;;;;19125:38;19117:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;19217:1;19208:6;:10;19200:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19351:11;;;;;;;;;;;19340:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;19381:16;;;;;;;;;;;19380:17;19340:57;:95;;;;;19422:13;;;;;;;;;;;19414:21;;:4;:21;;;;19340:95;:133;;;;;19452:21;;;;;;;;;;;19340:133;19323:394;;;19526:1;19516:7;;:11;;;;;;;;;;;;;;;;;;19542:28;19573:24;19591:4;19573:9;:24::i;:::-;19542:55;;19638:1;19615:20;:24;19612:94;;;19655:36;19670:20;19655:14;:36::i;:::-;19612:94;19499:218;19323:394;19739:12;19754:4;19739:19;;19783:18;:24;19802:4;19783:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;19811:18;:22;19830:2;19811:22;;;;;;;;;;;;;;;;;;;;;;;;;19783:50;:119;;;;19838:15;;;;;;;;;;:40;;;;;19865:13;;;;;;;;;;;19857:21;;:4;:21;;;;19838:40;:63;;;;;19888:13;;;;;;;;;;;19882:19;;:2;:19;;;;19838:63;19783:119;19780:320;;;19928:5;19918:15;;19780:320;;;19963:13;;;;;;;;;;;19955:21;;:4;:21;;;19951:149;;;20004:7;;19992:9;:19;;;;19951:149;;;20039:13;;;;;;;;;;;20033:19;;:2;:19;;;20029:71;;;20080:8;;20068:9;:20;;;;20029:71;19951:149;19780:320;20112:38;20127:4;20132:2;20135:6;20142:7;20112:14;:38::i;:::-;18610:1548;18507:1651;;;:::o;1212:206::-;1298:7;1356:1;1351;:6;;1359:12;1343:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1398:1;1394;:5;1387:12;;1212:206;;;;;:::o;784:98::-;842:7;873:1;869;:5;;;;:::i;:::-;862:12;;784:98;;;;:::o;20374:242::-;12866:4;12847:16;;:23;;;;;;;;;;;;;;;;;;20469:38:::1;20486:20;20469:16;:38::i;:::-;20518:19;20540:21;20518:43;;20572:36;20585:10;;;;;;;;;;;20596:11;20572:12;:36::i;:::-;20448:168;12912:5:::0;12893:16;;:24;;;;;;;;;;;;;;;;;;20374:242;:::o;21211:350::-;21336:7;21332:107;;21359:14;:12;:14::i;:::-;21332:107;;;21414:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;21332:107;21449:42;21465:6;21473:9;21484:6;21449:15;:42::i;:::-;21516:7;21512:41;;21538:15;:13;:15::i;:::-;21512:41;21211:350;;;;:::o;20675:474::-;20743:21;20781:1;20767:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20743:40;;20812:4;20794;20799:1;20794:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20838:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20828:4;20833:1;20828:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;20871:62;20888:4;20903:15;;;;;;;;;;;20921:11;20871:8;:62::i;:::-;20944:15;;;;;;;;;;;:66;;;21025:11;21051:1;21068:4;21095;21115:15;20944:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20730:419;20675:474;:::o;20204:120::-;20289:6;:15;;:23;20305:6;20289:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20204:120;;:::o;17695:298::-;17754:1;17741:9;;:14;:30;;;;;17770:1;17759:7;;:12;17741:30;:47;;;;;17787:1;17775:8;;:13;17741:47;17738:59;;;17790:7;;17738:59;17827:7;;17809:15;:25;;;;17865:8;;17846:16;:27;;;;17905:9;;17885:17;:29;;;;17935:1;17925:7;:11;;;;17958:1;17947:8;:12;;;;17982:1;17970:9;:13;;;;17695:298;:::o;21642:434::-;21749:23;21774:12;21790:19;21801:7;21790:10;:19::i;:::-;21748:61;;;;21838:28;21858:7;21838;:15;21846:6;21838:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;21820:7;:15;21828:6;21820:15;;;;;;;;;;;;;;;:46;;;;21898:39;21921:15;21898:7;:18;21906:9;21898:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;21877:7;:18;21885:9;21877:18;;;;;;;;;;;;;;;:60;;;;21973:32;22000:4;21973:7;:22;21989:4;21973:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;21948:7;:22;21964:4;21948:22;;;;;;;;;;;;;;;:57;;;;22041:9;22024:44;;22033:6;22024:44;;;22052:15;22024:44;;;;;;:::i;:::-;;;;;;;;21727:349;;21642:434;;;:::o;18030:153::-;18088:17;;18076:9;:29;;;;18122:15;;18112:7;:25;;;;18156:16;;18145:8;:27;;;;18030:153::o;22124:237::-;22183:7;22192;22212:12;22227:31;22254:3;22227:22;22239:9;;22227:7;:11;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;22212:46;;22269:23;22295:17;22307:4;22295:7;:11;;:17;;;;:::i;:::-;22269:43;;22331:15;22348:4;22323:30;;;;;;22124:237;;;:::o;890:98::-;948:7;979:1;975;:5;;;;:::i;:::-;968:12;;890:98;;;;:::o;996:::-;1054:7;1085:1;1081;:5;;;;:::i;:::-;1074:12;;996:98;;;;:::o;1106:::-;1164:7;1195:1;1191;:5;;;;:::i;:::-;1184:12;;1106:98;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;425:139::-;471:5;509:6;496:20;487:29;;525:33;552:5;525:33;:::i;:::-;425:139;;;;:::o;570:143::-;627:5;658:6;652:13;643:22;;674:33;701:5;674:33;:::i;:::-;570:143;;;;:::o;719:155::-;773:5;811:6;798:20;789:29;;827:41;862:5;827:41;:::i;:::-;719:155;;;;:::o;880:133::-;923:5;961:6;948:20;939:29;;977:30;1001:5;977:30;:::i;:::-;880:133;;;;:::o;1033:340::-;1089:5;1138:3;1131:4;1123:6;1119:17;1115:27;1105:122;;1146:79;;:::i;:::-;1105:122;1263:6;1250:20;1288:79;1363:3;1355:6;1348:4;1340:6;1336:17;1288:79;:::i;:::-;1279:88;;1095:278;1033:340;;;;:::o;1379:139::-;1425:5;1463:6;1450:20;1441:29;;1479:33;1506:5;1479:33;:::i;:::-;1379:139;;;;:::o;1524:135::-;1568:5;1606:6;1593:20;1584:29;;1622:31;1647:5;1622:31;:::i;:::-;1524:135;;;;:::o;1665:329::-;1724:6;1773:2;1761:9;1752:7;1748:23;1744:32;1741:119;;;1779:79;;:::i;:::-;1741:119;1899:1;1924:53;1969:7;1960:6;1949:9;1945:22;1924:53;:::i;:::-;1914:63;;1870:117;1665:329;;;;:::o;2000:351::-;2070:6;2119:2;2107:9;2098:7;2094:23;2090:32;2087:119;;;2125:79;;:::i;:::-;2087:119;2245:1;2270:64;2326:7;2317:6;2306:9;2302:22;2270:64;:::i;:::-;2260:74;;2216:128;2000:351;;;;:::o;2357:345::-;2424:6;2473:2;2461:9;2452:7;2448:23;2444:32;2441:119;;;2479:79;;:::i;:::-;2441:119;2599:1;2624:61;2677:7;2668:6;2657:9;2653:22;2624:61;:::i;:::-;2614:71;;2570:125;2357:345;;;;:::o;2708:474::-;2776:6;2784;2833:2;2821:9;2812:7;2808:23;2804:32;2801:119;;;2839:79;;:::i;:::-;2801:119;2959:1;2984:53;3029:7;3020:6;3009:9;3005:22;2984:53;:::i;:::-;2974:63;;2930:117;3086:2;3112:53;3157:7;3148:6;3137:9;3133:22;3112:53;:::i;:::-;3102:63;;3057:118;2708:474;;;;;:::o;3188:619::-;3265:6;3273;3281;3330:2;3318:9;3309:7;3305:23;3301:32;3298:119;;;3336:79;;:::i;:::-;3298:119;3456:1;3481:53;3526:7;3517:6;3506:9;3502:22;3481:53;:::i;:::-;3471:63;;3427:117;3583:2;3609:53;3654:7;3645:6;3634:9;3630:22;3609:53;:::i;:::-;3599:63;;3554:118;3711:2;3737:53;3782:7;3773:6;3762:9;3758:22;3737:53;:::i;:::-;3727:63;;3682:118;3188:619;;;;;:::o;3813:474::-;3881:6;3889;3938:2;3926:9;3917:7;3913:23;3909:32;3906:119;;;3944:79;;:::i;:::-;3906:119;4064:1;4089:53;4134:7;4125:6;4114:9;4110:22;4089:53;:::i;:::-;4079:63;;4035:117;4191:2;4217:53;4262:7;4253:6;4242:9;4238:22;4217:53;:::i;:::-;4207:63;;4162:118;3813:474;;;;;:::o;4293:323::-;4349:6;4398:2;4386:9;4377:7;4373:23;4369:32;4366:119;;;4404:79;;:::i;:::-;4366:119;4524:1;4549:50;4591:7;4582:6;4571:9;4567:22;4549:50;:::i;:::-;4539:60;;4495:114;4293:323;;;;:::o;4622:834::-;4710:6;4718;4767:2;4755:9;4746:7;4742:23;4738:32;4735:119;;;4773:79;;:::i;:::-;4735:119;4921:1;4910:9;4906:17;4893:31;4951:18;4943:6;4940:30;4937:117;;;4973:79;;:::i;:::-;4937:117;5078:63;5133:7;5124:6;5113:9;5109:22;5078:63;:::i;:::-;5068:73;;4864:287;5218:2;5207:9;5203:18;5190:32;5249:18;5241:6;5238:30;5235:117;;;5271:79;;:::i;:::-;5235:117;5376:63;5431:7;5422:6;5411:9;5407:22;5376:63;:::i;:::-;5366:73;;5161:288;4622:834;;;;;:::o;5462:329::-;5521:6;5570:2;5558:9;5549:7;5545:23;5541:32;5538:119;;;5576:79;;:::i;:::-;5538:119;5696:1;5721:53;5766:7;5757:6;5746:9;5742:22;5721:53;:::i;:::-;5711:63;;5667:117;5462:329;;;;:::o;5797:474::-;5865:6;5873;5922:2;5910:9;5901:7;5897:23;5893:32;5890:119;;;5928:79;;:::i;:::-;5890:119;6048:1;6073:53;6118:7;6109:6;6098:9;6094:22;6073:53;:::i;:::-;6063:63;;6019:117;6175:2;6201:53;6246:7;6237:6;6226:9;6222:22;6201:53;:::i;:::-;6191:63;;6146:118;5797:474;;;;;:::o;6277:325::-;6334:6;6383:2;6371:9;6362:7;6358:23;6354:32;6351:119;;;6389:79;;:::i;:::-;6351:119;6509:1;6534:51;6577:7;6568:6;6557:9;6553:22;6534:51;:::i;:::-;6524:61;;6480:115;6277:325;;;;:::o;6608:179::-;6677:10;6698:46;6740:3;6732:6;6698:46;:::i;:::-;6776:4;6771:3;6767:14;6753:28;;6608:179;;;;:::o;6793:108::-;6870:24;6888:5;6870:24;:::i;:::-;6865:3;6858:37;6793:108;;:::o;6907:118::-;6994:24;7012:5;6994:24;:::i;:::-;6989:3;6982:37;6907:118;;:::o;7061:732::-;7180:3;7209:54;7257:5;7209:54;:::i;:::-;7279:86;7358:6;7353:3;7279:86;:::i;:::-;7272:93;;7389:56;7439:5;7389:56;:::i;:::-;7468:7;7499:1;7484:284;7509:6;7506:1;7503:13;7484:284;;;7585:6;7579:13;7612:63;7671:3;7656:13;7612:63;:::i;:::-;7605:70;;7698:60;7751:6;7698:60;:::i;:::-;7688:70;;7544:224;7531:1;7528;7524:9;7519:14;;7484:284;;;7488:14;7784:3;7777:10;;7185:608;;;7061:732;;;;:::o;7799:109::-;7880:21;7895:5;7880:21;:::i;:::-;7875:3;7868:34;7799:109;;:::o;7914:183::-;8027:63;8084:5;8027:63;:::i;:::-;8022:3;8015:76;7914:183;;:::o;8103:147::-;8198:45;8237:5;8198:45;:::i;:::-;8193:3;8186:58;8103:147;;:::o;8256:364::-;8344:3;8372:39;8405:5;8372:39;:::i;:::-;8427:71;8491:6;8486:3;8427:71;:::i;:::-;8420:78;;8507:52;8552:6;8547:3;8540:4;8533:5;8529:16;8507:52;:::i;:::-;8584:29;8606:6;8584:29;:::i;:::-;8579:3;8575:39;8568:46;;8348:272;8256:364;;;;:::o;8626:366::-;8768:3;8789:67;8853:2;8848:3;8789:67;:::i;:::-;8782:74;;8865:93;8954:3;8865:93;:::i;:::-;8983:2;8978:3;8974:12;8967:19;;8626:366;;;:::o;8998:::-;9140:3;9161:67;9225:2;9220:3;9161:67;:::i;:::-;9154:74;;9237:93;9326:3;9237:93;:::i;:::-;9355:2;9350:3;9346:12;9339:19;;8998:366;;;:::o;9370:::-;9512:3;9533:67;9597:2;9592:3;9533:67;:::i;:::-;9526:74;;9609:93;9698:3;9609:93;:::i;:::-;9727:2;9722:3;9718:12;9711:19;;9370:366;;;:::o;9742:::-;9884:3;9905:67;9969:2;9964:3;9905:67;:::i;:::-;9898:74;;9981:93;10070:3;9981:93;:::i;:::-;10099:2;10094:3;10090:12;10083:19;;9742:366;;;:::o;10114:::-;10256:3;10277:67;10341:2;10336:3;10277:67;:::i;:::-;10270:74;;10353:93;10442:3;10353:93;:::i;:::-;10471:2;10466:3;10462:12;10455:19;;10114:366;;;:::o;10486:::-;10628:3;10649:67;10713:2;10708:3;10649:67;:::i;:::-;10642:74;;10725:93;10814:3;10725:93;:::i;:::-;10843:2;10838:3;10834:12;10827:19;;10486:366;;;:::o;10858:::-;11000:3;11021:67;11085:2;11080:3;11021:67;:::i;:::-;11014:74;;11097:93;11186:3;11097:93;:::i;:::-;11215:2;11210:3;11206:12;11199:19;;10858:366;;;:::o;11230:118::-;11317:24;11335:5;11317:24;:::i;:::-;11312:3;11305:37;11230:118;;:::o;11354:112::-;11437:22;11453:5;11437:22;:::i;:::-;11432:3;11425:35;11354:112;;:::o;11472:222::-;11565:4;11603:2;11592:9;11588:18;11580:26;;11616:71;11684:1;11673:9;11669:17;11660:6;11616:71;:::i;:::-;11472:222;;;;:::o;11700:210::-;11787:4;11825:2;11814:9;11810:18;11802:26;;11838:65;11900:1;11889:9;11885:17;11876:6;11838:65;:::i;:::-;11700:210;;;;:::o;11916:274::-;12035:4;12073:2;12062:9;12058:18;12050:26;;12086:97;12180:1;12169:9;12165:17;12156:6;12086:97;:::i;:::-;11916:274;;;;:::o;12196:313::-;12309:4;12347:2;12336:9;12332:18;12324:26;;12396:9;12390:4;12386:20;12382:1;12371:9;12367:17;12360:47;12424:78;12497:4;12488:6;12424:78;:::i;:::-;12416:86;;12196:313;;;;:::o;12515:419::-;12681:4;12719:2;12708:9;12704:18;12696:26;;12768:9;12762:4;12758:20;12754:1;12743:9;12739:17;12732:47;12796:131;12922:4;12796:131;:::i;:::-;12788:139;;12515:419;;;:::o;12940:::-;13106:4;13144:2;13133:9;13129:18;13121:26;;13193:9;13187:4;13183:20;13179:1;13168:9;13164:17;13157:47;13221:131;13347:4;13221:131;:::i;:::-;13213:139;;12940:419;;;:::o;13365:::-;13531:4;13569:2;13558:9;13554:18;13546:26;;13618:9;13612:4;13608:20;13604:1;13593:9;13589:17;13582:47;13646:131;13772:4;13646:131;:::i;:::-;13638:139;;13365:419;;;:::o;13790:::-;13956:4;13994:2;13983:9;13979:18;13971:26;;14043:9;14037:4;14033:20;14029:1;14018:9;14014:17;14007:47;14071:131;14197:4;14071:131;:::i;:::-;14063:139;;13790:419;;;:::o;14215:::-;14381:4;14419:2;14408:9;14404:18;14396:26;;14468:9;14462:4;14458:20;14454:1;14443:9;14439:17;14432:47;14496:131;14622:4;14496:131;:::i;:::-;14488:139;;14215:419;;;:::o;14640:::-;14806:4;14844:2;14833:9;14829:18;14821:26;;14893:9;14887:4;14883:20;14879:1;14868:9;14864:17;14857:47;14921:131;15047:4;14921:131;:::i;:::-;14913:139;;14640:419;;;:::o;15065:::-;15231:4;15269:2;15258:9;15254:18;15246:26;;15318:9;15312:4;15308:20;15304:1;15293:9;15289:17;15282:47;15346:131;15472:4;15346:131;:::i;:::-;15338:139;;15065:419;;;:::o;15490:222::-;15583:4;15621:2;15610:9;15606:18;15598:26;;15634:71;15702:1;15691:9;15687:17;15678:6;15634:71;:::i;:::-;15490:222;;;;:::o;15718:831::-;15981:4;16019:3;16008:9;16004:19;15996:27;;16033:71;16101:1;16090:9;16086:17;16077:6;16033:71;:::i;:::-;16114:80;16190:2;16179:9;16175:18;16166:6;16114:80;:::i;:::-;16241:9;16235:4;16231:20;16226:2;16215:9;16211:18;16204:48;16269:108;16372:4;16363:6;16269:108;:::i;:::-;16261:116;;16387:72;16455:2;16444:9;16440:18;16431:6;16387:72;:::i;:::-;16469:73;16537:3;16526:9;16522:19;16513:6;16469:73;:::i;:::-;15718:831;;;;;;;;:::o;16555:214::-;16644:4;16682:2;16671:9;16667:18;16659:26;;16695:67;16759:1;16748:9;16744:17;16735:6;16695:67;:::i;:::-;16555:214;;;;:::o;16775:129::-;16809:6;16836:20;;:::i;:::-;16826:30;;16865:33;16893:4;16885:6;16865:33;:::i;:::-;16775:129;;;:::o;16910:75::-;16943:6;16976:2;16970:9;16960:19;;16910:75;:::o;16991:308::-;17053:4;17143:18;17135:6;17132:30;17129:56;;;17165:18;;:::i;:::-;17129:56;17203:29;17225:6;17203:29;:::i;:::-;17195:37;;17287:4;17281;17277:15;17269:23;;16991:308;;;:::o;17305:132::-;17372:4;17395:3;17387:11;;17425:4;17420:3;17416:14;17408:22;;17305:132;;;:::o;17443:114::-;17510:6;17544:5;17538:12;17528:22;;17443:114;;;:::o;17563:99::-;17615:6;17649:5;17643:12;17633:22;;17563:99;;;:::o;17668:113::-;17738:4;17770;17765:3;17761:14;17753:22;;17668:113;;;:::o;17787:184::-;17886:11;17920:6;17915:3;17908:19;17960:4;17955:3;17951:14;17936:29;;17787:184;;;;:::o;17977:169::-;18061:11;18095:6;18090:3;18083:19;18135:4;18130:3;18126:14;18111:29;;17977:169;;;;:::o;18152:305::-;18192:3;18211:20;18229:1;18211:20;:::i;:::-;18206:25;;18245:20;18263:1;18245:20;:::i;:::-;18240:25;;18399:1;18331:66;18327:74;18324:1;18321:81;18318:107;;;18405:18;;:::i;:::-;18318:107;18449:1;18446;18442:9;18435:16;;18152:305;;;;:::o;18463:185::-;18503:1;18520:20;18538:1;18520:20;:::i;:::-;18515:25;;18554:20;18572:1;18554:20;:::i;:::-;18549:25;;18593:1;18583:35;;18598:18;;:::i;:::-;18583:35;18640:1;18637;18633:9;18628:14;;18463:185;;;;:::o;18654:848::-;18715:5;18722:4;18746:6;18737:15;;18770:5;18761:14;;18784:712;18805:1;18795:8;18792:15;18784:712;;;18900:4;18895:3;18891:14;18885:4;18882:24;18879:50;;;18909:18;;:::i;:::-;18879:50;18959:1;18949:8;18945:16;18942:451;;;19374:4;19367:5;19363:16;19354:25;;18942:451;19424:4;19418;19414:15;19406:23;;19454:32;19477:8;19454:32;:::i;:::-;19442:44;;18784:712;;;18654:848;;;;;;;:::o;19508:281::-;19566:5;19590:23;19608:4;19590:23;:::i;:::-;19582:31;;19634:25;19650:8;19634:25;:::i;:::-;19622:37;;19678:104;19715:66;19705:8;19699:4;19678:104;:::i;:::-;19669:113;;19508:281;;;;:::o;19795:1073::-;19849:5;20040:8;20030:40;;20061:1;20052:10;;20063:5;;20030:40;20089:4;20079:36;;20106:1;20097:10;;20108:5;;20079:36;20175:4;20223:1;20218:27;;;;20259:1;20254:191;;;;20168:277;;20218:27;20236:1;20227:10;;20238:5;;;20254:191;20299:3;20289:8;20286:17;20283:43;;;20306:18;;:::i;:::-;20283:43;20355:8;20352:1;20348:16;20339:25;;20390:3;20383:5;20380:14;20377:40;;;20397:18;;:::i;:::-;20377:40;20430:5;;;20168:277;;20554:2;20544:8;20541:16;20535:3;20529:4;20526:13;20522:36;20504:2;20494:8;20491:16;20486:2;20480:4;20477:12;20473:35;20457:111;20454:246;;;20610:8;20604:4;20600:19;20591:28;;20645:3;20638:5;20635:14;20632:40;;;20652:18;;:::i;:::-;20632:40;20685:5;;20454:246;20725:42;20763:3;20753:8;20747:4;20744:1;20725:42;:::i;:::-;20710:57;;;;20799:4;20794:3;20790:14;20783:5;20780:25;20777:51;;;20808:18;;:::i;:::-;20777:51;20857:4;20850:5;20846:16;20837:25;;19795:1073;;;;;;:::o;20874:348::-;20914:7;20937:20;20955:1;20937:20;:::i;:::-;20932:25;;20971:20;20989:1;20971:20;:::i;:::-;20966:25;;21159:1;21091:66;21087:74;21084:1;21081:81;21076:1;21069:9;21062:17;21058:105;21055:131;;;21166:18;;:::i;:::-;21055:131;21214:1;21211;21207:9;21196:20;;20874:348;;;;:::o;21228:191::-;21268:4;21288:20;21306:1;21288:20;:::i;:::-;21283:25;;21322:20;21340:1;21322:20;:::i;:::-;21317:25;;21361:1;21358;21355:8;21352:34;;;21366:18;;:::i;:::-;21352:34;21411:1;21408;21404:9;21396:17;;21228:191;;;;:::o;21425:96::-;21462:7;21491:24;21509:5;21491:24;:::i;:::-;21480:35;;21425:96;;;:::o;21527:104::-;21572:7;21601:24;21619:5;21601:24;:::i;:::-;21590:35;;21527:104;;;:::o;21637:90::-;21671:7;21714:5;21707:13;21700:21;21689:32;;21637:90;;;:::o;21733:126::-;21770:7;21810:42;21803:5;21799:54;21788:65;;21733:126;;;:::o;21865:77::-;21902:7;21931:5;21920:16;;21865:77;;;:::o;21948:86::-;21983:7;22023:4;22016:5;22012:16;22001:27;;21948:86;;;:::o;22040:152::-;22116:9;22149:37;22180:5;22149:37;:::i;:::-;22136:50;;22040:152;;;:::o;22198:121::-;22256:9;22289:24;22307:5;22289:24;:::i;:::-;22276:37;;22198:121;;;:::o;22325:126::-;22375:9;22408:37;22439:5;22408:37;:::i;:::-;22395:50;;22325:126;;;:::o;22457:113::-;22507:9;22540:24;22558:5;22540:24;:::i;:::-;22527:37;;22457:113;;;:::o;22576:154::-;22660:6;22655:3;22650;22637:30;22722:1;22713:6;22708:3;22704:16;22697:27;22576:154;;;:::o;22736:307::-;22804:1;22814:113;22828:6;22825:1;22822:13;22814:113;;;22913:1;22908:3;22904:11;22898:18;22894:1;22889:3;22885:11;22878:39;22850:2;22847:1;22843:10;22838:15;;22814:113;;;22945:6;22942:1;22939:13;22936:101;;;23025:1;23016:6;23011:3;23007:16;23000:27;22936:101;22785:258;22736:307;;;:::o;23049:320::-;23093:6;23130:1;23124:4;23120:12;23110:22;;23177:1;23171:4;23167:12;23198:18;23188:81;;23254:4;23246:6;23242:17;23232:27;;23188:81;23316:2;23308:6;23305:14;23285:18;23282:38;23279:84;;;23335:18;;:::i;:::-;23279:84;23100:269;23049:320;;;:::o;23375:281::-;23458:27;23480:4;23458:27;:::i;:::-;23450:6;23446:40;23588:6;23576:10;23573:22;23552:18;23540:10;23537:34;23534:62;23531:88;;;23599:18;;:::i;:::-;23531:88;23639:10;23635:2;23628:22;23418:238;23375:281;;:::o;23662:167::-;23699:3;23722:22;23738:5;23722:22;:::i;:::-;23713:31;;23766:4;23759:5;23756:15;23753:41;;;23774:18;;:::i;:::-;23753:41;23821:1;23814:5;23810:13;23803:20;;23662:167;;;:::o;23835:180::-;23883:77;23880:1;23873:88;23980:4;23977:1;23970:15;24004:4;24001:1;23994:15;24021:180;24069:77;24066:1;24059:88;24166:4;24163:1;24156:15;24190:4;24187:1;24180:15;24207:180;24255:77;24252:1;24245:88;24352:4;24349:1;24342:15;24376:4;24373:1;24366:15;24393:180;24441:77;24438:1;24431:88;24538:4;24535:1;24528:15;24562:4;24559:1;24552:15;24579:180;24627:77;24624:1;24617:88;24724:4;24721:1;24714:15;24748:4;24745:1;24738:15;24765:117;24874:1;24871;24864:12;24888:117;24997:1;24994;24987:12;25011:117;25120:1;25117;25110:12;25134:117;25243:1;25240;25233:12;25257:102;25298:6;25349:2;25345:7;25340:2;25333:5;25329:14;25325:28;25315:38;;25257:102;;;:::o;25365:::-;25407:8;25454:5;25451:1;25447:13;25426:34;;25365:102;;;:::o;25473:227::-;25613:34;25609:1;25601:6;25597:14;25590:58;25682:10;25677:2;25669:6;25665:15;25658:35;25473:227;:::o;25706:176::-;25846:28;25842:1;25834:6;25830:14;25823:52;25706:176;:::o;25888:225::-;26028:34;26024:1;26016:6;26012:14;26005:58;26097:8;26092:2;26084:6;26080:15;26073:33;25888:225;:::o;26119:224::-;26259:34;26255:1;26247:6;26243:14;26236:58;26328:7;26323:2;26315:6;26311:15;26304:32;26119:224;:::o;26349:171::-;26489:23;26485:1;26477:6;26473:14;26466:47;26349:171;:::o;26526:182::-;26666:34;26662:1;26654:6;26650:14;26643:58;26526:182;:::o;26714:167::-;26854:19;26850:1;26842:6;26838:14;26831:43;26714:167;:::o;26887:122::-;26960:24;26978:5;26960:24;:::i;:::-;26953:5;26950:35;26940:63;;26999:1;26996;26989:12;26940:63;26887:122;:::o;27015:138::-;27096:32;27122:5;27096:32;:::i;:::-;27089:5;27086:43;27076:71;;27143:1;27140;27133:12;27076:71;27015:138;:::o;27159:116::-;27229:21;27244:5;27229:21;:::i;:::-;27222:5;27219:32;27209:60;;27265:1;27262;27255:12;27209:60;27159:116;:::o;27281:122::-;27354:24;27372:5;27354:24;:::i;:::-;27347:5;27344:35;27334:63;;27393:1;27390;27383:12;27334:63;27281:122;:::o;27409:118::-;27480:22;27496:5;27480:22;:::i;:::-;27473:5;27470:33;27460:61;;27517:1;27514;27507:12;27460:61;27409:118;:::o

Swarm Source

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