Contract Overview
[ Download CSV Export ]
Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x773f460adc7da716f2c1333bfb3c0f362e9147ab
Contract Name:
CMFGameToken
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2021-10-19 */ /** * CMF | Crypto Mafia Family | Play to Earn Game * NFT on block chain play to earn game. Use the CMF Cash token to buy NFT Trap Houses where you can stake Kilo(s) of Cocaine to earn CMF * Cash Tokens. Turn the CMF Cash Tokens into real cash or use them to purchase authentic Apple & high-end luxury products through our * marketplace. * Visit us at https://cryptomafiafamily.games/ */ // SPDX-License-Identifier: MIT // Sources flattened with hardhat v2.5.0 https://hardhat.org // File @openzeppelin/contracts/utils/[email protected] 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; } } // File @openzeppelin/contracts/access/[email protected] pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File @openzeppelin/contracts/token/ERC20/[email protected] 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); } // File @openzeppelin/contracts/token/ERC20/extensions/[email protected] pragma solidity ^0.8.0; /** * @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); } // File @openzeppelin/contracts/token/ERC20/[email protected] pragma solidity ^0.8.0; /** * @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 guidelines: functions revert instead * of 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 {} } // File contracts/libraries/ERC20Base.sol pragma solidity ^0.8.0; abstract contract ERC20Base is ERC20 { uint8 private _decimals = 18; constructor(string memory name, string memory symbol) ERC20(name, symbol) { } function decimals() public view override returns (uint8) { return _decimals; } /** * @dev Sets {decimals} to a value other than the default one of 18. * * WARNING: This function should only be called from the constructor. Most * applications that interact with token contracts will not expect * {decimals} to ever change, and may work incorrectly if it does. */ function _setupDecimals(uint8 decimals_) internal { _decimals = decimals_; } } // File contracts/libraries/ERC20Recoverable.sol pragma solidity ^0.8.0; /** * @title TokenRecover * @dev Allow to recover any ERC20 sent into the contract for error */ contract ERC20Recoverable is Ownable { /** * @dev Remember that only owner can call so be careful when use on contracts generated from other contracts. * @param tokenAddress The token contract address * @param tokenAmount Number of tokens to be sent */ function recoverTokens(address tokenAddress, uint256 tokenAmount) public onlyOwner { IERC20(tokenAddress).transfer(owner(), tokenAmount); } } pragma solidity ^0.8.0; contract CMFGameToken is ERC20Base, ERC20Recoverable { constructor( string memory name, string memory symbol, uint256 initialSupply, uint8 decimals ) ERC20Base(name, symbol) { require(initialSupply > 0, "CMFGameToken: initial supply cannot be zero"); _setupDecimals(decimals); _mint(_msgSender(), initialSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"uint8","name":"decimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526012600560006101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b50604051620021df380380620021df8339818101604052810190620000539190620004ee565b8383818181600390805190602001906200006f9291906200039e565b508060049080519060200190620000889291906200039e565b5050505050620000ad620000a16200012f60201b60201c565b6200013760201b60201c565b60008211620000f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000ea9062000647565b60405180910390fd5b6200010481620001fd60201b60201c565b62000125620001186200012f60201b60201c565b836200021b60201b60201c565b50505050620008c1565b600033905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600560006101000a81548160ff021916908360ff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200028e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002859062000669565b60405180910390fd5b620002a2600083836200039460201b60201c565b8060026000828254620002b6919062000720565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200030d919062000720565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200037491906200068b565b60405180910390a362000390600083836200039960201b60201c565b5050565b505050565b505050565b828054620003ac90620007ca565b90600052602060002090601f016020900481019282620003d057600085556200041c565b82601f10620003eb57805160ff19168380011785556200041c565b828001600101855582156200041c579182015b828111156200041b578251825591602001919060010190620003fe565b5b5090506200042b91906200042f565b5090565b5b808211156200044a57600081600090555060010162000430565b5090565b6000620004656200045f84620006dc565b620006a8565b9050828152602081018484840111156200047e57600080fd5b6200048b84828562000794565b509392505050565b600082601f830112620004a557600080fd5b8151620004b78482602086016200044e565b91505092915050565b600081519050620004d1816200088d565b92915050565b600081519050620004e881620008a7565b92915050565b600080600080608085870312156200050557600080fd5b600085015167ffffffffffffffff8111156200052057600080fd5b6200052e8782880162000493565b945050602085015167ffffffffffffffff8111156200054c57600080fd5b6200055a8782880162000493565b93505060406200056d87828801620004c0565b92505060606200058087828801620004d7565b91505092959194509250565b60006200059b602b836200070f565b91507f434d4647616d65546f6b656e3a20696e697469616c20737570706c792063616e60008301527f6e6f74206265207a65726f0000000000000000000000000000000000000000006020830152604082019050919050565b600062000603601f836200070f565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b62000641816200077d565b82525050565b6000602082019050818103600083015262000662816200058c565b9050919050565b600060208201905081810360008301526200068481620005f4565b9050919050565b6000602082019050620006a2600083018462000636565b92915050565b6000604051905081810181811067ffffffffffffffff82111715620006d257620006d16200085e565b5b8060405250919050565b600067ffffffffffffffff821115620006fa57620006f96200085e565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b60006200072d826200077d565b91506200073a836200077d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000772576200077162000800565b5b828201905092915050565b6000819050919050565b600060ff82169050919050565b60005b83811015620007b457808201518184015260208101905062000797565b83811115620007c4576000848401525b50505050565b60006002820490506001821680620007e357607f821691505b60208210811415620007fa57620007f96200082f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000898816200077d565b8114620008a457600080fd5b50565b620008b28162000787565b8114620008be57600080fd5b50565b61190e80620008d16000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b8063069c9fae146100fa57806306fdde0314610116578063095ea7b314610134575b600080fd5b610114600480360381019061010f91906110d7565b610322565b005b61011e610437565b60405161012b9190611580565b60405180910390f35b61014e600480360381019061014991906110d7565b6104c9565b60405161015b9190611565565b60405180910390f35b61016c6104e7565b60405161017991906116c2565b60405180910390f35b61019c60048036038101906101979190611088565b6104f1565b6040516101a99190611565565b60405180910390f35b6101ba6105e9565b6040516101c791906116dd565b60405180910390f35b6101ea60048036038101906101e591906110d7565b610600565b6040516101f79190611565565b60405180910390f35b61021a60048036038101906102159190611023565b6106ac565b60405161022791906116c2565b60405180910390f35b6102386106f4565b005b61024261077c565b60405161024f9190611521565b60405180910390f35b6102606107a6565b60405161026d9190611580565b60405180910390f35b610290600480360381019061028b91906110d7565b610838565b60405161029d9190611565565b60405180910390f35b6102c060048036038101906102bb91906110d7565b610923565b6040516102cd9190611565565b60405180910390f35b6102f060048036038101906102eb919061104c565b610941565b6040516102fd91906116c2565b60405180910390f35b610320600480360381019061031b9190611023565b6109c8565b005b61032a610ac0565b73ffffffffffffffffffffffffffffffffffffffff1661034861077c565b73ffffffffffffffffffffffffffffffffffffffff161461039e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039590611642565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6103c261077c565b836040518363ffffffff1660e01b81526004016103e092919061153c565b602060405180830381600087803b1580156103fa57600080fd5b505af115801561040e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104329190611113565b505050565b606060038054610446906117f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610472906117f2565b80156104bf5780601f10610494576101008083540402835291602001916104bf565b820191906000526020600020905b8154815290600101906020018083116104a257829003601f168201915b5050505050905090565b60006104dd6104d6610ac0565b8484610ac8565b6001905092915050565b6000600254905090565b60006104fe848484610c93565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610549610ac0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c090611622565b60405180910390fd5b6105dd856105d5610ac0565b858403610ac8565b60019150509392505050565b6000600560009054906101000a900460ff16905090565b60006106a261060d610ac0565b84846001600061061b610ac0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069d9190611714565b610ac8565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106fc610ac0565b73ffffffffffffffffffffffffffffffffffffffff1661071a61077c565b73ffffffffffffffffffffffffffffffffffffffff1614610770576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076790611642565b60405180910390fd5b61077a6000610f14565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107b5906117f2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e1906117f2565b801561082e5780601f106108035761010080835404028352916020019161082e565b820191906000526020600020905b81548152906001019060200180831161081157829003601f168201915b5050505050905090565b60008060016000610847610ac0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fb906116a2565b60405180910390fd5b61091861090f610ac0565b85858403610ac8565b600191505092915050565b6000610937610930610ac0565b8484610c93565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6109d0610ac0565b73ffffffffffffffffffffffffffffffffffffffff166109ee61077c565b73ffffffffffffffffffffffffffffffffffffffff1614610a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3b90611642565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aab906115c2565b60405180910390fd5b610abd81610f14565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f90611682565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9f906115e2565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c8691906116c2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfa90611662565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6a906115a2565b60405180910390fd5b610d7e838383610fda565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb90611602565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e979190611714565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610efb91906116c2565b60405180910390a3610f0e848484610fdf565b50505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081359050610ff381611893565b92915050565b600081519050611008816118aa565b92915050565b60008135905061101d816118c1565b92915050565b60006020828403121561103557600080fd5b600061104384828501610fe4565b91505092915050565b6000806040838503121561105f57600080fd5b600061106d85828601610fe4565b925050602061107e85828601610fe4565b9150509250929050565b60008060006060848603121561109d57600080fd5b60006110ab86828701610fe4565b93505060206110bc86828701610fe4565b92505060406110cd8682870161100e565b9150509250925092565b600080604083850312156110ea57600080fd5b60006110f885828601610fe4565b92505060206111098582860161100e565b9150509250929050565b60006020828403121561112557600080fd5b600061113384828501610ff9565b91505092915050565b6111458161176a565b82525050565b6111548161177c565b82525050565b6000611165826116f8565b61116f8185611703565b935061117f8185602086016117bf565b61118881611882565b840191505092915050565b60006111a0602383611703565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611206602683611703565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061126c602283611703565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006112d2602683611703565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611338602883611703565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061139e602083611703565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006113de602583611703565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611444602483611703565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114aa602583611703565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61150c816117a8565b82525050565b61151b816117b2565b82525050565b6000602082019050611536600083018461113c565b92915050565b6000604082019050611551600083018561113c565b61155e6020830184611503565b9392505050565b600060208201905061157a600083018461114b565b92915050565b6000602082019050818103600083015261159a818461115a565b905092915050565b600060208201905081810360008301526115bb81611193565b9050919050565b600060208201905081810360008301526115db816111f9565b9050919050565b600060208201905081810360008301526115fb8161125f565b9050919050565b6000602082019050818103600083015261161b816112c5565b9050919050565b6000602082019050818103600083015261163b8161132b565b9050919050565b6000602082019050818103600083015261165b81611391565b9050919050565b6000602082019050818103600083015261167b816113d1565b9050919050565b6000602082019050818103600083015261169b81611437565b9050919050565b600060208201905081810360008301526116bb8161149d565b9050919050565b60006020820190506116d76000830184611503565b92915050565b60006020820190506116f26000830184611512565b92915050565b600081519050919050565b600082825260208201905092915050565b600061171f826117a8565b915061172a836117a8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561175f5761175e611824565b5b828201905092915050565b600061177582611788565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156117dd5780820151818401526020810190506117c2565b838111156117ec576000848401525b50505050565b6000600282049050600182168061180a57607f821691505b6020821081141561181e5761181d611853565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61189c8161176a565b81146118a757600080fd5b50565b6118b38161177c565b81146118be57600080fd5b50565b6118ca816117a8565b81146118d557600080fd5b5056fea26469706673582212207df48c63f48875fc84bb05e8610ea88841c630a1787f3f44d77912d44cb3cd6664736f6c63430008000033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000015328afb1ca376b7c420000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000008434d4620436173680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004434d464300000000000000000000000000000000000000000000000000000000
Deployed ByteCode Sourcemap
20599:419:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20406:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9192:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11359:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10312:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12010:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19410:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12911:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10483:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2993:94;;;:::i;:::-;;2342:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9411:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13629:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10823:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11061:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3242:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20406:153;2573:12;:10;:12::i;:::-;2562:23;;:7;:5;:7::i;:::-;:23;;;2554:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20507:12:::1;20500:29;;;20530:7;:5;:7::i;:::-;20539:11;20500:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20406:153:::0;;:::o;9192:100::-;9246:13;9279:5;9272:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9192:100;:::o;11359:169::-;11442:4;11459:39;11468:12;:10;:12::i;:::-;11482:7;11491:6;11459:8;:39::i;:::-;11516:4;11509:11;;11359:169;;;;:::o;10312:108::-;10373:7;10400:12;;10393:19;;10312:108;:::o;12010:492::-;12150:4;12167:36;12177:6;12185:9;12196:6;12167:9;:36::i;:::-;12216:24;12243:11;:19;12255:6;12243:19;;;;;;;;;;;;;;;:33;12263:12;:10;:12::i;:::-;12243:33;;;;;;;;;;;;;;;;12216:60;;12315:6;12295:16;:26;;12287:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12402:57;12411:6;12419:12;:10;:12::i;:::-;12452:6;12433:16;:25;12402:8;:57::i;:::-;12490:4;12483:11;;;12010:492;;;;;:::o;19410:92::-;19460:5;19485:9;;;;;;;;;;;19478:16;;19410:92;:::o;12911:215::-;12999:4;13016:80;13025:12;:10;:12::i;:::-;13039:7;13085:10;13048:11;:25;13060:12;:10;:12::i;:::-;13048:25;;;;;;;;;;;;;;;:34;13074:7;13048:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13016:8;:80::i;:::-;13114:4;13107:11;;12911:215;;;;:::o;10483:127::-;10557:7;10584:9;:18;10594:7;10584:18;;;;;;;;;;;;;;;;10577:25;;10483:127;;;:::o;2993:94::-;2573:12;:10;:12::i;:::-;2562:23;;:7;:5;:7::i;:::-;:23;;;2554:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3058:21:::1;3076:1;3058:9;:21::i;:::-;2993:94::o:0;2342:87::-;2388:7;2415:6;;;;;;;;;;;2408:13;;2342:87;:::o;9411:104::-;9467:13;9500:7;9493:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9411:104;:::o;13629:413::-;13722:4;13739:24;13766:11;:25;13778:12;:10;:12::i;:::-;13766:25;;;;;;;;;;;;;;;:34;13792:7;13766:34;;;;;;;;;;;;;;;;13739:61;;13839:15;13819:16;:35;;13811:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13932:67;13941:12;:10;:12::i;:::-;13955:7;13983:15;13964:16;:34;13932:8;:67::i;:::-;14030:4;14023:11;;;13629:413;;;;:::o;10823:175::-;10909:4;10926:42;10936:12;:10;:12::i;:::-;10950:9;10961:6;10926:9;:42::i;:::-;10986:4;10979:11;;10823:175;;;;:::o;11061:151::-;11150:7;11177:11;:18;11189:5;11177:18;;;;;;;;;;;;;;;:27;11196:7;11177:27;;;;;;;;;;;;;;;;11170:34;;11061:151;;;;:::o;3242:192::-;2573:12;:10;:12::i;:::-;2562:23;;:7;:5;:7::i;:::-;:23;;;2554:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3351:1:::1;3331:22;;:8;:22;;;;3323:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3407:19;3417:8;3407:9;:19::i;:::-;3242:192:::0;:::o;1126:98::-;1179:7;1206:10;1199:17;;1126:98;:::o;17313:380::-;17466:1;17449:19;;:5;:19;;;;17441:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17547:1;17528:21;;:7;:21;;;;17520:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17631:6;17601:11;:18;17613:5;17601:18;;;;;;;;;;;;;;;:27;17620:7;17601:27;;;;;;;;;;;;;;;:36;;;;17669:7;17653:32;;17662:5;17653:32;;;17678:6;17653:32;;;;;;:::i;:::-;;;;;;;;17313:380;;;:::o;14532:733::-;14690:1;14672:20;;:6;:20;;;;14664:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14774:1;14753:23;;:9;:23;;;;14745:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14829:47;14850:6;14858:9;14869:6;14829:20;:47::i;:::-;14889:21;14913:9;:17;14923:6;14913:17;;;;;;;;;;;;;;;;14889:41;;14966:6;14949:13;:23;;14941:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15087:6;15071:13;:22;15051:9;:17;15061:6;15051:17;;;;;;;;;;;;;;;:42;;;;15139:6;15115:9;:20;15125:9;15115:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15180:9;15163:35;;15172:6;15163:35;;;15191:6;15163:35;;;;;;:::i;:::-;;;;;;;;15211:46;15231:6;15239:9;15250:6;15211:19;:46::i;:::-;14532:733;;;;:::o;3442:173::-;3498:16;3517:6;;;;;;;;;;;3498:25;;3543:8;3534:6;;:17;;;;;;;;;;;;;;;;;;3598:8;3567:40;;3588:8;3567:40;;;;;;;;;;;;3442:173;;:::o;18293:125::-;;;;:::o;19022:124::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:137::-;;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;212:77;;;;:::o;295:139::-;;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;347:87;;;;:::o;440:262::-;;548:2;536:9;527:7;523:23;519:32;516:2;;;564:1;561;554:12;516:2;607:1;632:53;677:7;668:6;657:9;653:22;632:53;:::i;:::-;622:63;;578:117;506:196;;;;:::o;708:407::-;;;833:2;821:9;812:7;808:23;804:32;801:2;;;849:1;846;839:12;801:2;892:1;917:53;962:7;953:6;942:9;938:22;917:53;:::i;:::-;907:63;;863:117;1019:2;1045:53;1090:7;1081:6;1070:9;1066:22;1045:53;:::i;:::-;1035:63;;990:118;791:324;;;;;:::o;1121:552::-;;;;1263:2;1251:9;1242:7;1238:23;1234:32;1231:2;;;1279:1;1276;1269:12;1231:2;1322:1;1347:53;1392:7;1383:6;1372:9;1368:22;1347:53;:::i;:::-;1337:63;;1293:117;1449:2;1475:53;1520:7;1511:6;1500:9;1496:22;1475:53;:::i;:::-;1465:63;;1420:118;1577:2;1603:53;1648:7;1639:6;1628:9;1624:22;1603:53;:::i;:::-;1593:63;;1548:118;1221:452;;;;;:::o;1679:407::-;;;1804:2;1792:9;1783:7;1779:23;1775:32;1772:2;;;1820:1;1817;1810:12;1772:2;1863:1;1888:53;1933:7;1924:6;1913:9;1909:22;1888:53;:::i;:::-;1878:63;;1834:117;1990:2;2016:53;2061:7;2052:6;2041:9;2037:22;2016:53;:::i;:::-;2006:63;;1961:118;1762:324;;;;;:::o;2092:278::-;;2208:2;2196:9;2187:7;2183:23;2179:32;2176:2;;;2224:1;2221;2214:12;2176:2;2267:1;2292:61;2345:7;2336:6;2325:9;2321:22;2292:61;:::i;:::-;2282:71;;2238:125;2166:204;;;;:::o;2376:118::-;2463:24;2481:5;2463:24;:::i;:::-;2458:3;2451:37;2441:53;;:::o;2500:109::-;2581:21;2596:5;2581:21;:::i;:::-;2576:3;2569:34;2559:50;;:::o;2615:364::-;;2731:39;2764:5;2731:39;:::i;:::-;2786:71;2850:6;2845:3;2786:71;:::i;:::-;2779:78;;2866:52;2911:6;2906:3;2899:4;2892:5;2888:16;2866:52;:::i;:::-;2943:29;2965:6;2943:29;:::i;:::-;2938:3;2934:39;2927:46;;2707:272;;;;;:::o;2985:367::-;;3148:67;3212:2;3207:3;3148:67;:::i;:::-;3141:74;;3245:34;3241:1;3236:3;3232:11;3225:55;3311:5;3306:2;3301:3;3297:12;3290:27;3343:2;3338:3;3334:12;3327:19;;3131:221;;;:::o;3358:370::-;;3521:67;3585:2;3580:3;3521:67;:::i;:::-;3514:74;;3618:34;3614:1;3609:3;3605:11;3598:55;3684:8;3679:2;3674:3;3670:12;3663:30;3719:2;3714:3;3710:12;3703:19;;3504:224;;;:::o;3734:366::-;;3897:67;3961:2;3956:3;3897:67;:::i;:::-;3890:74;;3994:34;3990:1;3985:3;3981:11;3974:55;4060:4;4055:2;4050:3;4046:12;4039:26;4091:2;4086:3;4082:12;4075:19;;3880:220;;;:::o;4106:370::-;;4269:67;4333:2;4328:3;4269:67;:::i;:::-;4262:74;;4366:34;4362:1;4357:3;4353:11;4346:55;4432:8;4427:2;4422:3;4418:12;4411:30;4467:2;4462:3;4458:12;4451:19;;4252:224;;;:::o;4482:372::-;;4645:67;4709:2;4704:3;4645:67;:::i;:::-;4638:74;;4742:34;4738:1;4733:3;4729:11;4722:55;4808:10;4803:2;4798:3;4794:12;4787:32;4845:2;4840:3;4836:12;4829:19;;4628:226;;;:::o;4860:330::-;;5023:67;5087:2;5082:3;5023:67;:::i;:::-;5016:74;;5120:34;5116:1;5111:3;5107:11;5100:55;5181:2;5176:3;5172:12;5165:19;;5006:184;;;:::o;5196:369::-;;5359:67;5423:2;5418:3;5359:67;:::i;:::-;5352:74;;5456:34;5452:1;5447:3;5443:11;5436:55;5522:7;5517:2;5512:3;5508:12;5501:29;5556:2;5551:3;5547:12;5540:19;;5342:223;;;:::o;5571:368::-;;5734:67;5798:2;5793:3;5734:67;:::i;:::-;5727:74;;5831:34;5827:1;5822:3;5818:11;5811:55;5897:6;5892:2;5887:3;5883:12;5876:28;5930:2;5925:3;5921:12;5914:19;;5717:222;;;:::o;5945:369::-;;6108:67;6172:2;6167:3;6108:67;:::i;:::-;6101:74;;6205:34;6201:1;6196:3;6192:11;6185:55;6271:7;6266:2;6261:3;6257:12;6250:29;6305:2;6300:3;6296:12;6289:19;;6091:223;;;:::o;6320:118::-;6407:24;6425:5;6407:24;:::i;:::-;6402:3;6395:37;6385:53;;:::o;6444:112::-;6527:22;6543:5;6527:22;:::i;:::-;6522:3;6515:35;6505:51;;:::o;6562:222::-;;6693:2;6682:9;6678:18;6670:26;;6706:71;6774:1;6763:9;6759:17;6750:6;6706:71;:::i;:::-;6660:124;;;;:::o;6790:332::-;;6949:2;6938:9;6934:18;6926:26;;6962:71;7030:1;7019:9;7015:17;7006:6;6962:71;:::i;:::-;7043:72;7111:2;7100:9;7096:18;7087:6;7043:72;:::i;:::-;6916:206;;;;;:::o;7128:210::-;;7253:2;7242:9;7238:18;7230:26;;7266:65;7328:1;7317:9;7313:17;7304:6;7266:65;:::i;:::-;7220:118;;;;:::o;7344:313::-;;7495:2;7484:9;7480:18;7472:26;;7544:9;7538:4;7534:20;7530:1;7519:9;7515:17;7508:47;7572:78;7645:4;7636:6;7572:78;:::i;:::-;7564:86;;7462:195;;;;:::o;7663:419::-;;7867:2;7856:9;7852:18;7844:26;;7916:9;7910:4;7906:20;7902:1;7891:9;7887:17;7880:47;7944:131;8070:4;7944:131;:::i;:::-;7936:139;;7834:248;;;:::o;8088:419::-;;8292:2;8281:9;8277:18;8269:26;;8341:9;8335:4;8331:20;8327:1;8316:9;8312:17;8305:47;8369:131;8495:4;8369:131;:::i;:::-;8361:139;;8259:248;;;:::o;8513:419::-;;8717:2;8706:9;8702:18;8694:26;;8766:9;8760:4;8756:20;8752:1;8741:9;8737:17;8730:47;8794:131;8920:4;8794:131;:::i;:::-;8786:139;;8684:248;;;:::o;8938:419::-;;9142:2;9131:9;9127:18;9119:26;;9191:9;9185:4;9181:20;9177:1;9166:9;9162:17;9155:47;9219:131;9345:4;9219:131;:::i;:::-;9211:139;;9109:248;;;:::o;9363:419::-;;9567:2;9556:9;9552:18;9544:26;;9616:9;9610:4;9606:20;9602:1;9591:9;9587:17;9580:47;9644:131;9770:4;9644:131;:::i;:::-;9636:139;;9534:248;;;:::o;9788:419::-;;9992:2;9981:9;9977:18;9969:26;;10041:9;10035:4;10031:20;10027:1;10016:9;10012:17;10005:47;10069:131;10195:4;10069:131;:::i;:::-;10061:139;;9959:248;;;:::o;10213:419::-;;10417:2;10406:9;10402:18;10394:26;;10466:9;10460:4;10456:20;10452:1;10441:9;10437:17;10430:47;10494:131;10620:4;10494:131;:::i;:::-;10486:139;;10384:248;;;:::o;10638:419::-;;10842:2;10831:9;10827:18;10819:26;;10891:9;10885:4;10881:20;10877:1;10866:9;10862:17;10855:47;10919:131;11045:4;10919:131;:::i;:::-;10911:139;;10809:248;;;:::o;11063:419::-;;11267:2;11256:9;11252:18;11244:26;;11316:9;11310:4;11306:20;11302:1;11291:9;11287:17;11280:47;11344:131;11470:4;11344:131;:::i;:::-;11336:139;;11234:248;;;:::o;11488:222::-;;11619:2;11608:9;11604:18;11596:26;;11632:71;11700:1;11689:9;11685:17;11676:6;11632:71;:::i;:::-;11586:124;;;;:::o;11716:214::-;;11843:2;11832:9;11828:18;11820:26;;11856:67;11920:1;11909:9;11905:17;11896:6;11856:67;:::i;:::-;11810:120;;;;:::o;11936:99::-;;12022:5;12016:12;12006:22;;11995:40;;;:::o;12041:169::-;;12159:6;12154:3;12147:19;12199:4;12194:3;12190:14;12175:29;;12137:73;;;;:::o;12216:305::-;;12275:20;12293:1;12275:20;:::i;:::-;12270:25;;12309:20;12327:1;12309:20;:::i;:::-;12304:25;;12463:1;12395:66;12391:74;12388:1;12385:81;12382:2;;;12469:18;;:::i;:::-;12382:2;12513:1;12510;12506:9;12499:16;;12260:261;;;;:::o;12527:96::-;;12593:24;12611:5;12593:24;:::i;:::-;12582:35;;12572:51;;;:::o;12629:90::-;;12706:5;12699:13;12692:21;12681:32;;12671:48;;;:::o;12725:126::-;;12802:42;12795:5;12791:54;12780:65;;12770:81;;;:::o;12857:77::-;;12923:5;12912:16;;12902:32;;;:::o;12940:86::-;;13015:4;13008:5;13004:16;12993:27;;12983:43;;;:::o;13032:307::-;13100:1;13110:113;13124:6;13121:1;13118:13;13110:113;;;13209:1;13204:3;13200:11;13194:18;13190:1;13185:3;13181:11;13174:39;13146:2;13143:1;13139:10;13134:15;;13110:113;;;13241:6;13238:1;13235:13;13232:2;;;13321:1;13312:6;13307:3;13303:16;13296:27;13232:2;13081:258;;;;:::o;13345:320::-;;13426:1;13420:4;13416:12;13406:22;;13473:1;13467:4;13463:12;13494:18;13484:2;;13550:4;13542:6;13538:17;13528:27;;13484:2;13612;13604:6;13601:14;13581:18;13578:38;13575:2;;;13631:18;;:::i;:::-;13575:2;13396:269;;;;:::o;13671:180::-;13719:77;13716:1;13709:88;13816:4;13813:1;13806:15;13840:4;13837:1;13830:15;13857:180;13905:77;13902:1;13895:88;14002:4;13999:1;13992:15;14026:4;14023:1;14016:15;14043:102;;14135:2;14131:7;14126:2;14119:5;14115:14;14111:28;14101:38;;14091:54;;;:::o;14151:122::-;14224:24;14242:5;14224:24;:::i;:::-;14217:5;14214:35;14204:2;;14263:1;14260;14253:12;14204:2;14194:79;:::o;14279:116::-;14349:21;14364:5;14349:21;:::i;:::-;14342:5;14339:32;14329:2;;14385:1;14382;14375:12;14329:2;14319:76;:::o;14401:122::-;14474:24;14492:5;14474:24;:::i;:::-;14467:5;14464:35;14454:2;;14513:1;14510;14503:12;14454:2;14444:79;:::o
Swarm Source
ipfs://7df48c63f48875fc84bb05e8610ea88841c630a1787f3f44d77912d44cb3cd66
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.