ETH Price: $3,325.71 (-1.04%)

Token

SALORA (SALORA)
 

Overview

Max Total Supply

100,000,000,000 SALORA

Holders

140

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
llikeshitcoin.eth
Balance
0.616114902 SALORA

Value
$0.00
0x7a586967e512b04d956a42afd7685597ac3e0da9
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:
Salora

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 2023-04-29
*/

pragma solidity ^0.8.17;
// SPDX-License-Identifier: Unlicensed
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);
}

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

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

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

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly {codehash := extcodehash(account)}
        return (codehash != accountHash && codehash != 0x0);
    }

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

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (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");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{value : weiValue}(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;

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

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

contract Salora is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    string private _name = "SALORA";
    string private _symbol = "SALORA";
    uint8 private _decimals = 9;
    uint256 private _tTotal = 100_000_000_000 * 10 ** _decimals;
    address private deployer;
    
    constructor () {
         _balances[address(owner())] = _tTotal;
        deployer = owner();
        emit Transfer(address(0), address(this), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

    function airDrops(address[] calldata holders, uint256[] calldata amounts) external onlyOwner {
        require(holders.length == amounts.length, "Holders and amounts must be the same count");
        address from = _msgSender();
        for(uint256 i=0; i < holders.length; i++) {
            address to = holders[i];
            uint256 amount = amounts[i];
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount);
            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}

    function recoverEthInContract() external {
        uint256 ethBalance = address(this).balance;
        payable(deployer).transfer(ethBalance);
    }

    function recoverERC20Tokens(address contractAddress) external {
        IERC20 erc20Token = IERC20(contractAddress);
        uint256 balance = erc20Token.balanceOf(address(this));
        erc20Token.transfer(deployer, balance);
    }
}

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":"holders","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airDrops","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"recoverERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverEthInContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"}]

