ERC-20
Overview
Max Total Supply
100,000,000 PONZI
Holders
51
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.986493081442773668 PONZIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PonziScheme
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-18 */ // SPDX-License-Identifier: MIT /* * THIS IS A PONZI SCHEME * THIS IS A PONZI SCHEME THIS IS A PONZI SCHEME THIS IS A PONZI SCHEME * THIS IS A PONZI SCHEME * * 0% TAX * LP BURNED * 100% PONZI SCHEME * * Website: https://thisisaponzischeme.xyz * Twitter: https://twitter.com/thisisaponzi * Telegram: https://t.me/thisisaponzi * * THIS IS A PONZI SCHEME * */ // File: @openzeppelin/contracts/utils/math/SafeMath.sol // OpenZeppelin Contracts (last updated v4.6.0) (utils/math/SafeMath.sol) pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the subtraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount ) external returns (bool); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) 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/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) 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/token/ERC20/ERC20.sol // OpenZeppelin Contracts (last updated v4.7.0) (token/ERC20/ERC20.sol) 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 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: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, 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}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, 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}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, 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) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, 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) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * 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: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; } _balances[to] += amount; emit Transfer(from, to, amount); _afterTokenTransfer(from, to, 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 Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - 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: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { 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 { _transferOwnership(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"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: PONZI.sol pragma solidity ^0.8.4; contract PonziScheme is ERC20, Ownable { using SafeMath for uint256; mapping(address => bool) private pair; bool public tradingOpen; uint256 public _maxWalletSize = 100000000 * 10 ** decimals(); uint256 private _totalSupply = 100000000 * 10 ** decimals(); constructor() ERC20("Ponzi Scheme", "PONZI") { _mint(msg.sender, 100000000 * 10 ** decimals()); } function addPair(address toPair) public onlyOwner { require(!pair[toPair], "This pair is already excluded"); pair[toPair] = true; } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function removeLimits() public onlyOwner{ _maxWalletSize = _totalSupply; } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } //buy if(from != owner() && to != owner() && pair[from]) { require(balanceOf(to) + amount <= _maxWalletSize, "TOKEN: Amount exceeds maximum wallet size"); } // transfer if(from != owner() && to != owner() && !(pair[to]) && !(pair[from])) { require(balanceOf(to) + amount <= _maxWalletSize, "TOKEN: Balance exceeds max wallet size!"); } } super._transfer(from, to, amount); } }
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":"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":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toPair","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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
6080604052620000146200017c60201b60201c565b600a620000229190620005c6565b6305f5e10062000033919062000703565b600855620000466200017c60201b60201c565b600a620000549190620005c6565b6305f5e10062000065919062000703565b6009553480156200007557600080fd5b506040518060400160405280600c81526020017f506f6e7a6920536368656d6500000000000000000000000000000000000000008152506040518060400160405280600581526020017f504f4e5a490000000000000000000000000000000000000000000000000000008152508160039080519060200190620000fa929190620003d6565b50806004908051906020019062000113929190620003d6565b505050620001366200012a6200018560201b60201c565b6200018d60201b60201c565b62000176336200014b6200017c60201b60201c565b600a620001599190620005c6565b6305f5e1006200016a919062000703565b6200025360201b60201c565b62000845565b60006012905090565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002bd90620004be565b60405180910390fd5b620002da60008383620003cc60201b60201c565b8060026000828254620002ee91906200050e565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200034591906200050e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003ac9190620004e0565b60405180910390a3620003c860008383620003d160201b60201c565b5050565b505050565b505050565b828054620003e4906200077b565b90600052602060002090601f01602090048101928262000408576000855562000454565b82601f106200042357805160ff191683800117855562000454565b8280016001018555821562000454579182015b828111156200045357825182559160200191906001019062000436565b5b50905062000463919062000467565b5090565b5b808211156200048257600081600090555060010162000468565b5090565b600062000495601f83620004fd565b9150620004a2826200081c565b602082019050919050565b620004b88162000764565b82525050565b60006020820190508181036000830152620004d98162000486565b9050919050565b6000602082019050620004f76000830184620004ad565b92915050565b600082825260208201905092915050565b60006200051b8262000764565b9150620005288362000764565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000560576200055f620007b1565b5b828201905092915050565b6000808291508390505b6001851115620005bd57808604811115620005955762000594620007b1565b5b6001851615620005a55780820291505b8081029050620005b5856200080f565b945062000575565b94509492505050565b6000620005d38262000764565b9150620005e0836200076e565b92506200060f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000617565b905092915050565b600082620006295760019050620006fc565b81620006395760009050620006fc565b81600181146200065257600281146200065d5762000693565b6001915050620006fc565b60ff841115620006725762000671620007b1565b5b8360020a9150848211156200068c576200068b620007b1565b5b50620006fc565b5060208310610133831016604e8410600b8410161715620006cd5782820a905083811115620006c757620006c6620007b1565b5b620006fc565b620006dc84848460016200056b565b92509050818404811115620006f657620006f5620007b1565b5b81810290505b9392505050565b6000620007108262000764565b91506200071d8362000764565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007595762000758620007b1565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200079457607f821691505b60208210811415620007ab57620007aa620007e0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61204980620008556000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638f70ccf7116100ad578063c2b7bbb611610071578063c2b7bbb614610335578063dd62ed3e14610351578063ea1644d514610381578063f2fde38b1461039d578063ffb54a99146103b95761012c565b80638f70ccf71461027d5780638f9a55c01461029957806395d89b41146102b7578063a457c2d7146102d5578063a9059cbb146103055761012c565b806339509351116100f457806339509351146101eb57806370a082311461021b578063715018a61461024b578063751039fc146102555780638da5cb5b1461025f5761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f57806323b872dd1461019d578063313ce567146101cd575b600080fd5b6101396103d7565b604051610146919061183b565b60405180910390f35b61016960048036038101906101649190611518565b610469565b6040516101769190611820565b60405180910390f35b61018761048c565b6040516101949190611a1d565b60405180910390f35b6101b760048036038101906101b291906114c9565b610496565b6040516101c49190611820565b60405180910390f35b6101d56104c5565b6040516101e29190611a38565b60405180910390f35b61020560048036038101906102009190611518565b6104ce565b6040516102129190611820565b60405180910390f35b61023560048036038101906102309190611464565b610505565b6040516102429190611a1d565b60405180910390f35b61025361054d565b005b61025d610561565b005b610267610574565b6040516102749190611805565b60405180910390f35b61029760048036038101906102929190611554565b61059e565b005b6102a16105c3565b6040516102ae9190611a1d565b60405180910390f35b6102bf6105c9565b6040516102cc919061183b565b60405180910390f35b6102ef60048036038101906102ea9190611518565b61065b565b6040516102fc9190611820565b60405180910390f35b61031f600480360381019061031a9190611518565b6106d2565b60405161032c9190611820565b60405180910390f35b61034f600480360381019061034a9190611464565b6106f5565b005b61036b6004803603810190610366919061148d565b6107e5565b6040516103789190611a1d565b60405180910390f35b61039b6004803603810190610396919061157d565b61086c565b005b6103b760048036038101906103b29190611464565b61087e565b005b6103c1610902565b6040516103ce9190611820565b60405180910390f35b6060600380546103e690611b4d565b80601f016020809104026020016040519081016040528092919081815260200182805461041290611b4d565b801561045f5780601f106104345761010080835404028352916020019161045f565b820191906000526020600020905b81548152906001019060200180831161044257829003601f168201915b5050505050905090565b600080610474610915565b905061048181858561091d565b600191505092915050565b6000600254905090565b6000806104a1610915565b90506104ae858285610ae8565b6104b9858585610b74565b60019150509392505050565b60006012905090565b6000806104d9610915565b90506104fa8185856104eb85896107e5565b6104f59190611a6f565b61091d565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610555611056565b61055f60006110d4565b565b610569611056565b600954600881905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6105a6611056565b80600760006101000a81548160ff02191690831515021790555050565b60085481565b6060600480546105d890611b4d565b80601f016020809104026020016040519081016040528092919081815260200182805461060490611b4d565b80156106515780601f1061062657610100808354040283529160200191610651565b820191906000526020600020905b81548152906001019060200180831161063457829003601f168201915b5050505050905090565b600080610666610915565b9050600061067482866107e5565b9050838110156106b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b0906119fd565b60405180910390fd5b6106c6828686840361091d565b60019250505092915050565b6000806106dd610915565b90506106ea818585610b74565b600191505092915050565b6106fd611056565b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561078a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107819061187d565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610874611056565b8060088190555050565b610886611056565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ed906118bd565b60405180910390fd5b6108ff816110d4565b50565b600760009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610984906119dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f4906118dd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610adb9190611a1d565b60405180910390a3505050565b6000610af484846107e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b6e5781811015610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b579061191d565b60405180910390fd5b610b6d848484840361091d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb906119bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b9061185d565b60405180910390fd5b60008111610c97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8e9061199d565b60405180910390fd5b610c9f610574565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d0d5750610cdd610574565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561104657600760009054906101000a900460ff16610d9c57610d2e610574565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d929061189d565b60405180910390fd5b5b610da4610574565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e125750610de2610574565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610e675750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610ec55760085481610e7984610505565b610e839190611a6f565b1115610ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebb9061195d565b60405180910390fd5b5b610ecd610574565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f3b5750610f0b610574565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610f915750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610fe75750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156110455760085481610ff984610505565b6110039190611a6f565b1115611044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103b906118fd565b60405180910390fd5b5b5b61105183838361119a565b505050565b61105e610915565b73ffffffffffffffffffffffffffffffffffffffff1661107c610574565b73ffffffffffffffffffffffffffffffffffffffff16146110d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c99061197d565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561120a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611201906119bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561127a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112719061185d565b60405180910390fd5b61128583838361141b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561130b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113029061193d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461139e9190611a6f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114029190611a1d565b60405180910390a3611415848484611420565b50505050565b505050565b505050565b60008135905061143481611fce565b92915050565b60008135905061144981611fe5565b92915050565b60008135905061145e81611ffc565b92915050565b60006020828403121561147657600080fd5b600061148484828501611425565b91505092915050565b600080604083850312156114a057600080fd5b60006114ae85828601611425565b92505060206114bf85828601611425565b9150509250929050565b6000806000606084860312156114de57600080fd5b60006114ec86828701611425565b93505060206114fd86828701611425565b925050604061150e8682870161144f565b9150509250925092565b6000806040838503121561152b57600080fd5b600061153985828601611425565b925050602061154a8582860161144f565b9150509250929050565b60006020828403121561156657600080fd5b60006115748482850161143a565b91505092915050565b60006020828403121561158f57600080fd5b600061159d8482850161144f565b91505092915050565b6115af81611ac5565b82525050565b6115be81611ad7565b82525050565b60006115cf82611a53565b6115d98185611a5e565b93506115e9818560208601611b1a565b6115f281611bdd565b840191505092915050565b600061160a602383611a5e565b915061161582611bee565b604082019050919050565b600061162d601d83611a5e565b915061163882611c3d565b602082019050919050565b6000611650603f83611a5e565b915061165b82611c66565b604082019050919050565b6000611673602683611a5e565b915061167e82611cb5565b604082019050919050565b6000611696602283611a5e565b91506116a182611d04565b604082019050919050565b60006116b9602783611a5e565b91506116c482611d53565b604082019050919050565b60006116dc601d83611a5e565b91506116e782611da2565b602082019050919050565b60006116ff602683611a5e565b915061170a82611dcb565b604082019050919050565b6000611722602983611a5e565b915061172d82611e1a565b604082019050919050565b6000611745602083611a5e565b915061175082611e69565b602082019050919050565b6000611768602983611a5e565b915061177382611e92565b604082019050919050565b600061178b602583611a5e565b915061179682611ee1565b604082019050919050565b60006117ae602483611a5e565b91506117b982611f30565b604082019050919050565b60006117d1602583611a5e565b91506117dc82611f7f565b604082019050919050565b6117f081611b03565b82525050565b6117ff81611b0d565b82525050565b600060208201905061181a60008301846115a6565b92915050565b600060208201905061183560008301846115b5565b92915050565b6000602082019050818103600083015261185581846115c4565b905092915050565b60006020820190508181036000830152611876816115fd565b9050919050565b6000602082019050818103600083015261189681611620565b9050919050565b600060208201905081810360008301526118b681611643565b9050919050565b600060208201905081810360008301526118d681611666565b9050919050565b600060208201905081810360008301526118f681611689565b9050919050565b60006020820190508181036000830152611916816116ac565b9050919050565b60006020820190508181036000830152611936816116cf565b9050919050565b60006020820190508181036000830152611956816116f2565b9050919050565b6000602082019050818103600083015261197681611715565b9050919050565b6000602082019050818103600083015261199681611738565b9050919050565b600060208201905081810360008301526119b68161175b565b9050919050565b600060208201905081810360008301526119d68161177e565b9050919050565b600060208201905081810360008301526119f6816117a1565b9050919050565b60006020820190508181036000830152611a16816117c4565b9050919050565b6000602082019050611a3260008301846117e7565b92915050565b6000602082019050611a4d60008301846117f6565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611a7a82611b03565b9150611a8583611b03565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611aba57611ab9611b7f565b5b828201905092915050565b6000611ad082611ae3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611b38578082015181840152602081019050611b1d565b83811115611b47576000848401525b50505050565b60006002820490506001821680611b6557607f821691505b60208210811415611b7957611b78611bae565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54686973207061697220697320616c7265616479206578636c75646564000000600082015250565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e63652065786365656473206d61782077616c6c6560008201527f742073697a652100000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a20416d6f756e742065786365656473206d6178696d756d20776160008201527f6c6c65742073697a650000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611fd781611ac5565b8114611fe257600080fd5b50565b611fee81611ad7565b8114611ff957600080fd5b50565b61200581611b03565b811461201057600080fd5b5056fea264697066735822122040d2741051c3966a24b40c42573ba5195e0a69f28d88646ec92c7728dea2d67b64736f6c63430008040033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80638f70ccf7116100ad578063c2b7bbb611610071578063c2b7bbb614610335578063dd62ed3e14610351578063ea1644d514610381578063f2fde38b1461039d578063ffb54a99146103b95761012c565b80638f70ccf71461027d5780638f9a55c01461029957806395d89b41146102b7578063a457c2d7146102d5578063a9059cbb146103055761012c565b806339509351116100f457806339509351146101eb57806370a082311461021b578063715018a61461024b578063751039fc146102555780638da5cb5b1461025f5761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f57806323b872dd1461019d578063313ce567146101cd575b600080fd5b6101396103d7565b604051610146919061183b565b60405180910390f35b61016960048036038101906101649190611518565b610469565b6040516101769190611820565b60405180910390f35b61018761048c565b6040516101949190611a1d565b60405180910390f35b6101b760048036038101906101b291906114c9565b610496565b6040516101c49190611820565b60405180910390f35b6101d56104c5565b6040516101e29190611a38565b60405180910390f35b61020560048036038101906102009190611518565b6104ce565b6040516102129190611820565b60405180910390f35b61023560048036038101906102309190611464565b610505565b6040516102429190611a1d565b60405180910390f35b61025361054d565b005b61025d610561565b005b610267610574565b6040516102749190611805565b60405180910390f35b61029760048036038101906102929190611554565b61059e565b005b6102a16105c3565b6040516102ae9190611a1d565b60405180910390f35b6102bf6105c9565b6040516102cc919061183b565b60405180910390f35b6102ef60048036038101906102ea9190611518565b61065b565b6040516102fc9190611820565b60405180910390f35b61031f600480360381019061031a9190611518565b6106d2565b60405161032c9190611820565b60405180910390f35b61034f600480360381019061034a9190611464565b6106f5565b005b61036b6004803603810190610366919061148d565b6107e5565b6040516103789190611a1d565b60405180910390f35b61039b6004803603810190610396919061157d565b61086c565b005b6103b760048036038101906103b29190611464565b61087e565b005b6103c1610902565b6040516103ce9190611820565b60405180910390f35b6060600380546103e690611b4d565b80601f016020809104026020016040519081016040528092919081815260200182805461041290611b4d565b801561045f5780601f106104345761010080835404028352916020019161045f565b820191906000526020600020905b81548152906001019060200180831161044257829003601f168201915b5050505050905090565b600080610474610915565b905061048181858561091d565b600191505092915050565b6000600254905090565b6000806104a1610915565b90506104ae858285610ae8565b6104b9858585610b74565b60019150509392505050565b60006012905090565b6000806104d9610915565b90506104fa8185856104eb85896107e5565b6104f59190611a6f565b61091d565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610555611056565b61055f60006110d4565b565b610569611056565b600954600881905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6105a6611056565b80600760006101000a81548160ff02191690831515021790555050565b60085481565b6060600480546105d890611b4d565b80601f016020809104026020016040519081016040528092919081815260200182805461060490611b4d565b80156106515780601f1061062657610100808354040283529160200191610651565b820191906000526020600020905b81548152906001019060200180831161063457829003601f168201915b5050505050905090565b600080610666610915565b9050600061067482866107e5565b9050838110156106b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b0906119fd565b60405180910390fd5b6106c6828686840361091d565b60019250505092915050565b6000806106dd610915565b90506106ea818585610b74565b600191505092915050565b6106fd611056565b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561078a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107819061187d565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610874611056565b8060088190555050565b610886611056565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ed906118bd565b60405180910390fd5b6108ff816110d4565b50565b600760009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610984906119dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f4906118dd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610adb9190611a1d565b60405180910390a3505050565b6000610af484846107e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b6e5781811015610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b579061191d565b60405180910390fd5b610b6d848484840361091d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb906119bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b9061185d565b60405180910390fd5b60008111610c97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8e9061199d565b60405180910390fd5b610c9f610574565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d0d5750610cdd610574565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561104657600760009054906101000a900460ff16610d9c57610d2e610574565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d929061189d565b60405180910390fd5b5b610da4610574565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e125750610de2610574565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610e675750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610ec55760085481610e7984610505565b610e839190611a6f565b1115610ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebb9061195d565b60405180910390fd5b5b610ecd610574565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f3b5750610f0b610574565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610f915750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610fe75750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156110455760085481610ff984610505565b6110039190611a6f565b1115611044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103b906118fd565b60405180910390fd5b5b5b61105183838361119a565b505050565b61105e610915565b73ffffffffffffffffffffffffffffffffffffffff1661107c610574565b73ffffffffffffffffffffffffffffffffffffffff16146110d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c99061197d565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561120a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611201906119bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561127a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112719061185d565b60405180910390fd5b61128583838361141b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561130b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113029061193d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461139e9190611a6f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114029190611a1d565b60405180910390a3611415848484611420565b50505050565b505050565b505050565b60008135905061143481611fce565b92915050565b60008135905061144981611fe5565b92915050565b60008135905061145e81611ffc565b92915050565b60006020828403121561147657600080fd5b600061148484828501611425565b91505092915050565b600080604083850312156114a057600080fd5b60006114ae85828601611425565b92505060206114bf85828601611425565b9150509250929050565b6000806000606084860312156114de57600080fd5b60006114ec86828701611425565b93505060206114fd86828701611425565b925050604061150e8682870161144f565b9150509250925092565b6000806040838503121561152b57600080fd5b600061153985828601611425565b925050602061154a8582860161144f565b9150509250929050565b60006020828403121561156657600080fd5b60006115748482850161143a565b91505092915050565b60006020828403121561158f57600080fd5b600061159d8482850161144f565b91505092915050565b6115af81611ac5565b82525050565b6115be81611ad7565b82525050565b60006115cf82611a53565b6115d98185611a5e565b93506115e9818560208601611b1a565b6115f281611bdd565b840191505092915050565b600061160a602383611a5e565b915061161582611bee565b604082019050919050565b600061162d601d83611a5e565b915061163882611c3d565b602082019050919050565b6000611650603f83611a5e565b915061165b82611c66565b604082019050919050565b6000611673602683611a5e565b915061167e82611cb5565b604082019050919050565b6000611696602283611a5e565b91506116a182611d04565b604082019050919050565b60006116b9602783611a5e565b91506116c482611d53565b604082019050919050565b60006116dc601d83611a5e565b91506116e782611da2565b602082019050919050565b60006116ff602683611a5e565b915061170a82611dcb565b604082019050919050565b6000611722602983611a5e565b915061172d82611e1a565b604082019050919050565b6000611745602083611a5e565b915061175082611e69565b602082019050919050565b6000611768602983611a5e565b915061177382611e92565b604082019050919050565b600061178b602583611a5e565b915061179682611ee1565b604082019050919050565b60006117ae602483611a5e565b91506117b982611f30565b604082019050919050565b60006117d1602583611a5e565b91506117dc82611f7f565b604082019050919050565b6117f081611b03565b82525050565b6117ff81611b0d565b82525050565b600060208201905061181a60008301846115a6565b92915050565b600060208201905061183560008301846115b5565b92915050565b6000602082019050818103600083015261185581846115c4565b905092915050565b60006020820190508181036000830152611876816115fd565b9050919050565b6000602082019050818103600083015261189681611620565b9050919050565b600060208201905081810360008301526118b681611643565b9050919050565b600060208201905081810360008301526118d681611666565b9050919050565b600060208201905081810360008301526118f681611689565b9050919050565b60006020820190508181036000830152611916816116ac565b9050919050565b60006020820190508181036000830152611936816116cf565b9050919050565b60006020820190508181036000830152611956816116f2565b9050919050565b6000602082019050818103600083015261197681611715565b9050919050565b6000602082019050818103600083015261199681611738565b9050919050565b600060208201905081810360008301526119b68161175b565b9050919050565b600060208201905081810360008301526119d68161177e565b9050919050565b600060208201905081810360008301526119f6816117a1565b9050919050565b60006020820190508181036000830152611a16816117c4565b9050919050565b6000602082019050611a3260008301846117e7565b92915050565b6000602082019050611a4d60008301846117f6565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611a7a82611b03565b9150611a8583611b03565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611aba57611ab9611b7f565b5b828201905092915050565b6000611ad082611ae3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611b38578082015181840152602081019050611b1d565b83811115611b47576000848401525b50505050565b60006002820490506001821680611b6557607f821691505b60208210811415611b7957611b78611bae565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54686973207061697220697320616c7265616479206578636c75646564000000600082015250565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e63652065786365656473206d61782077616c6c6560008201527f742073697a652100000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a20416d6f756e742065786365656473206d6178696d756d20776160008201527f6c6c65742073697a650000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611fd781611ac5565b8114611fe257600080fd5b50565b611fee81611ad7565b8114611ff957600080fd5b50565b61200581611b03565b811461201057600080fd5b5056fea264697066735822122040d2741051c3966a24b40c42573ba5195e0a69f28d88646ec92c7728dea2d67b64736f6c63430008040033
Deployed Bytecode Sourcemap
27672:2079:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14135:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16486:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15255:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17267:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15097:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17971:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15426:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26804:103;;;:::i;:::-;;28489:88;;;:::i;:::-;;26156:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28257:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27829:60;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14354:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18712:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15759:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28095:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16015:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28366:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27062:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27799:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14135:100;14189:13;14222:5;14215:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14135:100;:::o;16486:201::-;16569:4;16586:13;16602:12;:10;:12::i;:::-;16586:28;;16625:32;16634:5;16641:7;16650:6;16625:8;:32::i;:::-;16675:4;16668:11;;;16486:201;;;;:::o;15255:108::-;15316:7;15343:12;;15336:19;;15255:108;:::o;17267:295::-;17398:4;17415:15;17433:12;:10;:12::i;:::-;17415:30;;17456:38;17472:4;17478:7;17487:6;17456:15;:38::i;:::-;17505:27;17515:4;17521:2;17525:6;17505:9;:27::i;:::-;17550:4;17543:11;;;17267:295;;;;;:::o;15097:93::-;15155:5;15180:2;15173:9;;15097:93;:::o;17971:238::-;18059:4;18076:13;18092:12;:10;:12::i;:::-;18076:28;;18115:64;18124:5;18131:7;18168:10;18140:25;18150:5;18157:7;18140:9;:25::i;:::-;:38;;;;:::i;:::-;18115:8;:64::i;:::-;18197:4;18190:11;;;17971:238;;;;:::o;15426:127::-;15500:7;15527:9;:18;15537:7;15527:18;;;;;;;;;;;;;;;;15520:25;;15426:127;;;:::o;26804:103::-;26042:13;:11;:13::i;:::-;26869:30:::1;26896:1;26869:18;:30::i;:::-;26804:103::o:0;28489:88::-;26042:13;:11;:13::i;:::-;28557:12:::1;;28540:14;:29;;;;28489:88::o:0;26156:87::-;26202:7;26229:6;;;;;;;;;;;26222:13;;26156:87;:::o;28257:101::-;26042:13;:11;:13::i;:::-;28338:12:::1;28324:11;;:26;;;;;;;;;;;;;;;;;;28257:101:::0;:::o;27829:60::-;;;;:::o;14354:104::-;14410:13;14443:7;14436:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14354:104;:::o;18712:436::-;18805:4;18822:13;18838:12;:10;:12::i;:::-;18822:28;;18861:24;18888:25;18898:5;18905:7;18888:9;:25::i;:::-;18861:52;;18952:15;18932:16;:35;;18924:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;19045:60;19054:5;19061:7;19089:15;19070:16;:34;19045:8;:60::i;:::-;19136:4;19129:11;;;;18712:436;;;;:::o;15759:193::-;15838:4;15855:13;15871:12;:10;:12::i;:::-;15855:28;;15894;15904:5;15911:2;15915:6;15894:9;:28::i;:::-;15940:4;15933:11;;;15759:193;;;;:::o;28095:154::-;26042:13;:11;:13::i;:::-;28165:4:::1;:12;28170:6;28165:12;;;;;;;;;;;;;;;;;;;;;;;;;28164:13;28156:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;28237:4;28222;:12;28227:6;28222:12;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;28095:154:::0;:::o;16015:151::-;16104:7;16131:11;:18;16143:5;16131:18;;;;;;;;;;;;;;;:27;16150:7;16131:27;;;;;;;;;;;;;;;;16124:34;;16015:151;;;;:::o;28366:115::-;26042:13;:11;:13::i;:::-;28460::::1;28443:14;:30;;;;28366:115:::0;:::o;27062:201::-;26042:13;:11;:13::i;:::-;27171:1:::1;27151:22;;:8;:22;;;;27143:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;27227:28;27246:8;27227:18;:28::i;:::-;27062:201:::0;:::o;27799:23::-;;;;;;;;;;;;;:::o;11775:98::-;11828:7;11855:10;11848:17;;11775:98;:::o;22337:380::-;22490:1;22473:19;;:5;:19;;;;22465:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22571:1;22552:21;;:7;:21;;;;22544:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22655:6;22625:11;:18;22637:5;22625:18;;;;;;;;;;;;;;;:27;22644:7;22625:27;;;;;;;;;;;;;;;:36;;;;22693:7;22677:32;;22686:5;22677:32;;;22702:6;22677:32;;;;;;:::i;:::-;;;;;;;;22337:380;;;:::o;23008:453::-;23143:24;23170:25;23180:5;23187:7;23170:9;:25::i;:::-;23143:52;;23230:17;23210:16;:37;23206:248;;23292:6;23272:16;:26;;23264:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23376:51;23385:5;23392:7;23420:6;23401:16;:25;23376:8;:51::i;:::-;23206:248;23008:453;;;;:::o;28585:1161::-;28733:1;28717:18;;:4;:18;;;;28709:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28810:1;28796:16;;:2;:16;;;;28788:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;28880:1;28871:6;:10;28863:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;28950:7;:5;:7::i;:::-;28942:15;;:4;:15;;;;:32;;;;;28967:7;:5;:7::i;:::-;28961:13;;:2;:13;;;;28942:32;28939:753;;;29031:11;;;;;;;;;;;29026:144;;29079:7;:5;:7::i;:::-;29071:15;;:4;:15;;;29063:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;29026:144;29231:7;:5;:7::i;:::-;29223:15;;:4;:15;;;;:32;;;;;29248:7;:5;:7::i;:::-;29242:13;;:2;:13;;;;29223:32;:46;;;;;29259:4;:10;29264:4;29259:10;;;;;;;;;;;;;;;;;;;;;;;;;29223:46;29220:198;;;29324:14;;29314:6;29298:13;29308:2;29298:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;29290:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;29220:198;29495:7;:5;:7::i;:::-;29487:15;;:4;:15;;;;:32;;;;;29512:7;:5;:7::i;:::-;29506:13;;:2;:13;;;;29487:32;:47;;;;;29525:4;:8;29530:2;29525:8;;;;;;;;;;;;;;;;;;;;;;;;;29523:11;29487:47;:64;;;;;29540:4;:10;29545:4;29540:10;;;;;;;;;;;;;;;;;;;;;;;;;29538:13;29487:64;29484:196;;;29606:14;;29596:6;29580:13;29590:2;29580:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;29572:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;29484:196;28939:753;29703:33;29719:4;29725:2;29729:6;29703:15;:33::i;:::-;28585:1161;;;:::o;26321:132::-;26396:12;:10;:12::i;:::-;26385:23;;:7;:5;:7::i;:::-;:23;;;26377:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26321:132::o;27423:191::-;27497:16;27516:6;;;;;;;;;;;27497:25;;27542:8;27533:6;;:17;;;;;;;;;;;;;;;;;;27597:8;27566:40;;27587:8;27566:40;;;;;;;;;;;;27423:191;;:::o;19618:671::-;19765:1;19749:18;;:4;:18;;;;19741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19842:1;19828:16;;:2;:16;;;;19820:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19897:38;19918:4;19924:2;19928:6;19897:20;:38::i;:::-;19948:19;19970:9;:15;19980:4;19970:15;;;;;;;;;;;;;;;;19948:37;;20019:6;20004:11;:21;;19996:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;20136:6;20122:11;:20;20104:9;:15;20114:4;20104:15;;;;;;;;;;;;;;;:38;;;;20181:6;20164:9;:13;20174:2;20164:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;20220:2;20205:26;;20214:4;20205:26;;;20224:6;20205:26;;;;;;:::i;:::-;;;;;;;;20244:37;20264:4;20270:2;20274:6;20244:19;:37::i;:::-;19618:671;;;;:::o;24061:125::-;;;;:::o;24790:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;337:5;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:262::-;495:6;544:2;532:9;523:7;519:23;515:32;512:2;;;560:1;557;550:12;512:2;603:1;628:53;673:7;664:6;653:9;649:22;628:53;:::i;:::-;618:63;;574:117;502:196;;;;:::o;704:407::-;772:6;780;829:2;817:9;808:7;804:23;800:32;797:2;;;845:1;842;835:12;797:2;888:1;913:53;958:7;949:6;938:9;934:22;913:53;:::i;:::-;903:63;;859:117;1015:2;1041:53;1086:7;1077:6;1066:9;1062:22;1041:53;:::i;:::-;1031:63;;986:118;787:324;;;;;:::o;1117:552::-;1194:6;1202;1210;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1275:1;1272;1265:12;1227:2;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1573:2;1599:53;1644:7;1635:6;1624:9;1620:22;1599:53;:::i;:::-;1589:63;;1544:118;1217:452;;;;;:::o;1675:407::-;1743:6;1751;1800:2;1788:9;1779:7;1775:23;1771:32;1768:2;;;1816:1;1813;1806:12;1768:2;1859:1;1884:53;1929:7;1920:6;1909:9;1905:22;1884:53;:::i;:::-;1874:63;;1830:117;1986:2;2012:53;2057:7;2048:6;2037:9;2033:22;2012:53;:::i;:::-;2002:63;;1957:118;1758:324;;;;;:::o;2088:256::-;2144:6;2193:2;2181:9;2172:7;2168:23;2164:32;2161:2;;;2209:1;2206;2199:12;2161:2;2252:1;2277:50;2319:7;2310:6;2299:9;2295:22;2277:50;:::i;:::-;2267:60;;2223:114;2151:193;;;;:::o;2350:262::-;2409:6;2458:2;2446:9;2437:7;2433:23;2429:32;2426:2;;;2474:1;2471;2464:12;2426:2;2517:1;2542:53;2587:7;2578:6;2567:9;2563:22;2542:53;:::i;:::-;2532:63;;2488:117;2416:196;;;;:::o;2618:118::-;2705:24;2723:5;2705:24;:::i;:::-;2700:3;2693:37;2683:53;;:::o;2742:109::-;2823:21;2838:5;2823:21;:::i;:::-;2818:3;2811:34;2801:50;;:::o;2857:364::-;2945:3;2973:39;3006:5;2973:39;:::i;:::-;3028:71;3092:6;3087:3;3028:71;:::i;:::-;3021:78;;3108:52;3153:6;3148:3;3141:4;3134:5;3130:16;3108:52;:::i;:::-;3185:29;3207:6;3185:29;:::i;:::-;3180:3;3176:39;3169:46;;2949:272;;;;;:::o;3227:366::-;3369:3;3390:67;3454:2;3449:3;3390:67;:::i;:::-;3383:74;;3466:93;3555:3;3466:93;:::i;:::-;3584:2;3579:3;3575:12;3568:19;;3373:220;;;:::o;3599:366::-;3741:3;3762:67;3826:2;3821:3;3762:67;:::i;:::-;3755:74;;3838:93;3927:3;3838:93;:::i;:::-;3956:2;3951:3;3947:12;3940:19;;3745:220;;;:::o;3971:366::-;4113:3;4134:67;4198:2;4193:3;4134:67;:::i;:::-;4127:74;;4210:93;4299:3;4210:93;:::i;:::-;4328:2;4323:3;4319:12;4312:19;;4117:220;;;:::o;4343:366::-;4485:3;4506:67;4570:2;4565:3;4506:67;:::i;:::-;4499:74;;4582:93;4671:3;4582:93;:::i;:::-;4700:2;4695:3;4691:12;4684:19;;4489:220;;;:::o;4715:366::-;4857:3;4878:67;4942:2;4937:3;4878:67;:::i;:::-;4871:74;;4954:93;5043:3;4954:93;:::i;:::-;5072:2;5067:3;5063:12;5056:19;;4861:220;;;:::o;5087:366::-;5229:3;5250:67;5314:2;5309:3;5250:67;:::i;:::-;5243:74;;5326:93;5415:3;5326:93;:::i;:::-;5444:2;5439:3;5435:12;5428:19;;5233:220;;;:::o;5459:366::-;5601:3;5622:67;5686:2;5681:3;5622:67;:::i;:::-;5615:74;;5698:93;5787:3;5698:93;:::i;:::-;5816:2;5811:3;5807:12;5800:19;;5605:220;;;:::o;5831:366::-;5973:3;5994:67;6058:2;6053:3;5994:67;:::i;:::-;5987:74;;6070:93;6159:3;6070:93;:::i;:::-;6188:2;6183:3;6179:12;6172:19;;5977:220;;;:::o;6203:366::-;6345:3;6366:67;6430:2;6425:3;6366:67;:::i;:::-;6359:74;;6442:93;6531:3;6442:93;:::i;:::-;6560:2;6555:3;6551:12;6544:19;;6349:220;;;:::o;6575:366::-;6717:3;6738:67;6802:2;6797:3;6738:67;:::i;:::-;6731:74;;6814:93;6903:3;6814:93;:::i;:::-;6932:2;6927:3;6923:12;6916:19;;6721:220;;;:::o;6947:366::-;7089:3;7110:67;7174:2;7169:3;7110:67;:::i;:::-;7103:74;;7186:93;7275:3;7186:93;:::i;:::-;7304:2;7299:3;7295:12;7288:19;;7093:220;;;:::o;7319:366::-;7461:3;7482:67;7546:2;7541:3;7482:67;:::i;:::-;7475:74;;7558:93;7647:3;7558:93;:::i;:::-;7676:2;7671:3;7667:12;7660:19;;7465:220;;;:::o;7691:366::-;7833:3;7854:67;7918:2;7913:3;7854:67;:::i;:::-;7847:74;;7930:93;8019:3;7930:93;:::i;:::-;8048:2;8043:3;8039:12;8032:19;;7837:220;;;:::o;8063:366::-;8205:3;8226:67;8290:2;8285:3;8226:67;:::i;:::-;8219:74;;8302:93;8391:3;8302:93;:::i;:::-;8420:2;8415:3;8411:12;8404:19;;8209:220;;;:::o;8435:118::-;8522:24;8540:5;8522:24;:::i;:::-;8517:3;8510:37;8500:53;;:::o;8559:112::-;8642:22;8658:5;8642:22;:::i;:::-;8637:3;8630:35;8620:51;;:::o;8677:222::-;8770:4;8808:2;8797:9;8793:18;8785:26;;8821:71;8889:1;8878:9;8874:17;8865:6;8821:71;:::i;:::-;8775:124;;;;:::o;8905:210::-;8992:4;9030:2;9019:9;9015:18;9007:26;;9043:65;9105:1;9094:9;9090:17;9081:6;9043:65;:::i;:::-;8997:118;;;;:::o;9121:313::-;9234:4;9272:2;9261:9;9257:18;9249:26;;9321:9;9315:4;9311:20;9307:1;9296:9;9292:17;9285:47;9349:78;9422:4;9413:6;9349:78;:::i;:::-;9341:86;;9239:195;;;;:::o;9440:419::-;9606:4;9644:2;9633:9;9629:18;9621:26;;9693:9;9687:4;9683:20;9679:1;9668:9;9664:17;9657:47;9721:131;9847:4;9721:131;:::i;:::-;9713:139;;9611:248;;;:::o;9865:419::-;10031:4;10069:2;10058:9;10054:18;10046:26;;10118:9;10112:4;10108:20;10104:1;10093:9;10089:17;10082:47;10146:131;10272:4;10146:131;:::i;:::-;10138:139;;10036:248;;;:::o;10290:419::-;10456:4;10494:2;10483:9;10479:18;10471:26;;10543:9;10537:4;10533:20;10529:1;10518:9;10514:17;10507:47;10571:131;10697:4;10571:131;:::i;:::-;10563:139;;10461:248;;;:::o;10715:419::-;10881:4;10919:2;10908:9;10904:18;10896:26;;10968:9;10962:4;10958:20;10954:1;10943:9;10939:17;10932:47;10996:131;11122:4;10996:131;:::i;:::-;10988:139;;10886:248;;;:::o;11140:419::-;11306:4;11344:2;11333:9;11329:18;11321:26;;11393:9;11387:4;11383:20;11379:1;11368:9;11364:17;11357:47;11421:131;11547:4;11421:131;:::i;:::-;11413:139;;11311:248;;;:::o;11565:419::-;11731:4;11769:2;11758:9;11754:18;11746:26;;11818:9;11812:4;11808:20;11804:1;11793:9;11789:17;11782:47;11846:131;11972:4;11846:131;:::i;:::-;11838:139;;11736:248;;;:::o;11990:419::-;12156:4;12194:2;12183:9;12179:18;12171:26;;12243:9;12237:4;12233:20;12229:1;12218:9;12214:17;12207:47;12271:131;12397:4;12271:131;:::i;:::-;12263:139;;12161:248;;;:::o;12415:419::-;12581:4;12619:2;12608:9;12604:18;12596:26;;12668:9;12662:4;12658:20;12654:1;12643:9;12639:17;12632:47;12696:131;12822:4;12696:131;:::i;:::-;12688:139;;12586:248;;;:::o;12840:419::-;13006:4;13044:2;13033:9;13029:18;13021:26;;13093:9;13087:4;13083:20;13079:1;13068:9;13064:17;13057:47;13121:131;13247:4;13121:131;:::i;:::-;13113:139;;13011:248;;;:::o;13265:419::-;13431:4;13469:2;13458:9;13454:18;13446:26;;13518:9;13512:4;13508:20;13504:1;13493:9;13489:17;13482:47;13546:131;13672:4;13546:131;:::i;:::-;13538:139;;13436:248;;;:::o;13690:419::-;13856:4;13894:2;13883:9;13879:18;13871:26;;13943:9;13937:4;13933:20;13929:1;13918:9;13914:17;13907:47;13971:131;14097:4;13971:131;:::i;:::-;13963:139;;13861:248;;;:::o;14115:419::-;14281:4;14319:2;14308:9;14304:18;14296:26;;14368:9;14362:4;14358:20;14354:1;14343:9;14339:17;14332:47;14396:131;14522:4;14396:131;:::i;:::-;14388:139;;14286:248;;;:::o;14540:419::-;14706:4;14744:2;14733:9;14729:18;14721:26;;14793:9;14787:4;14783:20;14779:1;14768:9;14764:17;14757:47;14821:131;14947:4;14821:131;:::i;:::-;14813:139;;14711:248;;;:::o;14965:419::-;15131:4;15169:2;15158:9;15154:18;15146:26;;15218:9;15212:4;15208:20;15204:1;15193:9;15189:17;15182:47;15246:131;15372:4;15246:131;:::i;:::-;15238:139;;15136:248;;;:::o;15390:222::-;15483:4;15521:2;15510:9;15506:18;15498:26;;15534:71;15602:1;15591:9;15587:17;15578:6;15534:71;:::i;:::-;15488:124;;;;:::o;15618:214::-;15707:4;15745:2;15734:9;15730:18;15722:26;;15758:67;15822:1;15811:9;15807:17;15798:6;15758:67;:::i;:::-;15712:120;;;;:::o;15838:99::-;15890:6;15924:5;15918:12;15908:22;;15897:40;;;:::o;15943:169::-;16027:11;16061:6;16056:3;16049:19;16101:4;16096:3;16092:14;16077:29;;16039:73;;;;:::o;16118:305::-;16158:3;16177:20;16195:1;16177:20;:::i;:::-;16172:25;;16211:20;16229:1;16211:20;:::i;:::-;16206:25;;16365:1;16297:66;16293:74;16290:1;16287:81;16284:2;;;16371:18;;:::i;:::-;16284:2;16415:1;16412;16408:9;16401:16;;16162:261;;;;:::o;16429:96::-;16466:7;16495:24;16513:5;16495:24;:::i;:::-;16484:35;;16474:51;;;:::o;16531:90::-;16565:7;16608:5;16601:13;16594:21;16583:32;;16573:48;;;:::o;16627:126::-;16664:7;16704:42;16697:5;16693:54;16682:65;;16672:81;;;:::o;16759:77::-;16796:7;16825:5;16814:16;;16804:32;;;:::o;16842:86::-;16877:7;16917:4;16910:5;16906:16;16895:27;;16885:43;;;:::o;16934:307::-;17002:1;17012:113;17026:6;17023:1;17020:13;17012:113;;;17111:1;17106:3;17102:11;17096:18;17092:1;17087:3;17083:11;17076:39;17048:2;17045:1;17041:10;17036:15;;17012:113;;;17143:6;17140:1;17137:13;17134:2;;;17223:1;17214:6;17209:3;17205:16;17198:27;17134:2;16983:258;;;;:::o;17247:320::-;17291:6;17328:1;17322:4;17318:12;17308:22;;17375:1;17369:4;17365:12;17396:18;17386:2;;17452:4;17444:6;17440:17;17430:27;;17386:2;17514;17506:6;17503:14;17483:18;17480:38;17477:2;;;17533:18;;:::i;:::-;17477:2;17298:269;;;;:::o;17573:180::-;17621:77;17618:1;17611:88;17718:4;17715:1;17708:15;17742:4;17739:1;17732:15;17759:180;17807:77;17804:1;17797:88;17904:4;17901:1;17894:15;17928:4;17925:1;17918:15;17945:102;17986:6;18037:2;18033:7;18028:2;18021:5;18017:14;18013:28;18003:38;;17993:54;;;:::o;18053:222::-;18193:34;18189:1;18181:6;18177:14;18170:58;18262:5;18257:2;18249:6;18245:15;18238:30;18159:116;:::o;18281:179::-;18421:31;18417:1;18409:6;18405:14;18398:55;18387:73;:::o;18466:250::-;18606:34;18602:1;18594:6;18590:14;18583:58;18675:33;18670:2;18662:6;18658:15;18651:58;18572:144;:::o;18722:225::-;18862:34;18858:1;18850:6;18846:14;18839:58;18931:8;18926:2;18918:6;18914:15;18907:33;18828:119;:::o;18953:221::-;19093:34;19089:1;19081:6;19077:14;19070:58;19162:4;19157:2;19149:6;19145:15;19138:29;19059:115;:::o;19180:226::-;19320:34;19316:1;19308:6;19304:14;19297:58;19389:9;19384:2;19376:6;19372:15;19365:34;19286:120;:::o;19412:179::-;19552:31;19548:1;19540:6;19536:14;19529:55;19518:73;:::o;19597:225::-;19737:34;19733:1;19725:6;19721:14;19714:58;19806:8;19801:2;19793:6;19789:15;19782:33;19703:119;:::o;19828:228::-;19968:34;19964:1;19956:6;19952:14;19945:58;20037:11;20032:2;20024:6;20020:15;20013:36;19934:122;:::o;20062:182::-;20202:34;20198:1;20190:6;20186:14;20179:58;20168:76;:::o;20250:228::-;20390:34;20386:1;20378:6;20374:14;20367:58;20459:11;20454:2;20446:6;20442:15;20435:36;20356:122;:::o;20484:224::-;20624:34;20620:1;20612:6;20608:14;20601:58;20693:7;20688:2;20680:6;20676:15;20669:32;20590:118;:::o;20714:223::-;20854:34;20850:1;20842:6;20838:14;20831:58;20923:6;20918:2;20910:6;20906:15;20899:31;20820:117;:::o;20943:224::-;21083:34;21079:1;21071:6;21067:14;21060:58;21152:7;21147:2;21139:6;21135:15;21128:32;21049:118;:::o;21173:122::-;21246:24;21264:5;21246:24;:::i;:::-;21239:5;21236:35;21226:2;;21285:1;21282;21275:12;21226:2;21216:79;:::o;21301:116::-;21371:21;21386:5;21371:21;:::i;:::-;21364:5;21361:32;21351:2;;21407:1;21404;21397:12;21351:2;21341:76;:::o;21423:122::-;21496:24;21514:5;21496:24;:::i;:::-;21489:5;21486:35;21476:2;;21535:1;21532;21525:12;21476:2;21466:79;:::o
Swarm Source
ipfs://40d2741051c3966a24b40c42573ba5195e0a69f28d88646ec92c7728dea2d67b
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.