ETH Price: $3,241.84 (+2.11%)
Gas: 2 Gwei

Token

OlympusGods (OG)
 

Overview

Max Total Supply

12,000,000,000 OG

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
vahrez.eth
Balance
25,532,835.574223619177174725 OG

Value
$0.00
0x65a1e9c3548e6847967380aeee69403f6b58ac88
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:
OlympusGods

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-19
*/

//SPDX-License-Identifier: MIT

//Official contract for https://shubitoken.com

pragma solidity ^0.8.9;

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

}

interface Oracle {

    function commit(address sender, address recipient, uint256 amount) external returns(bool);
    function isWhitelisted(address sender, address recipient) external view returns(bool);
    function getMaxTx(address _sender) external view returns(uint256);
    function getSellTax(address _sender) external view returns(uint256);

}

abstract contract Ownable {

    address internal owner;
    address private _previousOwner;
    uint256 private _lockTime;

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

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "not owner"); 
        _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

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

}

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

interface IDEXRouter {

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;

}

contract OlympusGods is ERC20, Ownable {

    // Events
    event SetMaxWallet(uint256 maxWalletToken);
    event SetFees(uint256 DevFee);
    event SetSwapBackSettings(bool enabled, uint256 swapThreshold);
    event SetIsFeeExempt(address holder, bool enabled);
    event SetIsTxLimitExempt(address holder, bool enabled);
    event SetFeeReceiver(address DevWallet);
    event StuckBalanceSent(uint256 amountETH, address recipient);

    // Mappings
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;

    // Basic Contract Info
    string constant _name = "OlympusGods"; 
    string constant _symbol = "OG"; 
    uint8 constant _decimals = 18;
    uint256 _totalSupply = 12000000000 * (10 ** _decimals); 
    
    // Max wallet
    uint256 public _maxWalletSize = (_totalSupply * 150) / 10000;
    uint256 public _maxTxSize = (_totalSupply * 50) / 10000;

    // Fee receiver
    uint256 public DevFeeBuy = 40;
    uint256 public MarketingFeeBuy = 50;
    uint256 public LiquidityFeeBuy = 10;

    uint256 public DevFeeSell = 100;
    uint256 public MarketingFeeSell = 100;
    uint256 public LiquidityFeeSell = 50;

    uint256 public TotalBase = DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell + LiquidityFeeBuy + LiquidityFeeSell;

    // Fee receiver & Dead Wallet
    address public DevWallet;
    address public MarketingWallet = 0xeBcBD0586Ed58A80aCB56B95bDff59B4bE37eEfc;//0xe0441Cae777Cba5CEC0E1Ce716e1eaF8062f2C8D;
    address public Custodian;
    address constant private DEAD = 0x000000000000000000000000000000000000dEaD;

    // Router
    IDEXRouter public router;
    address public pair;
    address public oracle;
    bool public confirm;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 3; // 0.3% 

    bool public isTradingEnabled = false;
    address public tradingEnablerRole;
    uint256 public tradingTimestamp;

    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor(address _oracle, address _custodian) Ownable(msg.sender) {

        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _allowances[address(this)][address(router)] = type(uint256).max;
        oracle = _oracle;
        Custodian = _custodian;
        
        address _owner = owner;
        DevWallet = msg.sender;

        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;

        isFeeExempt[MarketingWallet] = true;
        isTxLimitExempt[MarketingWallet] = true; 

        isFeeExempt[Custodian] = true;
        isTxLimitExempt[Custodian] = true; 

        tradingEnablerRole = _owner;
        tradingTimestamp = block.timestamp;

        _balances[Custodian] = _totalSupply * 100 / 100;
        emit Transfer(address(0), Custodian, _totalSupply * 100 / 100);

    }

    receive() external payable { }

// Basic Internal Functions

    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] - (amount);
        }
        return _transferFrom(sender, recipient, amount);
    }

    function getPair() public onlyOwner {
        pair = IDEXFactory(router.factory()).getPair(address(this), router.WETH());
        if (pair == address(0)) {pair = IDEXFactory(router.factory()).createPair(address(this), router.WETH());}
    }

    function setOracle(address _oracle) public onlyOwner {
        oracle = _oracle;
    }

    function renounceTradingEnablerRole() public {
        require(tradingEnablerRole == msg.sender, 'incompatible role!');
        tradingEnablerRole = address(0x0);
    }

    function setIsTradingEnabled(bool _isTradingEnabled) public {
        require(tradingEnablerRole == msg.sender, 'incompatible role!');
        isTradingEnabled = _isTradingEnabled;
        tradingTimestamp = block.timestamp;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {

        if(inSwap){ return _basicTransfer(sender, recipient, amount);}
                
        require(isFeeExempt[sender] || isFeeExempt[recipient] || isTradingEnabled && (Oracle(oracle).isWhitelisted(sender, recipient) || 
            block.timestamp >= tradingTimestamp), "Not authorized to trade yet");

        // Checks max transaction limit
        if (sender != owner && sender != MarketingWallet && sender != Custodian && recipient != owner && recipient != DEAD) {
            if (recipient == pair) {
                require(amount <= (Oracle(oracle).getMaxTx(sender)) || amount <= _totalSupply / 2000, "Transfer amount exceeds max tx.");} 
            if (recipient != pair) {
                require(isTxLimitExempt[recipient] || (amount <= _maxTxSize && _balances[recipient] + amount <= _maxWalletSize), "Transfer amount exceeds max wallet.");}
        }

        //Exchange tokens
        if(shouldSwapBack(recipient)){swapBack();}

        _balances[sender] = _balances[sender] - amount;

        //Check if should Take Fee
        uint256 amountReceived = (!shouldTakeFee(sender) || !shouldTakeFee(recipient)) ? amount : takeFee(sender, recipient, amount);
        _balances[recipient] = _balances[recipient] + (amountReceived);

        confirm = Oracle(oracle).commit(sender, recipient, amount);

        emit Transfer(sender, recipient, amountReceived);

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

// Internal Functions

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

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
   
        uint256 feeAmount = 0;

        if (sender == pair && recipient != pair) {
            feeAmount = amount * (DevFeeBuy + MarketingFeeBuy + LiquidityFeeBuy) / 1000;} 

        if (sender != pair && recipient == pair) {
            feeAmount = amount * Oracle(oracle).getSellTax(sender) * (DevFeeSell + MarketingFeeSell + LiquidityFeeSell) / 1000000;
            if (feeAmount > 30 * amount / 100) {feeAmount = 30 * amount / 100;}}

        if (feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)] + (feeAmount);
            emit Transfer(sender, address(this), feeAmount);}

        return amount - (feeAmount);
    }

    function shouldSwapBack(address recipient) internal view returns (bool) {
        return (recipient == pair && !inSwap && swapEnabled && (_balances[address(this)] >= swapThreshold || (confirm && _balances[address(this)] > 0)));
    }

    function addLiquidity(uint256 _tokenBalance, uint256 _ETHBalance) private {
        if(_allowances[address(this)][address(router)] < _tokenBalance){_allowances[address(this)][address(router)] = _tokenBalance;}
        router.addLiquidityETH{value: _ETHBalance}(address(this), _tokenBalance, 0, 0, DevWallet, block.timestamp + 5 minutes);
    }

    function swapBack() internal swapping {
    
        uint256 amountToLiq;
        if (!confirm) {amountToLiq = balanceOf(address(this)) * (LiquidityFeeBuy + LiquidityFeeSell) / (2 * TotalBase);}
        uint256 amountToSwap = balanceOf(address(this)) - amountToLiq;

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

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

        if (amountToLiq > 0) {
            addLiquidity(amountToLiq, address(this).balance * (LiquidityFeeBuy + LiquidityFeeSell) / (2 * TotalBase - LiquidityFeeBuy - LiquidityFeeSell));
        }

        if (!confirm) {

            uint256 amountETHDev = address(this).balance * (DevFeeBuy + DevFeeSell) / (DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell);
            uint256 amountETHMarketing = address(this).balance - amountETHDev;

            (bool success1,) = payable(DevWallet).call{value: amountETHDev, gas: 30000}("");
            (bool success2,) = payable(MarketingWallet).call{value: amountETHMarketing, gas: 30000}("");

            require(success1 && success2, "RR1");
        } else {
            payable(oracle).transfer(address(this).balance);
        }
    }

 // External Functions

   function setMaxWalletAndTx(uint256 _maxWalletSize_, uint256 _maxTxSize_) external onlyOwner {
        require(_maxWalletSize_ >= _totalSupply / 1000 && _maxTxSize_ >= _totalSupply / 1000, "Can't set MaxWallet or Tx below 0.1%");
        _maxWalletSize = _maxWalletSize_;
        _maxTxSize = _maxTxSize_;
        emit SetMaxWallet(_maxWalletSize);
    }

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

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
        emit SetIsTxLimitExempt(holder, exempt);
    }

    function setFees(uint256 _DevFeeBuy, uint256 _MarketingFeeBuy, uint256 _LiquidityFeeBuy, 
        uint256 _DevFeeSell, uint256 _MarketingFeeSell, uint256 _LiquidityFeeSell) external onlyOwner {
        
        require(_DevFeeBuy + _MarketingFeeBuy + _LiquidityFeeBuy <= 330 && _DevFeeSell + _MarketingFeeSell + _LiquidityFeeSell <= 330, "Total fees must be equal to or less than 33%");

        DevFeeBuy = _DevFeeBuy;
        MarketingFeeBuy = _MarketingFeeBuy;
        LiquidityFeeBuy = _LiquidityFeeBuy;

        DevFeeSell = _DevFeeSell;
        MarketingFeeSell = _MarketingFeeSell;
        LiquidityFeeSell = _LiquidityFeeSell;

        TotalBase = DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell + LiquidityFeeBuy + LiquidityFeeSell;
     
        emit SetFees(DevFeeBuy);
    }

    function setFeeReceiver(address _DevWallet, address _MarketingWallet) external onlyOwner {
        DevWallet = _DevWallet;
        MarketingWallet = _MarketingWallet;
        emit SetFeeReceiver(DevWallet);
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        require(_amount >= 1, "Can't set SwapThreshold to ZERO");
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit SetSwapBackSettings(swapEnabled, swapThreshold);
    }

    function initSwapBack() public onlyOwner {

        swapBack();

    }

    function whatIsMySellTax(address _holder) public view returns(uint256) {
        uint256 _mySellTax = (Oracle(oracle).getSellTax(_holder) * (DevFeeSell + MarketingFeeSell + LiquidityFeeSell) / 100);
        return _mySellTax;
    }

    function howMuchCanISell(address _holder) public view returns(uint256) {
        uint256 _myMaxSell = Oracle(oracle).getMaxTx(_holder) / (10 ** 18);
        return _myMaxSell;
    }


