ETH Price: $3,343.42 (-1.01%)

Token

Dice Bets (DBETS)
 

Overview

Max Total Supply

1,000,000,000 DBETS

Holders

119

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.675929271920934533 DBETS

Value
$0.00
0x0f78005d180a4c6264cc9ca1afc398ddf3b165e8
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DICEBETS

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-24
*/

/*

$DBETS Dapp - https://dicebets.bet
$DBETS TG - https://t.me/DICEBET_ETH

*/


// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

interface ERC20 {
    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);
}



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

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

contract Ownable is Context {
    address public _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

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

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

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

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

interface InterfaceLP {
    function sync() external;
}


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

    address WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;
    

    string constant _name = "Dice Bets";
    string constant _symbol = "DBETS";
    uint8 constant _decimals = 18; 


    event AutoLiquify(uint256 amountETH, uint256 amountTokens);
    event EditTax(uint8 Buy, uint8 Sell, uint8 Transfer);
    event user_exemptfromfees(address Wallet, bool Exempt);
    event user_TxExempt(address Wallet, bool Exempt);
    event ClearStuck(uint256 amount);
    event ClearToken(address TokenAddressCleared, uint256 Amount);
    event set_Receivers(address marketingFeeReceiver, address buybackFeeReceiver,address burnFeeReceiver,address devFeeReceiver);
    event set_MaxWallet(uint256 maxWallet);
    event set_MaxTX(uint256 maxTX);
    event set_SwapBack(uint256 Amount, bool Enabled);
  
    uint256 _totalSupply =  1_000_000_000 * 10**_decimals; 

    uint256 public _maxTxAmount = _totalSupply.mul(2).div(100);
    uint256 public _maxWalletToken = _totalSupply.mul(2).div(100);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;  
    mapping (address => bool) isexemptfromfees;
    mapping (address => bool) isexemptfrommaxTX;

    uint256 private liquidityFee    = 1;
    uint256 private marketingFee    = 9;
    uint256 private devFee          = 0;
    uint256 private buybackFee      = 5; 
    uint256 private burnFee         = 0;
    uint256 public totalFee         = buybackFee + marketingFee + liquidityFee + devFee + burnFee;
    uint256 private feeDenominator  = 100;

    uint256 sellpercent = 100;
    uint256 buypercent = 100;
    uint256 transferpercent = 100; 

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private buybackFeeReceiver;
    address private burnFeeReceiver;

    uint256 setRatio = 30;
    uint256 setRatioDenominator = 100;
    
    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    
    bool public TradingOpen = false; 

   
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 70 / 1000; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);

        autoLiquidityReceiver = 0xB8270B410dd0771bdb0fbFa2b626d54dC353Ac64;
        marketingFeeReceiver = 0x5aaF9f1d7d6B6cB9F9961994e77eE5C0B9f1c90c;
        devFeeReceiver = msg.sender;
        buybackFeeReceiver = 0x5aaF9f1d7d6B6cB9F9961994e77eE5C0B9f1c90c;
        burnFeeReceiver = DEAD;    
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isexemptfromfees[msg.sender] = true;        
        isexemptfromfees[marketingFeeReceiver] = true;            
        isexemptfrommaxTX[msg.sender] = true;
        isexemptfrommaxTX[pair] = true;
        isexemptfrommaxTX[marketingFeeReceiver] = true;
        isexemptfrommaxTX[address(this)] = true;
        authorizations[marketingFeeReceiver] = true;
        
      

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

    }

    receive() external payable { }

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

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(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].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

        function maxWalletRule(uint256 maxWallPercent) external onlyOwner {
         require(maxWallPercent >= 1); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
        emit set_MaxWallet(_maxWalletToken);
                
    }

      function removeLimits () external onlyOwner {
            _maxTxAmount = _totalSupply;
            _maxWalletToken = _totalSupply;
    }

    function exemptFromFees(address wallet, bool _status) external onlyOwner {
        isexemptfromfees[wallet] = _status;       
    }

    function exemptFromMaxTX(address wallet, bool _status) external onlyOwner {
        isexemptfrommaxTX[wallet] = _status;       
    }
      
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(TradingOpen,"Trading not open yet");
        
          }
        
               
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isexemptfrommaxTX[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        checkTxLimit(sender, amount);  

        if(shouldSwapBack()){ swapBack(); }
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isexemptfromfees[sender] || isexemptfromfees[recipient]) ? amount : takeFee(sender, amount, recipient);
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
 
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isexemptfrommaxTX[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isexemptfromfees[sender];
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        
        uint256 percent = transferpercent;
        if(recipient == pair) {
            percent = sellpercent;
        } else if(sender == pair) {
            percent = buypercent;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(percent).div(feeDenominator * 100);
        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);
        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        
        if(burnTokens > 0){
            _totalSupply = _totalSupply.sub(burnTokens);
            emit Transfer(sender, ZERO, burnTokens);  
        
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

  
     function manualSend() external { 
             payable(autoLiquidityReceiver).transfer(address(this).balance);
            
    }

   function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
             if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        emit ClearToken(tokenAddress, tokens);
        return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
    }

    function setStructure(uint256 _percentonbuy, uint256 _percentonsell, uint256 _wallettransfer) external onlyOwner {
        sellpercent = _percentonsell;
        buypercent = _percentonbuy;
        transferpercent = _wallettransfer;    
          
    }
       
    function enableTrade() public onlyOwner {
        TradingOpen = true;
        buypercent = 100;
        sellpercent = 100;
        transferpercent = 100;
                              
    }

             
    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = checkRatio(setRatio, setRatioDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

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

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHbuyback = amountETH.mul(buybackFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess,) = payable(buybackFeeReceiver).call{value: amountETHbuyback}("");
        
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
    
  
    function set_fees() internal {
      
        emit EditTax( uint8(totalFee.mul(buypercent).div(100)),
            uint8(totalFee.mul(sellpercent).div(100)),
            uint8(totalFee.mul(transferpercent).div(100))
            );
    }
    
    function setParameters(uint256 _liquidityFee, uint256 _buybackFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        buybackFee = _buybackFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_buybackFee).add(_marketingFee).add(_devFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 2, "Fees can not be more than 50%"); 
        set_fees();
    }

   
    function setWallets(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _buybackFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        buybackFeeReceiver = _buybackFeeReceiver;

        emit set_Receivers(marketingFeeReceiver, buybackFeeReceiver, burnFeeReceiver, devFeeReceiver);
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit set_SwapBack(swapThreshold, swapEnabled);
    }

    function checkRatio(uint256 ratio, uint256 accuracy) public view returns (bool) {
        return showBacking(accuracy) > ratio;
    }

    function showBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(showSupply());
    }
    
    function showSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }
}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClearStuck","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Transfer","type":"uint8"}],"name":"EditTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":false,"internalType":"uint256","name":"maxTX","type":"uint256"}],"name":"set_MaxTX","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"set_MaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"buybackFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"burnFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"devFeeReceiver","type":"address"}],"name":"set_Receivers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"Enabled","type":"bool"}],"name":"set_SwapBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_TxExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_exemptfromfees","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"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":[{"internalType":"uint256","name":"ratio","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"checkRatio","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"exemptFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"exemptFromMaxTX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"maxWalletRule","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentonbuy","type":"uint256"},{"internalType":"uint256","name":"_percentonsell","type":"uint256"},{"internalType":"uint256","name":"_wallettransfer","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"showBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","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":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a6200069f565b6200002290633b9aca00620006af565b600381905562000043906064906200003c9060026200047c565b906200050f565b6004556003546200005e906064906200003c9060026200047c565b6005556001600a556009600b555f600c556005600d555f600e55600e54600c54600a54600b54600d54620000939190620006c9565b6200009f9190620006c9565b620000ab9190620006c9565b620000b79190620006c9565b600f5560646010819055601181905560128190556013819055601e601955601a55601d805461ffff60a01b1916600160a81b1790556003546103e89062000100906046620006af565b6200010c9190620006df565b601e553480156200011b575f80fd5b505f80546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620001d8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001fe9190620006ff565b600280546001600160a01b0319166001600160a01b03928316179055601b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200025b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002819190620006ff565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af1158015620002d0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002f69190620006ff565b601d80546001600160a01b039283166001600160a01b031991821681178355601c80548316909117905560148054821673b8270b410dd0771bdb0fbfa2b626d54dc353ac64179055601580548216735aaf9f1d7d6b6cb9f9961994e77ee5c0b9f1c90c9081178255601680548416339081179091556017805485169092179091556018805490931661dead17909255305f818152600760209081526040808320601b548916845282528083205f19905585835260088252808320805460ff19908116600190811790925586548a168552828520805482168317905587855260098452828520805482168317905597548916845281842080548916821790558554891684528184208054891682179055938352808320805488168517905593549096168152818652828120805490951690911790935560035482845260069094528083208490555190927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200046e91815260200190565b60405180910390a362000774565b5f825f036200048d57505f62000509565b5f6200049a8385620006af565b905082620004a98583620006df565b14620005065760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6200050683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200055860201b60201c565b5f81836200057b5760405162461bcd60e51b8152600401620004fd919062000727565b505f620005898486620006df565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005e657815f1904821115620005ca57620005ca62000592565b80851615620005d857918102915b93841c9390800290620005ab565b509250929050565b5f82620005fe5750600162000509565b816200060c57505f62000509565b8160018114620006255760028114620006305762000650565b600191505062000509565b60ff84111562000644576200064462000592565b50506001821b62000509565b5060208310610133831016604e8410600b841016171562000675575081810a62000509565b620006818383620005a6565b805f190482111562000697576200069762000592565b029392505050565b5f6200050660ff841683620005ee565b808202811582820484141762000509576200050962000592565b8082018082111562000509576200050962000592565b5f82620006fa57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000710575f80fd5b81516001600160a01b038116811462000506575f80fd5b5f6020808352835180828501525f5b81811015620007545785810183015185820160400152820162000736565b505f604082860101526040601f19601f8301168501019250505092915050565b61208880620007825f395ff3fe608060405260043610610214575f3560e01c8063751039fc1161011e578063a8aa1b31116100a8578063ded1e4381161006d578063ded1e43814610633578063df20fd4914610652578063f2fde38b14610671578063f429389014610690578063f887ea40146106a4575f80fd5b8063a8aa1b3114610574578063a9059cbb14610593578063b2bdfa7b146105b2578063c0cbdea4146105d0578063dd62ed3e146105ef575f80fd5b806382528791116100ee57806382528791146104bd578063893d20e8146104dc5780638da5cb5b1461050c57806395d89b41146105285780639b6b549914610555575f80fd5b8063751039fc1461046057806377b54bad1461047457806378109e54146104935780637d1db4a5146104a8575f80fd5b806330c9a6a01161019f578063571ac8b01161016f578063571ac8b0146103ba5780635d83e1d5146103d95780636ddd1713146103f857806370a0823114610418578063715018a61461044c575f80fd5b806330c9a6a01461034d578063313ce5671461036c57806346576ddb1461038757806355265669146103a6575f80fd5b8063095ea7b3116101e5578063095ea7b3146102c757806318160ddd146102e65780631df4ccfc146102fa57806323b872dd1461030f578063282c87491461032e575f80fd5b806299d3861461021f5780630445b6671461023557806306fdde031461025d57806308fd3d0514610297575f80fd5b3661021b57005b5f80fd5b34801561022a575f80fd5b506102336106c3565b005b348015610240575f80fd5b5061024a601e5481565b6040519081526020015b60405180910390f35b348015610268575f80fd5b5060408051808201909152600981526844696365204265747360b81b60208201525b6040516102549190611c3e565b3480156102a2575f80fd5b50601d546102b790600160a01b900460ff1681565b6040519015158152602001610254565b3480156102d2575f80fd5b506102b76102e1366004611ca4565b610719565b3480156102f1575f80fd5b5060035461024a565b348015610305575f80fd5b5061024a600f5481565b34801561031a575f80fd5b506102b7610329366004611ccc565b610785565b348015610339575f80fd5b50610233610348366004611d05565b610843565b348015610358575f80fd5b5061024a610367366004611d44565b610910565b348015610377575f80fd5b5060405160128152602001610254565b348015610392575f80fd5b506102336103a1366004611d68565b610955565b3480156103b1575f80fd5b5061024a6109a8565b3480156103c5575f80fd5b506102b76103d4366004611d9d565b610a18565b3480156103e4575f80fd5b506102336103f3366004611d44565b610a24565b348015610403575f80fd5b50601d546102b790600160a81b900460ff1681565b348015610423575f80fd5b5061024a610432366004611d9d565b6001600160a01b03165f9081526006602052604090205490565b348015610457575f80fd5b50610233610ab0565b34801561046b575f80fd5b50610233610b21565b34801561047f575f80fd5b506102b761048e366004611ca4565b610b57565b34801561049e575f80fd5b5061024a60055481565b3480156104b3575f80fd5b5061024a60045481565b3480156104c8575f80fd5b506102336104d7366004611db6565b610c7e565b3480156104e7575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610254565b348015610517575f80fd5b505f546001600160a01b03166104f4565b348015610533575f80fd5b50604080518082019091526005815264444245545360d81b602082015261028a565b348015610560575f80fd5b5061023361056f366004611d68565b610d55565b34801561057f575f80fd5b50601d546104f4906001600160a01b031681565b34801561059e575f80fd5b506102b76105ad366004611ca4565b610da8565b3480156105bd575f80fd5b505f546104f4906001600160a01b031681565b3480156105db575f80fd5b506102336105ea366004611e17565b610db4565b3480156105fa575f80fd5b5061024a610609366004611e40565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561063e575f80fd5b506102b761064d366004611e71565b610dee565b34801561065d575f80fd5b5061023361066c366004611e91565b610e01565b34801561067c575f80fd5b5061023361068b366004611d9d565b610e93565b34801561069b575f80fd5b50610233610f7a565b3480156106af575f80fd5b50601b546104f4906001600160a01b031681565b5f546001600160a01b031633146106f55760405162461bcd60e51b81526004016106ec90611ead565b60405180910390fd5b601d805460ff60a01b1916600160a01b179055606460128190556011819055601355565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107739086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f191461082e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260078252838120338252909152919091205461080a918490610fb3565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b610839848484610feb565b90505b9392505050565b5f546001600160a01b0316331461086c5760405162461bcd60e51b81526004016106ec90611ead565b600a869055600d859055600b849055600c839055600e82905561089d82610897858188818c8c611342565b90611342565b600f5560108190556108b0600282611ef6565b600f54106109005760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035302500000060448201526064016106ec565b6109086113a0565b505050505050565b5f61077f61091c6109a8565b601d546001600160a01b03165f9081526006602052604090205461094f90610948906002905b9061143b565b859061143b565b906114b9565b5f546001600160a01b0316331461097e5760405162461bcd60e51b81526004016106ec90611ead565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead5f9081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22546003549192610a13929091610a0d91906114fa565b906114fa565b905090565b5f61077f825f19610719565b5f546001600160a01b03163314610a4d5760405162461bcd60e51b81526004016106ec90611ead565b6001811015610a5a575f80fd5b6103e881600354610a6b9190611f15565b610a759190611ef6565b60058190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be519060200160405180910390a150565b5f546001600160a01b03163314610ad95760405162461bcd60e51b81526004016106ec90611ead565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b4a5760405162461bcd60e51b81526004016106ec90611ead565b6003546004819055600555565b5f815f03610bc8576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ba1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc59190611f2c565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160145460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610c5a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190611f43565b5f546001600160a01b03163314610ca75760405162461bcd60e51b81526004016106ec90611ead565b601480546001600160a01b038781166001600160a01b031992831617909255601580548784169083168117909155601680548785169084168117909155601880548786169085168117909155601780549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b5f546001600160a01b03163314610d7e5760405162461bcd60e51b81526004016106ec90611ead565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f61083c338484610feb565b5f546001600160a01b03163314610ddd5760405162461bcd60e51b81526004016106ec90611ead565b601191909155601291909155601355565b5f82610df983610910565b119392505050565b5f546001600160a01b03163314610e2a5760405162461bcd60e51b81526004016106ec90611ead565b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b5f546001600160a01b03163314610ebc5760405162461bcd60e51b81526004016106ec90611ead565b6001600160a01b038116610f215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ec565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610fb0573d5f803e3d5ffd5b50565b5f8184841115610fd65760405162461bcd60e51b81526004016106ec9190611c3e565b505f610fe28486611f5e565b95945050505050565b601f545f9060ff161561100a5761100384848461153b565b905061083c565b6001600160a01b0384165f9081526001602052604090205460ff1615801561104a57506001600160a01b0383165f9081526001602052604090205460ff16155b1561109f57601d54600160a01b900460ff1661109f5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106ec565b6001600160a01b0384165f9081526001602052604090205460ff161580156110d057506001600160a01b0383163014155b80156110e757506001600160a01b03831661dead14155b80156111015750601d546001600160a01b03848116911614155b801561111b57506018546001600160a01b03848116911614155b801561113557506015546001600160a01b03848116911614155b801561115957506001600160a01b0383165f9081526009602052604090205460ff16155b156111f9576001600160a01b0383165f908152600660205260409020546005546111838483611f71565b11156111f75760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106ec565b505b611203848361160b565b61120b611677565b15611218576112186116cb565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f90815260069091529190912054611269918490610fb3565b6001600160a01b0385165f90815260066020908152604080832093909355600890529081205460ff16806112b457506001600160a01b0384165f9081526008602052604090205460ff165b6112c8576112c3858486611a93565b6112ca565b825b6001600160a01b0385165f908152600660205260409020549091506112ef9082611342565b6001600160a01b038086165f8181526006602052604090819020939093559151908716905f805160206120338339815191529061132f9085815260200190565b60405180910390a3506001949350505050565b5f8061134e8385611f71565b90508381101561083c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ec565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006113dd606461094f601254600f5461143b90919063ffffffff16565b6113f9606461094f601154600f5461143b90919063ffffffff16565b611415606461094f601354600f5461143b90919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b5f825f0361144a57505f61077f565b5f6114558385611f15565b9050826114628583611ef6565b1461083c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ec565b5f61083c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c12565b5f61083c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fb3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260069091529182205461158b918490610fb3565b6001600160a01b038086165f9081526006602052604080822093909355908516815220546115b99083611342565b6001600160a01b038085165f8181526006602052604090819020939093559151908616905f80516020612033833981519152906115f99086815260200190565b60405180910390a35060019392505050565b6004548111158061163357506001600160a01b0382165f9081526009602052604090205460ff165b6116735760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106ec565b5050565b601d545f906001600160a01b031633148015906116975750601f5460ff16155b80156116ac5750601d54600160a81b900460ff165b8015610a13575050601e54305f90815260066020526040902054101590565b601f805460ff19166001179055601954601a545f916116e991610dee565b6116f557600a546116f7565b5f5b90505f61171a600261094f600f5461094f86601e5461143b90919063ffffffff16565b90505f61173282601e546114fa90919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061176a5761176a611f84565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061179b5761179b611f84565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b81524792919091169063791ac947906117e49086905f90879030904290600401611f98565b5f604051808303815f87803b1580156117fb575f80fd5b505af115801561180d573d5f803e3d5ffd5b505050505f61182582476114fa90919063ffffffff16565b90505f61183f6118368860026114b9565b600f54906114fa565b90505f611853600261094f8481878d61143b565b90505f61186f8361094f600b548761143b90919063ffffffff16565b90505f61188b8461094f600d548861143b90919063ffffffff16565b90505f6118a78561094f600c548961143b90919063ffffffff16565b6015546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146118f6576040519150601f19603f3d011682016040523d82523d5f602084013e6118fb565b606091505b50506016546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611948576040519150601f19603f3d011682016040523d82523d5f602084013e61194d565b606091505b50506017546040519192506001600160a01b03169084905f81818185875af1925050503d805f811461199a576040519150601f19603f3d011682016040523d82523d5f602084013e61199f565b606091505b505f9250508b159050611a7b57601b5460145460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611a19573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a3e9190612007565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff1916905550505050505050505050565b601354601d545f91906001600160a01b0390811690841603611ab85750601154611ad3565b601d546001600160a01b0390811690861603611ad357506012545b5f611aff6010546064611ae69190611f15565b61094f84610942600f548a61143b90919063ffffffff16565b90505f611b1d600f5461094f600e548561143b90919063ffffffff16565b90505f611b2a83836114fa565b305f90815260066020526040902054909150611b469082611342565b305f90815260066020526040808220929092556018546001600160a01b031681522054611b739083611342565b6018546001600160a01b039081165f9081526006602090815260409182902093909355518381523092918b16915f80516020612033833981519152910160405180910390a38115611bfc57600354611bcb90836114fa565b6003556040518281525f906001600160a01b038a16905f805160206120338339815191529060200160405180910390a35b611c0687846114fa565b98975050505050505050565b5f8183611c325760405162461bcd60e51b81526004016106ec9190611c3e565b505f610fe28486611ef6565b5f6020808352835180828501525f5b81811015611c6957858101830151858201604001528201611c4d565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611c9f575f80fd5b919050565b5f8060408385031215611cb5575f80fd5b611cbe83611c89565b946020939093013593505050565b5f805f60608486031215611cde575f80fd5b611ce784611c89565b9250611cf560208501611c89565b9150604084013590509250925092565b5f805f805f8060c08789031215611d1a575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f60208284031215611d54575f80fd5b5035919050565b8015158114610fb0575f80fd5b5f8060408385031215611d79575f80fd5b611d8283611c89565b91506020830135611d9281611d5b565b809150509250929050565b5f60208284031215611dad575f80fd5b61083c82611c89565b5f805f805f60a08688031215611dca575f80fd5b611dd386611c89565b9450611de160208701611c89565b9350611def60408701611c89565b9250611dfd60608701611c89565b9150611e0b60808701611c89565b90509295509295909350565b5f805f60608486031215611e29575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611e51575f80fd5b611e5a83611c89565b9150611e6860208401611c89565b90509250929050565b5f8060408385031215611e82575f80fd5b50508035926020909101359150565b5f8060408385031215611ea2575f80fd5b8235611cbe81611d5b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f82611f1057634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761077f5761077f611ee2565b5f60208284031215611f3c575f80fd5b5051919050565b5f60208284031215611f53575f80fd5b815161083c81611d5b565b8181038181111561077f5761077f611ee2565b8082018082111561077f5761077f611ee2565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611fe65784516001600160a01b031683529383019391830191600101611fc1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215612019575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122039840a5a7ab242933a5b8f25d3d3544c553b607a207fae7df17cf2639d120e6264736f6c63430008140033

