ETH Price: $2,972.56 (+1.41%)
Gas: 1 Gwei

Token

Wicked Bet (WIK)
 

Overview

Max Total Supply

100,000,000 WIK

Holders

1,625 (0.00%)

Market

Price

$0.03 @ 0.000010 ETH (-8.51%)

Onchain Market Cap

$3,083,074.00

Circulating Supply Market Cap

$1,502,140.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,940.18765528231500342 WIK

Value
$121.48 ( ~0.0408670722352002 Eth) [0.0039%]
0xB12AfccDCf54565B814DE1CB71ABFD5C64A181ca
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Wicked Bet are proud to offer fully-insured worldwide lotto bets & $50,000,000 jackpots with Crypto.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
WICKEDBET

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/**WickedBet... Win the Lot! 

 The first ever business to offer fully-insured global lotto bets with Crypto.

Linktree: https://linktr.ee/wickedbet

*/

pragma solidity 0.8.13;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Burn(address indexed from, address indexed to, uint256 value);
}

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

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


abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    address ZERO = 0x0000000000000000000000000000000000000000;

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

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(ZERO);
    }

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

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


interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}


interface IDEXRouter {
    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 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 WICKEDBET is IERC20, Ownable {

    address private WETH;

    string private constant _name = "Wicked Bet";
    string private constant _symbol = "WIK";
    uint8 private constant _decimals = 18;
    
    uint256 _totalSupply = 1 * 10**8 * (10 ** _decimals);
    uint256 public swapThreshold = _totalSupply / 1000; // Starting at 0.1%

    mapping (address => uint256) private _balances;
    mapping (address => mapping(address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;

    address DEAD = 0x000000000000000000000000000000000000dEaD;

    uint[3] taxesCollected = [0, 0];

    uint256 public launchedAt;
    address public liquidityPool = DEAD;

    // All fees are in basis points (100 = 1%)
    uint256 private buyWik = 300;
    uint256 private sellWik = 300;
    uint256 private buyLP = 200;
    uint256 private sellLP = 200;
    uint256 private xferBurn = 50;

    uint256 _baseBuyFee = buyWik + buyLP;
    uint256 _baseSellFee = sellWik + sellLP;

    IDEXRouter public router;
    address public pair;
    address public factory;
    address public wickedWallet = payable(0x000000000000000000000000000000000000dEaD);

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public tradingOpen = false;

    //Event Logs
    event LiquidityPoolUpdated(address indexed _newPool);
    event WickedWalletUpdated(address indexed _newWallet);
    event RouterUpdated(IDEXRouter indexed _newRouter);
    event BuyFeesUpdated(uint256 _newWik, uint256 _newLp);
    event SellFeesUpdated(uint256 _neWik, uint256 _newLp);
    event FeeExemptionChanged(address indexed _exemptWallet, bool _exempt);
    event SwapbackSettingsChanged(bool _enabled, uint256 _newSwapbackAmount);


    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            
        WETH = router.WETH();
        
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[owner()] = true;
        isFeeExempt[wickedWallet] = true;
        isFeeExempt[address(this)] = true;

        _balances[owner()] = _totalSupply;
    
        emit Transfer(address(0), owner(), _totalSupply);
    }

    receive() external payable { }

    function launchSequence() external onlyOwner {
	    require(launchedAt == 0, "Already launched");
        launchedAt = block.number;
        tradingOpen = true;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function baseBuyFee() external view returns (uint256) {return _baseBuyFee; }
    function baseSellFee() external view returns (uint256) {return _baseSellFee; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

//Transfer Functions

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transfer(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "BEP20: transfer from the zero address");
        require(recipient != address(0), "BEP20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(!isFeeExempt[sender] && !isFeeExempt[recipient]) { require(tradingOpen, "Trading not active"); }
        if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); }
    	if(sender != pair && recipient != pair) { return _burnTransfer(sender, recipient, amount); }
        if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); }

        _balances[sender] = _balances[sender] - amount;
        
        uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount;

        _balances[recipient] = _balances[recipient] + finalAmount;

        emit Transfer(sender, recipient, finalAmount);
        return true;
    }  

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }  

    function _burnTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint _burnFee = amount * xferBurn / 10000;
        uint256 _finalAmount = !isFeeExempt[sender] ? amount - _burnFee : amount;

        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + _finalAmount;

        if(!isFeeExempt[sender]) { 
            _balances[DEAD] = _balances[DEAD] + _burnFee; 
            emit Burn(sender, DEAD, _burnFee); 
            }

        emit Transfer(sender, recipient, _finalAmount);
        return true;
    }

//Tax Functions

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 wikTaxB = amount * buyWik / 10000;
	    uint256 wikTaxS = amount * sellWik / 10000;
        uint256 lpTaxB = amount * buyLP / 10000;
	    uint256 lpTaxS = amount * sellLP / 10000;
        uint256 taxToGet;

	    if(sender == pair && recipient != address(pair) && !isFeeExempt[recipient]) {
            taxToGet = wikTaxB + lpTaxB;
	        addTaxCollected(wikTaxB, lpTaxB);
	    }

	    if(!inSwapAndLiquify && sender != pair && tradingOpen) {
	        taxToGet = wikTaxS + lpTaxS;
	        addTaxCollected(wikTaxS, lpTaxS);
	    }

        _balances[address(this)] = _balances[address(this)] + taxToGet;
        emit Transfer(sender, address(this), taxToGet);

        return amount - taxToGet;
    }

    function addTaxCollected(uint wik, uint lp) internal {
        taxesCollected[0] += wik;
        taxesCollected[1] += lp;
    }

//LP and Swapback Functions

    function swapTokensForETH(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        approve(address(this), tokenAmount);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidityPool,
            block.timestamp
        );
    }

    function swapBack() internal lockTheSwap {
    
        uint256 tokenBalance = _balances[address(this)];
        uint256 _totalCollected = taxesCollected[0] + taxesCollected[1];
        uint256 wikShare = taxesCollected[0];
        uint256 lpShare = taxesCollected[1];
        uint256 tokensForLiquidity = lpShare / 2;  
        uint256 amountToSwap = tokenBalance - tokensForLiquidity;

        swapTokensForETH(amountToSwap);

        uint256 totalETHBalance = address(this).balance;
        uint256 ETHForWik = totalETHBalance * wikShare / _totalCollected;
        uint256 ETHForLiquidity = totalETHBalance * lpShare / _totalCollected / 2;
      
        if (totalETHBalance > 0) {
            payable(wickedWallet).transfer(ETHForWik);
        }
  
        if (tokensForLiquidity > 0) {
            addLiquidity(tokensForLiquidity, ETHForLiquidity);
        }

	    delete taxesCollected;
    }

    function manualSwapBack() external onlyOwner {
        swapBack();
    }