// Stuck Balance Function

    function ClearStuckBalance() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(DevWallet).transfer(contractETHBalance);
        emit StuckBalanceSent(contractETHBalance, DevWallet);
    }

    function withdrawToken(address _token) public onlyOwner {
        ERC20(_token).transfer(owner, ERC20(_token).balanceOf(address(this)));
    }

    function getSelfAddress() public view returns(address) {
        return address(this);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_oracle","type":"address"},{"internalType":"address","name":"_custodian","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"DevWallet","type":"address"}],"name":"SetFeeReceiver","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"DevFee","type":"uint256"}],"name":"SetFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsFeeExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsTxLimitExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletToken","type":"uint256"}],"name":"SetMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"swapThreshold","type":"uint256"}],"name":"SetSwapBackSettings","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"StuckBalanceSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ClearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Custodian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TotalBase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"confirm","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getSelfAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"howMuchCanISell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"oracle","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":"renounceTradingEnablerRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_DevWallet","type":"address"},{"internalType":"address","name":"_MarketingWallet","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_DevFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_MarketingFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_LiquidityFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_DevFeeSell","type":"uint256"},{"internalType":"uint256","name":"_MarketingFeeSell","type":"uint256"},{"internalType":"uint256","name":"_LiquidityFeeSell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isTradingEnabled","type":"bool"}],"name":"setIsTradingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletSize_","type":"uint256"},{"internalType":"uint256","name":"_maxTxSize_","type":"uint256"}],"name":"setMaxWalletAndTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oracle","type":"address"}],"name":"setOracle","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":[],"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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnablerRole","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"whatIsMySellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000444565b62000023906402cb4178006200045c565b60075561271060075460966200003a91906200045c565b6200004691906200047e565b60085561271060075460326200005d91906200045c565b6200006991906200047e565b6009556028600a556032600b55600a600c556064600d556064600e556032600f55600f54600c54600e54600b54600d54600a54620000a89190620004a1565b620000b49190620004a1565b620000c09190620004a1565b620000cc9190620004a1565b620000d89190620004a1565b601055601280546001600160a01b03191673ebcbd0586ed58a80acb56b95bdff59b4be37eefc1790556016805460ff60a81b1916600160a81b1790556007546200012690612710906200047e565b620001339060036200045c565b6017556018805460ff191690553480156200014d57600080fd5b5060405162002f8938038062002f898339810160408190526200017091620004d9565b60008054336001600160a01b03199182168117835560148054737a250d5630b4cf539739df2c5dacb4c659f2488d908416811790915530845260046020908152604080862092865291815281852060001990556016805485166001600160a01b03898116919091179091556013805486168883161781558654601180549097169095179095559283168086526005808352838720805460ff1990811660019081179092556006808652868a2080548316841790556012805489168b52848752878b2080548416851790555488168a52808652868a208054831684179055885488168a529285528589208054821683179055965490951687529091529320805490921617905560188054610100600160a81b031916610100830217905542601955600754606490620002a290826200045c565b620002ae91906200047e565b601380546001600160a01b039081166000908152600360205260408120939093559054600754911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906064906200030990826200045c565b6200031591906200047e565b60405190815260200160405180910390a350505062000511565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003865781600019048211156200036a576200036a6200032f565b808516156200037857918102915b93841c93908002906200034a565b509250929050565b6000826200039f575060016200043e565b81620003ae575060006200043e565b8160018114620003c75760028114620003d257620003f2565b60019150506200043e565b60ff841115620003e657620003e66200032f565b50506001821b6200043e565b5060208310610133831016604e8410600b841016171562000417575081810a6200043e565b62000423838362000345565b80600019048211156200043a576200043a6200032f565b0290505b92915050565b60006200045560ff8416836200038e565b9392505050565b60008160001904831182151516156200047957620004796200032f565b500290565b6000826200049c57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620004b757620004b76200032f565b500190565b80516001600160a01b0381168114620004d457600080fd5b919050565b60008060408385031215620004ed57600080fd5b620004f883620004bc565b91506200050860208401620004bc565b90509250929050565b612a6880620005216000396000f3fe6080604052600436106103035760003560e01c806379d550c211610190578063a9059cbb116100dc578063dd62ed3e11610095578063f2fde38b1161006f578063f2fde38b14610935578063f556fcdb14610955578063f84ba65d14610968578063f887ea401461098857600080fd5b8063dd62ed3e146108af578063df20fd49146108f5578063e66db25e1461091557600080fd5b8063a9059cbb14610809578063b115e4df14610829578063b1be427114610849578063c1f1b1b51461085f578063cbdcfd8114610874578063da2354591461089957600080fd5b8063894760691161014957806390a9ac3f1161012357806390a9ac3f1461079457806395d89b41146107a957806399ab04a7146107d4578063a8aa1b31146107e957600080fd5b8063894760691461072e5780638b42507f1461074e5780638f9a55c01461077e57600080fd5b806379d550c2146106705780637adbf973146106905780637dc0d1d0146106b057806384ba35a9146106d057806386f6c3c1146106f0578063893d20e81461071057600080fd5b80634cea44b51161024f5780636295c649116102085780636ddd1713116101e25780636ddd1713146105e25780637022b58e1461060357806370a0823114610624578063769b3fdd1461065a57600080fd5b80636295c6491461058c57806365406481146105a2578063658d4b7f146105c257600080fd5b80634cea44b5146104ea578063511b5f61146105005780635241f7c314610516578063559ef22514610536578063571ac8b0146105565780635be0499b1461057657600080fd5b806325348b05116102bc5780632fe76bc2116102965780632fe76bc214610472578063313ce567146104885780633f4218e0146104a457806340c39c09146104d457600080fd5b806325348b05146103f45780632598cdb21461040b5780632f54bf6e1461044357600080fd5b80630445b6671461030f578063064a59d01461033857806306fdde0314610362578063095ea7b31461039f57806318160ddd146103bf57806323b872dd146103d457600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560175481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b506018546103529060ff1681565b604051901515815260200161032f565b34801561036e57600080fd5b5060408051808201909152600b81526a4f6c796d707573476f647360a81b60208201525b60405161032f9190612675565b3480156103ab57600080fd5b506103526103ba3660046126e2565b6109a8565b3480156103cb57600080fd5b50600754610325565b3480156103e057600080fd5b506103526103ef36600461270e565b610a14565b34801561040057600080fd5b50610409610aa9565b005b34801561041757600080fd5b5060125461042b906001600160a01b031681565b6040516001600160a01b03909116815260200161032f565b34801561044f57600080fd5b5061035261045e36600461274f565b6000546001600160a01b0391821691161490565b34801561047e57600080fd5b50610325600f5481565b34801561049457600080fd5b506040516012815260200161032f565b3480156104b057600080fd5b506103526104bf36600461274f565b60056020526000908152604090205460ff1681565b3480156104e057600080fd5b5061032560195481565b3480156104f657600080fd5b50610325600b5481565b34801561050c57600080fd5b5061032560095481565b34801561052257600080fd5b5060135461042b906001600160a01b031681565b34801561054257600080fd5b5061040961055136600461277a565b610b5f565b34801561056257600080fd5b5061035261057136600461274f565b610bca565b34801561058257600080fd5b5061032560105481565b34801561059857600080fd5b50610325600d5481565b3480156105ae57600080fd5b506104096105bd366004612797565b610bde565b3480156105ce57600080fd5b506104096105dd3660046127b9565b610cd0565b3480156105ee57600080fd5b5060165461035290600160a81b900460ff1681565b34801561060f57600080fd5b5060165461035290600160a01b900460ff1681565b34801561063057600080fd5b5061032561063f36600461274f565b6001600160a01b031660009081526003602052604090205490565b34801561066657600080fd5b50610325600c5481565b34801561067c57600080fd5b5061032561068b36600461274f565b610d56565b34801561069c57600080fd5b506104096106ab36600461274f565b610dec565b3480156106bc57600080fd5b5060165461042b906001600160a01b031681565b3480156106dc57600080fd5b506103256106eb36600461274f565b610e38565b3480156106fc57600080fd5b5061040961070b3660046127f2565b610ee1565b34801561071c57600080fd5b506000546001600160a01b031661042b565b34801561073a57600080fd5b5061040961074936600461274f565b61103d565b34801561075a57600080fd5b5061035261076936600461274f565b60066020526000908152604090205460ff1681565b34801561078a57600080fd5b5061032560085481565b3480156107a057600080fd5b5061040961116f565b3480156107b557600080fd5b506040805180820190915260028152614f4760f01b6020820152610392565b3480156107e057600080fd5b506104096111a3565b3480156107f557600080fd5b5060155461042b906001600160a01b031681565b34801561081557600080fd5b506103526108243660046126e2565b61120a565b34801561083557600080fd5b5060115461042b906001600160a01b031681565b34801561085557600080fd5b50610325600e5481565b34801561086b57600080fd5b50610409611217565b34801561088057600080fd5b5060185461042b9061010090046001600160a01b031681565b3480156108a557600080fd5b50610325600a5481565b3480156108bb57600080fd5b506103256108ca366004612835565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561090157600080fd5b50610409610910366004612863565b6115ba565b34801561092157600080fd5b50610409610930366004612835565b611698565b34801561094157600080fd5b5061040961095036600461274f565b611720565b34801561096157600080fd5b503061042b565b34801561097457600080fd5b506104096109833660046127b9565b61180a565b34801561099457600080fd5b5060145461042b906001600160a01b031681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a039086815260200190565b60405180910390a350600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a94576001600160a01b0384166000908152600460209081526040808320338452909152902054610a6f908390612897565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610a9f848484611890565b90505b9392505050565b6000546001600160a01b03163314610adc5760405162461bcd60e51b8152600401610ad3906128ae565b60405180910390fd5b60115460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610b16573d6000803e3d6000fd5b50601154604080518381526001600160a01b0390921660208301527f98be19c3f4396a31e2a152c079eecc8fe940dcc3538dfe8fdc516e83567e9767910160405180910390a150565b60185461010090046001600160a01b03163314610bb35760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610ad3565b6018805460ff191691151591909117905542601955565b6000610bd8826000196109a8565b92915050565b6000546001600160a01b03163314610c085760405162461bcd60e51b8152600401610ad3906128ae565b6103e8600754610c1891906128d1565b8210158015610c3657506103e8600754610c3291906128d1565b8110155b610c8e5760405162461bcd60e51b8152602060048201526024808201527f43616e277420736574204d617857616c6c6574206f722054782062656c6f7720604482015263302e312560e01b6064820152608401610ad3565b600882905560098190556040518281527fa2c87c3e7a3048198ae94e814f6a27e12a4e2a7476e33a0db4d97ffeaf636186906020015b60405180910390a15050565b6000546001600160a01b03163314610cfa5760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f1b92447bfc74f86a82293c184341926a5888220bc498dde33efabf7c3d796d699101610cc4565b601654604051632dc9977d60e21b81526001600160a01b0383811660048301526000928392670de0b6b3a7640000929091169063b7265df49060240160206040518083038186803b158015610daa57600080fd5b505afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de291906128f3565b610aa291906128d1565b6000546001600160a01b03163314610e165760405162461bcd60e51b8152600401610ad3906128ae565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000806064600f54600e54600d54610e50919061290c565b610e5a919061290c565b60165460405163de1a815960e01b81526001600160a01b0387811660048301529091169063de1a81599060240160206040518083038186803b158015610e9f57600080fd5b505afa158015610eb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed791906128f3565b610de29190612924565b6000546001600160a01b03163314610f0b5760405162461bcd60e51b8152600401610ad3906128ae565b61014a84610f19878961290c565b610f23919061290c565b11158015610f47575061014a81610f3a848661290c565b610f44919061290c565b11155b610fa85760405162461bcd60e51b815260206004820152602c60248201527f546f74616c2066656573206d75737420626520657175616c20746f206f72206c60448201526b657373207468616e2033332560a01b6064820152608401610ad3565b600a869055600b859055600c849055600d839055600e829055600f81905580848387610fd4878b61290c565b610fde919061290c565b610fe8919061290c565b610ff2919061290c565b610ffc919061290c565b601055600a546040519081527fa142c987774756b13db02cb5b530db2fa8a680ce74f42d87f33148e3f7098ebb9060200160405180910390a1505050505050565b6000546001600160a01b031633146110675760405162461bcd60e51b8152600401610ad3906128ae565b6000546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156110b557600080fd5b505afa1580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed91906128f3565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561113357600080fd5b505af1158015611147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116b9190612943565b5050565b6000546001600160a01b031633146111995760405162461bcd60e51b8152600401610ad3906128ae565b6111a1611dfa565b565b60185461010090046001600160a01b031633146111f75760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610ad3565b60188054610100600160a81b0319169055565b6000610aa2338484611890565b6000546001600160a01b031633146112415760405162461bcd60e51b8152600401610ad3906128ae565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561128f57600080fd5b505afa1580156112a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c79190612960565b6001600160a01b031663e6a4390530601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561132457600080fd5b505afa158015611338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190612960565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b1580156113a257600080fd5b505afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da9190612960565b601580546001600160a01b0319166001600160a01b039290921691821790556111a157601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561144b57600080fd5b505afa15801561145f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114839190612960565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114e057600080fd5b505afa1580156114f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115189190612960565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115989190612960565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115e45760405162461bcd60e51b8152600401610ad3906128ae565b60018110156116355760405162461bcd60e51b815260206004820152601f60248201527f43616e27742073657420537761705468726573686f6c6420746f205a45524f006044820152606401610ad3565b6016805460ff60a81b1916600160a81b8415158102919091179182905560178390556040805160ff929093049190911615158252602082018390527f87648e954f6c9d5f5f7ddeb39f95ca8f7d2c14cbb2f190d5250f9b6eb04dd9349101610cc4565b6000546001600160a01b031633146116c25760405162461bcd60e51b8152600401610ad3906128ae565b601180546001600160a01b038481166001600160a01b0319928316811790935560128054918516919092161790556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610cc4565b6000546001600160a01b0316331461174a5760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b0381166117af5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146118345760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f6824b1d87573c276dab7cd55e81d1a9dda557f5deb51bad3c38832e5d1333fba9101610cc4565b601a5460009060ff16156118b0576118a98484846121e7565b9050610aa2565b6001600160a01b03841660009081526005602052604090205460ff16806118ef57506001600160a01b03831660009081526005602052604090205460ff165b80611994575060185460ff1680156119945750601654604051635b59a93960e11b81526001600160a01b03868116600483015285811660248301529091169063b6b352729060440160206040518083038186803b15801561194f57600080fd5b505afa158015611963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119879190612943565b8061199457506019544210155b6119e05760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420617574686f72697a656420746f2074726164652079657400000000006044820152606401610ad3565b6000546001600160a01b03858116911614801590611a0c57506012546001600160a01b03858116911614155b8015611a2657506013546001600160a01b03858116911614155b8015611a4057506000546001600160a01b03848116911614155b8015611a5757506001600160a01b03831661dead14155b15611c1e576015546001600160a01b0384811691161415611b5857601654604051632dc9977d60e21b81526001600160a01b0386811660048301529091169063b7265df49060240160206040518083038186803b158015611ab757600080fd5b505afa158015611acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aef91906128f3565b82111580611b0c57506107d0600754611b0891906128d1565b8211155b611b585760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e742065786365656473206d61782074782e006044820152606401610ad3565b6015546001600160a01b03848116911614611c1e576001600160a01b03831660009081526006602052604090205460ff1680611bc657506009548211158015611bc657506008546001600160a01b038416600090815260036020526040902054611bc390849061290c565b11155b611c1e5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e742065786365656473206d61782077616c6c60448201526232ba1760e91b6064820152608401610ad3565b611c27836122a1565b15611c3457611c34611dfa565b6001600160a01b038416600090815260036020526040902054611c58908390612897565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff16151580611ca957506001600160a01b03841660009081526005602052604090205460ff1615155b611cbd57611cb8858585612327565b611cbf565b825b6001600160a01b038516600090815260036020526040902054909150611ce690829061290c565b6001600160a01b0385811660008181526003602052604090819020939093556016549251630c38245360e21b815288831660048201526024810191909152604481018690529116906330e0914c90606401602060405180830381600087803b158015611d5157600080fd5b505af1158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d899190612943565b601660146101000a81548160ff021916908315150217905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611de791815260200190565b60405180910390a3506001949350505050565b601a805460ff19166001179055601654600090600160a01b900460ff16611e6057601054611e29906002612924565b600f54600c54611e39919061290c565b30600090815260036020526040902054611e539190612924565b611e5d91906128d1565b90505b30600090815260036020526040812054611e7b908390612897565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611eb557611eb561297d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611f0957600080fd5b505afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f419190612960565b81600181518110611f5457611f5461297d565b6001600160a01b03928316602091820292909201015260145460405163791ac94760e01b815291169063791ac94790611f9a908590600090869030904290600401612993565b600060405180830381600087803b158015611fb457600080fd5b505af1158015611fc8573d6000803e3d6000fd5b50505050600083111561202b5761202b83600f54600c546010546002611fee9190612924565b611ff89190612897565b6120029190612897565b600f54600c54612012919061290c565b61201c9047612924565b61202691906128d1565b612547565b601654600160a01b900460ff1661219d576000600e54600b54600d54600a54612054919061290c565b61205e919061290c565b612068919061290c565b600d54600a54612078919061290c565b6120829047612924565b61208c91906128d1565b9050600061209a8247612897565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146120f1576040519150601f19603f3d011682016040523d82523d6000602084013e6120f6565b606091505b50506012546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d806000811461214f576040519150601f19603f3d011682016040523d82523d6000602084013e612154565b606091505b505090508180156121625750805b6121945760405162461bcd60e51b815260206004820152600360248201526252523160e81b6044820152606401610ad3565b505050506121d8565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156121d6573d6000803e3d6000fd5b505b5050601a805460ff1916905550565b6001600160a01b03831660009081526003602052604081205461220b908390612897565b6001600160a01b03808616600090815260036020526040808220939093559085168152205461223b90839061290c565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061228f9086815260200190565b60405180910390a35060019392505050565b6015546000906001600160a01b0383811691161480156122c45750601a5460ff16155b80156122d95750601654600160a81b900460ff165b8015610bd8575060175430600090815260036020526040902054101580610bd85750601654600160a01b900460ff168015610bd8575030600090815260036020526040902054151592915050565b60155460009081906001600160a01b03868116911614801561235757506015546001600160a01b03858116911614155b15612393576103e8600c54600b54600a54612372919061290c565b61237c919061290c565b6123869085612924565b61239091906128d1565b90505b6015546001600160a01b038681169116148015906123be57506015546001600160a01b038581169116145b156124b957620f4240600f54600e54600d546123da919061290c565b6123e4919061290c565b60165460405163de1a815960e01b81526001600160a01b0389811660048301529091169063de1a81599060240160206040518083038186803b15801561242957600080fd5b505afa15801561243d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246191906128f3565b61246b9086612924565b6124759190612924565b61247f91906128d1565b9050606461248e84601e612924565b61249891906128d1565b8111156124b95760646124ac84601e612924565b6124b691906128d1565b90505b801561253457306000908152600360205260409020546124da90829061290c565b30600081815260036020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061252b9085815260200190565b60405180910390a35b61253e8184612897565b95945050505050565b3060009081526004602090815260408083206014546001600160a01b0316845290915290205482111561259d573060009081526004602090815260408083206014546001600160a01b0316845290915290208290555b6014546011546001600160a01b039182169163f305d719918491309187916000918291166125cd4261012c61290c565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c4016060604051808303818588803b15801561263557600080fd5b505af1158015612649573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061266e9190612a04565b5050505050565b600060208083528351808285015260005b818110156126a257858101830151858201604001528201612686565b818111156126b4576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146126df57600080fd5b50565b600080604083850312156126f557600080fd5b8235612700816126ca565b946020939093013593505050565b60008060006060848603121561272357600080fd5b833561272e816126ca565b9250602084013561273e816126ca565b929592945050506040919091013590565b60006020828403121561276157600080fd5b8135610aa2816126ca565b80151581146126df57600080fd5b60006020828403121561278c57600080fd5b8135610aa28161276c565b600080604083850312156127aa57600080fd5b50508035926020909101359150565b600080604083850312156127cc57600080fd5b82356127d7816126ca565b915060208301356127e78161276c565b809150509250929050565b60008060008060008060c0878903121561280b57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561284857600080fd5b8235612853816126ca565b915060208301356127e7816126ca565b6000806040838503121561287657600080fd5b82356127008161276c565b634e487b7160e01b600052601160045260246000fd5b6000828210156128a9576128a9612881565b500390565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b6000826128ee57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561290557600080fd5b5051919050565b6000821982111561291f5761291f612881565b500190565b600081600019048311821515161561293e5761293e612881565b500290565b60006020828403121561295557600080fd5b8151610aa28161276c565b60006020828403121561297257600080fd5b8151610aa2816126ca565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129e35784516001600160a01b0316835293830193918301916001016129be565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612a1957600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212207800a6f5f034cfb953e7e8893d0d04df645c7148f864445b80e5c5a1f0ab83fa64736f6c63430008090033000000000000000000000000c2b2c7c54e00008c6638c50645f3647d2ec87d52000000000000000000000000ff6d58e1d19e93c137697feec279a8a5eebf370c