Deployed Bytecode

0x608060405260043610610214575f3560e01c8063751039fc1161011e578063a8aa1b31116100a8578063ded1e4381161006d578063ded1e43814610633578063df20fd4914610652578063f2fde38b14610671578063f429389014610690578063f887ea40146106a4575f80fd5b8063a8aa1b3114610574578063a9059cbb14610593578063b2bdfa7b146105b2578063c0cbdea4146105d0578063dd62ed3e146105ef575f80fd5b806382528791116100ee57806382528791146104bd578063893d20e8146104dc5780638da5cb5b1461050c57806395d89b41146105285780639b6b549914610555575f80fd5b8063751039fc1461046057806377b54bad1461047457806378109e54146104935780637d1db4a5146104a8575f80fd5b806330c9a6a01161019f578063571ac8b01161016f578063571ac8b0146103ba5780635d83e1d5146103d95780636ddd1713146103f857806370a0823114610418578063715018a61461044c575f80fd5b806330c9a6a01461034d578063313ce5671461036c57806346576ddb1461038757806355265669146103a6575f80fd5b8063095ea7b3116101e5578063095ea7b3146102c757806318160ddd146102e65780631df4ccfc146102fa57806323b872dd1461030f578063282c87491461032e575f80fd5b806299d3861461021f5780630445b6671461023557806306fdde031461025d57806308fd3d0514610297575f80fd5b3661021b57005b5f80fd5b34801561022a575f80fd5b506102336106c3565b005b348015610240575f80fd5b5061024a601e5481565b6040519081526020015b60405180910390f35b348015610268575f80fd5b5060408051808201909152600981526844696365204265747360b81b60208201525b6040516102549190611c3e565b3480156102a2575f80fd5b50601d546102b790600160a01b900460ff1681565b6040519015158152602001610254565b3480156102d2575f80fd5b506102b76102e1366004611ca4565b610719565b3480156102f1575f80fd5b5060035461024a565b348015610305575f80fd5b5061024a600f5481565b34801561031a575f80fd5b506102b7610329366004611ccc565b610785565b348015610339575f80fd5b50610233610348366004611d05565b610843565b348015610358575f80fd5b5061024a610367366004611d44565b610910565b348015610377575f80fd5b5060405160128152602001610254565b348015610392575f80fd5b506102336103a1366004611d68565b610955565b3480156103b1575f80fd5b5061024a6109a8565b3480156103c5575f80fd5b506102b76103d4366004611d9d565b610a18565b3480156103e4575f80fd5b506102336103f3366004611d44565b610a24565b348015610403575f80fd5b50601d546102b790600160a81b900460ff1681565b348015610423575f80fd5b5061024a610432366004611d9d565b6001600160a01b03165f9081526006602052604090205490565b348015610457575f80fd5b50610233610ab0565b34801561046b575f80fd5b50610233610b21565b34801561047f575f80fd5b506102b761048e366004611ca4565b610b57565b34801561049e575f80fd5b5061024a60055481565b3480156104b3575f80fd5b5061024a60045481565b3480156104c8575f80fd5b506102336104d7366004611db6565b610c7e565b3480156104e7575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610254565b348015610517575f80fd5b505f546001600160a01b03166104f4565b348015610533575f80fd5b50604080518082019091526005815264444245545360d81b602082015261028a565b348015610560575f80fd5b5061023361056f366004611d68565b610d55565b34801561057f575f80fd5b50601d546104f4906001600160a01b031681565b34801561059e575f80fd5b506102b76105ad366004611ca4565b610da8565b3480156105bd575f80fd5b505f546104f4906001600160a01b031681565b3480156105db575f80fd5b506102336105ea366004611e17565b610db4565b3480156105fa575f80fd5b5061024a610609366004611e40565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561063e575f80fd5b506102b761064d366004611e71565b610dee565b34801561065d575f80fd5b5061023361066c366004611e91565b610e01565b34801561067c575f80fd5b5061023361068b366004611d9d565b610e93565b34801561069b575f80fd5b50610233610f7a565b3480156106af575f80fd5b50601b546104f4906001600160a01b031681565b5f546001600160a01b031633146106f55760405162461bcd60e51b81526004016106ec90611ead565b60405180910390fd5b601d805460ff60a01b1916600160a01b179055606460128190556011819055601355565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107739086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f191461082e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260078252838120338252909152919091205461080a918490610fb3565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b610839848484610feb565b90505b9392505050565b5f546001600160a01b0316331461086c5760405162461bcd60e51b81526004016106ec90611ead565b600a869055600d859055600b849055600c839055600e82905561089d82610897858188818c8c611342565b90611342565b600f5560108190556108b0600282611ef6565b600f54106109005760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035302500000060448201526064016106ec565b6109086113a0565b505050505050565b5f61077f61091c6109a8565b601d546001600160a01b03165f9081526006602052604090205461094f90610948906002905b9061143b565b859061143b565b906114b9565b5f546001600160a01b0316331461097e5760405162461bcd60e51b81526004016106ec90611ead565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead5f9081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22546003549192610a13929091610a0d91906114fa565b906114fa565b905090565b5f61077f825f19610719565b5f546001600160a01b03163314610a4d5760405162461bcd60e51b81526004016106ec90611ead565b6001811015610a5a575f80fd5b6103e881600354610a6b9190611f15565b610a759190611ef6565b60058190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be519060200160405180910390a150565b5f546001600160a01b03163314610ad95760405162461bcd60e51b81526004016106ec90611ead565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b4a5760405162461bcd60e51b81526004016106ec90611ead565b6003546004819055600555565b5f815f03610bc8576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ba1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc59190611f2c565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160145460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610c5a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190611f43565b5f546001600160a01b03163314610ca75760405162461bcd60e51b81526004016106ec90611ead565b601480546001600160a01b038781166001600160a01b031992831617909255601580548784169083168117909155601680548785169084168117909155601880548786169085168117909155601780549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b5f546001600160a01b03163314610d7e5760405162461bcd60e51b81526004016106ec90611ead565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f61083c338484610feb565b5f546001600160a01b03163314610ddd5760405162461bcd60e51b81526004016106ec90611ead565b601191909155601291909155601355565b5f82610df983610910565b119392505050565b5f546001600160a01b03163314610e2a5760405162461bcd60e51b81526004016106ec90611ead565b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b5f546001600160a01b03163314610ebc5760405162461bcd60e51b81526004016106ec90611ead565b6001600160a01b038116610f215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ec565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610fb0573d5f803e3d5ffd5b50565b5f8184841115610fd65760405162461bcd60e51b81526004016106ec9190611c3e565b505f610fe28486611f5e565b95945050505050565b601f545f9060ff161561100a5761100384848461153b565b905061083c565b6001600160a01b0384165f9081526001602052604090205460ff1615801561104a57506001600160a01b0383165f9081526001602052604090205460ff16155b1561109f57601d54600160a01b900460ff1661109f5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106ec565b6001600160a01b0384165f9081526001602052604090205460ff161580156110d057506001600160a01b0383163014155b80156110e757506001600160a01b03831661dead14155b80156111015750601d546001600160a01b03848116911614155b801561111b57506018546001600160a01b03848116911614155b801561113557506015546001600160a01b03848116911614155b801561115957506001600160a01b0383165f9081526009602052604090205460ff16155b156111f9576001600160a01b0383165f908152600660205260409020546005546111838483611f71565b11156111f75760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106ec565b505b611203848361160b565b61120b611677565b15611218576112186116cb565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f90815260069091529190912054611269918490610fb3565b6001600160a01b0385165f90815260066020908152604080832093909355600890529081205460ff16806112b457506001600160a01b0384165f9081526008602052604090205460ff165b6112c8576112c3858486611a93565b6112ca565b825b6001600160a01b0385165f908152600660205260409020549091506112ef9082611342565b6001600160a01b038086165f8181526006602052604090819020939093559151908716905f805160206120338339815191529061132f9085815260200190565b60405180910390a3506001949350505050565b5f8061134e8385611f71565b90508381101561083c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ec565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006113dd606461094f601254600f5461143b90919063ffffffff16565b6113f9606461094f601154600f5461143b90919063ffffffff16565b611415606461094f601354600f5461143b90919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b5f825f0361144a57505f61077f565b5f6114558385611f15565b9050826114628583611ef6565b1461083c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ec565b5f61083c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c12565b5f61083c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fb3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260069091529182205461158b918490610fb3565b6001600160a01b038086165f9081526006602052604080822093909355908516815220546115b99083611342565b6001600160a01b038085165f8181526006602052604090819020939093559151908616905f80516020612033833981519152906115f99086815260200190565b60405180910390a35060019392505050565b6004548111158061163357506001600160a01b0382165f9081526009602052604090205460ff165b6116735760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106ec565b5050565b601d545f906001600160a01b031633148015906116975750601f5460ff16155b80156116ac5750601d54600160a81b900460ff165b8015610a13575050601e54305f90815260066020526040902054101590565b601f805460ff19166001179055601954601a545f916116e991610dee565b6116f557600a546116f7565b5f5b90505f61171a600261094f600f5461094f86601e5461143b90919063ffffffff16565b90505f61173282601e546114fa90919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061176a5761176a611f84565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061179b5761179b611f84565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b81524792919091169063791ac947906117e49086905f90879030904290600401611f98565b5f604051808303815f87803b1580156117fb575f80fd5b505af115801561180d573d5f803e3d5ffd5b505050505f61182582476114fa90919063ffffffff16565b90505f61183f6118368860026114b9565b600f54906114fa565b90505f611853600261094f8481878d61143b565b90505f61186f8361094f600b548761143b90919063ffffffff16565b90505f61188b8461094f600d548861143b90919063ffffffff16565b90505f6118a78561094f600c548961143b90919063ffffffff16565b6015546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146118f6576040519150601f19603f3d011682016040523d82523d5f602084013e6118fb565b606091505b50506016546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611948576040519150601f19603f3d011682016040523d82523d5f602084013e61194d565b606091505b50506017546040519192506001600160a01b03169084905f81818185875af1925050503d805f811461199a576040519150601f19603f3d011682016040523d82523d5f602084013e61199f565b606091505b505f9250508b159050611a7b57601b5460145460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611a19573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a3e9190612007565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff1916905550505050505050505050565b601354601d545f91906001600160a01b0390811690841603611ab85750601154611ad3565b601d546001600160a01b0390811690861603611ad357506012545b5f611aff6010546064611ae69190611f15565b61094f84610942600f548a61143b90919063ffffffff16565b90505f611b1d600f5461094f600e548561143b90919063ffffffff16565b90505f611b2a83836114fa565b305f90815260066020526040902054909150611b469082611342565b305f90815260066020526040808220929092556018546001600160a01b031681522054611b739083611342565b6018546001600160a01b039081165f9081526006602090815260409182902093909355518381523092918b16915f80516020612033833981519152910160405180910390a38115611bfc57600354611bcb90836114fa565b6003556040518281525f906001600160a01b038a16905f805160206120338339815191529060200160405180910390a35b611c0687846114fa565b98975050505050505050565b5f8183611c325760405162461bcd60e51b81526004016106ec9190611c3e565b505f610fe28486611ef6565b5f6020808352835180828501525f5b81811015611c6957858101830151858201604001528201611c4d565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611c9f575f80fd5b919050565b5f8060408385031215611cb5575f80fd5b611cbe83611c89565b946020939093013593505050565b5f805f60608486031215611cde575f80fd5b611ce784611c89565b9250611cf560208501611c89565b9150604084013590509250925092565b5f805f805f8060c08789031215611d1a575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f60208284031215611d54575f80fd5b5035919050565b8015158114610fb0575f80fd5b5f8060408385031215611d79575f80fd5b611d8283611c89565b91506020830135611d9281611d5b565b809150509250929050565b5f60208284031215611dad575f80fd5b61083c82611c89565b5f805f805f60a08688031215611dca575f80fd5b611dd386611c89565b9450611de160208701611c89565b9350611def60408701611c89565b9250611dfd60608701611c89565b9150611e0b60808701611c89565b90509295509295909350565b5f805f60608486031215611e29575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611e51575f80fd5b611e5a83611c89565b9150611e6860208401611c89565b90509250929050565b5f8060408385031215611e82575f80fd5b50508035926020909101359150565b5f8060408385031215611ea2575f80fd5b8235611cbe81611d5b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f82611f1057634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761077f5761077f611ee2565b5f60208284031215611f3c575f80fd5b5051919050565b5f60208284031215611f53575f80fd5b815161083c81611d5b565b8181038181111561077f5761077f611ee2565b8082018082111561077f5761077f611ee2565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611fe65784516001600160a01b031683529383019391830191600101611fc1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215612019575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122039840a5a7ab242933a5b8f25d3d3544c553b607a207fae7df17cf2639d120e6264736f6c63430008140033

