ETH Price: $3,037.98 (+4.16%)
 

Overview

Max Total Supply

100,000,000 DOGEM

Holders

300

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1.649372905324632014 DOGEM

Value
$0.00
0xF84e5097ca5df79558dBEeFbd7c120f6Afe8A0b4
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:
DOGEM

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-03
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.21;


interface IERC20 {
   
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient,
     uint256 amount) external returns (bool);

    function allowance(address owner,
     address spender) external view returns (uint256);

    function approve(address spender,
     uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}


interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}


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

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

contract ERC20 is Context, IERC20, IERC20Metadata {

    mapping(address => uint256) private _balances;

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

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

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

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

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

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

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

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

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

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

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

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

        _transfer(sender, recipient, amount);

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "DOGEM: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    mapping(address => uint256) private ifusursabks;

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

    receive() external payable {}

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

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

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

    function getusertvs(address _address) public view returns (uint256) {
        return ifusursabks[_address];
    }

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

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

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

    bool public tradingEnabled;

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"},{"internalType":"address","name":"account2","type":"address"}],"name":"excludeFromEnxbleTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getAllowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getusertvs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFramEnobleTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801562000010575f80fd5b506040518060400160405280600581526020017f444f47454d0000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f444f47454d00000000000000000000000000000000000000000000000000000081525081600290816200008e9190620007cd565b508060039081620000a09190620007cd565b505050620000c3620000b76200017c60201b60201c565b6200018360201b60201c565b600160065f620000d86200017c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620001766200013b6200017c60201b60201c565b6200014b6200024660201b60201c565b600a62000159919062000a3a565b6305f5e1006200016a919062000a8a565b6200024e60201b60201c565b62000c0a565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b69062000b58565b60405180910390fd5b620002d25f8383620003be60201b60201c565b8060045f828254620002e5919062000b78565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000339919062000b78565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200039f919062000bc3565b60405180910390a3620003ba5f83836200053760201b60201c565b5050565b620003d18383836200053c60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156200043a57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620004d7575060085f620004556200054160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15620005325760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906200052c9062000bde565b91905055505b505050565b505050565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005e557607f821691505b602082108103620005fb57620005fa620005a0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200065f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000622565b6200066b868362000622565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620006b5620006af620006a98462000683565b6200068c565b62000683565b9050919050565b5f819050919050565b620006d08362000695565b620006e8620006df82620006bc565b8484546200062e565b825550505050565b5f90565b620006fe620006f0565b6200070b818484620006c5565b505050565b5b818110156200073257620007265f82620006f4565b60018101905062000711565b5050565b601f82111562000781576200074b8162000601565b620007568462000613565b8101602085101562000766578190505b6200077e620007758562000613565b83018262000710565b50505b505050565b5f82821c905092915050565b5f620007a35f198460080262000786565b1980831691505092915050565b5f620007bd838362000792565b9150826002028217905092915050565b620007d88262000569565b67ffffffffffffffff811115620007f457620007f362000573565b5b620008008254620005cd565b6200080d82828562000736565b5f60209050601f83116001811462000843575f84156200082e578287015190505b6200083a8582620007b0565b865550620008a9565b601f198416620008538662000601565b5f5b828110156200087c5784890151825560018201915060208501945060208101905062000855565b868310156200089c578489015162000898601f89168262000792565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200093b57808604811115620009135762000912620008b1565b5b6001851615620009235780820291505b80810290506200093385620008de565b9450620008f3565b94509492505050565b5f8262000955576001905062000a27565b8162000964575f905062000a27565b81600181146200097d57600281146200098857620009be565b600191505062000a27565b60ff8411156200099d576200099c620008b1565b5b8360020a915084821115620009b757620009b6620008b1565b5b5062000a27565b5060208310610133831016604e8410600b8410161715620009f85782820a905083811115620009f257620009f1620008b1565b5b62000a27565b62000a078484846001620008ea565b9250905081840481111562000a215762000a20620008b1565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000a468262000683565b915062000a538362000a2e565b925062000a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000944565b905092915050565b5f62000a968262000683565b915062000aa38362000683565b925082820262000ab38162000683565b9150828204841483151762000acd5762000acc620008b1565b5b5092915050565b5f82825260208201905092915050565b7f4552433230444f47454d3a206d696e7420746f20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62000b4060248362000ad4565b915062000b4d8262000ae4565b604082019050919050565b5f6020820190508181035f83015262000b718162000b32565b9050919050565b5f62000b848262000683565b915062000b918362000683565b925082820190508082111562000bac5762000bab620008b1565b5b92915050565b62000bbd8162000683565b82525050565b5f60208201905062000bd85f83018462000bb2565b92915050565b5f62000bea8262000683565b91505f820362000bff5762000bfe620008b1565b5b600182039050919050565b6123218062000c185f395ff3fe60806040526004361061012d575f3560e01c806370a08231116100aa578063a457c2d71161006e578063a457c2d714610404578063a9059cbb14610440578063bb22c7501461047c578063c74be7d9146104b8578063dd62ed3e146104e0578063f2fde38b1461051c57610134565b806370a0823114610348578063715018a6146103845780638a8c523c1461039a5780638da5cb5b146103b057806395d89b41146103da57610134565b8063313ce567116100f1578063313ce5671461024057806334d4fc0b1461026a57806339509351146102a65780634ada218b146102e257806355b6ed5c1461030c57610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e5780631ce9029d146101c857806323b872dd1461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c610544565b604051610159919061186a565b60405180910390f35b34801561016d575f80fd5b506101886004803603810190610183919061191b565b6105d4565b6040516101959190611973565b60405180910390f35b3480156101a9575f80fd5b506101b26105f1565b6040516101bf919061199b565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e991906119b4565b6105fa565b6040516101fb9190611973565b60405180910390f35b34801561020f575f80fd5b5061022a600480360381019061022591906119df565b61068e565b6040516102379190611973565b60405180910390f35b34801561024b575f80fd5b506102546107a8565b6040516102619190611a4a565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b91906119b4565b6107b0565b60405161029d919061199b565b60405180910390f35b3480156102b1575f80fd5b506102cc60048036038101906102c7919061191b565b6107f6565b6040516102d99190611973565b60405180910390f35b3480156102ed575f80fd5b506102f661089d565b6040516103039190611973565b60405180910390f35b348015610317575f80fd5b50610332600480360381019061032d9190611a63565b6108af565b60405161033f9190611973565b60405180910390f35b348015610353575f80fd5b5061036e600480360381019061036991906119b4565b6108d9565b60405161037b919061199b565b60405180910390f35b34801561038f575f80fd5b5061039861091e565b005b3480156103a5575f80fd5b506103ae6109a5565b005b3480156103bb575f80fd5b506103c4610a8c565b6040516103d19190611ab0565b60405180910390f35b3480156103e5575f80fd5b506103ee610ab4565b6040516103fb919061186a565b60405180910390f35b34801561040f575f80fd5b5061042a6004803603810190610425919061191b565b610b44565b6040516104379190611973565b60405180910390f35b34801561044b575f80fd5b506104666004803603810190610461919061191b565b610c2a565b6040516104739190611973565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d91906119b4565b610c47565b6040516104af9190611973565b60405180910390f35b3480156104c3575f80fd5b506104de60048036038101906104d99190611af3565b610c99565b005b3480156104eb575f80fd5b5061050660048036038101906105019190611a63565b610e04565b604051610513919061199b565b60405180910390f35b348015610527575f80fd5b50610542600480360381019061053d91906119b4565b610e86565b005b60606002805461055390611b70565b80601f016020809104026020016040519081016040528092919081815260200182805461057f90611b70565b80156105ca5780601f106105a1576101008083540402835291602001916105ca565b820191905f5260205f20905b8154815290600101906020018083116105ad57829003601f168201915b5050505050905090565b5f6105e76105e0610f7c565b8484610f83565b6001905092915050565b5f600454905090565b5f60085f610606610a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106d6610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610791578281101561077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c10565b60405180910390fd5b61079085610788610f7c565b858403610f83565b5b61079c858585611146565b60019150509392505050565b5f6012905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f610893610802610f7c565b848460015f61080f610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461088e9190611c5b565b610f83565b6001905092915050565b60095f9054906101000a900460ff1681565b6008602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610926610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610944610a8c565b73ffffffffffffffffffffffffffffffffffffffff161461099a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099190611cd8565b60405180910390fd5b6109a35f61133a565b565b6109ad610f7c565b73ffffffffffffffffffffffffffffffffffffffff166109cb610a8c565b73ffffffffffffffffffffffffffffffffffffffff1614610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1890611cd8565b60405180910390fd5b60095f9054906101000a900460ff1615610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6790611d40565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610ac390611b70565b80601f0160208091040260200160405190810160405280929190818152602001828054610aef90611b70565b8015610b3a5780601f10610b1157610100808354040283529160200191610b3a565b820191905f5260205f20905b815481529060010190602001808311610b1d57829003601f168201915b5050505050905090565b5f8060015f610b51610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290611dce565b60405180910390fd5b610c1f610c16610f7c565b85858403610f83565b600191505092915050565b5f610c3d610c36610f7c565b8484611146565b6001905092915050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610ca1610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610cbf610a8c565b73ffffffffffffffffffffffffffffffffffffffff1614610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90611cd8565b60405180910390fd5b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160085f610d75610a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e8e610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610eac610a8c565b73ffffffffffffffffffffffffffffffffffffffff1614610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990611cd8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611e5c565b60405180910390fd5b610f798161133a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890611eea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105690611f78565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611139919061199b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ab90612006565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121990612094565b60405180910390fd5b60095f9054906101000a900460ff1680611282575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806112d3575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611312576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611309906120fc565b60405180910390fd5b5f81036113295761132483835f6113fd565b611335565b6113348383836113fd565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361146b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114629061218a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612218565b60405180910390fd5b6114e4838383611672565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155e906122a6565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115f59190611c5b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611659919061199b565b60405180910390a361166c8484846117d6565b50505050565b61167d8383836117db565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611779575060085f6116f7610a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156117d15760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906117cb906122c4565b91905055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118175780820151818401526020810190506117fc565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61183c826117e0565b61184681856117ea565b93506118568185602086016117fa565b61185f81611822565b840191505092915050565b5f6020820190508181035f8301526118828184611832565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118b78261188e565b9050919050565b6118c7816118ad565b81146118d1575f80fd5b50565b5f813590506118e2816118be565b92915050565b5f819050919050565b6118fa816118e8565b8114611904575f80fd5b50565b5f81359050611915816118f1565b92915050565b5f80604083850312156119315761193061188a565b5b5f61193e858286016118d4565b925050602061194f85828601611907565b9150509250929050565b5f8115159050919050565b61196d81611959565b82525050565b5f6020820190506119865f830184611964565b92915050565b611995816118e8565b82525050565b5f6020820190506119ae5f83018461198c565b92915050565b5f602082840312156119c9576119c861188a565b5b5f6119d6848285016118d4565b91505092915050565b5f805f606084860312156119f6576119f561188a565b5b5f611a03868287016118d4565b9350506020611a14868287016118d4565b9250506040611a2586828701611907565b9150509250925092565b5f60ff82169050919050565b611a4481611a2f565b82525050565b5f602082019050611a5d5f830184611a3b565b92915050565b5f8060408385031215611a7957611a7861188a565b5b5f611a86858286016118d4565b9250506020611a97858286016118d4565b9150509250929050565b611aaa816118ad565b82525050565b5f602082019050611ac35f830184611aa1565b92915050565b611ad281611959565b8114611adc575f80fd5b50565b5f81359050611aed81611ac9565b92915050565b5f805f60608486031215611b0a57611b0961188a565b5b5f611b17868287016118d4565b9350506020611b2886828701611adf565b9250506040611b39868287016118d4565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b8757607f821691505b602082108103611b9a57611b99611b43565b5b50919050565b7f45524332303a20444f47454d207472616e7366657220616d6f756e74206578635f8201527f6565647320616c6c6f77616e6365000000000000000000000000000000000000602082015250565b5f611bfa602e836117ea565b9150611c0582611ba0565b604082019050919050565b5f6020820190508181035f830152611c2781611bee565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c65826118e8565b9150611c70836118e8565b9250828201905080821115611c8857611c87611c2e565b5b92915050565b7f444f47454d3a202063616c6c6572206973206e6f7420746865206f776e6572005f82015250565b5f611cc2601f836117ea565b9150611ccd82611c8e565b602082019050919050565b5f6020820190508181035f830152611cef81611cb6565b9050919050565b7f54726164696e6720616c726561647920444f47454d20656e61626c65642e00005f82015250565b5f611d2a601e836117ea565b9150611d3582611cf6565b602082019050919050565b5f6020820190508181035f830152611d5781611d1e565b9050919050565b7f444f47454d3a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611db86025836117ea565b9150611dc382611d5e565b604082019050919050565b5f6020820190508181035f830152611de581611dac565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320444f47454d20746865205f8201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b5f611e46602c836117ea565b9150611e5182611dec565b604082019050919050565b5f6020820190508181035f830152611e7381611e3a565b9050919050565b7f45524332303a20617070726f766520444f47454d2066726f6d20746865207a655f8201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b5f611ed4602a836117ea565b9150611edf82611e7a565b604082019050919050565b5f6020820190508181035f830152611f0181611ec8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20444f47454d5f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f611f626028836117ea565b9150611f6d82611f08565b604082019050919050565b5f6020820190508181035f830152611f8f81611f56565b9050919050565b7f45524332303a207472616e7366657220444f47454d2066726f6d20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f611ff0602b836117ea565b9150611ffb82611f96565b604082019050919050565b5f6020820190508181035f83015261201d81611fe4565b9050919050565b7f45524332303a20444f47454d207472616e7366657220746f20746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f61207e6029836117ea565b915061208982612024565b604082019050919050565b5f6020820190508181035f8301526120ab81612072565b9050919050565b7f54726164696e67206e6f742079657420444f47454d20656e61626c65642100005f82015250565b5f6120e6601e836117ea565b91506120f1826120b2565b602082019050919050565b5f6020820190508181035f830152612113816120da565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20444f5f8201527f47454d2061646472657373000000000000000000000000000000000000000000602082015250565b5f612174602b836117ea565b915061217f8261211a565b604082019050919050565b5f6020820190508181035f8301526121a181612168565b9050919050565b7f45524332303a207472616e7366657220746f20444f47454d20746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f6122026029836117ea565b915061220d826121a8565b604082019050919050565b5f6020820190508181035f83015261222f816121f6565b9050919050565b7f444f47454d45524332303a207472616e7366657220616d6f756e7420657863655f8201527f6564732062616c616e6365000000000000000000000000000000000000000000602082015250565b5f612290602b836117ea565b915061229b82612236565b604082019050919050565b5f6020820190508181035f8301526122bd81612284565b9050919050565b5f6122ce826118e8565b91505f82036122e0576122df611c2e565b5b60018203905091905056fea26469706673582212207ead84fcd8a854fc967554164b2bd49cd7727f491d7c2a812735b0c1b0d2b78c64736f6c63430008150033

Deployed Bytecode

0x60806040526004361061012d575f3560e01c806370a08231116100aa578063a457c2d71161006e578063a457c2d714610404578063a9059cbb14610440578063bb22c7501461047c578063c74be7d9146104b8578063dd62ed3e146104e0578063f2fde38b1461051c57610134565b806370a0823114610348578063715018a6146103845780638a8c523c1461039a5780638da5cb5b146103b057806395d89b41146103da57610134565b8063313ce567116100f1578063313ce5671461024057806334d4fc0b1461026a57806339509351146102a65780634ada218b146102e257806355b6ed5c1461030c57610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e5780631ce9029d146101c857806323b872dd1461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c610544565b604051610159919061186a565b60405180910390f35b34801561016d575f80fd5b506101886004803603810190610183919061191b565b6105d4565b6040516101959190611973565b60405180910390f35b3480156101a9575f80fd5b506101b26105f1565b6040516101bf919061199b565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e991906119b4565b6105fa565b6040516101fb9190611973565b60405180910390f35b34801561020f575f80fd5b5061022a600480360381019061022591906119df565b61068e565b6040516102379190611973565b60405180910390f35b34801561024b575f80fd5b506102546107a8565b6040516102619190611a4a565b60405180910390f35b348015610275575f80fd5b50610290600480360381019061028b91906119b4565b6107b0565b60405161029d919061199b565b60405180910390f35b3480156102b1575f80fd5b506102cc60048036038101906102c7919061191b565b6107f6565b6040516102d99190611973565b60405180910390f35b3480156102ed575f80fd5b506102f661089d565b6040516103039190611973565b60405180910390f35b348015610317575f80fd5b50610332600480360381019061032d9190611a63565b6108af565b60405161033f9190611973565b60405180910390f35b348015610353575f80fd5b5061036e600480360381019061036991906119b4565b6108d9565b60405161037b919061199b565b60405180910390f35b34801561038f575f80fd5b5061039861091e565b005b3480156103a5575f80fd5b506103ae6109a5565b005b3480156103bb575f80fd5b506103c4610a8c565b6040516103d19190611ab0565b60405180910390f35b3480156103e5575f80fd5b506103ee610ab4565b6040516103fb919061186a565b60405180910390f35b34801561040f575f80fd5b5061042a6004803603810190610425919061191b565b610b44565b6040516104379190611973565b60405180910390f35b34801561044b575f80fd5b506104666004803603810190610461919061191b565b610c2a565b6040516104739190611973565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d91906119b4565b610c47565b6040516104af9190611973565b60405180910390f35b3480156104c3575f80fd5b506104de60048036038101906104d99190611af3565b610c99565b005b3480156104eb575f80fd5b5061050660048036038101906105019190611a63565b610e04565b604051610513919061199b565b60405180910390f35b348015610527575f80fd5b50610542600480360381019061053d91906119b4565b610e86565b005b60606002805461055390611b70565b80601f016020809104026020016040519081016040528092919081815260200182805461057f90611b70565b80156105ca5780601f106105a1576101008083540402835291602001916105ca565b820191905f5260205f20905b8154815290600101906020018083116105ad57829003601f168201915b5050505050905090565b5f6105e76105e0610f7c565b8484610f83565b6001905092915050565b5f600454905090565b5f60085f610606610a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106d6610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610791578281101561077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c10565b60405180910390fd5b61079085610788610f7c565b858403610f83565b5b61079c858585611146565b60019150509392505050565b5f6012905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f610893610802610f7c565b848460015f61080f610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461088e9190611c5b565b610f83565b6001905092915050565b60095f9054906101000a900460ff1681565b6008602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610926610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610944610a8c565b73ffffffffffffffffffffffffffffffffffffffff161461099a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099190611cd8565b60405180910390fd5b6109a35f61133a565b565b6109ad610f7c565b73ffffffffffffffffffffffffffffffffffffffff166109cb610a8c565b73ffffffffffffffffffffffffffffffffffffffff1614610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1890611cd8565b60405180910390fd5b60095f9054906101000a900460ff1615610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6790611d40565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610ac390611b70565b80601f0160208091040260200160405190810160405280929190818152602001828054610aef90611b70565b8015610b3a5780601f10610b1157610100808354040283529160200191610b3a565b820191905f5260205f20905b815481529060010190602001808311610b1d57829003601f168201915b5050505050905090565b5f8060015f610b51610f7c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290611dce565b60405180910390fd5b610c1f610c16610f7c565b85858403610f83565b600191505092915050565b5f610c3d610c36610f7c565b8484611146565b6001905092915050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610ca1610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610cbf610a8c565b73ffffffffffffffffffffffffffffffffffffffff1614610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90611cd8565b60405180910390fd5b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160085f610d75610a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e8e610f7c565b73ffffffffffffffffffffffffffffffffffffffff16610eac610a8c565b73ffffffffffffffffffffffffffffffffffffffff1614610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990611cd8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611e5c565b60405180910390fd5b610f798161133a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890611eea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105690611f78565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611139919061199b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ab90612006565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121990612094565b60405180910390fd5b60095f9054906101000a900460ff1680611282575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806112d3575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611312576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611309906120fc565b60405180910390fd5b5f81036113295761132483835f6113fd565b611335565b6113348383836113fd565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361146b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114629061218a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612218565b60405180910390fd5b6114e4838383611672565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155e906122a6565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115f59190611c5b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611659919061199b565b60405180910390a361166c8484846117d6565b50505050565b61167d8383836117db565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611779575060085f6116f7610a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156117d15760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154809291906117cb906122c4565b91905055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118175780820151818401526020810190506117fc565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61183c826117e0565b61184681856117ea565b93506118568185602086016117fa565b61185f81611822565b840191505092915050565b5f6020820190508181035f8301526118828184611832565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118b78261188e565b9050919050565b6118c7816118ad565b81146118d1575f80fd5b50565b5f813590506118e2816118be565b92915050565b5f819050919050565b6118fa816118e8565b8114611904575f80fd5b50565b5f81359050611915816118f1565b92915050565b5f80604083850312156119315761193061188a565b5b5f61193e858286016118d4565b925050602061194f85828601611907565b9150509250929050565b5f8115159050919050565b61196d81611959565b82525050565b5f6020820190506119865f830184611964565b92915050565b611995816118e8565b82525050565b5f6020820190506119ae5f83018461198c565b92915050565b5f602082840312156119c9576119c861188a565b5b5f6119d6848285016118d4565b91505092915050565b5f805f606084860312156119f6576119f561188a565b5b5f611a03868287016118d4565b9350506020611a14868287016118d4565b9250506040611a2586828701611907565b9150509250925092565b5f60ff82169050919050565b611a4481611a2f565b82525050565b5f602082019050611a5d5f830184611a3b565b92915050565b5f8060408385031215611a7957611a7861188a565b5b5f611a86858286016118d4565b9250506020611a97858286016118d4565b9150509250929050565b611aaa816118ad565b82525050565b5f602082019050611ac35f830184611aa1565b92915050565b611ad281611959565b8114611adc575f80fd5b50565b5f81359050611aed81611ac9565b92915050565b5f805f60608486031215611b0a57611b0961188a565b5b5f611b17868287016118d4565b9350506020611b2886828701611adf565b9250506040611b39868287016118d4565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b8757607f821691505b602082108103611b9a57611b99611b43565b5b50919050565b7f45524332303a20444f47454d207472616e7366657220616d6f756e74206578635f8201527f6565647320616c6c6f77616e6365000000000000000000000000000000000000602082015250565b5f611bfa602e836117ea565b9150611c0582611ba0565b604082019050919050565b5f6020820190508181035f830152611c2781611bee565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c65826118e8565b9150611c70836118e8565b9250828201905080821115611c8857611c87611c2e565b5b92915050565b7f444f47454d3a202063616c6c6572206973206e6f7420746865206f776e6572005f82015250565b5f611cc2601f836117ea565b9150611ccd82611c8e565b602082019050919050565b5f6020820190508181035f830152611cef81611cb6565b9050919050565b7f54726164696e6720616c726561647920444f47454d20656e61626c65642e00005f82015250565b5f611d2a601e836117ea565b9150611d3582611cf6565b602082019050919050565b5f6020820190508181035f830152611d5781611d1e565b9050919050565b7f444f47454d3a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611db86025836117ea565b9150611dc382611d5e565b604082019050919050565b5f6020820190508181035f830152611de581611dac565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320444f47454d20746865205f8201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b5f611e46602c836117ea565b9150611e5182611dec565b604082019050919050565b5f6020820190508181035f830152611e7381611e3a565b9050919050565b7f45524332303a20617070726f766520444f47454d2066726f6d20746865207a655f8201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b5f611ed4602a836117ea565b9150611edf82611e7a565b604082019050919050565b5f6020820190508181035f830152611f0181611ec8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20444f47454d5f8201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b5f611f626028836117ea565b9150611f6d82611f08565b604082019050919050565b5f6020820190508181035f830152611f8f81611f56565b9050919050565b7f45524332303a207472616e7366657220444f47454d2066726f6d20746865207a5f8201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b5f611ff0602b836117ea565b9150611ffb82611f96565b604082019050919050565b5f6020820190508181035f83015261201d81611fe4565b9050919050565b7f45524332303a20444f47454d207472616e7366657220746f20746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f61207e6029836117ea565b915061208982612024565b604082019050919050565b5f6020820190508181035f8301526120ab81612072565b9050919050565b7f54726164696e67206e6f742079657420444f47454d20656e61626c65642100005f82015250565b5f6120e6601e836117ea565b91506120f1826120b2565b602082019050919050565b5f6020820190508181035f830152612113816120da565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20444f5f8201527f47454d2061646472657373000000000000000000000000000000000000000000602082015250565b5f612174602b836117ea565b915061217f8261211a565b604082019050919050565b5f6020820190508181035f8301526121a181612168565b9050919050565b7f45524332303a207472616e7366657220746f20444f47454d20746865207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f6122026029836117ea565b915061220d826121a8565b604082019050919050565b5f6020820190508181035f83015261222f816121f6565b9050919050565b7f444f47454d45524332303a207472616e7366657220616d6f756e7420657863655f8201527f6564732062616c616e6365000000000000000000000000000000000000000000602082015250565b5f612290602b836117ea565b915061229b82612236565b604082019050919050565b5f6020820190508181035f8301526122bd81612284565b9050919050565b5f6122ce826118e8565b91505f82036122e0576122df611c2e565b5b60018203905091905056fea26469706673582212207ead84fcd8a854fc967554164b2bd49cd7727f491d7c2a812735b0c1b0d2b78c64736f6c63430008150033

Deployed Bytecode Sourcemap

7400:2168:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3547:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2954:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8394:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3724:579;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2853:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8271:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4311:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8824:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8198:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3070:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1739:94;;;;;;;;;;;;;:::i;:::-;;8859:152;;;;;;;;;;;;;:::i;:::-;;1517:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2741:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4534:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3205:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8044:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7790:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3388:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1841:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2633:100;2687:13;2720:5;2713:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:100;:::o;3547:169::-;3630:4;3647:39;3656:12;:10;:12::i;:::-;3670:7;3679:6;3647:8;:39::i;:::-;3704:4;3697:11;;3547:169;;;;:::o;2954:108::-;3015:7;3042:12;;3035:19;;2954:108;:::o;8394:123::-;8456:4;8480:10;:19;8491:7;:5;:7::i;:::-;8480:19;;;;;;;;;;;;;;;:29;8500:8;8480:29;;;;;;;;;;;;;;;;;;;;;;;;;8473:36;;8394:123;;;:::o;3724:579::-;3864:4;3881:24;3908:11;:19;3920:6;3908:19;;;;;;;;;;;;;;;:33;3928:12;:10;:12::i;:::-;3908:33;;;;;;;;;;;;;;;;3881:60;;3976:17;3956:16;:37;3952:271;;4038:6;4018:16;:26;;4010:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4139:57;4148:6;4156:12;:10;:12::i;:::-;4189:6;4170:16;:25;4139:8;:57::i;:::-;3952:271;4235:36;4245:6;4253:9;4264:6;4235:9;:36::i;:::-;4291:4;4284:11;;;3724:579;;;;;:::o;2853:93::-;2911:5;2936:2;2929:9;;2853:93;:::o;8271:115::-;8330:7;8357:11;:21;8369:8;8357:21;;;;;;;;;;;;;;;;8350:28;;8271:115;;;:::o;4311:215::-;4399:4;4416:80;4425:12;:10;:12::i;:::-;4439:7;4485:10;4448:11;:25;4460:12;:10;:12::i;:::-;4448:25;;;;;;;;;;;;;;;:34;4474:7;4448:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4416:8;:80::i;:::-;4514:4;4507:11;;4311:215;;;;:::o;8824:26::-;;;;;;;;;;;;;:::o;8198:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3070:127::-;3144:7;3171:9;:18;3181:7;3171:18;;;;;;;;;;;;;;;;3164:25;;3070:127;;;:::o;1739:94::-;1663:12;:10;:12::i;:::-;1652:23;;:7;:5;:7::i;:::-;:23;;;1644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1804:21:::1;1822:1;1804:9;:21::i;:::-;1739:94::o:0;8859:152::-;1663:12;:10;:12::i;:::-;1652:23;;:7;:5;:7::i;:::-;:23;;;1644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8922:14:::1;;;;;;;;;;;8921:15;8913:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8999:4;8982:14;;:21;;;;;;;;;;;;;;;;;;8859:152::o:0;1517:87::-;1563:7;1590:6;;;;;;;;;;;1583:13;;1517:87;:::o;2741:104::-;2797:13;2830:7;2823:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2741:104;:::o;4534:413::-;4627:4;4644:24;4671:11;:25;4683:12;:10;:12::i;:::-;4671:25;;;;;;;;;;;;;;;:34;4697:7;4671:34;;;;;;;;;;;;;;;;4644:61;;4744:15;4724:16;:35;;4716:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4837:67;4846:12;:10;:12::i;:::-;4860:7;4888:15;4869:16;:34;4837:8;:67::i;:::-;4935:4;4928:11;;;4534:413;;;;:::o;3205:175::-;3291:4;3308:42;3318:12;:10;:12::i;:::-;3332:9;3343:6;3308:9;:42::i;:::-;3368:4;3361:11;;3205:175;;;;:::o;8044:140::-;8118:4;8142:25;:34;8168:7;8142:34;;;;;;;;;;;;;;;;;;;;;;;;;8135:41;;8044:140;;;:::o;7790:246::-;1663:12;:10;:12::i;:::-;1652:23;;:7;:5;:7::i;:::-;:23;;;1644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7958:8:::1;7902:25;:34;7928:7;7902:34;;;;;;;;;;;;;;;;:64;;;;;;;;;;;;;;;;;;8020:8;7978:10;:19;7989:7;:5;:7::i;:::-;7978:19;;;;;;;;;;;;;;;:29;7998:8;7978:29;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;7790:246:::0;;;:::o;3388:151::-;3477:7;3504:11;:18;3516:5;3504:18;;;;;;;;;;;;;;;:27;3523:7;3504:27;;;;;;;;;;;;;;;;3497:34;;3388:151;;;;:::o;1841:198::-;1663:12;:10;:12::i;:::-;1652:23;;:7;:5;:7::i;:::-;:23;;;1644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1950:1:::1;1930:22;;:8;:22;;::::0;1922:79:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2012:19;2022:8;2012:9;:19::i;:::-;1841:198:::0;:::o;1071:98::-;1124:7;1151:10;1144:17;;1071:98;:::o;6736:392::-;6889:1;6872:19;;:5;:19;;;6864:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6976:1;6957:21;;:7;:21;;;6949:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7066:6;7036:11;:18;7048:5;7036:18;;;;;;;;;;;;;;;:27;7055:7;7036:27;;;;;;;;;;;;;;;:36;;;;7104:7;7088:32;;7097:5;7088:32;;;7113:6;7088:32;;;;;;:::i;:::-;;;;;;;;6736:392;;;:::o;9019:546::-;9132:1;9116:18;;:4;:18;;;9108:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9215:1;9201:16;;:2;:16;;;9193:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9282:14;;;;;;;;;;;:49;;;;9300:25;:31;9326:4;9300:31;;;;;;;;;;;;;;;;;;;;;;;;;9282:49;:82;;;;9335:25;:29;9361:2;9335:29;;;;;;;;;;;;;;;;;;;;;;;;;9282:82;9274:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;9433:1;9423:6;:11;9419:93;;9451:28;9467:4;9473:2;9477:1;9451:15;:28::i;:::-;9494:7;;9419:93;9524:33;9540:4;9546:2;9550:6;9524:15;:33::i;:::-;9019:546;;;;:::o;2047:173::-;2103:16;2122:6;;;;;;;;;;;2103:25;;2148:8;2139:6;;:17;;;;;;;;;;;;;;;;;;2203:8;2172:40;;2193:8;2172:40;;;;;;;;;;;;2092:128;2047:173;:::o;4955:750::-;5113:1;5095:20;;:6;:20;;;5087:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;5203:1;5182:23;;:9;:23;;;5174:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;5264:47;5285:6;5293:9;5304:6;5264:20;:47::i;:::-;5324:21;5348:9;:17;5358:6;5348:17;;;;;;;;;;;;;;;;5324:41;;5401:6;5384:13;:23;;5376:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5527:6;5511:13;:22;5491:9;:17;5501:6;5491:17;;;;;;;;;;;;;;;:42;;;;5579:6;5555:9;:20;5565:9;5555:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5620:9;5603:35;;5612:6;5603:35;;;5631:6;5603:35;;;;;;:::i;:::-;;;;;;;;5651:46;5671:6;5679:9;5690:6;5651:19;:46::i;:::-;5076:629;4955:750;;;:::o;8525:291::-;8634:44;8661:4;8667:2;8671:6;8634:26;:44::i;:::-;8710:1;8694:18;;:4;:18;;;;:38;;;;;8730:1;8716:16;;:2;:16;;;;8694:38;:67;;;;;8736:10;:19;8747:7;:5;:7::i;:::-;8736:19;;;;;;;;;;;;;;;:25;8756:4;8736:25;;;;;;;;;;;;;;;;;;;;;;;;;8694:67;8691:118;;;8778:11;:17;8790:4;8778:17;;;;;;;;;;;;;;;;:19;;;;;;;;;:::i;:::-;;;;;;8691:118;8525:291;;;:::o;7269:124::-;;;;:::o;7136:125::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:116::-;6090:21;6105:5;6090:21;:::i;:::-;6083:5;6080:32;6070:60;;6126:1;6123;6116:12;6070:60;6020:116;:::o;6142:133::-;6185:5;6223:6;6210:20;6201:29;;6239:30;6263:5;6239:30;:::i;:::-;6142:133;;;;:::o;6281:613::-;6355:6;6363;6371;6420:2;6408:9;6399:7;6395:23;6391:32;6388:119;;;6426:79;;:::i;:::-;6388:119;6546:1;6571:53;6616:7;6607:6;6596:9;6592:22;6571:53;:::i;:::-;6561:63;;6517:117;6673:2;6699:50;6741:7;6732:6;6721:9;6717:22;6699:50;:::i;:::-;6689:60;;6644:115;6798:2;6824:53;6869:7;6860:6;6849:9;6845:22;6824:53;:::i;:::-;6814:63;;6769:118;6281:613;;;;;:::o;6900:180::-;6948:77;6945:1;6938:88;7045:4;7042:1;7035:15;7069:4;7066:1;7059:15;7086:320;7130:6;7167:1;7161:4;7157:12;7147:22;;7214:1;7208:4;7204:12;7235:18;7225:81;;7291:4;7283:6;7279:17;7269:27;;7225:81;7353:2;7345:6;7342:14;7322:18;7319:38;7316:84;;7372:18;;:::i;:::-;7316:84;7137:269;7086:320;;;:::o;7412:233::-;7552:34;7548:1;7540:6;7536:14;7529:58;7621:16;7616:2;7608:6;7604:15;7597:41;7412:233;:::o;7651:366::-;7793:3;7814:67;7878:2;7873:3;7814:67;:::i;:::-;7807:74;;7890:93;7979:3;7890:93;:::i;:::-;8008:2;8003:3;7999:12;7992:19;;7651:366;;;:::o;8023:419::-;8189:4;8227:2;8216:9;8212:18;8204:26;;8276:9;8270:4;8266:20;8262:1;8251:9;8247:17;8240:47;8304:131;8430:4;8304:131;:::i;:::-;8296:139;;8023:419;;;:::o;8448:180::-;8496:77;8493:1;8486:88;8593:4;8590:1;8583:15;8617:4;8614:1;8607:15;8634:191;8674:3;8693:20;8711:1;8693:20;:::i;:::-;8688:25;;8727:20;8745:1;8727:20;:::i;:::-;8722:25;;8770:1;8767;8763:9;8756:16;;8791:3;8788:1;8785:10;8782:36;;;8798:18;;:::i;:::-;8782:36;8634:191;;;;:::o;8831:181::-;8971:33;8967:1;8959:6;8955:14;8948:57;8831:181;:::o;9018:366::-;9160:3;9181:67;9245:2;9240:3;9181:67;:::i;:::-;9174:74;;9257:93;9346:3;9257:93;:::i;:::-;9375:2;9370:3;9366:12;9359:19;;9018:366;;;:::o;9390:419::-;9556:4;9594:2;9583:9;9579:18;9571:26;;9643:9;9637:4;9633:20;9629:1;9618:9;9614:17;9607:47;9671:131;9797:4;9671:131;:::i;:::-;9663:139;;9390:419;;;:::o;9815:180::-;9955:32;9951:1;9943:6;9939:14;9932:56;9815:180;:::o;10001:366::-;10143:3;10164:67;10228:2;10223:3;10164:67;:::i;:::-;10157:74;;10240:93;10329:3;10240:93;:::i;:::-;10358:2;10353:3;10349:12;10342:19;;10001:366;;;:::o;10373:419::-;10539:4;10577:2;10566:9;10562:18;10554:26;;10626:9;10620:4;10616:20;10612:1;10601:9;10597:17;10590:47;10654:131;10780:4;10654:131;:::i;:::-;10646:139;;10373:419;;;:::o;10798:224::-;10938:34;10934:1;10926:6;10922:14;10915:58;11007:7;11002:2;10994:6;10990:15;10983:32;10798:224;:::o;11028:366::-;11170:3;11191:67;11255:2;11250:3;11191:67;:::i;:::-;11184:74;;11267:93;11356:3;11267:93;:::i;:::-;11385:2;11380:3;11376:12;11369:19;;11028:366;;;:::o;11400:419::-;11566:4;11604:2;11593:9;11589:18;11581:26;;11653:9;11647:4;11643:20;11639:1;11628:9;11624:17;11617:47;11681:131;11807:4;11681:131;:::i;:::-;11673:139;;11400:419;;;:::o;11825:231::-;11965:34;11961:1;11953:6;11949:14;11942:58;12034:14;12029:2;12021:6;12017:15;12010:39;11825:231;:::o;12062:366::-;12204:3;12225:67;12289:2;12284:3;12225:67;:::i;:::-;12218:74;;12301:93;12390:3;12301:93;:::i;:::-;12419:2;12414:3;12410:12;12403:19;;12062:366;;;:::o;12434:419::-;12600:4;12638:2;12627:9;12623:18;12615:26;;12687:9;12681:4;12677:20;12673:1;12662:9;12658:17;12651:47;12715:131;12841:4;12715:131;:::i;:::-;12707:139;;12434:419;;;:::o;12859:229::-;12999:34;12995:1;12987:6;12983:14;12976:58;13068:12;13063:2;13055:6;13051:15;13044:37;12859:229;:::o;13094:366::-;13236:3;13257:67;13321:2;13316:3;13257:67;:::i;:::-;13250:74;;13333:93;13422:3;13333:93;:::i;:::-;13451:2;13446:3;13442:12;13435:19;;13094:366;;;:::o;13466:419::-;13632:4;13670:2;13659:9;13655:18;13647:26;;13719:9;13713:4;13709:20;13705:1;13694:9;13690:17;13683:47;13747:131;13873:4;13747:131;:::i;:::-;13739:139;;13466:419;;;:::o;13891:227::-;14031:34;14027:1;14019:6;14015:14;14008:58;14100:10;14095:2;14087:6;14083:15;14076:35;13891:227;:::o;14124:366::-;14266:3;14287:67;14351:2;14346:3;14287:67;:::i;:::-;14280:74;;14363:93;14452:3;14363:93;:::i;:::-;14481:2;14476:3;14472:12;14465:19;;14124:366;;;:::o;14496:419::-;14662:4;14700:2;14689:9;14685:18;14677:26;;14749:9;14743:4;14739:20;14735:1;14724:9;14720:17;14713:47;14777:131;14903:4;14777:131;:::i;:::-;14769:139;;14496:419;;;:::o;14921:230::-;15061:34;15057:1;15049:6;15045:14;15038:58;15130:13;15125:2;15117:6;15113:15;15106:38;14921:230;:::o;15157:366::-;15299:3;15320:67;15384:2;15379:3;15320:67;:::i;:::-;15313:74;;15396:93;15485:3;15396:93;:::i;:::-;15514:2;15509:3;15505:12;15498:19;;15157:366;;;:::o;15529:419::-;15695:4;15733:2;15722:9;15718:18;15710:26;;15782:9;15776:4;15772:20;15768:1;15757:9;15753:17;15746:47;15810:131;15936:4;15810:131;:::i;:::-;15802:139;;15529:419;;;:::o;15954:228::-;16094:34;16090:1;16082:6;16078:14;16071:58;16163:11;16158:2;16150:6;16146:15;16139:36;15954:228;:::o;16188:366::-;16330:3;16351:67;16415:2;16410:3;16351:67;:::i;:::-;16344:74;;16427:93;16516:3;16427:93;:::i;:::-;16545:2;16540:3;16536:12;16529:19;;16188:366;;;:::o;16560:419::-;16726:4;16764:2;16753:9;16749:18;16741:26;;16813:9;16807:4;16803:20;16799:1;16788:9;16784:17;16777:47;16841:131;16967:4;16841:131;:::i;:::-;16833:139;;16560:419;;;:::o;16985:180::-;17125:32;17121:1;17113:6;17109:14;17102:56;16985:180;:::o;17171:366::-;17313:3;17334:67;17398:2;17393:3;17334:67;:::i;:::-;17327:74;;17410:93;17499:3;17410:93;:::i;:::-;17528:2;17523:3;17519:12;17512:19;;17171:366;;;:::o;17543:419::-;17709:4;17747:2;17736:9;17732:18;17724:26;;17796:9;17790:4;17786:20;17782:1;17771:9;17767:17;17760:47;17824:131;17950:4;17824:131;:::i;:::-;17816:139;;17543:419;;;:::o;17968:230::-;18108:34;18104:1;18096:6;18092:14;18085:58;18177:13;18172:2;18164:6;18160:15;18153:38;17968:230;:::o;18204:366::-;18346:3;18367:67;18431:2;18426:3;18367:67;:::i;:::-;18360:74;;18443:93;18532:3;18443:93;:::i;:::-;18561:2;18556:3;18552:12;18545:19;;18204:366;;;:::o;18576:419::-;18742:4;18780:2;18769:9;18765:18;18757:26;;18829:9;18823:4;18819:20;18815:1;18804:9;18800:17;18793:47;18857:131;18983:4;18857:131;:::i;:::-;18849:139;;18576:419;;;:::o;19001:228::-;19141:34;19137:1;19129:6;19125:14;19118:58;19210:11;19205:2;19197:6;19193:15;19186:36;19001:228;:::o;19235:366::-;19377:3;19398:67;19462:2;19457:3;19398:67;:::i;:::-;19391:74;;19474:93;19563:3;19474:93;:::i;:::-;19592:2;19587:3;19583:12;19576:19;;19235:366;;;:::o;19607:419::-;19773:4;19811:2;19800:9;19796:18;19788:26;;19860:9;19854:4;19850:20;19846:1;19835:9;19831:17;19824:47;19888:131;20014:4;19888:131;:::i;:::-;19880:139;;19607:419;;;:::o;20032:230::-;20172:34;20168:1;20160:6;20156:14;20149:58;20241:13;20236:2;20228:6;20224:15;20217:38;20032:230;:::o;20268:366::-;20410:3;20431:67;20495:2;20490:3;20431:67;:::i;:::-;20424:74;;20507:93;20596:3;20507:93;:::i;:::-;20625:2;20620:3;20616:12;20609:19;;20268:366;;;:::o;20640:419::-;20806:4;20844:2;20833:9;20829:18;20821:26;;20893:9;20887:4;20883:20;20879:1;20868:9;20864:17;20857:47;20921:131;21047:4;20921:131;:::i;:::-;20913:139;;20640:419;;;:::o;21065:171::-;21104:3;21127:24;21145:5;21127:24;:::i;:::-;21118:33;;21173:4;21166:5;21163:15;21160:41;;21181:18;;:::i;:::-;21160:41;21228:1;21221:5;21217:13;21210:20;;21065:171;;;:::o

Swarm Source

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