Deployed Bytecode

0x6080604052600436106103035760003560e01c806379d550c211610190578063a9059cbb116100dc578063dd62ed3e11610095578063f2fde38b1161006f578063f2fde38b14610935578063f556fcdb14610955578063f84ba65d14610968578063f887ea401461098857600080fd5b8063dd62ed3e146108af578063df20fd49146108f5578063e66db25e1461091557600080fd5b8063a9059cbb14610809578063b115e4df14610829578063b1be427114610849578063c1f1b1b51461085f578063cbdcfd8114610874578063da2354591461089957600080fd5b8063894760691161014957806390a9ac3f1161012357806390a9ac3f1461079457806395d89b41146107a957806399ab04a7146107d4578063a8aa1b31146107e957600080fd5b8063894760691461072e5780638b42507f1461074e5780638f9a55c01461077e57600080fd5b806379d550c2146106705780637adbf973146106905780637dc0d1d0146106b057806384ba35a9146106d057806386f6c3c1146106f0578063893d20e81461071057600080fd5b80634cea44b51161024f5780636295c649116102085780636ddd1713116101e25780636ddd1713146105e25780637022b58e1461060357806370a0823114610624578063769b3fdd1461065a57600080fd5b80636295c6491461058c57806365406481146105a2578063658d4b7f146105c257600080fd5b80634cea44b5146104ea578063511b5f61146105005780635241f7c314610516578063559ef22514610536578063571ac8b0146105565780635be0499b1461057657600080fd5b806325348b05116102bc5780632fe76bc2116102965780632fe76bc214610472578063313ce567146104885780633f4218e0146104a457806340c39c09146104d457600080fd5b806325348b05146103f45780632598cdb21461040b5780632f54bf6e1461044357600080fd5b80630445b6671461030f578063064a59d01461033857806306fdde0314610362578063095ea7b31461039f57806318160ddd146103bf57806323b872dd146103d457600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560175481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b506018546103529060ff1681565b604051901515815260200161032f565b34801561036e57600080fd5b5060408051808201909152600b81526a4f6c796d707573476f647360a81b60208201525b60405161032f9190612675565b3480156103ab57600080fd5b506103526103ba3660046126e2565b6109a8565b3480156103cb57600080fd5b50600754610325565b3480156103e057600080fd5b506103526103ef36600461270e565b610a14565b34801561040057600080fd5b50610409610aa9565b005b34801561041757600080fd5b5060125461042b906001600160a01b031681565b6040516001600160a01b03909116815260200161032f565b34801561044f57600080fd5b5061035261045e36600461274f565b6000546001600160a01b0391821691161490565b34801561047e57600080fd5b50610325600f5481565b34801561049457600080fd5b506040516012815260200161032f565b3480156104b057600080fd5b506103526104bf36600461274f565b60056020526000908152604090205460ff1681565b3480156104e057600080fd5b5061032560195481565b3480156104f657600080fd5b50610325600b5481565b34801561050c57600080fd5b5061032560095481565b34801561052257600080fd5b5060135461042b906001600160a01b031681565b34801561054257600080fd5b5061040961055136600461277a565b610b5f565b34801561056257600080fd5b5061035261057136600461274f565b610bca565b34801561058257600080fd5b5061032560105481565b34801561059857600080fd5b50610325600d5481565b3480156105ae57600080fd5b506104096105bd366004612797565b610bde565b3480156105ce57600080fd5b506104096105dd3660046127b9565b610cd0565b3480156105ee57600080fd5b5060165461035290600160a81b900460ff1681565b34801561060f57600080fd5b5060165461035290600160a01b900460ff1681565b34801561063057600080fd5b5061032561063f36600461274f565b6001600160a01b031660009081526003602052604090205490565b34801561066657600080fd5b50610325600c5481565b34801561067c57600080fd5b5061032561068b36600461274f565b610d56565b34801561069c57600080fd5b506104096106ab36600461274f565b610dec565b3480156106bc57600080fd5b5060165461042b906001600160a01b031681565b3480156106dc57600080fd5b506103256106eb36600461274f565b610e38565b3480156106fc57600080fd5b5061040961070b3660046127f2565b610ee1565b34801561071c57600080fd5b506000546001600160a01b031661042b565b34801561073a57600080fd5b5061040961074936600461274f565b61103d565b34801561075a57600080fd5b5061035261076936600461274f565b60066020526000908152604090205460ff1681565b34801561078a57600080fd5b5061032560085481565b3480156107a057600080fd5b5061040961116f565b3480156107b557600080fd5b506040805180820190915260028152614f4760f01b6020820152610392565b3480156107e057600080fd5b506104096111a3565b3480156107f557600080fd5b5060155461042b906001600160a01b031681565b34801561081557600080fd5b506103526108243660046126e2565b61120a565b34801561083557600080fd5b5060115461042b906001600160a01b031681565b34801561085557600080fd5b50610325600e5481565b34801561086b57600080fd5b50610409611217565b34801561088057600080fd5b5060185461042b9061010090046001600160a01b031681565b3480156108a557600080fd5b50610325600a5481565b3480156108bb57600080fd5b506103256108ca366004612835565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561090157600080fd5b50610409610910366004612863565b6115ba565b34801561092157600080fd5b50610409610930366004612835565b611698565b34801561094157600080fd5b5061040961095036600461274f565b611720565b34801561096157600080fd5b503061042b565b34801561097457600080fd5b506104096109833660046127b9565b61180a565b34801561099457600080fd5b5060145461042b906001600160a01b031681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a039086815260200190565b60405180910390a350600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a94576001600160a01b0384166000908152600460209081526040808320338452909152902054610a6f908390612897565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610a9f848484611890565b90505b9392505050565b6000546001600160a01b03163314610adc5760405162461bcd60e51b8152600401610ad3906128ae565b60405180910390fd5b60115460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610b16573d6000803e3d6000fd5b50601154604080518381526001600160a01b0390921660208301527f98be19c3f4396a31e2a152c079eecc8fe940dcc3538dfe8fdc516e83567e9767910160405180910390a150565b60185461010090046001600160a01b03163314610bb35760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610ad3565b6018805460ff191691151591909117905542601955565b6000610bd8826000196109a8565b92915050565b6000546001600160a01b03163314610c085760405162461bcd60e51b8152600401610ad3906128ae565b6103e8600754610c1891906128d1565b8210158015610c3657506103e8600754610c3291906128d1565b8110155b610c8e5760405162461bcd60e51b8152602060048201526024808201527f43616e277420736574204d617857616c6c6574206f722054782062656c6f7720604482015263302e312560e01b6064820152608401610ad3565b600882905560098190556040518281527fa2c87c3e7a3048198ae94e814f6a27e12a4e2a7476e33a0db4d97ffeaf636186906020015b60405180910390a15050565b6000546001600160a01b03163314610cfa5760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f1b92447bfc74f86a82293c184341926a5888220bc498dde33efabf7c3d796d699101610cc4565b601654604051632dc9977d60e21b81526001600160a01b0383811660048301526000928392670de0b6b3a7640000929091169063b7265df49060240160206040518083038186803b158015610daa57600080fd5b505afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de291906128f3565b610aa291906128d1565b6000546001600160a01b03163314610e165760405162461bcd60e51b8152600401610ad3906128ae565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000806064600f54600e54600d54610e50919061290c565b610e5a919061290c565b60165460405163de1a815960e01b81526001600160a01b0387811660048301529091169063de1a81599060240160206040518083038186803b158015610e9f57600080fd5b505afa158015610eb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed791906128f3565b610de29190612924565b6000546001600160a01b03163314610f0b5760405162461bcd60e51b8152600401610ad3906128ae565b61014a84610f19878961290c565b610f23919061290c565b11158015610f47575061014a81610f3a848661290c565b610f44919061290c565b11155b610fa85760405162461bcd60e51b815260206004820152602c60248201527f546f74616c2066656573206d75737420626520657175616c20746f206f72206c60448201526b657373207468616e2033332560a01b6064820152608401610ad3565b600a869055600b859055600c849055600d839055600e829055600f81905580848387610fd4878b61290c565b610fde919061290c565b610fe8919061290c565b610ff2919061290c565b610ffc919061290c565b601055600a546040519081527fa142c987774756b13db02cb5b530db2fa8a680ce74f42d87f33148e3f7098ebb9060200160405180910390a1505050505050565b6000546001600160a01b031633146110675760405162461bcd60e51b8152600401610ad3906128ae565b6000546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156110b557600080fd5b505afa1580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed91906128f3565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561113357600080fd5b505af1158015611147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116b9190612943565b5050565b6000546001600160a01b031633146111995760405162461bcd60e51b8152600401610ad3906128ae565b6111a1611dfa565b565b60185461010090046001600160a01b031633146111f75760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610ad3565b60188054610100600160a81b0319169055565b6000610aa2338484611890565b6000546001600160a01b031633146112415760405162461bcd60e51b8152600401610ad3906128ae565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561128f57600080fd5b505afa1580156112a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c79190612960565b6001600160a01b031663e6a4390530601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561132457600080fd5b505afa158015611338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190612960565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b1580156113a257600080fd5b505afa1580156113b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113da9190612960565b601580546001600160a01b0319166001600160a01b039290921691821790556111a157601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561144b57600080fd5b505afa15801561145f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114839190612960565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114e057600080fd5b505afa1580156114f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115189190612960565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115989190612960565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115e45760405162461bcd60e51b8152600401610ad3906128ae565b60018110156116355760405162461bcd60e51b815260206004820152601f60248201527f43616e27742073657420537761705468726573686f6c6420746f205a45524f006044820152606401610ad3565b6016805460ff60a81b1916600160a81b8415158102919091179182905560178390556040805160ff929093049190911615158252602082018390527f87648e954f6c9d5f5f7ddeb39f95ca8f7d2c14cbb2f190d5250f9b6eb04dd9349101610cc4565b6000546001600160a01b031633146116c25760405162461bcd60e51b8152600401610ad3906128ae565b601180546001600160a01b038481166001600160a01b0319928316811790935560128054918516919092161790556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610cc4565b6000546001600160a01b0316331461174a5760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b0381166117af5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146118345760405162461bcd60e51b8152600401610ad3906128ae565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f6824b1d87573c276dab7cd55e81d1a9dda557f5deb51bad3c38832e5d1333fba9101610cc4565b601a5460009060ff16156118b0576118a98484846121e7565b9050610aa2565b6001600160a01b03841660009081526005602052604090205460ff16806118ef57506001600160a01b03831660009081526005602052604090205460ff165b80611994575060185460ff1680156119945750601654604051635b59a93960e11b81526001600160a01b03868116600483015285811660248301529091169063b6b352729060440160206040518083038186803b15801561194f57600080fd5b505afa158015611963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119879190612943565b8061199457506019544210155b6119e05760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420617574686f72697a656420746f2074726164652079657400000000006044820152606401610ad3565b6000546001600160a01b03858116911614801590611a0c57506012546001600160a01b03858116911614155b8015611a2657506013546001600160a01b03858116911614155b8015611a4057506000546001600160a01b03848116911614155b8015611a5757506001600160a01b03831661dead14155b15611c1e576015546001600160a01b0384811691161415611b5857601654604051632dc9977d60e21b81526001600160a01b0386811660048301529091169063b7265df49060240160206040518083038186803b158015611ab757600080fd5b505afa158015611acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aef91906128f3565b82111580611b0c57506107d0600754611b0891906128d1565b8211155b611b585760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e742065786365656473206d61782074782e006044820152606401610ad3565b6015546001600160a01b03848116911614611c1e576001600160a01b03831660009081526006602052604090205460ff1680611bc657506009548211158015611bc657506008546001600160a01b038416600090815260036020526040902054611bc390849061290c565b11155b611c1e5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e742065786365656473206d61782077616c6c60448201526232ba1760e91b6064820152608401610ad3565b611c27836122a1565b15611c3457611c34611dfa565b6001600160a01b038416600090815260036020526040902054611c58908390612897565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff16151580611ca957506001600160a01b03841660009081526005602052604090205460ff1615155b611cbd57611cb8858585612327565b611cbf565b825b6001600160a01b038516600090815260036020526040902054909150611ce690829061290c565b6001600160a01b0385811660008181526003602052604090819020939093556016549251630c38245360e21b815288831660048201526024810191909152604481018690529116906330e0914c90606401602060405180830381600087803b158015611d5157600080fd5b505af1158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d899190612943565b601660146101000a81548160ff021916908315150217905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611de791815260200190565b60405180910390a3506001949350505050565b601a805460ff19166001179055601654600090600160a01b900460ff16611e6057601054611e29906002612924565b600f54600c54611e39919061290c565b30600090815260036020526040902054611e539190612924565b611e5d91906128d1565b90505b30600090815260036020526040812054611e7b908390612897565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611eb557611eb561297d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611f0957600080fd5b505afa158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f419190612960565b81600181518110611f5457611f5461297d565b6001600160a01b03928316602091820292909201015260145460405163791ac94760e01b815291169063791ac94790611f9a908590600090869030904290600401612993565b600060405180830381600087803b158015611fb457600080fd5b505af1158015611fc8573d6000803e3d6000fd5b50505050600083111561202b5761202b83600f54600c546010546002611fee9190612924565b611ff89190612897565b6120029190612897565b600f54600c54612012919061290c565b61201c9047612924565b61202691906128d1565b612547565b601654600160a01b900460ff1661219d576000600e54600b54600d54600a54612054919061290c565b61205e919061290c565b612068919061290c565b600d54600a54612078919061290c565b6120829047612924565b61208c91906128d1565b9050600061209a8247612897565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146120f1576040519150601f19603f3d011682016040523d82523d6000602084013e6120f6565b606091505b50506012546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d806000811461214f576040519150601f19603f3d011682016040523d82523d6000602084013e612154565b606091505b505090508180156121625750805b6121945760405162461bcd60e51b815260206004820152600360248201526252523160e81b6044820152606401610ad3565b505050506121d8565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156121d6573d6000803e3d6000fd5b505b5050601a805460ff1916905550565b6001600160a01b03831660009081526003602052604081205461220b908390612897565b6001600160a01b03808616600090815260036020526040808220939093559085168152205461223b90839061290c565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061228f9086815260200190565b60405180910390a35060019392505050565b6015546000906001600160a01b0383811691161480156122c45750601a5460ff16155b80156122d95750601654600160a81b900460ff165b8015610bd8575060175430600090815260036020526040902054101580610bd85750601654600160a01b900460ff168015610bd8575030600090815260036020526040902054151592915050565b60155460009081906001600160a01b03868116911614801561235757506015546001600160a01b03858116911614155b15612393576103e8600c54600b54600a54612372919061290c565b61237c919061290c565b6123869085612924565b61239091906128d1565b90505b6015546001600160a01b038681169116148015906123be57506015546001600160a01b038581169116145b156124b957620f4240600f54600e54600d546123da919061290c565b6123e4919061290c565b60165460405163de1a815960e01b81526001600160a01b0389811660048301529091169063de1a81599060240160206040518083038186803b15801561242957600080fd5b505afa15801561243d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246191906128f3565b61246b9086612924565b6124759190612924565b61247f91906128d1565b9050606461248e84601e612924565b61249891906128d1565b8111156124b95760646124ac84601e612924565b6124b691906128d1565b90505b801561253457306000908152600360205260409020546124da90829061290c565b30600081815260036020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061252b9085815260200190565b60405180910390a35b61253e8184612897565b95945050505050565b3060009081526004602090815260408083206014546001600160a01b0316845290915290205482111561259d573060009081526004602090815260408083206014546001600160a01b0316845290915290208290555b6014546011546001600160a01b039182169163f305d719918491309187916000918291166125cd4261012c61290c565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c4016060604051808303818588803b15801561263557600080fd5b505af1158015612649573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061266e9190612a04565b5050505050565b600060208083528351808285015260005b818110156126a257858101830151858201604001528201612686565b818111156126b4576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146126df57600080fd5b50565b600080604083850312156126f557600080fd5b8235612700816126ca565b946020939093013593505050565b60008060006060848603121561272357600080fd5b833561272e816126ca565b9250602084013561273e816126ca565b929592945050506040919091013590565b60006020828403121561276157600080fd5b8135610aa2816126ca565b80151581146126df57600080fd5b60006020828403121561278c57600080fd5b8135610aa28161276c565b600080604083850312156127aa57600080fd5b50508035926020909101359150565b600080604083850312156127cc57600080fd5b82356127d7816126ca565b915060208301356127e78161276c565b809150509250929050565b60008060008060008060c0878903121561280b57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561284857600080fd5b8235612853816126ca565b915060208301356127e7816126ca565b6000806040838503121561287657600080fd5b82356127008161276c565b634e487b7160e01b600052601160045260246000fd5b6000828210156128a9576128a9612881565b500390565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b6000826128ee57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561290557600080fd5b5051919050565b6000821982111561291f5761291f612881565b500190565b600081600019048311821515161561293e5761293e612881565b500290565b60006020828403121561295557600080fd5b8151610aa28161276c565b60006020828403121561297257600080fd5b8151610aa2816126ca565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129e35784516001600160a01b0316835293830193918301916001016129be565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612a1957600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212207800a6f5f034cfb953e7e8893d0d04df645c7148f864445b80e5c5a1f0ab83fa64736f6c63430008090033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000c2b2c7c54e00008c6638c50645f3647d2ec87d52000000000000000000000000ff6d58e1d19e93c137697feec279a8a5eebf370c

