ETH Price: $3,390.26 (-2.00%)
Gas: 3 Gwei

Token

STAR TREK INU (TREKINU)
 

Overview

Max Total Supply

100,000,000,000,000,000 TREKINU

Holders

679

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
284,076,750,522.465080905 TREKINU

Value
$0.00
0xd5c7b073035c044b1928435783e2023212bdb673
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:
SEXYWORF

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-05-30
*/

/**
 *Submitted for verification at Etherscan.io on 2021-05-30
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}


/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current 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;
    }
}


contract SEXYWORF is Context, IERC20, IERC20Metadata, Ownable {
    
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100000000000 * 10**6 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string private _name = 'STAR TREK INU';
    string private _symbol = 'TREKINU';
    uint8 private _decimals = 9;
    
    uint256 public _maxTxAmount = 100000000 * 10**6 * 10**9;

    constructor () {
        _rOwned[_msgSender()] = _rTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }

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

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        require(amount <= _allowances[sender][_msgSender()], "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()]- amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        require(subtractedValue <= _allowances[_msgSender()][spender], "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }

    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }
    
    
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        _maxTxAmount = ((_tTotal * maxTxPercent) / 10**2);
    }

    function reflect(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _rTotal = _rTotal - rAmount;
        _tFeeTotal = _tFeeTotal + tAmount;
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return (rAmount / currentRate);
    }

    function excludeAccount(address account) external onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeAccount(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    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 _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if(sender != owner() && recipient != owner()) {
          require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        }
            
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;       
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _tOwned[recipient] = _tOwned[recipient] + tTransferAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;           
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender] - tAmount;
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;   
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender] - tAmount;
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _tOwned[recipient] = _tOwned[recipient] + tTransferAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;        
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal - rFee;
        _tFeeTotal = _tFeeTotal + tFee;
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);
    }

    function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) {
        uint256 tFee = ((tAmount / 100) * 2);
        uint256 tTransferAmount = tAmount - tFee;
        return (tTransferAmount, tFee);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount * currentRate;
        uint256 rFee = tFee * currentRate;
        uint256 rTransferAmount = rAmount - rFee;
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return (rSupply / tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply - _rOwned[_excluded[i]];
            tSupply = tSupply - _tOwned[_excluded[i]];
        }
        if (rSupply < (_rTotal / _tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526200001d6a52b7d2dcc80cd2e4000000600019620002bc565b6200002b906000196200025b565b60065560408051808201909152600d8082526c53544152205452454b20494e5560981b60209092019182526200006491600891620001ac565b50604080518082019091526007808252665452454b494e5560c81b60209092019182526200009591600991620001ac565b50600a805460ff1916600917905569152d02c7e14af6800000600b55348015620000be57600080fd5b506000620000cb620001a8565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006546001600062000126620001a8565b6001600160a01b031681526020810191909152604001600020556200014a620001a8565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e40000006040516200019a919062000252565b60405180910390a3620002dd565b3390565b828054620001ba906200027f565b90600052602060002090601f016020900481019282620001de576000855562000229565b82601f10620001f957805160ff191683800117855562000229565b8280016001018555821562000229579182015b82811115620002295782518255916020019190600101906200020c565b50620002379291506200023b565b5090565b5b808211156200023757600081556001016200023c565b90815260200190565b6000828210156200027a57634e487b7160e01b81526011600452602481fd5b500390565b6002810460018216806200029457607f821691505b60208210811415620002b657634e487b7160e01b600052602260045260246000fd5b50919050565b600082620002d857634e487b7160e01b81526012600452602481fd5b500690565b611b3d80620002ed6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063cba0e9961161007c578063cba0e99614610289578063d543dbeb1461029c578063dd62ed3e146102af578063f2cc0c18146102c2578063f2fde38b146102d5578063f84354f1146102e85761014d565b8063715018a6146102365780637d1db4a51461023e5780638da5cb5b1461024657806395d89b411461025b578063a457c2d714610263578063a9059cbb146102765761014d565b806323b872dd1161011557806323b872dd146101c25780632d838119146101d5578063313ce567146101e857806339509351146101fd5780634549b0391461021057806370a08231146102235761014d565b8063053ab1821461015257806306fdde0314610167578063095ea7b31461018557806313114a9d146101a557806318160ddd146101ba575b600080fd5b6101656101603660046115ae565b6102fb565b005b61016f6103c0565b60405161017c9190611618565b60405180910390f35b610198610193366004611585565b610452565b60405161017c919061160d565b6101ad610470565b60405161017c9190611a16565b6101ad610476565b6101986101d036600461154a565b610485565b6101ad6101e33660046115ae565b61055b565b6101f061059e565b60405161017c9190611a1f565b61019861020b366004611585565b6105a7565b6101ad61021e3660046115c6565b6105f6565b6101ad6102313660046114f7565b61065a565b6101656106bc565b6101ad610745565b61024e61074b565b60405161017c91906115f9565b61016f61075a565b610198610271366004611585565b610769565b610198610284366004611585565b61080d565b6101986102973660046114f7565b610821565b6101656102aa3660046115ae565b61083f565b6101ad6102bd366004611518565b6108a5565b6101656102d03660046114f7565b6108d0565b6101656102e33660046114f7565b610a08565b6101656102f63660046114f7565b610ac8565b6000610305610c9d565b6001600160a01b03811660009081526004602052604090205490915060ff161561034a5760405162461bcd60e51b815260040161034190611985565b60405180910390fd5b600061035583610ca1565b5050506001600160a01b03841660009081526001602052604090205491925061038091839150611a84565b6001600160a01b0383166000908152600160205260409020556006546103a7908290611a84565b6006556007546103b8908490611a2d565b600755505050565b6060600880546103cf90611a9b565b80601f01602080910402602001604051908101604052809291908181526020018280546103fb90611a9b565b80156104485780601f1061041d57610100808354040283529160200191610448565b820191906000526020600020905b81548152906001019060200180831161042b57829003601f168201915b5050505050905090565b600061046661045f610c9d565b8484610ced565b5060015b92915050565b60075490565b6a52b7d2dcc80cd2e400000090565b6000610492848484610da1565b6001600160a01b0384166000908152600360205260408120906104b3610c9d565b6001600160a01b03166001600160a01b03168152602001908152602001600020548211156104f35760405162461bcd60e51b815260040161034190611836565b610551846104ff610c9d565b6001600160a01b03871660009081526003602052604081208691610521610c9d565b6001600160a01b03166001600160a01b031681526020019081526020016000205461054c9190611a84565b610ced565b5060019392505050565b600060065482111561057f5760405162461bcd60e51b8152600401610341906116ae565b6000610589610fcf565b90506105958184611a45565b9150505b919050565b600a5460ff1690565b60006104666105b4610c9d565b8484600360006105c2610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461054c9190611a2d565b60006a52b7d2dcc80cd2e40000008311156106235760405162461bcd60e51b8152600401610341906117b7565b8161064157600061063384610ca1565b5092945061046a9350505050565b600061064c84610ca1565b5091945061046a9350505050565b6001600160a01b03811660009081526004602052604081205460ff161561069a57506001600160a01b038116600090815260026020526040902054610599565b6001600160a01b03821660009081526001602052604090205461046a9061055b565b6106c4610c9d565b6001600160a01b03166106d561074b565b6001600160a01b0316146106fb5760405162461bcd60e51b81526004016103419061187e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600b5481565b6000546001600160a01b031690565b6060600980546103cf90611a9b565b600060036000610777610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918716815292529020548211156107c05760405162461bcd60e51b8152600401610341906119d1565b6104666107cb610c9d565b8484600360006107d9610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461054c9190611a84565b600061046661081a610c9d565b8484610da1565b6001600160a01b031660009081526004602052604090205460ff1690565b610847610c9d565b6001600160a01b031661085861074b565b6001600160a01b03161461087e5760405162461bcd60e51b81526004016103419061187e565b6064610895826a52b7d2dcc80cd2e4000000611a65565b61089f9190611a45565b600b5550565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6108d8610c9d565b6001600160a01b03166108e961074b565b6001600160a01b03161461090f5760405162461bcd60e51b81526004016103419061187e565b6001600160a01b03811660009081526004602052604090205460ff16156109485760405162461bcd60e51b815260040161034190611780565b6001600160a01b038116600090815260016020526040902054156109a2576001600160a01b0381166000908152600160205260409020546109889061055b565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610a10610c9d565b6001600160a01b0316610a2161074b565b6001600160a01b031614610a475760405162461bcd60e51b81526004016103419061187e565b6001600160a01b038116610a6d5760405162461bcd60e51b8152600401610341906116f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610ad0610c9d565b6001600160a01b0316610ae161074b565b6001600160a01b031614610b075760405162461bcd60e51b81526004016103419061187e565b6001600160a01b03811660009081526004602052604090205460ff16610b3f5760405162461bcd60e51b815260040161034190611780565b60005b600554811015610c9957816001600160a01b031660058281548110610b7757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610c875760058054610ba290600190611a84565b81548110610bc057634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600580546001600160a01b039092169183908110610bfa57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610c6057634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055610c99565b80610c9181611ad6565b915050610b42565b5050565b3390565b6000806000806000806000610cb588610ff2565b915091506000610cc3610fcf565b90506000806000610cd58c8686611025565b919e909d50909b509599509397509395505050505050565b6001600160a01b038316610d135760405162461bcd60e51b815260040161034190611941565b6001600160a01b038216610d395760405162461bcd60e51b81526004016103419061173e565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d94908590611a16565b60405180910390a3505050565b6001600160a01b038316610dc75760405162461bcd60e51b8152600401610341906118fc565b6001600160a01b038216610ded5760405162461bcd60e51b81526004016103419061166b565b60008111610e0d5760405162461bcd60e51b8152600401610341906118b3565b610e1561074b565b6001600160a01b0316836001600160a01b031614158015610e4f5750610e3961074b565b6001600160a01b0316826001600160a01b031614155b15610e7657600b54811115610e765760405162461bcd60e51b8152600401610341906117ee565b6001600160a01b03831660009081526004602052604090205460ff168015610eb757506001600160a01b03821660009081526004602052604090205460ff16155b15610ecc57610ec7838383611061565b610fca565b6001600160a01b03831660009081526004602052604090205460ff16158015610f0d57506001600160a01b03821660009081526004602052604090205460ff165b15610f1d57610ec783838361117b565b6001600160a01b03831660009081526004602052604090205460ff16158015610f5f57506001600160a01b03821660009081526004602052604090205460ff16155b15610f6f57610ec7838383611224565b6001600160a01b03831660009081526004602052604090205460ff168015610faf57506001600160a01b03821660009081526004602052604090205460ff165b15610fbf57610ec7838383611266565b610fca838383611224565b505050565b6000806000610fdc6112d8565b9092509050610feb8183611a45565b9250505090565b60008080611001606485611a45565b61100c906002611a65565b9050600061101a8286611a84565b935090915050915091565b60008080806110348588611a65565b905060006110428688611a65565b905060006110508284611a84565b929992985090965090945050505050565b600080600080600061107286610ca1565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506110a3908790611a84565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546110d3908690611a84565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054611103908590611a2d565b6001600160a01b03881660009081526001602052604090205561112683826114ba565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111699190611a16565b60405180910390a35050505050505050565b600080600080600061118c86610ca1565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506111bd908690611a84565b6001600160a01b03808a16600090815260016020908152604080832094909455918a168152600290915220546111f4908390611a2d565b6001600160a01b038816600090815260026020908152604080832093909355600190522054611103908590611a2d565b600080600080600061123586610ca1565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506110d3908690611a84565b600080600080600061127786610ca1565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506112a8908790611a84565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546111bd908690611a84565b60065460009081906a52b7d2dcc80cd2e4000000825b6005548110156114755782600160006005848154811061131e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611397575081600260006005848154811061137057634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156113b7576006546a52b7d2dcc80cd2e4000000945094505050506114b6565b60016000600583815481106113dc57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205461140b9084611a84565b9250600260006005838154811061143257634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020546114619083611a84565b91508061146d81611ad6565b9150506112ee565b506a52b7d2dcc80cd2e400000060065461148f9190611a45565b8210156114b0576006546a52b7d2dcc80cd2e40000009350935050506114b6565b90925090505b9091565b816006546114c89190611a84565b6006556007546114d9908290611a2d565b6007555050565b80356001600160a01b038116811461059957600080fd5b600060208284031215611508578081fd5b611511826114e0565b9392505050565b6000806040838503121561152a578081fd5b611533836114e0565b9150611541602084016114e0565b90509250929050565b60008060006060848603121561155e578081fd5b611567846114e0565b9250611575602085016114e0565b9150604084013590509250925092565b60008060408385031215611597578182fd5b6115a0836114e0565b946020939093013593505050565b6000602082840312156115bf578081fd5b5035919050565b600080604083850312156115d8578182fd5b82359150602083013580151581146115ee578182fd5b809150509250929050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b8181101561164457858101830151858201604001528201611628565b818111156116555783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602a908201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260408201526965666c656374696f6e7360b01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b6020808252601f908201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604082015260600190565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602c908201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460408201526b3434b990333ab731ba34b7b760a11b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115611a4057611a40611af1565b500190565b600082611a6057634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611a7f57611a7f611af1565b500290565b600082821015611a9657611a96611af1565b500390565b600281046001821680611aaf57607f821691505b60208210811415611ad057634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611aea57611aea611af1565b5060010190565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220b99aa4b9a76d6b6c1fcbcd87f694f83bd165f2ac030e47623f73a4470738543764736f6c63430008000033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063cba0e9961161007c578063cba0e99614610289578063d543dbeb1461029c578063dd62ed3e146102af578063f2cc0c18146102c2578063f2fde38b146102d5578063f84354f1146102e85761014d565b8063715018a6146102365780637d1db4a51461023e5780638da5cb5b1461024657806395d89b411461025b578063a457c2d714610263578063a9059cbb146102765761014d565b806323b872dd1161011557806323b872dd146101c25780632d838119146101d5578063313ce567146101e857806339509351146101fd5780634549b0391461021057806370a08231146102235761014d565b8063053ab1821461015257806306fdde0314610167578063095ea7b31461018557806313114a9d146101a557806318160ddd146101ba575b600080fd5b6101656101603660046115ae565b6102fb565b005b61016f6103c0565b60405161017c9190611618565b60405180910390f35b610198610193366004611585565b610452565b60405161017c919061160d565b6101ad610470565b60405161017c9190611a16565b6101ad610476565b6101986101d036600461154a565b610485565b6101ad6101e33660046115ae565b61055b565b6101f061059e565b60405161017c9190611a1f565b61019861020b366004611585565b6105a7565b6101ad61021e3660046115c6565b6105f6565b6101ad6102313660046114f7565b61065a565b6101656106bc565b6101ad610745565b61024e61074b565b60405161017c91906115f9565b61016f61075a565b610198610271366004611585565b610769565b610198610284366004611585565b61080d565b6101986102973660046114f7565b610821565b6101656102aa3660046115ae565b61083f565b6101ad6102bd366004611518565b6108a5565b6101656102d03660046114f7565b6108d0565b6101656102e33660046114f7565b610a08565b6101656102f63660046114f7565b610ac8565b6000610305610c9d565b6001600160a01b03811660009081526004602052604090205490915060ff161561034a5760405162461bcd60e51b815260040161034190611985565b60405180910390fd5b600061035583610ca1565b5050506001600160a01b03841660009081526001602052604090205491925061038091839150611a84565b6001600160a01b0383166000908152600160205260409020556006546103a7908290611a84565b6006556007546103b8908490611a2d565b600755505050565b6060600880546103cf90611a9b565b80601f01602080910402602001604051908101604052809291908181526020018280546103fb90611a9b565b80156104485780601f1061041d57610100808354040283529160200191610448565b820191906000526020600020905b81548152906001019060200180831161042b57829003601f168201915b5050505050905090565b600061046661045f610c9d565b8484610ced565b5060015b92915050565b60075490565b6a52b7d2dcc80cd2e400000090565b6000610492848484610da1565b6001600160a01b0384166000908152600360205260408120906104b3610c9d565b6001600160a01b03166001600160a01b03168152602001908152602001600020548211156104f35760405162461bcd60e51b815260040161034190611836565b610551846104ff610c9d565b6001600160a01b03871660009081526003602052604081208691610521610c9d565b6001600160a01b03166001600160a01b031681526020019081526020016000205461054c9190611a84565b610ced565b5060019392505050565b600060065482111561057f5760405162461bcd60e51b8152600401610341906116ae565b6000610589610fcf565b90506105958184611a45565b9150505b919050565b600a5460ff1690565b60006104666105b4610c9d565b8484600360006105c2610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461054c9190611a2d565b60006a52b7d2dcc80cd2e40000008311156106235760405162461bcd60e51b8152600401610341906117b7565b8161064157600061063384610ca1565b5092945061046a9350505050565b600061064c84610ca1565b5091945061046a9350505050565b6001600160a01b03811660009081526004602052604081205460ff161561069a57506001600160a01b038116600090815260026020526040902054610599565b6001600160a01b03821660009081526001602052604090205461046a9061055b565b6106c4610c9d565b6001600160a01b03166106d561074b565b6001600160a01b0316146106fb5760405162461bcd60e51b81526004016103419061187e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600b5481565b6000546001600160a01b031690565b6060600980546103cf90611a9b565b600060036000610777610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918716815292529020548211156107c05760405162461bcd60e51b8152600401610341906119d1565b6104666107cb610c9d565b8484600360006107d9610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461054c9190611a84565b600061046661081a610c9d565b8484610da1565b6001600160a01b031660009081526004602052604090205460ff1690565b610847610c9d565b6001600160a01b031661085861074b565b6001600160a01b03161461087e5760405162461bcd60e51b81526004016103419061187e565b6064610895826a52b7d2dcc80cd2e4000000611a65565b61089f9190611a45565b600b5550565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6108d8610c9d565b6001600160a01b03166108e961074b565b6001600160a01b03161461090f5760405162461bcd60e51b81526004016103419061187e565b6001600160a01b03811660009081526004602052604090205460ff16156109485760405162461bcd60e51b815260040161034190611780565b6001600160a01b038116600090815260016020526040902054156109a2576001600160a01b0381166000908152600160205260409020546109889061055b565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610a10610c9d565b6001600160a01b0316610a2161074b565b6001600160a01b031614610a475760405162461bcd60e51b81526004016103419061187e565b6001600160a01b038116610a6d5760405162461bcd60e51b8152600401610341906116f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610ad0610c9d565b6001600160a01b0316610ae161074b565b6001600160a01b031614610b075760405162461bcd60e51b81526004016103419061187e565b6001600160a01b03811660009081526004602052604090205460ff16610b3f5760405162461bcd60e51b815260040161034190611780565b60005b600554811015610c9957816001600160a01b031660058281548110610b7757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610c875760058054610ba290600190611a84565b81548110610bc057634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600580546001600160a01b039092169183908110610bfa57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610c6057634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055610c99565b80610c9181611ad6565b915050610b42565b5050565b3390565b6000806000806000806000610cb588610ff2565b915091506000610cc3610fcf565b90506000806000610cd58c8686611025565b919e909d50909b509599509397509395505050505050565b6001600160a01b038316610d135760405162461bcd60e51b815260040161034190611941565b6001600160a01b038216610d395760405162461bcd60e51b81526004016103419061173e565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d94908590611a16565b60405180910390a3505050565b6001600160a01b038316610dc75760405162461bcd60e51b8152600401610341906118fc565b6001600160a01b038216610ded5760405162461bcd60e51b81526004016103419061166b565b60008111610e0d5760405162461bcd60e51b8152600401610341906118b3565b610e1561074b565b6001600160a01b0316836001600160a01b031614158015610e4f5750610e3961074b565b6001600160a01b0316826001600160a01b031614155b15610e7657600b54811115610e765760405162461bcd60e51b8152600401610341906117ee565b6001600160a01b03831660009081526004602052604090205460ff168015610eb757506001600160a01b03821660009081526004602052604090205460ff16155b15610ecc57610ec7838383611061565b610fca565b6001600160a01b03831660009081526004602052604090205460ff16158015610f0d57506001600160a01b03821660009081526004602052604090205460ff165b15610f1d57610ec783838361117b565b6001600160a01b03831660009081526004602052604090205460ff16158015610f5f57506001600160a01b03821660009081526004602052604090205460ff16155b15610f6f57610ec7838383611224565b6001600160a01b03831660009081526004602052604090205460ff168015610faf57506001600160a01b03821660009081526004602052604090205460ff165b15610fbf57610ec7838383611266565b610fca838383611224565b505050565b6000806000610fdc6112d8565b9092509050610feb8183611a45565b9250505090565b60008080611001606485611a45565b61100c906002611a65565b9050600061101a8286611a84565b935090915050915091565b60008080806110348588611a65565b905060006110428688611a65565b905060006110508284611a84565b929992985090965090945050505050565b600080600080600061107286610ca1565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506110a3908790611a84565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546110d3908690611a84565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054611103908590611a2d565b6001600160a01b03881660009081526001602052604090205561112683826114ba565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111699190611a16565b60405180910390a35050505050505050565b600080600080600061118c86610ca1565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506111bd908690611a84565b6001600160a01b03808a16600090815260016020908152604080832094909455918a168152600290915220546111f4908390611a2d565b6001600160a01b038816600090815260026020908152604080832093909355600190522054611103908590611a2d565b600080600080600061123586610ca1565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506110d3908690611a84565b600080600080600061127786610ca1565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506112a8908790611a84565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546111bd908690611a84565b60065460009081906a52b7d2dcc80cd2e4000000825b6005548110156114755782600160006005848154811061131e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611397575081600260006005848154811061137057634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156113b7576006546a52b7d2dcc80cd2e4000000945094505050506114b6565b60016000600583815481106113dc57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205461140b9084611a84565b9250600260006005838154811061143257634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020546114619083611a84565b91508061146d81611ad6565b9150506112ee565b506a52b7d2dcc80cd2e400000060065461148f9190611a45565b8210156114b0576006546a52b7d2dcc80cd2e40000009350935050506114b6565b90925090505b9091565b816006546114c89190611a84565b6006556007546114d9908290611a2d565b6007555050565b80356001600160a01b038116811461059957600080fd5b600060208284031215611508578081fd5b611511826114e0565b9392505050565b6000806040838503121561152a578081fd5b611533836114e0565b9150611541602084016114e0565b90509250929050565b60008060006060848603121561155e578081fd5b611567846114e0565b9250611575602085016114e0565b9150604084013590509250925092565b60008060408385031215611597578182fd5b6115a0836114e0565b946020939093013593505050565b6000602082840312156115bf578081fd5b5035919050565b600080604083850312156115d8578182fd5b82359150602083013580151581146115ee578182fd5b809150509250929050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b8181101561164457858101830151858201604001528201611628565b818111156116555783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602a908201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260408201526965666c656374696f6e7360b01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b6020808252601f908201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604082015260600190565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602c908201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460408201526b3434b990333ab731ba34b7b760a11b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115611a4057611a40611af1565b500190565b600082611a6057634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611a7f57611a7f611af1565b500290565b600082821015611a9657611a96611af1565b500390565b600281046001821680611aaf57607f821691505b60208210811415611ad057634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611aea57611aea611af1565b5060010190565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220b99aa4b9a76d6b6c1fcbcd87f694f83bd165f2ac030e47623f73a4470738543764736f6c63430008000033

Deployed Bytecode Sourcemap

6496:10602:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9799:367;;;;;;:::i;:::-;;:::i;:::-;;7374:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8313:161;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9550:87::-;;;:::i;:::-;;;;;;;:::i;7678:95::-;;;:::i;8482:372::-;;;;;;:::i;:::-;;:::i;10616:252::-;;;;;;:::i;:::-;;:::i;7578:92::-;;;:::i;:::-;;;;;;;:::i;8862:215::-;;;;;;:::i;:::-;;:::i;10174:434::-;;;;;;:::i;:::-;;:::i;7781:198::-;;;;;;:::i;:::-;;:::i;5940:148::-;;;:::i;7178:55::-;;;:::i;5289:87::-;;;:::i;:::-;;;;;;;:::i;7474:96::-;;;:::i;9085:339::-;;;;;;:::i;:::-;;:::i;7987:167::-;;;;;;:::i;:::-;;:::i;9432:110::-;;;;;;:::i;:::-;;:::i;9655:136::-;;;;;;:::i;:::-;;:::i;8162:143::-;;;;;;:::i;:::-;;:::i;10876:332::-;;;;;;:::i;:::-;;:::i;6243:244::-;;;;;;:::i;:::-;;:::i;11216:478::-;;;;;;:::i;:::-;;:::i;9799:367::-;9851:14;9868:12;:10;:12::i;:::-;-1:-1:-1;;;;;9900:19:0;;;;;;:11;:19;;;;;;9851:29;;-1:-1:-1;9900:19:0;;9899:20;9891:77;;;;-1:-1:-1;;;9891:77:0;;;;;;;:::i;:::-;;;;;;;;;9980:15;10003:19;10014:7;10003:10;:19::i;:::-;-1:-1:-1;;;;;;;;10051:15:0;;;;;;:7;:15;;;;;;9979:43;;-1:-1:-1;10051:25:0;;9979:43;;-1:-1:-1;10051:25:0;:::i;:::-;-1:-1:-1;;;;;10033:15:0;;;;;;:7;:15;;;;;:43;10097:7;;:17;;10107:7;;10097:17;:::i;:::-;10087:7;:27;10138:10;;:20;;10151:7;;10138:20;:::i;:::-;10125:10;:33;-1:-1:-1;;;9799:367:0:o;7374:92::-;7420:13;7453:5;7446:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7374:92;:::o;8313:161::-;8388:4;8405:39;8414:12;:10;:12::i;:::-;8428:7;8437:6;8405:8;:39::i;:::-;-1:-1:-1;8462:4:0;8313:161;;;;;:::o;9550:87::-;9619:10;;9550:87;:::o;7678:95::-;6926:28;7678:95;:::o;8482:372::-;8580:4;8597:36;8607:6;8615:9;8626:6;8597:9;:36::i;:::-;-1:-1:-1;;;;;8662:19:0;;;;;;:11;:19;;;;;;8682:12;:10;:12::i;:::-;-1:-1:-1;;;;;8662:33:0;-1:-1:-1;;;;;8662:33:0;;;;;;;;;;;;;8652:6;:43;;8644:96;;;;-1:-1:-1;;;8644:96:0;;;;;;;:::i;:::-;8751:73;8760:6;8768:12;:10;:12::i;:::-;-1:-1:-1;;;;;8782:19:0;;;;;;:11;:19;;;;;8817:6;;8802:12;:10;:12::i;:::-;-1:-1:-1;;;;;8782:33:0;-1:-1:-1;;;;;8782:33:0;;;;;;;;;;;;;:41;;;;:::i;:::-;8751:8;:73::i;:::-;-1:-1:-1;8842:4:0;8482:372;;;;;:::o;10616:252::-;10682:7;10721;;10710;:18;;10702:73;;;;-1:-1:-1;;;10702:73:0;;;;;;;:::i;:::-;10786:19;10809:10;:8;:10::i;:::-;10786:33;-1:-1:-1;10838:21:0;10786:33;10838:7;:21;:::i;:::-;10830:30;;;10616:252;;;;:::o;7578:92::-;7653:9;;;;7578:92;:::o;8862:215::-;8950:4;8967:80;8976:12;:10;:12::i;:::-;8990:7;9036:10;8999:11;:25;9011:12;:10;:12::i;:::-;-1:-1:-1;;;;;8999:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;8999:25:0;;;:34;;;;;;;;;;:47;;;;:::i;10174:434::-;10264:7;6926:28;10292:7;:18;;10284:62;;;;-1:-1:-1;;;10284:62:0;;;;;;;:::i;:::-;10362:17;10357:244;;10397:15;10420:19;10431:7;10420:10;:19::i;:::-;-1:-1:-1;10396:43:0;;-1:-1:-1;10454:14:0;;-1:-1:-1;;;;10454:14:0;10357:244;10503:23;10533:19;10544:7;10533:10;:19::i;:::-;-1:-1:-1;10501:51:0;;-1:-1:-1;10567:22:0;;-1:-1:-1;;;;10567:22:0;7781:198;-1:-1:-1;;;;;7871:20:0;;7847:7;7871:20;;;:11;:20;;;;;;;;7867:49;;;-1:-1:-1;;;;;;7900:16:0;;;;;;:7;:16;;;;;;7893:23;;7867:49;-1:-1:-1;;;;;7954:16:0;;;;;;:7;:16;;;;;;7934:37;;:19;:37::i;5940:148::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;6047:1:::1;6031:6:::0;;6010:40:::1;::::0;-1:-1:-1;;;;;6031:6:0;;::::1;::::0;6010:40:::1;::::0;6047:1;;6010:40:::1;6078:1;6061:19:::0;;-1:-1:-1;;;;;;6061:19:0::1;::::0;;5940:148::o;7178:55::-;;;;:::o;5289:87::-;5335:7;5362:6;-1:-1:-1;;;;;5362:6:0;5289:87;:::o;7474:96::-;7522:13;7555:7;7548:14;;;;;:::i;9085:339::-;9178:4;9222:11;:25;9234:12;:10;:12::i;:::-;-1:-1:-1;;;;;9222:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9222:25:0;;;:34;;;;;;;;;;9203:53;;;9195:103;;;;-1:-1:-1;;;9195:103:0;;;;;;;:::i;:::-;9309:85;9318:12;:10;:12::i;:::-;9332:7;9378:15;9341:11;:25;9353:12;:10;:12::i;:::-;-1:-1:-1;;;;;9341:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9341:25:0;;;:34;;;;;;;;;;:52;;;;:::i;7987:167::-;8065:4;8082:42;8092:12;:10;:12::i;:::-;8106:9;8117:6;8082:9;:42::i;9432:110::-;-1:-1:-1;;;;;9514:20:0;9490:4;9514:20;;;:11;:20;;;;;;;;;9432:110::o;9655:136::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;9777:5:::1;9751:22;9761:12:::0;6926:28:::1;9751:22;:::i;:::-;9750:32;;;;:::i;:::-;9734:12;:49:::0;-1:-1:-1;9655:136:0:o;8162:143::-;-1:-1:-1;;;;;8270:18:0;;;8243:7;8270:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8162:143::o;10876:332::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10958:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;10957:21;10949:61;;;;-1:-1:-1::0;;;10949:61:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11024:16:0;::::1;11043:1;11024:16:::0;;;:7:::1;:16;::::0;;;;;:20;11021:108:::1;;-1:-1:-1::0;;;;;11100:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;11080:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;11061:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;11021:108:::1;-1:-1:-1::0;;;;;11139:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;11139:27:0::1;11162:4;11139:27:::0;;::::1;::::0;;;11177:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;11177:23:0::1;::::0;;::::1;::::0;;10876:332::o;6243:244::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6332:22:0;::::1;6324:73;;;;-1:-1:-1::0;;;6324:73:0::1;;;;;;;:::i;:::-;6434:6;::::0;;6413:38:::1;::::0;-1:-1:-1;;;;;6413:38:0;;::::1;::::0;6434:6;::::1;::::0;6413:38:::1;::::0;::::1;6462:6;:17:::0;;-1:-1:-1;;;;;;6462:17:0::1;-1:-1:-1::0;;;;;6462:17:0;;;::::1;::::0;;;::::1;::::0;;6243:244::o;11216:478::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11297:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;11289:60;;;;-1:-1:-1::0;;;11289:60:0::1;;;;;;;:::i;:::-;11365:9;11360:327;11384:9;:16:::0;11380:20;::::1;11360:327;;;11442:7;-1:-1:-1::0;;;;;11426:23:0::1;:9;11436:1;11426:12;;;;;;-1:-1:-1::0;;;11426:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;11426:12:0::1;:23;11422:254;;;11485:9;11495:16:::0;;:20:::1;::::0;11514:1:::1;::::0;11495:20:::1;:::i;:::-;11485:31;;;;;;-1:-1:-1::0;;;11485:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;11470:9:::1;:12:::0;;-1:-1:-1;;;;;11485:31:0;;::::1;::::0;11480:1;;11470:12;::::1;;;-1:-1:-1::0;;;11470:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;11470:46:0::1;-1:-1:-1::0;;;;;11470:46:0;;::::1;;::::0;;11535:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;11574:11:::1;:20:::0;;;;:28;;-1:-1:-1;;11574:28:0::1;::::0;;11621:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;11621:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;11621:15:0;;;;;-1:-1:-1;;;;;;11621:15:0::1;::::0;;;;;11655:5:::1;;11422:254;11402:3:::0;::::1;::::0;::::1;:::i;:::-;;;;11360:327;;;;11216:478:::0;:::o;672:98::-;752:10;672:98;:::o;15386:411::-;15445:7;15454;15463;15472;15481;15502:23;15527:12;15543:20;15555:7;15543:11;:20::i;:::-;15501:62;;;;15574:19;15597:10;:8;:10::i;:::-;15574:33;;15619:15;15636:23;15661:12;15677:39;15689:7;15698:4;15704:11;15677;:39::i;:::-;15618:98;;;;-1:-1:-1;15618:98:0;;-1:-1:-1;15767:15:0;;-1:-1:-1;15784:4:0;;-1:-1:-1;15386:411:0;;-1:-1:-1;;;;;;15386:411:0:o;11702:337::-;-1:-1:-1;;;;;11795:19:0;;11787:68;;;;-1:-1:-1;;;11787:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11874:21:0;;11866:68;;;;-1:-1:-1;;;11866:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11947:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;11999:32;;;;;11977:6;;11999:32;:::i;:::-;;;;;;;;11702:337;;;:::o;12047:1111::-;-1:-1:-1;;;;;12144:20:0;;12136:70;;;;-1:-1:-1;;;12136:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12225:23:0;;12217:71;;;;-1:-1:-1;;;12217:71:0;;;;;;;:::i;:::-;12316:1;12307:6;:10;12299:64;;;;-1:-1:-1;;;12299:64:0;;;;;;;:::i;:::-;12397:7;:5;:7::i;:::-;-1:-1:-1;;;;;12387:17:0;:6;-1:-1:-1;;;;;12387:17:0;;;:41;;;;;12421:7;:5;:7::i;:::-;-1:-1:-1;;;;;12408:20:0;:9;-1:-1:-1;;;;;12408:20:0;;;12387:41;12384:146;;;12461:12;;12451:6;:22;;12443:75;;;;-1:-1:-1;;;12443:75:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12558:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;12582:22:0;;;;;;:11;:22;;;;;;;;12581:23;12558:46;12554:597;;;12621:48;12643:6;12651:9;12662:6;12621:21;:48::i;:::-;12554:597;;;-1:-1:-1;;;;;12692:19:0;;;;;;:11;:19;;;;;;;;12691:20;:46;;;;-1:-1:-1;;;;;;12715:22:0;;;;;;:11;:22;;;;;;;;12691:46;12687:464;;;12754:46;12774:6;12782:9;12793:6;12754:19;:46::i;12687:464::-;-1:-1:-1;;;;;12823:19:0;;;;;;:11;:19;;;;;;;;12822:20;:47;;;;-1:-1:-1;;;;;;12847:22:0;;;;;;:11;:22;;;;;;;;12846:23;12822:47;12818:333;;;12886:44;12904:6;12912:9;12923:6;12886:17;:44::i;12818:333::-;-1:-1:-1;;;;;12952:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;12975:22:0;;;;;;:11;:22;;;;;;;;12952:45;12948:203;;;13014:48;13036:6;13044:9;13055:6;13014:21;:48::i;12948:203::-;13095:44;13113:6;13121:9;13132:6;13095:17;:44::i;:::-;12047:1111;;;:::o;16371:162::-;16412:7;16433:15;16450;16469:19;:17;:19::i;:::-;16432:56;;-1:-1:-1;16432:56:0;-1:-1:-1;16507:17:0;16432:56;;16507:17;:::i;:::-;16499:26;;;;16371:162;:::o;15805:225::-;15865:7;;;15911:13;15921:3;15911:7;:13;:::i;:::-;15910:19;;15928:1;15910:19;:::i;:::-;15894:36;-1:-1:-1;15941:23:0;15967:14;15894:36;15967:7;:14;:::i;:::-;15941:40;-1:-1:-1;16017:4:0;;-1:-1:-1;;15805:225:0;;;:::o;16038:325::-;16133:7;;;;16189:21;16199:11;16189:7;:21;:::i;:::-;16171:39;-1:-1:-1;16221:12:0;16236:18;16243:11;16236:4;:18;:::i;:::-;16221:33;-1:-1:-1;16265:23:0;16291:14;16221:33;16291:7;:14;:::i;:::-;16324:7;;;;-1:-1:-1;16350:4:0;;-1:-1:-1;16038:325:0;;-1:-1:-1;;;;;16038:325:0:o;14148:500::-;14251:15;14268:23;14293:12;14307:23;14332:12;14348:19;14359:7;14348:10;:19::i;:::-;-1:-1:-1;;;;;14396:15:0;;;;;;:7;:15;;;;;;14250:117;;-1:-1:-1;14250:117:0;;-1:-1:-1;14250:117:0;;-1:-1:-1;14250:117:0;-1:-1:-1;14250:117:0;-1:-1:-1;14396:25:0;;14414:7;;14396:25;:::i;:::-;-1:-1:-1;;;;;14378:15:0;;;;;;:7;:15;;;;;;;;:43;;;;14450:7;:15;;;;:25;;14468:7;;14450:25;:::i;:::-;-1:-1:-1;;;;;14432:15:0;;;;;;;:7;:15;;;;;;:43;;;;14507:18;;;;;;;:36;;14528:15;;14507:36;:::i;:::-;-1:-1:-1;;;;;14486:18:0;;;;;;:7;:18;;;;;:57;14557:23;14569:4;14575;14557:11;:23::i;:::-;14613:9;-1:-1:-1;;;;;14596:44:0;14605:6;-1:-1:-1;;;;;14596:44:0;;14624:15;14596:44;;;;;;:::i;:::-;;;;;;;;14148:500;;;;;;;;:::o;13620:520::-;13721:15;13738:23;13763:12;13777:23;13802:12;13818:19;13829:7;13818:10;:19::i;:::-;-1:-1:-1;;;;;13866:15:0;;;;;;:7;:15;;;;;;13720:117;;-1:-1:-1;13720:117:0;;-1:-1:-1;13720:117:0;;-1:-1:-1;13720:117:0;-1:-1:-1;13720:117:0;-1:-1:-1;13866:25:0;;13720:117;;13866:25;:::i;:::-;-1:-1:-1;;;;;13848:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;13923:18;;;;;:7;:18;;;;;:36;;13944:15;;13923:36;:::i;:::-;-1:-1:-1;;;;;13902:18:0;;;;;;:7;:18;;;;;;;;:57;;;;13991:7;:18;;;;:36;;14012:15;;13991:36;:::i;13166:446::-;13265:15;13282:23;13307:12;13321:23;13346:12;13362:19;13373:7;13362:10;:19::i;:::-;-1:-1:-1;;;;;13410:15:0;;;;;;:7;:15;;;;;;13264:117;;-1:-1:-1;13264:117:0;;-1:-1:-1;13264:117:0;;-1:-1:-1;13264:117:0;-1:-1:-1;13264:117:0;-1:-1:-1;13410:25:0;;13264:117;;13410:25;:::i;14656:573::-;14759:15;14776:23;14801:12;14815:23;14840:12;14856:19;14867:7;14856:10;:19::i;:::-;-1:-1:-1;;;;;14904:15:0;;;;;;:7;:15;;;;;;14758:117;;-1:-1:-1;14758:117:0;;-1:-1:-1;14758:117:0;;-1:-1:-1;14758:117:0;-1:-1:-1;14758:117:0;-1:-1:-1;14904:25:0;;14922:7;;14904:25;:::i;:::-;-1:-1:-1;;;;;14886:15:0;;;;;;:7;:15;;;;;;;;:43;;;;14958:7;:15;;;;:25;;14976:7;;14958:25;:::i;16541:554::-;16638:7;;16591;;;;6926:28;16591:7;16698:283;16722:9;:16;16718:20;;16698:283;;;16788:7;16764;:21;16772:9;16782:1;16772:12;;;;;;-1:-1:-1;;;16772:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16772:12:0;16764:21;;;;;;;;;;;;;:31;;:66;;;16823:7;16799;:21;16807:9;16817:1;16807:12;;;;;;-1:-1:-1;;;16807:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16807:12:0;16799:21;;;;;;;;;;;;;:31;16764:66;16760:97;;;16840:7;;6926:28;16832:25;;;;;;;;;16760:97;16892:7;:21;16900:9;16910:1;16900:12;;;;;;-1:-1:-1;;;16900:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16900:12:0;16892:21;;;;;;;;;;;;;16882:31;;:7;:31;:::i;:::-;16872:41;;16948:7;:21;16956:9;16966:1;16956:12;;;;;;-1:-1:-1;;;16956:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16956:12:0;16948:21;;;;;;;;;;;;;16938:31;;:7;:31;:::i;:::-;16928:41;-1:-1:-1;16740:3:0;;;;:::i;:::-;;;;16698:283;;;;6926:28;17006:7;;:17;;;;:::i;:::-;16995:7;:29;16991:60;;;17034:7;;6926:28;17026:25;;;;;;;;16991:60;17070:7;;-1:-1:-1;17079:7:0;-1:-1:-1;16541:554:0;;;:::o;15237:141::-;15325:4;15315:7;;:14;;;;:::i;:::-;15305:7;:24;15353:10;;:17;;15366:4;;15353:17;:::i;:::-;15340:10;:30;-1:-1:-1;;15237:141:0:o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;:::-;345:41;264:128;-1:-1:-1;;;264:128:1:o;397:274::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;;625:40;661:2;650:9;646:18;625:40;:::i;:::-;615:50;;484:187;;;;;:::o;676:342::-;;;;822:2;810:9;801:7;797:23;793:32;790:2;;;843:6;835;828:22;790:2;871:31;892:9;871:31;:::i;:::-;861:41;;921:40;957:2;946:9;942:18;921:40;:::i;:::-;911:50;;1008:2;997:9;993:18;980:32;970:42;;780:238;;;;;:::o;1023:266::-;;;1152:2;1140:9;1131:7;1127:23;1123:32;1120:2;;;1173:6;1165;1158:22;1120:2;1201:31;1222:9;1201:31;:::i;:::-;1191:41;1279:2;1264:18;;;;1251:32;;-1:-1:-1;;;1110:179:1:o;1294:190::-;;1406:2;1394:9;1385:7;1381:23;1377:32;1374:2;;;1427:6;1419;1412:22;1374:2;-1:-1:-1;1455:23:1;;1364:120;-1:-1:-1;1364:120:1:o;1489:361::-;;;1615:2;1603:9;1594:7;1590:23;1586:32;1583:2;;;1636:6;1628;1621:22;1583:2;1677:9;1664:23;1654:33;;1737:2;1726:9;1722:18;1709:32;1784:5;1777:13;1770:21;1763:5;1760:32;1750:2;;1811:6;1803;1796:22;1750:2;1839:5;1829:15;;;1573:277;;;;;:::o;1855:203::-;-1:-1:-1;;;;;2019:32:1;;;;2001:51;;1989:2;1974:18;;1956:102::o;2063:187::-;2228:14;;2221:22;2203:41;;2191:2;2176:18;;2158:92::o;2255:603::-;;2396:2;2425;2414:9;2407:21;2457:6;2451:13;2500:6;2495:2;2484:9;2480:18;2473:34;2525:4;2538:140;2552:6;2549:1;2546:13;2538:140;;;2647:14;;;2643:23;;2637:30;2613:17;;;2632:2;2609:26;2602:66;2567:10;;2538:140;;;2696:6;2693:1;2690:13;2687:2;;;2766:4;2761:2;2752:6;2741:9;2737:22;2733:31;2726:45;2687:2;-1:-1:-1;2842:2:1;2821:15;-1:-1:-1;;2817:29:1;2802:45;;;;2849:2;2798:54;;2376:482;-1:-1:-1;;;2376:482:1:o;2863:399::-;3065:2;3047:21;;;3104:2;3084:18;;;3077:30;3143:34;3138:2;3123:18;;3116:62;-1:-1:-1;;;3209:2:1;3194:18;;3187:33;3252:3;3237:19;;3037:225::o;3267:406::-;3469:2;3451:21;;;3508:2;3488:18;;;3481:30;3547:34;3542:2;3527:18;;3520:62;-1:-1:-1;;;3613:2:1;3598:18;;3591:40;3663:3;3648:19;;3441:232::o;3678:402::-;3880:2;3862:21;;;3919:2;3899:18;;;3892:30;3958:34;3953:2;3938:18;;3931:62;-1:-1:-1;;;4024:2:1;4009:18;;4002:36;4070:3;4055:19;;3852:228::o;4085:398::-;4287:2;4269:21;;;4326:2;4306:18;;;4299:30;4365:34;4360:2;4345:18;;4338:62;-1:-1:-1;;;4431:2:1;4416:18;;4409:32;4473:3;4458:19;;4259:224::o;4488:351::-;4690:2;4672:21;;;4729:2;4709:18;;;4702:30;4768:29;4763:2;4748:18;;4741:57;4830:2;4815:18;;4662:177::o;4844:355::-;5046:2;5028:21;;;5085:2;5065:18;;;5058:30;5124:33;5119:2;5104:18;;5097:61;5190:2;5175:18;;5018:181::o;5204:404::-;5406:2;5388:21;;;5445:2;5425:18;;;5418:30;5484:34;5479:2;5464:18;;5457:62;-1:-1:-1;;;5550:2:1;5535:18;;5528:38;5598:3;5583:19;;5378:230::o;5613:404::-;5815:2;5797:21;;;5854:2;5834:18;;;5827:30;5893:34;5888:2;5873:18;;5866:62;-1:-1:-1;;;5959:2:1;5944:18;;5937:38;6007:3;5992:19;;5787:230::o;6022:356::-;6224:2;6206:21;;;6243:18;;;6236:30;6302:34;6297:2;6282:18;;6275:62;6369:2;6354:18;;6196:182::o;6383:405::-;6585:2;6567:21;;;6624:2;6604:18;;;6597:30;6663:34;6658:2;6643:18;;6636:62;-1:-1:-1;;;6729:2:1;6714:18;;6707:39;6778:3;6763:19;;6557:231::o;6793:401::-;6995:2;6977:21;;;7034:2;7014:18;;;7007:30;7073:34;7068:2;7053:18;;7046:62;-1:-1:-1;;;7139:2:1;7124:18;;7117:35;7184:3;7169:19;;6967:227::o;7199:400::-;7401:2;7383:21;;;7440:2;7420:18;;;7413:30;7479:34;7474:2;7459:18;;7452:62;-1:-1:-1;;;7545:2:1;7530:18;;7523:34;7589:3;7574:19;;7373:226::o;7604:408::-;7806:2;7788:21;;;7845:2;7825:18;;;7818:30;7884:34;7879:2;7864:18;;7857:62;-1:-1:-1;;;7950:2:1;7935:18;;7928:42;8002:3;7987:19;;7778:234::o;8017:401::-;8219:2;8201:21;;;8258:2;8238:18;;;8231:30;8297:34;8292:2;8277:18;;8270:62;-1:-1:-1;;;8363:2:1;8348:18;;8341:35;8408:3;8393:19;;8191:227::o;8423:177::-;8569:25;;;8557:2;8542:18;;8524:76::o;8605:184::-;8777:4;8765:17;;;;8747:36;;8735:2;8720:18;;8702:87::o;8794:128::-;;8865:1;8861:6;8858:1;8855:13;8852:2;;;8871:18;;:::i;:::-;-1:-1:-1;8907:9:1;;8842:80::o;8927:217::-;;8993:1;8983:2;;-1:-1:-1;;;9018:31:1;;9072:4;9069:1;9062:15;9100:4;9025:1;9090:15;8983:2;-1:-1:-1;9129:9:1;;8973:171::o;9149:168::-;;9255:1;9251;9247:6;9243:14;9240:1;9237:21;9232:1;9225:9;9218:17;9214:45;9211:2;;;9262:18;;:::i;:::-;-1:-1:-1;9302:9:1;;9201:116::o;9322:125::-;;9390:1;9387;9384:8;9381:2;;;9395:18;;:::i;:::-;-1:-1:-1;9432:9:1;;9371:76::o;9452:380::-;9537:1;9527:12;;9584:1;9574:12;;;9595:2;;9649:4;9641:6;9637:17;9627:27;;9595:2;9702;9694:6;9691:14;9671:18;9668:38;9665:2;;;9748:10;9743:3;9739:20;9736:1;9729:31;9783:4;9780:1;9773:15;9811:4;9808:1;9801:15;9665:2;;9507:325;;;:::o;9837:135::-;;-1:-1:-1;;9897:17:1;;9894:2;;;9917:18;;:::i;:::-;-1:-1:-1;9964:1:1;9953:13;;9884:88::o;9977:127::-;10038:10;10033:3;10029:20;10026:1;10019:31;10069:4;10066:1;10059:15;10093:4;10090:1;10083:15

Swarm Source

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