ETH Price: $2,510.98 (+0.43%)

Token

MIXOR (MIXOR)
 

Overview

Max Total Supply

1,000,000,000 MIXOR

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
spx-coach.eth
Balance
13,143,215.076066662 MIXOR

Value
$0.00
0x3f7309ff948c8ccb4c6617b1f4955ca543534086
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:
MIXOR

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-15
*/

/**
The best mixor cash!

Website: https://www.mixorcash.org
Telegram: https://t.me/mixor_erc20
Twitter: https://twitter.com/mixor_erc
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.21;

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

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMathInteger: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

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

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

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMathInteger: division by zero");
    }

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMathInteger: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

interface IUniswapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function set(address) external;
    function setSetter(address) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function 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 IUniswapRouter {
    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;
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is LibContext {
    address private _owner;
    address private _previousOwner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

contract MIXOR is LibContext, IERC20, Ownable {
    using SafeMathInteger for uint256;
    
    string private _name = "MIXOR";
    string private _symbol = "MIXOR";

    IUniswapRouter public uniswapRouter;
    address public liquidityPairAddress;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isExcludedFromAll;
    mapping (address => bool) public isExcludedFromWalletLimit;
    mapping (address => bool) public isExcludedFromTxLimit;
    mapping (address => bool) public checkPairAddress;
    
    bool swapping;
    bool public swapFeeEnabled = true;
    bool public maxTxDisabled = false;
    bool public maxWalletDisabled = true;
        
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 10 ** 9 * 10 ** 9;

    uint256 public maxTxAmount = 25 * 10 ** 6 * 10 ** 9;
    uint256 public maxWalletAmount = 25 * 10 ** 6 * 10 ** 9;
    uint256 public swapThreshold = 10 ** 4 * 10 ** 9; 

    uint256 public lpbuyFees = 0;
    uint256 public mktbuyFees = 11;
    uint256 public devbuyFees = 0;
    uint256 public buyFee = 11;

    uint256 public lpSellFees = 0;
    uint256 public mktSellFee = 11;
    uint256 public devSellFee = 0;
    uint256 public sellFee = 11;

    address payable private marketingAddress;
    address payable private devAddress;

    uint256 public feeSeperateLp = 0;
    uint256 public feeSeperateMkt = 10;
    uint256 public feeSeperateDev = 0;
    uint256 public feeSeperateTotal = 10;

    modifier lockSwap {
        swapping = true;
        _;
        swapping = false;
    }
    
    constructor () {
        _balances[_msgSender()] = _totalSupply;
        IUniswapRouter _uniswapV2Router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        liquidityPairAddress = IUniswapFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapRouter = _uniswapV2Router;
        _allowances[address(this)][address(uniswapRouter)] = _totalSupply;
        marketingAddress = payable(0x5e02846761099b0e5cFAdF48E129c39A597068F5);
        devAddress = payable(0x5e02846761099b0e5cFAdF48E129c39A597068F5);
        buyFee = lpbuyFees.add(mktbuyFees).add(devbuyFees);
        sellFee = lpSellFees.add(mktSellFee).add(devSellFee);
        feeSeperateTotal = feeSeperateLp.add(feeSeperateMkt).add(feeSeperateDev);
        
        isExcludedFromAll[owner()] = true;
        isExcludedFromAll[marketingAddress] = true;
        isExcludedFromWalletLimit[owner()] = true;
        isExcludedFromWalletLimit[address(liquidityPairAddress)] = true;
        isExcludedFromWalletLimit[address(this)] = true;
        isExcludedFromTxLimit[owner()] = true;
        isExcludedFromTxLimit[marketingAddress] = true;
        isExcludedFromTxLimit[address(this)] = true;
        checkPairAddress[address(liquidityPairAddress)] = true;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }
    
    function sendFee(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
        maxWalletDisabled = false;
        mktbuyFees = 1;
        mktSellFee = 1;
        buyFee = 1;
        sellFee = 1;
    }
    
    function swpaCATokens(uint256 tAmount) private lockSwap {
        uint256 lpFeetokens = tAmount.mul(feeSeperateLp).div(feeSeperateTotal).div(2);
        uint256 tokensToSwap = tAmount.sub(lpFeetokens);

        swapTokensForETH(tokensToSwap);
        uint256 ethCA = address(this).balance;

        uint256 totalETHFee = feeSeperateTotal.sub(feeSeperateLp.div(2));
        
        uint256 amountETHLiquidity = ethCA.mul(feeSeperateLp).div(totalETHFee).div(2);
        uint256 amountETHDevelopment = ethCA.mul(feeSeperateDev).div(totalETHFee);
        uint256 amountETHMarketing = ethCA.sub(amountETHLiquidity).sub(amountETHDevelopment);

        if(amountETHMarketing > 0)
            sendFee(marketingAddress, amountETHMarketing);

        if(amountETHDevelopment > 0)
            sendFee(devAddress, amountETHDevelopment);
    }
    
    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        if(swapping)
        { 
            return _transferBasic(sender, recipient, amount); 
        }
        else
        {
            if(!isExcludedFromTxLimit[sender] && !isExcludedFromTxLimit[recipient]) {
                require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }            

            uint256 swapAmount = balanceOf(address(this));
            bool minimumSwap = swapAmount >= swapThreshold;
            
            if (minimumSwap && !swapping && checkPairAddress[recipient] && swapFeeEnabled && !isExcludedFromAll[sender] && amount > swapThreshold) 
            {
                if(maxTxDisabled)
                    swapAmount = swapThreshold;
                swpaCATokens(swapAmount);    
            }

            uint256 finalAmount;                                         
            if (isExcludedFromAll[sender] || isExcludedFromAll[recipient]) {
                finalAmount = amount;
            } else {
                finalAmount = getFinalAmount(sender, recipient, amount);
            }
            if(maxWalletDisabled && !isExcludedFromWalletLimit[recipient])
                require(balanceOf(recipient).add(finalAmount) <= maxWalletAmount);

            uint256 amountToReduce = (!maxWalletDisabled && isExcludedFromAll[sender]) ? amount.sub(finalAmount) : amount;
            _balances[sender] = _balances[sender].sub(amountToReduce, "Insufficient Balance");
            _balances[recipient] = _balances[recipient].add(finalAmount);
            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }
    
    
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
        
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
                
    function _transferBasic(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        _approve(address(this), address(uniswapRouter), tokenAmount);

        // make the swpaCATokens
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }
    
    function getFinalAmount(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 fee = 0;
        if(checkPairAddress[sender]) {fee = amount.mul(buyFee).div(100);}
        else if(checkPairAddress[recipient]) {fee = amount.mul(sellFee).div(100);}
        if(fee > 0) {
            _balances[address(this)] = _balances[address(this)].add(fee);
            emit Transfer(sender, address(this), fee);
        }
        return amount.sub(fee);
    }
    
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address","name":"owner","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkPairAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devbuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSeperateDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSeperateLp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSeperateMkt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSeperateTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpbuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mktSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mktbuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapFeeEnabled","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":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600560809081526426a4ac27a960d91b60a05260029062000026908262000627565b5060408051808201909152600581526426a4ac27a960d91b602082015260039062000052908262000627565b50600c805464ffffffff001916640901000100179055670de0b6b3a7640000600d556658d15e17628000600e819055600f556509184e72a0006010555f6011819055600b601281905560138290556014819055601582905560168190556017829055601855601b819055600a601c819055601d91909155601e55348015620000d8575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d54335f9081526006602090815260409182902092909255805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480830193928290030181865afa1580156200017d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a39190620006ef565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002159190620006ef565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000260573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002869190620006ef565b600580546001600160a01b039283166001600160a01b0319918216179091556004805492841692821683179055600d54305f9081526007602090815260408083209583529490529290922091909155601980548216735e02846761099b0e5cfadf48e129c39a597068f5908117909155601a80549092161790556013546012546011546200032292916200031b91906200050e565b906200050e565b6014556017546016546015546200034092916200031b91906200050e565b601855601d54601c54601b546200035e92916200031b91906200050e565b601e55600160085f620003785f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905560195490911681526008909252812080549092166001908117909255600990620003d65f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790556005549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a90620004445f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905560195482168152600a845282812080548616600190811790915530825283822080548716821790556005549092168152600b90935291208054909216179055620004b83390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051620004ff91815260200190565b60405180910390a35062000737565b5f806200051c838562000717565b9050838110156200057e5760405162461bcd60e51b815260206004820152602260248201527f536166654d617468496e74656765723a206164646974696f6e206f766572666c6044820152616f7760f01b606482015260840160405180910390fd5b90505b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620005b057607f821691505b602082108103620005cf57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000622575f81815260208120601f850160051c81016020861015620005fd5750805b601f850160051c820191505b818110156200061e5782815560010162000609565b5050505b505050565b81516001600160401b0381111562000643576200064362000587565b6200065b816200065484546200059b565b84620005d5565b602080601f83116001811462000691575f8415620006795750858301515b5f19600386901b1c1916600185901b1785556200061e565b5f85815260208120601f198616915b82811015620006c157888601518255948401946001909101908401620006a0565b5085821015620006df57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f6020828403121562000700575f80fd5b81516001600160a01b03811681146200057e575f80fd5b808201808211156200058157634e487b7160e01b5f52601160045260245ffd5b61183d80620007455f395ff3fe608060405260043610610215575f3560e01c8063751039fc1161011e578063aa4bde28116100a8578063bf95793d1161006d578063bf95793d146105c8578063c20ab228146105f6578063da82819914610616578063dd62ed3e14610635578063f2fde38b14610679575f80fd5b8063aa4bde281461052d578063b22006a414610542578063b40f946914610557578063b45e83f814610585578063b874c0381461059a575f80fd5b80638da5cb5b116100ee5780638da5cb5b146104b457806395d89b41146104d05780639aaa654d146104e4578063a8d9ef68146104f9578063a9059cbb1461050e575f80fd5b8063751039fc14610461578063752c03111461047557806378ac88371461048a5780638c0b5e221461049f575f80fd5b80633d8937561161019f57806359eedafd1161016f57806359eedafd146103ac5780636e714746146103ca57806370a08231146103f8578063715018a61461042c578063735de9f714610442575f80fd5b80633d8937561461033657806340c397da1461034b57806343fad93f146103825780634706240214610397575f80fd5b806320512179116101e557806320512179146102ac57806323b872dd146102c157806328c5e293146102e05780632b14ca56146102f5578063313ce5671461030a575f80fd5b80630445b6671461022057806306fdde0314610248578063095ea7b31461026957806318160ddd14610298575f80fd5b3661021c57005b5f80fd5b34801561022b575f80fd5b5061023560105481565b6040519081526020015b60405180910390f35b348015610253575f80fd5b5061025c610698565b60405161023f9190611502565b348015610274575f80fd5b50610288610283366004611564565b610728565b604051901515815260200161023f565b3480156102a3575f80fd5b50600d54610235565b3480156102b7575f80fd5b5061023560135481565b3480156102cc575f80fd5b506102886102db36600461158e565b61073e565b3480156102eb575f80fd5b5061023560125481565b348015610300575f80fd5b5061023560185481565b348015610315575f80fd5b50600c54640100000000900460ff1660405160ff909116815260200161023f565b348015610341575f80fd5b50610235601d5481565b348015610356575f80fd5b5060055461036a906001600160a01b031681565b6040516001600160a01b03909116815260200161023f565b34801561038d575f80fd5b5061023560155481565b3480156103a2575f80fd5b5061023560145481565b3480156103b7575f80fd5b50600c5461028890610100900460ff1681565b3480156103d5575f80fd5b506102886103e43660046115cc565b600b6020525f908152604090205460ff1681565b348015610403575f80fd5b506102356104123660046115cc565b6001600160a01b03165f9081526006602052604090205490565b348015610437575f80fd5b506104406107a7565b005b34801561044d575f80fd5b5060045461036a906001600160a01b031681565b34801561046c575f80fd5b50610440610821565b348015610480575f80fd5b50610235601c5481565b348015610495575f80fd5b50610235601b5481565b3480156104aa575f80fd5b50610235600e5481565b3480156104bf575f80fd5b505f546001600160a01b031661036a565b3480156104db575f80fd5b5061025c610873565b3480156104ef575f80fd5b5061023560115481565b348015610504575f80fd5b5061023560165481565b348015610519575f80fd5b50610288610528366004611564565b610882565b348015610538575f80fd5b50610235600f5481565b34801561054d575f80fd5b50610235601e5481565b348015610562575f80fd5b506102886105713660046115cc565b60096020525f908152604090205460ff1681565b348015610590575f80fd5b5061023560175481565b3480156105a5575f80fd5b506102886105b43660046115cc565b60086020525f908152604090205460ff1681565b3480156105d3575f80fd5b506102886105e23660046115cc565b600a6020525f908152604090205460ff1681565b348015610601575f80fd5b50600c54610288906301000000900460ff1681565b348015610621575f80fd5b50600c546102889062010000900460ff1681565b348015610640575f80fd5b5061023561064f3660046115e7565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610684575f80fd5b506104406106933660046115cc565b61088e565b6060600280546106a79061161e565b80601f01602080910402602001604051908101604052809291908181526020018280546106d39061161e565b801561071e5780601f106106f55761010080835404028352916020019161071e565b820191905f5260205f20905b81548152906001019060200180831161070157829003601f168201915b5050505050905090565b5f610734338484610975565b5060015b92915050565b5f61074a848484610a98565b5061079c8433610797856040518060600160405280602881526020016117e0602891396001600160a01b038a165f9081526007602090815260408083203384529091529020549190610edb565b610975565b5060015b9392505050565b5f546001600160a01b031633146107d95760405162461bcd60e51b81526004016107d090611656565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461084a5760405162461bcd60e51b81526004016107d090611656565b600d54600e55600c805463ff000000191690556001601281905560168190556014819055601855565b6060600380546106a79061161e565b5f61079c338484610a98565b5f546001600160a01b031633146108b75760405162461bcd60e51b81526004016107d090611656565b6001600160a01b03811661091c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107d0565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107d0565b6001600160a01b038216610a385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107d0565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610afd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107d0565b6001600160a01b038316610b5f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107d0565b600c5460ff1615610b7c57610b75848484610f13565b90506107a0565b6001600160a01b0384165f908152600a602052604090205460ff16158015610bbc57506001600160a01b0383165f908152600a602052604090205460ff16155b15610c2457600e54821115610c245760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016107d0565b305f9081526006602052604090205460105481108015908190610c4a5750600c5460ff16155b8015610c6d57506001600160a01b0385165f908152600b602052604090205460ff165b8015610c805750600c54610100900460ff165b8015610ca457506001600160a01b0386165f9081526008602052604090205460ff16155b8015610cb1575060105484115b15610cd657600c5462010000900460ff1615610ccd5760105491505b610cd682610ff6565b6001600160a01b0386165f9081526008602052604081205460ff1680610d1357506001600160a01b0386165f9081526008602052604090205460ff165b15610d1f575083610d2d565b610d2a8787876110fe565b90505b600c546301000000900460ff168015610d5e57506001600160a01b0386165f9081526009602052604090205460ff16155b15610d9857600f54610d8e82610d88896001600160a01b03165f9081526006602052604090205490565b90611200565b1115610d98575f80fd5b600c545f906301000000900460ff16158015610dcb57506001600160a01b0388165f9081526008602052604090205460ff165b610dd55785610ddf565b610ddf8683611269565b9050610e458160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060065f8c6001600160a01b03166001600160a01b031681526020019081526020015f2054610edb9092919063ffffffff16565b6001600160a01b03808a165f908152600660205260408082209390935590891681522054610e739083611200565b6001600160a01b038089165f8181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ec69086815260200190565b60405180910390a360019450505050506107a0565b5f8184841115610efe5760405162461bcd60e51b81526004016107d09190611502565b505f610f0a848661169f565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600690915291822054610f63918490610edb565b6001600160a01b038086165f908152600660205260408082209390935590851681522054610f919083611200565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fe49086815260200190565b60405180910390a35060019392505050565b600c805460ff19166001179055601e54601b545f916110259160029161101f918290879061128d565b90611312565b90505f6110328383611269565b905061103d81611336565b601b5447905f9061105c90611053906002611312565b601e5490611269565b90505f61107d600261101f8461101f601b548861128d90919063ffffffff16565b90505f6110998361101f601d548761128d90919063ffffffff16565b90505f6110b0826110aa8786611269565b90611269565b905080156110ce576019546110ce906001600160a01b03168261149e565b81156110ea57601a546110ea906001600160a01b03168361149e565b5050600c805460ff19169055505050505050565b6001600160a01b0383165f908152600b6020526040812054819060ff16156111415761113a606461101f6014548661128d90919063ffffffff16565b905061117e565b6001600160a01b0384165f908152600b602052604090205460ff161561117e5761117b606461101f6018548661128d90919063ffffffff16565b90505b80156111f657305f9081526006602052604090205461119d9082611200565b305f81815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ed9085815260200190565b60405180910390a35b610f0a8382611269565b5f8061120c83856116b2565b9050838110156107a05760405162461bcd60e51b815260206004820152602260248201527f536166654d617468496e74656765723a206164646974696f6e206f766572666c6044820152616f7760f01b60648201526084016107d0565b5f6107a0838360405180606001604052806025815260200161179a60259139610edb565b5f825f0361129c57505f610738565b5f6112a783856116c5565b9050826112b485836116dc565b146107a05760405162461bcd60e51b815260206004820152602860248201527f536166654d617468496e74656765723a206d756c7469706c69636174696f6e206044820152676f766572666c6f7760c01b60648201526084016107d0565b5f6107a083836040518060600160405280602181526020016117bf602191396114d6565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611369576113696116fb565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd919061170f565b81600181518110611410576114106116fb565b6001600160a01b0392831660209182029290920101526004546114369130911684610975565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac9479161146d9186915f918791309142910161172a565b5f604051808303815f87803b158015611484575f80fd5b505af1158015611496573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f193505050501580156114d1573d5f803e3d5ffd5b505050565b5f81836114f65760405162461bcd60e51b81526004016107d09190611502565b505f610f0a84866116dc565b5f6020808352835180828501525f5b8181101561152d57858101830151858201604001528201611511565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611561575f80fd5b50565b5f8060408385031215611575575f80fd5b82356115808161154d565b946020939093013593505050565b5f805f606084860312156115a0575f80fd5b83356115ab8161154d565b925060208401356115bb8161154d565b929592945050506040919091013590565b5f602082840312156115dc575f80fd5b81356107a08161154d565b5f80604083850312156115f8575f80fd5b82356116038161154d565b915060208301356116138161154d565b809150509250929050565b600181811c9082168061163257607f821691505b60208210810361165057634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107385761073861168b565b808201808211156107385761073861168b565b80820281158282048414176107385761073861168b565b5f826116f657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561171f575f80fd5b81516107a08161154d565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117785784516001600160a01b031683529383019391830191600101611753565b50506001600160a01b0396909616606085015250505060800152939250505056fe536166654d617468496e74656765723a207375627472616374696f6e206f766572666c6f77536166654d617468496e74656765723a206469766973696f6e206279207a65726f45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220243fe913bcf67c8b708306bdfe06820026ec290c58a551e291cf49a5ddc50bc064736f6c63430008150033

Deployed Bytecode

0x608060405260043610610215575f3560e01c8063751039fc1161011e578063aa4bde28116100a8578063bf95793d1161006d578063bf95793d146105c8578063c20ab228146105f6578063da82819914610616578063dd62ed3e14610635578063f2fde38b14610679575f80fd5b8063aa4bde281461052d578063b22006a414610542578063b40f946914610557578063b45e83f814610585578063b874c0381461059a575f80fd5b80638da5cb5b116100ee5780638da5cb5b146104b457806395d89b41146104d05780639aaa654d146104e4578063a8d9ef68146104f9578063a9059cbb1461050e575f80fd5b8063751039fc14610461578063752c03111461047557806378ac88371461048a5780638c0b5e221461049f575f80fd5b80633d8937561161019f57806359eedafd1161016f57806359eedafd146103ac5780636e714746146103ca57806370a08231146103f8578063715018a61461042c578063735de9f714610442575f80fd5b80633d8937561461033657806340c397da1461034b57806343fad93f146103825780634706240214610397575f80fd5b806320512179116101e557806320512179146102ac57806323b872dd146102c157806328c5e293146102e05780632b14ca56146102f5578063313ce5671461030a575f80fd5b80630445b6671461022057806306fdde0314610248578063095ea7b31461026957806318160ddd14610298575f80fd5b3661021c57005b5f80fd5b34801561022b575f80fd5b5061023560105481565b6040519081526020015b60405180910390f35b348015610253575f80fd5b5061025c610698565b60405161023f9190611502565b348015610274575f80fd5b50610288610283366004611564565b610728565b604051901515815260200161023f565b3480156102a3575f80fd5b50600d54610235565b3480156102b7575f80fd5b5061023560135481565b3480156102cc575f80fd5b506102886102db36600461158e565b61073e565b3480156102eb575f80fd5b5061023560125481565b348015610300575f80fd5b5061023560185481565b348015610315575f80fd5b50600c54640100000000900460ff1660405160ff909116815260200161023f565b348015610341575f80fd5b50610235601d5481565b348015610356575f80fd5b5060055461036a906001600160a01b031681565b6040516001600160a01b03909116815260200161023f565b34801561038d575f80fd5b5061023560155481565b3480156103a2575f80fd5b5061023560145481565b3480156103b7575f80fd5b50600c5461028890610100900460ff1681565b3480156103d5575f80fd5b506102886103e43660046115cc565b600b6020525f908152604090205460ff1681565b348015610403575f80fd5b506102356104123660046115cc565b6001600160a01b03165f9081526006602052604090205490565b348015610437575f80fd5b506104406107a7565b005b34801561044d575f80fd5b5060045461036a906001600160a01b031681565b34801561046c575f80fd5b50610440610821565b348015610480575f80fd5b50610235601c5481565b348015610495575f80fd5b50610235601b5481565b3480156104aa575f80fd5b50610235600e5481565b3480156104bf575f80fd5b505f546001600160a01b031661036a565b3480156104db575f80fd5b5061025c610873565b3480156104ef575f80fd5b5061023560115481565b348015610504575f80fd5b5061023560165481565b348015610519575f80fd5b50610288610528366004611564565b610882565b348015610538575f80fd5b50610235600f5481565b34801561054d575f80fd5b50610235601e5481565b348015610562575f80fd5b506102886105713660046115cc565b60096020525f908152604090205460ff1681565b348015610590575f80fd5b5061023560175481565b3480156105a5575f80fd5b506102886105b43660046115cc565b60086020525f908152604090205460ff1681565b3480156105d3575f80fd5b506102886105e23660046115cc565b600a6020525f908152604090205460ff1681565b348015610601575f80fd5b50600c54610288906301000000900460ff1681565b348015610621575f80fd5b50600c546102889062010000900460ff1681565b348015610640575f80fd5b5061023561064f3660046115e7565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610684575f80fd5b506104406106933660046115cc565b61088e565b6060600280546106a79061161e565b80601f01602080910402602001604051908101604052809291908181526020018280546106d39061161e565b801561071e5780601f106106f55761010080835404028352916020019161071e565b820191905f5260205f20905b81548152906001019060200180831161070157829003601f168201915b5050505050905090565b5f610734338484610975565b5060015b92915050565b5f61074a848484610a98565b5061079c8433610797856040518060600160405280602881526020016117e0602891396001600160a01b038a165f9081526007602090815260408083203384529091529020549190610edb565b610975565b5060015b9392505050565b5f546001600160a01b031633146107d95760405162461bcd60e51b81526004016107d090611656565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461084a5760405162461bcd60e51b81526004016107d090611656565b600d54600e55600c805463ff000000191690556001601281905560168190556014819055601855565b6060600380546106a79061161e565b5f61079c338484610a98565b5f546001600160a01b031633146108b75760405162461bcd60e51b81526004016107d090611656565b6001600160a01b03811661091c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107d0565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107d0565b6001600160a01b038216610a385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107d0565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610afd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107d0565b6001600160a01b038316610b5f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107d0565b600c5460ff1615610b7c57610b75848484610f13565b90506107a0565b6001600160a01b0384165f908152600a602052604090205460ff16158015610bbc57506001600160a01b0383165f908152600a602052604090205460ff16155b15610c2457600e54821115610c245760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016107d0565b305f9081526006602052604090205460105481108015908190610c4a5750600c5460ff16155b8015610c6d57506001600160a01b0385165f908152600b602052604090205460ff165b8015610c805750600c54610100900460ff165b8015610ca457506001600160a01b0386165f9081526008602052604090205460ff16155b8015610cb1575060105484115b15610cd657600c5462010000900460ff1615610ccd5760105491505b610cd682610ff6565b6001600160a01b0386165f9081526008602052604081205460ff1680610d1357506001600160a01b0386165f9081526008602052604090205460ff165b15610d1f575083610d2d565b610d2a8787876110fe565b90505b600c546301000000900460ff168015610d5e57506001600160a01b0386165f9081526009602052604090205460ff16155b15610d9857600f54610d8e82610d88896001600160a01b03165f9081526006602052604090205490565b90611200565b1115610d98575f80fd5b600c545f906301000000900460ff16158015610dcb57506001600160a01b0388165f9081526008602052604090205460ff165b610dd55785610ddf565b610ddf8683611269565b9050610e458160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060065f8c6001600160a01b03166001600160a01b031681526020019081526020015f2054610edb9092919063ffffffff16565b6001600160a01b03808a165f908152600660205260408082209390935590891681522054610e739083611200565b6001600160a01b038089165f8181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ec69086815260200190565b60405180910390a360019450505050506107a0565b5f8184841115610efe5760405162461bcd60e51b81526004016107d09190611502565b505f610f0a848661169f565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600690915291822054610f63918490610edb565b6001600160a01b038086165f908152600660205260408082209390935590851681522054610f919083611200565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fe49086815260200190565b60405180910390a35060019392505050565b600c805460ff19166001179055601e54601b545f916110259160029161101f918290879061128d565b90611312565b90505f6110328383611269565b905061103d81611336565b601b5447905f9061105c90611053906002611312565b601e5490611269565b90505f61107d600261101f8461101f601b548861128d90919063ffffffff16565b90505f6110998361101f601d548761128d90919063ffffffff16565b90505f6110b0826110aa8786611269565b90611269565b905080156110ce576019546110ce906001600160a01b03168261149e565b81156110ea57601a546110ea906001600160a01b03168361149e565b5050600c805460ff19169055505050505050565b6001600160a01b0383165f908152600b6020526040812054819060ff16156111415761113a606461101f6014548661128d90919063ffffffff16565b905061117e565b6001600160a01b0384165f908152600b602052604090205460ff161561117e5761117b606461101f6018548661128d90919063ffffffff16565b90505b80156111f657305f9081526006602052604090205461119d9082611200565b305f81815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ed9085815260200190565b60405180910390a35b610f0a8382611269565b5f8061120c83856116b2565b9050838110156107a05760405162461bcd60e51b815260206004820152602260248201527f536166654d617468496e74656765723a206164646974696f6e206f766572666c6044820152616f7760f01b60648201526084016107d0565b5f6107a0838360405180606001604052806025815260200161179a60259139610edb565b5f825f0361129c57505f610738565b5f6112a783856116c5565b9050826112b485836116dc565b146107a05760405162461bcd60e51b815260206004820152602860248201527f536166654d617468496e74656765723a206d756c7469706c69636174696f6e206044820152676f766572666c6f7760c01b60648201526084016107d0565b5f6107a083836040518060600160405280602181526020016117bf602191396114d6565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611369576113696116fb565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd919061170f565b81600181518110611410576114106116fb565b6001600160a01b0392831660209182029290920101526004546114369130911684610975565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac9479161146d9186915f918791309142910161172a565b5f604051808303815f87803b158015611484575f80fd5b505af1158015611496573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f193505050501580156114d1573d5f803e3d5ffd5b505050565b5f81836114f65760405162461bcd60e51b81526004016107d09190611502565b505f610f0a84866116dc565b5f6020808352835180828501525f5b8181101561152d57858101830151858201604001528201611511565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611561575f80fd5b50565b5f8060408385031215611575575f80fd5b82356115808161154d565b946020939093013593505050565b5f805f606084860312156115a0575f80fd5b83356115ab8161154d565b925060208401356115bb8161154d565b929592945050506040919091013590565b5f602082840312156115dc575f80fd5b81356107a08161154d565b5f80604083850312156115f8575f80fd5b82356116038161154d565b915060208301356116138161154d565b809150509250929050565b600181811c9082168061163257607f821691505b60208210810361165057634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107385761073861168b565b808201808211156107385761073861168b565b80820281158282048414176107385761073861168b565b5f826116f657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561171f575f80fd5b81516107a08161154d565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117785784516001600160a01b031683529383019391830191600101611753565b50506001600160a01b0396909616606085015250505060800152939250505056fe536166654d617468496e74656765723a207375627472616374696f6e206f766572666c6f77536166654d617468496e74656765723a206469766973696f6e206279207a65726f45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220243fe913bcf67c8b708306bdfe06820026ec290c58a551e291cf49a5ddc50bc064736f6c63430008150033

Deployed Bytecode Sourcemap

5069:9375:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6062:48;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6062:48:0;;;;;;;;8153:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;13175:161::-;;;;;;;;;;-1:-1:-1;13175:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;13175:161:0;1205:187:1;8430:100:0;;;;;;;;;;-1:-1:-1;8510:12:0;;8430:100;;6192:29;;;;;;;;;;;;;;;;12194:313;;;;;;;;;;-1:-1:-1;12194:313:0;;;;;:::i;:::-;;:::i;6155:30::-;;;;;;;;;;;;;;;;6372:27;;;;;;;;;;;;;;;;8339:83;;;;;;;;;;-1:-1:-1;8405:9:0;;;;;;;8339:83;;2030:4:1;2018:17;;;2000:36;;1988:2;1973:18;8339:83:0;1858:184:1;6578:33:0;;;;;;;;;;;;;;;;5288:35;;;;;;;;;;-1:-1:-1;5288:35:0;;;;-1:-1:-1;;;;;5288:35:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;5288:35:0;2047:203:1;6263:29:0;;;;;;;;;;;;;;;;6228:26;;;;;;;;;;;;;;;;5718:33;;;;;;;;;;-1:-1:-1;5718:33:0;;;;;;;;;;;5636:49;;;;;;;;;;-1:-1:-1;5636:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12690:119;;;;;;;;;;-1:-1:-1;12690:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;12783:18:0;12756:7;12783:18;;;:9;:18;;;;;;;12690:119;4662:148;;;;;;;;;;;;;:::i;:::-;;5246:35;;;;;;;;;;-1:-1:-1;5246:35:0;;;;-1:-1:-1;;;;;5246:35:0;;;8667:217;;;;;;;;;;;;;:::i;6537:34::-;;;;;;;;;;;;;;;;6498:32;;;;;;;;;;;;;;;;5942:51;;;;;;;;;;;;;;;;4437:79;;;;;;;;;;-1:-1:-1;4475:7:0;4502:6;-1:-1:-1;;;;;4502:6:0;4437:79;;8244:87;;;;;;;;;;;;;:::i;6120:28::-;;;;;;;;;;;;;;;;6299:30;;;;;;;;;;;;;;;;12515:167;;;;;;;;;;-1:-1:-1;12515:167:0;;;;;:::i;:::-;;:::i;6000:55::-;;;;;;;;;;;;;;;;6618:36;;;;;;;;;;;;;;;;5510:58;;;;;;;;;;-1:-1:-1;5510:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6336:29;;;;;;;;;;;;;;;;5453:50;;;;;;;;;;-1:-1:-1;5453:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5575:54;;;;;;;;;;-1:-1:-1;5575:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5798:36;;;;;;;;;;-1:-1:-1;5798:36:0;;;;;;;;;;;5758:33;;;;;;;;;;-1:-1:-1;5758:33:0;;;;;;;;;;;12039:143;;;;;;;;;;-1:-1:-1;12039:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;12147:18:0;;;12120:7;12147:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12039:143;4818:244;;;;;;;;;;-1:-1:-1;4818:244:0;;;;;:::i;:::-;;:::i;8153:83::-;8190:13;8223:5;8216:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8153:83;:::o;13175:161::-;13250:4;13267:39;3810:10;13290:7;13299:6;13267:8;:39::i;:::-;-1:-1:-1;13324:4:0;13175:161;;;;;:::o;12194:313::-;12292:4;12309:36;12319:6;12327:9;12338:6;12309:9;:36::i;:::-;-1:-1:-1;12356:121:0;12365:6;3810:10;12387:89;12425:6;12387:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12387:19:0;;;;;;:11;:19;;;;;;;;3810:10;12387:33;;;;;;;;;;:37;:89::i;:::-;12356:8;:121::i;:::-;-1:-1:-1;12495:4:0;12194:313;;;;;;:::o;4662:148::-;4571:6;;-1:-1:-1;;;;;4571:6:0;3810:10;4571:22;4563:67;;;;-1:-1:-1;;;4563:67:0;;;;;;;:::i;:::-;;;;;;;;;4769:1:::1;4753:6:::0;;4732:40:::1;::::0;-1:-1:-1;;;;;4753:6:0;;::::1;::::0;4732:40:::1;::::0;4769:1;;4732:40:::1;4800:1;4783:19:::0;;-1:-1:-1;;;;;;4783:19:0::1;::::0;;4662:148::o;8667:217::-;4571:6;;-1:-1:-1;;;;;4571:6:0;3810:10;4571:22;4563:67;;;;-1:-1:-1;;;4563:67:0;;;;;;;:::i;:::-;8735:12:::1;::::0;8721:11:::1;:26:::0;8758:17:::1;:25:::0;;-1:-1:-1;;8758:25:0::1;::::0;;;8794:10:::1;:14:::0;;;8819:10:::1;:14:::0;;;8844:6:::1;:10:::0;;;8865:7:::1;:11:::0;8667:217::o;8244:87::-;8283:13;8316:7;8309:14;;;;;:::i;12515:167::-;12593:4;12610:42;3810:10;12634:9;12645:6;12610:9;:42::i;4818:244::-;4571:6;;-1:-1:-1;;;;;4571:6:0;3810:10;4571:22;4563:67;;;;-1:-1:-1;;;4563:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4907:22:0;::::1;4899:73;;;::::0;-1:-1:-1;;;4899:73:0;;4078:2:1;4899:73:0::1;::::0;::::1;4060:21:1::0;4117:2;4097:18;;;4090:30;4156:34;4136:18;;;4129:62;-1:-1:-1;;;4207:18:1;;;4200:36;4253:19;;4899:73:0::1;3876:402:1::0;4899:73:0::1;5009:6;::::0;;4988:38:::1;::::0;-1:-1:-1;;;;;4988:38:0;;::::1;::::0;5009:6;::::1;::::0;4988:38:::1;::::0;::::1;5037:6;:17:::0;;-1:-1:-1;;;;;;5037:17:0::1;-1:-1:-1::0;;;;;5037:17:0;;;::::1;::::0;;;::::1;::::0;;4818:244::o;11686:337::-;-1:-1:-1;;;;;11779:19:0;;11771:68;;;;-1:-1:-1;;;11771:68:0;;4485:2:1;11771:68:0;;;4467:21:1;4524:2;4504:18;;;4497:30;4563:34;4543:18;;;4536:62;-1:-1:-1;;;4614:18:1;;;4607:34;4658:19;;11771:68:0;4283:400:1;11771:68:0;-1:-1:-1;;;;;11858:21:0;;11850:68;;;;-1:-1:-1;;;11850:68:0;;4890:2:1;11850:68:0;;;4872:21:1;4929:2;4909:18;;;4902:30;4968:34;4948:18;;;4941:62;-1:-1:-1;;;5019:18:1;;;5012:32;5061:19;;11850:68:0;4688:398:1;11850:68:0;-1:-1:-1;;;;;11931:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11983:32;;160:25:1;;;11983:32:0;;133:18:1;11983:32:0;;;;;;;11686:337;;;:::o;9757:1911::-;9844:4;-1:-1:-1;;;;;9869:20:0;;9861:70;;;;-1:-1:-1;;;9861:70:0;;5293:2:1;9861:70:0;;;5275:21:1;5332:2;5312:18;;;5305:30;5371:34;5351:18;;;5344:62;-1:-1:-1;;;5422:18:1;;;5415:35;5467:19;;9861:70:0;5091:401:1;9861:70:0;-1:-1:-1;;;;;9950:23:0;;9942:71;;;;-1:-1:-1;;;9942:71:0;;5699:2:1;9942:71:0;;;5681:21:1;5738:2;5718:18;;;5711:30;5777:34;5757:18;;;5750:62;-1:-1:-1;;;5828:18:1;;;5821:33;5871:19;;9942:71:0;5497:399:1;9942:71:0;10027:8;;;;10024:1637;;;10069:41;10084:6;10092:9;10103:6;10069:14;:41::i;:::-;10062:48;;;;10024:1637;-1:-1:-1;;;;;10166:29:0;;;;;;:21;:29;;;;;;;;10165:30;:67;;;;-1:-1:-1;;;;;;10200:32:0;;;;;;:21;:32;;;;;;;;10199:33;10165:67;10162:181;;;10271:11;;10261:6;:21;;10253:74;;;;-1:-1:-1;;;10253:74:0;;6103:2:1;10253:74:0;;;6085:21:1;6142:2;6122:18;;;6115:30;6181:34;6161:18;;;6154:62;-1:-1:-1;;;6232:18:1;;;6225:38;6280:19;;10253:74:0;5901:404:1;10253:74:0;10410:4;10371:18;12783;;;:9;:18;;;;;;10464:13;;10450:27;;;;;;;10510:24;;-1:-1:-1;10526:8:0;;;;10525:9;10510:24;:55;;;;-1:-1:-1;;;;;;10538:27:0;;;;;;:16;:27;;;;;;;;10510:55;:73;;;;-1:-1:-1;10569:14:0;;;;;;;10510:73;:103;;;;-1:-1:-1;;;;;;10588:25:0;;;;;;:17;:25;;;;;;;;10587:26;10510:103;:129;;;;;10626:13;;10617:6;:22;10510:129;10506:296;;;10677:13;;;;;;;10674:65;;;10726:13;;10713:26;;10674:65;10758:24;10771:10;10758:12;:24::i;:::-;-1:-1:-1;;;;;10897:25:0;;10818:19;10897:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;10926:28:0;;;;;;:17;:28;;;;;;;;10897:57;10893:214;;;-1:-1:-1;10989:6:0;10893:214;;;11050:41;11065:6;11073:9;11084:6;11050:14;:41::i;:::-;11036:55;;10893:214;11124:17;;;;;;;:58;;;;-1:-1:-1;;;;;;11146:36:0;;;;;;:25;:36;;;;;;;;11145:37;11124:58;11121:145;;;11250:15;;11209:37;11234:11;11209:20;11219:9;-1:-1:-1;;;;;12783:18:0;12756:7;12783:18;;;:9;:18;;;;;;;12690:119;11209:20;:24;;:37::i;:::-;:56;;11201:65;;;;;;11310:17;;11283:22;;11310:17;;;;;11309:18;:47;;;;-1:-1:-1;;;;;;11331:25:0;;;;;;:17;:25;;;;;;;;11309:47;11308:84;;11386:6;11308:84;;;11360:23;:6;11371:11;11360:10;:23::i;:::-;11283:109;;11427:61;11449:14;11427:61;;;;;;;;;;;;;-1:-1:-1;;;11427:61:0;;;:9;:17;11437:6;-1:-1:-1;;;;;11427:17:0;-1:-1:-1;;;;;11427:17:0;;;;;;;;;;;;;:21;;:61;;;;;:::i;:::-;-1:-1:-1;;;;;11407:17:0;;;;;;;:9;:17;;;;;;:81;;;;11526:20;;;;;;;:37;;11551:11;11526:24;:37::i;:::-;-1:-1:-1;;;;;11503:20:0;;;;;;;:9;:20;;;;;;;:60;;;;11583:40;;;;;;;;;;11611:11;160:25:1;;148:2;133:18;;14:177;11583:40:0;;;;;;;;11645:4;11638:11;;;;;;;;594:192;680:7;716:12;708:6;;;;700:29;;;;-1:-1:-1;;;700:29:0;;;;;;;;:::i;:::-;-1:-1:-1;740:9:0;752:5;756:1;752;:5;:::i;:::-;740:17;594:192;-1:-1:-1;;;;;594:192:0:o;12833:330::-;12963:53;;;;;;;;;;;-1:-1:-1;;;12963:53:0;;;;;;;;-1:-1:-1;;;;;12963:17:0;;12926:4;12963:17;;;:9;:17;;;;;;;:53;;12985:6;;12963:21;:53::i;:::-;-1:-1:-1;;;;;12943:17:0;;;;;;;:9;:17;;;;;;:73;;;;13050:20;;;;;;;:32;;13075:6;13050:24;:32::i;:::-;-1:-1:-1;;;;;13027:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13098:35;;;;;;;;;;13126:6;160:25:1;;148:2;133:18;;14:177;13098:35:0;;;;;;;;-1:-1:-1;13151:4:0;12833:330;;;;;:::o;8896:849::-;6692:8;:15;;-1:-1:-1;;6692:15:0;6703:4;6692:15;;;9016:16:::1;::::0;8997:13:::1;::::0;6692:8;;8985:55:::1;::::0;9038:1:::1;::::0;8985:48:::1;::::0;;;:7;;:11:::1;:26::i;:::-;:30:::0;::::1;:48::i;:55::-;8963:77:::0;-1:-1:-1;9051:20:0::1;9074:24;:7:::0;8963:77;9074:11:::1;:24::i;:::-;9051:47;;9111:30;9128:12;9111:16;:30::i;:::-;9245:13;::::0;9168:21:::1;::::0;9152:13:::1;::::0;9224:42:::1;::::0;9245:20:::1;::::0;9263:1:::1;9245:17;:20::i;:::-;9224:16;::::0;;:20:::1;:42::i;:::-;9202:64;;9287:26;9316:48;9362:1;9316:41;9345:11;9316:24;9326:13;;9316:5;:9;;:24;;;;:::i;:48::-;9287:77;;9375:28;9406:42;9436:11;9406:25;9416:14;;9406:5;:9;;:25;;;;:::i;:42::-;9375:73:::0;-1:-1:-1;9459:26:0::1;9488:55;9375:73:::0;9488:29:::1;:5:::0;9498:18;9488:9:::1;:29::i;:::-;:33:::0;::::1;:55::i;:::-;9459:84:::0;-1:-1:-1;9559:22:0;;9556:85:::1;;9604:16;::::0;9596:45:::1;::::0;-1:-1:-1;;;;;9604:16:0::1;9622:18:::0;9596:7:::1;:45::i;:::-;9657:24:::0;;9654:83:::1;;9704:10;::::0;9696:41:::1;::::0;-1:-1:-1;;;;;9704:10:0::1;9716:20:::0;9696:7:::1;:41::i;:::-;-1:-1:-1::0;;6730:8:0;:16;;-1:-1:-1;;6730:16:0;;;-1:-1:-1;;;;;;8896:849:0:o;13907:493::-;-1:-1:-1;;;;;14049:24:0;;14000:7;14049:24;;;:16;:24;;;;;;14000:7;;14049:24;;14046:149;;;14082:27;14105:3;14082:18;14093:6;;14082;:10;;:18;;;;:::i;:27::-;14076:33;;14046:149;;;-1:-1:-1;;;;;14129:27:0;;;;;;:16;:27;;;;;;;;14126:69;;;14165:28;14189:3;14165:19;14176:7;;14165:6;:10;;:19;;;;:::i;:28::-;14159:34;;14126:69;14208:7;;14205:155;;14277:4;14259:24;;;;:9;:24;;;;;;:33;;14288:3;14259:28;:33::i;:::-;14250:4;14232:24;;;;:9;:24;;;;;;;:60;;;;14312:36;;-1:-1:-1;;;;;14312:36:0;;;;;;;14344:3;160:25:1;;148:2;133:18;;14:177;14312:36:0;;;;;;;;14205:155;14377:15;:6;14388:3;14377:10;:15::i;247:188::-;305:7;;337:5;341:1;337;:5;:::i;:::-;325:17;;366:1;361;:6;;353:53;;;;-1:-1:-1;;;353:53:0;;6907:2:1;353:53:0;;;6889:21:1;6946:2;6926:18;;;6919:30;6985:34;6965:18;;;6958:62;-1:-1:-1;;;7036:18:1;;;7029:32;7078:19;;353:53:0;6705:398:1;443:143:0;501:7;528:50;532:1;535;528:50;;;;;;;;;;;;;;;;;:3;:50::i;794:257::-;852:7;876:1;881;876:6;872:47;;-1:-1:-1;906:1:0;899:8;;872:47;931:9;943:5;947:1;943;:5;:::i;:::-;931:17;-1:-1:-1;976:1:0;967:5;971:1;931:17;967:5;:::i;:::-;:10;959:63;;;;-1:-1:-1;;;959:63:0;;7705:2:1;959:63:0;;;7687:21:1;7744:2;7724:18;;;7717:30;7783:34;7763:18;;;7756:62;-1:-1:-1;;;7834:18:1;;;7827:38;7882:19;;959:63:0;7503:404:1;1059:139:0;1117:7;1144:46;1148:1;1151;1144:46;;;;;;;;;;;;;;;;;:3;:46::i;13348:547::-;13438:16;;;13452:1;13438:16;;;;;;;;13414:21;;13438:16;;;;;;;;;;-1:-1:-1;13438:16:0;13414:40;;13483:4;13465;13470:1;13465:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;13465:23:0;;;-1:-1:-1;;;;;13465:23:0;;;;;13509:13;;;;;;;;;-1:-1:-1;;;;;13509:13:0;-1:-1:-1;;;;;13509:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13499:4;13504:1;13499:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13499:30:0;;;:7;;;;;;;;;:30;13574:13;;13542:60;;13559:4;;13574:13;13590:11;13542:8;:60::i;:::-;13649:13;;;:238;;-1:-1:-1;;;13649:238:0;;-1:-1:-1;;;;;13649:13:0;;;;:64;;:238;;13728:11;;13649:13;;13798:4;;13825;;13861:15;;13649:238;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13403:492;13348:547;:::o;8542:113::-;8621:26;;-1:-1:-1;;;;;8621:18:0;;;:26;;;;;8640:6;;8621:26;;;;8640:6;8621:18;:26;;;;;;;;;;;;;;;;;;;;;8542:113;;:::o;1206:189::-;1292:7;1327:12;1320:5;1312:28;;;;-1:-1:-1;;;1312:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1351:9:0;1363:5;1367:1;1363;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2737:388::-;2805:6;2813;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;2921:9;2908:23;2940:31;2965:5;2940:31;:::i;:::-;2990:5;-1:-1:-1;3047:2:1;3032:18;;3019:32;3060:33;3019:32;3060:33;:::i;:::-;3112:7;3102:17;;;2737:388;;;;;:::o;3130:380::-;3209:1;3205:12;;;;3252;;;3273:61;;3327:4;3319:6;3315:17;3305:27;;3273:61;3380:2;3372:6;3369:14;3349:18;3346:38;3343:161;;3426:10;3421:3;3417:20;3414:1;3407:31;3461:4;3458:1;3451:15;3489:4;3486:1;3479:15;3343:161;;3130:380;;;:::o;3515:356::-;3717:2;3699:21;;;3736:18;;;3729:30;3795:34;3790:2;3775:18;;3768:62;3862:2;3847:18;;3515:356::o;6310:127::-;6371:10;6366:3;6362:20;6359:1;6352:31;6402:4;6399:1;6392:15;6426:4;6423:1;6416:15;6442:128;6509:9;;;6530:11;;;6527:37;;;6544:18;;:::i;6575:125::-;6640:9;;;6661:10;;;6658:36;;;6674:18;;:::i;7108:168::-;7181:9;;;7212;;7229:15;;;7223:22;;7209:37;7199:71;;7250:18;;:::i;7281:217::-;7321:1;7347;7337:132;;7391:10;7386:3;7382:20;7379:1;7372:31;7426:4;7423:1;7416:15;7454:4;7451:1;7444:15;7337:132;-1:-1:-1;7483:9:1;;7281:217::o;8044:127::-;8105:10;8100:3;8096:20;8093:1;8086:31;8136:4;8133:1;8126:15;8160:4;8157:1;8150:15;8176:251;8246:6;8299:2;8287:9;8278:7;8274:23;8270:32;8267:52;;;8315:1;8312;8305:12;8267:52;8347:9;8341:16;8366:31;8391:5;8366:31;:::i;8432:980::-;8694:4;8742:3;8731:9;8727:19;8773:6;8762:9;8755:25;8799:2;8837:6;8832:2;8821:9;8817:18;8810:34;8880:3;8875:2;8864:9;8860:18;8853:31;8904:6;8939;8933:13;8970:6;8962;8955:22;9008:3;8997:9;8993:19;8986:26;;9047:2;9039:6;9035:15;9021:29;;9068:1;9078:195;9092:6;9089:1;9086:13;9078:195;;;9157:13;;-1:-1:-1;;;;;9153:39:1;9141:52;;9248:15;;;;9213:12;;;;9189:1;9107:9;9078:195;;;-1:-1:-1;;;;;;;9329:32:1;;;;9324:2;9309:18;;9302:60;-1:-1:-1;;;9393:3:1;9378:19;9371:35;9290:3;8432:980;-1:-1:-1;;;8432:980:1:o

Swarm Source

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