ERC-20
Overview
Max Total Supply
100,000,000 PEPEMINER
Holders
48
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PepeMiner
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-19 */ // 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/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: @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/token/ERC20/ERC20.sol // OpenZeppelin Contracts (last updated v4.8.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.openzeppelin.com/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; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _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; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _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; // Overflow not possible: amount <= accountBalance <= totalSupply. _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 {} } pragma solidity ^0.8.4; contract PepeMiner is ERC20, Ownable { uint256 public constant decimalFactor = 1e18; uint256 public maxBuy; uint256 public maxAmount; uint256 public immutable tax; bool public isMaxBuy; bool public isMaxAmount; bool private isAntiBot; address public immutable taxWallet; address private weth = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address public uniswapV2Pair; mapping(address => bool) public bots; constructor(uint256 _totalSupply, uint256 _tax, address _taxWallet) ERC20("PepeMiner.com", "PEPEMINER") { _mint(msg.sender, _totalSupply); tax = _tax; taxWallet = _taxWallet; } function antiBot(address _account, bool _state) external onlyOwner { bots[_account] = _state; } function setRule(address _uniswapV2Pair, uint256 _maxAmount, uint256 _maxBuy, bool _isMaxBuy, bool _isMaxAmount, bool _isAntiBot) external onlyOwner { isMaxBuy = _isMaxBuy; isMaxAmount = _isMaxAmount; maxAmount = _maxAmount; maxBuy = _maxBuy; isAntiBot = _isAntiBot; uniswapV2Pair = _uniswapV2Pair; } function _convertMaxBuyInAmount() internal view returns (uint256){ uint256 _balance0 = IERC20(weth).balanceOf(uniswapV2Pair); uint256 _balance1 = IERC20(address(this)).balanceOf(uniswapV2Pair); return (maxBuy * _balance1 ) / _balance0; } function _getFee(uint256 _amount) internal view returns (uint256){ return (tax * _amount * 1e16 ) / decimalFactor; } function _transfer(address from, address to, uint256 amount) internal override { if ((((from != address(0)) && (from == uniswapV2Pair))) || (((to != address(0)) && (to == uniswapV2Pair)))) { uint256 tax_ = _getFee(amount); super._transfer(from, taxWallet, tax_); amount = amount - tax_ ; } super._transfer(from, to, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) override internal virtual { if (uniswapV2Pair == address(0)) { require(from == owner() || to == owner(), "trading is not started"); return; } if (isAntiBot){ require(bots[from] || bots[to], "blacklisted"); } if (isMaxAmount && (from == uniswapV2Pair)) { require(super.balanceOf(to) + amount <= maxAmount, "Max amount"); } if (isMaxBuy && (from == uniswapV2Pair)) { require(super.balanceOf(to) + amount <= _convertMaxBuyInAmount(), "Max Buy"); } } function burn(uint256 value) external { _burn(msg.sender, value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"uint256","name":"_tax","type":"uint256"},{"internalType":"address","name":"_taxWallet","type":"address"}],"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":"_account","type":"address"},{"internalType":"bool","name":"_state","type":"bool"}],"name":"antiBot","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimalFactor","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":"isMaxAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isMaxBuy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxBuy","type":"uint256"},{"internalType":"bool","name":"_isMaxBuy","type":"bool"},{"internalType":"bool","name":"_isMaxAmount","type":"bool"},{"internalType":"bool","name":"_isAntiBot","type":"bool"}],"name":"setRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c060405273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600860036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006657600080fd5b506040516200384c3803806200384c83398181016040528101906200008c919062000afc565b6040518060400160405280600d81526020017f506570654d696e65722e636f6d000000000000000000000000000000000000008152506040518060400160405280600981526020017f504550454d494e45520000000000000000000000000000000000000000000000815250816003908051906020019062000110929190620009f2565b50806004908051906020019062000129929190620009f2565b5050506200014c62000140620001a660201b60201c565b620001ae60201b60201c565b6200015e33846200027460201b60201c565b81608081815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b8152505050505062001024565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002e7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002de9062000cdc565b60405180910390fd5b620002fb60008383620003e260201b60201c565b80600260008282546200030f919062000d2c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003c2919062000cfe565b60405180910390a3620003de60008383620007ca60201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141562000506576200044a620007cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620004be57506200048f620007cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b62000500576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004f79062000c98565b60405180910390fd5b620007c5565b600860029054906101000a900460ff16156200060157600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680620005be5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b62000600576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005f79062000cba565b60405180910390fd5b5b600860019054906101000a900460ff1680156200066b5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620006dc57600754816200068b84620007f960201b6200070d1760201c565b62000697919062000d2c565b1115620006db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006d29062000c76565b60405180910390fd5b5b600860009054906101000a900460ff168015620007465750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620007c4576200075c6200084160201b60201c565b816200077384620007f960201b6200070d1760201c565b6200077f919062000d2c565b1115620007c3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007ba9062000c54565b60405180910390fd5b5b5b505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600860039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620008c3919062000c37565b60206040518083038186803b158015620008dc57600080fd5b505afa158015620008f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000917919062000ad0565b905060003073ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000978919062000c37565b60206040518083038186803b1580156200099157600080fd5b505afa158015620009a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009cc919062000ad0565b90508181600654620009df919062000dc1565b620009eb919062000d89565b9250505090565b82805462000a009062000e60565b90600052602060002090601f01602090048101928262000a24576000855562000a70565b82601f1062000a3f57805160ff191683800117855562000a70565b8280016001018555821562000a70579182015b8281111562000a6f57825182559160200191906001019062000a52565b5b50905062000a7f919062000a83565b5090565b5b8082111562000a9e57600081600090555060010162000a84565b5090565b60008151905062000ab38162000ff0565b92915050565b60008151905062000aca816200100a565b92915050565b60006020828403121562000ae357600080fd5b600062000af38482850162000ab9565b91505092915050565b60008060006060848603121562000b1257600080fd5b600062000b228682870162000ab9565b935050602062000b358682870162000ab9565b925050604062000b488682870162000aa2565b9150509250925092565b62000b5d8162000e22565b82525050565b600062000b7260078362000d1b565b915062000b7f8262000f23565b602082019050919050565b600062000b99600a8362000d1b565b915062000ba68262000f4c565b602082019050919050565b600062000bc060168362000d1b565b915062000bcd8262000f75565b602082019050919050565b600062000be7600b8362000d1b565b915062000bf48262000f9e565b602082019050919050565b600062000c0e601f8362000d1b565b915062000c1b8262000fc7565b602082019050919050565b62000c318162000e56565b82525050565b600060208201905062000c4e600083018462000b52565b92915050565b6000602082019050818103600083015262000c6f8162000b63565b9050919050565b6000602082019050818103600083015262000c918162000b8a565b9050919050565b6000602082019050818103600083015262000cb38162000bb1565b9050919050565b6000602082019050818103600083015262000cd58162000bd8565b9050919050565b6000602082019050818103600083015262000cf78162000bff565b9050919050565b600060208201905062000d15600083018462000c26565b92915050565b600082825260208201905092915050565b600062000d398262000e56565b915062000d468362000e56565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000d7e5762000d7d62000e96565b5b828201905092915050565b600062000d968262000e56565b915062000da38362000e56565b92508262000db65762000db562000ec5565b5b828204905092915050565b600062000dce8262000e56565b915062000ddb8362000e56565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e175762000e1662000e96565b5b828202905092915050565b600062000e2f8262000e36565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000600282049050600182168062000e7957607f821691505b6020821081141562000e905762000e8f62000ef4565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4d61782042757900000000000000000000000000000000000000000000000000600082015250565b7f4d617820616d6f756e7400000000000000000000000000000000000000000000600082015250565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b62000ffb8162000e22565b81146200100757600080fd5b50565b620010158162000e56565b81146200102157600080fd5b50565b60805160a05160601c6127f16200105b600039600081816106660152610e790152600081816108da01526111e601526127f16000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370db69d6116100de578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e1461048b578063e701ac67146104bb578063f2fde38b146104d9578063fc78692f146104f55761018e565b8063a457c2d7146103fb578063a9059cbb1461042b578063bfd792841461045b5761018e565b806370db69d61461035d578063715018a61461037b57806377855de4146103855780638da5cb5b146103a157806395d89b41146103bf57806399c8d556146103dd5761018e565b8063313ce5671161014b57806349bd5a5e1161012557806349bd5a5e146102d35780635f48f393146102f15780636d6a6a4d1461030f57806370a082311461032d5761018e565b8063313ce56714610269578063395093511461028757806342966c68146102b75761018e565b806306fdde0314610193578063095ea7b3146101b157806318160ddd146101e157806323b872dd146101ff5780632597e6e51461022f5780632dc0562d1461024b575b600080fd5b61019b610513565b6040516101a89190611ef8565b60405180910390f35b6101cb60048036038101906101c69190611b29565b6105a5565b6040516101d89190611edd565b60405180910390f35b6101e96105c8565b6040516101f691906120fa565b60405180910390f35b61021960048036038101906102149190611a9e565b6105d2565b6040516102269190611edd565b60405180910390f35b61024960048036038101906102449190611aed565b610601565b005b610253610664565b6040516102609190611ec2565b60405180910390f35b610271610688565b60405161027e9190612115565b60405180910390f35b6102a1600480360381019061029c9190611b29565b610691565b6040516102ae9190611edd565b60405180910390f35b6102d160048036038101906102cc9190611bee565b6106c8565b005b6102db6106d5565b6040516102e89190611ec2565b60405180910390f35b6102f96106fb565b60405161030691906120fa565b60405180910390f35b610317610701565b60405161032491906120fa565b60405180910390f35b61034760048036038101906103429190611a39565b61070d565b60405161035491906120fa565b60405180910390f35b610365610755565b60405161037291906120fa565b60405180910390f35b61038361075b565b005b61039f600480360381019061039a9190611b65565b61076f565b005b6103a961081c565b6040516103b69190611ec2565b60405180910390f35b6103c7610846565b6040516103d49190611ef8565b60405180910390f35b6103e56108d8565b6040516103f291906120fa565b60405180910390f35b61041560048036038101906104109190611b29565b6108fc565b6040516104229190611edd565b60405180910390f35b61044560048036038101906104409190611b29565b610973565b6040516104529190611edd565b60405180910390f35b61047560048036038101906104709190611a39565b610996565b6040516104829190611edd565b60405180910390f35b6104a560048036038101906104a09190611a62565b6109b6565b6040516104b291906120fa565b60405180910390f35b6104c3610a3d565b6040516104d09190611edd565b60405180910390f35b6104f360048036038101906104ee9190611a39565b610a50565b005b6104fd610ad4565b60405161050a9190611edd565b60405180910390f35b606060038054610522906122e9565b80601f016020809104026020016040519081016040528092919081815260200182805461054e906122e9565b801561059b5780601f106105705761010080835404028352916020019161059b565b820191906000526020600020905b81548152906001019060200180831161057e57829003601f168201915b5050505050905090565b6000806105b0610ae7565b90506105bd818585610aef565b600191505092915050565b6000600254905090565b6000806105dd610ae7565b90506105ea858285610cba565b6105f5858585610d46565b60019150509392505050565b610609610ebe565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006012905090565b60008061069c610ae7565b90506106bd8185856106ae85896109b6565b6106b8919061214c565b610aef565b600191505092915050565b6106d23382610f3c565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b670de0b6b3a764000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b610763610ebe565b61076d600061110a565b565b610777610ebe565b82600860006101000a81548160ff02191690831515021790555081600860016101000a81548160ff021916908315150217905550846007819055508360068190555080600860026101000a81548160ff02191690831515021790555085600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610855906122e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610881906122e9565b80156108ce5780601f106108a3576101008083540402835291602001916108ce565b820191906000526020600020905b8154815290600101906020018083116108b157829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610907610ae7565b9050600061091582866109b6565b90508381101561095a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610951906120da565b60405180910390fd5b6109678286868403610aef565b60019250505092915050565b60008061097e610ae7565b905061098b818585610d46565b600191505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860019054906101000a900460ff1681565b610a58610ebe565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611f7a565b60405180910390fd5b610ad18161110a565b50565b600860009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b569061209a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690611f9a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cad91906120fa565b60405180910390a3505050565b6000610cc684846109b6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d405781811015610d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2990611fba565b60405180910390fd5b610d3f8484848403610aef565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dd05750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80610e615750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610e605750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b15610eae576000610e71826111d0565b9050610e9e847f00000000000000000000000000000000000000000000000000000000000000008361122a565b8082610eaa919061222d565b9150505b610eb983838361122a565b505050565b610ec6610ae7565b73ffffffffffffffffffffffffffffffffffffffff16610ee461081c565b73ffffffffffffffffffffffffffffffffffffffff1614610f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3190611ffa565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa39061201a565b60405180910390fd5b610fb8826000836114a2565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561103e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103590611f5a565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110f191906120fa565b60405180910390a36111058360008461183f565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000670de0b6b3a7640000662386f26fc10000837f000000000000000000000000000000000000000000000000000000000000000061120f91906121d3565b61121991906121d3565b61122391906121a2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561129a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112919061207a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190611f3a565b60405180910390fd5b6113158383836114a2565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561139b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139290611fda565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161148991906120fa565b60405180910390a361149c84848461183f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156115b05761150161081c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061156c575061153d61081c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a29061205a565b60405180910390fd5b61183a565b600860029054906101000a900460ff16156116a657600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116665750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169c906120ba565b60405180910390fd5b5b600860019054906101000a900460ff16801561170f5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561176d57600754816117218461070d565b61172b919061214c565b111561176c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117639061203a565b60405180910390fd5b5b600860009054906101000a900460ff1680156117d65750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611839576117e3611844565b816117ed8461070d565b6117f7919061214c565b1115611838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182f90611f1a565b60405180910390fd5b5b5b505050565b505050565b600080600860039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016118c49190611ec2565b60206040518083038186803b1580156118dc57600080fd5b505afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119149190611c17565b905060003073ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016119739190611ec2565b60206040518083038186803b15801561198b57600080fd5b505afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c39190611c17565b905081816006546119d491906121d3565b6119de91906121a2565b9250505090565b6000813590506119f481612776565b92915050565b600081359050611a098161278d565b92915050565b600081359050611a1e816127a4565b92915050565b600081519050611a33816127a4565b92915050565b600060208284031215611a4b57600080fd5b6000611a59848285016119e5565b91505092915050565b60008060408385031215611a7557600080fd5b6000611a83858286016119e5565b9250506020611a94858286016119e5565b9150509250929050565b600080600060608486031215611ab357600080fd5b6000611ac1868287016119e5565b9350506020611ad2868287016119e5565b9250506040611ae386828701611a0f565b9150509250925092565b60008060408385031215611b0057600080fd5b6000611b0e858286016119e5565b9250506020611b1f858286016119fa565b9150509250929050565b60008060408385031215611b3c57600080fd5b6000611b4a858286016119e5565b9250506020611b5b85828601611a0f565b9150509250929050565b60008060008060008060c08789031215611b7e57600080fd5b6000611b8c89828a016119e5565b9650506020611b9d89828a01611a0f565b9550506040611bae89828a01611a0f565b9450506060611bbf89828a016119fa565b9350506080611bd089828a016119fa565b92505060a0611be189828a016119fa565b9150509295509295509295565b600060208284031215611c0057600080fd5b6000611c0e84828501611a0f565b91505092915050565b600060208284031215611c2957600080fd5b6000611c3784828501611a24565b91505092915050565b611c4981612261565b82525050565b611c5881612273565b82525050565b6000611c6982612130565b611c73818561213b565b9350611c838185602086016122b6565b611c8c816123a8565b840191505092915050565b6000611ca460078361213b565b9150611caf826123b9565b602082019050919050565b6000611cc760238361213b565b9150611cd2826123e2565b604082019050919050565b6000611cea60228361213b565b9150611cf582612431565b604082019050919050565b6000611d0d60268361213b565b9150611d1882612480565b604082019050919050565b6000611d3060228361213b565b9150611d3b826124cf565b604082019050919050565b6000611d53601d8361213b565b9150611d5e8261251e565b602082019050919050565b6000611d7660268361213b565b9150611d8182612547565b604082019050919050565b6000611d9960208361213b565b9150611da482612596565b602082019050919050565b6000611dbc60218361213b565b9150611dc7826125bf565b604082019050919050565b6000611ddf600a8361213b565b9150611dea8261260e565b602082019050919050565b6000611e0260168361213b565b9150611e0d82612637565b602082019050919050565b6000611e2560258361213b565b9150611e3082612660565b604082019050919050565b6000611e4860248361213b565b9150611e53826126af565b604082019050919050565b6000611e6b600b8361213b565b9150611e76826126fe565b602082019050919050565b6000611e8e60258361213b565b9150611e9982612727565b604082019050919050565b611ead8161229f565b82525050565b611ebc816122a9565b82525050565b6000602082019050611ed76000830184611c40565b92915050565b6000602082019050611ef26000830184611c4f565b92915050565b60006020820190508181036000830152611f128184611c5e565b905092915050565b60006020820190508181036000830152611f3381611c97565b9050919050565b60006020820190508181036000830152611f5381611cba565b9050919050565b60006020820190508181036000830152611f7381611cdd565b9050919050565b60006020820190508181036000830152611f9381611d00565b9050919050565b60006020820190508181036000830152611fb381611d23565b9050919050565b60006020820190508181036000830152611fd381611d46565b9050919050565b60006020820190508181036000830152611ff381611d69565b9050919050565b6000602082019050818103600083015261201381611d8c565b9050919050565b6000602082019050818103600083015261203381611daf565b9050919050565b6000602082019050818103600083015261205381611dd2565b9050919050565b6000602082019050818103600083015261207381611df5565b9050919050565b6000602082019050818103600083015261209381611e18565b9050919050565b600060208201905081810360008301526120b381611e3b565b9050919050565b600060208201905081810360008301526120d381611e5e565b9050919050565b600060208201905081810360008301526120f381611e81565b9050919050565b600060208201905061210f6000830184611ea4565b92915050565b600060208201905061212a6000830184611eb3565b92915050565b600081519050919050565b600082825260208201905092915050565b60006121578261229f565b91506121628361229f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121975761219661231b565b5b828201905092915050565b60006121ad8261229f565b91506121b88361229f565b9250826121c8576121c761234a565b5b828204905092915050565b60006121de8261229f565b91506121e98361229f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156122225761222161231b565b5b828202905092915050565b60006122388261229f565b91506122438361229f565b9250828210156122565761225561231b565b5b828203905092915050565b600061226c8261227f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156122d45780820151818401526020810190506122b9565b838111156122e3576000848401525b50505050565b6000600282049050600182168061230157607f821691505b6020821081141561231557612314612379565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f4d61782042757900000000000000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f4d617820616d6f756e7400000000000000000000000000000000000000000000600082015250565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61277f81612261565b811461278a57600080fd5b50565b61279681612273565b81146127a157600080fd5b50565b6127ad8161229f565b81146127b857600080fd5b5056fea2646970667358221220557a91d2abdba4ea5a11674735b832385700d50a48caa53ab78e2726589c889464736f6c6343000804003300000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006cfa0f607711f0a14b9448e21d6b73fa8ee1269e
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061018e5760003560e01c806370db69d6116100de578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e1461048b578063e701ac67146104bb578063f2fde38b146104d9578063fc78692f146104f55761018e565b8063a457c2d7146103fb578063a9059cbb1461042b578063bfd792841461045b5761018e565b806370db69d61461035d578063715018a61461037b57806377855de4146103855780638da5cb5b146103a157806395d89b41146103bf57806399c8d556146103dd5761018e565b8063313ce5671161014b57806349bd5a5e1161012557806349bd5a5e146102d35780635f48f393146102f15780636d6a6a4d1461030f57806370a082311461032d5761018e565b8063313ce56714610269578063395093511461028757806342966c68146102b75761018e565b806306fdde0314610193578063095ea7b3146101b157806318160ddd146101e157806323b872dd146101ff5780632597e6e51461022f5780632dc0562d1461024b575b600080fd5b61019b610513565b6040516101a89190611ef8565b60405180910390f35b6101cb60048036038101906101c69190611b29565b6105a5565b6040516101d89190611edd565b60405180910390f35b6101e96105c8565b6040516101f691906120fa565b60405180910390f35b61021960048036038101906102149190611a9e565b6105d2565b6040516102269190611edd565b60405180910390f35b61024960048036038101906102449190611aed565b610601565b005b610253610664565b6040516102609190611ec2565b60405180910390f35b610271610688565b60405161027e9190612115565b60405180910390f35b6102a1600480360381019061029c9190611b29565b610691565b6040516102ae9190611edd565b60405180910390f35b6102d160048036038101906102cc9190611bee565b6106c8565b005b6102db6106d5565b6040516102e89190611ec2565b60405180910390f35b6102f96106fb565b60405161030691906120fa565b60405180910390f35b610317610701565b60405161032491906120fa565b60405180910390f35b61034760048036038101906103429190611a39565b61070d565b60405161035491906120fa565b60405180910390f35b610365610755565b60405161037291906120fa565b60405180910390f35b61038361075b565b005b61039f600480360381019061039a9190611b65565b61076f565b005b6103a961081c565b6040516103b69190611ec2565b60405180910390f35b6103c7610846565b6040516103d49190611ef8565b60405180910390f35b6103e56108d8565b6040516103f291906120fa565b60405180910390f35b61041560048036038101906104109190611b29565b6108fc565b6040516104229190611edd565b60405180910390f35b61044560048036038101906104409190611b29565b610973565b6040516104529190611edd565b60405180910390f35b61047560048036038101906104709190611a39565b610996565b6040516104829190611edd565b60405180910390f35b6104a560048036038101906104a09190611a62565b6109b6565b6040516104b291906120fa565b60405180910390f35b6104c3610a3d565b6040516104d09190611edd565b60405180910390f35b6104f360048036038101906104ee9190611a39565b610a50565b005b6104fd610ad4565b60405161050a9190611edd565b60405180910390f35b606060038054610522906122e9565b80601f016020809104026020016040519081016040528092919081815260200182805461054e906122e9565b801561059b5780601f106105705761010080835404028352916020019161059b565b820191906000526020600020905b81548152906001019060200180831161057e57829003601f168201915b5050505050905090565b6000806105b0610ae7565b90506105bd818585610aef565b600191505092915050565b6000600254905090565b6000806105dd610ae7565b90506105ea858285610cba565b6105f5858585610d46565b60019150509392505050565b610609610ebe565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b7f0000000000000000000000006cfa0f607711f0a14b9448e21d6b73fa8ee1269e81565b60006012905090565b60008061069c610ae7565b90506106bd8185856106ae85896109b6565b6106b8919061214c565b610aef565b600191505092915050565b6106d23382610f3c565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b670de0b6b3a764000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b610763610ebe565b61076d600061110a565b565b610777610ebe565b82600860006101000a81548160ff02191690831515021790555081600860016101000a81548160ff021916908315150217905550846007819055508360068190555080600860026101000a81548160ff02191690831515021790555085600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610855906122e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610881906122e9565b80156108ce5780601f106108a3576101008083540402835291602001916108ce565b820191906000526020600020905b8154815290600101906020018083116108b157829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000281565b600080610907610ae7565b9050600061091582866109b6565b90508381101561095a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610951906120da565b60405180910390fd5b6109678286868403610aef565b60019250505092915050565b60008061097e610ae7565b905061098b818585610d46565b600191505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860019054906101000a900460ff1681565b610a58610ebe565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611f7a565b60405180910390fd5b610ad18161110a565b50565b600860009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b569061209a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690611f9a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cad91906120fa565b60405180910390a3505050565b6000610cc684846109b6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d405781811015610d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2990611fba565b60405180910390fd5b610d3f8484848403610aef565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dd05750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80610e615750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610e605750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b15610eae576000610e71826111d0565b9050610e9e847f0000000000000000000000006cfa0f607711f0a14b9448e21d6b73fa8ee1269e8361122a565b8082610eaa919061222d565b9150505b610eb983838361122a565b505050565b610ec6610ae7565b73ffffffffffffffffffffffffffffffffffffffff16610ee461081c565b73ffffffffffffffffffffffffffffffffffffffff1614610f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3190611ffa565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa39061201a565b60405180910390fd5b610fb8826000836114a2565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561103e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103590611f5a565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110f191906120fa565b60405180910390a36111058360008461183f565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000670de0b6b3a7640000662386f26fc10000837f000000000000000000000000000000000000000000000000000000000000000261120f91906121d3565b61121991906121d3565b61122391906121a2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561129a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112919061207a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190611f3a565b60405180910390fd5b6113158383836114a2565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561139b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139290611fda565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161148991906120fa565b60405180910390a361149c84848461183f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156115b05761150161081c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061156c575061153d61081c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a29061205a565b60405180910390fd5b61183a565b600860029054906101000a900460ff16156116a657600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116665750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169c906120ba565b60405180910390fd5b5b600860019054906101000a900460ff16801561170f5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561176d57600754816117218461070d565b61172b919061214c565b111561176c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117639061203a565b60405180910390fd5b5b600860009054906101000a900460ff1680156117d65750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611839576117e3611844565b816117ed8461070d565b6117f7919061214c565b1115611838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182f90611f1a565b60405180910390fd5b5b5b505050565b505050565b600080600860039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016118c49190611ec2565b60206040518083038186803b1580156118dc57600080fd5b505afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119149190611c17565b905060003073ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016119739190611ec2565b60206040518083038186803b15801561198b57600080fd5b505afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c39190611c17565b905081816006546119d491906121d3565b6119de91906121a2565b9250505090565b6000813590506119f481612776565b92915050565b600081359050611a098161278d565b92915050565b600081359050611a1e816127a4565b92915050565b600081519050611a33816127a4565b92915050565b600060208284031215611a4b57600080fd5b6000611a59848285016119e5565b91505092915050565b60008060408385031215611a7557600080fd5b6000611a83858286016119e5565b9250506020611a94858286016119e5565b9150509250929050565b600080600060608486031215611ab357600080fd5b6000611ac1868287016119e5565b9350506020611ad2868287016119e5565b9250506040611ae386828701611a0f565b9150509250925092565b60008060408385031215611b0057600080fd5b6000611b0e858286016119e5565b9250506020611b1f858286016119fa565b9150509250929050565b60008060408385031215611b3c57600080fd5b6000611b4a858286016119e5565b9250506020611b5b85828601611a0f565b9150509250929050565b60008060008060008060c08789031215611b7e57600080fd5b6000611b8c89828a016119e5565b9650506020611b9d89828a01611a0f565b9550506040611bae89828a01611a0f565b9450506060611bbf89828a016119fa565b9350506080611bd089828a016119fa565b92505060a0611be189828a016119fa565b9150509295509295509295565b600060208284031215611c0057600080fd5b6000611c0e84828501611a0f565b91505092915050565b600060208284031215611c2957600080fd5b6000611c3784828501611a24565b91505092915050565b611c4981612261565b82525050565b611c5881612273565b82525050565b6000611c6982612130565b611c73818561213b565b9350611c838185602086016122b6565b611c8c816123a8565b840191505092915050565b6000611ca460078361213b565b9150611caf826123b9565b602082019050919050565b6000611cc760238361213b565b9150611cd2826123e2565b604082019050919050565b6000611cea60228361213b565b9150611cf582612431565b604082019050919050565b6000611d0d60268361213b565b9150611d1882612480565b604082019050919050565b6000611d3060228361213b565b9150611d3b826124cf565b604082019050919050565b6000611d53601d8361213b565b9150611d5e8261251e565b602082019050919050565b6000611d7660268361213b565b9150611d8182612547565b604082019050919050565b6000611d9960208361213b565b9150611da482612596565b602082019050919050565b6000611dbc60218361213b565b9150611dc7826125bf565b604082019050919050565b6000611ddf600a8361213b565b9150611dea8261260e565b602082019050919050565b6000611e0260168361213b565b9150611e0d82612637565b602082019050919050565b6000611e2560258361213b565b9150611e3082612660565b604082019050919050565b6000611e4860248361213b565b9150611e53826126af565b604082019050919050565b6000611e6b600b8361213b565b9150611e76826126fe565b602082019050919050565b6000611e8e60258361213b565b9150611e9982612727565b604082019050919050565b611ead8161229f565b82525050565b611ebc816122a9565b82525050565b6000602082019050611ed76000830184611c40565b92915050565b6000602082019050611ef26000830184611c4f565b92915050565b60006020820190508181036000830152611f128184611c5e565b905092915050565b60006020820190508181036000830152611f3381611c97565b9050919050565b60006020820190508181036000830152611f5381611cba565b9050919050565b60006020820190508181036000830152611f7381611cdd565b9050919050565b60006020820190508181036000830152611f9381611d00565b9050919050565b60006020820190508181036000830152611fb381611d23565b9050919050565b60006020820190508181036000830152611fd381611d46565b9050919050565b60006020820190508181036000830152611ff381611d69565b9050919050565b6000602082019050818103600083015261201381611d8c565b9050919050565b6000602082019050818103600083015261203381611daf565b9050919050565b6000602082019050818103600083015261205381611dd2565b9050919050565b6000602082019050818103600083015261207381611df5565b9050919050565b6000602082019050818103600083015261209381611e18565b9050919050565b600060208201905081810360008301526120b381611e3b565b9050919050565b600060208201905081810360008301526120d381611e5e565b9050919050565b600060208201905081810360008301526120f381611e81565b9050919050565b600060208201905061210f6000830184611ea4565b92915050565b600060208201905061212a6000830184611eb3565b92915050565b600081519050919050565b600082825260208201905092915050565b60006121578261229f565b91506121628361229f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121975761219661231b565b5b828201905092915050565b60006121ad8261229f565b91506121b88361229f565b9250826121c8576121c761234a565b5b828204905092915050565b60006121de8261229f565b91506121e98361229f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156122225761222161231b565b5b828202905092915050565b60006122388261229f565b91506122438361229f565b9250828210156122565761225561231b565b5b828203905092915050565b600061226c8261227f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156122d45780820151818401526020810190506122b9565b838111156122e3576000848401525b50505050565b6000600282049050600182168061230157607f821691505b6020821081141561231557612314612379565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f4d61782042757900000000000000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f4d617820616d6f756e7400000000000000000000000000000000000000000000600082015250565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61277f81612261565b811461278a57600080fd5b50565b61279681612273565b81146127a157600080fd5b50565b6127ad8161229f565b81146127b857600080fd5b5056fea2646970667358221220557a91d2abdba4ea5a11674735b832385700d50a48caa53ab78e2726589c889464736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006cfa0f607711f0a14b9448e21d6b73fa8ee1269e
-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 100000000000000000000000000
Arg [1] : _tax (uint256): 2
Arg [2] : _taxWallet (address): 0x6CFA0F607711f0A14b9448e21d6B73Fa8EE1269e
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [2] : 0000000000000000000000006cfa0f607711f0a14b9448e21d6b73fa8ee1269e
Deployed Bytecode Sourcemap
20580:2839:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9351:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11702:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10471:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12483:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21268:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20858:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10313:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13187:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23335:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20971:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20705:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20626:44;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10642:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20677:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2776:103;;;:::i;:::-;;21392:359;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2128:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9570:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20736:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13928:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10975:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21006:36;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11231:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20799:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3034:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20772:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9351:100;9405:13;9438:5;9431:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9351:100;:::o;11702:201::-;11785:4;11802:13;11818:12;:10;:12::i;:::-;11802:28;;11841:32;11850:5;11857:7;11866:6;11841:8;:32::i;:::-;11891:4;11884:11;;;11702:201;;;;:::o;10471:108::-;10532:7;10559:12;;10552:19;;10471:108;:::o;12483:295::-;12614:4;12631:15;12649:12;:10;:12::i;:::-;12631:30;;12672:38;12688:4;12694:7;12703:6;12672:15;:38::i;:::-;12721:27;12731:4;12737:2;12741:6;12721:9;:27::i;:::-;12766:4;12759:11;;;12483:295;;;;;:::o;21268:109::-;2014:13;:11;:13::i;:::-;21363:6:::1;21346:4;:14;21351:8;21346:14;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;21268:109:::0;;:::o;20858:34::-;;;:::o;10313:93::-;10371:5;10396:2;10389:9;;10313:93;:::o;13187:238::-;13275:4;13292:13;13308:12;:10;:12::i;:::-;13292:28;;13331:64;13340:5;13347:7;13384:10;13356:25;13366:5;13373:7;13356:9;:25::i;:::-;:38;;;;:::i;:::-;13331:8;:64::i;:::-;13413:4;13406:11;;;13187:238;;;;:::o;23335:81::-;23384:24;23390:10;23402:5;23384;:24::i;:::-;23335:81;:::o;20971:28::-;;;;;;;;;;;;;:::o;20705:24::-;;;;:::o;20626:44::-;20666:4;20626:44;:::o;10642:127::-;10716:7;10743:9;:18;10753:7;10743:18;;;;;;;;;;;;;;;;10736:25;;10642:127;;;:::o;20677:21::-;;;;:::o;2776:103::-;2014:13;:11;:13::i;:::-;2841:30:::1;2868:1;2841:18;:30::i;:::-;2776:103::o:0;21392:359::-;2014:13;:11;:13::i;:::-;21563:9:::1;21552:8;;:20;;;;;;;;;;;;;;;;;;21597:12;21583:11;;:26;;;;;;;;;;;;;;;;;;21632:10;21620:9;:22;;;;21662:7;21653:6;:16;;;;21692:10;21680:9;;:22;;;;;;;;;;;;;;;;;;21729:14;21713:13;;:30;;;;;;;;;;;;;;;;;;21392:359:::0;;;;;;:::o;2128:87::-;2174:7;2201:6;;;;;;;;;;;2194:13;;2128:87;:::o;9570:104::-;9626:13;9659:7;9652:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9570:104;:::o;20736:28::-;;;:::o;13928:436::-;14021:4;14038:13;14054:12;:10;:12::i;:::-;14038:28;;14077:24;14104:25;14114:5;14121:7;14104:9;:25::i;:::-;14077:52;;14168:15;14148:16;:35;;14140:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14261:60;14270:5;14277:7;14305:15;14286:16;:34;14261:8;:60::i;:::-;14352:4;14345:11;;;;13928:436;;;;:::o;10975:193::-;11054:4;11071:13;11087:12;:10;:12::i;:::-;11071:28;;11110;11120:5;11127:2;11131:6;11110:9;:28::i;:::-;11156:4;11149:11;;;10975:193;;;;:::o;21006:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;11231:151::-;11320:7;11347:11;:18;11359:5;11347:18;;;;;;;;;;;;;;;:27;11366:7;11347:27;;;;;;;;;;;;;;;;11340:34;;11231:151;;;;:::o;20799:23::-;;;;;;;;;;;;;:::o;3034:201::-;2014:13;:11;:13::i;:::-;3143:1:::1;3123:22;;:8;:22;;;;3115:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3199:28;3218:8;3199:18;:28::i;:::-;3034:201:::0;:::o;20772:20::-;;;;;;;;;;;;;:::o;679:98::-;732:7;759:10;752:17;;679:98;:::o;17955:380::-;18108:1;18091:19;;:5;:19;;;;18083:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18189:1;18170:21;;:7;:21;;;;18162:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18273:6;18243:11;:18;18255:5;18243:18;;;;;;;;;;;;;;;:27;18262:7;18243:27;;;;;;;;;;;;;;;:36;;;;18311:7;18295:32;;18304:5;18295:32;;;18320:6;18295:32;;;;;;:::i;:::-;;;;;;;;17955:380;;;:::o;18626:453::-;18761:24;18788:25;18798:5;18805:7;18788:9;:25::i;:::-;18761:52;;18848:17;18828:16;:37;18824:248;;18910:6;18890:16;:26;;18882:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18994:51;19003:5;19010:7;19038:6;19019:16;:25;18994:8;:51::i;:::-;18824:248;18626:453;;;;:::o;22187:428::-;22306:1;22290:18;;:4;:18;;;;22289:47;;;;;22322:13;;;;;;;;;;;22314:21;;:4;:21;;;22289:47;22287:102;;;;22359:1;22345:16;;:2;:16;;;;22344:43;;;;;22373:13;;;;;;;;;;;22367:19;;:2;:19;;;22344:43;22287:102;22283:268;;;22410:12;22425:15;22433:6;22425:7;:15::i;:::-;22410:30;;22459:38;22475:4;22481:9;22492:4;22459:15;:38::i;:::-;22534:4;22525:6;:13;;;;:::i;:::-;22516:22;;22283:268;;22574:33;22590:4;22596:2;22600:6;22574:15;:33::i;:::-;22187:428;;;:::o;2293:132::-;2368:12;:10;:12::i;:::-;2357:23;;:7;:5;:7::i;:::-;:23;;;2349:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2293:132::o;16842:675::-;16945:1;16926:21;;:7;:21;;;;16918:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16998:49;17019:7;17036:1;17040:6;16998:20;:49::i;:::-;17060:22;17085:9;:18;17095:7;17085:18;;;;;;;;;;;;;;;;17060:43;;17140:6;17122:14;:24;;17114:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17259:6;17242:14;:23;17221:9;:18;17231:7;17221:18;;;;;;;;;;;;;;;:44;;;;17376:6;17360:12;;:22;;;;;;;;;;;17437:1;17411:37;;17420:7;17411:37;;;17441:6;17411:37;;;;;;:::i;:::-;;;;;;;;17461:48;17481:7;17498:1;17502:6;17461:19;:48::i;:::-;16842:675;;;:::o;3395:191::-;3469:16;3488:6;;;;;;;;;;;3469:25;;3514:8;3505:6;;:17;;;;;;;;;;;;;;;;;;3569:8;3538:40;;3559:8;3538:40;;;;;;;;;;;;3395:191;;:::o;22039:140::-;22096:7;20666:4;22149;22139:7;22133:3;:13;;;;:::i;:::-;:20;;;;:::i;:::-;22132:39;;;;:::i;:::-;22125:46;;22039:140;;;:::o;14834:840::-;14981:1;14965:18;;:4;:18;;;;14957:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15058:1;15044:16;;:2;:16;;;;15036:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15113:38;15134:4;15140:2;15144:6;15113:20;:38::i;:::-;15164:19;15186:9;:15;15196:4;15186:15;;;;;;;;;;;;;;;;15164:37;;15235:6;15220:11;:21;;15212:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15352:6;15338:11;:20;15320:9;:15;15330:4;15320:15;;;;;;;;;;;;;;;:38;;;;15555:6;15538:9;:13;15548:2;15538:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;15605:2;15590:26;;15599:4;15590:26;;;15609:6;15590:26;;;;;;:::i;:::-;;;;;;;;15629:37;15649:4;15655:2;15659:6;15629:19;:37::i;:::-;14834:840;;;;:::o;22623:704::-;22797:1;22772:27;;:13;;;;;;;;;;;:27;;;22768:148;;;22832:7;:5;:7::i;:::-;22824:15;;:4;:15;;;:32;;;;22849:7;:5;:7::i;:::-;22843:13;;:2;:13;;;22824:32;22816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22898:7;;22768:148;22932:9;;;;;;;;;;;22928:87;;;22965:4;:10;22970:4;22965:10;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;;22979:4;:8;22984:2;22979:8;;;;;;;;;;;;;;;;;;;;;;;;;22965:22;22957:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;22928:87;23033:11;;;;;;;;;;;:38;;;;;23057:13;;;;;;;;;;;23049:21;;:4;:21;;;23033:38;23029:135;;;23128:9;;23118:6;23096:19;23112:2;23096:15;:19::i;:::-;:28;;;;:::i;:::-;:41;;23088:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;23029:135;23180:8;;;;;;;;;;;:35;;;;;23201:13;;;;;;;;;;;23193:21;;:4;:21;;;23180:35;23176:144;;;23272:24;:22;:24::i;:::-;23262:6;23240:19;23256:2;23240:15;:19::i;:::-;:28;;;;:::i;:::-;:56;;23232:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;23176:144;22623:704;;;;:::o;20408:124::-;;;;:::o;21761:270::-;21819:7;21838:17;21865:4;;;;;;;;;;;21858:22;;;21881:13;;;;;;;;;;;21858:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21838:57;;21906:17;21941:4;21926:31;;;21958:13;;;;;;;;;;;21926:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21906:66;;22014:9;22000;21991:6;;:18;;;;:::i;:::-;21990:33;;;;:::i;:::-;21983:40;;;;21761:270;:::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:143::-;493:5;524:6;518:13;509:22;;540:33;567:5;540:33;:::i;:::-;499:80;;;;:::o;585:262::-;644:6;693:2;681:9;672:7;668:23;664:32;661:2;;;709:1;706;699:12;661:2;752:1;777:53;822:7;813:6;802:9;798:22;777:53;:::i;:::-;767:63;;723:117;651:196;;;;:::o;853:407::-;921:6;929;978:2;966:9;957:7;953:23;949:32;946:2;;;994:1;991;984:12;946:2;1037:1;1062:53;1107:7;1098:6;1087:9;1083:22;1062:53;:::i;:::-;1052:63;;1008:117;1164:2;1190:53;1235:7;1226:6;1215:9;1211:22;1190:53;:::i;:::-;1180:63;;1135:118;936:324;;;;;:::o;1266:552::-;1343:6;1351;1359;1408:2;1396:9;1387:7;1383:23;1379:32;1376:2;;;1424:1;1421;1414:12;1376:2;1467:1;1492:53;1537:7;1528:6;1517:9;1513:22;1492:53;:::i;:::-;1482:63;;1438:117;1594:2;1620:53;1665:7;1656:6;1645:9;1641:22;1620:53;:::i;:::-;1610:63;;1565:118;1722:2;1748:53;1793:7;1784:6;1773:9;1769:22;1748:53;:::i;:::-;1738:63;;1693:118;1366:452;;;;;:::o;1824:401::-;1889:6;1897;1946:2;1934:9;1925:7;1921:23;1917:32;1914:2;;;1962:1;1959;1952:12;1914:2;2005:1;2030:53;2075:7;2066:6;2055:9;2051:22;2030:53;:::i;:::-;2020:63;;1976:117;2132:2;2158:50;2200:7;2191:6;2180:9;2176:22;2158:50;:::i;:::-;2148:60;;2103:115;1904:321;;;;;:::o;2231:407::-;2299:6;2307;2356:2;2344:9;2335:7;2331:23;2327:32;2324:2;;;2372:1;2369;2362:12;2324:2;2415:1;2440:53;2485:7;2476:6;2465:9;2461:22;2440:53;:::i;:::-;2430:63;;2386:117;2542:2;2568:53;2613:7;2604:6;2593:9;2589:22;2568:53;:::i;:::-;2558:63;;2513:118;2314:324;;;;;:::o;2644:972::-;2739:6;2747;2755;2763;2771;2779;2828:3;2816:9;2807:7;2803:23;2799:33;2796:2;;;2845:1;2842;2835:12;2796:2;2888:1;2913:53;2958:7;2949:6;2938:9;2934:22;2913:53;:::i;:::-;2903:63;;2859:117;3015:2;3041:53;3086:7;3077:6;3066:9;3062:22;3041:53;:::i;:::-;3031:63;;2986:118;3143:2;3169:53;3214:7;3205:6;3194:9;3190:22;3169:53;:::i;:::-;3159:63;;3114:118;3271:2;3297:50;3339:7;3330:6;3319:9;3315:22;3297:50;:::i;:::-;3287:60;;3242:115;3396:3;3423:50;3465:7;3456:6;3445:9;3441:22;3423:50;:::i;:::-;3413:60;;3367:116;3522:3;3549:50;3591:7;3582:6;3571:9;3567:22;3549:50;:::i;:::-;3539:60;;3493:116;2786:830;;;;;;;;:::o;3622:262::-;3681:6;3730:2;3718:9;3709:7;3705:23;3701:32;3698:2;;;3746:1;3743;3736:12;3698:2;3789:1;3814:53;3859:7;3850:6;3839:9;3835:22;3814:53;:::i;:::-;3804:63;;3760:117;3688:196;;;;:::o;3890:284::-;3960:6;4009:2;3997:9;3988:7;3984:23;3980:32;3977:2;;;4025:1;4022;4015:12;3977:2;4068:1;4093:64;4149:7;4140:6;4129:9;4125:22;4093:64;:::i;:::-;4083:74;;4039:128;3967:207;;;;:::o;4180:118::-;4267:24;4285:5;4267:24;:::i;:::-;4262:3;4255:37;4245:53;;:::o;4304:109::-;4385:21;4400:5;4385:21;:::i;:::-;4380:3;4373:34;4363:50;;:::o;4419:364::-;4507:3;4535:39;4568:5;4535:39;:::i;:::-;4590:71;4654:6;4649:3;4590:71;:::i;:::-;4583:78;;4670:52;4715:6;4710:3;4703:4;4696:5;4692:16;4670:52;:::i;:::-;4747:29;4769:6;4747:29;:::i;:::-;4742:3;4738:39;4731:46;;4511:272;;;;;:::o;4789:365::-;4931:3;4952:66;5016:1;5011:3;4952:66;:::i;:::-;4945:73;;5027:93;5116:3;5027:93;:::i;:::-;5145:2;5140:3;5136:12;5129:19;;4935:219;;;:::o;5160:366::-;5302:3;5323:67;5387:2;5382:3;5323:67;:::i;:::-;5316:74;;5399:93;5488:3;5399:93;:::i;:::-;5517:2;5512:3;5508:12;5501:19;;5306:220;;;:::o;5532:366::-;5674:3;5695:67;5759:2;5754:3;5695:67;:::i;:::-;5688:74;;5771:93;5860:3;5771:93;:::i;:::-;5889:2;5884:3;5880:12;5873:19;;5678:220;;;:::o;5904:366::-;6046:3;6067:67;6131:2;6126:3;6067:67;:::i;:::-;6060:74;;6143:93;6232:3;6143:93;:::i;:::-;6261:2;6256:3;6252:12;6245:19;;6050:220;;;:::o;6276:366::-;6418:3;6439:67;6503:2;6498:3;6439:67;:::i;:::-;6432:74;;6515:93;6604:3;6515:93;:::i;:::-;6633:2;6628:3;6624:12;6617:19;;6422:220;;;:::o;6648:366::-;6790:3;6811:67;6875:2;6870:3;6811:67;:::i;:::-;6804:74;;6887:93;6976:3;6887:93;:::i;:::-;7005:2;7000:3;6996:12;6989:19;;6794:220;;;:::o;7020:366::-;7162:3;7183:67;7247:2;7242:3;7183:67;:::i;:::-;7176:74;;7259:93;7348:3;7259:93;:::i;:::-;7377:2;7372:3;7368:12;7361:19;;7166:220;;;:::o;7392:366::-;7534:3;7555:67;7619:2;7614:3;7555:67;:::i;:::-;7548:74;;7631:93;7720:3;7631:93;:::i;:::-;7749:2;7744:3;7740:12;7733:19;;7538:220;;;:::o;7764:366::-;7906:3;7927:67;7991:2;7986:3;7927:67;:::i;:::-;7920:74;;8003:93;8092:3;8003:93;:::i;:::-;8121:2;8116:3;8112:12;8105:19;;7910:220;;;:::o;8136:366::-;8278:3;8299:67;8363:2;8358:3;8299:67;:::i;:::-;8292:74;;8375:93;8464:3;8375:93;:::i;:::-;8493:2;8488:3;8484:12;8477:19;;8282:220;;;:::o;8508:366::-;8650:3;8671:67;8735:2;8730:3;8671:67;:::i;:::-;8664:74;;8747:93;8836:3;8747:93;:::i;:::-;8865:2;8860:3;8856:12;8849:19;;8654:220;;;:::o;8880:366::-;9022:3;9043:67;9107:2;9102:3;9043:67;:::i;:::-;9036:74;;9119:93;9208:3;9119:93;:::i;:::-;9237:2;9232:3;9228:12;9221:19;;9026:220;;;:::o;9252:366::-;9394:3;9415:67;9479:2;9474:3;9415:67;:::i;:::-;9408:74;;9491:93;9580:3;9491:93;:::i;:::-;9609:2;9604:3;9600:12;9593:19;;9398:220;;;:::o;9624:366::-;9766:3;9787:67;9851:2;9846:3;9787:67;:::i;:::-;9780:74;;9863:93;9952:3;9863:93;:::i;:::-;9981:2;9976:3;9972:12;9965:19;;9770:220;;;:::o;9996:366::-;10138:3;10159:67;10223:2;10218:3;10159:67;:::i;:::-;10152:74;;10235:93;10324:3;10235:93;:::i;:::-;10353:2;10348:3;10344:12;10337:19;;10142:220;;;:::o;10368:118::-;10455:24;10473:5;10455:24;:::i;:::-;10450:3;10443:37;10433:53;;:::o;10492:112::-;10575:22;10591:5;10575:22;:::i;:::-;10570:3;10563:35;10553:51;;:::o;10610:222::-;10703:4;10741:2;10730:9;10726:18;10718:26;;10754:71;10822:1;10811:9;10807:17;10798:6;10754:71;:::i;:::-;10708:124;;;;:::o;10838:210::-;10925:4;10963:2;10952:9;10948:18;10940:26;;10976:65;11038:1;11027:9;11023:17;11014:6;10976:65;:::i;:::-;10930:118;;;;:::o;11054:313::-;11167:4;11205:2;11194:9;11190:18;11182:26;;11254:9;11248:4;11244:20;11240:1;11229:9;11225:17;11218:47;11282:78;11355:4;11346:6;11282:78;:::i;:::-;11274:86;;11172:195;;;;:::o;11373:419::-;11539:4;11577:2;11566:9;11562:18;11554:26;;11626:9;11620:4;11616:20;11612:1;11601:9;11597:17;11590:47;11654:131;11780:4;11654:131;:::i;:::-;11646:139;;11544:248;;;:::o;11798:419::-;11964:4;12002:2;11991:9;11987:18;11979:26;;12051:9;12045:4;12041:20;12037:1;12026:9;12022:17;12015:47;12079:131;12205:4;12079:131;:::i;:::-;12071:139;;11969:248;;;:::o;12223:419::-;12389:4;12427:2;12416:9;12412:18;12404:26;;12476:9;12470:4;12466:20;12462:1;12451:9;12447:17;12440:47;12504:131;12630:4;12504:131;:::i;:::-;12496:139;;12394:248;;;:::o;12648:419::-;12814:4;12852:2;12841:9;12837:18;12829:26;;12901:9;12895:4;12891:20;12887:1;12876:9;12872:17;12865:47;12929:131;13055:4;12929:131;:::i;:::-;12921:139;;12819:248;;;:::o;13073:419::-;13239:4;13277:2;13266:9;13262:18;13254:26;;13326:9;13320:4;13316:20;13312:1;13301:9;13297:17;13290:47;13354:131;13480:4;13354:131;:::i;:::-;13346:139;;13244:248;;;:::o;13498:419::-;13664:4;13702:2;13691:9;13687:18;13679:26;;13751:9;13745:4;13741:20;13737:1;13726:9;13722:17;13715:47;13779:131;13905:4;13779:131;:::i;:::-;13771:139;;13669:248;;;:::o;13923:419::-;14089:4;14127:2;14116:9;14112:18;14104:26;;14176:9;14170:4;14166:20;14162:1;14151:9;14147:17;14140:47;14204:131;14330:4;14204:131;:::i;:::-;14196:139;;14094:248;;;:::o;14348:419::-;14514:4;14552:2;14541:9;14537:18;14529:26;;14601:9;14595:4;14591:20;14587:1;14576:9;14572:17;14565:47;14629:131;14755:4;14629:131;:::i;:::-;14621:139;;14519:248;;;:::o;14773:419::-;14939:4;14977:2;14966:9;14962:18;14954:26;;15026:9;15020:4;15016:20;15012:1;15001:9;14997:17;14990:47;15054:131;15180:4;15054:131;:::i;:::-;15046:139;;14944:248;;;:::o;15198:419::-;15364:4;15402:2;15391:9;15387:18;15379:26;;15451:9;15445:4;15441:20;15437:1;15426:9;15422:17;15415:47;15479:131;15605:4;15479:131;:::i;:::-;15471:139;;15369:248;;;:::o;15623:419::-;15789:4;15827:2;15816:9;15812:18;15804:26;;15876:9;15870:4;15866:20;15862:1;15851:9;15847:17;15840:47;15904:131;16030:4;15904:131;:::i;:::-;15896:139;;15794:248;;;:::o;16048:419::-;16214:4;16252:2;16241:9;16237:18;16229:26;;16301:9;16295:4;16291:20;16287:1;16276:9;16272:17;16265:47;16329:131;16455:4;16329:131;:::i;:::-;16321:139;;16219:248;;;:::o;16473:419::-;16639:4;16677:2;16666:9;16662:18;16654:26;;16726:9;16720:4;16716:20;16712:1;16701:9;16697:17;16690:47;16754:131;16880:4;16754:131;:::i;:::-;16746:139;;16644:248;;;:::o;16898:419::-;17064:4;17102:2;17091:9;17087:18;17079:26;;17151:9;17145:4;17141:20;17137:1;17126:9;17122:17;17115:47;17179:131;17305:4;17179:131;:::i;:::-;17171:139;;17069:248;;;:::o;17323:419::-;17489:4;17527:2;17516:9;17512:18;17504:26;;17576:9;17570:4;17566:20;17562:1;17551:9;17547:17;17540:47;17604:131;17730:4;17604:131;:::i;:::-;17596:139;;17494:248;;;:::o;17748:222::-;17841:4;17879:2;17868:9;17864:18;17856:26;;17892:71;17960:1;17949:9;17945:17;17936:6;17892:71;:::i;:::-;17846:124;;;;:::o;17976:214::-;18065:4;18103:2;18092:9;18088:18;18080:26;;18116:67;18180:1;18169:9;18165:17;18156:6;18116:67;:::i;:::-;18070:120;;;;:::o;18196:99::-;18248:6;18282:5;18276:12;18266:22;;18255:40;;;:::o;18301:169::-;18385:11;18419:6;18414:3;18407:19;18459:4;18454:3;18450:14;18435:29;;18397:73;;;;:::o;18476:305::-;18516:3;18535:20;18553:1;18535:20;:::i;:::-;18530:25;;18569:20;18587:1;18569:20;:::i;:::-;18564:25;;18723:1;18655:66;18651:74;18648:1;18645:81;18642:2;;;18729:18;;:::i;:::-;18642:2;18773:1;18770;18766:9;18759:16;;18520:261;;;;:::o;18787:185::-;18827:1;18844:20;18862:1;18844:20;:::i;:::-;18839:25;;18878:20;18896:1;18878:20;:::i;:::-;18873:25;;18917:1;18907:2;;18922:18;;:::i;:::-;18907:2;18964:1;18961;18957:9;18952:14;;18829:143;;;;:::o;18978:348::-;19018:7;19041:20;19059:1;19041:20;:::i;:::-;19036:25;;19075:20;19093:1;19075:20;:::i;:::-;19070:25;;19263:1;19195:66;19191:74;19188:1;19185:81;19180:1;19173:9;19166:17;19162:105;19159:2;;;19270:18;;:::i;:::-;19159:2;19318:1;19315;19311:9;19300:20;;19026:300;;;;:::o;19332:191::-;19372:4;19392:20;19410:1;19392:20;:::i;:::-;19387:25;;19426:20;19444:1;19426:20;:::i;:::-;19421:25;;19465:1;19462;19459:8;19456:2;;;19470:18;;:::i;:::-;19456:2;19515:1;19512;19508:9;19500:17;;19377:146;;;;:::o;19529:96::-;19566:7;19595:24;19613:5;19595:24;:::i;:::-;19584:35;;19574:51;;;:::o;19631:90::-;19665:7;19708:5;19701:13;19694:21;19683:32;;19673:48;;;:::o;19727:126::-;19764:7;19804:42;19797:5;19793:54;19782:65;;19772:81;;;:::o;19859:77::-;19896:7;19925:5;19914:16;;19904:32;;;:::o;19942:86::-;19977:7;20017:4;20010:5;20006:16;19995:27;;19985:43;;;:::o;20034:307::-;20102:1;20112:113;20126:6;20123:1;20120:13;20112:113;;;20211:1;20206:3;20202:11;20196:18;20192:1;20187:3;20183:11;20176:39;20148:2;20145:1;20141:10;20136:15;;20112:113;;;20243:6;20240:1;20237:13;20234:2;;;20323:1;20314:6;20309:3;20305:16;20298:27;20234:2;20083:258;;;;:::o;20347:320::-;20391:6;20428:1;20422:4;20418:12;20408:22;;20475:1;20469:4;20465:12;20496:18;20486:2;;20552:4;20544:6;20540:17;20530:27;;20486:2;20614;20606:6;20603:14;20583:18;20580:38;20577:2;;;20633:18;;:::i;:::-;20577:2;20398:269;;;;:::o;20673:180::-;20721:77;20718:1;20711:88;20818:4;20815:1;20808:15;20842:4;20839:1;20832:15;20859:180;20907:77;20904:1;20897:88;21004:4;21001:1;20994:15;21028:4;21025:1;21018:15;21045:180;21093:77;21090:1;21083:88;21190:4;21187:1;21180:15;21214:4;21211:1;21204:15;21231:102;21272:6;21323:2;21319:7;21314:2;21307:5;21303:14;21299:28;21289:38;;21279:54;;;:::o;21339:157::-;21479:9;21475:1;21467:6;21463:14;21456:33;21445:51;:::o;21502:222::-;21642:34;21638:1;21630:6;21626:14;21619:58;21711:5;21706:2;21698:6;21694:15;21687:30;21608:116;:::o;21730:221::-;21870:34;21866:1;21858:6;21854:14;21847:58;21939:4;21934:2;21926:6;21922:15;21915:29;21836:115;:::o;21957:225::-;22097:34;22093:1;22085:6;22081:14;22074:58;22166:8;22161:2;22153:6;22149:15;22142:33;22063:119;:::o;22188:221::-;22328:34;22324:1;22316:6;22312:14;22305:58;22397:4;22392:2;22384:6;22380:15;22373:29;22294:115;:::o;22415:179::-;22555:31;22551:1;22543:6;22539:14;22532:55;22521:73;:::o;22600:225::-;22740:34;22736:1;22728:6;22724:14;22717:58;22809:8;22804:2;22796:6;22792:15;22785:33;22706:119;:::o;22831:182::-;22971:34;22967:1;22959:6;22955:14;22948:58;22937:76;:::o;23019:220::-;23159:34;23155:1;23147:6;23143:14;23136:58;23228:3;23223:2;23215:6;23211:15;23204:28;23125:114;:::o;23245:160::-;23385:12;23381:1;23373:6;23369:14;23362:36;23351:54;:::o;23411:172::-;23551:24;23547:1;23539:6;23535:14;23528:48;23517:66;:::o;23589:224::-;23729:34;23725:1;23717:6;23713:14;23706:58;23798:7;23793:2;23785:6;23781:15;23774:32;23695:118;:::o;23819:223::-;23959:34;23955:1;23947:6;23943:14;23936:58;24028:6;24023:2;24015:6;24011:15;24004:31;23925:117;:::o;24048:161::-;24188:13;24184:1;24176:6;24172:14;24165:37;24154:55;:::o;24215:224::-;24355:34;24351:1;24343:6;24339:14;24332:58;24424:7;24419:2;24411:6;24407:15;24400:32;24321:118;:::o;24445:122::-;24518:24;24536:5;24518:24;:::i;:::-;24511:5;24508:35;24498:2;;24557:1;24554;24547:12;24498:2;24488:79;:::o;24573:116::-;24643:21;24658:5;24643:21;:::i;:::-;24636:5;24633:32;24623:2;;24679:1;24676;24669:12;24623:2;24613:76;:::o;24695:122::-;24768:24;24786:5;24768:24;:::i;:::-;24761:5;24758:35;24748:2;;24807:1;24804;24797:12;24748:2;24738:79;:::o
Swarm Source
ipfs://557a91d2abdba4ea5a11674735b832385700d50a48caa53ab78e2726589c8894
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.