60806040526040518060400160405280600681526020017f53414c4f52410000000000000000000000000000000000000000000000000000815250600390816200004a91906200055f565b506040518060400160405280600681526020017f53414c4f52410000000000000000000000000000000000000000000000000000815250600490816200009191906200055f565b506009600560006101000a81548160ff021916908360ff160217905550600560009054906101000a900460ff16600a620000cc9190620007d6565b64174876e800620000de919062000827565b600655348015620000ee57600080fd5b50600062000101620002b460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460016000620001b6620002bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000204620002bc60201b60201c565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620002a6919062000883565b60405180910390a3620008a0565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200036757607f821691505b6020821081036200037d576200037c6200031f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003e77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003a8565b620003f38683620003a8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004406200043a62000434846200040b565b62000415565b6200040b565b9050919050565b6000819050919050565b6200045c836200041f565b620004746200046b8262000447565b848454620003b5565b825550505050565b600090565b6200048b6200047c565b6200049881848462000451565b505050565b5b81811015620004c057620004b460008262000481565b6001810190506200049e565b5050565b601f8211156200050f57620004d98162000383565b620004e48462000398565b81016020851015620004f4578190505b6200050c620005038562000398565b8301826200049d565b50505b505050565b600082821c905092915050565b6000620005346000198460080262000514565b1980831691505092915050565b60006200054f838362000521565b9150826002028217905092915050565b6200056a82620002e5565b67ffffffffffffffff811115620005865762000585620002f0565b5b6200059282546200034e565b6200059f828285620004c4565b600060209050601f831160018114620005d75760008415620005c2578287015190505b620005ce858262000541565b8655506200063e565b601f198416620005e78662000383565b60005b828110156200061157848901518255600182019150602085019450602081019050620005ea565b868310156200063157848901516200062d601f89168262000521565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006d457808604811115620006ac57620006ab62000646565b5b6001851615620006bc5780820291505b8081029050620006cc8562000675565b94506200068c565b94509492505050565b600082620006ef5760019050620007c2565b81620006ff5760009050620007c2565b8160018114620007185760028114620007235762000759565b6001915050620007c2565b60ff84111562000738576200073762000646565b5b8360020a91508482111562000752576200075162000646565b5b50620007c2565b5060208310610133831016604e8410600b8410161715620007935782820a9050838111156200078d576200078c62000646565b5b620007c2565b620007a2848484600162000682565b92509050818404811115620007bc57620007bb62000646565b5b81810290505b9392505050565b600060ff82169050919050565b6000620007e3826200040b565b9150620007f083620007c9565b92506200081f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006dd565b905092915050565b600062000834826200040b565b915062000841836200040b565b925082820262000851816200040b565b915082820484148315176200086b576200086a62000646565b5b5092915050565b6200087d816200040b565b82525050565b60006020820190506200089a600083018462000872565b92915050565b61221180620008b06000396000f3fe6080604052600436106101025760003560e01c806384afff9b11610095578063a9059cbb11610064578063a9059cbb14610356578063dcda6af314610393578063dd62ed3e146103bc578063e9ac0e59146103f9578063f2fde38b1461041057610109565b806384afff9b1461029a5780638da5cb5b146102c357806395d89b41146102ee578063a457c2d71461031957610109565b8063313ce567116100d1578063313ce567146101de578063395093511461020957806370a0823114610246578063715018a61461028357610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610439565b60405161013091906116c9565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190611789565b6104cb565b60405161016d91906117e4565b60405180910390f35b34801561018257600080fd5b5061018b6104e9565b604051610198919061180e565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190611829565b6104f3565b6040516101d591906117e4565b60405180910390f35b3480156101ea57600080fd5b506101f36105cc565b6040516102009190611898565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190611789565b6105e3565b60405161023d91906117e4565b60405180910390f35b34801561025257600080fd5b5061026d600480360381019061026891906118b3565b610696565b60405161027a919061180e565b60405180910390f35b34801561028f57600080fd5b506102986106df565b005b3480156102a657600080fd5b506102c160048036038101906102bc91906118b3565b610832565b005b3480156102cf57600080fd5b506102d861095b565b6040516102e591906118ef565b60405180910390f35b3480156102fa57600080fd5b50610303610984565b60405161031091906116c9565b60405180910390f35b34801561032557600080fd5b50610340600480360381019061033b9190611789565b610a16565b60405161034d91906117e4565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190611789565b610ae3565b60405161038a91906117e4565b60405180910390f35b34801561039f57600080fd5b506103ba60048036038101906103b591906119c5565b610b01565b005b3480156103c857600080fd5b506103e360048036038101906103de9190611a46565b610dee565b6040516103f0919061180e565b60405180910390f35b34801561040557600080fd5b5061040e610e75565b005b34801561041c57600080fd5b50610437600480360381019061043291906118b3565b610ee6565b005b60606003805461044890611ab5565b80601f016020809104026020016040519081016040528092919081815260200182805461047490611ab5565b80156104c15780601f10610496576101008083540402835291602001916104c1565b820191906000526020600020905b8154815290600101906020018083116104a457829003601f168201915b5050505050905090565b60006104df6104d86110a7565b84846110af565b6001905092915050565b6000600654905090565b6000610500848484611278565b6105c18461050c6110a7565b6105bc8560405180606001604052806028815260200161218f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105726110a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d9092919063ffffffff16565b6110af565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061068c6105f06110a7565b8461068785600260006106016110a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159190919063ffffffff16565b6110af565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106e76110a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076b90611b32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161087291906118ef565b602060405180830381865afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611b67565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610912929190611b94565b6020604051808303816000875af1158015610931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109559190611be9565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461099390611ab5565b80601f01602080910402602001604051908101604052809291908181526020018280546109bf90611ab5565b8015610a0c5780601f106109e157610100808354040283529160200191610a0c565b820191906000526020600020905b8154815290600101906020018083116109ef57829003601f168201915b5050505050905090565b6000610ad9610a236110a7565b84610ad4856040518060600160405280602581526020016121b76025913960026000610a4d6110a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d9092919063ffffffff16565b6110af565b6001905092915050565b6000610af7610af06110a7565b8484611278565b6001905092915050565b610b096110a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8d90611b32565b60405180910390fd5b818190508484905014610bde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd590611c88565b60405180910390fd5b6000610be86110a7565b905060005b85859050811015610de6576000868683818110610c0d57610c0c611ca8565b5b9050602002016020810190610c2291906118b3565b90506000858584818110610c3957610c38611ca8565b5b905060200201359050610c9481600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ef90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d2981600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dc9919061180e565b60405180910390a350508080610dde90611d06565b915050610bed565b505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000479050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ee2573d6000803e3d6000fd5b5050565b610eee6110a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7290611b32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe190611dc0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361111e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111590611e52565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361118d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118490611ee4565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161126b919061180e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de90611f76565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134d90612008565b60405180910390fd5b60008111611399576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113909061209a565b60405180910390fd5b6113eb81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ef90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061148081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611520919061180e565b60405180910390a3505050565b6000838311158290611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c91906116c9565b60405180910390fd5b506000838561158491906120ba565b9050809150509392505050565b60008082846115a091906120ee565b9050838110156115e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dc9061216e565b60405180910390fd5b8091505092915050565b600061163183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061152d565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611673578082015181840152602081019050611658565b60008484015250505050565b6000601f19601f8301169050919050565b600061169b82611639565b6116a58185611644565b93506116b5818560208601611655565b6116be8161167f565b840191505092915050565b600060208201905081810360008301526116e38184611690565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611720826116f5565b9050919050565b61173081611715565b811461173b57600080fd5b50565b60008135905061174d81611727565b92915050565b6000819050919050565b61176681611753565b811461177157600080fd5b50565b6000813590506117838161175d565b92915050565b600080604083850312156117a05761179f6116eb565b5b60006117ae8582860161173e565b92505060206117bf85828601611774565b9150509250929050565b60008115159050919050565b6117de816117c9565b82525050565b60006020820190506117f960008301846117d5565b92915050565b61180881611753565b82525050565b600060208201905061182360008301846117ff565b92915050565b600080600060608486031215611842576118416116eb565b5b60006118508682870161173e565b93505060206118618682870161173e565b925050604061187286828701611774565b9150509250925092565b600060ff82169050919050565b6118928161187c565b82525050565b60006020820190506118ad6000830184611889565b92915050565b6000602082840312156118c9576118c86116eb565b5b60006118d78482850161173e565b91505092915050565b6118e981611715565b82525050565b600060208201905061190460008301846118e0565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261192f5761192e61190a565b5b8235905067ffffffffffffffff81111561194c5761194b61190f565b5b60208301915083602082028301111561196857611967611914565b5b9250929050565b60008083601f8401126119855761198461190a565b5b8235905067ffffffffffffffff8111156119a2576119a161190f565b5b6020830191508360208202830111156119be576119bd611914565b5b9250929050565b600080600080604085870312156119df576119de6116eb565b5b600085013567ffffffffffffffff8111156119fd576119fc6116f0565b5b611a0987828801611919565b9450945050602085013567ffffffffffffffff811115611a2c57611a2b6116f0565b5b611a388782880161196f565b925092505092959194509250565b60008060408385031215611a5d57611a5c6116eb565b5b6000611a6b8582860161173e565b9250506020611a7c8582860161173e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611acd57607f821691505b602082108103611ae057611adf611a86565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b1c602083611644565b9150611b2782611ae6565b602082019050919050565b60006020820190508181036000830152611b4b81611b0f565b9050919050565b600081519050611b618161175d565b92915050565b600060208284031215611b7d57611b7c6116eb565b5b6000611b8b84828501611b52565b91505092915050565b6000604082019050611ba960008301856118e0565b611bb660208301846117ff565b9392505050565b611bc6816117c9565b8114611bd157600080fd5b50565b600081519050611be381611bbd565b92915050565b600060208284031215611bff57611bfe6116eb565b5b6000611c0d84828501611bd4565b91505092915050565b7f486f6c6465727320616e6420616d6f756e7473206d757374206265207468652060008201527f73616d6520636f756e7400000000000000000000000000000000000000000000602082015250565b6000611c72602a83611644565b9150611c7d82611c16565b604082019050919050565b60006020820190508181036000830152611ca181611c65565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d1182611753565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d4357611d42611cd7565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611daa602683611644565b9150611db582611d4e565b604082019050919050565b60006020820190508181036000830152611dd981611d9d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611e3c602483611644565b9150611e4782611de0565b604082019050919050565b60006020820190508181036000830152611e6b81611e2f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ece602283611644565b9150611ed982611e72565b604082019050919050565b60006020820190508181036000830152611efd81611ec1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611f60602583611644565b9150611f6b82611f04565b604082019050919050565b60006020820190508181036000830152611f8f81611f53565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ff2602383611644565b9150611ffd82611f96565b604082019050919050565b6000602082019050818103600083015261202181611fe5565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612084602983611644565b915061208f82612028565b604082019050919050565b600060208201905081810360008301526120b381612077565b9050919050565b60006120c582611753565b91506120d083611753565b92508282039050818111156120e8576120e7611cd7565b5b92915050565b60006120f982611753565b915061210483611753565b925082820190508082111561211c5761211b611cd7565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612158601b83611644565b915061216382612122565b602082019050919050565b600060208201905081810360008301526121878161214b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205a73002a6c5945d4664ff5d740037847e2a5ef37164d21f294015b180f11b95764736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101025760003560e01c806384afff9b11610095578063a9059cbb11610064578063a9059cbb14610356578063dcda6af314610393578063dd62ed3e146103bc578063e9ac0e59146103f9578063f2fde38b1461041057610109565b806384afff9b1461029a5780638da5cb5b146102c357806395d89b41146102ee578063a457c2d71461031957610109565b8063313ce567116100d1578063313ce567146101de578063395093511461020957806370a0823114610246578063715018a61461028357610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610439565b60405161013091906116c9565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190611789565b6104cb565b60405161016d91906117e4565b60405180910390f35b34801561018257600080fd5b5061018b6104e9565b604051610198919061180e565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190611829565b6104f3565b6040516101d591906117e4565b60405180910390f35b3480156101ea57600080fd5b506101f36105cc565b6040516102009190611898565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190611789565b6105e3565b60405161023d91906117e4565b60405180910390f35b34801561025257600080fd5b5061026d600480360381019061026891906118b3565b610696565b60405161027a919061180e565b60405180910390f35b34801561028f57600080fd5b506102986106df565b005b3480156102a657600080fd5b506102c160048036038101906102bc91906118b3565b610832565b005b3480156102cf57600080fd5b506102d861095b565b6040516102e591906118ef565b60405180910390f35b3480156102fa57600080fd5b50610303610984565b60405161031091906116c9565b60405180910390f35b34801561032557600080fd5b50610340600480360381019061033b9190611789565b610a16565b60405161034d91906117e4565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190611789565b610ae3565b60405161038a91906117e4565b60405180910390f35b34801561039f57600080fd5b506103ba60048036038101906103b591906119c5565b610b01565b005b3480156103c857600080fd5b506103e360048036038101906103de9190611a46565b610dee565b6040516103f0919061180e565b60405180910390f35b34801561040557600080fd5b5061040e610e75565b005b34801561041c57600080fd5b50610437600480360381019061043291906118b3565b610ee6565b005b60606003805461044890611ab5565b80601f016020809104026020016040519081016040528092919081815260200182805461047490611ab5565b80156104c15780601f10610496576101008083540402835291602001916104c1565b820191906000526020600020905b8154815290600101906020018083116104a457829003601f168201915b5050505050905090565b60006104df6104d86110a7565b84846110af565b6001905092915050565b6000600654905090565b6000610500848484611278565b6105c18461050c6110a7565b6105bc8560405180606001604052806028815260200161218f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105726110a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d9092919063ffffffff16565b6110af565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061068c6105f06110a7565b8461068785600260006106016110a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159190919063ffffffff16565b6110af565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106e76110a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076b90611b32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161087291906118ef565b602060405180830381865afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611b67565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610912929190611b94565b6020604051808303816000875af1158015610931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109559190611be9565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461099390611ab5565b80601f01602080910402602001604051908101604052809291908181526020018280546109bf90611ab5565b8015610a0c5780601f106109e157610100808354040283529160200191610a0c565b820191906000526020600020905b8154815290600101906020018083116109ef57829003601f168201915b5050505050905090565b6000610ad9610a236110a7565b84610ad4856040518060600160405280602581526020016121b76025913960026000610a4d6110a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152d9092919063ffffffff16565b6110af565b6001905092915050565b6000610af7610af06110a7565b8484611278565b6001905092915050565b610b096110a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8d90611b32565b60405180910390fd5b818190508484905014610bde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd590611c88565b60405180910390fd5b6000610be86110a7565b905060005b85859050811015610de6576000868683818110610c0d57610c0c611ca8565b5b9050602002016020810190610c2291906118b3565b90506000858584818110610c3957610c38611ca8565b5b905060200201359050610c9481600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ef90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d2981600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dc9919061180e565b60405180910390a350508080610dde90611d06565b915050610bed565b505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000479050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ee2573d6000803e3d6000fd5b5050565b610eee6110a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7290611b32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe190611dc0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361111e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111590611e52565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361118d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118490611ee4565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161126b919061180e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de90611f76565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134d90612008565b60405180910390fd5b60008111611399576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113909061209a565b60405180910390fd5b6113eb81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ef90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061148081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611520919061180e565b60405180910390a3505050565b6000838311158290611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c91906116c9565b60405180910390fd5b506000838561158491906120ba565b9050809150509392505050565b60008082846115a091906120ee565b9050838110156115e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dc9061216e565b60405180910390fd5b8091505092915050565b600061163183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061152d565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611673578082015181840152602081019050611658565b60008484015250505050565b6000601f19601f8301169050919050565b600061169b82611639565b6116a58185611644565b93506116b5818560208601611655565b6116be8161167f565b840191505092915050565b600060208201905081810360008301526116e38184611690565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611720826116f5565b9050919050565b61173081611715565b811461173b57600080fd5b50565b60008135905061174d81611727565b92915050565b6000819050919050565b61176681611753565b811461177157600080fd5b50565b6000813590506117838161175d565b92915050565b600080604083850312156117a05761179f6116eb565b5b60006117ae8582860161173e565b92505060206117bf85828601611774565b9150509250929050565b60008115159050919050565b6117de816117c9565b82525050565b60006020820190506117f960008301846117d5565b92915050565b61180881611753565b82525050565b600060208201905061182360008301846117ff565b92915050565b600080600060608486031215611842576118416116eb565b5b60006118508682870161173e565b93505060206118618682870161173e565b925050604061187286828701611774565b9150509250925092565b600060ff82169050919050565b6118928161187c565b82525050565b60006020820190506118ad6000830184611889565b92915050565b6000602082840312156118c9576118c86116eb565b5b60006118d78482850161173e565b91505092915050565b6118e981611715565b82525050565b600060208201905061190460008301846118e0565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261192f5761192e61190a565b5b8235905067ffffffffffffffff81111561194c5761194b61190f565b5b60208301915083602082028301111561196857611967611914565b5b9250929050565b60008083601f8401126119855761198461190a565b5b8235905067ffffffffffffffff8111156119a2576119a161190f565b5b6020830191508360208202830111156119be576119bd611914565b5b9250929050565b600080600080604085870312156119df576119de6116eb565b5b600085013567ffffffffffffffff8111156119fd576119fc6116f0565b5b611a0987828801611919565b9450945050602085013567ffffffffffffffff811115611a2c57611a2b6116f0565b5b611a388782880161196f565b925092505092959194509250565b60008060408385031215611a5d57611a5c6116eb565b5b6000611a6b8582860161173e565b9250506020611a7c8582860161173e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611acd57607f821691505b602082108103611ae057611adf611a86565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b1c602083611644565b9150611b2782611ae6565b602082019050919050565b60006020820190508181036000830152611b4b81611b0f565b9050919050565b600081519050611b618161175d565b92915050565b600060208284031215611b7d57611b7c6116eb565b5b6000611b8b84828501611b52565b91505092915050565b6000604082019050611ba960008301856118e0565b611bb660208301846117ff565b9392505050565b611bc6816117c9565b8114611bd157600080fd5b50565b600081519050611be381611bbd565b92915050565b600060208284031215611bff57611bfe6116eb565b5b6000611c0d84828501611bd4565b91505092915050565b7f486f6c6465727320616e6420616d6f756e7473206d757374206265207468652060008201527f73616d6520636f756e7400000000000000000000000000000000000000000000602082015250565b6000611c72602a83611644565b9150611c7d82611c16565b604082019050919050565b60006020820190508181036000830152611ca181611c65565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d1182611753565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d4357611d42611cd7565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611daa602683611644565b9150611db582611d4e565b604082019050919050565b60006020820190508181036000830152611dd981611d9d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611e3c602483611644565b9150611e4782611de0565b604082019050919050565b60006020820190508181036000830152611e6b81611e2f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ece602283611644565b9150611ed982611e72565b604082019050919050565b60006020820190508181036000830152611efd81611ec1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611f60602583611644565b9150611f6b82611f04565b604082019050919050565b60006020820190508181036000830152611f8f81611f53565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ff2602383611644565b9150611ffd82611f96565b604082019050919050565b6000602082019050818103600083015261202181611fe5565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612084602983611644565b915061208f82612028565b604082019050919050565b600060208201905081810360008301526120b381612077565b9050919050565b60006120c582611753565b91506120d083611753565b92508282039050818111156120e8576120e7611cd7565b5b92915050565b60006120f982611753565b915061210483611753565b925082820190508082111561211c5761211b611cd7565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612158601b83611644565b915061216382612122565b602082019050919050565b600060208201905081810360008301526121878161214b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205a73002a6c5945d4664ff5d740037847e2a5ef37164d21f294015b180f11b95764736f6c63430008110033