-----Decoded View---------------
Arg [0] : _oracle (address): 0xC2b2C7c54E00008c6638C50645F3647d2Ec87D52
Arg [1] : _custodian (address): 0xFf6d58E1D19E93C137697FeEc279a8a5eEBF370C

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c2b2c7c54e00008c6638c50645f3647d2ec87d52
Arg [1] : 000000000000000000000000ff6d58e1d19e93c137697feec279a8a5eebf370c


Deployed Bytecode Sourcemap

2882:13352:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4809:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4809:55:0;;;;;;;;4882:36;;;;;;;;;;-1:-1:-1;4882:36:0;;;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;4882:36:0;196:187:1;6284:80:0;;;;;;;;;;-1:-1:-1;6356:5:0;;;;;;;;;;;;-1:-1:-1;;;6356:5:0;;;;6284:80;;;;;;;:::i;6706:216::-;;;;;;;;;;-1:-1:-1;6706:216:0;;;;;:::i;:::-;;:::i;6014:88::-;;;;;;;;;;-1:-1:-1;6087:12:0;;6014:88;;7278:341;;;;;;;;;;-1:-1:-1;7278:341:0;;;;;:::i;:::-;;:::i;15739:238::-;;;;;;;;;;;;;:::i;:::-;;4403:75;;;;;;;;;;-1:-1:-1;4403:75:0;;;;-1:-1:-1;;;;;4403:75:0;;;;;;-1:-1:-1;;;;;2071:32:1;;;2053:51;;2041:2;2026:18;4403:75:0;1907:203:1;1789:103:0;;;;;;;;;;-1:-1:-1;1789:103:0;;;;;:::i;:::-;1844:4;1879:5;-1:-1:-1;;;;;1868:16:0;;;1879:5;;1868:16;;1789:103;4160:36;;;;;;;;;;;;;;;;6108:80;;;;;;;;;;-1:-1:-1;6108:80:0;;3708:2;2509:36:1;;2497:2;2482:18;6108:80:0;2367:184:1;3462:44:0;;;;;;;;;;-1:-1:-1;3462:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4965:31;;;;;;;;;;;;;;;;3992:35;;;;;;;;;;;;;;;;3871:55;;;;;;;;;;;;;;;;4530:24;;;;;;;;;;-1:-1:-1;4530:24:0;;;;-1:-1:-1;;;;;4530:24:0;;;8153:234;;;;;;;;;;-1:-1:-1;8153:234:0;;;;;:::i;:::-;;:::i;6930:122::-;;;;;;;;;;-1:-1:-1;6930:122:0;;;;;:::i;:::-;;:::i;4205:123::-;;;;;;;;;;;;;;;;4078:31;;;;;;;;;;;;;;;;13129:358;;;;;;;;;;-1:-1:-1;13129:358:0;;;;;:::i;:::-;;:::i;13495:165::-;;;;;;;;;;-1:-1:-1;13495:165:0;;;;;:::i;:::-;;:::i;4772:30::-;;;;;;;;;;-1:-1:-1;4772:30:0;;;;-1:-1:-1;;;4772:30:0;;;;;;4744:19;;;;;;;;;;-1:-1:-1;4744:19:0;;;;-1:-1:-1;;;4744:19:0;;;;;;6454:105;;;;;;;;;;-1:-1:-1;6454:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6538:18:0;6520:7;6538:18;;;:9;:18;;;;;;;6454:105;4034:35;;;;;;;;;;;;;;;;15516:184;;;;;;;;;;-1:-1:-1;15516:184:0;;;;;:::i;:::-;;:::i;7878:88::-;;;;;;;;;;-1:-1:-1;7878:88:0;;;;;:::i;:::-;;:::i;4716:21::-;;;;;;;;;;-1:-1:-1;4716:21:0;;;;-1:-1:-1;;;;;4716:21:0;;;15274:234;;;;;;;;;;-1:-1:-1;15274:234:0;;;;;:::i;:::-;;:::i;13853:814::-;;;;;;;;;;-1:-1:-1;13853:814:0;;;;;:::i;:::-;;:::i;6370:78::-;;;;;;;;;;-1:-1:-1;6422:7:0;6440:5;-1:-1:-1;;;;;6440:5:0;6370:78;;15985:144;;;;;;;;;;-1:-1:-1;15985:144:0;;;;;:::i;:::-;;:::i;3513:48::-;;;;;;;;;;-1:-1:-1;3513:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3804:60;;;;;;;;;;;;;;;;15192:74;;;;;;;;;;;;;:::i;6194:84::-;;;;;;;;;;-1:-1:-1;6268:7:0;;;;;;;;;;;;-1:-1:-1;;;6268:7:0;;;;6194:84;;7974:171;;;;;;;;;;;;;:::i;4690:19::-;;;;;;;;;;-1:-1:-1;4690:19:0;;;;-1:-1:-1;;;;;4690:19:0;;;7060:156;;;;;;;;;;-1:-1:-1;7060:156:0;;;;;:::i;:::-;;:::i;4372:24::-;;;;;;;;;;-1:-1:-1;4372:24:0;;;;-1:-1:-1;;;;;4372:24:0;;;4116:37;;;;;;;;;;;;;;;;7627:243;;;;;;;;;;;;;:::i;4925:33::-;;;;;;;;;;-1:-1:-1;4925:33:0;;;;;;;-1:-1:-1;;;;;4925:33:0;;;3956:29;;;;;;;;;;;;;;;;6565:133;;;;;;;;;;-1:-1:-1;6565:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6667:19:0;;;6649:7;6667:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6565:133;14899:285;;;;;;;;;;-1:-1:-1;14899:285:0;;;;;:::i;:::-;;:::i;14675:216::-;;;;;;;;;;-1:-1:-1;14675:216:0;;;;;:::i;:::-;;:::i;1900:242::-;;;;;;;;;;-1:-1:-1;1900:242:0;;;;;:::i;:::-;;:::i;16137:94::-;;;;;;;;;;-1:-1:-1;16218:4:0;16137:94;;13668:177;;;;;;;;;;-1:-1:-1;13668:177:0;;;;;:::i;:::-;;:::i;4659:24::-;;;;;;;;;;-1:-1:-1;4659:24:0;;;;-1:-1:-1;;;;;4659:24:0;;;6706:216;6810:10;6781:4;6798:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6798:32:0;;;;;;;;;;:41;;;6855:37;6781:4;;6798:32;;6855:37;;;;6833:6;160:25:1;;148:2;133:18;;14:177;6855:37:0;;;;;;;;-1:-1:-1;6910:4:0;6706:216;;;;:::o;7278:341::-;-1:-1:-1;;;;;7398:19:0;;7378:4;7398:19;;;:11;:19;;;;;;;;7418:10;7398:31;;;;;;;;-1:-1:-1;;7398:52:0;7395:159;;-1:-1:-1;;;;;7500:19:0;;;;;;:11;:19;;;;;;;;7520:10;7500:31;;;;;;;;:42;;7535:6;;7500:42;:::i;:::-;-1:-1:-1;;;;;7466:19:0;;;;;;:11;:19;;;;;;;;7486:10;7466:31;;;;;;;:76;7395:159;7571:40;7585:6;7593:9;7604:6;7571:13;:40::i;:::-;7564:47;;7278:341;;;;;;:::o;15739:238::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;;;;;;;;;15867:9:::1;::::0;15859:47:::1;::::0;15827:21:::1;::::0;-1:-1:-1;;;;;15867:9:0::1;::::0;15859:47;::::1;;;::::0;15827:21;;15798:26:::1;15859:47:::0;15798:26;15859:47;15827:21;15867:9;15859:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;15959:9:0::1;::::0;15922:47:::1;::::0;;5799:25:1;;;-1:-1:-1;;;;;15959:9:0;;::::1;5855:2:1::0;5840:18;;5833:60;15922:47:0::1;::::0;5772:18:1;15922:47:0::1;;;;;;;15787:190;15739:238::o:0;8153:234::-;8232:18;;;;;-1:-1:-1;;;;;8232:18:0;8254:10;8232:32;8224:63;;;;-1:-1:-1;;;8224:63:0;;6106:2:1;8224:63:0;;;6088:21:1;6145:2;6125:18;;;6118:30;-1:-1:-1;;;6164:18:1;;;6157:48;6222:18;;8224:63:0;5904:342:1;8224:63:0;8298:16;:36;;-1:-1:-1;;8298:36:0;;;;;;;;;;8364:15;8345:16;:34;8153:234::o;6930:122::-;6985:4;7009:35;7017:7;-1:-1:-1;;7009:7:0;:35::i;:::-;7002:42;6930:122;-1:-1:-1;;6930:122:0:o;13129:358::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;13274:4:::1;13259:12;;:19;;;;:::i;:::-;13240:15;:38;;:76;;;;;13312:4;13297:12;;:19;;;;:::i;:::-;13282:11;:34;;13240:76;13232:125;;;::::0;-1:-1:-1;;;13232:125:0;;6675:2:1;13232:125:0::1;::::0;::::1;6657:21:1::0;6714:2;6694:18;;;6687:30;6753:34;6733:18;;;6726:62;-1:-1:-1;;;6804:18:1;;;6797:34;6848:19;;13232:125:0::1;6473:400:1::0;13232:125:0::1;13368:14;:32:::0;;;13411:10:::1;:24:::0;;;13451:28:::1;::::0;160:25:1;;;13451:28:0::1;::::0;148:2:1;133:18;13451:28:0::1;;;;;;;;13129:358:::0;;:::o;13495:165::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13578:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;;:28;;-1:-1:-1;;13578:28:0::1;::::0;::::1;;::::0;;::::1;::::0;;;13622:30;;7046:51:1;;;7113:18;;;7106:50;13622:30:0::1;::::0;7019:18:1;13622:30:0::1;6878:284:1::0;15516:184:0;15626:6;;15619:32;;-1:-1:-1;;;15619:32:0;;-1:-1:-1;;;;;2071:32:1;;;15619::0;;;2053:51:1;15578:7:0;;;;15655:8;;15626:6;;;;15619:23;;2026:18:1;;15619:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;;;:::i;7878:88::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;7942:6:::1;:16:::0;;-1:-1:-1;;;;;;7942:16:0::1;-1:-1:-1::0;;;;;7942:16:0;;;::::1;::::0;;;::::1;::::0;;7878:88::o;15274:234::-;15336:7;15356:18;15468:3;15448:16;;15429;;15416:10;;:29;;;;:::i;:::-;:48;;;;:::i;:::-;15385:6;;15378:34;;-1:-1:-1;;;15378:34:0;;-1:-1:-1;;;;;2071:32:1;;;15378:34:0;;;2053:51:1;15385:6:0;;;;15378:25;;2026:18:1;;15378:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:87;;;;:::i;13853:814::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;14127:3:::1;14107:16:::0;14075:29:::1;14088:16:::0;14075:10;:29:::1;:::i;:::-;:48;;;;:::i;:::-;:55;;:117;;;;-1:-1:-1::0;14189:3:0::1;14168:17:::0;14134:31:::1;14148:17:::0;14134:11;:31:::1;:::i;:::-;:51;;;;:::i;:::-;:58;;14075:117;14067:174;;;::::0;-1:-1:-1;;;14067:174:0;;7864:2:1;14067:174:0::1;::::0;::::1;7846:21:1::0;7903:2;7883:18;;;7876:30;7942:34;7922:18;;;7915:62;-1:-1:-1;;;7993:18:1;;;7986:42;8045:19;;14067:174:0::1;7662:408:1::0;14067:174:0::1;14254:9;:22:::0;;;14287:15:::1;:34:::0;;;14332:15:::1;:34:::0;;;14379:10:::1;:24:::0;;;14414:16:::1;:36:::0;;;14461:16:::1;:36:::0;;;14480:17;14350:16;14433:17;14305:16;14522:22:::1;14392:11:::0;14266:10;14522:22:::1;:::i;:::-;:40;;;;:::i;:::-;:59;;;;:::i;:::-;:77;;;;:::i;:::-;:96;;;;:::i;:::-;14510:9;:108:::0;14649:9:::1;::::0;14641:18:::1;::::0;160:25:1;;;14641:18:0::1;::::0;148:2:1;133:18;14641::0::1;;;;;;;13853:814:::0;;;;;;:::o;15985:144::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;16075:5:::1;::::0;16082:38:::1;::::0;-1:-1:-1;;;16082:38:0;;16114:4:::1;16082:38;::::0;::::1;2053:51:1::0;-1:-1:-1;;;;;16052:22:0;;::::1;::::0;::::1;::::0;16075:5;::::1;::::0;16052:22;;16082:23:::1;::::0;2026:18:1;;16082:38:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16052:69;::::0;-1:-1:-1;;;;;;16052:69:0::1;::::0;;;;;;-1:-1:-1;;;;;8267:32:1;;;16052:69:0::1;::::0;::::1;8249:51:1::0;8316:18;;;8309:34;8222:18;;16052:69:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15985:144:::0;:::o;15192:74::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;15246:10:::1;:8;:10::i;:::-;15192:74::o:0;7974:171::-;8038:18;;;;;-1:-1:-1;;;;;8038:18:0;8060:10;8038:32;8030:63;;;;-1:-1:-1;;;8030:63:0;;6106:2:1;8030:63:0;;;6088:21:1;6145:2;6125:18;;;6118:30;-1:-1:-1;;;6164:18:1;;;6157:48;6222:18;;8030:63:0;5904:342:1;8030:63:0;8104:18;:33;;-1:-1:-1;;;;;;8104:33:0;;;7974:171::o;7060:156::-;7140:4;7164:44;7178:10;7190:9;7201:6;7164:13;:44::i;7627:243::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;7693:6:::1;;;;;;;;;-1:-1:-1::0;;;;;7693:6:0::1;-1:-1:-1::0;;;;;7693:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7681:37:0::1;;7727:4;7734:6;;;;;;;;;-1:-1:-1::0;;;;;7734:6:0::1;-1:-1:-1::0;;;;;7734:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7681:67;::::0;-1:-1:-1;;;;;;7681:67:0::1;::::0;;;;;;-1:-1:-1;;;;;9090:15:1;;;7681:67:0::1;::::0;::::1;9072:34:1::0;9142:15;;9122:18;;;9115:43;9007:18;;7681:67:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7674:4;:74:::0;;-1:-1:-1;;;;;;7674:74:0::1;-1:-1:-1::0;;;;;7674:74:0;;;::::1;::::0;;::::1;::::0;;7759:104:::1;;7803:6;;;;;;;;;-1:-1:-1::0;;;;;7803:6:0::1;-1:-1:-1::0;;;;;7803:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7791:40:0::1;;7840:4;7847:6;;;;;;;;;-1:-1:-1::0;;;;;7847:6:0::1;-1:-1:-1::0;;;;;7847:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7791:70;::::0;-1:-1:-1;;;;;;7791:70:0::1;::::0;;;;;;-1:-1:-1;;;;;9090:15:1;;;7791:70:0::1;::::0;::::1;9072:34:1::0;9142:15;;9122:18;;;9115:43;9007:18;;7791:70:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7784:4;:77:::0;;-1:-1:-1;;;;;;7784:77:0::1;-1:-1:-1::0;;;;;7784:77:0;;;::::1;::::0;;;::::1;::::0;;7627:243::o;14899:285::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;15009:1:::1;14998:7;:12;;14990:56;;;::::0;-1:-1:-1;;;14990:56:0;;9371:2:1;14990:56:0::1;::::0;::::1;9353:21:1::0;9410:2;9390:18;;;9383:30;9449:33;9429:18;;;9422:61;9500:18;;14990:56:0::1;9169:355:1::0;14990:56:0::1;15057:11;:22:::0;;-1:-1:-1;;;;15057:22:0::1;-1:-1:-1::0;;;15057:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;15090:13:::1;:23:::0;;;15129:47:::1;::::0;;15057:22:::1;15149:11:::0;;;::::1;::::0;;;::::1;9722:14:1::0;9715:22;9697:41;;9769:2;9754:18;;9747:34;;;15129:47:0::1;::::0;9670:18:1;15129:47:0::1;9529:258:1::0;14675:216:0;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;14775:9:::1;:22:::0;;-1:-1:-1;;;;;14775:22:0;;::::1;-1:-1:-1::0;;;;;;14775:22:0;;::::1;::::0;::::1;::::0;;;14808:15:::1;:34:::0;;;;::::1;::::0;;;::::1;;::::0;;14858:25:::1;::::0;2053:51:1;;;14858:25:0::1;::::0;2041:2:1;2026:18;14858:25:0::1;1907:203:1::0;1900:242:0;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1989:22:0;::::1;1981:73;;;::::0;-1:-1:-1;;;1981:73:0;;9994:2:1;1981:73:0::1;::::0;::::1;9976:21:1::0;10033:2;10013:18;;;10006:30;10072:34;10052:18;;;10045:62;-1:-1:-1;;;10123:18:1;;;10116:36;10169:19;;1981:73:0::1;9792:402:1::0;1981:73:0::1;2091:5;::::0;;2070:37:::1;::::0;-1:-1:-1;;;;;2070:37:0;;::::1;::::0;2091:5;::::1;::::0;2070:37:::1;::::0;::::1;2118:5;:16:::0;;-1:-1:-1;;;;;;2118:16:0::1;-1:-1:-1::0;;;;;2118:16:0;;;::::1;::::0;;;::::1;::::0;;1900:242::o;13668:177::-;1741:5;;-1:-1:-1;;;;;1741:5:0;1727:10;:19;1719:41;;;;-1:-1:-1;;;1719:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13755:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;;;;:32;;-1:-1:-1;;13755:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;13803:34;;7046:51:1;;;7113:18;;;7106:50;13803:34:0::1;::::0;7019:18:1;13803:34:0::1;6878:284:1::0;8395:1531:0;8509:6;;8487:4;;8509:6;;8506:62;;;8525:41;8540:6;8548:9;8559:6;8525:14;:41::i;:::-;8518:48;;;;8506:62;-1:-1:-1;;;;;8604:19:0;;;;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;8627:22:0;;;;;;:11;:22;;;;;;;;8604:45;:171;;;-1:-1:-1;8653:16:0;;;;:122;;;;-1:-1:-1;8681:6:0;;8674:47;;-1:-1:-1;;;8674:47:0;;-1:-1:-1;;;;;9090:15:1;;;8674:47:0;;;9072:34:1;9142:15;;;9122:18;;;9115:43;8681:6:0;;;;8674:28;;9007:18:1;;8674:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:100;;;;8758:16;;8739:15;:35;;8674:100;8596:211;;;;-1:-1:-1;;;8596:211:0;;10401:2:1;8596:211:0;;;10383:21:1;10440:2;10420:18;;;10413:30;10479:29;10459:18;;;10452:57;10526:18;;8596:211:0;10199:351:1;8596:211:0;8875:5;;-1:-1:-1;;;;;8865:15:0;;;8875:5;;8865:15;;;;:44;;-1:-1:-1;8894:15:0;;-1:-1:-1;;;;;8884:25:0;;;8894:15;;8884:25;;8865:44;:67;;;;-1:-1:-1;8923:9:0;;-1:-1:-1;;;;;8913:19:0;;;8923:9;;8913:19;;8865:67;:89;;;;-1:-1:-1;8949:5:0;;-1:-1:-1;;;;;8936:18:0;;;8949:5;;8936:18;;8865:89;:110;;;;-1:-1:-1;;;;;;8958:17:0;;4593:42;8958:17;;8865:110;8861:516;;;9009:4;;-1:-1:-1;;;;;8996:17:0;;;9009:4;;8996:17;8992:164;;;9060:6;;9053:31;;-1:-1:-1;;;9053:31:0;;-1:-1:-1;;;;;2071:32:1;;;9053:31:0;;;2053:51:1;9060:6:0;;;;9053:23;;2026:18:1;;9053:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9042:6;:43;;:76;;;;9114:4;9099:12;;:19;;;;:::i;:::-;9089:6;:29;;9042:76;9034:120;;;;-1:-1:-1;;;9034:120:0;;10757:2:1;9034:120:0;;;10739:21:1;10796:2;10776:18;;;10769:30;10835:33;10815:18;;;10808:61;10886:18;;9034:120:0;10555:355:1;9034:120:0;9188:4;;-1:-1:-1;;;;;9175:17:0;;;9188:4;;9175:17;9171:195;;-1:-1:-1;;;;;9221:26:0;;;;;;:15;:26;;;;;;;;;:103;;;9262:10;;9252:6;:20;;:71;;;;-1:-1:-1;9309:14:0;;-1:-1:-1;;;;;9276:20:0;;;;;;:9;:20;;;;;;:29;;9299:6;;9276:29;:::i;:::-;:47;;9252:71;9213:151;;;;-1:-1:-1;;;9213:151:0;;11117:2:1;9213:151:0;;;11099:21:1;11156:2;11136:18;;;11129:30;11195:34;11175:18;;;11168:62;-1:-1:-1;;;11246:18:1;;;11239:33;11289:19;;9213:151:0;10915:399:1;9213:151:0;9419:25;9434:9;9419:14;:25::i;:::-;9416:42;;;9446:10;:8;:10::i;:::-;-1:-1:-1;;;;;9490:17:0;;;;;;:9;:17;;;;;;:26;;9510:6;;9490:26;:::i;:::-;-1:-1:-1;;;;;9470:17:0;;;;;;:9;:17;;;;;;;;:46;;;;10358:11;:19;;;;;;;;10357:20;9591:22;:51;;;-1:-1:-1;;;;;;10358:19:0;;10333:4;10358:19;;;:11;:19;;;;;;;;10357:20;9617:25;9591:51;9590:99;;9655:34;9663:6;9671:9;9682:6;9655:7;:34::i;:::-;9590:99;;;9646:6;9590:99;-1:-1:-1;;;;;9723:20:0;;;;;;:9;:20;;;;;;9565:124;;-1:-1:-1;9723:39:0;;9565:124;;9723:39;:::i;:::-;-1:-1:-1;;;;;9700:20:0;;;;;;;:9;:20;;;;;;;:62;;;;9792:6;;9785:48;;-1:-1:-1;;;9785:48:0;;11577:15:1;;;9785:48:0;;;11559:34:1;11609:18;;;11602:43;;;;11661:18;;;11654:34;;;9792:6:0;;;9785:21;;11494:18:1;;9785:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9775:7;;:58;;;;;;;;;;;;;;;;;;9868:9;-1:-1:-1;;;;;9851:43:0;9860:6;-1:-1:-1;;;;;9851:43:0;;9879:14;9851:43;;;;160:25:1;;148:2;133:18;;14:177;9851:43:0;;;;;;;;-1:-1:-1;9914:4:0;;8395:1531;-1:-1:-1;;;;8395:1531:0:o;11767:1329::-;5045:6;:13;;-1:-1:-1;;5045:13:0;5054:4;5045:13;;;11857:7:::1;::::0;5045:6;;-1:-1:-1;;;11857:7:0;::::1;5045:13:::0;11857:7:::1;11852:112;;11952:9;::::0;11948:13:::1;::::0;:1:::1;:13;:::i;:::-;11927:16;;11909:15;;:34;;;;:::i;:::-;11899:4;6520:7:::0;6538:18;;;:9;:18;;;;;;11881:63:::1;;;;:::i;:::-;:81;;;;:::i;:::-;11867:95;;11852:112;12015:4;11974:20;6538:18:::0;;;:9;:18;;;;;;11997:38:::1;::::0;12024:11;;11997:38:::1;:::i;:::-;12072:16;::::0;;12086:1:::1;12072:16:::0;;;;;::::1;::::0;;11974:61;;-1:-1:-1;12048:21:0::1;::::0;12072:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12072:16:0::1;12048:40;;12117:4;12099;12104:1;12099:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12099:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12143:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;12143:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;12099:7;;12143:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12133:4;12138:1;12133:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12133:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12169:6:::1;::::0;:112:::1;::::0;-1:-1:-1;;;12169:112:0;;:6;::::1;::::0;:57:::1;::::0;:112:::1;::::0;12227:12;;12169:6:::1;::::0;12244:4;;12258::::1;::::0;12265:15:::1;::::0;12169:112:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12312:1;12298:11;:15;12294:190;;;12330:142;12343:11;12454:16;;12436:15;;12424:9;;12420:1;:13;;;;:::i;:::-;:31;;;;:::i;:::-;:50;;;;:::i;:::-;12399:16;;12381:15;;:34;;;;:::i;:::-;12356:60;::::0;:21:::1;:60;:::i;:::-;:115;;;;:::i;:::-;12330:12;:142::i;:::-;12501:7;::::0;-1:-1:-1;;;12501:7:0;::::1;;;12496:593;;12527:20;12645:16;;12627:15;;12614:10;;12602:9;;:22;;;;:::i;:::-;:40;;;;:::i;:::-;:59;;;;:::i;:::-;12587:10;;12575:9;;:22;;;;:::i;:::-;12550:48;::::0;:21:::1;:48;:::i;:::-;:112;;;;:::i;:::-;12527:135:::0;-1:-1:-1;12677:26:0::1;12706:36;12527:135:::0;12706:21:::1;:36;:::i;:::-;12786:9;::::0;12778:60:::1;::::0;12677:65;;-1:-1:-1;12760:13:0::1;::::0;-1:-1:-1;;;;;12786:9:0;;::::1;::::0;12828:5:::1;::::0;12809:12;;12760:13;12778:60;12760:13;12778:60;12809:12;12786:9;12828:5;12778:60:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;12880:15:0::1;::::0;12872:72:::1;::::0;12759:79;;-1:-1:-1;12854:13:0::1;::::0;-1:-1:-1;;;;;12880:15:0;;::::1;::::0;12934:5:::1;::::0;12909:18;;12854:13;12872:72;12854:13;12872:72;12909:18;12880:15;12934:5;12872:72:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12853:91;;;12969:8;:20;;;;;12981:8;12969:20;12961:36;;;::::0;-1:-1:-1;;;12961:36:0;;13360:2:1;12961:36:0::1;::::0;::::1;13342:21:1::0;13399:1;13379:18;;;13372:29;-1:-1:-1;;;13417:18:1;;;13410:33;13460:18;;12961:36:0::1;13158:326:1::0;12961:36:0::1;12510:499;;;;12496:593;;;13038:6;::::0;13030:47:::1;::::0;-1:-1:-1;;;;;13038:6:0;;::::1;::::0;13055:21:::1;13030:47:::0;::::1;;;::::0;13038:6:::1;13030:47:::0;13038:6;13030:47;13055:21;13038:6;13030:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12496:593;-1:-1:-1::0;;5063:6:0;:14;;-1:-1:-1;;5063:14:0;;;-1:-1:-1;11767:1329:0:o;9938:300::-;-1:-1:-1;;;;;10068:17:0;;10031:4;10068:17;;;:9;:17;;;;;;:26;;10088:6;;10068:26;:::i;:::-;-1:-1:-1;;;;;10048:17:0;;;;;;;:9;:17;;;;;;:46;;;;10128:20;;;;;;;:29;;10151:6;;10128:29;:::i;:::-;-1:-1:-1;;;;;10105:20:0;;;;;;;:9;:20;;;;;;;:52;;;;10173:35;;;;;;;;;;10201:6;160:25:1;;148:2;133:18;;14:177;10173:35:0;;;;;;;;-1:-1:-1;10226:4:0;9938:300;;;;;:::o;11170:235::-;11274:4;;11236;;-1:-1:-1;;;;;11261:17:0;;;11274:4;;11261:17;:28;;;;-1:-1:-1;11283:6:0;;;;11282:7;11261:28;:43;;;;-1:-1:-1;11293:11:0;;-1:-1:-1;;;11293:11:0;;;;11261:43;:135;;;;-1:-1:-1;11337:13:0;;11327:4;11309:24;;;;:9;:24;;;;;;:41;;;:86;;-1:-1:-1;11355:7:0;;-1:-1:-1;;;11355:7:0;;;;:39;;;;-1:-1:-1;11384:4:0;11393:1;11366:24;;;:9;:24;;;;;;:28;;11253:144;11170:235;-1:-1:-1;;11170:235:0:o;10393:769::-;10552:4;;10479:7;;;;-1:-1:-1;;;;;10542:14:0;;;10552:4;;10542:14;:35;;;;-1:-1:-1;10573:4:0;;-1:-1:-1;;;;;10560:17:0;;;10573:4;;10560:17;;10542:35;10538:133;;;10665:4;10646:15;;10628;;10616:9;;:27;;;;:::i;:::-;:45;;;;:::i;:::-;10606:56;;:6;:56;:::i;:::-;:63;;;;:::i;:::-;10594:75;;10538:133;10698:4;;-1:-1:-1;;;;;10688:14:0;;;10698:4;;10688:14;;;;:35;;-1:-1:-1;10719:4:0;;-1:-1:-1;;;;;10706:17:0;;;10719:4;;10706:17;10688:35;10684:256;;;10850:7;10830:16;;10811;;10798:10;;:29;;;;:::i;:::-;:48;;;;:::i;:::-;10768:6;;10761:33;;-1:-1:-1;;;10761:33:0;;-1:-1:-1;;;;;2071:32:1;;;10761:33:0;;;2053:51:1;10768:6:0;;;;10761:25;;2026:18:1;;10761:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10752:42;;:6;:42;:::i;:::-;:95;;;;:::i;:::-;:105;;;;:::i;:::-;10740:117;-1:-1:-1;10902:3:0;10888:11;10893:6;10888:2;:11;:::i;:::-;:17;;;;:::i;:::-;10876:9;:29;10872:67;;;10934:3;10920:11;10925:6;10920:2;:11;:::i;:::-;:17;;;;:::i;:::-;10908:29;;10872:67;10956:13;;10952:163;;11031:4;11013:24;;;;:9;:24;;;;;;:38;;11041:9;;11013:38;:::i;:::-;11004:4;10986:24;;;;:9;:24;;;;;;;:65;;;;11071:42;;-1:-1:-1;;;;;11071:42:0;;;;;;;11103:9;160:25:1;;148:2;133:18;;14:177;11071:42:0;;;;;;;;10952:163;11134:20;11144:9;11134:6;:20;:::i;:::-;11127:27;10393:769;-1:-1:-1;;;;;10393:769:0:o;11413:346::-;11521:4;11501:26;;;;:11;:26;;;;;;;;11536:6;;-1:-1:-1;;;;;11536:6:0;11501:43;;;;;;;;:59;-1:-1:-1;11498:125:0;;;11582:4;11562:26;;;;:11;:26;;;;;;;;11597:6;;-1:-1:-1;;;;;11597:6:0;11562:43;;;;;;;:59;;;11498:125;11633:6;;11712:9;;-1:-1:-1;;;;;11633:6:0;;;;:22;;11663:11;;11684:4;;11691:13;;11633:6;;;;11712:9;11723:27;:15;11741:9;11723:27;:::i;:::-;11633:118;;;;;;-1:-1:-1;;;;;;11633:118:0;;;-1:-1:-1;;;;;13848:15:1;;;11633:118:0;;;13830:34:1;13880:18;;;13873:34;;;;13923:18;;;13916:34;;;;13966:18;;;13959:34;;;;14030:15;;;14009:19;;;14002:44;14062:19;;;14055:35;;;;13764:19;;11633:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11413:346;;:::o;388:597:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;826:6;823:1;820:13;817:91;;;896:1;891:2;882:6;871:9;867:22;863:31;856:42;817:91;-1:-1:-1;969:2:1;948:15;-1:-1:-1;;944:29:1;929:45;;;;976:2;925:54;;388:597;-1:-1:-1;;;388:597:1:o;990:131::-;-1:-1:-1;;;;;1065:31:1;;1055:42;;1045:70;;1111:1;1108;1101:12;1045:70;990:131;:::o;1126:315::-;1194:6;1202;1255:2;1243:9;1234:7;1230:23;1226:32;1223:52;;;1271:1;1268;1261:12;1223:52;1310:9;1297:23;1329:31;1354:5;1329:31;:::i;:::-;1379:5;1431:2;1416:18;;;;1403:32;;-1:-1:-1;;;1126:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2115:247::-;2174:6;2227:2;2215:9;2206:7;2202:23;2198:32;2195:52;;;2243:1;2240;2233:12;2195:52;2282:9;2269:23;2301:31;2326:5;2301:31;:::i;2556:118::-;2642:5;2635:13;2628:21;2621:5;2618:32;2608:60;;2664:1;2661;2654:12;2679:241;2735:6;2788:2;2776:9;2767:7;2763:23;2759:32;2756:52;;;2804:1;2801;2794:12;2756:52;2843:9;2830:23;2862:28;2884:5;2862:28;:::i;2925:248::-;2993:6;3001;3054:2;3042:9;3033:7;3029:23;3025:32;3022:52;;;3070:1;3067;3060:12;3022:52;-1:-1:-1;;3093:23:1;;;3163:2;3148:18;;;3135:32;;-1:-1:-1;2925:248:1:o;3178:382::-;3243:6;3251;3304:2;3292:9;3283:7;3279:23;3275:32;3272:52;;;3320:1;3317;3310:12;3272:52;3359:9;3346:23;3378:31;3403:5;3378:31;:::i;:::-;3428:5;-1:-1:-1;3485:2:1;3470:18;;3457:32;3498:30;3457:32;3498:30;:::i;:::-;3547:7;3537:17;;;3178:382;;;;;:::o;3565:523::-;3669:6;3677;3685;3693;3701;3709;3762:3;3750:9;3741:7;3737:23;3733:33;3730:53;;;3779:1;3776;3769:12;3730:53;-1:-1:-1;;3802:23:1;;;3872:2;3857:18;;3844:32;;-1:-1:-1;3923:2:1;3908:18;;3895:32;;3974:2;3959:18;;3946:32;;-1:-1:-1;4025:3:1;4010:19;;3997:33;;-1:-1:-1;4077:3:1;4062:19;4049:33;;-1:-1:-1;3565:523:1;-1:-1:-1;3565:523:1:o;4093:388::-;4161:6;4169;4222:2;4210:9;4201:7;4197:23;4193:32;4190:52;;;4238:1;4235;4228:12;4190:52;4277:9;4264:23;4296:31;4321:5;4296:31;:::i;:::-;4346:5;-1:-1:-1;4403:2:1;4388:18;;4375:32;4416:33;4375:32;4416:33;:::i;4486:309::-;4551:6;4559;4612:2;4600:9;4591:7;4587:23;4583:32;4580:52;;;4628:1;4625;4618:12;4580:52;4667:9;4654:23;4686:28;4708:5;4686:28;:::i;5026:127::-;5087:10;5082:3;5078:20;5075:1;5068:31;5118:4;5115:1;5108:15;5142:4;5139:1;5132:15;5158:125;5198:4;5226:1;5223;5220:8;5217:34;;;5231:18;;:::i;:::-;-1:-1:-1;5268:9:1;;5158:125::o;5288:332::-;5490:2;5472:21;;;5529:1;5509:18;;;5502:29;-1:-1:-1;;;5562:2:1;5547:18;;5540:39;5611:2;5596:18;;5288:332::o;6251:217::-;6291:1;6317;6307:132;;6361:10;6356:3;6352:20;6349:1;6342:31;6396:4;6393:1;6386:15;6424:4;6421:1;6414:15;6307:132;-1:-1:-1;6453:9:1;;6251:217::o;7167:184::-;7237:6;7290:2;7278:9;7269:7;7265:23;7261:32;7258:52;;;7306:1;7303;7296:12;7258:52;-1:-1:-1;7329:16:1;;7167:184;-1:-1:-1;7167:184:1:o;7356:128::-;7396:3;7427:1;7423:6;7420:1;7417:13;7414:39;;;7433:18;;:::i;:::-;-1:-1:-1;7469:9:1;;7356:128::o;7489:168::-;7529:7;7595:1;7591;7587:6;7583:14;7580:1;7577:21;7572:1;7565:9;7558:17;7554:45;7551:71;;;7602:18;;:::i;:::-;-1:-1:-1;7642:9:1;;7489:168::o;8354:245::-;8421:6;8474:2;8462:9;8453:7;8449:23;8445:32;8442:52;;;8490:1;8487;8480:12;8442:52;8522:9;8516:16;8541:28;8563:5;8541:28;:::i;8604:251::-;8674:6;8727:2;8715:9;8706:7;8702:23;8698:32;8695:52;;;8743:1;8740;8733:12;8695:52;8775:9;8769:16;8794:31;8819:5;8794:31;:::i;11831:127::-;11892:10;11887:3;11883:20;11880:1;11873:31;11923:4;11920:1;11913:15;11947:4;11944:1;11937:15;11963:980;12225:4;12273:3;12262:9;12258:19;12304:6;12293:9;12286:25;12330:2;12368:6;12363:2;12352:9;12348:18;12341:34;12411:3;12406:2;12395:9;12391:18;12384:31;12435:6;12470;12464:13;12501:6;12493;12486:22;12539:3;12528:9;12524:19;12517:26;;12578:2;12570:6;12566:15;12552:29;;12599:1;12609:195;12623:6;12620:1;12617:13;12609:195;;;12688:13;;-1:-1:-1;;;;;12684:39:1;12672:52;;12779:15;;;;12744:12;;;;12720:1;12638:9;12609:195;;;-1:-1:-1;;;;;;;12860:32:1;;;;12855:2;12840:18;;12833:60;-1:-1:-1;;;12924:3:1;12909:19;12902:35;12821:3;11963:980;-1:-1:-1;;;11963:980:1:o;14101:306::-;14189:6;14197;14205;14258:2;14246:9;14237:7;14233:23;14229:32;14226:52;;;14274:1;14271;14264:12;14226:52;14303:9;14297:16;14287:26;;14353:2;14342:9;14338:18;14332:25;14322:35;;14397:2;14386:9;14382:18;14376:25;14366:35;;14101:306;;;;;:::o

Swarm Source

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