ETH Price: $3,356.29 (+0.14%)

Token

bRing Token (BRNG)
 

Overview

Max Total Supply

10,000,000 BRNG

Holders

223 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
d1m0ndhvnd.eth
Balance
200 BRNG

Value
$0.00
0xad4489f64a8be791294116d3e99d2721c7f0a72a
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

bRing is a decentralized cross-chain platform, enabling the multiple tokens’ farming via staking of a single coin.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BRingToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0;


library SafeMath {
    
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            
            
            
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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

library Address {
    
    function isContract(address account) internal view returns (bool) {
        
        
        

        uint256 size;
        
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                

                
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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

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

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

contract ERC20 is Context, IERC20 {
    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 returns (string memory) {
        return _name;
    }

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

    
    function decimals() public view virtual 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) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - 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");
        _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");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(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);
    }

    
    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");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(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 { }
}

contract BRingToken is ERC20 {

  using SafeMath for uint256;

  address constant public INITIAL_SUPPLY_ADDRESS = address(0xFd81dC58626a178CD3b724dc71ec17BaDC868B20); 

  constructor() ERC20("bRing Token", "BRNG") {
    uint256 initialSupply = 10000000;

    _mint(INITIAL_SUPPLY_ADDRESS, initialSupply.mul(10 ** uint256(decimals())));
  }

  function batchTransfer(address[] memory addresses, uint256[] memory amounts) public {
    for (uint256 i = 0; i < addresses.length; i++) {
      transfer(addresses[i], amounts[i]);
    }
  }

}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"INITIAL_SUPPLY_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"batchTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f6252696e6720546f6b656e0000000000000000000000000000000000000000008152506040518060400160405280600481526020017f42524e4700000000000000000000000000000000000000000000000000000000815250816003908051906020019062000096929190620002ab565b508060049080519060200190620000af929190620002ab565b50505060006298968090506200011973fd81dc58626a178cd3b724dc71ec17badc868b206200010d620000e76200012060201b60201c565b60ff16600a620000f891906200049b565b846200012960201b620008801790919060201c565b6200014160201b60201c565b506200070d565b60006012905090565b60008183620001399190620005d8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001ab9062000393565b60405180910390fd5b620001c860008383620002a660201b60201c565b8060026000828254620001dc9190620003e3565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002339190620003e3565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200029a9190620003b5565b60405180910390a35050565b505050565b828054620002b99062000643565b90600052602060002090601f016020900481019282620002dd576000855562000329565b82601f10620002f857805160ff191683800117855562000329565b8280016001018555821562000329579182015b82811115620003285782518255916020019190600101906200030b565b5b5090506200033891906200033c565b5090565b5b80821115620003575760008160009055506001016200033d565b5090565b60006200036a601f83620003d2565b91506200037782620006e4565b602082019050919050565b6200038d8162000639565b82525050565b60006020820190508181036000830152620003ae816200035b565b9050919050565b6000602082019050620003cc600083018462000382565b92915050565b600082825260208201905092915050565b6000620003f08262000639565b9150620003fd8362000639565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000435576200043462000679565b5b828201905092915050565b6000808291508390505b600185111562000492578086048111156200046a576200046962000679565b5b60018516156200047a5780820291505b80810290506200048a85620006d7565b94506200044a565b94509492505050565b6000620004a88262000639565b9150620004b58362000639565b9250620004e47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004ec565b905092915050565b600082620004fe5760019050620005d1565b816200050e5760009050620005d1565b8160018114620005275760028114620005325762000568565b6001915050620005d1565b60ff84111562000547576200054662000679565b5b8360020a91508482111562000561576200056062000679565b5b50620005d1565b5060208310610133831016604e8410600b8410161715620005a25782820a9050838111156200059c576200059b62000679565b5b620005d1565b620005b1848484600162000440565b92509050818404811115620005cb57620005ca62000679565b5b81810290505b9392505050565b6000620005e58262000639565b9150620005f28362000639565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200062e576200062d62000679565b5b828202905092915050565b6000819050919050565b600060028204905060018216806200065c57607f821691505b60208210811415620006735762000672620006a8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611853806200071d6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b4114610228578063a457c2d714610246578063a9059cbb14610276578063dd62ed3e146102a6576100cf565b806370a08231146101be57806379eca966146101ee57806388d695b21461020c576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d6565b6040516100e9919061113f565b60405180910390f35b61010c60048036038101906101079190610ef7565b610368565b6040516101199190611124565b60405180910390f35b61012a610386565b6040516101379190611241565b60405180910390f35b61015a60048036038101906101559190610ea8565b610390565b6040516101679190611124565b60405180910390f35b610178610491565b604051610185919061125c565b60405180910390f35b6101a860048036038101906101a39190610ef7565b61049a565b6040516101b59190611124565b60405180910390f35b6101d860048036038101906101d39190610e43565b610546565b6040516101e59190611241565b60405180910390f35b6101f661058e565b6040516102039190611109565b60405180910390f35b61022660048036038101906102219190610f33565b6105a6565b005b610230610655565b60405161023d919061113f565b60405180910390f35b610260600480360381019061025b9190610ef7565b6106e7565b60405161026d9190611124565b60405180910390f35b610290600480360381019061028b9190610ef7565b6107db565b60405161029d9190611124565b60405180910390f35b6102c060048036038101906102bb9190610e6c565b6107f9565b6040516102cd9190611241565b60405180910390f35b6060600380546102e59061147c565b80601f01602080910402602001604051908101604052809291908181526020018280546103119061147c565b801561035e5780601f106103335761010080835404028352916020019161035e565b820191906000526020600020905b81548152906001019060200180831161034157829003601f168201915b5050505050905090565b600061037c610375610896565b848461089e565b6001905092915050565b6000600254905090565b600061039d848484610a69565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e8610896565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045f906111c1565b60405180910390fd5b61048585610474610896565b858461048091906113c0565b61089e565b60019150509392505050565b60006012905090565b600061053c6104a7610896565b8484600160006104b5610896565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105379190611310565b61089e565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b73fd81dc58626a178cd3b724dc71ec17badc868b2081565b60005b82518110156106505761063c8382815181106105ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015183838151811061062f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516107db565b508080610648906114df565b9150506105a9565b505050565b6060600480546106649061147c565b80601f01602080910402602001604051908101604052809291908181526020018280546106909061147c565b80156106dd5780601f106106b2576101008083540402835291602001916106dd565b820191906000526020600020905b8154815290600101906020018083116106c057829003601f168201915b5050505050905090565b600080600160006106f6610896565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa90611221565b60405180910390fd5b6107d06107be610896565b8585846107cb91906113c0565b61089e565b600191505092915050565b60006107ef6107e8610896565b8484610a69565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000818361088e9190611366565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090590611201565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561097e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097590611181565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a5c9190611241565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad0906111e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090611161565b60405180910390fd5b610b54838383610ce8565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd1906111a1565b60405180910390fd5b8181610be691906113c0565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c769190611310565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cda9190611241565b60405180910390a350505050565b505050565b6000610d00610cfb8461129c565b611277565b90508083825260208201905082856020860282011115610d1f57600080fd5b60005b85811015610d4f5781610d358882610dc5565b845260208401935060208301925050600181019050610d22565b5050509392505050565b6000610d6c610d67846112c8565b611277565b90508083825260208201905082856020860282011115610d8b57600080fd5b60005b85811015610dbb5781610da18882610e2e565b845260208401935060208301925050600181019050610d8e565b5050509392505050565b600081359050610dd4816117ef565b92915050565b600082601f830112610deb57600080fd5b8135610dfb848260208601610ced565b91505092915050565b600082601f830112610e1557600080fd5b8135610e25848260208601610d59565b91505092915050565b600081359050610e3d81611806565b92915050565b600060208284031215610e5557600080fd5b6000610e6384828501610dc5565b91505092915050565b60008060408385031215610e7f57600080fd5b6000610e8d85828601610dc5565b9250506020610e9e85828601610dc5565b9150509250929050565b600080600060608486031215610ebd57600080fd5b6000610ecb86828701610dc5565b9350506020610edc86828701610dc5565b9250506040610eed86828701610e2e565b9150509250925092565b60008060408385031215610f0a57600080fd5b6000610f1885828601610dc5565b9250506020610f2985828601610e2e565b9150509250929050565b60008060408385031215610f4657600080fd5b600083013567ffffffffffffffff811115610f6057600080fd5b610f6c85828601610dda565b925050602083013567ffffffffffffffff811115610f8957600080fd5b610f9585828601610e04565b9150509250929050565b610fa8816113f4565b82525050565b610fb781611406565b82525050565b6000610fc8826112f4565b610fd281856112ff565b9350610fe2818560208601611449565b610feb816115b5565b840191505092915050565b60006110036023836112ff565b915061100e826115c6565b604082019050919050565b60006110266022836112ff565b915061103182611615565b604082019050919050565b60006110496026836112ff565b915061105482611664565b604082019050919050565b600061106c6028836112ff565b9150611077826116b3565b604082019050919050565b600061108f6025836112ff565b915061109a82611702565b604082019050919050565b60006110b26024836112ff565b91506110bd82611751565b604082019050919050565b60006110d56025836112ff565b91506110e0826117a0565b604082019050919050565b6110f481611432565b82525050565b6111038161143c565b82525050565b600060208201905061111e6000830184610f9f565b92915050565b60006020820190506111396000830184610fae565b92915050565b600060208201905081810360008301526111598184610fbd565b905092915050565b6000602082019050818103600083015261117a81610ff6565b9050919050565b6000602082019050818103600083015261119a81611019565b9050919050565b600060208201905081810360008301526111ba8161103c565b9050919050565b600060208201905081810360008301526111da8161105f565b9050919050565b600060208201905081810360008301526111fa81611082565b9050919050565b6000602082019050818103600083015261121a816110a5565b9050919050565b6000602082019050818103600083015261123a816110c8565b9050919050565b600060208201905061125660008301846110eb565b92915050565b600060208201905061127160008301846110fa565b92915050565b6000611281611292565b905061128d82826114ae565b919050565b6000604051905090565b600067ffffffffffffffff8211156112b7576112b6611586565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156112e3576112e2611586565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061131b82611432565b915061132683611432565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561135b5761135a611528565b5b828201905092915050565b600061137182611432565b915061137c83611432565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156113b5576113b4611528565b5b828202905092915050565b60006113cb82611432565b91506113d683611432565b9250828210156113e9576113e8611528565b5b828203905092915050565b60006113ff82611412565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561146757808201518184015260208101905061144c565b83811115611476576000848401525b50505050565b6000600282049050600182168061149457607f821691505b602082108114156114a8576114a7611557565b5b50919050565b6114b7826115b5565b810181811067ffffffffffffffff821117156114d6576114d5611586565b5b80604052505050565b60006114ea82611432565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561151d5761151c611528565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6117f8816113f4565b811461180357600080fd5b50565b61180f81611432565b811461181a57600080fd5b5056fea2646970667358221220f3a7c4e3334a28d9f1dbc38fb0f943c3f16b4a1385e0ccc6aad6c69d4655556464736f6c63430008040033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b4114610228578063a457c2d714610246578063a9059cbb14610276578063dd62ed3e146102a6576100cf565b806370a08231146101be57806379eca966146101ee57806388d695b21461020c576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d6565b6040516100e9919061113f565b60405180910390f35b61010c60048036038101906101079190610ef7565b610368565b6040516101199190611124565b60405180910390f35b61012a610386565b6040516101379190611241565b60405180910390f35b61015a60048036038101906101559190610ea8565b610390565b6040516101679190611124565b60405180910390f35b610178610491565b604051610185919061125c565b60405180910390f35b6101a860048036038101906101a39190610ef7565b61049a565b6040516101b59190611124565b60405180910390f35b6101d860048036038101906101d39190610e43565b610546565b6040516101e59190611241565b60405180910390f35b6101f661058e565b6040516102039190611109565b60405180910390f35b61022660048036038101906102219190610f33565b6105a6565b005b610230610655565b60405161023d919061113f565b60405180910390f35b610260600480360381019061025b9190610ef7565b6106e7565b60405161026d9190611124565b60405180910390f35b610290600480360381019061028b9190610ef7565b6107db565b60405161029d9190611124565b60405180910390f35b6102c060048036038101906102bb9190610e6c565b6107f9565b6040516102cd9190611241565b60405180910390f35b6060600380546102e59061147c565b80601f01602080910402602001604051908101604052809291908181526020018280546103119061147c565b801561035e5780601f106103335761010080835404028352916020019161035e565b820191906000526020600020905b81548152906001019060200180831161034157829003601f168201915b5050505050905090565b600061037c610375610896565b848461089e565b6001905092915050565b6000600254905090565b600061039d848484610a69565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e8610896565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045f906111c1565b60405180910390fd5b61048585610474610896565b858461048091906113c0565b61089e565b60019150509392505050565b60006012905090565b600061053c6104a7610896565b8484600160006104b5610896565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105379190611310565b61089e565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b73fd81dc58626a178cd3b724dc71ec17badc868b2081565b60005b82518110156106505761063c8382815181106105ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015183838151811061062f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516107db565b508080610648906114df565b9150506105a9565b505050565b6060600480546106649061147c565b80601f01602080910402602001604051908101604052809291908181526020018280546106909061147c565b80156106dd5780601f106106b2576101008083540402835291602001916106dd565b820191906000526020600020905b8154815290600101906020018083116106c057829003601f168201915b5050505050905090565b600080600160006106f6610896565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa90611221565b60405180910390fd5b6107d06107be610896565b8585846107cb91906113c0565b61089e565b600191505092915050565b60006107ef6107e8610896565b8484610a69565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000818361088e9190611366565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090590611201565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561097e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097590611181565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a5c9190611241565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad0906111e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090611161565b60405180910390fd5b610b54838383610ce8565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd1906111a1565b60405180910390fd5b8181610be691906113c0565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c769190611310565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cda9190611241565b60405180910390a350505050565b505050565b6000610d00610cfb8461129c565b611277565b90508083825260208201905082856020860282011115610d1f57600080fd5b60005b85811015610d4f5781610d358882610dc5565b845260208401935060208301925050600181019050610d22565b5050509392505050565b6000610d6c610d67846112c8565b611277565b90508083825260208201905082856020860282011115610d8b57600080fd5b60005b85811015610dbb5781610da18882610e2e565b845260208401935060208301925050600181019050610d8e565b5050509392505050565b600081359050610dd4816117ef565b92915050565b600082601f830112610deb57600080fd5b8135610dfb848260208601610ced565b91505092915050565b600082601f830112610e1557600080fd5b8135610e25848260208601610d59565b91505092915050565b600081359050610e3d81611806565b92915050565b600060208284031215610e5557600080fd5b6000610e6384828501610dc5565b91505092915050565b60008060408385031215610e7f57600080fd5b6000610e8d85828601610dc5565b9250506020610e9e85828601610dc5565b9150509250929050565b600080600060608486031215610ebd57600080fd5b6000610ecb86828701610dc5565b9350506020610edc86828701610dc5565b9250506040610eed86828701610e2e565b9150509250925092565b60008060408385031215610f0a57600080fd5b6000610f1885828601610dc5565b9250506020610f2985828601610e2e565b9150509250929050565b60008060408385031215610f4657600080fd5b600083013567ffffffffffffffff811115610f6057600080fd5b610f6c85828601610dda565b925050602083013567ffffffffffffffff811115610f8957600080fd5b610f9585828601610e04565b9150509250929050565b610fa8816113f4565b82525050565b610fb781611406565b82525050565b6000610fc8826112f4565b610fd281856112ff565b9350610fe2818560208601611449565b610feb816115b5565b840191505092915050565b60006110036023836112ff565b915061100e826115c6565b604082019050919050565b60006110266022836112ff565b915061103182611615565b604082019050919050565b60006110496026836112ff565b915061105482611664565b604082019050919050565b600061106c6028836112ff565b9150611077826116b3565b604082019050919050565b600061108f6025836112ff565b915061109a82611702565b604082019050919050565b60006110b26024836112ff565b91506110bd82611751565b604082019050919050565b60006110d56025836112ff565b91506110e0826117a0565b604082019050919050565b6110f481611432565b82525050565b6111038161143c565b82525050565b600060208201905061111e6000830184610f9f565b92915050565b60006020820190506111396000830184610fae565b92915050565b600060208201905081810360008301526111598184610fbd565b905092915050565b6000602082019050818103600083015261117a81610ff6565b9050919050565b6000602082019050818103600083015261119a81611019565b9050919050565b600060208201905081810360008301526111ba8161103c565b9050919050565b600060208201905081810360008301526111da8161105f565b9050919050565b600060208201905081810360008301526111fa81611082565b9050919050565b6000602082019050818103600083015261121a816110a5565b9050919050565b6000602082019050818103600083015261123a816110c8565b9050919050565b600060208201905061125660008301846110eb565b92915050565b600060208201905061127160008301846110fa565b92915050565b6000611281611292565b905061128d82826114ae565b919050565b6000604051905090565b600067ffffffffffffffff8211156112b7576112b6611586565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156112e3576112e2611586565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061131b82611432565b915061132683611432565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561135b5761135a611528565b5b828201905092915050565b600061137182611432565b915061137c83611432565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156113b5576113b4611528565b5b828202905092915050565b60006113cb82611432565b91506113d683611432565b9250828210156113e9576113e8611528565b5b828203905092915050565b60006113ff82611412565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561146757808201518184015260208101905061144c565b83811115611476576000848401525b50505050565b6000600282049050600182168061149457607f821691505b602082108114156114a8576114a7611557565b5b50919050565b6114b7826115b5565b810181811067ffffffffffffffff821117156114d6576114d5611586565b5b80604052505050565b60006114ea82611432565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561151d5761151c611528565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6117f8816113f4565b811461180357600080fd5b50565b61180f81611432565b811461181a57600080fd5b5056fea2646970667358221220f3a7c4e3334a28d9f1dbc38fb0f943c3f16b4a1385e0ccc6aad6c69d4655556464736f6c63430008040033

Deployed Bytecode Sourcemap

11507:554:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7402:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8331:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7714:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8514:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7616:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8950:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7836:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11576:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11862:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7507:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9179:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7977:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8166:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7402:91;7447:13;7480:5;7473:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7402:91;:::o;8331:169::-;8414:4;8431:39;8440:12;:10;:12::i;:::-;8454:7;8463:6;8431:8;:39::i;:::-;8488:4;8481:11;;8331:169;;;;:::o;7714:108::-;7775:7;7802:12;;7795:19;;7714:108;:::o;8514:422::-;8620:4;8637:36;8647:6;8655:9;8666:6;8637:9;:36::i;:::-;8686:24;8713:11;:19;8725:6;8713:19;;;;;;;;;;;;;;;:33;8733:12;:10;:12::i;:::-;8713:33;;;;;;;;;;;;;;;;8686:60;;8785:6;8765:16;:26;;8757:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8847:57;8856:6;8864:12;:10;:12::i;:::-;8897:6;8878:16;:25;;;;:::i;:::-;8847:8;:57::i;:::-;8924:4;8917:11;;;8514:422;;;;;:::o;7616:84::-;7665:5;7690:2;7683:9;;7616:84;:::o;8950:215::-;9038:4;9055:80;9064:12;:10;:12::i;:::-;9078:7;9124:10;9087:11;:25;9099:12;:10;:12::i;:::-;9087:25;;;;;;;;;;;;;;;:34;9113:7;9087:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;9055:8;:80::i;:::-;9153:4;9146:11;;8950:215;;;;:::o;7836:127::-;7910:7;7937:9;:18;7947:7;7937:18;;;;;;;;;;;;;;;;7930:25;;7836:127;;;:::o;11576:100::-;11633:42;11576:100;:::o;11862:194::-;11958:9;11953:98;11977:9;:16;11973:1;:20;11953:98;;;12009:34;12018:9;12028:1;12018:12;;;;;;;;;;;;;;;;;;;;;;12032:7;12040:1;12032:10;;;;;;;;;;;;;;;;;;;;;;12009:8;:34::i;:::-;;11995:3;;;;;:::i;:::-;;;;11953:98;;;;11862:194;;:::o;7507:95::-;7554:13;7587:7;7580:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7507:95;:::o;9179:377::-;9272:4;9289:24;9316:11;:25;9328:12;:10;:12::i;:::-;9316:25;;;;;;;;;;;;;;;:34;9342:7;9316:34;;;;;;;;;;;;;;;;9289:61;;9389:15;9369:16;:35;;9361:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9457:67;9466:12;:10;:12::i;:::-;9480:7;9508:15;9489:16;:34;;;;:::i;:::-;9457:8;:67::i;:::-;9544:4;9537:11;;;9179:377;;;;:::o;7977:175::-;8063:4;8080:42;8090:12;:10;:12::i;:::-;8104:9;8115:6;8080:9;:42::i;:::-;8140:4;8133:11;;7977:175;;;;:::o;8166:151::-;8255:7;8282:11;:18;8294:5;8282:18;;;;;;;;;;;;;;;:27;8301:7;8282:27;;;;;;;;;;;;;;;;8275:34;;8166:151;;;;:::o;1507:98::-;1565:7;1596:1;1592;:5;;;;:::i;:::-;1585:12;;1507:98;;;;:::o;6766:::-;6819:7;6846:10;6839:17;;6766:98;:::o;11048:346::-;11167:1;11150:19;;:5;:19;;;;11142:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11248:1;11229:21;;:7;:21;;;;11221:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11332:6;11302:11;:18;11314:5;11302:18;;;;;;;;;;;;;;;:27;11321:7;11302:27;;;;;;;;;;;;;;;:36;;;;11370:7;11354:32;;11363:5;11354:32;;;11379:6;11354:32;;;;;;:::i;:::-;;;;;;;;11048:346;;;:::o;9570:604::-;9694:1;9676:20;;:6;:20;;;;9668:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9778:1;9757:23;;:9;:23;;;;9749:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9833:47;9854:6;9862:9;9873:6;9833:20;:47::i;:::-;9893:21;9917:9;:17;9927:6;9917:17;;;;;;;;;;;;;;;;9893:41;;9970:6;9953:13;:23;;9945:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10066:6;10050:13;:22;;;;:::i;:::-;10030:9;:17;10040:6;10030:17;;;;;;;;;;;;;;;:42;;;;10107:6;10083:9;:20;10093:9;10083:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;10148:9;10131:35;;10140:6;10131:35;;;10159:6;10131:35;;;;;;:::i;:::-;;;;;;;;9570:604;;;;:::o;11408:92::-;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;702:655::-;798:5;823:81;839:64;896:6;839:64;:::i;:::-;823:81;:::i;:::-;814:90;;924:5;953:6;946:5;939:21;987:4;980:5;976:16;969:23;;1013:6;1063:3;1055:4;1047:6;1043:17;1038:3;1034:27;1031:36;1028:2;;;1092:1;1089;1082:12;1028:2;1128:1;1113:238;1138:6;1135:1;1132:13;1113:238;;;1206:3;1235:37;1268:3;1256:10;1235:37;:::i;:::-;1230:3;1223:50;1302:4;1297:3;1293:14;1286:21;;1336:4;1331:3;1327:14;1320:21;;1173:178;1160:1;1157;1153:9;1148:14;;1113:238;;;1117:14;804:553;;;;;;;:::o;1363:139::-;1409:5;1447:6;1434:20;1425:29;;1463:33;1490:5;1463:33;:::i;:::-;1415:87;;;;:::o;1525:303::-;1596:5;1645:3;1638:4;1630:6;1626:17;1622:27;1612:2;;1663:1;1660;1653:12;1612:2;1703:6;1690:20;1728:94;1818:3;1810:6;1803:4;1795:6;1791:17;1728:94;:::i;:::-;1719:103;;1602:226;;;;;:::o;1851:303::-;1922:5;1971:3;1964:4;1956:6;1952:17;1948:27;1938:2;;1989:1;1986;1979:12;1938:2;2029:6;2016:20;2054:94;2144:3;2136:6;2129:4;2121:6;2117:17;2054:94;:::i;:::-;2045:103;;1928:226;;;;;:::o;2160:139::-;2206:5;2244:6;2231:20;2222:29;;2260:33;2287:5;2260:33;:::i;:::-;2212:87;;;;:::o;2305:262::-;2364:6;2413:2;2401:9;2392:7;2388:23;2384:32;2381:2;;;2429:1;2426;2419:12;2381:2;2472:1;2497:53;2542:7;2533:6;2522:9;2518:22;2497:53;:::i;:::-;2487:63;;2443:117;2371:196;;;;:::o;2573:407::-;2641:6;2649;2698:2;2686:9;2677:7;2673:23;2669:32;2666:2;;;2714:1;2711;2704:12;2666:2;2757:1;2782:53;2827:7;2818:6;2807:9;2803:22;2782:53;:::i;:::-;2772:63;;2728:117;2884:2;2910:53;2955:7;2946:6;2935:9;2931:22;2910:53;:::i;:::-;2900:63;;2855:118;2656:324;;;;;:::o;2986:552::-;3063:6;3071;3079;3128:2;3116:9;3107:7;3103:23;3099:32;3096:2;;;3144:1;3141;3134:12;3096:2;3187:1;3212:53;3257:7;3248:6;3237:9;3233:22;3212:53;:::i;:::-;3202:63;;3158:117;3314:2;3340:53;3385:7;3376:6;3365:9;3361:22;3340:53;:::i;:::-;3330:63;;3285:118;3442:2;3468:53;3513:7;3504:6;3493:9;3489:22;3468:53;:::i;:::-;3458:63;;3413:118;3086:452;;;;;:::o;3544:407::-;3612:6;3620;3669:2;3657:9;3648:7;3644:23;3640:32;3637:2;;;3685:1;3682;3675:12;3637:2;3728:1;3753:53;3798:7;3789:6;3778:9;3774:22;3753:53;:::i;:::-;3743:63;;3699:117;3855:2;3881:53;3926:7;3917:6;3906:9;3902:22;3881:53;:::i;:::-;3871:63;;3826:118;3627:324;;;;;:::o;3957:693::-;4075:6;4083;4132:2;4120:9;4111:7;4107:23;4103:32;4100:2;;;4148:1;4145;4138:12;4100:2;4219:1;4208:9;4204:17;4191:31;4249:18;4241:6;4238:30;4235:2;;;4281:1;4278;4271:12;4235:2;4309:78;4379:7;4370:6;4359:9;4355:22;4309:78;:::i;:::-;4299:88;;4162:235;4464:2;4453:9;4449:18;4436:32;4495:18;4487:6;4484:30;4481:2;;;4527:1;4524;4517:12;4481:2;4555:78;4625:7;4616:6;4605:9;4601:22;4555:78;:::i;:::-;4545:88;;4407:236;4090:560;;;;;:::o;4656:118::-;4743:24;4761:5;4743:24;:::i;:::-;4738:3;4731:37;4721:53;;:::o;4780:109::-;4861:21;4876:5;4861:21;:::i;:::-;4856:3;4849:34;4839:50;;:::o;4895:364::-;4983:3;5011:39;5044:5;5011:39;:::i;:::-;5066:71;5130:6;5125:3;5066:71;:::i;:::-;5059:78;;5146:52;5191:6;5186:3;5179:4;5172:5;5168:16;5146:52;:::i;:::-;5223:29;5245:6;5223:29;:::i;:::-;5218:3;5214:39;5207:46;;4987:272;;;;;:::o;5265:366::-;5407:3;5428:67;5492:2;5487:3;5428:67;:::i;:::-;5421:74;;5504:93;5593:3;5504:93;:::i;:::-;5622:2;5617:3;5613:12;5606:19;;5411:220;;;:::o;5637:366::-;5779:3;5800:67;5864:2;5859:3;5800:67;:::i;:::-;5793:74;;5876:93;5965:3;5876:93;:::i;:::-;5994:2;5989:3;5985:12;5978:19;;5783:220;;;:::o;6009:366::-;6151:3;6172:67;6236:2;6231:3;6172:67;:::i;:::-;6165:74;;6248:93;6337:3;6248:93;:::i;:::-;6366:2;6361:3;6357:12;6350:19;;6155:220;;;:::o;6381:366::-;6523:3;6544:67;6608:2;6603:3;6544:67;:::i;:::-;6537:74;;6620:93;6709:3;6620:93;:::i;:::-;6738:2;6733:3;6729:12;6722:19;;6527:220;;;:::o;6753:366::-;6895:3;6916:67;6980:2;6975:3;6916:67;:::i;:::-;6909:74;;6992:93;7081:3;6992:93;:::i;:::-;7110:2;7105:3;7101:12;7094:19;;6899:220;;;:::o;7125:366::-;7267:3;7288:67;7352:2;7347:3;7288:67;:::i;:::-;7281:74;;7364:93;7453:3;7364:93;:::i;:::-;7482:2;7477:3;7473:12;7466:19;;7271:220;;;:::o;7497:366::-;7639:3;7660:67;7724:2;7719:3;7660:67;:::i;:::-;7653:74;;7736:93;7825:3;7736:93;:::i;:::-;7854:2;7849:3;7845:12;7838:19;;7643:220;;;:::o;7869:118::-;7956:24;7974:5;7956:24;:::i;:::-;7951:3;7944:37;7934:53;;:::o;7993:112::-;8076:22;8092:5;8076:22;:::i;:::-;8071:3;8064:35;8054:51;;:::o;8111:222::-;8204:4;8242:2;8231:9;8227:18;8219:26;;8255:71;8323:1;8312:9;8308:17;8299:6;8255:71;:::i;:::-;8209:124;;;;:::o;8339:210::-;8426:4;8464:2;8453:9;8449:18;8441:26;;8477:65;8539:1;8528:9;8524:17;8515:6;8477:65;:::i;:::-;8431:118;;;;:::o;8555:313::-;8668:4;8706:2;8695:9;8691:18;8683:26;;8755:9;8749:4;8745:20;8741:1;8730:9;8726:17;8719:47;8783:78;8856:4;8847:6;8783:78;:::i;:::-;8775:86;;8673:195;;;;:::o;8874:419::-;9040:4;9078:2;9067:9;9063:18;9055:26;;9127:9;9121:4;9117:20;9113:1;9102:9;9098:17;9091:47;9155:131;9281:4;9155:131;:::i;:::-;9147:139;;9045:248;;;:::o;9299:419::-;9465:4;9503:2;9492:9;9488:18;9480:26;;9552:9;9546:4;9542:20;9538:1;9527:9;9523:17;9516:47;9580:131;9706:4;9580:131;:::i;:::-;9572:139;;9470:248;;;:::o;9724:419::-;9890:4;9928:2;9917:9;9913:18;9905:26;;9977:9;9971:4;9967:20;9963:1;9952:9;9948:17;9941:47;10005:131;10131:4;10005:131;:::i;:::-;9997:139;;9895:248;;;:::o;10149:419::-;10315:4;10353:2;10342:9;10338:18;10330:26;;10402:9;10396:4;10392:20;10388:1;10377:9;10373:17;10366:47;10430:131;10556:4;10430:131;:::i;:::-;10422:139;;10320:248;;;:::o;10574:419::-;10740:4;10778:2;10767:9;10763:18;10755:26;;10827:9;10821:4;10817:20;10813:1;10802:9;10798:17;10791:47;10855:131;10981:4;10855:131;:::i;:::-;10847:139;;10745:248;;;:::o;10999:419::-;11165:4;11203:2;11192:9;11188:18;11180:26;;11252:9;11246:4;11242:20;11238:1;11227:9;11223:17;11216:47;11280:131;11406:4;11280:131;:::i;:::-;11272:139;;11170:248;;;:::o;11424:419::-;11590:4;11628:2;11617:9;11613:18;11605:26;;11677:9;11671:4;11667:20;11663:1;11652:9;11648:17;11641:47;11705:131;11831:4;11705:131;:::i;:::-;11697:139;;11595:248;;;:::o;11849:222::-;11942:4;11980:2;11969:9;11965:18;11957:26;;11993:71;12061:1;12050:9;12046:17;12037:6;11993:71;:::i;:::-;11947:124;;;;:::o;12077:214::-;12166:4;12204:2;12193:9;12189:18;12181:26;;12217:67;12281:1;12270:9;12266:17;12257:6;12217:67;:::i;:::-;12171:120;;;;:::o;12297:129::-;12331:6;12358:20;;:::i;:::-;12348:30;;12387:33;12415:4;12407:6;12387:33;:::i;:::-;12338:88;;;:::o;12432:75::-;12465:6;12498:2;12492:9;12482:19;;12472:35;:::o;12513:311::-;12590:4;12680:18;12672:6;12669:30;12666:2;;;12702:18;;:::i;:::-;12666:2;12752:4;12744:6;12740:17;12732:25;;12812:4;12806;12802:15;12794:23;;12595:229;;;:::o;12830:311::-;12907:4;12997:18;12989:6;12986:30;12983:2;;;13019:18;;:::i;:::-;12983:2;13069:4;13061:6;13057:17;13049:25;;13129:4;13123;13119:15;13111:23;;12912:229;;;:::o;13147:99::-;13199:6;13233:5;13227:12;13217:22;;13206:40;;;:::o;13252:169::-;13336:11;13370:6;13365:3;13358:19;13410:4;13405:3;13401:14;13386:29;;13348:73;;;;:::o;13427:305::-;13467:3;13486:20;13504:1;13486:20;:::i;:::-;13481:25;;13520:20;13538:1;13520:20;:::i;:::-;13515:25;;13674:1;13606:66;13602:74;13599:1;13596:81;13593:2;;;13680:18;;:::i;:::-;13593:2;13724:1;13721;13717:9;13710:16;;13471:261;;;;:::o;13738:348::-;13778:7;13801:20;13819:1;13801:20;:::i;:::-;13796:25;;13835:20;13853:1;13835:20;:::i;:::-;13830:25;;14023:1;13955:66;13951:74;13948:1;13945:81;13940:1;13933:9;13926:17;13922:105;13919:2;;;14030:18;;:::i;:::-;13919:2;14078:1;14075;14071:9;14060:20;;13786:300;;;;:::o;14092:191::-;14132:4;14152:20;14170:1;14152:20;:::i;:::-;14147:25;;14186:20;14204:1;14186:20;:::i;:::-;14181:25;;14225:1;14222;14219:8;14216:2;;;14230:18;;:::i;:::-;14216:2;14275:1;14272;14268:9;14260:17;;14137:146;;;;:::o;14289:96::-;14326:7;14355:24;14373:5;14355:24;:::i;:::-;14344:35;;14334:51;;;:::o;14391:90::-;14425:7;14468:5;14461:13;14454:21;14443:32;;14433:48;;;:::o;14487:126::-;14524:7;14564:42;14557:5;14553:54;14542:65;;14532:81;;;:::o;14619:77::-;14656:7;14685:5;14674:16;;14664:32;;;:::o;14702:86::-;14737:7;14777:4;14770:5;14766:16;14755:27;;14745:43;;;:::o;14794:307::-;14862:1;14872:113;14886:6;14883:1;14880:13;14872:113;;;14971:1;14966:3;14962:11;14956:18;14952:1;14947:3;14943:11;14936:39;14908:2;14905:1;14901:10;14896:15;;14872:113;;;15003:6;15000:1;14997:13;14994:2;;;15083:1;15074:6;15069:3;15065:16;15058:27;14994:2;14843:258;;;;:::o;15107:320::-;15151:6;15188:1;15182:4;15178:12;15168:22;;15235:1;15229:4;15225:12;15256:18;15246:2;;15312:4;15304:6;15300:17;15290:27;;15246:2;15374;15366:6;15363:14;15343:18;15340:38;15337:2;;;15393:18;;:::i;:::-;15337:2;15158:269;;;;:::o;15433:281::-;15516:27;15538:4;15516:27;:::i;:::-;15508:6;15504:40;15646:6;15634:10;15631:22;15610:18;15598:10;15595:34;15592:62;15589:2;;;15657:18;;:::i;:::-;15589:2;15697:10;15693:2;15686:22;15476:238;;;:::o;15720:233::-;15759:3;15782:24;15800:5;15782:24;:::i;:::-;15773:33;;15828:66;15821:5;15818:77;15815:2;;;15898:18;;:::i;:::-;15815:2;15945:1;15938:5;15934:13;15927:20;;15763:190;;;:::o;15959:180::-;16007:77;16004:1;15997:88;16104:4;16101:1;16094:15;16128:4;16125:1;16118:15;16145:180;16193:77;16190:1;16183:88;16290:4;16287:1;16280:15;16314:4;16311:1;16304:15;16331:180;16379:77;16376:1;16369:88;16476:4;16473:1;16466:15;16500:4;16497:1;16490:15;16517:102;16558:6;16609:2;16605:7;16600:2;16593:5;16589:14;16585:28;16575:38;;16565:54;;;:::o;16625:222::-;16765:34;16761:1;16753:6;16749:14;16742:58;16834:5;16829:2;16821:6;16817:15;16810:30;16731:116;:::o;16853:221::-;16993:34;16989:1;16981:6;16977:14;16970:58;17062:4;17057:2;17049:6;17045:15;17038:29;16959:115;:::o;17080:225::-;17220:34;17216:1;17208:6;17204:14;17197:58;17289:8;17284:2;17276:6;17272:15;17265:33;17186:119;:::o;17311:227::-;17451:34;17447:1;17439:6;17435:14;17428:58;17520:10;17515:2;17507:6;17503:15;17496:35;17417:121;:::o;17544:224::-;17684:34;17680:1;17672:6;17668:14;17661:58;17753:7;17748:2;17740:6;17736:15;17729:32;17650:118;:::o;17774:223::-;17914:34;17910:1;17902:6;17898:14;17891:58;17983:6;17978:2;17970:6;17966:15;17959:31;17880:117;:::o;18003:224::-;18143:34;18139:1;18131:6;18127:14;18120:58;18212:7;18207:2;18199:6;18195:15;18188:32;18109:118;:::o;18233:122::-;18306:24;18324:5;18306:24;:::i;:::-;18299:5;18296:35;18286:2;;18345:1;18342;18335:12;18286:2;18276:79;:::o;18361:122::-;18434:24;18452:5;18434:24;:::i;:::-;18427:5;18424:35;18414:2;;18473:1;18470;18463:12;18414:2;18404:79;:::o

Swarm Source

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