// Update/Change Functions

    function changeIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
        emit FeeExemptionChanged(holder, exempt);
    }

    function setWickedWallet(address payable newWickedWallet) external onlyOwner {
        require(newWickedWallet != address(0), "Cannot be set to zero address");
        isFeeExempt[wickedWallet] = false;
        wickedWallet = payable(newWickedWallet);
        isFeeExempt[wickedWallet] = true;
        emit WickedWalletUpdated(newWickedWallet);
    }

    function setLiquidityPool(address newLiquidityPool) external onlyOwner {
        require(newLiquidityPool != address(0), "Cannot be set to zero address");
        liquidityPool = newLiquidityPool;
        emit LiquidityPoolUpdated(newLiquidityPool);
    }

    function changeSwapBackSettings(bool enableSwapback, uint256 newSwapbackLimit) external onlyOwner {
        require(newSwapbackLimit >= 10000 * _decimals, "Limit must be over 10,000 tokens");
        swapAndLiquifyEnabled  = enableSwapback;
        swapThreshold = newSwapbackLimit;
        emit SwapbackSettingsChanged(enableSwapback, newSwapbackLimit);
    }


    function updateBuyFees(uint256 newBuyWikFee, uint256 newBuyLpFee) public onlyOwner {
	    require(newBuyWikFee + newBuyLpFee <= 500, "Fees Too High");
	    buyWik = newBuyWikFee;
	    buyLP = newBuyLpFee;
        emit BuyFeesUpdated(newBuyWikFee, newBuyLpFee);
    }
    
    function updateSellFees(uint256 newSellWikFee,uint256 newSellLpFee) public onlyOwner {
	    require(newSellWikFee + newSellLpFee <= 500, "Fees Too High");
	    sellWik = newSellWikFee;
	    sellLP = newSellLpFee;
        emit SellFeesUpdated(newSellWikFee, newSellLpFee);
    }

    function updateRouter(IDEXRouter _newRouter) external onlyOwner {
        require(_newRouter != IDEXRouter(ZERO), "Cannot be set to zero address");
        require(_newRouter != IDEXRouter(DEAD), "Cannot be set to zero address");
        router = _newRouter;
        emit RouterUpdated(_newRouter);
    }

    function clearStuckETH() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        if(contractETHBalance > 0) { 
            payable(wickedWallet).transfer(contractETHBalance);
    	}
    }

    function clearStuckTokens(address contractAddress) external onlyOwner {
        IERC20 erc20Token = IERC20(contractAddress);
        uint256 balance = erc20Token.balanceOf(address(this));
        erc20Token.transfer(wickedWallet, balance);
        if(contractAddress == address(this)) { delete taxesCollected; }
    }

}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_newWik","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newLp","type":"uint256"}],"name":"BuyFeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_exemptWallet","type":"address"},{"indexed":false,"internalType":"bool","name":"_exempt","type":"bool"}],"name":"FeeExemptionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_newPool","type":"address"}],"name":"LiquidityPoolUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IDEXRouter","name":"_newRouter","type":"address"}],"name":"RouterUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_neWik","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newLp","type":"uint256"}],"name":"SellFeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"_newSwapbackAmount","type":"uint256"}],"name":"SwapbackSettingsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_newWallet","type":"address"}],"name":"WickedWalletUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","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":"baseBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapback","type":"bool"},{"internalType":"uint256","name":"newSwapbackLimit","type":"uint256"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchSequence","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwapBack","outputs":[],"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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityPool","type":"address"}],"name":"setLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWickedWallet","type":"address"}],"name":"setWickedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyWikFee","type":"uint256"},{"internalType":"uint256","name":"newBuyLpFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IDEXRouter","name":"_newRouter","type":"address"}],"name":"updateRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellWikFee","type":"uint256"},{"internalType":"uint256","name":"newSellLpFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wickedWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000056919062000aaa565b6305f5e10062000067919062000afb565b6003556103e86003546200007c919062000b8b565b60045561dead600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600060ff168152602001600060ff168152506009906002620000f1929190620008a7565b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061012c600e5561012c600f5560c860105560c86011556032601255601054600e5462000182919062000bc3565b601355601154600f5462000197919062000bc3565b60145561dead601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601860156101000a81548160ff0219169083151502179055506000601860166101000a81548160ff0219169083151502179055503480156200022057600080fd5b506200024162000235620007b260201b60201c565b620007ba60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032a919062000c8a565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fe919062000c8a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200045c92919062000ccd565b6020604051808303816000875af11580156200047c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a2919062000c8a565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005bb6200087e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060035460056000620006f56200087e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620007436200087e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620007a4919062000d0b565b60405180910390a362000d28565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8260038101928215620008de579160200282015b82811115620008dd578251829060ff16905591602001919060010190620008bb565b5b509050620008ed9190620008f1565b5090565b5b808211156200090c576000816000905550600101620008f2565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200099e5780860481111562000976576200097562000910565b5b6001851615620009865780820291505b808102905062000996856200093f565b945062000956565b94509492505050565b600082620009b9576001905062000a8c565b81620009c9576000905062000a8c565b8160018114620009e25760028114620009ed5762000a23565b600191505062000a8c565b60ff84111562000a025762000a0162000910565b5b8360020a91508482111562000a1c5762000a1b62000910565b5b5062000a8c565b5060208310610133831016604e8410600b841016171562000a5d5782820a90508381111562000a575762000a5662000910565b5b62000a8c565b62000a6c84848460016200094c565b9250905081840481111562000a865762000a8562000910565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000ab78262000a93565b915062000ac48362000a9d565b925062000af37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a7565b905092915050565b600062000b088262000a93565b915062000b158362000a93565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b515762000b5062000910565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b988262000a93565b915062000ba58362000a93565b92508262000bb85762000bb762000b5c565b5b828204905092915050565b600062000bd08262000a93565b915062000bdd8362000a93565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c155762000c1462000910565b5b828201905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c528262000c25565b9050919050565b62000c648162000c45565b811462000c7057600080fd5b50565b60008151905062000c848162000c59565b92915050565b60006020828403121562000ca35762000ca262000c20565b5b600062000cb38482850162000c73565b91505092915050565b62000cc78162000c45565b82525050565b600060408201905062000ce4600083018562000cbc565b62000cf3602083018462000cbc565b9392505050565b62000d058162000a93565b82525050565b600060208201905062000d22600083018462000cfa565b92915050565b613eb58062000d386000396000f3fe6080604052600436106102295760003560e01c8063715018a611610123578063c45a0155116100ab578063dd62ed3e1161006f578063dd62ed3e146107e0578063f2fde38b1461081d578063f887ea4014610846578063f88de0c314610871578063ffb54a991461088857610230565b8063c45a01551461070d578063c851cc3214610738578063cf08527914610761578063d073a01f1461078a578063d726b221146107b557610230565b806395d89b41116100f257806395d89b4114610626578063a3a2e89e14610651578063a8aa1b311461067a578063a9059cbb146106a5578063bf56b371146106e257610230565b8063715018a61461058e57806377052ade146105a5578063893d20e8146105d05780638da5cb5b146105fb57610230565b8063313ce567116101b1578063571ac8b011610175578063571ac8b0146104a9578063665a11ca146104e657806366ca9b831461051157806366eb37851461053a57806370a082311461055157610230565b8063313ce567146103c4578063346cc7be146103ef5780633dab5269146104185780633f4218e0146104415780634a74bb021461047e57610230565b8063095ea7b3116101f8578063095ea7b3146102dd57806318160ddd1461031a57806323b872dd146103455780632b112e49146103825780632ebcbf6c146103ad57610230565b8063018770201461023557806302dbd8f81461025e5780630445b6671461028757806306fdde03146102b257610230565b3661023057005b600080fd5b34801561024157600080fd5b5061025c60048036038101906102579190612f5e565b6108b3565b005b34801561026a57600080fd5b5061028560048036038101906102809190612fc1565b6109b1565b005b34801561029357600080fd5b5061029c610a54565b6040516102a99190613010565b60405180910390f35b3480156102be57600080fd5b506102c7610a5a565b6040516102d491906130c4565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff91906130e6565b610a97565b6040516103119190613141565b60405180910390f35b34801561032657600080fd5b5061032f610b89565b60405161033c9190613010565b60405180910390f35b34801561035157600080fd5b5061036c6004803603810190610367919061315c565b610b93565b6040516103799190613141565b60405180910390f35b34801561038e57600080fd5b50610397610d55565b6040516103a49190613010565b60405180910390f35b3480156103b957600080fd5b506103c2610dc9565b005b3480156103d057600080fd5b506103d9610e3a565b6040516103e691906131cb565b60405180910390f35b3480156103fb57600080fd5b5061041660048036038101906104119190612f5e565b610e43565b005b34801561042457600080fd5b5061043f600480360381019061043a9190613212565b610fb6565b005b34801561044d57600080fd5b5061046860048036038101906104639190612f5e565b611074565b6040516104759190613141565b60405180910390f35b34801561048a57600080fd5b50610493611094565b6040516104a09190613141565b60405180910390f35b3480156104b557600080fd5b506104d060048036038101906104cb9190612f5e565b6110a7565b6040516104dd9190613141565b60405180910390f35b3480156104f257600080fd5b506104fb6110da565b6040516105089190613261565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612fc1565b611100565b005b34801561054657600080fd5b5061054f6111a3565b005b34801561055d57600080fd5b5061057860048036038101906105739190612f5e565b6111b5565b6040516105859190613010565b60405180910390f35b34801561059a57600080fd5b506105a36111fe565b005b3480156105b157600080fd5b506105ba611233565b6040516105c79190613261565b60405180910390f35b3480156105dc57600080fd5b506105e5611259565b6040516105f29190613261565b60405180910390f35b34801561060757600080fd5b50610610611268565b60405161061d9190613261565b60405180910390f35b34801561063257600080fd5b5061063b611291565b60405161064891906130c4565b60405180910390f35b34801561065d57600080fd5b506106786004803603810190610673919061327c565b6112ce565b005b34801561068657600080fd5b5061068f61137f565b60405161069c9190613261565b60405180910390f35b3480156106b157600080fd5b506106cc60048036038101906106c791906130e6565b6113a5565b6040516106d99190613141565b60405180910390f35b3480156106ee57600080fd5b506106f76113ba565b6040516107049190613010565b60405180910390f35b34801561071957600080fd5b506107226113c0565b60405161072f9190613261565b60405180910390f35b34801561074457600080fd5b5061075f600480360381019061075a91906132fa565b6113e6565b005b34801561076d57600080fd5b5061078860048036038101906107839190613365565b611595565b005b34801561079657600080fd5b5061079f611787565b6040516107ac9190613010565b60405180910390f35b3480156107c157600080fd5b506107ca611791565b6040516107d79190613010565b60405180910390f35b3480156107ec57600080fd5b5061080760048036038101906108029190613392565b61179b565b6040516108149190613010565b60405180910390f35b34801561082957600080fd5b50610844600480360381019061083f9190612f5e565b611822565b005b34801561085257600080fd5b5061085b6118c6565b6040516108689190613431565b60405180910390f35b34801561087d57600080fd5b506108866118ec565b005b34801561089457600080fd5b5061089d61196f565b6040516108aa9190613141565b60405180910390f35b6108bb611982565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190613498565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fedf1a035d265f6321083031b40acf4e5e06cd3e2e2025192fd308409b13b44c660405160405180910390a250565b6109b9611982565b6101f481836109c891906134e7565b1115610a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0090613589565b60405180910390fd5b81600f81905550806011819055507f2c7448b63380296b372453c5287509524b5b645dc6a93ffe09e0af53e6b8935b8282604051610a489291906135a9565b60405180910390a15050565b60045481565b60606040518060400160405280600a81526020017f5769636b65642042657400000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b779190613010565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d415781600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc091906135d2565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d4c848484611a00565b90509392505050565b6000610d82600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166111b5565b610dad600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166111b5565b600354610dba91906135d2565b610dc491906135d2565b905090565b610dd1611982565b6000600c5414610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90613652565b60405180910390fd5b43600c819055506001601860166101000a81548160ff021916908315150217905550565b60006012905090565b610e4b611982565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e8b9190613261565b602060405180830381865afa158015610ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecc9190613687565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610f2b9291906136b4565b6020604051808303816000875af1158015610f4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6e91906136f2565b503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fb15760096000610fb09190612ee6565b5b505050565b610fbe611982565b601260ff16612710610fd0919061372d565b61ffff16811015611016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100d906137b5565b60405180910390fd5b81601860156101000a81548160ff021916908315150217905550806004819055507f479b6e261fc1ed1b1a450fd333c906ece427a6ef5cdb37d2762bf1834ea0904882826040516110689291906137d5565b60405180910390a15050565b60076020528060005260406000206000915054906101000a900460ff1681565b601860159054906101000a900460ff1681565b60006110d3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610a97565b9050919050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611108611982565b6101f4818361111791906134e7565b1115611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114f90613589565b60405180910390fd5b81600e81905550806010819055507f480af1f773972b1df72af32ec463e0fdeb1b49f1ca37d07982f677919d5fdd0c82826040516111979291906135a9565b60405180910390a15050565b6111ab611982565b6111b361202f565b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611206611982565b611231600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661222c565b565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611263611268565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f57494b0000000000000000000000000000000000000000000000000000000000815250905090565b6112d6611982565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9f1eaee9ad9cb68284f0dc523aa42c465ed33b53f8da7fc7294ccea47358bbdf826040516113739190613141565b60405180910390a25050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006113b2338484611a00565b905092915050565b600c5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113ee611982565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590613498565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150590613498565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f7aed1d3e8155a07ccf395e44ea3109a0e2d6c9b29bbbe9f142d9790596f4dc8060405160405180910390a250565b61159d611982565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160390613498565b60405180910390fd5b600060076000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7dcbe90a6f2f6836d2909d97d4ef9d89d42a2ba857c3c6d2a4cf1458e048833560405160405180910390a250565b6000601454905090565b6000601354905090565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61182a611982565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b190613870565b60405180910390fd5b6118c38161222c565b50565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118f4611982565b6000479050600081111561196c57601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561196a573d6000803e3d6000fd5b505b50565b601860169054906101000a900460ff1681565b61198a6122f0565b73ffffffffffffffffffffffffffffffffffffffff166119a8611268565b73ffffffffffffffffffffffffffffffffffffffff16146119fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f5906138dc565b60405180910390fd5b565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a679061396e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad690613a00565b60405180910390fd5b60008211611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1990613a92565b60405180910390fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bc65750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c1b57601860169054906101000a900460ff16611c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1190613afe565b60405180910390fd5b5b601860149054906101000a900460ff1615611c4257611c3b8484846122f8565b9050612028565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611cee5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d0557611cfe848484612486565b9050612028565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611d705750601860149054906101000a900460ff16155b8015611d885750601860159054906101000a900460ff165b8015611dd55750600454600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15611de357611de261202f565b5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2e91906135d2565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f175750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f215782611f2d565b611f2c858585612848565b5b905080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7a91906134e7565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161201a9190613010565b60405180910390a360019150505b9392505050565b6001601860146101000a81548160ff0219169083151502179055506000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600060096001600381106120a5576120a4613b1e565b5b015460096000600381106120bc576120bb613b1e565b5b01546120c891906134e7565b9050600060096000600381106120e1576120e0613b1e565b5b01549050600060096001600381106120fc576120fb613b1e565b5b01549050600060028261210f9190613b7c565b90506000818661211f91906135d2565b905061212a81612b94565b6000479050600086868361213e9190613bad565b6121489190613b7c565b90506000600288878561215b9190613bad565b6121659190613b7c565b61216f9190613b7c565b905060008311156121e457601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156121e2573d6000803e3d6000fd5b505b60008511156121f8576121f78582612db5565b5b600960006122069190612ee6565b5050505050505050506000601860146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234591906135d2565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123d391906134e7565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124739190613010565b60405180910390a3600190509392505050565b6000806127106012548461249a9190613bad565b6124a49190613b7c565b90506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612500578361250d565b818461250c91906135d2565b5b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255a91906135d2565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e891906134e7565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127d6578160056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e991906134e7565b60056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fbac40739b0d4ca32fa2d82fc91630465ba3eddd1598da6fca393b26fb63b9453846040516127cd9190613010565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128339190613010565b60405180910390a36001925050509392505050565b600080612710600e548461285c9190613bad565b6128669190613b7c565b90506000612710600f548561287b9190613bad565b6128859190613b7c565b905060006127106010548661289a9190613bad565b6128a49190613b7c565b90506000612710601154876128b99190613bad565b6128c39190613b7c565b90506000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161480156129725750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b80156129c85750600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129e65782856129d991906134e7565b90506129e58584612e88565b5b601860149054906101000a900460ff16158015612a515750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b8015612a695750601860169054906101000a900460ff165b15612a87578184612a7a91906134e7565b9050612a868483612e88565b5b80600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ad291906134e7565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b729190613010565b60405180910390a38087612b8691906135d2565b955050505050509392505050565b6000600267ffffffffffffffff811115612bb157612bb0613c07565b5b604051908082528060200260200182016040528015612bdf5781602001602082028036833780820191505090505b5090503081600081518110612bf757612bf6613b1e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc29190613c4b565b81600181518110612cd657612cd5613b1e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d1a3083610a97565b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612d7f959493929190613d71565b600060405180830381600087803b158015612d9957600080fd5b505af1158015612dad573d6000803e3d6000fd5b505050505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612e3e96959493929190613dcb565b60606040518083038185885af1158015612e5c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e819190613e2c565b5050505050565b816009600060038110612e9e57612e9d613b1e565b5b016000828254612eae91906134e7565b92505081905550806009600160038110612ecb57612eca613b1e565b5b016000828254612edb91906134e7565b925050819055505050565b50600081556001016000815560010160009055565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f2b82612f00565b9050919050565b612f3b81612f20565b8114612f4657600080fd5b50565b600081359050612f5881612f32565b92915050565b600060208284031215612f7457612f73612efb565b5b6000612f8284828501612f49565b91505092915050565b6000819050919050565b612f9e81612f8b565b8114612fa957600080fd5b50565b600081359050612fbb81612f95565b92915050565b60008060408385031215612fd857612fd7612efb565b5b6000612fe685828601612fac565b9250506020612ff785828601612fac565b9150509250929050565b61300a81612f8b565b82525050565b60006020820190506130256000830184613001565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561306557808201518184015260208101905061304a565b83811115613074576000848401525b50505050565b6000601f19601f8301169050919050565b60006130968261302b565b6130a08185613036565b93506130b0818560208601613047565b6130b98161307a565b840191505092915050565b600060208201905081810360008301526130de818461308b565b905092915050565b600080604083850312156130fd576130fc612efb565b5b600061310b85828601612f49565b925050602061311c85828601612fac565b9150509250929050565b60008115159050919050565b61313b81613126565b82525050565b60006020820190506131566000830184613132565b92915050565b60008060006060848603121561317557613174612efb565b5b600061318386828701612f49565b935050602061319486828701612f49565b92505060406131a586828701612fac565b9150509250925092565b600060ff82169050919050565b6131c5816131af565b82525050565b60006020820190506131e060008301846131bc565b92915050565b6131ef81613126565b81146131fa57600080fd5b50565b60008135905061320c816131e6565b92915050565b6000806040838503121561322957613228612efb565b5b6000613237858286016131fd565b925050602061324885828601612fac565b9150509250929050565b61325b81612f20565b82525050565b60006020820190506132766000830184613252565b92915050565b6000806040838503121561329357613292612efb565b5b60006132a185828601612f49565b92505060206132b2858286016131fd565b9150509250929050565b60006132c782612f20565b9050919050565b6132d7816132bc565b81146132e257600080fd5b50565b6000813590506132f4816132ce565b92915050565b6000602082840312156133105761330f612efb565b5b600061331e848285016132e5565b91505092915050565b600061333282612f00565b9050919050565b61334281613327565b811461334d57600080fd5b50565b60008135905061335f81613339565b92915050565b60006020828403121561337b5761337a612efb565b5b600061338984828501613350565b91505092915050565b600080604083850312156133a9576133a8612efb565b5b60006133b785828601612f49565b92505060206133c885828601612f49565b9150509250929050565b6000819050919050565b60006133f76133f26133ed84612f00565b6133d2565b612f00565b9050919050565b6000613409826133dc565b9050919050565b600061341b826133fe565b9050919050565b61342b81613410565b82525050565b60006020820190506134466000830184613422565b92915050565b7f43616e6e6f742062652073657420746f207a65726f2061646472657373000000600082015250565b6000613482601d83613036565b915061348d8261344c565b602082019050919050565b600060208201905081810360008301526134b181613475565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134f282612f8b565b91506134fd83612f8b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613532576135316134b8565b5b828201905092915050565b7f4665657320546f6f204869676800000000000000000000000000000000000000600082015250565b6000613573600d83613036565b915061357e8261353d565b602082019050919050565b600060208201905081810360008301526135a281613566565b9050919050565b60006040820190506135be6000830185613001565b6135cb6020830184613001565b9392505050565b60006135dd82612f8b565b91506135e883612f8b565b9250828210156135fb576135fa6134b8565b5b828203905092915050565b7f416c7265616479206c61756e6368656400000000000000000000000000000000600082015250565b600061363c601083613036565b915061364782613606565b602082019050919050565b6000602082019050818103600083015261366b8161362f565b9050919050565b60008151905061368181612f95565b92915050565b60006020828403121561369d5761369c612efb565b5b60006136ab84828501613672565b91505092915050565b60006040820190506136c96000830185613252565b6136d66020830184613001565b9392505050565b6000815190506136ec816131e6565b92915050565b60006020828403121561370857613707612efb565b5b6000613716848285016136dd565b91505092915050565b600061ffff82169050919050565b60006137388261371f565b91506137438361371f565b92508161ffff048311821515161561375e5761375d6134b8565b5b828202905092915050565b7f4c696d6974206d757374206265206f7665722031302c30303020746f6b656e73600082015250565b600061379f602083613036565b91506137aa82613769565b602082019050919050565b600060208201905081810360008301526137ce81613792565b9050919050565b60006040820190506137ea6000830185613132565b6137f76020830184613001565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061385a602683613036565b9150613865826137fe565b604082019050919050565b600060208201905081810360008301526138898161384d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138c6602083613036565b91506138d182613890565b602082019050919050565b600060208201905081810360008301526138f5816138b9565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613958602583613036565b9150613963826138fc565b604082019050919050565b600060208201905081810360008301526139878161394b565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006139ea602383613036565b91506139f58261398e565b604082019050919050565b60006020820190508181036000830152613a19816139dd565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613a7c602983613036565b9150613a8782613a20565b604082019050919050565b60006020820190508181036000830152613aab81613a6f565b9050919050565b7f54726164696e67206e6f74206163746976650000000000000000000000000000600082015250565b6000613ae8601283613036565b9150613af382613ab2565b602082019050919050565b60006020820190508181036000830152613b1781613adb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b8782612f8b565b9150613b9283612f8b565b925082613ba257613ba1613b4d565b5b828204905092915050565b6000613bb882612f8b565b9150613bc383612f8b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613bfc57613bfb6134b8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050613c4581612f32565b92915050565b600060208284031215613c6157613c60612efb565b5b6000613c6f84828501613c36565b91505092915050565b6000819050919050565b6000613c9d613c98613c9384613c78565b6133d2565b612f8b565b9050919050565b613cad81613c82565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613ce881612f20565b82525050565b6000613cfa8383613cdf565b60208301905092915050565b6000602082019050919050565b6000613d1e82613cb3565b613d288185613cbe565b9350613d3383613ccf565b8060005b83811015613d64578151613d4b8882613cee565b9750613d5683613d06565b925050600181019050613d37565b5085935050505092915050565b600060a082019050613d866000830188613001565b613d936020830187613ca4565b8181036040830152613da58186613d13565b9050613db46060830185613252565b613dc16080830184613001565b9695505050505050565b600060c082019050613de06000830189613252565b613ded6020830188613001565b613dfa6040830187613ca4565b613e076060830186613ca4565b613e146080830185613252565b613e2160a0830184613001565b979650505050505050565b600080600060608486031215613e4557613e44612efb565b5b6000613e5386828701613672565b9350506020613e6486828701613672565b9250506040613e7586828701613672565b915050925092509256fea2646970667358221220385359b57e6a6a64455b8226418ecc011665e0bfc111bba0dd77fc488c5d762f64736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106102295760003560e01c8063715018a611610123578063c45a0155116100ab578063dd62ed3e1161006f578063dd62ed3e146107e0578063f2fde38b1461081d578063f887ea4014610846578063f88de0c314610871578063ffb54a991461088857610230565b8063c45a01551461070d578063c851cc3214610738578063cf08527914610761578063d073a01f1461078a578063d726b221146107b557610230565b806395d89b41116100f257806395d89b4114610626578063a3a2e89e14610651578063a8aa1b311461067a578063a9059cbb146106a5578063bf56b371146106e257610230565b8063715018a61461058e57806377052ade146105a5578063893d20e8146105d05780638da5cb5b146105fb57610230565b8063313ce567116101b1578063571ac8b011610175578063571ac8b0146104a9578063665a11ca146104e657806366ca9b831461051157806366eb37851461053a57806370a082311461055157610230565b8063313ce567146103c4578063346cc7be146103ef5780633dab5269146104185780633f4218e0146104415780634a74bb021461047e57610230565b8063095ea7b3116101f8578063095ea7b3146102dd57806318160ddd1461031a57806323b872dd146103455780632b112e49146103825780632ebcbf6c146103ad57610230565b8063018770201461023557806302dbd8f81461025e5780630445b6671461028757806306fdde03146102b257610230565b3661023057005b600080fd5b34801561024157600080fd5b5061025c60048036038101906102579190612f5e565b6108b3565b005b34801561026a57600080fd5b5061028560048036038101906102809190612fc1565b6109b1565b005b34801561029357600080fd5b5061029c610a54565b6040516102a99190613010565b60405180910390f35b3480156102be57600080fd5b506102c7610a5a565b6040516102d491906130c4565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff91906130e6565b610a97565b6040516103119190613141565b60405180910390f35b34801561032657600080fd5b5061032f610b89565b60405161033c9190613010565b60405180910390f35b34801561035157600080fd5b5061036c6004803603810190610367919061315c565b610b93565b6040516103799190613141565b60405180910390f35b34801561038e57600080fd5b50610397610d55565b6040516103a49190613010565b60405180910390f35b3480156103b957600080fd5b506103c2610dc9565b005b3480156103d057600080fd5b506103d9610e3a565b6040516103e691906131cb565b60405180910390f35b3480156103fb57600080fd5b5061041660048036038101906104119190612f5e565b610e43565b005b34801561042457600080fd5b5061043f600480360381019061043a9190613212565b610fb6565b005b34801561044d57600080fd5b5061046860048036038101906104639190612f5e565b611074565b6040516104759190613141565b60405180910390f35b34801561048a57600080fd5b50610493611094565b6040516104a09190613141565b60405180910390f35b3480156104b557600080fd5b506104d060048036038101906104cb9190612f5e565b6110a7565b6040516104dd9190613141565b60405180910390f35b3480156104f257600080fd5b506104fb6110da565b6040516105089190613261565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612fc1565b611100565b005b34801561054657600080fd5b5061054f6111a3565b005b34801561055d57600080fd5b5061057860048036038101906105739190612f5e565b6111b5565b6040516105859190613010565b60405180910390f35b34801561059a57600080fd5b506105a36111fe565b005b3480156105b157600080fd5b506105ba611233565b6040516105c79190613261565b60405180910390f35b3480156105dc57600080fd5b506105e5611259565b6040516105f29190613261565b60405180910390f35b34801561060757600080fd5b50610610611268565b60405161061d9190613261565b60405180910390f35b34801561063257600080fd5b5061063b611291565b60405161064891906130c4565b60405180910390f35b34801561065d57600080fd5b506106786004803603810190610673919061327c565b6112ce565b005b34801561068657600080fd5b5061068f61137f565b60405161069c9190613261565b60405180910390f35b3480156106b157600080fd5b506106cc60048036038101906106c791906130e6565b6113a5565b6040516106d99190613141565b60405180910390f35b3480156106ee57600080fd5b506106f76113ba565b6040516107049190613010565b60405180910390f35b34801561071957600080fd5b506107226113c0565b60405161072f9190613261565b60405180910390f35b34801561074457600080fd5b5061075f600480360381019061075a91906132fa565b6113e6565b005b34801561076d57600080fd5b5061078860048036038101906107839190613365565b611595565b005b34801561079657600080fd5b5061079f611787565b6040516107ac9190613010565b60405180910390f35b3480156107c157600080fd5b506107ca611791565b6040516107d79190613010565b60405180910390f35b3480156107ec57600080fd5b5061080760048036038101906108029190613392565b61179b565b6040516108149190613010565b60405180910390f35b34801561082957600080fd5b50610844600480360381019061083f9190612f5e565b611822565b005b34801561085257600080fd5b5061085b6118c6565b6040516108689190613431565b60405180910390f35b34801561087d57600080fd5b506108866118ec565b005b34801561089457600080fd5b5061089d61196f565b6040516108aa9190613141565b60405180910390f35b6108bb611982565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190613498565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fedf1a035d265f6321083031b40acf4e5e06cd3e2e2025192fd308409b13b44c660405160405180910390a250565b6109b9611982565b6101f481836109c891906134e7565b1115610a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0090613589565b60405180910390fd5b81600f81905550806011819055507f2c7448b63380296b372453c5287509524b5b645dc6a93ffe09e0af53e6b8935b8282604051610a489291906135a9565b60405180910390a15050565b60045481565b60606040518060400160405280600a81526020017f5769636b65642042657400000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b779190613010565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d415781600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc091906135d2565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d4c848484611a00565b90509392505050565b6000610d82600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166111b5565b610dad600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166111b5565b600354610dba91906135d2565b610dc491906135d2565b905090565b610dd1611982565b6000600c5414610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90613652565b60405180910390fd5b43600c819055506001601860166101000a81548160ff021916908315150217905550565b60006012905090565b610e4b611982565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e8b9190613261565b602060405180830381865afa158015610ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecc9190613687565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610f2b9291906136b4565b6020604051808303816000875af1158015610f4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6e91906136f2565b503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fb15760096000610fb09190612ee6565b5b505050565b610fbe611982565b601260ff16612710610fd0919061372d565b61ffff16811015611016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100d906137b5565b60405180910390fd5b81601860156101000a81548160ff021916908315150217905550806004819055507f479b6e261fc1ed1b1a450fd333c906ece427a6ef5cdb37d2762bf1834ea0904882826040516110689291906137d5565b60405180910390a15050565b60076020528060005260406000206000915054906101000a900460ff1681565b601860159054906101000a900460ff1681565b60006110d3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610a97565b9050919050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611108611982565b6101f4818361111791906134e7565b1115611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114f90613589565b60405180910390fd5b81600e81905550806010819055507f480af1f773972b1df72af32ec463e0fdeb1b49f1ca37d07982f677919d5fdd0c82826040516111979291906135a9565b60405180910390a15050565b6111ab611982565b6111b361202f565b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611206611982565b611231600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661222c565b565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611263611268565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f57494b0000000000000000000000000000000000000000000000000000000000815250905090565b6112d6611982565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9f1eaee9ad9cb68284f0dc523aa42c465ed33b53f8da7fc7294ccea47358bbdf826040516113739190613141565b60405180910390a25050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006113b2338484611a00565b905092915050565b600c5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113ee611982565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590613498565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150590613498565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f7aed1d3e8155a07ccf395e44ea3109a0e2d6c9b29bbbe9f142d9790596f4dc8060405160405180910390a250565b61159d611982565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160390613498565b60405180910390fd5b600060076000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7dcbe90a6f2f6836d2909d97d4ef9d89d42a2ba857c3c6d2a4cf1458e048833560405160405180910390a250565b6000601454905090565b6000601354905090565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61182a611982565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b190613870565b60405180910390fd5b6118c38161222c565b50565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118f4611982565b6000479050600081111561196c57601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561196a573d6000803e3d6000fd5b505b50565b601860169054906101000a900460ff1681565b61198a6122f0565b73ffffffffffffffffffffffffffffffffffffffff166119a8611268565b73ffffffffffffffffffffffffffffffffffffffff16146119fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f5906138dc565b60405180910390fd5b565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a679061396e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad690613a00565b60405180910390fd5b60008211611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1990613a92565b60405180910390fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bc65750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c1b57601860169054906101000a900460ff16611c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1190613afe565b60405180910390fd5b5b601860149054906101000a900460ff1615611c4257611c3b8484846122f8565b9050612028565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611cee5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d0557611cfe848484612486565b9050612028565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611d705750601860149054906101000a900460ff16155b8015611d885750601860159054906101000a900460ff165b8015611dd55750600454600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15611de357611de261202f565b5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2e91906135d2565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f175750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f215782611f2d565b611f2c858585612848565b5b905080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7a91906134e7565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161201a9190613010565b60405180910390a360019150505b9392505050565b6001601860146101000a81548160ff0219169083151502179055506000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600060096001600381106120a5576120a4613b1e565b5b015460096000600381106120bc576120bb613b1e565b5b01546120c891906134e7565b9050600060096000600381106120e1576120e0613b1e565b5b01549050600060096001600381106120fc576120fb613b1e565b5b01549050600060028261210f9190613b7c565b90506000818661211f91906135d2565b905061212a81612b94565b6000479050600086868361213e9190613bad565b6121489190613b7c565b90506000600288878561215b9190613bad565b6121659190613b7c565b61216f9190613b7c565b905060008311156121e457601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156121e2573d6000803e3d6000fd5b505b60008511156121f8576121f78582612db5565b5b600960006122069190612ee6565b5050505050505050506000601860146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234591906135d2565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123d391906134e7565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124739190613010565b60405180910390a3600190509392505050565b6000806127106012548461249a9190613bad565b6124a49190613b7c565b90506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612500578361250d565b818461250c91906135d2565b5b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255a91906135d2565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125e891906134e7565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127d6578160056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e991906134e7565b60056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fbac40739b0d4ca32fa2d82fc91630465ba3eddd1598da6fca393b26fb63b9453846040516127cd9190613010565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128339190613010565b60405180910390a36001925050509392505050565b600080612710600e548461285c9190613bad565b6128669190613b7c565b90506000612710600f548561287b9190613bad565b6128859190613b7c565b905060006127106010548661289a9190613bad565b6128a49190613b7c565b90506000612710601154876128b99190613bad565b6128c39190613b7c565b90506000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161480156129725750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b80156129c85750600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129e65782856129d991906134e7565b90506129e58584612e88565b5b601860149054906101000a900460ff16158015612a515750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b8015612a695750601860169054906101000a900460ff165b15612a87578184612a7a91906134e7565b9050612a868483612e88565b5b80600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ad291906134e7565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b729190613010565b60405180910390a38087612b8691906135d2565b955050505050509392505050565b6000600267ffffffffffffffff811115612bb157612bb0613c07565b5b604051908082528060200260200182016040528015612bdf5781602001602082028036833780820191505090505b5090503081600081518110612bf757612bf6613b1e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc29190613c4b565b81600181518110612cd657612cd5613b1e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d1a3083610a97565b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612d7f959493929190613d71565b600060405180830381600087803b158015612d9957600080fd5b505af1158015612dad573d6000803e3d6000fd5b505050505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612e3e96959493929190613dcb565b60606040518083038185885af1158015612e5c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e819190613e2c565b5050505050565b816009600060038110612e9e57612e9d613b1e565b5b016000828254612eae91906134e7565b92505081905550806009600160038110612ecb57612eca613b1e565b5b016000828254612edb91906134e7565b925050819055505050565b50600081556001016000815560010160009055565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f2b82612f00565b9050919050565b612f3b81612f20565b8114612f4657600080fd5b50565b600081359050612f5881612f32565b92915050565b600060208284031215612f7457612f73612efb565b5b6000612f8284828501612f49565b91505092915050565b6000819050919050565b612f9e81612f8b565b8114612fa957600080fd5b50565b600081359050612fbb81612f95565b92915050565b60008060408385031215612fd857612fd7612efb565b5b6000612fe685828601612fac565b9250506020612ff785828601612fac565b9150509250929050565b61300a81612f8b565b82525050565b60006020820190506130256000830184613001565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561306557808201518184015260208101905061304a565b83811115613074576000848401525b50505050565b6000601f19601f8301169050919050565b60006130968261302b565b6130a08185613036565b93506130b0818560208601613047565b6130b98161307a565b840191505092915050565b600060208201905081810360008301526130de818461308b565b905092915050565b600080604083850312156130fd576130fc612efb565b5b600061310b85828601612f49565b925050602061311c85828601612fac565b9150509250929050565b60008115159050919050565b61313b81613126565b82525050565b60006020820190506131566000830184613132565b92915050565b60008060006060848603121561317557613174612efb565b5b600061318386828701612f49565b935050602061319486828701612f49565b92505060406131a586828701612fac565b9150509250925092565b600060ff82169050919050565b6131c5816131af565b82525050565b60006020820190506131e060008301846131bc565b92915050565b6131ef81613126565b81146131fa57600080fd5b50565b60008135905061320c816131e6565b92915050565b6000806040838503121561322957613228612efb565b5b6000613237858286016131fd565b925050602061324885828601612fac565b9150509250929050565b61325b81612f20565b82525050565b60006020820190506132766000830184613252565b92915050565b6000806040838503121561329357613292612efb565b5b60006132a185828601612f49565b92505060206132b2858286016131fd565b9150509250929050565b60006132c782612f20565b9050919050565b6132d7816132bc565b81146132e257600080fd5b50565b6000813590506132f4816132ce565b92915050565b6000602082840312156133105761330f612efb565b5b600061331e848285016132e5565b91505092915050565b600061333282612f00565b9050919050565b61334281613327565b811461334d57600080fd5b50565b60008135905061335f81613339565b92915050565b60006020828403121561337b5761337a612efb565b5b600061338984828501613350565b91505092915050565b600080604083850312156133a9576133a8612efb565b5b60006133b785828601612f49565b92505060206133c885828601612f49565b9150509250929050565b6000819050919050565b60006133f76133f26133ed84612f00565b6133d2565b612f00565b9050919050565b6000613409826133dc565b9050919050565b600061341b826133fe565b9050919050565b61342b81613410565b82525050565b60006020820190506134466000830184613422565b92915050565b7f43616e6e6f742062652073657420746f207a65726f2061646472657373000000600082015250565b6000613482601d83613036565b915061348d8261344c565b602082019050919050565b600060208201905081810360008301526134b181613475565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134f282612f8b565b91506134fd83612f8b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613532576135316134b8565b5b828201905092915050565b7f4665657320546f6f204869676800000000000000000000000000000000000000600082015250565b6000613573600d83613036565b915061357e8261353d565b602082019050919050565b600060208201905081810360008301526135a281613566565b9050919050565b60006040820190506135be6000830185613001565b6135cb6020830184613001565b9392505050565b60006135dd82612f8b565b91506135e883612f8b565b9250828210156135fb576135fa6134b8565b5b828203905092915050565b7f416c7265616479206c61756e6368656400000000000000000000000000000000600082015250565b600061363c601083613036565b915061364782613606565b602082019050919050565b6000602082019050818103600083015261366b8161362f565b9050919050565b60008151905061368181612f95565b92915050565b60006020828403121561369d5761369c612efb565b5b60006136ab84828501613672565b91505092915050565b60006040820190506136c96000830185613252565b6136d66020830184613001565b9392505050565b6000815190506136ec816131e6565b92915050565b60006020828403121561370857613707612efb565b5b6000613716848285016136dd565b91505092915050565b600061ffff82169050919050565b60006137388261371f565b91506137438361371f565b92508161ffff048311821515161561375e5761375d6134b8565b5b828202905092915050565b7f4c696d6974206d757374206265206f7665722031302c30303020746f6b656e73600082015250565b600061379f602083613036565b91506137aa82613769565b602082019050919050565b600060208201905081810360008301526137ce81613792565b9050919050565b60006040820190506137ea6000830185613132565b6137f76020830184613001565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061385a602683613036565b9150613865826137fe565b604082019050919050565b600060208201905081810360008301526138898161384d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138c6602083613036565b91506138d182613890565b602082019050919050565b600060208201905081810360008301526138f5816138b9565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613958602583613036565b9150613963826138fc565b604082019050919050565b600060208201905081810360008301526139878161394b565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006139ea602383613036565b91506139f58261398e565b604082019050919050565b60006020820190508181036000830152613a19816139dd565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613a7c602983613036565b9150613a8782613a20565b604082019050919050565b60006020820190508181036000830152613aab81613a6f565b9050919050565b7f54726164696e67206e6f74206163746976650000000000000000000000000000600082015250565b6000613ae8601283613036565b9150613af382613ab2565b602082019050919050565b60006020820190508181036000830152613b1781613adb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b8782612f8b565b9150613b9283612f8b565b925082613ba257613ba1613b4d565b5b828204905092915050565b6000613bb882612f8b565b9150613bc383612f8b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613bfc57613bfb6134b8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050613c4581612f32565b92915050565b600060208284031215613c6157613c60612efb565b5b6000613c6f84828501613c36565b91505092915050565b6000819050919050565b6000613c9d613c98613c9384613c78565b6133d2565b612f8b565b9050919050565b613cad81613c82565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613ce881612f20565b82525050565b6000613cfa8383613cdf565b60208301905092915050565b6000602082019050919050565b6000613d1e82613cb3565b613d288185613cbe565b9350613d3383613ccf565b8060005b83811015613d64578151613d4b8882613cee565b9750613d5683613d06565b925050600181019050613d37565b5085935050505092915050565b600060a082019050613d866000830188613001565b613d936020830187613ca4565b8181036040830152613da58186613d13565b9050613db46060830185613252565b613dc16080830184613001565b9695505050505050565b600060c082019050613de06000830189613252565b613ded6020830188613001565b613dfa6040830187613ca4565b613e076060830186613ca4565b613e146080830185613252565b613e2160a0830184613001565b979650505050505050565b600080600060608486031215613e4557613e44612efb565b5b6000613e5386828701613672565b9350506020613e6486828701613672565b9250506040613e7586828701613672565b915050925092509256fea2646970667358221220385359b57e6a6a64455b8226418ecc011665e0bfc111bba0dd77fc488c5d762f64736f6c634300080d0033

Deployed Bytecode Sourcemap

4060:12096:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14064:259;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14989:282;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4342:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7174:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7764:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6904:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8302:337;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6760:136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6582:170;;;;;;;;;;;;;:::i;:::-;;6998:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15829:322;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14331:365;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4549:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5305:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7988:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4740:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14706:271;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13407:74;;;;;;;;;;;;;:::i;:::-;;7346:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2073:97;;;;;;;;;;;;;:::i;:::-;;5187:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7260:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1838:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7084:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13519:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5132:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8142:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4708:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5158:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15279:309;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13700:356;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7678:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7596:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7457:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2178:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5101:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15596:225;;;;;;;;;;;;;:::i;:::-;;5352:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14064:259;1797:13;:11;:13::i;:::-;14182:1:::1;14154:30;;:16;:30;;::::0;14146:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14245:16;14229:13;;:32;;;;;;;;;;;;;;;;;;14298:16;14277:38;;;;;;;;;;;;14064:259:::0;:::o;14989:282::-;1797:13;:11;:13::i;:::-;15122:3:::1;15106:12;15090:13;:28;;;;:::i;:::-;:35;;15082:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;15161:13;15151:7;:23;;;;15191:12;15182:6;:21;;;;15219:44;15235:13;15250:12;15219:44;;;;;;;:::i;:::-;;;;;;;;14989:282:::0;;:::o;4342:50::-;;;;:::o;7174:80::-;7222:13;7246:5;;;;;;;;;;;;;;;;;7239:12;;7174:80;:::o;7764:216::-;7839:4;7891:6;7856:11;:23;7868:10;7856:23;;;;;;;;;;;;;;;:32;7880:7;7856:32;;;;;;;;;;;;;;;:41;;;;7934:7;7913:37;;7922:10;7913:37;;;7943:6;7913:37;;;;;;:::i;:::-;;;;;;;;7968:4;7961:11;;7764:216;;;;:::o;6904:88::-;6959:7;6977:12;;6970:19;;6904:88;:::o;8302:337::-;8402:4;8457:17;8422:11;:19;8434:6;8422:19;;;;;;;;;;;;;;;:31;8442:10;8422:31;;;;;;;;;;;;;;;;:52;8419:157;;8558:6;8524:11;:19;8536:6;8524:19;;;;;;;;;;;;;;;:31;8544:10;8524:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;8490:11;:19;8502:6;8490:19;;;;;;;;;;;;;;;:31;8510:10;8490:31;;;;;;;;;;;;;;;:74;;;;8419:157;8595:36;8605:6;8613:9;8624:6;8595:9;:36::i;:::-;8588:43;;8302:337;;;;;:::o;6760:136::-;6813:7;6873:15;6883:4;;;;;;;;;;;6873:9;:15::i;:::-;6855;6865:4;;;;;;;;;;;6855:9;:15::i;:::-;6840:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;6833:55;;6760:136;:::o;6582:170::-;1797:13;:11;:13::i;:::-;6657:1:::1;6643:10;;:15;6635:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;6703:12;6690:10;:25;;;;6740:4;6726:11;;:18;;;;;;;;;;;;;;;;;;6582:170::o:0;6998:80::-;7050:5;4268:2;7059:16;;6998:80;:::o;15829:322::-;1797:13;:11;:13::i;:::-;15910:17:::1;15937:15;15910:43;;15964:15;15982:10;:20;;;16011:4;15982:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15964:53;;16028:10;:19;;;16048:12;;;;;;;;;;;16062:7;16028:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16111:4;16084:32;;:15;:32;;::::0;16081:63:::1;;16127:14;;16120:21;;;;:::i;:::-;16081:63;15899:252;;15829:322:::0;:::o;14331:365::-;1797:13;:11;:13::i;:::-;4268:2:::1;14468:17;;:5;:17;;;;:::i;:::-;14448:37;;:16;:37;;14440:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;14558:14;14533:21;;:39;;;;;;;;;;;;;;;;;;14599:16;14583:13;:32;;;;14631:57;14655:14;14671:16;14631:57;;;;;;;:::i;:::-;;;;;;;;14331:365:::0;;:::o;4549:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;5305:40::-;;;;;;;;;;;;;:::o;7988:122::-;8043:4;8067:35;8075:7;8084:17;8067:7;:35::i;:::-;8060:42;;7988:122;;;:::o;4740:35::-;;;;;;;;;;;;;:::o;14706:271::-;1797:13;:11;:13::i;:::-;14835:3:::1;14820:11;14805:12;:26;;;;:::i;:::-;:33;;14797:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;14873:12;14864:6;:21;;;;14901:11;14893:5;:19;;;;14928:41;14943:12;14957:11;14928:41;;;;;;;:::i;:::-;;;;;;;;14706:271:::0;;:::o;13407:74::-;1797:13;:11;:13::i;:::-;13463:10:::1;:8;:10::i;:::-;13407:74::o:0;7346:105::-;7412:7;7430:9;:18;7440:7;7430:18;;;;;;;;;;;;;;;;7423:25;;7346:105;;;:::o;2073:97::-;1797:13;:11;:13::i;:::-;2138:24:::1;2157:4;;;;;;;;;;;2138:18;:24::i;:::-;2073:97::o:0;5187:81::-;;;;;;;;;;;;;:::o;7260:80::-;7312:7;7330;:5;:7::i;:::-;7323:14;;7260:80;:::o;1838:87::-;1884:7;1911:6;;;;;;;;;;;1904:13;;1838:87;:::o;7084:84::-;7134:13;7158:7;;;;;;;;;;;;;;;;;7151:14;;7084:84;:::o;13519:173::-;1797:13;:11;:13::i;:::-;13627:6:::1;13605:11;:19;13617:6;13605:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13669:6;13649:35;;;13677:6;13649:35;;;;;;:::i;:::-;;;;;;;;13519:173:::0;;:::o;5132:19::-;;;;;;;;;;;;;:::o;8142:152::-;8222:4;8246:40;8256:10;8268:9;8279:6;8246:9;:40::i;:::-;8239:47;;8142:152;;;;:::o;4708:25::-;;;;:::o;5158:22::-;;;;;;;;;;;;;:::o;15279:309::-;1797:13;:11;:13::i;:::-;15387:4:::1;;;;;;;;;;;15362:30;;:10;:30;;::::0;15354:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15470:4;;;;;;;;;;;15445:30;;:10;:30;;::::0;15437:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15529:10;15520:6;;:19;;;;;;;;;;;;;;;;;;15569:10;15555:25;;;;;;;;;;;;15279:309:::0;:::o;13700:356::-;1797:13;:11;:13::i;:::-;13823:1:::1;13796:29;;:15;:29;;::::0;13788:71:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;13898:5;13870:11;:25;13882:12;;;;;;;;;;;13870:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;13937:15;13914:12;;:39;;;;;;;;;;;;;;;;;;13992:4;13964:11;:25;13976:12;;;;;;;;;;;13964:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;14032:15;14012:36;;;;;;;;;;;;13700:356:::0;:::o;7678:78::-;7724:7;7741:12;;7734:19;;7678:78;:::o;7596:76::-;7641:7;7658:11;;7651:18;;7596:76;:::o;7457:133::-;7541:7;7559:11;:19;7571:6;7559:19;;;;;;;;;;;;;;;:28;7579:7;7559:28;;;;;;;;;;;;;;;;7552:35;;7457:133;;;;:::o;2178:195::-;1797:13;:11;:13::i;:::-;2279:4:::1;;;;;;;;;;;2267:16;;:8;:16;;::::0;2259:67:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2337:28;2356:8;2337:18;:28::i;:::-;2178:195:::0;:::o;5101:24::-;;;;;;;;;;;;;:::o;15596:225::-;1797:13;:11;:13::i;:::-;15651:26:::1;15680:21;15651:50;;15736:1;15715:18;:22;15712:102;;;15763:12;;;;;;;;;;;15755:30;;:50;15786:18;15755:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15712:102;15640:181;15596:225::o:0;5352:31::-;;;;;;;;;;;;;:::o;1933:132::-;2008:12;:10;:12::i;:::-;1997:23;;:7;:5;:7::i;:::-;:23;;;1989:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1933:132::o;8647:1116::-;8735:4;8778:1;8760:20;;:6;:20;;;8752:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8862:1;8841:23;;:9;:23;;;8833:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8932:1;8923:6;:10;8915:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8996:11;:19;9008:6;8996:19;;;;;;;;;;;;;;;;;;;;;;;;;8995:20;:47;;;;;9020:11;:22;9032:9;9020:22;;;;;;;;;;;;;;;;;;;;;;;;;9019:23;8995:47;8992:99;;;9054:11;;;;;;;;;;;9046:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;8992:99;9104:16;;;;;;;;;;;9101:73;;;9130:41;9145:6;9153:9;9164:6;9130:14;:41::i;:::-;9123:48;;;;9101:73;9194:4;;;;;;;;;;;9184:14;;:6;:14;;;;:35;;;;;9215:4;;;;;;;;;;;9202:17;;:9;:17;;;;9184:35;9181:92;;;9230:40;9244:6;9252:9;9263:6;9230:13;:40::i;:::-;9223:47;;;;9181:92;9300:4;;;;;;;;;;;9286:18;;:10;:18;;;;:39;;;;;9309:16;;;;;;;;;;;9308:17;9286:39;:64;;;;;9329:21;;;;;;;;;;;9286:64;:109;;;;;9382:13;;9354:9;:24;9372:4;9354:24;;;;;;;;;;;;;;;;:41;;9286:109;9283:128;;;9398:10;:8;:10::i;:::-;9283:128;9463:6;9443:9;:17;9453:6;9443:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;9423:9;:17;9433:6;9423:17;;;;;;;;;;;;;;;:46;;;;9490:19;9513:11;:19;9525:6;9513:19;;;;;;;;;;;;;;;;;;;;;;;;;9512:20;:47;;;;;9537:11;:22;9549:9;9537:22;;;;;;;;;;;;;;;;;;;;;;;;;9536:23;9512:47;:93;;9599:6;9512:93;;;9562:34;9570:6;9578:9;9589:6;9562:7;:34::i;:::-;9512:93;9490:115;;9664:11;9641:9;:20;9651:9;9641:20;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;9618:9;:20;9628:9;9618:20;;;;;;;;;;;;;;;:57;;;;9710:9;9693:40;;9702:6;9693:40;;;9721:11;9693:40;;;;;;:::i;:::-;;;;;;;;9751:4;9744:11;;;8647:1116;;;;;;:::o;12477:922::-;5917:4;5898:16;;:23;;;;;;;;;;;;;;;;;;12535:20:::1;12558:9;:24;12576:4;12558:24;;;;;;;;;;;;;;;;12535:47;;12593:23;12639:14;12654:1;12639:17;;;;;;;:::i;:::-;;;;12619:14;12634:1;12619:17;;;;;;;:::i;:::-;;;;:37;;;;:::i;:::-;12593:63;;12667:16;12686:14;12701:1;12686:17;;;;;;;:::i;:::-;;;;12667:36;;12714:15;12732:14;12747:1;12732:17;;;;;;;:::i;:::-;;;;12714:35;;12760:26;12799:1;12789:7;:11;;;;:::i;:::-;12760:40;;12813:20;12851:18;12836:12;:33;;;;:::i;:::-;12813:56;;12882:30;12899:12;12882:16;:30::i;:::-;12925:23;12951:21;12925:47;;12983:17;13032:15;13021:8;13003:15;:26;;;;:::i;:::-;:44;;;;:::i;:::-;12983:64;;13058:23;13130:1;13112:15;13102:7;13084:15;:25;;;;:::i;:::-;:43;;;;:::i;:::-;:47;;;;:::i;:::-;13058:73;;13172:1;13154:15;:19;13150:93;;;13198:12;;;;;;;;;;;13190:30;;:41;13221:9;13190:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13150:93;13282:1;13261:18;:22;13257:104;;;13300:49;13313:18;13333:15;13300:12;:49::i;:::-;13257:104;13377:14;;13370:21;;;;:::i;:::-;12518:881;;;;;;;;;5963:5:::0;5944:16;;:24;;;;;;;;;;;;;;;;;;12477:922::o;2381:191::-;2455:16;2474:6;;;;;;;;;;;2455:25;;2500:8;2491:6;;:17;;;;;;;;;;;;;;;;;;2555:8;2524:40;;2545:8;2524:40;;;;;;;;;;;;2444:128;2381:191;:::o;1245:98::-;1298:7;1325:10;1318:17;;1245:98;:::o;9773:300::-;9866:4;9923:6;9903:9;:17;9913:6;9903:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;9883:9;:17;9893:6;9883:17;;;;;;;;;;;;;;;:46;;;;9986:6;9963:9;:20;9973:9;9963:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;9940:9;:20;9950:9;9940:20;;;;;;;;;;;;;;;:52;;;;10025:9;10008:35;;10017:6;10008:35;;;10036:6;10008:35;;;;;;:::i;:::-;;;;;;;;10061:4;10054:11;;9773:300;;;;;:::o;10083:613::-;10175:4;10192:13;10228:5;10217:8;;10208:6;:17;;;;:::i;:::-;:25;;;;:::i;:::-;10192:41;;10244:20;10268:11;:19;10280:6;10268:19;;;;;;;;;;;;;;;;;;;;;;;;;10267:20;:49;;10310:6;10267:49;;;10299:8;10290:6;:17;;;;:::i;:::-;10267:49;10244:72;;10369:6;10349:9;:17;10359:6;10349:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;10329:9;:17;10339:6;10329:17;;;;;;;;;;;;;;;:46;;;;10432:12;10409:9;:20;10419:9;10409:20;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;10386:9;:20;10396:9;10386:20;;;;;;;;;;;;;;;:58;;;;10461:11;:19;10473:6;10461:19;;;;;;;;;;;;;;;;;;;;;;;;;10457:151;;10534:8;10516:9;:15;10526:4;;;;;;;;;;;10516:15;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;10498:9;:15;10508:4;;;;;;;;;;;10498:15;;;;;;;;;;;;;;;:44;;;;10576:4;;;;;;;;;;;10563:28;;10568:6;10563:28;;;10582:8;10563:28;;;;;;:::i;:::-;;;;;;;;10457:151;10642:9;10625:41;;10634:6;10625:41;;;10653:12;10625:41;;;;;;:::i;:::-;;;;;;;;10684:4;10677:11;;;;10083:613;;;;;:::o;10723:845::-;10809:7;10839:15;10875:5;10866:6;;10857;:15;;;;:::i;:::-;:23;;;;:::i;:::-;10839:41;;10888:15;10925:5;10915:7;;10906:6;:16;;;;:::i;:::-;:24;;;;:::i;:::-;10888:42;;10941:14;10975:5;10967;;10958:6;:14;;;;:::i;:::-;:22;;;;:::i;:::-;10941:39;;10988:14;11023:5;11014:6;;11005;:15;;;;:::i;:::-;:23;;;;:::i;:::-;10988:40;;11039:16;11078:4;;;;;;;;;;;11068:14;;:6;:14;;;:44;;;;;11107:4;;;;;;;;;;;11086:26;;:9;:26;;;;11068:44;:71;;;;;11117:11;:22;11129:9;11117:22;;;;;;;;;;;;;;;;;;;;;;;;;11116:23;11068:71;11065:171;;;11177:6;11167:7;:16;;;;:::i;:::-;11156:27;;11195:32;11211:7;11220:6;11195:15;:32::i;:::-;11065:171;11249:16;;;;;;;;;;;11248:17;:35;;;;;11279:4;;;;;;;;;;;11269:14;;:6;:14;;;;11248:35;:50;;;;;11287:11;;;;;;;;;;;11248:50;11245:147;;;11333:6;11323:7;:16;;;;:::i;:::-;11312:27;;11351:32;11367:7;11376:6;11351:15;:32::i;:::-;11245:147;11458:8;11431:9;:24;11449:4;11431:24;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;11404:9;:24;11422:4;11404:24;;;;;;;;;;;;;;;:62;;;;11507:4;11482:41;;11491:6;11482:41;;;11514:8;11482:41;;;;;;:::i;:::-;;;;;;;;11552:8;11543:6;:17;;;;:::i;:::-;11536:24;;;;;;;10723:845;;;;;:::o;11745:432::-;11813:21;11851:1;11837:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11813:40;;11882:4;11864;11869:1;11864:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11908:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11898:4;11903:1;11898:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11934:35;11950:4;11957:11;11934:7;:35::i;:::-;;11982:6;;;;;;;;;;;:57;;;12054:11;12080:1;12096:4;12123;12143:15;11982:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11800:377;11745:432;:::o;12185:284::-;12266:6;;;;;;;;;;;:22;;;12296:9;12329:4;12349:11;12375:1;12391;12407:13;;;;;;;;;;;12435:15;12266:195;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12185:284;;:::o;11576:130::-;11661:3;11640:14;11655:1;11640:17;;;;;;;:::i;:::-;;;;:24;;;;;;;:::i;:::-;;;;;;;;11696:2;11675:14;11690:1;11675:17;;;;;;;:::i;:::-;;;;:23;;;;;;;:::i;:::-;;;;;;;;11576:130;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:122::-;1332:24;1350:5;1332:24;:::i;:::-;1325:5;1322:35;1312:63;;1371:1;1368;1361:12;1312:63;1259:122;:::o;1387:139::-;1433:5;1471:6;1458:20;1449:29;;1487:33;1514:5;1487:33;:::i;:::-;1387:139;;;;:::o;1532:474::-;1600:6;1608;1657:2;1645:9;1636:7;1632:23;1628:32;1625:119;;;1663:79;;:::i;:::-;1625:119;1783:1;1808:53;1853:7;1844:6;1833:9;1829:22;1808:53;:::i;:::-;1798:63;;1754:117;1910:2;1936:53;1981:7;1972:6;1961:9;1957:22;1936:53;:::i;:::-;1926:63;;1881:118;1532:474;;;;;:::o;2012:118::-;2099:24;2117:5;2099:24;:::i;:::-;2094:3;2087:37;2012:118;;:::o;2136:222::-;2229:4;2267:2;2256:9;2252:18;2244:26;;2280:71;2348:1;2337:9;2333:17;2324:6;2280:71;:::i;:::-;2136:222;;;;:::o;2364:99::-;2416:6;2450:5;2444:12;2434:22;;2364:99;;;:::o;2469:169::-;2553:11;2587:6;2582:3;2575:19;2627:4;2622:3;2618:14;2603:29;;2469:169;;;;:::o;2644:307::-;2712:1;2722:113;2736:6;2733:1;2730:13;2722:113;;;2821:1;2816:3;2812:11;2806:18;2802:1;2797:3;2793:11;2786:39;2758:2;2755:1;2751:10;2746:15;;2722:113;;;2853:6;2850:1;2847:13;2844:101;;;2933:1;2924:6;2919:3;2915:16;2908:27;2844:101;2693:258;2644:307;;;:::o;2957:102::-;2998:6;3049:2;3045:7;3040:2;3033:5;3029:14;3025:28;3015:38;;2957:102;;;:::o;3065:364::-;3153:3;3181:39;3214:5;3181:39;:::i;:::-;3236:71;3300:6;3295:3;3236:71;:::i;:::-;3229:78;;3316:52;3361:6;3356:3;3349:4;3342:5;3338:16;3316:52;:::i;:::-;3393:29;3415:6;3393:29;:::i;:::-;3388:3;3384:39;3377:46;;3157:272;3065:364;;;;:::o;3435:313::-;3548:4;3586:2;3575:9;3571:18;3563:26;;3635:9;3629:4;3625:20;3621:1;3610:9;3606:17;3599:47;3663:78;3736:4;3727:6;3663:78;:::i;:::-;3655:86;;3435:313;;;;:::o;3754:474::-;3822:6;3830;3879:2;3867:9;3858:7;3854:23;3850:32;3847:119;;;3885:79;;:::i;:::-;3847:119;4005:1;4030:53;4075:7;4066:6;4055:9;4051:22;4030:53;:::i;:::-;4020:63;;3976:117;4132:2;4158:53;4203:7;4194:6;4183:9;4179:22;4158:53;:::i;:::-;4148:63;;4103:118;3754:474;;;;;:::o;4234:90::-;4268:7;4311:5;4304:13;4297:21;4286:32;;4234:90;;;:::o;4330:109::-;4411:21;4426:5;4411:21;:::i;:::-;4406:3;4399:34;4330:109;;:::o;4445:210::-;4532:4;4570:2;4559:9;4555:18;4547:26;;4583:65;4645:1;4634:9;4630:17;4621:6;4583:65;:::i;:::-;4445:210;;;;:::o;4661:619::-;4738:6;4746;4754;4803:2;4791:9;4782:7;4778:23;4774:32;4771:119;;;4809:79;;:::i;:::-;4771:119;4929:1;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4900:117;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;5184:2;5210:53;5255:7;5246:6;5235:9;5231:22;5210:53;:::i;:::-;5200:63;;5155:118;4661:619;;;;;:::o;5286:86::-;5321:7;5361:4;5354:5;5350:16;5339:27;;5286:86;;;:::o;5378:112::-;5461:22;5477:5;5461:22;:::i;:::-;5456:3;5449:35;5378:112;;:::o;5496:214::-;5585:4;5623:2;5612:9;5608:18;5600:26;;5636:67;5700:1;5689:9;5685:17;5676:6;5636:67;:::i;:::-;5496:214;;;;:::o;5716:116::-;5786:21;5801:5;5786:21;:::i;:::-;5779:5;5776:32;5766:60;;5822:1;5819;5812:12;5766:60;5716:116;:::o;5838:133::-;5881:5;5919:6;5906:20;5897:29;;5935:30;5959:5;5935:30;:::i;:::-;5838:133;;;;:::o;5977:468::-;6042:6;6050;6099:2;6087:9;6078:7;6074:23;6070:32;6067:119;;;6105:79;;:::i;:::-;6067:119;6225:1;6250:50;6292:7;6283:6;6272:9;6268:22;6250:50;:::i;:::-;6240:60;;6196:114;6349:2;6375:53;6420:7;6411:6;6400:9;6396:22;6375:53;:::i;:::-;6365:63;;6320:118;5977:468;;;;;:::o;6451:118::-;6538:24;6556:5;6538:24;:::i;:::-;6533:3;6526:37;6451:118;;:::o;6575:222::-;6668:4;6706:2;6695:9;6691:18;6683:26;;6719:71;6787:1;6776:9;6772:17;6763:6;6719:71;:::i;:::-;6575:222;;;;:::o;6803:468::-;6868:6;6876;6925:2;6913:9;6904:7;6900:23;6896:32;6893:119;;;6931:79;;:::i;:::-;6893:119;7051:1;7076:53;7121:7;7112:6;7101:9;7097:22;7076:53;:::i;:::-;7066:63;;7022:117;7178:2;7204:50;7246:7;7237:6;7226:9;7222:22;7204:50;:::i;:::-;7194:60;;7149:115;6803:468;;;;;:::o;7277:114::-;7332:7;7361:24;7379:5;7361:24;:::i;:::-;7350:35;;7277:114;;;:::o;7397:158::-;7488:42;7524:5;7488:42;:::i;:::-;7481:5;7478:53;7468:81;;7545:1;7542;7535:12;7468:81;7397:158;:::o;7561:175::-;7625:5;7663:6;7650:20;7641:29;;7679:51;7724:5;7679:51;:::i;:::-;7561:175;;;;:::o;7742:365::-;7819:6;7868:2;7856:9;7847:7;7843:23;7839:32;7836:119;;;7874:79;;:::i;:::-;7836:119;7994:1;8019:71;8082:7;8073:6;8062:9;8058:22;8019:71;:::i;:::-;8009:81;;7965:135;7742:365;;;;:::o;8113:104::-;8158:7;8187:24;8205:5;8187:24;:::i;:::-;8176:35;;8113:104;;;:::o;8223:138::-;8304:32;8330:5;8304:32;:::i;:::-;8297:5;8294:43;8284:71;;8351:1;8348;8341:12;8284:71;8223:138;:::o;8367:155::-;8421:5;8459:6;8446:20;8437:29;;8475:41;8510:5;8475:41;:::i;:::-;8367:155;;;;:::o;8528:345::-;8595:6;8644:2;8632:9;8623:7;8619:23;8615:32;8612:119;;;8650:79;;:::i;:::-;8612:119;8770:1;8795:61;8848:7;8839:6;8828:9;8824:22;8795:61;:::i;:::-;8785:71;;8741:125;8528:345;;;;:::o;8879:474::-;8947:6;8955;9004:2;8992:9;8983:7;8979:23;8975:32;8972:119;;;9010:79;;:::i;:::-;8972:119;9130:1;9155:53;9200:7;9191:6;9180:9;9176:22;9155:53;:::i;:::-;9145:63;;9101:117;9257:2;9283:53;9328:7;9319:6;9308:9;9304:22;9283:53;:::i;:::-;9273:63;;9228:118;8879:474;;;;;:::o;9359:60::-;9387:3;9408:5;9401:12;;9359:60;;;:::o;9425:142::-;9475:9;9508:53;9526:34;9535:24;9553:5;9535:24;:::i;:::-;9526:34;:::i;:::-;9508:53;:::i;:::-;9495:66;;9425:142;;;:::o;9573:126::-;9623:9;9656:37;9687:5;9656:37;:::i;:::-;9643:50;;9573:126;;;:::o;9705:144::-;9773:9;9806:37;9837:5;9806:37;:::i;:::-;9793:50;;9705:144;;;:::o;9855:167::-;9960:55;10009:5;9960:55;:::i;:::-;9955:3;9948:68;9855:167;;:::o;10028:258::-;10139:4;10177:2;10166:9;10162:18;10154:26;;10190:89;10276:1;10265:9;10261:17;10252:6;10190:89;:::i;:::-;10028:258;;;;:::o;10292:179::-;10432:31;10428:1;10420:6;10416:14;10409:55;10292:179;:::o;10477:366::-;10619:3;10640:67;10704:2;10699:3;10640:67;:::i;:::-;10633:74;;10716:93;10805:3;10716:93;:::i;:::-;10834:2;10829:3;10825:12;10818:19;;10477:366;;;:::o;10849:419::-;11015:4;11053:2;11042:9;11038:18;11030:26;;11102:9;11096:4;11092:20;11088:1;11077:9;11073:17;11066:47;11130:131;11256:4;11130:131;:::i;:::-;11122:139;;10849:419;;;:::o;11274:180::-;11322:77;11319:1;11312:88;11419:4;11416:1;11409:15;11443:4;11440:1;11433:15;11460:305;11500:3;11519:20;11537:1;11519:20;:::i;:::-;11514:25;;11553:20;11571:1;11553:20;:::i;:::-;11548:25;;11707:1;11639:66;11635:74;11632:1;11629:81;11626:107;;;11713:18;;:::i;:::-;11626:107;11757:1;11754;11750:9;11743:16;;11460:305;;;;:::o;11771:163::-;11911:15;11907:1;11899:6;11895:14;11888:39;11771:163;:::o;11940:366::-;12082:3;12103:67;12167:2;12162:3;12103:67;:::i;:::-;12096:74;;12179:93;12268:3;12179:93;:::i;:::-;12297:2;12292:3;12288:12;12281:19;;11940:366;;;:::o;12312:419::-;12478:4;12516:2;12505:9;12501:18;12493:26;;12565:9;12559:4;12555:20;12551:1;12540:9;12536:17;12529:47;12593:131;12719:4;12593:131;:::i;:::-;12585:139;;12312:419;;;:::o;12737:332::-;12858:4;12896:2;12885:9;12881:18;12873:26;;12909:71;12977:1;12966:9;12962:17;12953:6;12909:71;:::i;:::-;12990:72;13058:2;13047:9;13043:18;13034:6;12990:72;:::i;:::-;12737:332;;;;;:::o;13075:191::-;13115:4;13135:20;13153:1;13135:20;:::i;:::-;13130:25;;13169:20;13187:1;13169:20;:::i;:::-;13164:25;;13208:1;13205;13202:8;13199:34;;;13213:18;;:::i;:::-;13199:34;13258:1;13255;13251:9;13243:17;;13075:191;;;;:::o;13272:166::-;13412:18;13408:1;13400:6;13396:14;13389:42;13272:166;:::o;13444:366::-;13586:3;13607:67;13671:2;13666:3;13607:67;:::i;:::-;13600:74;;13683:93;13772:3;13683:93;:::i;:::-;13801:2;13796:3;13792:12;13785:19;;13444:366;;;:::o;13816:419::-;13982:4;14020:2;14009:9;14005:18;13997:26;;14069:9;14063:4;14059:20;14055:1;14044:9;14040:17;14033:47;14097:131;14223:4;14097:131;:::i;:::-;14089:139;;13816:419;;;:::o;14241:143::-;14298:5;14329:6;14323:13;14314:22;;14345:33;14372:5;14345:33;:::i;:::-;14241:143;;;;:::o;14390:351::-;14460:6;14509:2;14497:9;14488:7;14484:23;14480:32;14477:119;;;14515:79;;:::i;:::-;14477:119;14635:1;14660:64;14716:7;14707:6;14696:9;14692:22;14660:64;:::i;:::-;14650:74;;14606:128;14390:351;;;;:::o;14747:332::-;14868:4;14906:2;14895:9;14891:18;14883:26;;14919:71;14987:1;14976:9;14972:17;14963:6;14919:71;:::i;:::-;15000:72;15068:2;15057:9;15053:18;15044:6;15000:72;:::i;:::-;14747:332;;;;;:::o;15085:137::-;15139:5;15170:6;15164:13;15155:22;;15186:30;15210:5;15186:30;:::i;:::-;15085:137;;;;:::o;15228:345::-;15295:6;15344:2;15332:9;15323:7;15319:23;15315:32;15312:119;;;15350:79;;:::i;:::-;15312:119;15470:1;15495:61;15548:7;15539:6;15528:9;15524:22;15495:61;:::i;:::-;15485:71;;15441:125;15228:345;;;;:::o;15579:89::-;15615:7;15655:6;15648:5;15644:18;15633:29;;15579:89;;;:::o;15674:285::-;15713:7;15736:19;15753:1;15736:19;:::i;:::-;15731:24;;15769:19;15786:1;15769:19;:::i;:::-;15764:24;;15896:1;15888:6;15884:14;15881:1;15878:21;15873:1;15866:9;15859:17;15855:45;15852:71;;;15903:18;;:::i;:::-;15852:71;15951:1;15948;15944:9;15933:20;;15674:285;;;;:::o;15965:182::-;16105:34;16101:1;16093:6;16089:14;16082:58;15965:182;:::o;16153:366::-;16295:3;16316:67;16380:2;16375:3;16316:67;:::i;:::-;16309:74;;16392:93;16481:3;16392:93;:::i;:::-;16510:2;16505:3;16501:12;16494:19;;16153:366;;;:::o;16525:419::-;16691:4;16729:2;16718:9;16714:18;16706:26;;16778:9;16772:4;16768:20;16764:1;16753:9;16749:17;16742:47;16806:131;16932:4;16806:131;:::i;:::-;16798:139;;16525:419;;;:::o;16950:320::-;17065:4;17103:2;17092:9;17088:18;17080:26;;17116:65;17178:1;17167:9;17163:17;17154:6;17116:65;:::i;:::-;17191:72;17259:2;17248:9;17244:18;17235:6;17191:72;:::i;:::-;16950:320;;;;;:::o;17276:225::-;17416:34;17412:1;17404:6;17400:14;17393:58;17485:8;17480:2;17472:6;17468:15;17461:33;17276:225;:::o;17507:366::-;17649:3;17670:67;17734:2;17729:3;17670:67;:::i;:::-;17663:74;;17746:93;17835:3;17746:93;:::i;:::-;17864:2;17859:3;17855:12;17848:19;;17507:366;;;:::o;17879:419::-;18045:4;18083:2;18072:9;18068:18;18060:26;;18132:9;18126:4;18122:20;18118:1;18107:9;18103:17;18096:47;18160:131;18286:4;18160:131;:::i;:::-;18152:139;;17879:419;;;:::o;18304:182::-;18444:34;18440:1;18432:6;18428:14;18421:58;18304:182;:::o;18492:366::-;18634:3;18655:67;18719:2;18714:3;18655:67;:::i;:::-;18648:74;;18731:93;18820:3;18731:93;:::i;:::-;18849:2;18844:3;18840:12;18833:19;;18492:366;;;:::o;18864:419::-;19030:4;19068:2;19057:9;19053:18;19045:26;;19117:9;19111:4;19107:20;19103:1;19092:9;19088:17;19081:47;19145:131;19271:4;19145:131;:::i;:::-;19137:139;;18864:419;;;:::o;19289:224::-;19429:34;19425:1;19417:6;19413:14;19406:58;19498:7;19493:2;19485:6;19481:15;19474:32;19289:224;:::o;19519:366::-;19661:3;19682:67;19746:2;19741:3;19682:67;:::i;:::-;19675:74;;19758:93;19847:3;19758:93;:::i;:::-;19876:2;19871:3;19867:12;19860:19;;19519:366;;;:::o;19891:419::-;20057:4;20095:2;20084:9;20080:18;20072:26;;20144:9;20138:4;20134:20;20130:1;20119:9;20115:17;20108:47;20172:131;20298:4;20172:131;:::i;:::-;20164:139;;19891:419;;;:::o;20316:222::-;20456:34;20452:1;20444:6;20440:14;20433:58;20525:5;20520:2;20512:6;20508:15;20501:30;20316:222;:::o;20544:366::-;20686:3;20707:67;20771:2;20766:3;20707:67;:::i;:::-;20700:74;;20783:93;20872:3;20783:93;:::i;:::-;20901:2;20896:3;20892:12;20885:19;;20544:366;;;:::o;20916:419::-;21082:4;21120:2;21109:9;21105:18;21097:26;;21169:9;21163:4;21159:20;21155:1;21144:9;21140:17;21133:47;21197:131;21323:4;21197:131;:::i;:::-;21189:139;;20916:419;;;:::o;21341:228::-;21481:34;21477:1;21469:6;21465:14;21458:58;21550:11;21545:2;21537:6;21533:15;21526:36;21341:228;:::o;21575:366::-;21717:3;21738:67;21802:2;21797:3;21738:67;:::i;:::-;21731:74;;21814:93;21903:3;21814:93;:::i;:::-;21932:2;21927:3;21923:12;21916:19;;21575:366;;;:::o;21947:419::-;22113:4;22151:2;22140:9;22136:18;22128:26;;22200:9;22194:4;22190:20;22186:1;22175:9;22171:17;22164:47;22228:131;22354:4;22228:131;:::i;:::-;22220:139;;21947:419;;;:::o;22372:168::-;22512:20;22508:1;22500:6;22496:14;22489:44;22372:168;:::o;22546:366::-;22688:3;22709:67;22773:2;22768:3;22709:67;:::i;:::-;22702:74;;22785:93;22874:3;22785:93;:::i;:::-;22903:2;22898:3;22894:12;22887:19;;22546:366;;;:::o;22918:419::-;23084:4;23122:2;23111:9;23107:18;23099:26;;23171:9;23165:4;23161:20;23157:1;23146:9;23142:17;23135:47;23199:131;23325:4;23199:131;:::i;:::-;23191:139;;22918:419;;;:::o;23343:180::-;23391:77;23388:1;23381:88;23488:4;23485:1;23478:15;23512:4;23509:1;23502:15;23529:180;23577:77;23574:1;23567:88;23674:4;23671:1;23664:15;23698:4;23695:1;23688:15;23715:185;23755:1;23772:20;23790:1;23772:20;:::i;:::-;23767:25;;23806:20;23824:1;23806:20;:::i;:::-;23801:25;;23845:1;23835:35;;23850:18;;:::i;:::-;23835:35;23892:1;23889;23885:9;23880:14;;23715:185;;;;:::o;23906:348::-;23946:7;23969:20;23987:1;23969:20;:::i;:::-;23964:25;;24003:20;24021:1;24003:20;:::i;:::-;23998:25;;24191:1;24123:66;24119:74;24116:1;24113:81;24108:1;24101:9;24094:17;24090:105;24087:131;;;24198:18;;:::i;:::-;24087:131;24246:1;24243;24239:9;24228:20;;23906:348;;;;:::o;24260:180::-;24308:77;24305:1;24298:88;24405:4;24402:1;24395:15;24429:4;24426:1;24419:15;24446:143;24503:5;24534:6;24528:13;24519:22;;24550:33;24577:5;24550:33;:::i;:::-;24446:143;;;;:::o;24595:351::-;24665:6;24714:2;24702:9;24693:7;24689:23;24685:32;24682:119;;;24720:79;;:::i;:::-;24682:119;24840:1;24865:64;24921:7;24912:6;24901:9;24897:22;24865:64;:::i;:::-;24855:74;;24811:128;24595:351;;;;:::o;24952:85::-;24997:7;25026:5;25015:16;;24952:85;;;:::o;25043:158::-;25101:9;25134:61;25152:42;25161:32;25187:5;25161:32;:::i;:::-;25152:42;:::i;:::-;25134:61;:::i;:::-;25121:74;;25043:158;;;:::o;25207:147::-;25302:45;25341:5;25302:45;:::i;:::-;25297:3;25290:58;25207:147;;:::o;25360:114::-;25427:6;25461:5;25455:12;25445:22;;25360:114;;;:::o;25480:184::-;25579:11;25613:6;25608:3;25601:19;25653:4;25648:3;25644:14;25629:29;;25480:184;;;;:::o;25670:132::-;25737:4;25760:3;25752:11;;25790:4;25785:3;25781:14;25773:22;;25670:132;;;:::o;25808:108::-;25885:24;25903:5;25885:24;:::i;:::-;25880:3;25873:37;25808:108;;:::o;25922:179::-;25991:10;26012:46;26054:3;26046:6;26012:46;:::i;:::-;26090:4;26085:3;26081:14;26067:28;;25922:179;;;;:::o;26107:113::-;26177:4;26209;26204:3;26200:14;26192:22;;26107:113;;;:::o;26256:732::-;26375:3;26404:54;26452:5;26404:54;:::i;:::-;26474:86;26553:6;26548:3;26474:86;:::i;:::-;26467:93;;26584:56;26634:5;26584:56;:::i;:::-;26663:7;26694:1;26679:284;26704:6;26701:1;26698:13;26679:284;;;26780:6;26774:13;26807:63;26866:3;26851:13;26807:63;:::i;:::-;26800:70;;26893:60;26946:6;26893:60;:::i;:::-;26883:70;;26739:224;26726:1;26723;26719:9;26714:14;;26679:284;;;26683:14;26979:3;26972:10;;26380:608;;;26256:732;;;;:::o;26994:831::-;27257:4;27295:3;27284:9;27280:19;27272:27;;27309:71;27377:1;27366:9;27362:17;27353:6;27309:71;:::i;:::-;27390:80;27466:2;27455:9;27451:18;27442:6;27390:80;:::i;:::-;27517:9;27511:4;27507:20;27502:2;27491:9;27487:18;27480:48;27545:108;27648:4;27639:6;27545:108;:::i;:::-;27537:116;;27663:72;27731:2;27720:9;27716:18;27707:6;27663:72;:::i;:::-;27745:73;27813:3;27802:9;27798:19;27789:6;27745:73;:::i;:::-;26994:831;;;;;;;;:::o;27831:807::-;28080:4;28118:3;28107:9;28103:19;28095:27;;28132:71;28200:1;28189:9;28185:17;28176:6;28132:71;:::i;:::-;28213:72;28281:2;28270:9;28266:18;28257:6;28213:72;:::i;:::-;28295:80;28371:2;28360:9;28356:18;28347:6;28295:80;:::i;:::-;28385;28461:2;28450:9;28446:18;28437:6;28385:80;:::i;:::-;28475:73;28543:3;28532:9;28528:19;28519:6;28475:73;:::i;:::-;28558;28626:3;28615:9;28611:19;28602:6;28558:73;:::i;:::-;27831:807;;;;;;;;;:::o;28644:663::-;28732:6;28740;28748;28797:2;28785:9;28776:7;28772:23;28768:32;28765:119;;;28803:79;;:::i;:::-;28765:119;28923:1;28948:64;29004:7;28995:6;28984:9;28980:22;28948:64;:::i;:::-;28938:74;;28894:128;29061:2;29087:64;29143:7;29134:6;29123:9;29119:22;29087:64;:::i;:::-;29077:74;;29032:129;29200:2;29226:64;29282:7;29273:6;29262:9;29258:22;29226:64;:::i;:::-;29216:74;;29171:129;28644:663;;;;;:::o

Swarm Source

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