ETH Price: $3,143.54 (-8.53%)
Gas: 9 Gwei

Token

Wall Street Pepe (WSP)
 

Overview

Max Total Supply

70 WSP

Holders

153

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 WSP

Value
$0.00
0xfed31147803154a0b188e303f0c1041ba9c3f06f
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:
WallStreetPepe

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-01
*/

// SPDX-License-Identifier: Unlicensed

//Tg: t.me/wallstreet_pepe
//Twitter:  https://twitter.com/wsp_pepe?s=21&t=xdY48-0L6EWOlNE4qmOYqQ


pragma solidity 0.8.18;

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

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



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

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

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

    string constant _name = "Wall Street Pepe";
    string constant _symbol = "WSP";
    uint8 constant _decimals = 9; 
  

    uint256 _totalSupply = 1 * 10*7 * 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) isFeeexempt;
    mapping (address => bool) isTxLimitexempt;

    uint256 private liquidityFee    = 1;
    uint256 private marketingFee    = 2;
    uint256 private devFee          = 1;
    uint256 private buybackFee      = 0; 
    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;
    

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    
    bool public TradingOpen = false; 

   
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 20 / 10000; 
    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);
       
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeexempt[msg.sender] = true;
        isFeeexempt[devFeeReceiver] = true;
            
        isTxLimitexempt[msg.sender] = true;
        isTxLimitexempt[pair] = true;
        isTxLimitexempt[devFeeReceiver] = true;
        isTxLimitexempt[marketingFeeReceiver] = true;
        isTxLimitexempt[address(this)] = true;
        
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = 0x1a932751D28290997Fe10c0dd44D46001C73d765;
        devFeeReceiver = msg.sender;
        buybackFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD; 

        _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 setMaxWallet(uint256 maxWallPercent) external onlyOwner {
         require(maxWallPercent >= 1); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
        emit set_MaxWallet(_maxWalletToken);
                
    }

      function setMaxTransaction(uint256 maxTXPercent) external onlyOwner {
         require(maxTXPercent >= 1); 
        _maxTxAmount = (_totalSupply * maxTXPercent ) / 1000;
        emit set_MaxTX(_maxTxAmount);
                
    }

      
    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 && !isTxLimitexempt[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        

        // Checks max transaction limit
        checkTxLimit(sender, amount); 

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

        uint256 amountReceived = (isFeeexempt[sender] || isFeeexempt[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 || isTxLimitexempt[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeexempt[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 clearStuckBalance() external { 
             payable(autoLiquidityReceiver).transfer(address(this).balance);
            
    }

   function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
        require(tokenAddress != address(this), "tokenAddress can not be the native token");

        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }

        emit ClearToken(tokenAddress, tokens);

        return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
    }

    function setPercents(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
        sellpercent = _sell;
        buypercent = _buy;
        transferpercent = _trans;    
          
    }
       
    function setTrading() public onlyOwner {
        TradingOpen = true;
    
                          
    }
             
    function swapBack() internal swapping {
        
        uint256 totalETHFee = totalFee;

        uint256 amountToLiquify = (swapThreshold * liquidityFee)/(totalETHFee * 2);
        uint256 amountToSwap = swapThreshold - amountToLiquify;

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

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

         uint256 amountETH = address(this).balance;

         totalETHFee = totalETHFee - (liquidityFee / 2);
        
        uint256 amountETHLiquidity = (amountETH * liquidityFee) / (totalETHFee * 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 setFees(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 setSwapAndLiquifyStatus(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit set_SwapBack(swapThreshold, swapEnabled);
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

event AutoLiquify(uint256 amountBNB, uint256 amountTokens);
event EditTax(uint8 Buy, uint8 Sell, uint8 Transfer);
event user_FeeExempt(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);
}

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":"amountBNB","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_FeeExempt","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"},{"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":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","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":"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":[],"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":"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":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercent","type":"uint256"}],"name":"setMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setPercents","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapAndLiquifyStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTrading","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":[],"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"}]

6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326009600a620006d2565b6200003f906046620006e3565b600555620000796064620000656002600554620004a260201b62000efc1790919060201c565b6200053960201b62000f7e1790919060201c565b6006556200009f6064620000656002600554620004a260201b62000efc1790919060201c565b6007556001600c556002600d556001600e556000600f556000601055601054600e54600c54600d54600f54620000d69190620006fd565b620000e29190620006fd565b620000ee9190620006fd565b620000fa9190620006fd565b6011556064601281905560138190556014818155601591909155601d805461ffff60a01b1916600160a81b179055600554612710916200013b9190620006e3565b62000147919062000713565b601e553480156200015757600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000217573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023d919062000736565b600280546001600160a01b0319166001600160a01b03928316179055601b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200029c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c2919062000736565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033a919062000736565b601d80546001600160a01b039283166001600160a01b031991821681178355601c805483169091179055306000818152600960209081526040808320601b54881684528252808320600019905533808452600a8352818420805460ff199081166001908117909255601880548b1687528487208054831684179055838752600b8652848720805483168417905598548a168652838620805482168317905588548a1686528386208054821683179055601780548b1687528487208054831684179055968652838620805490911690911790556016805487168217905584548616731a932751d28290997fe10c0dd44d46001c73d7651790945585548516841790955560198054851684179055600354601a80549095169616959095179092556005548183526008855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620007b1565b600082600003620004b65750600062000533565b6000620004c48385620006e3565b905082620004d3858362000713565b14620005305760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200053083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200058360201b60201c565b60008183620005a75760405162461bcd60e51b815260040162000527919062000761565b506000620005b6848662000713565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000616578160001904821115620005fa57620005fa620005bf565b808516156200060857918102915b93841c9390800290620005da565b509250929050565b6000826200062f5750600162000533565b816200063e5750600062000533565b8160018114620006575760028114620006625762000682565b600191505062000533565b60ff841115620006765762000676620005bf565b50506001821b62000533565b5060208310610133831016604e8410600b8410161715620006a7575081810a62000533565b620006b38383620005d5565b8060001904821115620006ca57620006ca620005bf565b029392505050565b60006200053060ff8416836200061e565b8082028115828204841417620005335762000533620005bf565b80820180821115620005335762000533620005bf565b6000826200073157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200074957600080fd5b81516001600160a01b03811681146200053057600080fd5b600060208083528351808285015260005b81811015620007905785810183015185820160400152820162000772565b506000604082860101526040601f19601f8301168501019250505092915050565b611fd780620007c16000396000f3fe6080604052600436106101f25760003560e01c806377b54bad1161010d57806395d89b41116100a0578063b2bdfa7b1161006f578063b2bdfa7b14610596578063dd62ed3e146105b6578063efe8a45e146105fc578063f2fde38b1461061c578063f887ea401461063c57600080fd5b806395d89b411461050a578063a8aa1b3114610536578063a9059cbb14610556578063ab5a18871461057657600080fd5b806382528791116100dc578063825287911461047a57806386f6c3c11461049a578063893d20e8146104ba5780638da5cb5b146104ec57600080fd5b806377b54bad1461041957806378109e54146104395780637c519ffb1461044f5780637d1db4a51461046457600080fd5b80632b112e49116101855780635d0044ca116101545780635d0044ca1461038d5780636ddd1713146103ad57806370a08231146103ce578063715018a61461040457600080fd5b80632b112e4914610327578063313ce5671461033c578063364333f414610358578063571ac8b01461036d57600080fd5b806318160ddd116101c157806318160ddd146102ba5780631df4ccfc146102cf57806322c5f95c146102e557806323b872dd1461030757600080fd5b80630445b667146101fe57806306fdde031461022757806308fd3d0514610269578063095ea7b31461029a57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214601e5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b5060408051808201909152601081526f57616c6c20537472656574205065706560801b60208201525b60405161021e9190611bb5565b34801561027557600080fd5b50601d5461028a90600160a01b900460ff1681565b604051901515815260200161021e565b3480156102a657600080fd5b5061028a6102b5366004611c1f565b61065c565b3480156102c657600080fd5b50600554610214565b3480156102db57600080fd5b5061021460115481565b3480156102f157600080fd5b50610305610300366004611c57565b6106c9565b005b34801561031357600080fd5b5061028a610322366004611c75565b610765565b34801561033357600080fd5b50610214610827565b34801561034857600080fd5b506040516009815260200161021e565b34801561036457600080fd5b50610305610879565b34801561037957600080fd5b5061028a610388366004611cb1565b6108b5565b34801561039957600080fd5b506103056103a8366004611ccc565b6108c3565b3480156103b957600080fd5b50601d5461028a90600160a81b900460ff1681565b3480156103da57600080fd5b506102146103e9366004611cb1565b6001600160a01b031660009081526008602052604090205490565b34801561041057600080fd5b50610305610952565b34801561042557600080fd5b5061028a610434366004611c1f565b6109c6565b34801561044557600080fd5b5061021460075481565b34801561045b57600080fd5b50610305610b5d565b34801561047057600080fd5b5061021460065481565b34801561048657600080fd5b50610305610495366004611ce5565b610b9c565b3480156104a657600080fd5b506103056104b5366004611d4a565b610c74565b3480156104c657600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161021e565b3480156104f857600080fd5b506000546001600160a01b03166104d4565b34801561051657600080fd5b5060408051808201909152600381526205753560ec1b602082015261025c565b34801561054257600080fd5b50601d546104d4906001600160a01b031681565b34801561056257600080fd5b5061028a610571366004611c1f565b610d42565b34801561058257600080fd5b50610305610591366004611ccc565b610d4f565b3480156105a257600080fd5b506000546104d4906001600160a01b031681565b3480156105c257600080fd5b506102146105d1366004611d8d565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561060857600080fd5b50610305610617366004611dc0565b610dd7565b34801561062857600080fd5b50610305610637366004611cb1565b610e12565b34801561064857600080fd5b50601b546104d4906001600160a01b031681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106b79086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106fc5760405162461bcd60e51b81526004016106f390611dec565b60405180910390fd5b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610812576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526009825283812033825290915291909120546107ed918490610fc0565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b61081d848484610ffa565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610874906003546001600160a01b031660009081526008602052604090205461086e9060055490611360565b90611360565b905090565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156108b2573d6000803e3d6000fd5b50565b60006106c38260001961065c565b6000546001600160a01b031633146108ed5760405162461bcd60e51b81526004016106f390611dec565b60018110156108fb57600080fd5b6103e88160055461090c9190611e37565b6109169190611e4e565b60078190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be51906020015b60405180910390a150565b6000546001600160a01b0316331461097c5760405162461bcd60e51b81526004016106f390611dec565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000306001600160a01b03841603610a315760405162461bcd60e51b815260206004820152602860248201527f746f6b656e416464726573732063616e206e6f7420626520746865206e6174696044820152673b32903a37b5b2b760c11b60648201526084016106f3565b81600003610aa4576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa19190611e70565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160165460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303816000875af1158015610b39573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611e89565b6000546001600160a01b03163314610b875760405162461bcd60e51b81526004016106f390611dec565b601d805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610bc65760405162461bcd60e51b81526004016106f390611dec565b601680546001600160a01b038781166001600160a01b031992831617909255601780548784169083168117909155601880548785169084168117909155601a80548786169085168117909155601980549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b6000546001600160a01b03163314610c9e5760405162461bcd60e51b81526004016106f390611dec565b600c869055600f859055600d849055600e8390556010829055610ccf82610cc9858188818c8c6113a2565b906113a2565b6011556012819055610ce2600282611e4e565b60115410610d325760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035302500000060448201526064016106f3565b610d3a611401565b505050505050565b6000610820338484610ffa565b6000546001600160a01b03163314610d795760405162461bcd60e51b81526004016106f390611dec565b6001811015610d8757600080fd5b6103e881600554610d989190611e37565b610da29190611e4e565b60068190556040519081527f05124123259c03a57ce4c02cae5922285f2b3e588cb838a0127ca3233ae7d1dc90602001610947565b6000546001600160a01b03163314610e015760405162461bcd60e51b81526004016106f390611dec565b601391909155601491909155601555565b6000546001600160a01b03163314610e3c5760405162461bcd60e51b81526004016106f390611dec565b6001600160a01b038116610ea15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082600003610f0e575060006106c3565b6000610f1a8385611e37565b905082610f278583611e4e565b146108205760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106f3565b600061082083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114a2565b60008184841115610fe45760405162461bcd60e51b81526004016106f39190611bb5565b506000610ff18486611ea6565b95945050505050565b601f5460009060ff161561101a576110138484846114d0565b9050610820565b6001600160a01b03841660009081526001602052604090205460ff1615801561105c57506001600160a01b03831660009081526001602052604090205460ff16155b156110b157601d54600160a01b900460ff166110b15760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106f3565b6001600160a01b03841660009081526001602052604090205460ff161580156110e357506001600160a01b0383163014155b80156110fd57506003546001600160a01b03848116911614155b80156111175750601d546001600160a01b03848116911614155b80156111315750601a546001600160a01b03848116911614155b801561114b57506017546001600160a01b03848116911614155b801561117057506001600160a01b0383166000908152600b602052604090205460ff16155b15611211576001600160a01b03831660009081526008602052604090205460075461119b8483611eb9565b111561120f5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106f3565b505b61121b84836115a4565b611223611611565b1561123057611230611667565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611282918490610fc0565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff16806112cf57506001600160a01b0384166000908152600a602052604090205460ff165b6112e3576112de858486611a22565b6112e5565b825b6001600160a01b03851660009081526008602052604090205490915061130b90826113a2565b6001600160a01b038086166000818152600860205260409081902093909355915190871690600080516020611f828339815191529061134d9085815260200190565b60405180910390a3506001949350505050565b600061082083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fc0565b6000806113af8385611eb9565b9050838110156108205760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106f3565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b932800611444606461143e601454601154610efc90919063ffffffff16565b90610f7e565b611460606461143e601354601154610efc90919063ffffffff16565b61147c606461143e601554601154610efc90919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b600081836114c35760405162461bcd60e51b81526004016106f39190611bb5565b506000610ff18486611e4e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611521918490610fc0565b6001600160a01b03808616600090815260086020526040808220939093559085168152205461155090836113a2565b6001600160a01b038085166000818152600860205260409081902093909355915190861690600080516020611f82833981519152906115929086815260200190565b60405180910390a35060019392505050565b600654811115806115cd57506001600160a01b0382166000908152600b602052604090205460ff165b61160d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106f3565b5050565b601d546000906001600160a01b031633148015906116325750601f5460ff16155b80156116475750601d54600160a81b900460ff165b8015610874575050601e5430600090815260086020526040902054101590565b601f805460ff191660011790556011546000611684826002611e37565b600c54601e546116949190611e37565b61169e9190611e4e565b9050600081601e546116b09190611ea6565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106116ea576116ea611ecc565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061171b5761171b611ecc565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b815291169063791ac94790611761908590600090869030904290600401611ee2565b600060405180830381600087803b15801561177b57600080fd5b505af115801561178f573d6000803e3d6000fd5b5050600c544792506117a49150600290611e4e565b6117ae9086611ea6565b945060006117bd866002611e37565b600c546117ca9084611e37565b6117d49190611e4e565b905060006117f18761143e600d5486610efc90919063ffffffff16565b9050600061180e8861143e600f5487610efc90919063ffffffff16565b9050600061182b8961143e600e5488610efc90919063ffffffff16565b6017546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461187d576040519150601f19603f3d011682016040523d82523d6000602084013e611882565b606091505b50506018546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146118d2576040519150601f19603f3d011682016040523d82523d6000602084013e6118d7565b606091505b50506019546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611927576040519150601f19603f3d011682016040523d82523d6000602084013e61192c565b606091505b50600092505089159050611a0c57601b5460165460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af11580156119aa573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119cf9190611f53565b505060408051878152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff191690555050505050505050565b601554601d54600091906001600160a01b0390811690841603611a485750601354611a63565b601d546001600160a01b0390811690861603611a6357506014545b6000611a966012546064611a779190611e37565b61143e84611a906011548a610efc90919063ffffffff16565b90610efc565b90506000611ab560115461143e60105485610efc90919063ffffffff16565b90506000611ac38383611360565b30600090815260086020526040902054909150611ae090826113a2565b3060009081526008602052604080822092909255601a546001600160a01b031681522054611b0e90836113a2565b601a546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b1691600080516020611f82833981519152910160405180910390a38115611b9f57600554611b689083611360565b6005556004546040518381526001600160a01b03918216918a1690600080516020611f828339815191529060200160405180910390a35b611ba98784611360565b98975050505050505050565b600060208083528351808285015260005b81811015611be257858101830151858201604001528201611bc6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611c1a57600080fd5b919050565b60008060408385031215611c3257600080fd5b611c3b83611c03565b946020939093013593505050565b80151581146108b257600080fd5b60008060408385031215611c6a57600080fd5b8235611c3b81611c49565b600080600060608486031215611c8a57600080fd5b611c9384611c03565b9250611ca160208501611c03565b9150604084013590509250925092565b600060208284031215611cc357600080fd5b61082082611c03565b600060208284031215611cde57600080fd5b5035919050565b600080600080600060a08688031215611cfd57600080fd5b611d0686611c03565b9450611d1460208701611c03565b9350611d2260408701611c03565b9250611d3060608701611c03565b9150611d3e60808701611c03565b90509295509295909350565b60008060008060008060c08789031215611d6357600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060408385031215611da057600080fd5b611da983611c03565b9150611db760208401611c03565b90509250929050565b600080600060608486031215611dd557600080fd5b505081359360208301359350604090920135919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106c3576106c3611e21565b600082611e6b57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611e8257600080fd5b5051919050565b600060208284031215611e9b57600080fd5b815161082081611c49565b818103818111156106c3576106c3611e21565b808201808211156106c3576106c3611e21565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f325784516001600160a01b031683529383019391830191600101611f0d565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611f6857600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122070322202c86ab8a65f60d704e883c0aec8989d7b68685cfac5cd2951fd9ce94b64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c806377b54bad1161010d57806395d89b41116100a0578063b2bdfa7b1161006f578063b2bdfa7b14610596578063dd62ed3e146105b6578063efe8a45e146105fc578063f2fde38b1461061c578063f887ea401461063c57600080fd5b806395d89b411461050a578063a8aa1b3114610536578063a9059cbb14610556578063ab5a18871461057657600080fd5b806382528791116100dc578063825287911461047a57806386f6c3c11461049a578063893d20e8146104ba5780638da5cb5b146104ec57600080fd5b806377b54bad1461041957806378109e54146104395780637c519ffb1461044f5780637d1db4a51461046457600080fd5b80632b112e49116101855780635d0044ca116101545780635d0044ca1461038d5780636ddd1713146103ad57806370a08231146103ce578063715018a61461040457600080fd5b80632b112e4914610327578063313ce5671461033c578063364333f414610358578063571ac8b01461036d57600080fd5b806318160ddd116101c157806318160ddd146102ba5780631df4ccfc146102cf57806322c5f95c146102e557806323b872dd1461030757600080fd5b80630445b667146101fe57806306fdde031461022757806308fd3d0514610269578063095ea7b31461029a57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214601e5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b5060408051808201909152601081526f57616c6c20537472656574205065706560801b60208201525b60405161021e9190611bb5565b34801561027557600080fd5b50601d5461028a90600160a01b900460ff1681565b604051901515815260200161021e565b3480156102a657600080fd5b5061028a6102b5366004611c1f565b61065c565b3480156102c657600080fd5b50600554610214565b3480156102db57600080fd5b5061021460115481565b3480156102f157600080fd5b50610305610300366004611c57565b6106c9565b005b34801561031357600080fd5b5061028a610322366004611c75565b610765565b34801561033357600080fd5b50610214610827565b34801561034857600080fd5b506040516009815260200161021e565b34801561036457600080fd5b50610305610879565b34801561037957600080fd5b5061028a610388366004611cb1565b6108b5565b34801561039957600080fd5b506103056103a8366004611ccc565b6108c3565b3480156103b957600080fd5b50601d5461028a90600160a81b900460ff1681565b3480156103da57600080fd5b506102146103e9366004611cb1565b6001600160a01b031660009081526008602052604090205490565b34801561041057600080fd5b50610305610952565b34801561042557600080fd5b5061028a610434366004611c1f565b6109c6565b34801561044557600080fd5b5061021460075481565b34801561045b57600080fd5b50610305610b5d565b34801561047057600080fd5b5061021460065481565b34801561048657600080fd5b50610305610495366004611ce5565b610b9c565b3480156104a657600080fd5b506103056104b5366004611d4a565b610c74565b3480156104c657600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161021e565b3480156104f857600080fd5b506000546001600160a01b03166104d4565b34801561051657600080fd5b5060408051808201909152600381526205753560ec1b602082015261025c565b34801561054257600080fd5b50601d546104d4906001600160a01b031681565b34801561056257600080fd5b5061028a610571366004611c1f565b610d42565b34801561058257600080fd5b50610305610591366004611ccc565b610d4f565b3480156105a257600080fd5b506000546104d4906001600160a01b031681565b3480156105c257600080fd5b506102146105d1366004611d8d565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561060857600080fd5b50610305610617366004611dc0565b610dd7565b34801561062857600080fd5b50610305610637366004611cb1565b610e12565b34801561064857600080fd5b50601b546104d4906001600160a01b031681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106b79086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106fc5760405162461bcd60e51b81526004016106f390611dec565b60405180910390fd5b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610812576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526009825283812033825290915291909120546107ed918490610fc0565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b61081d848484610ffa565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610874906003546001600160a01b031660009081526008602052604090205461086e9060055490611360565b90611360565b905090565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156108b2573d6000803e3d6000fd5b50565b60006106c38260001961065c565b6000546001600160a01b031633146108ed5760405162461bcd60e51b81526004016106f390611dec565b60018110156108fb57600080fd5b6103e88160055461090c9190611e37565b6109169190611e4e565b60078190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be51906020015b60405180910390a150565b6000546001600160a01b0316331461097c5760405162461bcd60e51b81526004016106f390611dec565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000306001600160a01b03841603610a315760405162461bcd60e51b815260206004820152602860248201527f746f6b656e416464726573732063616e206e6f7420626520746865206e6174696044820152673b32903a37b5b2b760c11b60648201526084016106f3565b81600003610aa4576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa19190611e70565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160165460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303816000875af1158015610b39573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611e89565b6000546001600160a01b03163314610b875760405162461bcd60e51b81526004016106f390611dec565b601d805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610bc65760405162461bcd60e51b81526004016106f390611dec565b601680546001600160a01b038781166001600160a01b031992831617909255601780548784169083168117909155601880548785169084168117909155601a80548786169085168117909155601980549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b6000546001600160a01b03163314610c9e5760405162461bcd60e51b81526004016106f390611dec565b600c869055600f859055600d849055600e8390556010829055610ccf82610cc9858188818c8c6113a2565b906113a2565b6011556012819055610ce2600282611e4e565b60115410610d325760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035302500000060448201526064016106f3565b610d3a611401565b505050505050565b6000610820338484610ffa565b6000546001600160a01b03163314610d795760405162461bcd60e51b81526004016106f390611dec565b6001811015610d8757600080fd5b6103e881600554610d989190611e37565b610da29190611e4e565b60068190556040519081527f05124123259c03a57ce4c02cae5922285f2b3e588cb838a0127ca3233ae7d1dc90602001610947565b6000546001600160a01b03163314610e015760405162461bcd60e51b81526004016106f390611dec565b601391909155601491909155601555565b6000546001600160a01b03163314610e3c5760405162461bcd60e51b81526004016106f390611dec565b6001600160a01b038116610ea15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082600003610f0e575060006106c3565b6000610f1a8385611e37565b905082610f278583611e4e565b146108205760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106f3565b600061082083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114a2565b60008184841115610fe45760405162461bcd60e51b81526004016106f39190611bb5565b506000610ff18486611ea6565b95945050505050565b601f5460009060ff161561101a576110138484846114d0565b9050610820565b6001600160a01b03841660009081526001602052604090205460ff1615801561105c57506001600160a01b03831660009081526001602052604090205460ff16155b156110b157601d54600160a01b900460ff166110b15760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106f3565b6001600160a01b03841660009081526001602052604090205460ff161580156110e357506001600160a01b0383163014155b80156110fd57506003546001600160a01b03848116911614155b80156111175750601d546001600160a01b03848116911614155b80156111315750601a546001600160a01b03848116911614155b801561114b57506017546001600160a01b03848116911614155b801561117057506001600160a01b0383166000908152600b602052604090205460ff16155b15611211576001600160a01b03831660009081526008602052604090205460075461119b8483611eb9565b111561120f5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106f3565b505b61121b84836115a4565b611223611611565b1561123057611230611667565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611282918490610fc0565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff16806112cf57506001600160a01b0384166000908152600a602052604090205460ff165b6112e3576112de858486611a22565b6112e5565b825b6001600160a01b03851660009081526008602052604090205490915061130b90826113a2565b6001600160a01b038086166000818152600860205260409081902093909355915190871690600080516020611f828339815191529061134d9085815260200190565b60405180910390a3506001949350505050565b600061082083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fc0565b6000806113af8385611eb9565b9050838110156108205760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106f3565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b932800611444606461143e601454601154610efc90919063ffffffff16565b90610f7e565b611460606461143e601354601154610efc90919063ffffffff16565b61147c606461143e601554601154610efc90919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b600081836114c35760405162461bcd60e51b81526004016106f39190611bb5565b506000610ff18486611e4e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611521918490610fc0565b6001600160a01b03808616600090815260086020526040808220939093559085168152205461155090836113a2565b6001600160a01b038085166000818152600860205260409081902093909355915190861690600080516020611f82833981519152906115929086815260200190565b60405180910390a35060019392505050565b600654811115806115cd57506001600160a01b0382166000908152600b602052604090205460ff165b61160d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106f3565b5050565b601d546000906001600160a01b031633148015906116325750601f5460ff16155b80156116475750601d54600160a81b900460ff165b8015610874575050601e5430600090815260086020526040902054101590565b601f805460ff191660011790556011546000611684826002611e37565b600c54601e546116949190611e37565b61169e9190611e4e565b9050600081601e546116b09190611ea6565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106116ea576116ea611ecc565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061171b5761171b611ecc565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b815291169063791ac94790611761908590600090869030904290600401611ee2565b600060405180830381600087803b15801561177b57600080fd5b505af115801561178f573d6000803e3d6000fd5b5050600c544792506117a49150600290611e4e565b6117ae9086611ea6565b945060006117bd866002611e37565b600c546117ca9084611e37565b6117d49190611e4e565b905060006117f18761143e600d5486610efc90919063ffffffff16565b9050600061180e8861143e600f5487610efc90919063ffffffff16565b9050600061182b8961143e600e5488610efc90919063ffffffff16565b6017546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461187d576040519150601f19603f3d011682016040523d82523d6000602084013e611882565b606091505b50506018546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146118d2576040519150601f19603f3d011682016040523d82523d6000602084013e6118d7565b606091505b50506019546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611927576040519150601f19603f3d011682016040523d82523d6000602084013e61192c565b606091505b50600092505089159050611a0c57601b5460165460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af11580156119aa573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119cf9190611f53565b505060408051878152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff191690555050505050505050565b601554601d54600091906001600160a01b0390811690841603611a485750601354611a63565b601d546001600160a01b0390811690861603611a6357506014545b6000611a966012546064611a779190611e37565b61143e84611a906011548a610efc90919063ffffffff16565b90610efc565b90506000611ab560115461143e60105485610efc90919063ffffffff16565b90506000611ac38383611360565b30600090815260086020526040902054909150611ae090826113a2565b3060009081526008602052604080822092909255601a546001600160a01b031681522054611b0e90836113a2565b601a546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b1691600080516020611f82833981519152910160405180910390a38115611b9f57600554611b689083611360565b6005556004546040518381526001600160a01b03918216918a1690600080516020611f828339815191529060200160405180910390a35b611ba98784611360565b98975050505050505050565b600060208083528351808285015260005b81811015611be257858101830151858201604001528201611bc6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611c1a57600080fd5b919050565b60008060408385031215611c3257600080fd5b611c3b83611c03565b946020939093013593505050565b80151581146108b257600080fd5b60008060408385031215611c6a57600080fd5b8235611c3b81611c49565b600080600060608486031215611c8a57600080fd5b611c9384611c03565b9250611ca160208501611c03565b9150604084013590509250925092565b600060208284031215611cc357600080fd5b61082082611c03565b600060208284031215611cde57600080fd5b5035919050565b600080600080600060a08688031215611cfd57600080fd5b611d0686611c03565b9450611d1460208701611c03565b9350611d2260408701611c03565b9250611d3060608701611c03565b9150611d3e60808701611c03565b90509295509295909350565b60008060008060008060c08789031215611d6357600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060408385031215611da057600080fd5b611da983611c03565b9150611db760208401611c03565b90509250929050565b600080600060608486031215611dd557600080fd5b505081359360208301359350604090920135919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106c3576106c3611e21565b600082611e6b57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611e8257600080fd5b5051919050565b600060208284031215611e9b57600080fd5b815161082081611c49565b818103818111156106c3576106c3611e21565b808201808211156106c3576106c3611e21565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f325784516001600160a01b031683529383019391830191600101611f0d565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611f6857600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122070322202c86ab8a65f60d704e883c0aec8989d7b68685cfac5cd2951fd9ce94b64736f6c63430008120033

Deployed Bytecode Sourcemap

5086:13122:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6715:56;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6715:56:0;;;;;;;;8221:80;;;;;;;;;;-1:-1:-1;8293:5:0;;;;;;;;;;;;-1:-1:-1;;;8293:5:0;;;;8221:80;;;;;;;:::i;6632:31::-;;;;;;;;;;-1:-1:-1;6632:31:0;;;;-1:-1:-1;;;6632:31:0;;;;;;;;;914:14:1;;907:22;889:41;;877:2;862:18;6632:31:0;749:187:1;8643:216:0;;;;;;;;;;-1:-1:-1;8643:216:0;;;;;:::i;:::-;;:::i;7951:88::-;;;;;;;;;;-1:-1:-1;8024:12:0;;7951:88;;6071:93;;;;;;;;;;;;;;;;17264:215;;;;;;;;;;-1:-1:-1;17264:215:0;;;;;:::i;:::-;;:::i;:::-;;9161:370;;;;;;;;;;-1:-1:-1;9161:370:0;;;;;:::i;:::-;;:::i;17491:142::-;;;;;;;;;;;;;:::i;8045:80::-;;;;;;;;;;-1:-1:-1;8045:80:0;;5439:1;2290:36:1;;2278:2;2263:18;8045:80:0;2148:184:1;13228:139:0;;;;;;;;;;;;;:::i;8867:122::-;;;;;;;;;;-1:-1:-1;8867:122:0;;;;;:::i;:::-;;:::i;9543:246::-;;;;;;;;;;-1:-1:-1;9543:246:0;;;;;:::i;:::-;;:::i;6678:30::-;;;;;;;;;;-1:-1:-1;6678:30:0;;;;-1:-1:-1;;;6678:30:0;;;;;;8391:105;;;;;;;;;;-1:-1:-1;8391:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8475:18:0;8457:7;8475:18;;;:9;:18;;;;;;;8391:105;3143:148;;;;;;;;;;;;;:::i;13374:432::-;;;;;;;;;;-1:-1:-1;13374:432:0;;;;;:::i;:::-;;:::i;5575:61::-;;;;;;;;;;;;;;;;14031:110;;;;;;;;;;;;;:::i;5510:58::-;;;;;;;;;;;;;;;;16709:547;;;;;;;;;;-1:-1:-1;16709:547:0;;;;;:::i;:::-;;:::i;16116:585::-;;;;;;;;;;-1:-1:-1;16116:585:0;;;;;:::i;:::-;;:::i;8307:78::-;;;;;;;;;;-1:-1:-1;8359:7:0;2994:6;-1:-1:-1;;;;;2994:6:0;8307:78;;;-1:-1:-1;;;;;3894:32:1;;;3876:51;;3864:2;3849:18;8307:78:0;3730:203:1;2929:79:0;;;;;;;;;;-1:-1:-1;2967:7:0;2994:6;-1:-1:-1;;;;;2994:6:0;2929:79;;8131:84;;;;;;;;;;-1:-1:-1;8205:7:0;;;;;;;;;;;;-1:-1:-1;;;8205:7:0;;;;8131:84;;6600:19;;;;;;;;;;-1:-1:-1;6600:19:0;;;;-1:-1:-1;;;;;6600:19:0;;;8997:156;;;;;;;;;;-1:-1:-1;8997:156:0;;;;;:::i;:::-;;:::i;9799:235::-;;;;;;;;;;-1:-1:-1;9799:235:0;;;;;:::i;:::-;;:::i;2549:21::-;;;;;;;;;;-1:-1:-1;2549:21:0;;;;-1:-1:-1;;;;;2549:21:0;;;8502:133;;;;;;;;;;-1:-1:-1;8502:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8604:19:0;;;8586:7;8604:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8502:133;13814:202;;;;;;;;;;-1:-1:-1;13814:202:0;;;;;:::i;:::-;;:::i;3299:244::-;;;;;;;;;;-1:-1:-1;3299:244:0;;;;;:::i;:::-;;:::i;6530:24::-;;;;;;;;;;-1:-1:-1;6530:24:0;;;;-1:-1:-1;;;;;6530:24:0;;;8643:216;8747:10;8718:4;8735:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8735:32:0;;;;;;;;;;:41;;;8792:37;8718:4;;8735:32;;8792:37;;;;8770:6;160:25:1;;148:2;133:18;;14:177;8792:37:0;;;;;;;;-1:-1:-1;8847:4:0;8643:216;;;;;:::o;17264:215::-;3056:6;;-1:-1:-1;;;;;3056:6:0;2366:10;3056:22;3048:67;;;;-1:-1:-1;;;3048:67:0;;;;;;;:::i;:::-;;;;;;;;;17359:11:::1;:22:::0;;-1:-1:-1;;;;17359:22:0::1;-1:-1:-1::0;;;17359:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;17392:13:::1;:23:::0;;;17431:40:::1;::::0;;5279:25:1;;;17359:22:0::1;17459:11:::0;;;::::1;::::0;;;::::1;5347:14:1::0;5340:22;5335:2;5320:18;;5313:50;17431:40:0::1;::::0;5252:18:1;17431:40:0::1;;;;;;;17264:215:::0;;:::o;9161:370::-;-1:-1:-1;;;;;9281:19:0;;9261:4;9281:19;;;:11;:19;;;;;;;;9301:10;9281:31;;;;;;;;-1:-1:-1;;9281:52:0;9278:186;;9383:69;;;;;;;;;;;-1:-1:-1;;;9383:69:0;;;;;;;;-1:-1:-1;;;;;9383:19:0;;-1:-1:-1;9383:19:0;;;:11;:19;;;;;9403:10;9383:31;;;;;;;;;;:69;;9419:6;;9383:35;:69::i;:::-;-1:-1:-1;;;;;9349:19:0;;;;;;:11;:19;;;;;;;;9369:10;9349:31;;;;;;;:103;9278:186;9483:40;9497:6;9505:9;9516:6;9483:13;:40::i;:::-;9476:47;;9161:370;;;;;;:::o;17491:142::-;17619:4;;-1:-1:-1;;;;;17619:4:0;17544:7;8475:18;;;:9;:18;;;;;;17571:54;;17598:4;;-1:-1:-1;;;;;17598:4:0;8457:7;8475:18;;;:9;:18;;;;;;17571:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;17564:61;;17491:142;:::o;13228:139::-;13291:21;;13283:62;;-1:-1:-1;;;;;13291:21:0;;;;13323;13283:62;;;;;13291:21;13283:62;13291:21;13283:62;13323:21;13291;13283:62;;;;;;;;;;;;;;;;;;;;;13228:139::o;8867:122::-;8922:4;8946:35;8954:7;-1:-1:-1;;8946:7:0;:35::i;9543:246::-;3056:6;;-1:-1:-1;;;;;3056:6:0;2366:10;3056:22;3048:67;;;;-1:-1:-1;;;3048:67:0;;;;;;;:::i;:::-;9646:1:::1;9628:14;:19;;9620:28;;;::::0;::::1;;9713:4;9694:14;9679:12;;:29;;;;:::i;:::-;9678:39;;;;:::i;:::-;9660:15;:57:::0;;;9733:30:::1;::::0;160:25:1;;;9733:30:0::1;::::0;148:2:1;133:18;9733:30:0::1;;;;;;;;9543:246:::0;:::o;3143:148::-;3056:6;;-1:-1:-1;;;;;3056:6:0;2366:10;3056:22;3048:67;;;;-1:-1:-1;;;3048:67:0;;;;;;;:::i;:::-;3250:1:::1;3234:6:::0;;3213:40:::1;::::0;-1:-1:-1;;;;;3234:6:0;;::::1;::::0;3213:40:::1;::::0;3250:1;;3213:40:::1;3281:1;3264:19:::0;;-1:-1:-1;;;;;;3264:19:0::1;::::0;;3143:148::o;13374:432::-;13455:12;13512:4;-1:-1:-1;;;;;13488:29:0;;;13480:82;;;;-1:-1:-1;;;13480:82:0;;6103:2:1;13480:82:0;;;6085:21:1;6142:2;6122:18;;;6115:30;6181:34;6161:18;;;6154:62;-1:-1:-1;;;6232:18:1;;;6225:38;6280:19;;13480:82:0;5901:404:1;13480:82:0;13578:6;13588:1;13578:11;13575:95;;13614:44;;-1:-1:-1;;;13614:44:0;;13652:4;13614:44;;;3876:51:1;-1:-1:-1;;;;;13614:29:0;;;;;3849:18:1;;13614:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13605:53;;13575:95;13687:32;;;-1:-1:-1;;;;;6691:32:1;;6673:51;;6755:2;6740:18;;6733:34;;;13687:32:0;;6646:18:1;13687:32:0;;;;;;;13768:21;;13739:59;;-1:-1:-1;;;13739:59:0;;-1:-1:-1;;;;;13768:21:0;;;13739:59;;;6673:51:1;6740:18;;;6733:34;;;13739:28:0;;;;;;6646:18:1;;13739:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14031:110::-;3056:6;;-1:-1:-1;;;;;3056:6:0;2366:10;3056:22;3048:67;;;;-1:-1:-1;;;3048:67:0;;;;;;;:::i;:::-;14081:11:::1;:18:::0;;-1:-1:-1;;;;14081:18:0::1;-1:-1:-1::0;;;14081:18:0::1;::::0;;14031:110::o;16709:547::-;3056:6;;-1:-1:-1;;;;;3056:6:0;2366:10;3056:22;3048:67;;;;-1:-1:-1;;;3048:67:0;;;;;;;:::i;:::-;16902:21:::1;:46:::0;;-1:-1:-1;;;;;16902:46:0;;::::1;-1:-1:-1::0;;;;;;16902:46:0;;::::1;;::::0;;;16959:20:::1;:44:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;17014:14:::1;:32:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;17057:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;17102:18:::1;:40:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;17160:88:::1;::::0;;7297:34:1;;;7362:2;7347:18;;7340:43;;;;7399:18;;;7392:43;;;;7466:2;7451:18;;7444:43;;;;17160:88:0::1;::::0;7246:3:1;7231:19;17160:88:0::1;;;;;;;16709:547:::0;;;;;:::o;16116:585::-;3056:6;;-1:-1:-1;;;;;3056:6:0;2366:10;3056:22;3048:67;;;;-1:-1:-1;;;3048:67:0;;;;;;;:::i;:::-;16290:12:::1;:28:::0;;;16329:10:::1;:24:::0;;;16364:12:::1;:28:::0;;;16403:6:::1;:16:::0;;;16430:7:::1;:18:::0;;;16470:76:::1;16440:8:::0;16470:62:::1;16412:7:::0;16470:62;16379:13;16470:62;16305:13;16342:11;16470:17:::1;:30::i;:::-;:34:::0;::::1;:49::i;:76::-;16459:8;:87:::0;16557:14:::1;:32:::0;;;16619:18:::1;16636:1;16574:15:::0;16619:18:::1;:::i;:::-;16608:8;;:29;16600:71;;;::::0;-1:-1:-1;;;16600:71:0;;7700:2:1;16600:71:0::1;::::0;::::1;7682:21:1::0;7739:2;7719:18;;;7712:30;7778:31;7758:18;;;7751:59;7827:18;;16600:71:0::1;7498:353:1::0;16600:71:0::1;16683:10;:8;:10::i;:::-;16116:585:::0;;;;;;:::o;8997:156::-;9077:4;9101:44;9115:10;9127:9;9138:6;9101:13;:44::i;9799:235::-;3056:6;;-1:-1:-1;;;;;3056:6:0;2366:10;3056:22;3048:67;;;;-1:-1:-1;;;3048:67:0;;;;;;;:::i;:::-;9903:1:::1;9887:12;:17;;9879:26;;;::::0;::::1;;9965:4;9948:12;9933;;:27;;;;:::i;:::-;9932:37;;;;:::i;:::-;9917:12;:52:::0;;;9985:23:::1;::::0;160:25:1;;;9985:23:0::1;::::0;148:2:1;133:18;9985:23:0::1;14:177:1::0;13814:202:0;3056:6;;-1:-1:-1;;;;;3056:6:0;2366:10;3056:22;3048:67;;;;-1:-1:-1;;;3048:67:0;;;;;;;:::i;:::-;13910:11:::1;:19:::0;;;;13940:10:::1;:17:::0;;;;13968:15:::1;:24:::0;13814:202::o;3299:244::-;3056:6;;-1:-1:-1;;;;;3056:6:0;2366:10;3056:22;3048:67;;;;-1:-1:-1;;;3048:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3388:22:0;::::1;3380:73;;;::::0;-1:-1:-1;;;3380:73:0;;8058:2:1;3380:73:0::1;::::0;::::1;8040:21:1::0;8097:2;8077:18;;;8070:30;8136:34;8116:18;;;8109:62;-1:-1:-1;;;8187:18:1;;;8180:36;8233:19;;3380:73:0::1;7856:402:1::0;3380:73:0::1;3490:6;::::0;;3469:38:::1;::::0;-1:-1:-1;;;;;3469:38:0;;::::1;::::0;3490:6;::::1;::::0;3469:38:::1;::::0;::::1;3518:6;:17:::0;;-1:-1:-1;;;;;;3518:17:0::1;-1:-1:-1::0;;;;;3518:17:0;;;::::1;::::0;;;::::1;::::0;;3299:244::o;1637:250::-;1695:7;1719:1;1724;1719:6;1715:47;;-1:-1:-1;1749:1:0;1742:8;;1715:47;1774:9;1786:5;1790:1;1786;:5;:::i;:::-;1774:17;-1:-1:-1;1819:1:0;1810:5;1814:1;1774:17;1810:5;:::i;:::-;:10;1802:56;;;;-1:-1:-1;;;1802:56:0;;8465:2:1;1802:56:0;;;8447:21:1;8504:2;8484:18;;;8477:30;8543:34;8523:18;;;8516:62;-1:-1:-1;;;8594:18:1;;;8587:31;8635:19;;1802:56:0;8263:397:1;1893:132:0;1951:7;1978:39;1982:1;1985;1978:39;;;;;;;;;;;;;;;;;:3;:39::i;1439:192::-;1525:7;1561:12;1553:6;;;;1545:29;;;;-1:-1:-1;;;1545:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1585:9:0;1597:5;1601:1;1597;:5;:::i;:::-;1585:17;1439:192;-1:-1:-1;;;;;1439:192:0:o;10050:1328::-;10162:6;;10142:4;;10162:6;;10159:63;;;10178:41;10193:6;10201:9;10212:6;10178:14;:41::i;:::-;10171:48;;;;10159:63;-1:-1:-1;;;;;10238:22:0;;;;;;:14;:22;;;;;;;;10237:23;:53;;;;-1:-1:-1;;;;;;10265:25:0;;;;;;:14;:25;;;;;;;;10264:26;10237:53;10234:139;;;10314:11;;-1:-1:-1;;;10314:11:0;;;;10306:43;;;;-1:-1:-1;;;10306:43:0;;9000:2:1;10306:43:0;;;8982:21:1;9039:2;9019:18;;;9012:30;-1:-1:-1;;;9058:18:1;;;9051:50;9118:18;;10306:43:0;8798:344:1;10306:43:0;-1:-1:-1;;;;;10415:22:0;;;;;;:14;:22;;;;;;;;10414:23;:53;;;;-1:-1:-1;;;;;;10441:26:0;;10462:4;10441:26;;10414:53;:84;;;;-1:-1:-1;10493:4:0;;-1:-1:-1;;;;;10472:26:0;;;10493:4;;10472:26;;10414:84;:105;;;;-1:-1:-1;10515:4:0;;-1:-1:-1;;;;;10502:17:0;;;10515:4;;10502:17;;10414:105;:137;;;;-1:-1:-1;10536:15:0;;-1:-1:-1;;;;;10523:28:0;;;10536:15;;10523:28;;10414:137;:174;;;;-1:-1:-1;10568:20:0;;-1:-1:-1;;;;;10555:33:0;;;10568:20;;10555:33;;10414:174;:205;;;;-1:-1:-1;;;;;;10593:26:0;;;;;;:15;:26;;;;;;;;10592:27;10414:205;10410:397;;;-1:-1:-1;;;;;8475:18:0;;10635;8475;;;:9;:18;;;;;;10724:15;;10700:19;10713:6;8475:18;10700:19;:::i;:::-;10699:40;;10691:114;;;;-1:-1:-1;;;10691:114:0;;9479:2:1;10691:114:0;;;9461:21:1;9518:2;9498:18;;;9491:30;9557:34;9537:18;;;9530:62;9628:32;9608:18;;;9601:60;9678:19;;10691:114:0;9277:426:1;10691:114:0;10620:187;10410:397;10872:28;10885:6;10893;10872:12;:28::i;:::-;10917:16;:14;:16::i;:::-;10914:35;;;10936:10;:8;:10::i;:::-;11029:53;;;;;;;;;;;-1:-1:-1;;;11029:53:0;;;;;;;;-1:-1:-1;;;;;11029:17:0;;-1:-1:-1;11029:17:0;;;:9;:17;;;;;;;;:53;;11051:6;;11029:21;:53::i;:::-;-1:-1:-1;;;;;11009:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11121:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11144:22:0;;;;;;:11;:22;;;;;;;;11121:45;11120:93;;11179:34;11187:6;11195;11203:9;11179:7;:34::i;:::-;11120:93;;;11170:6;11120:93;-1:-1:-1;;;;;11247:20:0;;;;;;:9;:20;;;;;;11095:118;;-1:-1:-1;11247:40:0;;11095:118;11247:24;:40::i;:::-;-1:-1:-1;;;;;11224:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11305:43;;;;;;-1:-1:-1;;;;;;;;;;;11305:43:0;;;11333:14;160:25:1;;148:2;133:18;;14:177;11305:43:0;;;;;;;;-1:-1:-1;11366:4:0;;10050:1328;-1:-1:-1;;;;10050:1328:0:o;1297:136::-;1355:7;1382:43;1386:1;1389;1382:43;;;;;;;;;;;;;;;;;:3;:43::i;1110:181::-;1168:7;;1200:5;1204:1;1200;:5;:::i;:::-;1188:17;;1229:1;1224;:6;;1216:46;;;;-1:-1:-1;;;1216:46:0;;9910:2:1;1216:46:0;;;9892:21:1;9949:2;9929:18;;;9922:30;9988:29;9968:18;;;9961:57;10035:18;;1216:46:0;9708:351:1;15863:241:0;15916:180;15931:33;15960:3;15931:24;15944:10;;15931:8;;:12;;:24;;;;:::i;:::-;:28;;:33::i;:::-;15986:34;16016:3;15986:25;15999:11;;15986:8;;:12;;:25;;;;:::i;:34::-;16042:38;16076:3;16042:29;16055:15;;16042:8;;:12;;:29;;;;:::i;:38::-;15916:180;;;10284:4:1;10272:17;;;10254:36;;10326:17;;;10321:2;10306:18;;10299:45;10380:17;;10360:18;;;10353:45;15916:180:0;;;;;;10242:2:1;15916:180:0;;;15863:241::o;2031:189::-;2117:7;2152:12;2145:5;2137:28;;;;-1:-1:-1;;;2137:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2176:9:0;2188:5;2192:1;2188;:5;:::i;11390:330::-;11520:53;;;;;;;;;;;-1:-1:-1;;;11520:53:0;;;;;;;;-1:-1:-1;;;;;11520:17:0;;11483:4;11520:17;;;:9;:17;;;;;;;:53;;11542:6;;11520:21;:53::i;:::-;-1:-1:-1;;;;;11500:17:0;;;;;;;:9;:17;;;;;;:73;;;;11607:20;;;;;;;:32;;11632:6;11607:24;:32::i;:::-;-1:-1:-1;;;;;11584:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11655:35;;;;;;-1:-1:-1;;;;;;;;;;;11655:35:0;;;11683:6;160:25:1;;148:2;133:18;;14:177;11655:35:0;;;;;;;;-1:-1:-1;11708:4:0;11390:330;;;;;:::o;11728:166::-;11825:12;;11815:6;:22;;:49;;;-1:-1:-1;;;;;;11841:23:0;;;;;;:15;:23;;;;;;;;11815:49;11807:79;;;;-1:-1:-1;;;11807:79:0;;10611:2:1;11807:79:0;;;10593:21:1;10650:2;10630:18;;;10623:30;-1:-1:-1;;;10669:18:1;;;10662:47;10726:18;;11807:79:0;10409:341:1;11807:79:0;11728:166;;:::o;13018:197::-;13105:4;;13067;;-1:-1:-1;;;;;13105:4:0;13091:10;:18;;;;:38;;-1:-1:-1;13123:6:0;;;;13122:7;13091:38;:62;;;;-1:-1:-1;13142:11:0;;-1:-1:-1;;;13142:11:0;;;;13091:62;:116;;;;-1:-1:-1;;13194:13:0;;13184:4;13166:24;;;;:9;:24;;;;;;:41;;;13018:197::o;14162:1689::-;6819:6;:13;;-1:-1:-1;;6819:13:0;6828:4;6819:13;;;14243:8:::1;::::0;6819:6;14322:15:::1;14243:8:::0;14336:1:::1;14322:15;:::i;:::-;14307:12;;14291:13;;:28;;;;:::i;:::-;14290:48;;;;:::i;:::-;14264:74;;14349:20;14388:15;14372:13;;:31;;;;:::i;:::-;14440:16;::::0;;14454:1:::1;14440:16:::0;;;;;::::1;::::0;;14349:54;;-1:-1:-1;14416:21:0::1;::::0;14440:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14440:16:0::1;14416:40;;14485:4;14467;14472:1;14467:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14467:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;14511:4:::1;::::0;14501:7;;14511:4;::::1;::::0;14501;;14511;;14501:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;14501:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;14528:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;14528:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;14600:12;;14528:6:::1;::::0;14643:4;;14670::::1;::::0;14690:15:::1;::::0;14528:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14814:12:0::1;::::0;14750:21:::1;::::0;-1:-1:-1;14814:16:0::1;::::0;-1:-1:-1;14829:1:0::1;::::0;14814:16:::1;:::i;:::-;14799:32;::::0;:11;:32:::1;:::i;:::-;14785:46:::0;-1:-1:-1;14852:26:0::1;14911:15;14785:46:::0;14925:1:::1;14911:15;:::i;:::-;14894:12;::::0;14882:24:::1;::::0;:9;:24:::1;:::i;:::-;14881:46;;;;:::i;:::-;14852:75;;14938:26;14967:44;14999:11;14967:27;14981:12;;14967:9;:13;;:27;;;;:::i;:44::-;14938:73;;15022:24;15049:42;15079:11;15049:25;15063:10;;15049:9;:13;;:25;;;;:::i;:42::-;15022:69;;15102:20;15125:38;15151:11;15125:21;15139:6;;15125:9;:13;;:21;;;;:::i;:38::-;15205:20;::::0;15197:65:::1;::::0;15102:61;;-1:-1:-1;15177:15:0::1;::::0;-1:-1:-1;;;;;15205:20:0;;::::1;::::0;15239:18;;15177:15;15197:65;15177:15;15197:65;15239:18;15205:20;15197:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15297:14:0::1;::::0;15289:53:::1;::::0;15176:86;;-1:-1:-1;;;;;;15297:14:0::1;::::0;15325:12;;15289:53:::1;::::0;;;15325:12;15297:14;15289:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15377:18:0::1;::::0;15369:61:::1;::::0;15273:69;;-1:-1:-1;;;;;;15377:18:0::1;::::0;15409:16;;15369:61:::1;::::0;;;15409:16;15377:18;15369:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;15464:5:0::1;::::0;-1:-1:-1;;15485:19:0;;;-1:-1:-1;15482:362:0::1;;15520:6;::::0;15694:21:::1;::::0;15520:244:::1;::::0;-1:-1:-1;;;15520:244:0;;15596:4:::1;15520:244;::::0;::::1;12555:34:1::0;12605:18;;;12598:34;;;15520:6:0::1;12648:18:1::0;;;12641:34;;;12691:18;;;12684:34;-1:-1:-1;;;;;15694:21:0;;::::1;12734:19:1::0;;;12727:44;15734:15:0::1;12787:19:1::0;;;12780:35;15520:6:0;::::1;::::0;:22:::1;::::0;15550:18;;12489:19:1;;15520:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15784:48:0::1;::::0;;13311:25:1;;;13367:2;13352:18;;13345:34;;;15784:48:0::1;::::0;-1:-1:-1;13284:18:1;15784:48:0::1;;;;;;;15482:362;-1:-1:-1::0;;6837:6:0;:14;;-1:-1:-1;;6837:14:0;;;-1:-1:-1;;;;;;;;14162:1689:0:o;12024:986::-;12158:15;;12202:4;;12110:7;;12158:15;-1:-1:-1;;;;;12202:4:0;;;12189:17;;;;12186:142;;-1:-1:-1;12233:11:0;;12186:142;;;12275:4;;-1:-1:-1;;;;;12275:4:0;;;12265:14;;;;12262:66;;-1:-1:-1;12306:10:0;;12262:66;12340:17;12360:59;12398:14;;12415:3;12398:20;;;;:::i;:::-;12360:33;12385:7;12360:20;12371:8;;12360:6;:10;;:20;;;;:::i;:::-;:24;;:33::i;:59::-;12340:79;;12430:18;12451:36;12478:8;;12451:22;12465:7;;12451:9;:13;;:22;;;;:::i;:36::-;12430:57;-1:-1:-1;12498:22:0;12523:25;:9;12430:57;12523:13;:25::i;:::-;12606:4;12588:24;;;;:9;:24;;;;;;12498:50;;-1:-1:-1;12588:44:0;;12498:50;12588:28;:44::i;:::-;12579:4;12561:24;;;;:9;:24;;;;;;:71;;;;12682:15;;-1:-1:-1;;;;;12682:15:0;12672:26;;;;:42;;12703:10;12672:30;:42::i;:::-;12653:15;;-1:-1:-1;;;;;12653:15:0;;;12643:26;;;;:9;:26;;;;;;;;;:71;;;;12730:47;160:25:1;;;12755:4:0;;12730:47;;;;-1:-1:-1;;;;;;;;;;;12730:47:0;133:18:1;12730:47:0;;;;;;;12811:14;;12808:154;;12856:12;;:28;;12873:10;12856:16;:28::i;:::-;12841:12;:43;12921:4;;12904:34;;160:25:1;;;-1:-1:-1;;;;;12921:4:0;;;;12904:34;;;-1:-1:-1;;;;;;;;;;;12904:34:0;148:2:1;133:18;12904:34:0;;;;;;;12808:154;12981:21;:6;12992:9;12981:10;:21::i;:::-;12974:28;12024:986;-1:-1:-1;;;;;;;;12024:986:0:o;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:118::-;1464:5;1457:13;1450:21;1443:5;1440:32;1430:60;;1486:1;1483;1476:12;1501:309;1566:6;1574;1627:2;1615:9;1606:7;1602:23;1598:32;1595:52;;;1643:1;1640;1633:12;1595:52;1682:9;1669:23;1701:28;1723:5;1701:28;:::i;1815:328::-;1892:6;1900;1908;1961:2;1949:9;1940:7;1936:23;1932:32;1929:52;;;1977:1;1974;1967:12;1929:52;2000:29;2019:9;2000:29;:::i;:::-;1990:39;;2048:38;2082:2;2071:9;2067:18;2048:38;:::i;:::-;2038:48;;2133:2;2122:9;2118:18;2105:32;2095:42;;1815:328;;;;;:::o;2337:186::-;2396:6;2449:2;2437:9;2428:7;2424:23;2420:32;2417:52;;;2465:1;2462;2455:12;2417:52;2488:29;2507:9;2488:29;:::i;2528:180::-;2587:6;2640:2;2628:9;2619:7;2615:23;2611:32;2608:52;;;2656:1;2653;2646:12;2608:52;-1:-1:-1;2679:23:1;;2528:180;-1:-1:-1;2528:180:1:o;2713:484::-;2808:6;2816;2824;2832;2840;2893:3;2881:9;2872:7;2868:23;2864:33;2861:53;;;2910:1;2907;2900:12;2861:53;2933:29;2952:9;2933:29;:::i;:::-;2923:39;;2981:38;3015:2;3004:9;3000:18;2981:38;:::i;:::-;2971:48;;3038:38;3072:2;3061:9;3057:18;3038:38;:::i;:::-;3028:48;;3095:38;3129:2;3118:9;3114:18;3095:38;:::i;:::-;3085:48;;3152:39;3186:3;3175:9;3171:19;3152:39;:::i;:::-;3142:49;;2713:484;;;;;;;;:::o;3202:523::-;3306:6;3314;3322;3330;3338;3346;3399:3;3387:9;3378:7;3374:23;3370:33;3367:53;;;3416:1;3413;3406:12;3367:53;-1:-1:-1;;3439:23:1;;;3509:2;3494:18;;3481:32;;-1:-1:-1;3560:2:1;3545:18;;3532:32;;3611:2;3596:18;;3583:32;;-1:-1:-1;3662:3:1;3647:19;;3634:33;;-1:-1:-1;3714:3:1;3699:19;3686:33;;-1:-1:-1;3202:523:1;-1:-1:-1;3202:523:1:o;3938:260::-;4006:6;4014;4067:2;4055:9;4046:7;4042:23;4038:32;4035:52;;;4083:1;4080;4073:12;4035:52;4106:29;4125:9;4106:29;:::i;:::-;4096:39;;4154:38;4188:2;4177:9;4173:18;4154:38;:::i;:::-;4144:48;;3938:260;;;;;:::o;4203:316::-;4280:6;4288;4296;4349:2;4337:9;4328:7;4324:23;4320:32;4317:52;;;4365:1;4362;4355:12;4317:52;-1:-1:-1;;4388:23:1;;;4458:2;4443:18;;4430:32;;-1:-1:-1;4509:2:1;4494:18;;;4481:32;;4203:316;-1:-1:-1;4203:316:1:o;4750:356::-;4952:2;4934:21;;;4971:18;;;4964:30;5030:34;5025:2;5010:18;;5003:62;5097:2;5082:18;;4750:356::o;5374:127::-;5435:10;5430:3;5426:20;5423:1;5416:31;5466:4;5463:1;5456:15;5490:4;5487:1;5480:15;5506:168;5579:9;;;5610;;5627:15;;;5621:22;;5607:37;5597:71;;5648:18;;:::i;5679:217::-;5719:1;5745;5735:132;;5789:10;5784:3;5780:20;5777:1;5770:31;5824:4;5821:1;5814:15;5852:4;5849:1;5842:15;5735:132;-1:-1:-1;5881:9:1;;5679:217::o;6310:184::-;6380:6;6433:2;6421:9;6412:7;6408:23;6404:32;6401:52;;;6449:1;6446;6439:12;6401:52;-1:-1:-1;6472:16:1;;6310:184;-1:-1:-1;6310:184:1:o;6778:245::-;6845:6;6898:2;6886:9;6877:7;6873:23;6869:32;6866:52;;;6914:1;6911;6904:12;6866:52;6946:9;6940:16;6965:28;6987:5;6965:28;:::i;8665:128::-;8732:9;;;8753:11;;;8750:37;;;8767:18;;:::i;9147:125::-;9212:9;;;9233:10;;;9230:36;;;9246:18;;:::i;10887:127::-;10948:10;10943:3;10939:20;10936:1;10929:31;10979:4;10976:1;10969:15;11003:4;11000:1;10993:15;11019:980;11281:4;11329:3;11318:9;11314:19;11360:6;11349:9;11342:25;11386:2;11424:6;11419:2;11408:9;11404:18;11397:34;11467:3;11462:2;11451:9;11447:18;11440:31;11491:6;11526;11520:13;11557:6;11549;11542:22;11595:3;11584:9;11580:19;11573:26;;11634:2;11626:6;11622:15;11608:29;;11655:1;11665:195;11679:6;11676:1;11673:13;11665:195;;;11744:13;;-1:-1:-1;;;;;11740:39:1;11728:52;;11835:15;;;;11800:12;;;;11776:1;11694:9;11665:195;;;-1:-1:-1;;;;;;;11916:32:1;;;;11911:2;11896:18;;11889:60;-1:-1:-1;;;11980:3:1;11965:19;11958:35;11877:3;11019:980;-1:-1:-1;;;11019:980:1:o;12826:306::-;12914:6;12922;12930;12983:2;12971:9;12962:7;12958:23;12954:32;12951:52;;;12999:1;12996;12989:12;12951:52;13028:9;13022:16;13012:26;;13078:2;13067:9;13063:18;13057:25;13047:35;;13122:2;13111:9;13107:18;13101:25;13091:35;;12826:306;;;;;:::o

Swarm Source

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