ERC-20
Overview
Max Total Supply
96,724.049769879524349045 BREAD
Holders
8
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
979.02 BREADValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BREAD
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity Multiple files format)
pragma solidity ^0.8.0; //SPDX-License-Identifier: MIT //BREAD is a metaverse product //The plan is to make real-physical-fuckable-baked-breads in the meta verse //yes, we are the future //learn more at fuckablesandwhiches.net //t.me/bakedbreadfucker import "./ERC20.sol"; contract BREAD is ERC20 { uint BURN_FEE = 1; uint BAKE_FEE = 1; uint bakeMinimum = 1000 * 10**18; address payable public BAKER = payable(address(0x27b107fceF6c15182e194455E4f628034E956bA2)); address public owner; constructor() ERC20 ('Bread','BREAD') { _mint(msg.sender, 100000* 10 ** 18); owner = msg.sender; } function transfer(address recipient, uint256 amount) public override returns (bool){ uint burnAmount = amount*(BURN_FEE) / 100; uint bakeAmount = amount*(BAKE_FEE) / 100; _burn(_msgSender(), burnAmount); _transfer(_msgSender(), recipient, amount-(burnAmount)-(bakeAmount)); _transfer(_msgSender(), BAKER, bakeAmount); return true; } function transferFrom(address recipient, uint256 amount) public returns (bool){ uint burnAmount = amount*(BURN_FEE) / 100; uint bakeAmount = amount*(BAKE_FEE) / 100; _burn(_msgSender(), burnAmount); _transfer(_msgSender(), recipient, amount-(burnAmount)-(bakeAmount)); _transfer(_msgSender(), BAKER, bakeAmount); return true; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./IERC20.sol"; import "./IERC20Metadata.sol"; import "./Context.sol"; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./IERC20.sol"; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BAKER","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"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":[],"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":"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":"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"}]
Contract Creation Code
608060405260016005556001600655683635c9adc5dea000006007557327b107fcef6c15182e194455e4f628034e956ba2600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200007d57600080fd5b506040518060400160405280600581526020017f42726561640000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f425245414400000000000000000000000000000000000000000000000000000081525081600390805190602001906200010292919062000304565b5080600490805190602001906200011b92919062000304565b5050506200013a3369152d02c7e14af68000006200018160201b60201c565b33600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000552565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001eb9062000407565b60405180910390fd5b6200020860008383620002fa60201b60201c565b80600260008282546200021c919062000457565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000273919062000457565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002da919062000429565b60405180910390a3620002f660008383620002ff60201b60201c565b5050565b505050565b505050565b8280546200031290620004be565b90600052602060002090601f01602090048101928262000336576000855562000382565b82601f106200035157805160ff191683800117855562000382565b8280016001018555821562000382579182015b828111156200038157825182559160200191906001019062000364565b5b50905062000391919062000395565b5090565b5b80821115620003b057600081600090555060010162000396565b5090565b6000620003c3601f8362000446565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6200040181620004b4565b82525050565b600060208201905081810360008301526200042281620003b4565b9050919050565b6000602082019050620004406000830184620003f6565b92915050565b600082825260208201905092915050565b60006200046482620004b4565b91506200047183620004b4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620004a957620004a8620004f4565b5b828201905092915050565b6000819050919050565b60006002820490506001821680620004d757607f821691505b60208210811415620004ee57620004ed62000523565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6119bf80620005626000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d714610275578063a9059cbb146102a5578063c29ac884146102d5578063dd62ed3e146102f3576100ea565b806370a08231146102095780638da5cb5b1461023957806395d89b4114610257576100ea565b806318160ddd116100c857806318160ddd1461016d57806323b872dd1461018b578063313ce567146101bb57806339509351146101d9576100ea565b806301c6adc3146100ef57806306fdde031461011f578063095ea7b31461013d575b600080fd5b610109600480360381019061010491906110a1565b610323565b604051610116919061152d565b60405180910390f35b6101276103d9565b6040516101349190611548565b60405180910390f35b610157600480360381019061015291906110a1565b61046b565b604051610164919061152d565b60405180910390f35b610175610489565b604051610182919061168a565b60405180910390f35b6101a560048036038101906101a09190611052565b610493565b6040516101b2919061152d565b60405180910390f35b6101c361058b565b6040516101d091906116a5565b60405180910390f35b6101f360048036038101906101ee91906110a1565b610594565b604051610200919061152d565b60405180910390f35b610223600480360381019061021e9190610fed565b610640565b604051610230919061168a565b60405180910390f35b610241610688565b60405161024e91906114f7565b60405180910390f35b61025f6106ae565b60405161026c9190611548565b60405180910390f35b61028f600480360381019061028a91906110a1565b610740565b60405161029c919061152d565b60405180910390f35b6102bf60048036038101906102ba91906110a1565b61082b565b6040516102cc919061152d565b60405180910390f35b6102dd6108e1565b6040516102ea9190611512565b60405180910390f35b61030d60048036038101906103089190611016565b610907565b60405161031a919061168a565b60405180910390f35b6000806064600554846103369190611763565b6103409190611732565b905060006064600654856103549190611763565b61035e9190611732565b905061037161036b61098e565b83610996565b61039961037c61098e565b8683858861038a91906117bd565b61039491906117bd565b610b6d565b6103cd6103a461098e565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610b6d565b60019250505092915050565b6060600380546103e89061188b565b80601f01602080910402602001604051908101604052809291908181526020018280546104149061188b565b80156104615780601f1061043657610100808354040283529160200191610461565b820191906000526020600020905b81548152906001019060200180831161044457829003601f168201915b5050505050905090565b600061047f61047861098e565b8484610dee565b6001905092915050565b6000600254905090565b60006104a0848484610b6d565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104eb61098e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561056b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610562906115ea565b60405180910390fd5b61057f8561057761098e565b858403610dee565b60019150509392505050565b60006012905090565b60006106366105a161098e565b8484600160006105af61098e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461063191906116dc565b610dee565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600480546106bd9061188b565b80601f01602080910402602001604051908101604052809291908181526020018280546106e99061188b565b80156107365780601f1061070b57610100808354040283529160200191610736565b820191906000526020600020905b81548152906001019060200180831161071957829003601f168201915b5050505050905090565b6000806001600061074f61098e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108039061166a565b60405180910390fd5b61082061081761098e565b85858403610dee565b600191505092915050565b60008060646005548461083e9190611763565b6108489190611732565b9050600060646006548561085c9190611763565b6108669190611732565b905061087961087361098e565b83610996565b6108a161088461098e565b8683858861089291906117bd565b61089c91906117bd565b610b6d565b6108d56108ac61098e565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610b6d565b60019250505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fd9061160a565b60405180910390fd5b610a1282600083610fb9565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8f9061158a565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610aef91906117bd565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b54919061168a565b60405180910390a3610b6883600084610fbe565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd49061162a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c449061156a565b60405180910390fd5b610c58838383610fb9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd5906115ca565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d7191906116dc565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610dd5919061168a565b60405180910390a3610de8848484610fbe565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e559061164a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ece576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec5906115aa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fac919061168a565b60405180910390a3505050565b505050565b505050565b600081359050610fd28161195b565b92915050565b600081359050610fe781611972565b92915050565b600060208284031215610fff57600080fd5b600061100d84828501610fc3565b91505092915050565b6000806040838503121561102957600080fd5b600061103785828601610fc3565b925050602061104885828601610fc3565b9150509250929050565b60008060006060848603121561106757600080fd5b600061107586828701610fc3565b935050602061108686828701610fc3565b925050604061109786828701610fd8565b9150509250925092565b600080604083850312156110b457600080fd5b60006110c285828601610fc3565b92505060206110d385828601610fd8565b9150509250929050565b6110e681611803565b82525050565b6110f5816117f1565b82525050565b61110481611815565b82525050565b6000611115826116c0565b61111f81856116cb565b935061112f818560208601611858565b6111388161194a565b840191505092915050565b60006111506023836116cb565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006111b66022836116cb565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061121c6022836116cb565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006112826026836116cb565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006112e86028836116cb565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061134e6021836116cb565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006113b46025836116cb565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061141a6024836116cb565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114806025836116cb565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6114e281611841565b82525050565b6114f18161184b565b82525050565b600060208201905061150c60008301846110ec565b92915050565b600060208201905061152760008301846110dd565b92915050565b600060208201905061154260008301846110fb565b92915050565b60006020820190508181036000830152611562818461110a565b905092915050565b6000602082019050818103600083015261158381611143565b9050919050565b600060208201905081810360008301526115a3816111a9565b9050919050565b600060208201905081810360008301526115c38161120f565b9050919050565b600060208201905081810360008301526115e381611275565b9050919050565b60006020820190508181036000830152611603816112db565b9050919050565b6000602082019050818103600083015261162381611341565b9050919050565b60006020820190508181036000830152611643816113a7565b9050919050565b600060208201905081810360008301526116638161140d565b9050919050565b6000602082019050818103600083015261168381611473565b9050919050565b600060208201905061169f60008301846114d9565b92915050565b60006020820190506116ba60008301846114e8565b92915050565b600081519050919050565b600082825260208201905092915050565b60006116e782611841565b91506116f283611841565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611727576117266118bd565b5b828201905092915050565b600061173d82611841565b915061174883611841565b925082611758576117576118ec565b5b828204905092915050565b600061176e82611841565b915061177983611841565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156117b2576117b16118bd565b5b828202905092915050565b60006117c882611841565b91506117d383611841565b9250828210156117e6576117e56118bd565b5b828203905092915050565b60006117fc82611821565b9050919050565b600061180e82611821565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561187657808201518184015260208101905061185b565b83811115611885576000848401525b50505050565b600060028204905060018216806118a357607f821691505b602082108114156118b7576118b661191b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b611964816117f1565b811461196f57600080fd5b50565b61197b81611841565b811461198657600080fd5b5056fea2646970667358221220b5b33864ec328b6cffa757d1f96ec4e527abe142db531f0b0843d5782f32492b64736f6c63430008000033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d714610275578063a9059cbb146102a5578063c29ac884146102d5578063dd62ed3e146102f3576100ea565b806370a08231146102095780638da5cb5b1461023957806395d89b4114610257576100ea565b806318160ddd116100c857806318160ddd1461016d57806323b872dd1461018b578063313ce567146101bb57806339509351146101d9576100ea565b806301c6adc3146100ef57806306fdde031461011f578063095ea7b31461013d575b600080fd5b610109600480360381019061010491906110a1565b610323565b604051610116919061152d565b60405180910390f35b6101276103d9565b6040516101349190611548565b60405180910390f35b610157600480360381019061015291906110a1565b61046b565b604051610164919061152d565b60405180910390f35b610175610489565b604051610182919061168a565b60405180910390f35b6101a560048036038101906101a09190611052565b610493565b6040516101b2919061152d565b60405180910390f35b6101c361058b565b6040516101d091906116a5565b60405180910390f35b6101f360048036038101906101ee91906110a1565b610594565b604051610200919061152d565b60405180910390f35b610223600480360381019061021e9190610fed565b610640565b604051610230919061168a565b60405180910390f35b610241610688565b60405161024e91906114f7565b60405180910390f35b61025f6106ae565b60405161026c9190611548565b60405180910390f35b61028f600480360381019061028a91906110a1565b610740565b60405161029c919061152d565b60405180910390f35b6102bf60048036038101906102ba91906110a1565b61082b565b6040516102cc919061152d565b60405180910390f35b6102dd6108e1565b6040516102ea9190611512565b60405180910390f35b61030d60048036038101906103089190611016565b610907565b60405161031a919061168a565b60405180910390f35b6000806064600554846103369190611763565b6103409190611732565b905060006064600654856103549190611763565b61035e9190611732565b905061037161036b61098e565b83610996565b61039961037c61098e565b8683858861038a91906117bd565b61039491906117bd565b610b6d565b6103cd6103a461098e565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610b6d565b60019250505092915050565b6060600380546103e89061188b565b80601f01602080910402602001604051908101604052809291908181526020018280546104149061188b565b80156104615780601f1061043657610100808354040283529160200191610461565b820191906000526020600020905b81548152906001019060200180831161044457829003601f168201915b5050505050905090565b600061047f61047861098e565b8484610dee565b6001905092915050565b6000600254905090565b60006104a0848484610b6d565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104eb61098e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561056b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610562906115ea565b60405180910390fd5b61057f8561057761098e565b858403610dee565b60019150509392505050565b60006012905090565b60006106366105a161098e565b8484600160006105af61098e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461063191906116dc565b610dee565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600480546106bd9061188b565b80601f01602080910402602001604051908101604052809291908181526020018280546106e99061188b565b80156107365780601f1061070b57610100808354040283529160200191610736565b820191906000526020600020905b81548152906001019060200180831161071957829003601f168201915b5050505050905090565b6000806001600061074f61098e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108039061166a565b60405180910390fd5b61082061081761098e565b85858403610dee565b600191505092915050565b60008060646005548461083e9190611763565b6108489190611732565b9050600060646006548561085c9190611763565b6108669190611732565b905061087961087361098e565b83610996565b6108a161088461098e565b8683858861089291906117bd565b61089c91906117bd565b610b6d565b6108d56108ac61098e565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610b6d565b60019250505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fd9061160a565b60405180910390fd5b610a1282600083610fb9565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8f9061158a565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610aef91906117bd565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b54919061168a565b60405180910390a3610b6883600084610fbe565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd49061162a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c449061156a565b60405180910390fd5b610c58838383610fb9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd5906115ca565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d7191906116dc565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610dd5919061168a565b60405180910390a3610de8848484610fbe565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e559061164a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ece576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec5906115aa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fac919061168a565b60405180910390a3505050565b505050565b505050565b600081359050610fd28161195b565b92915050565b600081359050610fe781611972565b92915050565b600060208284031215610fff57600080fd5b600061100d84828501610fc3565b91505092915050565b6000806040838503121561102957600080fd5b600061103785828601610fc3565b925050602061104885828601610fc3565b9150509250929050565b60008060006060848603121561106757600080fd5b600061107586828701610fc3565b935050602061108686828701610fc3565b925050604061109786828701610fd8565b9150509250925092565b600080604083850312156110b457600080fd5b60006110c285828601610fc3565b92505060206110d385828601610fd8565b9150509250929050565b6110e681611803565b82525050565b6110f5816117f1565b82525050565b61110481611815565b82525050565b6000611115826116c0565b61111f81856116cb565b935061112f818560208601611858565b6111388161194a565b840191505092915050565b60006111506023836116cb565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006111b66022836116cb565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061121c6022836116cb565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006112826026836116cb565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006112e86028836116cb565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061134e6021836116cb565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006113b46025836116cb565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061141a6024836116cb565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114806025836116cb565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6114e281611841565b82525050565b6114f18161184b565b82525050565b600060208201905061150c60008301846110ec565b92915050565b600060208201905061152760008301846110dd565b92915050565b600060208201905061154260008301846110fb565b92915050565b60006020820190508181036000830152611562818461110a565b905092915050565b6000602082019050818103600083015261158381611143565b9050919050565b600060208201905081810360008301526115a3816111a9565b9050919050565b600060208201905081810360008301526115c38161120f565b9050919050565b600060208201905081810360008301526115e381611275565b9050919050565b60006020820190508181036000830152611603816112db565b9050919050565b6000602082019050818103600083015261162381611341565b9050919050565b60006020820190508181036000830152611643816113a7565b9050919050565b600060208201905081810360008301526116638161140d565b9050919050565b6000602082019050818103600083015261168381611473565b9050919050565b600060208201905061169f60008301846114d9565b92915050565b60006020820190506116ba60008301846114e8565b92915050565b600081519050919050565b600082825260208201905092915050565b60006116e782611841565b91506116f283611841565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611727576117266118bd565b5b828201905092915050565b600061173d82611841565b915061174883611841565b925082611758576117576118ec565b5b828204905092915050565b600061176e82611841565b915061177983611841565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156117b2576117b16118bd565b5b828202905092915050565b60006117c882611841565b91506117d383611841565b9250828210156117e6576117e56118bd565b5b828203905092915050565b60006117fc82611821565b9050919050565b600061180e82611821565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561187657808201518184015260208101905061185b565b83811115611885576000848401525b50505050565b600060028204905060018216806118a357607f821691505b602082108114156118b7576118b661191b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b611964816117f1565b811461196f57600080fd5b50565b61197b81611841565b811461198657600080fd5b5056fea2646970667358221220b5b33864ec328b6cffa757d1f96ec4e527abe142db531f0b0843d5782f32492b64736f6c63430008000033
Deployed Bytecode Sourcemap
275:1216:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1075:405;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2063:98:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4160:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3151:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4793:478;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3000:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5666:212;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3315:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;487:20:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2274:102:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6365:405;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;637:431:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;390:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3873:149:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1075:405:4;1148:4;1168:15;1206:3;1194:8;;1186:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;1168:41;;1223:15;1261:3;1249:8;;1241:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;1223:41;;1278:31;1284:12;:10;:12::i;:::-;1298:10;1278:5;:31::i;:::-;1323:68;1333:12;:10;:12::i;:::-;1347:9;1379:10;1366;1358:6;:19;;;;:::i;:::-;:32;;;;:::i;:::-;1323:9;:68::i;:::-;1405:42;1415:12;:10;:12::i;:::-;1429:5;;;;;;;;;;;1436:10;1405:9;:42::i;:::-;1469:4;1462:11;;;;1075:405;;;;:::o;2063:98:1:-;2117:13;2149:5;2142:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2063:98;:::o;4160:166::-;4243:4;4259:39;4268:12;:10;:12::i;:::-;4282:7;4291:6;4259:8;:39::i;:::-;4315:4;4308:11;;4160:166;;;;:::o;3151:106::-;3212:7;3238:12;;3231:19;;3151:106;:::o;4793:478::-;4929:4;4945:36;4955:6;4963:9;4974:6;4945:9;:36::i;:::-;4992:24;5019:11;:19;5031:6;5019:19;;;;;;;;;;;;;;;:33;5039:12;:10;:12::i;:::-;5019:33;;;;;;;;;;;;;;;;4992:60;;5090:6;5070:16;:26;;5062:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5175:57;5184:6;5192:12;:10;:12::i;:::-;5225:6;5206:16;:25;5175:8;:57::i;:::-;5260:4;5253:11;;;4793:478;;;;;:::o;3000:91::-;3058:5;3082:2;3075:9;;3000:91;:::o;5666:212::-;5754:4;5770:80;5779:12;:10;:12::i;:::-;5793:7;5839:10;5802:11;:25;5814:12;:10;:12::i;:::-;5802:25;;;;;;;;;;;;;;;:34;5828:7;5802:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5770:8;:80::i;:::-;5867:4;5860:11;;5666:212;;;;:::o;3315:125::-;3389:7;3415:9;:18;3425:7;3415:18;;;;;;;;;;;;;;;;3408:25;;3315:125;;;:::o;487:20:4:-;;;;;;;;;;;;;:::o;2274:102:1:-;2330:13;2362:7;2355:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2274:102;:::o;6365:405::-;6458:4;6474:24;6501:11;:25;6513:12;:10;:12::i;:::-;6501:25;;;;;;;;;;;;;;;:34;6527:7;6501:34;;;;;;;;;;;;;;;;6474:61;;6573:15;6553:16;:35;;6545:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6664:67;6673:12;:10;:12::i;:::-;6687:7;6715:15;6696:16;:34;6664:8;:67::i;:::-;6759:4;6752:11;;;6365:405;;;;:::o;637:431:4:-;715:4;735:15;773:3;761:8;;753:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;735:41;;790:15;828:3;816:8;;808:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;790:41;;845:31;851:12;:10;:12::i;:::-;865:10;845:5;:31::i;:::-;890:68;900:12;:10;:12::i;:::-;914:9;946:10;933;925:6;:19;;;;:::i;:::-;:32;;;;:::i;:::-;890:9;:68::i;:::-;972:42;982:12;:10;:12::i;:::-;996:5;;;;;;;;;;;1003:10;972:9;:42::i;:::-;1057:4;1050:11;;;;637:431;;;;:::o;390:91::-;;;;;;;;;;;;;:::o;3873:149:1:-;3962:7;3988:11;:18;4000:5;3988:18;;;;;;;;;;;;;;;:27;4007:7;3988:27;;;;;;;;;;;;;;;;3981:34;;3873:149;;;;:::o;587:96:0:-;640:7;666:10;659:17;;587:96;:::o;8942:576:1:-;9044:1;9025:21;;:7;:21;;;;9017:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9095:49;9116:7;9133:1;9137:6;9095:20;:49::i;:::-;9155:22;9180:9;:18;9190:7;9180:18;;;;;;;;;;;;;;;;9155:43;;9234:6;9216:14;:24;;9208:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9351:6;9334:14;:23;9313:9;:18;9323:7;9313:18;;;;;;;;;;;;;;;:44;;;;9393:6;9377:12;;:22;;;;;;;:::i;:::-;;;;;;;;9441:1;9415:37;;9424:7;9415:37;;;9445:6;9415:37;;;;;;:::i;:::-;;;;;;;;9463:48;9483:7;9500:1;9504:6;9463:19;:48::i;:::-;8942:576;;;:::o;7244:713::-;7397:1;7379:20;;:6;:20;;;;7371:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7480:1;7459:23;;:9;:23;;;;7451:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7533:47;7554:6;7562:9;7573:6;7533:20;:47::i;:::-;7591:21;7615:9;:17;7625:6;7615:17;;;;;;;;;;;;;;;;7591:41;;7667:6;7650:13;:23;;7642:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7786:6;7770:13;:22;7750:9;:17;7760:6;7750:17;;;;;;;;;;;;;;;:42;;;;7836:6;7812:9;:20;7822:9;7812:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7875:9;7858:35;;7867:6;7858:35;;;7886:6;7858:35;;;;;;:::i;:::-;;;;;;;;7904:46;7924:6;7932:9;7943:6;7904:19;:46::i;:::-;7244:713;;;;:::o;9941:370::-;10089:1;10072:19;;:5;:19;;;;10064:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10169:1;10150:21;;:7;:21;;;;10142:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10251:6;10221:11;:18;10233:5;10221:18;;;;;;;;;;;;;;;:27;10240:7;10221:27;;;;;;;;;;;;;;;:36;;;;10288:7;10272:32;;10281:5;10272:32;;;10297:6;10272:32;;;;;;:::i;:::-;;;;;;;;9941:370;;;:::o;10895:121::-;;;;:::o;11604:120::-;;;;:::o;7:139:5:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:142::-;2052:32;2078:5;2052:32;:::i;:::-;2047:3;2040:45;2030:61;;:::o;2097:118::-;2184:24;2202:5;2184:24;:::i;:::-;2179:3;2172:37;2162:53;;:::o;2221:109::-;2302:21;2317:5;2302:21;:::i;:::-;2297:3;2290:34;2280:50;;:::o;2336:364::-;;2452:39;2485:5;2452:39;:::i;:::-;2507:71;2571:6;2566:3;2507:71;:::i;:::-;2500:78;;2587:52;2632:6;2627:3;2620:4;2613:5;2609:16;2587:52;:::i;:::-;2664:29;2686:6;2664:29;:::i;:::-;2659:3;2655:39;2648:46;;2428:272;;;;;:::o;2706:367::-;;2869:67;2933:2;2928:3;2869:67;:::i;:::-;2862:74;;2966:34;2962:1;2957:3;2953:11;2946:55;3032:5;3027:2;3022:3;3018:12;3011:27;3064:2;3059:3;3055:12;3048:19;;2852:221;;;:::o;3079:366::-;;3242:67;3306:2;3301:3;3242:67;:::i;:::-;3235:74;;3339:34;3335:1;3330:3;3326:11;3319:55;3405:4;3400:2;3395:3;3391:12;3384:26;3436:2;3431:3;3427:12;3420:19;;3225:220;;;:::o;3451:366::-;;3614:67;3678:2;3673:3;3614:67;:::i;:::-;3607:74;;3711:34;3707:1;3702:3;3698:11;3691:55;3777:4;3772:2;3767:3;3763:12;3756:26;3808:2;3803:3;3799:12;3792:19;;3597:220;;;:::o;3823:370::-;;3986:67;4050:2;4045:3;3986:67;:::i;:::-;3979:74;;4083:34;4079:1;4074:3;4070:11;4063:55;4149:8;4144:2;4139:3;4135:12;4128:30;4184:2;4179:3;4175:12;4168:19;;3969:224;;;:::o;4199:372::-;;4362:67;4426:2;4421:3;4362:67;:::i;:::-;4355:74;;4459:34;4455:1;4450:3;4446:11;4439:55;4525:10;4520:2;4515:3;4511:12;4504:32;4562:2;4557:3;4553:12;4546:19;;4345:226;;;:::o;4577:365::-;;4740:67;4804:2;4799:3;4740:67;:::i;:::-;4733:74;;4837:34;4833:1;4828:3;4824:11;4817:55;4903:3;4898:2;4893:3;4889:12;4882:25;4933:2;4928:3;4924:12;4917:19;;4723:219;;;:::o;4948:369::-;;5111:67;5175:2;5170:3;5111:67;:::i;:::-;5104:74;;5208:34;5204:1;5199:3;5195:11;5188:55;5274:7;5269:2;5264:3;5260:12;5253:29;5308:2;5303:3;5299:12;5292:19;;5094:223;;;:::o;5323:368::-;;5486:67;5550:2;5545:3;5486:67;:::i;:::-;5479:74;;5583:34;5579:1;5574:3;5570:11;5563:55;5649:6;5644:2;5639:3;5635:12;5628:28;5682:2;5677:3;5673:12;5666:19;;5469:222;;;:::o;5697:369::-;;5860:67;5924:2;5919:3;5860:67;:::i;:::-;5853:74;;5957:34;5953:1;5948:3;5944:11;5937:55;6023:7;6018:2;6013:3;6009:12;6002:29;6057:2;6052:3;6048:12;6041:19;;5843:223;;;:::o;6072:118::-;6159:24;6177:5;6159:24;:::i;:::-;6154:3;6147:37;6137:53;;:::o;6196:112::-;6279:22;6295:5;6279:22;:::i;:::-;6274:3;6267:35;6257:51;;:::o;6314:222::-;;6445:2;6434:9;6430:18;6422:26;;6458:71;6526:1;6515:9;6511:17;6502:6;6458:71;:::i;:::-;6412:124;;;;:::o;6542:254::-;;6689:2;6678:9;6674:18;6666:26;;6702:87;6786:1;6775:9;6771:17;6762:6;6702:87;:::i;:::-;6656:140;;;;:::o;6802:210::-;;6927:2;6916:9;6912:18;6904:26;;6940:65;7002:1;6991:9;6987:17;6978:6;6940:65;:::i;:::-;6894:118;;;;:::o;7018:313::-;;7169:2;7158:9;7154:18;7146:26;;7218:9;7212:4;7208:20;7204:1;7193:9;7189:17;7182:47;7246:78;7319:4;7310:6;7246:78;:::i;:::-;7238:86;;7136:195;;;;:::o;7337:419::-;;7541:2;7530:9;7526:18;7518:26;;7590:9;7584:4;7580:20;7576:1;7565:9;7561:17;7554:47;7618:131;7744:4;7618:131;:::i;:::-;7610:139;;7508:248;;;:::o;7762:419::-;;7966:2;7955:9;7951:18;7943:26;;8015:9;8009:4;8005:20;8001:1;7990:9;7986:17;7979:47;8043:131;8169:4;8043:131;:::i;:::-;8035:139;;7933:248;;;:::o;8187:419::-;;8391:2;8380:9;8376:18;8368:26;;8440:9;8434:4;8430:20;8426:1;8415:9;8411:17;8404:47;8468:131;8594:4;8468:131;:::i;:::-;8460:139;;8358:248;;;:::o;8612:419::-;;8816:2;8805:9;8801:18;8793:26;;8865:9;8859:4;8855:20;8851:1;8840:9;8836:17;8829:47;8893:131;9019:4;8893:131;:::i;:::-;8885:139;;8783:248;;;:::o;9037:419::-;;9241:2;9230:9;9226:18;9218:26;;9290:9;9284:4;9280:20;9276:1;9265:9;9261:17;9254:47;9318:131;9444:4;9318:131;:::i;:::-;9310:139;;9208:248;;;:::o;9462:419::-;;9666:2;9655:9;9651:18;9643:26;;9715:9;9709:4;9705:20;9701:1;9690:9;9686:17;9679:47;9743:131;9869:4;9743:131;:::i;:::-;9735:139;;9633:248;;;:::o;9887:419::-;;10091:2;10080:9;10076:18;10068:26;;10140:9;10134:4;10130:20;10126:1;10115:9;10111:17;10104:47;10168:131;10294:4;10168:131;:::i;:::-;10160:139;;10058:248;;;:::o;10312:419::-;;10516:2;10505:9;10501:18;10493:26;;10565:9;10559:4;10555:20;10551:1;10540:9;10536:17;10529:47;10593:131;10719:4;10593:131;:::i;:::-;10585:139;;10483:248;;;:::o;10737:419::-;;10941:2;10930:9;10926:18;10918:26;;10990:9;10984:4;10980:20;10976:1;10965:9;10961:17;10954:47;11018:131;11144:4;11018:131;:::i;:::-;11010:139;;10908:248;;;:::o;11162:222::-;;11293:2;11282:9;11278:18;11270:26;;11306:71;11374:1;11363:9;11359:17;11350:6;11306:71;:::i;:::-;11260:124;;;;:::o;11390:214::-;;11517:2;11506:9;11502:18;11494:26;;11530:67;11594:1;11583:9;11579:17;11570:6;11530:67;:::i;:::-;11484:120;;;;:::o;11610:99::-;;11696:5;11690:12;11680:22;;11669:40;;;:::o;11715:169::-;;11833:6;11828:3;11821:19;11873:4;11868:3;11864:14;11849:29;;11811:73;;;;:::o;11890:305::-;;11949:20;11967:1;11949:20;:::i;:::-;11944:25;;11983:20;12001:1;11983:20;:::i;:::-;11978:25;;12137:1;12069:66;12065:74;12062:1;12059:81;12056:2;;;12143:18;;:::i;:::-;12056:2;12187:1;12184;12180:9;12173:16;;11934:261;;;;:::o;12201:185::-;;12258:20;12276:1;12258:20;:::i;:::-;12253:25;;12292:20;12310:1;12292:20;:::i;:::-;12287:25;;12331:1;12321:2;;12336:18;;:::i;:::-;12321:2;12378:1;12375;12371:9;12366:14;;12243:143;;;;:::o;12392:348::-;;12455:20;12473:1;12455:20;:::i;:::-;12450:25;;12489:20;12507:1;12489:20;:::i;:::-;12484:25;;12677:1;12609:66;12605:74;12602:1;12599:81;12594:1;12587:9;12580:17;12576:105;12573:2;;;12684:18;;:::i;:::-;12573:2;12732:1;12729;12725:9;12714:20;;12440:300;;;;:::o;12746:191::-;;12806:20;12824:1;12806:20;:::i;:::-;12801:25;;12840:20;12858:1;12840:20;:::i;:::-;12835:25;;12879:1;12876;12873:8;12870:2;;;12884:18;;:::i;:::-;12870:2;12929:1;12926;12922:9;12914:17;;12791:146;;;;:::o;12943:96::-;;13009:24;13027:5;13009:24;:::i;:::-;12998:35;;12988:51;;;:::o;13045:104::-;;13119:24;13137:5;13119:24;:::i;:::-;13108:35;;13098:51;;;:::o;13155:90::-;;13232:5;13225:13;13218:21;13207:32;;13197:48;;;:::o;13251:126::-;;13328:42;13321:5;13317:54;13306:65;;13296:81;;;:::o;13383:77::-;;13449:5;13438:16;;13428:32;;;:::o;13466:86::-;;13541:4;13534:5;13530:16;13519:27;;13509:43;;;:::o;13558:307::-;13626:1;13636:113;13650:6;13647:1;13644:13;13636:113;;;13735:1;13730:3;13726:11;13720:18;13716:1;13711:3;13707:11;13700:39;13672:2;13669:1;13665:10;13660:15;;13636:113;;;13767:6;13764:1;13761:13;13758:2;;;13847:1;13838:6;13833:3;13829:16;13822:27;13758:2;13607:258;;;;:::o;13871:320::-;;13952:1;13946:4;13942:12;13932:22;;13999:1;13993:4;13989:12;14020:18;14010:2;;14076:4;14068:6;14064:17;14054:27;;14010:2;14138;14130:6;14127:14;14107:18;14104:38;14101:2;;;14157:18;;:::i;:::-;14101:2;13922:269;;;;:::o;14197:180::-;14245:77;14242:1;14235:88;14342:4;14339:1;14332:15;14366:4;14363:1;14356:15;14383:180;14431:77;14428:1;14421:88;14528:4;14525:1;14518:15;14552:4;14549:1;14542:15;14569:180;14617:77;14614:1;14607:88;14714:4;14711:1;14704:15;14738:4;14735:1;14728:15;14755:102;;14847:2;14843:7;14838:2;14831:5;14827:14;14823:28;14813:38;;14803:54;;;:::o;14863:122::-;14936:24;14954:5;14936:24;:::i;:::-;14929:5;14926:35;14916:2;;14975:1;14972;14965:12;14916:2;14906:79;:::o;14991:122::-;15064:24;15082:5;15064:24;:::i;:::-;15057:5;15054:35;15044:2;;15103:1;15100;15093:12;15044:2;15034:79;:::o
Swarm Source
ipfs://b5b33864ec328b6cffa757d1f96ec4e527abe142db531f0b0843d5782f32492b
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.