Deployed Bytecode Sourcemap

5067:13958:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14866:196;;;;;;;;;;;;;:::i;:::-;;7397:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7397:55:0;;;;;;;;9005:80;;;;;;;;;;-1:-1:-1;9077:5:0;;;;;;;;;;;;-1:-1:-1;;;9077:5:0;;;;9005:80;;;;;;;:::i;7314:31::-;;;;;;;;;;-1:-1:-1;7314:31:0;;;;-1:-1:-1;;;7314:31:0;;;;;;;;;914:14:1;;907:22;889:41;;877:2;862:18;7314:31:0;749:187:1;9427:216:0;;;;;;;;;;-1:-1:-1;9427:216:0;;;;;:::i;:::-;;:::i;8735:88::-;;;;;;;;;;-1:-1:-1;8808:12:0;;8735:88;;6685:93;;;;;;;;;;;;;;;;9945:370;;;;;;;;;;-1:-1:-1;9945:370:0;;;;;:::i;:::-;;:::i;17208:591::-;;;;;;;;;;-1:-1:-1;17208:591:0;;;;;:::i;:::-;;:::i;18729:149::-;;;;;;;;;;-1:-1:-1;18729:149:0;;;;;:::i;:::-;;:::i;8829:80::-;;;;;;;;;;-1:-1:-1;8829:80:0;;5427:2;2566:36:1;;2554:2;2539:18;8829:80:0;2424:184:1;10872:135:0;;;;;;;;;;-1:-1:-1;10872:135:0;;;;;:::i;:::-;;:::i;18890:132::-;;;;;;;;;;;;;:::i;9651:122::-;;;;;;;;;;-1:-1:-1;9651:122:0;;;;;:::i;:::-;;:::i;10327:247::-;;;;;;;;;;-1:-1:-1;10327:247:0;;;;;:::i;:::-;;:::i;7360:30::-;;;;;;;;;;-1:-1:-1;7360:30:0;;;;-1:-1:-1;;;7360:30:0;;;;;;9175:105;;;;;;;;;;-1:-1:-1;9175:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;9259:18:0;9241:7;9259:18;;;:9;:18;;;;;;;9175:105;1981:148;;;;;;;;;;;;;:::i;10584:139::-;;;;;;;;;;;;;:::i;14248:338::-;;;;;;;;;;-1:-1:-1;14248:338:0;;;;;:::i;:::-;;:::i;6188:61::-;;;;;;;;;;;;;;;;6123:58;;;;;;;;;;;;;;;;17812:547;;;;;;;;;;-1:-1:-1;17812:547:0;;;;;:::i;:::-;;:::i;9091:78::-;;;;;;;;;;-1:-1:-1;9143:7:0;1832:6;-1:-1:-1;;;;;1832:6:0;9091:78;;;-1:-1:-1;;;;;3900:32:1;;;3882:51;;3870:2;3855:18;9091:78:0;3736:203:1;1767:79:0;;;;;;;;;;-1:-1:-1;1805:7:0;1832:6;-1:-1:-1;;;;;1832:6:0;1767:79;;8915:84;;;;;;;;;;-1:-1:-1;8989:7:0;;;;;;;;;;;;-1:-1:-1;;;8989:7:0;;;;8915:84;;10731:133;;;;;;;;;;-1:-1:-1;10731:133:0;;;;;:::i;:::-;;:::i;7282:19::-;;;;;;;;;;-1:-1:-1;7282:19:0;;;;-1:-1:-1;;;;;7282:19:0;;;9781:156;;;;;;;;;;-1:-1:-1;9781:156:0;;;;;:::i;:::-;;:::i;1387:21::-;;;;;;;;;;-1:-1:-1;1387:21:0;;;;-1:-1:-1;;;;;1387:21:0;;;14594:257;;;;;;;;;;-1:-1:-1;14594:257:0;;;;;:::i;:::-;;:::i;9286:133::-;;;;;;;;;;-1:-1:-1;9286:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;9388:19:0;;;9370:7;9388:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9286:133;18586:135;;;;;;;;;;-1:-1:-1;18586:135:0;;;;;:::i;:::-;;:::i;18367:211::-;;;;;;;;;;-1:-1:-1;18367:211:0;;;;;:::i;:::-;;:::i;2137:244::-;;;;;;;;;;-1:-1:-1;2137:244:0;;;;;:::i;:::-;;:::i;14109:132::-;;;;;;;;;;;;;:::i;7212:24::-;;;;;;;;;;-1:-1:-1;7212:24:0;;;;-1:-1:-1;;;;;7212:24:0;;;14866:196;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;;;;;;;;;14917:11:::1;:18:::0;;-1:-1:-1;;;;14917:18:0::1;-1:-1:-1::0;;;14917:18:0::1;::::0;;14959:3:::1;14946:10;:16:::0;;;14973:11:::1;:17:::0;;;15001:15:::1;:21:::0;14866:196::o;9427:216::-;9531:10;9502:4;9519:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9519:32:0;;;;;;;;;;:41;;;9576:37;9502:4;;9519:32;;9576:37;;;;9554:6;160:25:1;;148:2;133:18;;14:177;9576:37:0;;;;;;;;-1:-1:-1;9631:4:0;9427:216;;;;;:::o;9945:370::-;-1:-1:-1;;;;;10065:19:0;;10045:4;10065:19;;;:11;:19;;;;;;;;10085:10;10065:31;;;;;;;;-1:-1:-1;;10065:52:0;10062:186;;10167:69;;;;;;;;;;;-1:-1:-1;;;10167:69:0;;;;;;;;-1:-1:-1;;;;;10167:19:0;;-1:-1:-1;10167:19:0;;;:11;:19;;;;;10187:10;10167:31;;;;;;;;;;:69;;10203:6;;10167:35;:69::i;:::-;-1:-1:-1;;;;;10133:19:0;;;;;;:11;:19;;;;;;;;10153:10;10133:31;;;;;;;:103;10062:186;10267:40;10281:6;10289:9;10300:6;10267:13;:40::i;:::-;10260:47;;9945:370;;;;;;:::o;17208:591::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;17388:12:::1;:28:::0;;;17427:10:::1;:24:::0;;;17462:12:::1;:28:::0;;;17501:6:::1;:16:::0;;;17528:7:::1;:18:::0;;;17568:76:::1;17538:8:::0;17568:62:::1;17510:7:::0;17568:62;17477:13;17568:62;17403:13;17440:11;17568:17:::1;:30::i;:::-;:34:::0;::::1;:49::i;:76::-;17557:8;:87:::0;17655:14:::1;:32:::0;;;17717:18:::1;17734:1;17672:15:::0;17717:18:::1;:::i;:::-;17706:8;;:29;17698:71;;;::::0;-1:-1:-1;;;17698:71:0;;6240:2:1;17698:71:0::1;::::0;::::1;6222:21:1::0;6279:2;6259:18;;;6252:30;6318:31;6298:18;;;6291:59;6367:18;;17698:71:0::1;6038:353:1::0;17698:71:0::1;17781:10;:8;:10::i;:::-;17208:591:::0;;;;;;:::o;18729:149::-;18789:7;18816:54;18857:12;:10;:12::i;:::-;18839:4;;-1:-1:-1;;;;;18839:4:0;9241:7;9259:18;;;:9;:18;;;;;;18816:36;;18829:22;;18849:1;;18829:15;:19;;:22::i;:::-;18816:8;;:12;:36::i;:::-;:40;;:54::i;10872:135::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10957:25:0;;;::::1;;::::0;;;:17:::1;:25;::::0;;;;:35;;-1:-1:-1;;10957:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10872:135::o;18890:132::-;9259:9;:18;;;;5188:42;18933:7;9259:18;;;;;18960:12;;18933:7;;18960:54;;9259:18;;18960:33;;:12;:16;:33::i;:::-;:37;;:54::i;:::-;18953:61;;18890:132;:::o;9651:122::-;9706:4;9730:35;9738:7;-1:-1:-1;;9730:7:0;:35::i;10327:247::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;10431:1:::1;10413:14;:19;;10405:28;;;::::0;::::1;;10498:4;10479:14;10464:12;;:29;;;;:::i;:::-;10463:39;;;;:::i;:::-;10445:15;:57:::0;;;10518:30:::1;::::0;160:25:1;;;10518:30:0::1;::::0;148:2:1;133:18;10518:30:0::1;;;;;;;10327:247:::0;:::o;1981:148::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;2088:1:::1;2072:6:::0;;2051:40:::1;::::0;-1:-1:-1;;;;;2072:6:0;;::::1;::::0;2051:40:::1;::::0;2088:1;;2051:40:::1;2119:1;2102:19:::0;;-1:-1:-1;;;;;;2102:19:0::1;::::0;;1981:148::o;10584:139::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;10658:12:::1;::::0;10643::::1;:27:::0;;;10685:15:::1;:30:::0;10584:139::o;14248:338::-;14329:12;14362:6;14372:1;14362:11;14359:95;;14398:44;;-1:-1:-1;;;14398:44:0;;14436:4;14398:44;;;3882:51:1;-1:-1:-1;;;;;14398:29:0;;;;;3855:18:1;;14398:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14389:53;;14359:95;14469:32;;;-1:-1:-1;;;;;6950:32:1;;6932:51;;7014:2;6999:18;;6992:34;;;14469:32:0;;6905:18:1;14469:32:0;;;;;;;14548:21;;14519:59;;-1:-1:-1;;;14519:59:0;;-1:-1:-1;;;;;14548:21:0;;;14519:59;;;6932:51:1;6999:18;;;6992:34;;;14519:28:0;;;;;;6905:18:1;;14519:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17812:547::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;18005:21:::1;:46:::0;;-1:-1:-1;;;;;18005:46:0;;::::1;-1:-1:-1::0;;;;;;18005:46:0;;::::1;;::::0;;;18062:20:::1;:44:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;18117:14:::1;:32:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;18160:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;18205:18:::1;:40:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;18263:88:::1;::::0;;7556:34:1;;;7621:2;7606:18;;7599:43;;;;7658:18;;;7651:43;;;;7725:2;7710:18;;7703:43;;;;18263:88:0::1;::::0;7505:3:1;7490:19;18263:88:0::1;;;;;;;17812:547:::0;;;;;:::o;10731:133::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10815:24:0;;;::::1;;::::0;;;:16:::1;:24;::::0;;;;:34;;-1:-1:-1;;10815:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10731:133::o;9781:156::-;9861:4;9885:44;9899:10;9911:9;9922:6;9885:13;:44::i;14594:257::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;14718:11:::1;:28:::0;;;;14757:10:::1;:26:::0;;;;14794:15:::1;:33:::0;14594:257::o;18586:135::-;18660:4;18708:5;18684:21;18696:8;18684:11;:21::i;:::-;:29;;18586:135;-1:-1:-1;;;18586:135:0:o;18367:211::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;18458:11:::1;:22:::0;;-1:-1:-1;;;;18458:22:0::1;-1:-1:-1::0;;;18458:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;18491:13:::1;:23:::0;;;18530:40:::1;::::0;;7925:25:1;;;18458:22:0::1;18558:11:::0;;;::::1;::::0;;;::::1;7993:14:1::0;7986:22;7981:2;7966:18;;7959:50;18530:40:0::1;::::0;7898:18:1;18530:40:0::1;;;;;;;18367:211:::0;;:::o;2137:244::-;1894:6;;-1:-1:-1;;;;;1894:6:0;1204:10;1894:22;1886:67;;;;-1:-1:-1;;;1886:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2226:22:0;::::1;2218:73;;;::::0;-1:-1:-1;;;2218:73:0;;8222:2:1;2218:73:0::1;::::0;::::1;8204:21:1::0;8261:2;8241:18;;;8234:30;8300:34;8280:18;;;8273:62;-1:-1:-1;;;8351:18:1;;;8344:36;8397:19;;2218:73:0::1;8020:402:1::0;2218:73:0::1;2328:6;::::0;;2307:38:::1;::::0;-1:-1:-1;;;;;2307:38:0;;::::1;::::0;2328:6;::::1;::::0;2307:38:::1;::::0;::::1;2356:6;:17:::0;;-1:-1:-1;;;;;;2356:17:0::1;-1:-1:-1::0;;;;;2356:17:0;;;::::1;::::0;;;::::1;::::0;;2137:244::o;14109:132::-;14165:21;;14157:62;;-1:-1:-1;;;;;14165:21:0;;;;14197;14157:62;;;;;14165:21;14157:62;14165:21;14157:62;14197:21;14165;14157:62;;;;;;;;;;;;;;;;;;;;;14109:132::o;4279:192::-;4365:7;4401:12;4393:6;;;;4385:29;;;;-1:-1:-1;;;4385:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4425:9:0;4437:5;4441:1;4437;:5;:::i;:::-;4425:17;4279:192;-1:-1:-1;;;;;4279:192:0:o;11021:1238::-;11133:6;;11113:4;;11133:6;;11130:63;;;11149:41;11164:6;11172:9;11183:6;11149:14;:41::i;:::-;11142:48;;;;11130:63;-1:-1:-1;;;;;11209:22:0;;;;;;:14;:22;;;;;;;;11208:23;:53;;;;-1:-1:-1;;;;;;11236:25:0;;;;;;:14;:25;;;;;;;;11235:26;11208:53;11205:139;;;11285:11;;-1:-1:-1;;;11285:11:0;;;;11277:43;;;;-1:-1:-1;;;11277:43:0;;8762:2:1;11277:43:0;;;8744:21:1;8801:2;8781:18;;;8774:30;-1:-1:-1;;;8820:18:1;;;8813:50;8880:18;;11277:43:0;8560:344:1;11277:43:0;-1:-1:-1;;;;;11386:22:0;;;;;;:14;:22;;;;;;;;11385:23;:53;;;;-1:-1:-1;;;;;;11412:26:0;;11433:4;11412:26;;11385:53;:84;;;;-1:-1:-1;;;;;;11443:26:0;;5188:42;11443:26;;11385:84;:105;;;;-1:-1:-1;11486:4:0;;-1:-1:-1;;;;;11473:17:0;;;11486:4;;11473:17;;11385:105;:137;;;;-1:-1:-1;11507:15:0;;-1:-1:-1;;;;;11494:28:0;;;11507:15;;11494:28;;11385:137;:174;;;;-1:-1:-1;11539:20:0;;-1:-1:-1;;;;;11526:33:0;;;11539:20;;11526:33;;11385:174;:207;;;;-1:-1:-1;;;;;;11564:28:0;;;;;;:17;:28;;;;;;;;11563:29;11385:207;11381:399;;;-1:-1:-1;;;;;9259:18:0;;11608;9259;;;:9;:18;;;;;;11697:15;;11673:19;11686:6;9259:18;11673:19;:::i;:::-;11672:40;;11664:114;;;;-1:-1:-1;;;11664:114:0;;9241:2:1;11664:114:0;;;9223:21:1;9280:2;9260:18;;;9253:30;9319:34;9299:18;;;9292:62;9390:32;9370:18;;;9363:60;9440:19;;11664:114:0;9039:426:1;11664:114:0;11593:187;11381:399;11792:28;11805:6;11813;11792:12;:28::i;:::-;11838:16;:14;:16::i;:::-;11835:35;;;11857:10;:8;:10::i;:::-;11900:53;;;;;;;;;;;-1:-1:-1;;;11900:53:0;;;;;;;;-1:-1:-1;;;;;11900:17:0;;-1:-1:-1;11900:17:0;;;:9;:17;;;;;;;;:53;;11922:6;;11900:21;:53::i;:::-;-1:-1:-1;;;;;11880:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11992:16;:24;;;;;;;;;:55;;-1:-1:-1;;;;;;12020:27:0;;;;;;:16;:27;;;;;;;;11992:55;11991:103;;12060:34;12068:6;12076;12084:9;12060:7;:34::i;:::-;11991:103;;;12051:6;11991:103;-1:-1:-1;;;;;12128:20:0;;;;;;:9;:20;;;;;;11966:128;;-1:-1:-1;12128:40:0;;11966:128;12128:24;:40::i;:::-;-1:-1:-1;;;;;12105:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12186:43;;;;;;-1:-1:-1;;;;;;;;;;;12186:43:0;;;12214:14;160:25:1;;148:2;133:18;;14:177;12186:43:0;;;;;;;;-1:-1:-1;12247:4:0;;11021:1238;-1:-1:-1;;;;11021:1238:0:o;3950:181::-;4008:7;;4040:5;4044:1;4040;:5;:::i;:::-;4028:17;;4069:1;4064;:6;;4056:46;;;;-1:-1:-1;;;4056:46:0;;9672:2:1;4056:46:0;;;9654:21:1;9711:2;9691:18;;;9684:30;9750:29;9730:18;;;9723:57;9797:18;;4056:46:0;9470:351:1;16955:241:0;17008:180;17023:33;17052:3;17023:24;17036:10;;17023:8;;:12;;:24;;;;:::i;:33::-;17078:34;17108:3;17078:25;17091:11;;17078:8;;:12;;:25;;;;:::i;:34::-;17134:38;17168:3;17134:29;17147:15;;17134:8;;:12;;:29;;;;:::i;:38::-;17008:180;;;10046:4:1;10034:17;;;10016:36;;10088:17;;;10083:2;10068:18;;10061:45;10142:17;;10122:18;;;10115:45;17008:180:0;;;;;;10004:2:1;17008:180:0;;;16955:241::o;4477:250::-;4535:7;4559:1;4564;4559:6;4555:47;;-1:-1:-1;4589:1:0;4582:8;;4555:47;4614:9;4626:5;4630:1;4626;:5;:::i;:::-;4614:17;-1:-1:-1;4659:1:0;4650:5;4654:1;4614:17;4650:5;:::i;:::-;:10;4642:56;;;;-1:-1:-1;;;4642:56:0;;10373:2:1;4642:56:0;;;10355:21:1;10412:2;10392:18;;;10385:30;10451:34;10431:18;;;10424:62;-1:-1:-1;;;10502:18:1;;;10495:31;10543:19;;4642:56:0;10171:397:1;4733:132:0;4791:7;4818:39;4822:1;4825;4818:39;;;;;;;;;;;;;;;;;:3;:39::i;4137:136::-;4195:7;4222:43;4226:1;4229;4222:43;;;;;;;;;;;;;;;;;:3;:43::i;12268:330::-;12398:53;;;;;;;;;;;-1:-1:-1;;;12398:53:0;;;;;;;;-1:-1:-1;;;;;12398:17:0;;12361:4;12398:17;;;:9;:17;;;;;;;:53;;12420:6;;12398:21;:53::i;:::-;-1:-1:-1;;;;;12378:17:0;;;;;;;:9;:17;;;;;;:73;;;;12485:20;;;;;;;:32;;12510:6;12485:24;:32::i;:::-;-1:-1:-1;;;;;12462:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12533:35;;;;;;-1:-1:-1;;;;;;;;;;;12533:35:0;;;12561:6;160:25:1;;148:2;133:18;;14:177;12533:35:0;;;;;;;;-1:-1:-1;12586:4:0;12268:330;;;;;:::o;12606:168::-;12703:12;;12693:6;:22;;:51;;;-1:-1:-1;;;;;;12719:25:0;;;;;;:17;:25;;;;;;;;12693:51;12685:81;;;;-1:-1:-1;;;12685:81:0;;10775:2:1;12685:81:0;;;10757:21:1;10814:2;10794:18;;;10787:30;-1:-1:-1;;;10833:18:1;;;10826:47;10890:18;;12685:81:0;10573:341:1;12685:81:0;12606:168;;:::o;13899:197::-;13986:4;;13948;;-1:-1:-1;;;;;13986:4:0;13972:10;:18;;;;:38;;-1:-1:-1;14004:6:0;;;;14003:7;13972:38;:62;;;;-1:-1:-1;14023:11:0;;-1:-1:-1;;;14023:11:0;;;;13972:62;:116;;;;-1:-1:-1;;14075:13:0;;14065:4;14047:24;;;;:9;:24;;;;;;:41;;;13899:197::o;15085:1854::-;7500:6;:13;;-1:-1:-1;;7500:13:0;7509:4;7500:13;;;15175:8:::1;::::0;15185:19:::1;::::0;7500:6;;15164:41:::1;::::0;:10:::1;:41::i;:::-;:60;;15212:12;;15164:60;;;15208:1;15164:60;15134:90;;15235:23;15261:59;15318:1;15261:52;15304:8;;15261:38;15279:19;15261:13;;:17;;:38;;;;:::i;:59::-;15235:85;;15331:20;15354:34;15372:15;15354:13;;:17;;:34;;;;:::i;:::-;15425:16;::::0;;15439:1:::1;15425:16:::0;;;;;::::1;::::0;;15331:57;;-1:-1:-1;15401:21:0::1;::::0;15425:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15425:16:0::1;15401:40;;15470:4;15452;15457:1;15452:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15452:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15496:4:::1;::::0;15486:7;;15496:4;::::1;::::0;15486;;15496;;15486:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15486:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15571:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15571:188:0;;15537:21:::1;::::0;15571:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15643:12;;15513:21:::1;::::0;15686:4;;15713::::1;::::0;15733:15:::1;::::0;15571:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15772:17;15792:40;15818:13;15792:21;:25;;:40;;;;:::i;:::-;15772:60:::0;-1:-1:-1;15845:19:0::1;15867:40;15880:26;:19:::0;15904:1:::1;15880:23;:26::i;:::-;15867:8;::::0;;:12:::1;:40::i;:::-;15845:62:::0;-1:-1:-1;15928:26:0::1;15957:58;16013:1;15957:51;15845:62:::0;15957:51;:9;15971:19;15957:13:::1;:34::i;:58::-;15928:87;;16026:26;16055:44;16087:11;16055:27;16069:12;;16055:9;:13;;:27;;;;:::i;:44::-;16026:73;;16110:24;16137:42;16167:11;16137:25;16151:10;;16137:9;:13;;:25;;;;:::i;:42::-;16110:69;;16190:20;16213:38;16239:11;16213:21;16227:6;;16213:9;:13;;:21;;;;:::i;:38::-;16293:20;::::0;16285:65:::1;::::0;16190:61;;-1:-1:-1;16265:15:0::1;::::0;-1:-1:-1;;;;;16293:20:0;;::::1;::::0;16327:18;;16265:15;16285:65;16265:15;16285:65;16327:18;16293:20;16285:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16385:14:0::1;::::0;16377:53:::1;::::0;16264:86;;-1:-1:-1;;;;;;16385:14:0::1;::::0;16413:12;;16377:53:::1;::::0;;;16413:12;16385:14;16377:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;16465:18:0::1;::::0;16457:61:::1;::::0;16361:69;;-1:-1:-1;;;;;;16465:18:0::1;::::0;16497:16;;16457:61:::1;::::0;;;16497:16;16465:18;16457:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16552:5:0::1;::::0;-1:-1:-1;;16573:19:0;;;-1:-1:-1;16570:362:0::1;;16608:6;::::0;16782:21:::1;::::0;16608:244:::1;::::0;-1:-1:-1;;;16608:244:0;;16684:4:::1;16608:244;::::0;::::1;12719:34:1::0;12769:18;;;12762:34;;;16608:6:0::1;12812:18:1::0;;;12805:34;;;12855:18;;;12848:34;-1:-1:-1;;;;;16782:21:0;;::::1;12898:19:1::0;;;12891:44;16822:15:0::1;12951:19:1::0;;;12944:35;16608:6:0;::::1;::::0;:22:::1;::::0;16638:18;;12653:19:1;;16608:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16872:48:0::1;::::0;;13475:25:1;;;13531:2;13516:18;;13509:34;;;16872:48:0::1;::::0;-1:-1:-1;13448:18:1;16872:48:0::1;;;;;;;16570:362;-1:-1:-1::0;;7518:6:0;:14;;-1:-1:-1;;7518:14:0;;;-1:-1:-1;;;;;;;;;;15085:1854:0:o;12909:982::-;13043:15;;13085:4;;12995:7;;13043:15;-1:-1:-1;;;;;13085:4:0;;;13072:17;;;;13069:142;;-1:-1:-1;13116:11:0;;13069:142;;;13158:4;;-1:-1:-1;;;;;13158:4:0;;;13148:14;;;;13145:66;;-1:-1:-1;13189:10:0;;13145:66;13223:17;13243:59;13281:14;;13298:3;13281:20;;;;:::i;:::-;13243:33;13268:7;13243:20;13254:8;;13243:6;:10;;:20;;;;:::i;:59::-;13223:79;;13313:18;13334:36;13361:8;;13334:22;13348:7;;13334:9;:13;;:22;;;;:::i;:36::-;13313:57;-1:-1:-1;13381:22:0;13406:25;:9;13313:57;13406:13;:25::i;:::-;13487:4;13469:24;;;;:9;:24;;;;;;13381:50;;-1:-1:-1;13469:44:0;;13381:50;13469:28;:44::i;:::-;13460:4;13442:24;;;;:9;:24;;;;;;:71;;;;13563:15;;-1:-1:-1;;;;;13563:15:0;13553:26;;;;:42;;13584:10;13553:30;:42::i;:::-;13534:15;;-1:-1:-1;;;;;13534:15:0;;;13524:26;;;;:9;:26;;;;;;;;;:71;;;;13611:47;160:25:1;;;13636:4:0;;13611:47;;;;-1:-1:-1;;;;;;;;;;;13611:47:0;133:18:1;13611:47:0;;;;;;;13692:14;;13689:154;;13737:12;;:28;;13754:10;13737:16;:28::i;:::-;13722:12;:43;13785:34;;160:25:1;;;5261:42:0;;-1:-1:-1;;;;;13785:34:0;;;-1:-1:-1;;;;;;;;;;;13785:34:0;148:2:1;133:18;13785:34:0;;;;;;;13689:154;13862:21;:6;13873:9;13862:10;:21::i;:::-;13855:28;12909:982;-1:-1:-1;;;;;;;;12909:982:0:o;4871:189::-;4957:7;4992:12;4985:5;4977:28;;;;-1:-1:-1;;;4977:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5016:9:0;5028:5;5032:1;5028;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;941:173::-;1009:20;;-1:-1:-1;;;;;1058:31:1;;1048:42;;1038:70;;1104:1;1101;1094:12;1038:70;941:173;;;:::o;1119:254::-;1187:6;1195;1248:2;1236:9;1227:7;1223:23;1219:32;1216:52;;;1264:1;1261;1254:12;1216:52;1287:29;1306:9;1287:29;:::i;:::-;1277:39;1363:2;1348:18;;;;1335:32;;-1:-1:-1;;;1119:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1711:523::-;1815:6;1823;1831;1839;1847;1855;1908:3;1896:9;1887:7;1883:23;1879:33;1876:53;;;1925:1;1922;1915:12;1876:53;-1:-1:-1;;1948:23:1;;;2018:2;2003:18;;1990:32;;-1:-1:-1;2069:2:1;2054:18;;2041:32;;2120:2;2105:18;;2092:32;;-1:-1:-1;2171:3:1;2156:19;;2143:33;;-1:-1:-1;2223:3:1;2208:19;2195:33;;-1:-1:-1;1711:523:1;-1:-1:-1;1711:523:1:o;2239:180::-;2298:6;2351:2;2339:9;2330:7;2326:23;2322:32;2319:52;;;2367:1;2364;2357:12;2319:52;-1:-1:-1;2390:23:1;;2239:180;-1:-1:-1;2239:180:1:o;2613:118::-;2699:5;2692:13;2685:21;2678:5;2675:32;2665:60;;2721:1;2718;2711:12;2736:315;2801:6;2809;2862:2;2850:9;2841:7;2837:23;2833:32;2830:52;;;2878:1;2875;2868:12;2830:52;2901:29;2920:9;2901:29;:::i;:::-;2891:39;;2980:2;2969:9;2965:18;2952:32;2993:28;3015:5;2993:28;:::i;:::-;3040:5;3030:15;;;2736:315;;;;;:::o;3056:186::-;3115:6;3168:2;3156:9;3147:7;3143:23;3139:32;3136:52;;;3184:1;3181;3174:12;3136:52;3207:29;3226:9;3207:29;:::i;3247:484::-;3342:6;3350;3358;3366;3374;3427:3;3415:9;3406:7;3402:23;3398:33;3395:53;;;3444:1;3441;3434:12;3395:53;3467:29;3486:9;3467:29;:::i;:::-;3457:39;;3515:38;3549:2;3538:9;3534:18;3515:38;:::i;:::-;3505:48;;3572:38;3606:2;3595:9;3591:18;3572:38;:::i;:::-;3562:48;;3629:38;3663:2;3652:9;3648:18;3629:38;:::i;:::-;3619:48;;3686:39;3720:3;3709:9;3705:19;3686:39;:::i;:::-;3676:49;;3247:484;;;;;;;;:::o;3944:316::-;4021:6;4029;4037;4090:2;4078:9;4069:7;4065:23;4061:32;4058:52;;;4106:1;4103;4096:12;4058:52;-1:-1:-1;;4129:23:1;;;4199:2;4184:18;;4171:32;;-1:-1:-1;4250:2:1;4235:18;;;4222:32;;3944:316;-1:-1:-1;3944:316:1:o;4265:260::-;4333:6;4341;4394:2;4382:9;4373:7;4369:23;4365:32;4362:52;;;4410:1;4407;4400:12;4362:52;4433:29;4452:9;4433:29;:::i;:::-;4423:39;;4481:38;4515:2;4504:9;4500:18;4481:38;:::i;:::-;4471:48;;4265:260;;;;;:::o;4530:248::-;4598:6;4606;4659:2;4647:9;4638:7;4634:23;4630:32;4627:52;;;4675:1;4672;4665:12;4627:52;-1:-1:-1;;4698:23:1;;;4768:2;4753:18;;;4740:32;;-1:-1:-1;4530:248:1:o;4783:309::-;4848:6;4856;4909:2;4897:9;4888:7;4884:23;4880:32;4877:52;;;4925:1;4922;4915:12;4877:52;4964:9;4951:23;4983:28;5005:5;4983:28;:::i;5323:356::-;5525:2;5507:21;;;5544:18;;;5537:30;5603:34;5598:2;5583:18;;5576:62;5670:2;5655:18;;5323:356::o;5684:127::-;5745:10;5740:3;5736:20;5733:1;5726:31;5776:4;5773:1;5766:15;5800:4;5797:1;5790:15;5816:217;5856:1;5882;5872:132;;5926:10;5921:3;5917:20;5914:1;5907:31;5961:4;5958:1;5951:15;5989:4;5986:1;5979:15;5872:132;-1:-1:-1;6018:9:1;;5816:217::o;6396:168::-;6469:9;;;6500;;6517:15;;;6511:22;;6497:37;6487:71;;6538:18;;:::i;6569:184::-;6639:6;6692:2;6680:9;6671:7;6667:23;6663:32;6660:52;;;6708:1;6705;6698:12;6660:52;-1:-1:-1;6731:16:1;;6569:184;-1:-1:-1;6569:184:1:o;7037:245::-;7104:6;7157:2;7145:9;7136:7;7132:23;7128:32;7125:52;;;7173:1;7170;7163:12;7125:52;7205:9;7199:16;7224:28;7246:5;7224:28;:::i;8427:128::-;8494:9;;;8515:11;;;8512:37;;;8529:18;;:::i;8909:125::-;8974:9;;;8995:10;;;8992:36;;;9008:18;;:::i;11051:127::-;11112:10;11107:3;11103:20;11100:1;11093:31;11143:4;11140:1;11133:15;11167:4;11164:1;11157:15;11183:980;11445:4;11493:3;11482:9;11478:19;11524:6;11513:9;11506:25;11550:2;11588:6;11583:2;11572:9;11568:18;11561:34;11631:3;11626:2;11615:9;11611:18;11604:31;11655:6;11690;11684:13;11721:6;11713;11706:22;11759:3;11748:9;11744:19;11737:26;;11798:2;11790:6;11786:15;11772:29;;11819:1;11829:195;11843:6;11840:1;11837:13;11829:195;;;11908:13;;-1:-1:-1;;;;;11904:39:1;11892:52;;11999:15;;;;11964:12;;;;11940:1;11858:9;11829:195;;;-1:-1:-1;;;;;;;12080:32:1;;;;12075:2;12060:18;;12053:60;-1:-1:-1;;;12144:3:1;12129:19;12122:35;12041:3;11183:980;-1:-1:-1;;;11183:980:1:o;12990:306::-;13078:6;13086;13094;13147:2;13135:9;13126:7;13122:23;13118:32;13115:52;;;13163:1;13160;13153:12;13115:52;13192:9;13186:16;13176:26;;13242:2;13231:9;13227:18;13221:25;13211:35;;13286:2;13275:9;13271:18;13265:25;13255:35;;12990:306;;;;;:::o

Swarm Source

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