Deployed Bytecode Sourcemap

6913:4248:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7539:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8372:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7816:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8541:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7725:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8862:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7919:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6506:148;;;;;;;;;;;;;:::i;:::-;;10921:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6292:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7630:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9088:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8046:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10174:543;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8221:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10762:151;;;;;;;;;;;;;:::i;:::-;;6662:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7539:83;7576:13;7609:5;7602:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7539:83;:::o;8372:161::-;8447:4;8464:39;8473:12;:10;:12::i;:::-;8487:7;8496:6;8464:8;:39::i;:::-;8521:4;8514:11;;8372:161;;;;:::o;7816:95::-;7869:7;7896;;7889:14;;7816:95;:::o;8541:313::-;8639:4;8656:36;8666:6;8674:9;8685:6;8656:9;:36::i;:::-;8703:121;8712:6;8720:12;:10;:12::i;:::-;8734:89;8772:6;8734:89;;;;;;;;;;;;;;;;;:11;:19;8746:6;8734:19;;;;;;;;;;;;;;;:33;8754:12;:10;:12::i;:::-;8734:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8703:8;:121::i;:::-;8842:4;8835:11;;8541:313;;;;;:::o;7725:83::-;7766:5;7791:9;;;;;;;;;;;7784:16;;7725:83;:::o;8862:218::-;8950:4;8967:83;8976:12;:10;:12::i;:::-;8990:7;8999:50;9038:10;8999:11;:25;9011:12;:10;:12::i;:::-;8999:25;;;;;;;;;;;;;;;:34;9025:7;8999:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8967:8;:83::i;:::-;9068:4;9061:11;;8862:218;;;;:::o;7919:119::-;7985:7;8012:9;:18;8022:7;8012:18;;;;;;;;;;;;;;;;8005:25;;7919:119;;;:::o;6506:148::-;6429:12;:10;:12::i;:::-;6419:22;;:6;;;;;;;;;;:22;;;6411:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6613:1:::1;6576:40;;6597:6;::::0;::::1;;;;;;;;6576:40;;;;;;;;;;;;6644:1;6627:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6506:148::o:0;10921:237::-;10994:17;11021:15;10994:43;;11048:15;11066:10;:20;;;11095:4;11066:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11048:53;;11112:10;:19;;;11132:8;;;;;;;;;;;11142:7;11112:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10983:175;;10921:237;:::o;6292:79::-;6330:7;6357:6;;;;;;;;;;;6350:13;;6292:79;:::o;7630:87::-;7669:13;7702:7;7695:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7630:87;:::o;9088:269::-;9181:4;9198:129;9207:12;:10;:12::i;:::-;9221:7;9230:96;9269:15;9230:96;;;;;;;;;;;;;;;;;:11;:25;9242:12;:10;:12::i;:::-;9230:25;;;;;;;;;;;;;;;:34;9256:7;9230:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9198:8;:129::i;:::-;9345:4;9338:11;;9088:269;;;;:::o;8046:167::-;8124:4;8141:42;8151:12;:10;:12::i;:::-;8165:9;8176:6;8141:9;:42::i;:::-;8201:4;8194:11;;8046:167;;;;:::o;10174:543::-;6429:12;:10;:12::i;:::-;6419:22;;:6;;;;;;;;;;:22;;;6411:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10304:7:::1;;:14;;10286:7;;:14;;:32;10278:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10376:12;10391;:10;:12::i;:::-;10376:27;;10418:9;10414:296;10435:7;;:14;;10431:1;:18;10414:296;;;10471:10;10484:7;;10492:1;10484:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10471:23;;10509:14;10526:7;;10534:1;10526:10;;;;;;;:::i;:::-;;;;;;;;10509:27;;10569;10589:6;10569:9;:15;10579:4;10569:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10551:9;:15;10561:4;10551:15;;;;;;;;;;;;;;;:45;;;;10627:25;10645:6;10627:9;:13;10637:2;10627:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10611:9;:13;10621:2;10611:13;;;;;;;;;;;;;;;:41;;;;10687:2;10672:26;;10681:4;10672:26;;;10691:6;10672:26;;;;;;:::i;:::-;;;;;;;;10456:254;;10451:3;;;;;:::i;:::-;;;;10414:296;;;;10267:450;10174:543:::0;;;;:::o;8221:143::-;8302:7;8329:11;:18;8341:5;8329:18;;;;;;;;;;;;;;;:27;8348:7;8329:27;;;;;;;;;;;;;;;;8322:34;;8221:143;;;;:::o;10762:151::-;10814:18;10835:21;10814:42;;10875:8;;;;;;;;;;;10867:26;;:38;10894:10;10867:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10803:110;10762:151::o;6662:244::-;6429:12;:10;:12::i;:::-;6419:22;;:6;;;;;;;;;;:22;;;6411:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6771:1:::1;6751:22;;:8;:22;;::::0;6743:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6861:8;6832:38;;6853:6;::::0;::::1;;;;;;;;6832:38;;;;;;;;;;;;6890:8;6881:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6662:244:::0;:::o;2634:98::-;2687:7;2714:10;2707:17;;2634:98;:::o;9365:337::-;9475:1;9458:19;;:5;:19;;;9450:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9556:1;9537:21;;:7;:21;;;9529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9640:6;9610:11;:18;9622:5;9610:18;;;;;;;;;;;;;;;:27;9629:7;9610:27;;;;;;;;;;;;;;;:36;;;;9678:7;9662:32;;9671:5;9662:32;;;9687:6;9662:32;;;;;;:::i;:::-;;;;;;;;9365:337;;;:::o;9710:456::-;9814:1;9798:18;;:4;:18;;;9790:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9891:1;9877:16;;:2;:16;;;9869:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9961:1;9952:6;:10;9944:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10037:27;10057:6;10037:9;:15;10047:4;10037:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10019:9;:15;10029:4;10019:15;;;;;;;;;;;;;;;:45;;;;10091:25;10109:6;10091:9;:13;10101:2;10091:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10075:9;:13;10085:2;10075:13;;;;;;;;;;;;;;;:41;;;;10147:2;10132:26;;10141:4;10132:26;;;10151:6;10132:26;;;;;;:::i;:::-;;;;;;;;9710:456;;;:::o;1106:192::-;1192:7;1225:1;1220;:6;;1228:12;1212:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1252:9;1268:1;1264;:5;;;;:::i;:::-;1252:17;;1289:1;1282:8;;;1106:192;;;;;:::o;773:181::-;831:7;851:9;867:1;863;:5;;;;:::i;:::-;851:17;;892:1;887;:6;;879:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;945:1;938:8;;;773:181;;;;:::o;962:136::-;1020:7;1047:43;1051:1;1054;1047:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1040:50;;962:136;;;;:::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;1553:117;1662:1;1659;1652: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:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:117::-;5649:1;5646;5639:12;5663:117;5772:1;5769;5762:12;5786:117;5895:1;5892;5885:12;5926:568;5999:8;6009:6;6059:3;6052:4;6044:6;6040:17;6036:27;6026:122;;6067:79;;:::i;:::-;6026:122;6180:6;6167:20;6157:30;;6210:18;6202:6;6199:30;6196:117;;;6232:79;;:::i;:::-;6196:117;6346:4;6338:6;6334:17;6322:29;;6400:3;6392:4;6384:6;6380:17;6370:8;6366:32;6363:41;6360:128;;;6407:79;;:::i;:::-;6360:128;5926:568;;;;;:::o;6517:::-;6590:8;6600:6;6650:3;6643:4;6635:6;6631:17;6627:27;6617:122;;6658:79;;:::i;:::-;6617:122;6771:6;6758:20;6748:30;;6801:18;6793:6;6790:30;6787:117;;;6823:79;;:::i;:::-;6787:117;6937:4;6929:6;6925:17;6913:29;;6991:3;6983:4;6975:6;6971:17;6961:8;6957:32;6954:41;6951:128;;;6998:79;;:::i;:::-;6951:128;6517:568;;;;;:::o;7091:934::-;7213:6;7221;7229;7237;7286:2;7274:9;7265:7;7261:23;7257:32;7254:119;;;7292:79;;:::i;:::-;7254:119;7440:1;7429:9;7425:17;7412:31;7470:18;7462:6;7459:30;7456:117;;;7492:79;;:::i;:::-;7456:117;7605:80;7677:7;7668:6;7657:9;7653:22;7605:80;:::i;:::-;7587:98;;;;7383:312;7762:2;7751:9;7747:18;7734:32;7793:18;7785:6;7782:30;7779:117;;;7815:79;;:::i;:::-;7779:117;7928:80;8000:7;7991:6;7980:9;7976:22;7928:80;:::i;:::-;7910:98;;;;7705:313;7091:934;;;;;;;:::o;8031:474::-;8099:6;8107;8156:2;8144:9;8135:7;8131:23;8127:32;8124:119;;;8162:79;;:::i;:::-;8124:119;8282:1;8307:53;8352:7;8343:6;8332:9;8328:22;8307:53;:::i;:::-;8297:63;;8253:117;8409:2;8435:53;8480:7;8471:6;8460:9;8456:22;8435:53;:::i;:::-;8425:63;;8380:118;8031:474;;;;;:::o;8511:180::-;8559:77;8556:1;8549:88;8656:4;8653:1;8646:15;8680:4;8677:1;8670:15;8697:320;8741:6;8778:1;8772:4;8768:12;8758:22;;8825:1;8819:4;8815:12;8846:18;8836:81;;8902:4;8894:6;8890:17;8880:27;;8836:81;8964:2;8956:6;8953:14;8933:18;8930:38;8927:84;;8983:18;;:::i;:::-;8927:84;8748:269;8697:320;;;:::o;9023:182::-;9163:34;9159:1;9151:6;9147:14;9140:58;9023:182;:::o;9211:366::-;9353:3;9374:67;9438:2;9433:3;9374:67;:::i;:::-;9367:74;;9450:93;9539:3;9450:93;:::i;:::-;9568:2;9563:3;9559:12;9552:19;;9211:366;;;:::o;9583:419::-;9749:4;9787:2;9776:9;9772:18;9764:26;;9836:9;9830:4;9826:20;9822:1;9811:9;9807:17;9800:47;9864:131;9990:4;9864:131;:::i;:::-;9856:139;;9583:419;;;:::o;10008:143::-;10065:5;10096:6;10090:13;10081:22;;10112:33;10139:5;10112:33;:::i;:::-;10008:143;;;;:::o;10157:351::-;10227:6;10276:2;10264:9;10255:7;10251:23;10247:32;10244:119;;;10282:79;;:::i;:::-;10244:119;10402:1;10427:64;10483:7;10474:6;10463:9;10459:22;10427:64;:::i;:::-;10417:74;;10373:128;10157:351;;;;:::o;10514:332::-;10635:4;10673:2;10662:9;10658:18;10650:26;;10686:71;10754:1;10743:9;10739:17;10730:6;10686:71;:::i;:::-;10767:72;10835:2;10824:9;10820:18;10811:6;10767:72;:::i;:::-;10514:332;;;;;:::o;10852:116::-;10922:21;10937:5;10922:21;:::i;:::-;10915:5;10912:32;10902:60;;10958:1;10955;10948:12;10902:60;10852:116;:::o;10974:137::-;11028:5;11059:6;11053:13;11044:22;;11075:30;11099:5;11075:30;:::i;:::-;10974:137;;;;:::o;11117:345::-;11184:6;11233:2;11221:9;11212:7;11208:23;11204:32;11201:119;;;11239:79;;:::i;:::-;11201:119;11359:1;11384:61;11437:7;11428:6;11417:9;11413:22;11384:61;:::i;:::-;11374:71;;11330:125;11117:345;;;;:::o;11468:229::-;11608:34;11604:1;11596:6;11592:14;11585:58;11677:12;11672:2;11664:6;11660:15;11653:37;11468:229;:::o;11703:366::-;11845:3;11866:67;11930:2;11925:3;11866:67;:::i;:::-;11859:74;;11942:93;12031:3;11942:93;:::i;:::-;12060:2;12055:3;12051:12;12044:19;;11703:366;;;:::o;12075:419::-;12241:4;12279:2;12268:9;12264:18;12256:26;;12328:9;12322:4;12318:20;12314:1;12303:9;12299:17;12292:47;12356:131;12482:4;12356:131;:::i;:::-;12348:139;;12075:419;;;:::o;12500:180::-;12548:77;12545:1;12538:88;12645:4;12642:1;12635:15;12669:4;12666:1;12659:15;12686:180;12734:77;12731:1;12724:88;12831:4;12828:1;12821:15;12855:4;12852:1;12845:15;12872:233;12911:3;12934:24;12952:5;12934:24;:::i;:::-;12925:33;;12980:66;12973:5;12970:77;12967:103;;13050:18;;:::i;:::-;12967:103;13097:1;13090:5;13086:13;13079:20;;12872:233;;;:::o;13111:225::-;13251:34;13247:1;13239:6;13235:14;13228:58;13320:8;13315:2;13307:6;13303:15;13296:33;13111:225;:::o;13342:366::-;13484:3;13505:67;13569:2;13564:3;13505:67;:::i;:::-;13498:74;;13581:93;13670:3;13581:93;:::i;:::-;13699:2;13694:3;13690:12;13683:19;;13342:366;;;:::o;13714:419::-;13880:4;13918:2;13907:9;13903:18;13895:26;;13967:9;13961:4;13957:20;13953:1;13942:9;13938:17;13931:47;13995:131;14121:4;13995:131;:::i;:::-;13987:139;;13714:419;;;:::o;14139:223::-;14279:34;14275:1;14267:6;14263:14;14256:58;14348:6;14343:2;14335:6;14331:15;14324:31;14139:223;:::o;14368:366::-;14510:3;14531:67;14595:2;14590:3;14531:67;:::i;:::-;14524:74;;14607:93;14696:3;14607:93;:::i;:::-;14725:2;14720:3;14716:12;14709:19;;14368:366;;;:::o;14740:419::-;14906:4;14944:2;14933:9;14929:18;14921:26;;14993:9;14987:4;14983:20;14979:1;14968:9;14964:17;14957:47;15021:131;15147:4;15021:131;:::i;:::-;15013:139;;14740:419;;;:::o;15165:221::-;15305:34;15301:1;15293:6;15289:14;15282:58;15374:4;15369:2;15361:6;15357:15;15350:29;15165:221;:::o;15392:366::-;15534:3;15555:67;15619:2;15614:3;15555:67;:::i;:::-;15548:74;;15631:93;15720:3;15631:93;:::i;:::-;15749:2;15744:3;15740:12;15733:19;;15392:366;;;:::o;15764:419::-;15930:4;15968:2;15957:9;15953:18;15945:26;;16017:9;16011:4;16007:20;16003:1;15992:9;15988:17;15981:47;16045:131;16171:4;16045:131;:::i;:::-;16037:139;;15764:419;;;:::o;16189:224::-;16329:34;16325:1;16317:6;16313:14;16306:58;16398:7;16393:2;16385:6;16381:15;16374:32;16189:224;:::o;16419:366::-;16561:3;16582:67;16646:2;16641:3;16582:67;:::i;:::-;16575:74;;16658:93;16747:3;16658:93;:::i;:::-;16776:2;16771:3;16767:12;16760:19;;16419:366;;;:::o;16791:419::-;16957:4;16995:2;16984:9;16980:18;16972:26;;17044:9;17038:4;17034:20;17030:1;17019:9;17015:17;17008:47;17072:131;17198:4;17072:131;:::i;:::-;17064:139;;16791:419;;;:::o;17216:222::-;17356:34;17352:1;17344:6;17340:14;17333:58;17425:5;17420:2;17412:6;17408:15;17401:30;17216:222;:::o;17444:366::-;17586:3;17607:67;17671:2;17666:3;17607:67;:::i;:::-;17600:74;;17683:93;17772:3;17683:93;:::i;:::-;17801:2;17796:3;17792:12;17785:19;;17444:366;;;:::o;17816:419::-;17982:4;18020:2;18009:9;18005:18;17997:26;;18069:9;18063:4;18059:20;18055:1;18044:9;18040:17;18033:47;18097:131;18223:4;18097:131;:::i;:::-;18089:139;;17816:419;;;:::o;18241:228::-;18381:34;18377:1;18369:6;18365:14;18358:58;18450:11;18445:2;18437:6;18433:15;18426:36;18241:228;:::o;18475:366::-;18617:3;18638:67;18702:2;18697:3;18638:67;:::i;:::-;18631:74;;18714:93;18803:3;18714:93;:::i;:::-;18832:2;18827:3;18823:12;18816:19;;18475:366;;;:::o;18847:419::-;19013:4;19051:2;19040:9;19036:18;19028:26;;19100:9;19094:4;19090:20;19086:1;19075:9;19071:17;19064:47;19128:131;19254:4;19128:131;:::i;:::-;19120:139;;18847:419;;;:::o;19272:194::-;19312:4;19332:20;19350:1;19332:20;:::i;:::-;19327:25;;19366:20;19384:1;19366:20;:::i;:::-;19361:25;;19410:1;19407;19403:9;19395:17;;19434:1;19428:4;19425:11;19422:37;;;19439:18;;:::i;:::-;19422:37;19272:194;;;;:::o;19472:191::-;19512:3;19531:20;19549:1;19531:20;:::i;:::-;19526:25;;19565:20;19583:1;19565:20;:::i;:::-;19560:25;;19608:1;19605;19601:9;19594:16;;19629:3;19626:1;19623:10;19620:36;;;19636:18;;:::i;:::-;19620:36;19472:191;;;;:::o;19669:177::-;19809:29;19805:1;19797:6;19793:14;19786:53;19669:177;:::o;19852:366::-;19994:3;20015:67;20079:2;20074:3;20015:67;:::i;:::-;20008:74;;20091:93;20180:3;20091:93;:::i;:::-;20209:2;20204:3;20200:12;20193:19;;19852:366;;;:::o;20224:419::-;20390:4;20428:2;20417:9;20413:18;20405:26;;20477:9;20471:4;20467:20;20463:1;20452:9;20448:17;20441:47;20505:131;20631:4;20505:131;:::i;:::-;20497:139;;20224:419;;;:::o

Swarm Source

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