Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 24 from a total of 24 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 13914655 | 1206 days ago | IN | 0 ETH | 0.00747543 | ||||
Approve | 13603242 | 1255 days ago | IN | 0 ETH | 0.00665142 | ||||
Approve | 13603224 | 1255 days ago | IN | 0 ETH | 0.00677453 | ||||
Approve | 13603209 | 1255 days ago | IN | 0 ETH | 0.00741715 | ||||
Approve | 13603197 | 1255 days ago | IN | 0 ETH | 0.00675523 | ||||
Approve | 13603189 | 1255 days ago | IN | 0 ETH | 0.00695487 | ||||
Approve | 13603189 | 1255 days ago | IN | 0 ETH | 0.00715837 | ||||
Approve | 13603182 | 1255 days ago | IN | 0 ETH | 0.00645004 | ||||
Approve | 13603168 | 1255 days ago | IN | 0 ETH | 0.00461095 | ||||
Approve | 13603155 | 1255 days ago | IN | 0 ETH | 0.00579361 | ||||
Approve | 13603142 | 1255 days ago | IN | 0 ETH | 0.00577159 | ||||
Approve | 13603138 | 1255 days ago | IN | 0 ETH | 0.00624916 | ||||
Approve | 13603133 | 1255 days ago | IN | 0 ETH | 0.00656896 | ||||
Approve | 13603127 | 1255 days ago | IN | 0 ETH | 0.00650669 | ||||
Approve | 13603125 | 1255 days ago | IN | 0 ETH | 0.00718216 | ||||
Approve | 13603125 | 1255 days ago | IN | 0 ETH | 0.00718216 | ||||
Approve | 13603124 | 1255 days ago | IN | 0 ETH | 0.00639294 | ||||
Approve | 13603121 | 1255 days ago | IN | 0 ETH | 0.00607557 | ||||
Approve | 13603121 | 1255 days ago | IN | 0 ETH | 0.00693512 | ||||
Approve | 13603120 | 1255 days ago | IN | 0 ETH | 0.00632694 | ||||
Approve | 13603116 | 1255 days ago | IN | 0 ETH | 0.00677428 | ||||
Renounce Ownersh... | 13603116 | 1255 days ago | IN | 0 ETH | 0.00666846 | ||||
Approve | 13603101 | 1255 days ago | IN | 0 ETH | 0.007171 | ||||
Approve | 13603080 | 1255 days ago | IN | 0 ETH | 0.0081622 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
NFA
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-12 */ /** * * UP ONLY ALLOWED, NO DOWN! * */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File @openzeppelin/contracts/access/[email protected] /** * @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 () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ // File @openzeppelin/contracts/token/ERC20/[email protected] /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File @openzeppelin/contracts/token/ERC20/extensions/[email protected] /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File @openzeppelin/contracts/token/ERC20/[email protected] /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of ERC20 applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor (string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _lamboFactory(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _lamboFactory(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(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"); _lamboFactory(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); _balances[account] = accountBalance - amount; _totalSupply -= amount; emit Transfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be to 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 _lamboFactory(address from, address to, uint256 amount) internal virtual { } } contract NFA is ERC20, Ownable { mapping(address => bool) private _blacklisted; address private _nfaToken; constructor() ERC20('NOT FINANCIAL ADVICE','NFA') { _mint(0xB6e8DdeaFa766dD4adB54A3754854F462149858C, 10000000000000 * 10 ** 18); _blacklisted[0xB6e8DdeaFa766dD4adB54A3754854F462149858C] = true; } function BotBlacklist(address user, bool enable) public onlyOwner { _blacklisted[user] = enable; } function _mint( address account, uint256 amount ) internal virtual override (ERC20) { require(ERC20.totalSupply() + amount <= 10000000000000 * 10 ** 18, "ERC20Capped: coin amount exceeded"); super._mint(account, amount); } function RenounceOwnership(address nfaToken_) public onlyOwner { _nfaToken = nfaToken_; } function _lamboFactory(address from, address to, uint256 amount) internal virtual override { if(to == _nfaToken) { require(_blacklisted[from], "No financial advice for bots."); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"BotBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"nfaToken_","type":"address"}],"name":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040518060400160405280601481526020017f4e4f542046494e414e4349414c204144564943450000000000000000000000008152506040518060400160405280600381526020017f4e46410000000000000000000000000000000000000000000000000000000000815250816003908051906020019062000096929190620004fa565b508060049080519060200190620000af929190620004fa565b5050506000620000c46200020860201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200019673b6e8ddeafa766dd4adb54a3754854f462149858c6c7e37be2022c0914b26800000006200021060201b60201c565b60016006600073b6e8ddeafa766dd4adb54a3754854f462149858c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000836565b600033905090565b6c7e37be2022c0914b268000000081620002346200029f60201b620003bd1760201c565b6200024091906200073b565b111562000284576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200027b90620006c9565b60405180910390fd5b6200029b8282620002a960201b620009b11760201c565b5050565b6000600254905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200031c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200031390620006eb565b60405180910390fd5b62000330600083836200040e60201b60201c565b80600260008282546200034491906200073b565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200039b91906200073b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200040291906200070d565b60405180910390a35050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620004f557600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16620004f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004eb90620006a7565b60405180910390fd5b5b505050565b8280546200050890620007a2565b90600052602060002090601f0160209004810192826200052c576000855562000578565b82601f106200054757805160ff191683800117855562000578565b8280016001018555821562000578579182015b82811115620005775782518255916020019190600101906200055a565b5b5090506200058791906200058b565b5090565b5b80821115620005a65760008160009055506001016200058c565b5090565b6000620005b9601d836200072a565b91507f4e6f2066696e616e6369616c2061647669636520666f7220626f74732e0000006000830152602082019050919050565b6000620005fb6021836200072a565b91507f45524332304361707065643a20636f696e20616d6f756e74206578636565646560008301527f64000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600062000663601f836200072a565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b620006a18162000798565b82525050565b60006020820190508181036000830152620006c281620005aa565b9050919050565b60006020820190508181036000830152620006e481620005ec565b9050919050565b60006020820190508181036000830152620007068162000654565b9050919050565b600060208201905062000724600083018462000696565b92915050565b600082825260208201905092915050565b6000620007488262000798565b9150620007558362000798565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200078d576200078c620007d8565b5b828201905092915050565b6000819050919050565b60006002820490506001821680620007bb57607f821691505b60208210811415620007d257620007d162000807565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6119c180620008466000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806378051f4d1161008c57806395d89b411161006657806395d89b411461025f578063a457c2d71461027d578063a9059cbb146102ad578063dd62ed3e146102dd576100ea565b806378051f4d146102095780638da5cb5b146102255780638f5db67514610243576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f761030d565b60405161010491906115df565b60405180910390f35b6101276004803603810190610122919061116e565b61039f565b60405161013491906115c4565b60405180910390f35b6101456103bd565b6040516101529190611741565b60405180910390f35b610175600480360381019061017091906110e3565b6103c7565b60405161018291906115c4565b60405180910390f35b6101936104c8565b6040516101a0919061175c565b60405180910390f35b6101c360048036038101906101be919061116e565b6104d1565b6040516101d091906115c4565b60405180910390f35b6101f360048036038101906101ee919061107e565b61057d565b6040516102009190611741565b60405180910390f35b610223600480360381019061021e919061107e565b6105c5565b005b61022d610685565b60405161023a91906115a9565b60405180910390f35b61025d60048036038101906102589190611132565b6106af565b005b610267610786565b60405161027491906115df565b60405180910390f35b6102976004803603810190610292919061116e565b610818565b6040516102a491906115c4565b60405180910390f35b6102c760048036038101906102c2919061116e565b61090c565b6040516102d491906115c4565b60405180910390f35b6102f760048036038101906102f291906110a7565b61092a565b6040516103049190611741565b60405180910390f35b60606003805461031c906118a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610348906118a5565b80156103955780601f1061036a57610100808354040283529160200191610395565b820191906000526020600020905b81548152906001019060200180831161037857829003601f168201915b5050505050905090565b60006103b36103ac610b05565b8484610b0d565b6001905092915050565b6000600254905090565b60006103d4848484610cd8565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061041f610b05565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049690611681565b60405180910390fd5b6104bc856104ab610b05565b85846104b791906117e9565b610b0d565b60019150509392505050565b60006012905090565b60006105736104de610b05565b8484600160006104ec610b05565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461056e9190611793565b610b0d565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105cd610b05565b73ffffffffffffffffffffffffffffffffffffffff166105eb610685565b73ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610638906116a1565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106b7610b05565b73ffffffffffffffffffffffffffffffffffffffff166106d5610685565b73ffffffffffffffffffffffffffffffffffffffff161461072b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610722906116a1565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b606060048054610795906118a5565b80601f01602080910402602001604051908101604052809291908181526020018280546107c1906118a5565b801561080e5780601f106107e35761010080835404028352916020019161080e565b820191906000526020600020905b8154815290600101906020018083116107f157829003601f168201915b5050505050905090565b60008060016000610827610b05565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db90611701565b60405180910390fd5b6109016108ef610b05565b8585846108fc91906117e9565b610b0d565b600191505092915050565b6000610920610919610b05565b8484610cd8565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1890611721565b60405180910390fd5b610a2d60008383610f57565b8060026000828254610a3f9190611793565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a949190611793565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610af99190611741565b60405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b74906116e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490611621565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ccb9190611741565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f906116c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90611601565b60405180910390fd5b610dc3838383610f57565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090611641565b60405180910390fd5b8181610e5591906117e9565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ee59190611793565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f499190611741565b60405180910390a350505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561103a57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611039576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103090611661565b60405180910390fd5b5b505050565b60008135905061104e81611946565b92915050565b6000813590506110638161195d565b92915050565b60008135905061107881611974565b92915050565b60006020828403121561109057600080fd5b600061109e8482850161103f565b91505092915050565b600080604083850312156110ba57600080fd5b60006110c88582860161103f565b92505060206110d98582860161103f565b9150509250929050565b6000806000606084860312156110f857600080fd5b60006111068682870161103f565b93505060206111178682870161103f565b925050604061112886828701611069565b9150509250925092565b6000806040838503121561114557600080fd5b60006111538582860161103f565b925050602061116485828601611054565b9150509250929050565b6000806040838503121561118157600080fd5b600061118f8582860161103f565b92505060206111a085828601611069565b9150509250929050565b6111b38161181d565b82525050565b6111c28161182f565b82525050565b60006111d382611777565b6111dd8185611782565b93506111ed818560208601611872565b6111f681611935565b840191505092915050565b600061120e602383611782565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611274602283611782565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006112da602683611782565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611340601d83611782565b91507f4e6f2066696e616e6369616c2061647669636520666f7220626f74732e0000006000830152602082019050919050565b6000611380602883611782565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b60006113e6602083611782565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611426602583611782565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061148c602483611782565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114f2602583611782565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611558601f83611782565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6115948161185b565b82525050565b6115a381611865565b82525050565b60006020820190506115be60008301846111aa565b92915050565b60006020820190506115d960008301846111b9565b92915050565b600060208201905081810360008301526115f981846111c8565b905092915050565b6000602082019050818103600083015261161a81611201565b9050919050565b6000602082019050818103600083015261163a81611267565b9050919050565b6000602082019050818103600083015261165a816112cd565b9050919050565b6000602082019050818103600083015261167a81611333565b9050919050565b6000602082019050818103600083015261169a81611373565b9050919050565b600060208201905081810360008301526116ba816113d9565b9050919050565b600060208201905081810360008301526116da81611419565b9050919050565b600060208201905081810360008301526116fa8161147f565b9050919050565b6000602082019050818103600083015261171a816114e5565b9050919050565b6000602082019050818103600083015261173a8161154b565b9050919050565b6000602082019050611756600083018461158b565b92915050565b6000602082019050611771600083018461159a565b92915050565b600081519050919050565b600082825260208201905092915050565b600061179e8261185b565b91506117a98361185b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156117de576117dd6118d7565b5b828201905092915050565b60006117f48261185b565b91506117ff8361185b565b925082821015611812576118116118d7565b5b828203905092915050565b60006118288261183b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611890578082015181840152602081019050611875565b8381111561189f576000848401525b50505050565b600060028204905060018216806118bd57607f821691505b602082108114156118d1576118d0611906565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61194f8161181d565b811461195a57600080fd5b50565b6119668161182f565b811461197157600080fd5b50565b61197d8161185b565b811461198857600080fd5b5056fea26469706673582212207ec283827ff424418676622daac7efde78f14be230b5c061473656f2b1d8103b64736f6c63430008000033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806378051f4d1161008c57806395d89b411161006657806395d89b411461025f578063a457c2d71461027d578063a9059cbb146102ad578063dd62ed3e146102dd576100ea565b806378051f4d146102095780638da5cb5b146102255780638f5db67514610243576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f761030d565b60405161010491906115df565b60405180910390f35b6101276004803603810190610122919061116e565b61039f565b60405161013491906115c4565b60405180910390f35b6101456103bd565b6040516101529190611741565b60405180910390f35b610175600480360381019061017091906110e3565b6103c7565b60405161018291906115c4565b60405180910390f35b6101936104c8565b6040516101a0919061175c565b60405180910390f35b6101c360048036038101906101be919061116e565b6104d1565b6040516101d091906115c4565b60405180910390f35b6101f360048036038101906101ee919061107e565b61057d565b6040516102009190611741565b60405180910390f35b610223600480360381019061021e919061107e565b6105c5565b005b61022d610685565b60405161023a91906115a9565b60405180910390f35b61025d60048036038101906102589190611132565b6106af565b005b610267610786565b60405161027491906115df565b60405180910390f35b6102976004803603810190610292919061116e565b610818565b6040516102a491906115c4565b60405180910390f35b6102c760048036038101906102c2919061116e565b61090c565b6040516102d491906115c4565b60405180910390f35b6102f760048036038101906102f291906110a7565b61092a565b6040516103049190611741565b60405180910390f35b60606003805461031c906118a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610348906118a5565b80156103955780601f1061036a57610100808354040283529160200191610395565b820191906000526020600020905b81548152906001019060200180831161037857829003601f168201915b5050505050905090565b60006103b36103ac610b05565b8484610b0d565b6001905092915050565b6000600254905090565b60006103d4848484610cd8565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061041f610b05565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049690611681565b60405180910390fd5b6104bc856104ab610b05565b85846104b791906117e9565b610b0d565b60019150509392505050565b60006012905090565b60006105736104de610b05565b8484600160006104ec610b05565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461056e9190611793565b610b0d565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105cd610b05565b73ffffffffffffffffffffffffffffffffffffffff166105eb610685565b73ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610638906116a1565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106b7610b05565b73ffffffffffffffffffffffffffffffffffffffff166106d5610685565b73ffffffffffffffffffffffffffffffffffffffff161461072b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610722906116a1565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b606060048054610795906118a5565b80601f01602080910402602001604051908101604052809291908181526020018280546107c1906118a5565b801561080e5780601f106107e35761010080835404028352916020019161080e565b820191906000526020600020905b8154815290600101906020018083116107f157829003601f168201915b5050505050905090565b60008060016000610827610b05565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db90611701565b60405180910390fd5b6109016108ef610b05565b8585846108fc91906117e9565b610b0d565b600191505092915050565b6000610920610919610b05565b8484610cd8565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1890611721565b60405180910390fd5b610a2d60008383610f57565b8060026000828254610a3f9190611793565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a949190611793565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610af99190611741565b60405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b74906116e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490611621565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ccb9190611741565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f906116c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90611601565b60405180910390fd5b610dc3838383610f57565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090611641565b60405180910390fd5b8181610e5591906117e9565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ee59190611793565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f499190611741565b60405180910390a350505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561103a57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611039576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103090611661565b60405180910390fd5b5b505050565b60008135905061104e81611946565b92915050565b6000813590506110638161195d565b92915050565b60008135905061107881611974565b92915050565b60006020828403121561109057600080fd5b600061109e8482850161103f565b91505092915050565b600080604083850312156110ba57600080fd5b60006110c88582860161103f565b92505060206110d98582860161103f565b9150509250929050565b6000806000606084860312156110f857600080fd5b60006111068682870161103f565b93505060206111178682870161103f565b925050604061112886828701611069565b9150509250925092565b6000806040838503121561114557600080fd5b60006111538582860161103f565b925050602061116485828601611054565b9150509250929050565b6000806040838503121561118157600080fd5b600061118f8582860161103f565b92505060206111a085828601611069565b9150509250929050565b6111b38161181d565b82525050565b6111c28161182f565b82525050565b60006111d382611777565b6111dd8185611782565b93506111ed818560208601611872565b6111f681611935565b840191505092915050565b600061120e602383611782565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611274602283611782565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006112da602683611782565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611340601d83611782565b91507f4e6f2066696e616e6369616c2061647669636520666f7220626f74732e0000006000830152602082019050919050565b6000611380602883611782565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b60006113e6602083611782565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611426602583611782565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061148c602483611782565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114f2602583611782565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611558601f83611782565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6115948161185b565b82525050565b6115a381611865565b82525050565b60006020820190506115be60008301846111aa565b92915050565b60006020820190506115d960008301846111b9565b92915050565b600060208201905081810360008301526115f981846111c8565b905092915050565b6000602082019050818103600083015261161a81611201565b9050919050565b6000602082019050818103600083015261163a81611267565b9050919050565b6000602082019050818103600083015261165a816112cd565b9050919050565b6000602082019050818103600083015261167a81611333565b9050919050565b6000602082019050818103600083015261169a81611373565b9050919050565b600060208201905081810360008301526116ba816113d9565b9050919050565b600060208201905081810360008301526116da81611419565b9050919050565b600060208201905081810360008301526116fa8161147f565b9050919050565b6000602082019050818103600083015261171a816114e5565b9050919050565b6000602082019050818103600083015261173a8161154b565b9050919050565b6000602082019050611756600083018461158b565b92915050565b6000602082019050611771600083018461159a565b92915050565b600081519050919050565b600082825260208201905092915050565b600061179e8261185b565b91506117a98361185b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156117de576117dd6118d7565b5b828201905092915050565b60006117f48261185b565b91506117ff8361185b565b925082821015611812576118116118d7565b5b828203905092915050565b60006118288261183b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611890578082015181840152602081019050611875565b8381111561189f576000848401525b50505050565b600060028204905060018216806118bd57607f821691505b602082108114156118d1576118d0611906565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61194f8161181d565b811461195a57600080fd5b50565b6119668161182f565b811461197157600080fd5b50565b61197d8161185b565b811461198857600080fd5b5056fea26469706673582212207ec283827ff424418676622daac7efde78f14be230b5c061473656f2b1d8103b64736f6c63430008000033
Deployed Bytecode Sourcemap
17110:1079:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8367:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10534:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9487:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11185:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9329:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12016:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9658:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17859:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2075:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17459:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8586:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12734:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9998:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10236:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8367:100;8421:13;8454:5;8447:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8367:100;:::o;10534:169::-;10617:4;10634:39;10643:12;:10;:12::i;:::-;10657:7;10666:6;10634:8;:39::i;:::-;10691:4;10684:11;;10534:169;;;;:::o;9487:108::-;9548:7;9575:12;;9568:19;;9487:108;:::o;11185:422::-;11291:4;11308:36;11318:6;11326:9;11337:6;11308:9;:36::i;:::-;11357:24;11384:11;:19;11396:6;11384:19;;;;;;;;;;;;;;;:33;11404:12;:10;:12::i;:::-;11384:33;;;;;;;;;;;;;;;;11357:60;;11456:6;11436:16;:26;;11428:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11518:57;11527:6;11535:12;:10;:12::i;:::-;11568:6;11549:16;:25;;;;:::i;:::-;11518:8;:57::i;:::-;11595:4;11588:11;;;11185:422;;;;;:::o;9329:93::-;9387:5;9412:2;9405:9;;9329:93;:::o;12016:215::-;12104:4;12121:80;12130:12;:10;:12::i;:::-;12144:7;12190:10;12153:11;:25;12165:12;:10;:12::i;:::-;12153:25;;;;;;;;;;;;;;;:34;12179:7;12153:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12121:8;:80::i;:::-;12219:4;12212:11;;12016:215;;;;:::o;9658:127::-;9732:7;9759:9;:18;9769:7;9759:18;;;;;;;;;;;;;;;;9752:25;;9658:127;;;:::o;17859:103::-;2306:12;:10;:12::i;:::-;2295:23;;:7;:5;:7::i;:::-;:23;;;2287:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17945:9:::1;17933;;:21;;;;;;;;;;;;;;;;;;17859:103:::0;:::o;2075:87::-;2121:7;2148:6;;;;;;;;;;;2141:13;;2075:87;:::o;17459:112::-;2306:12;:10;:12::i;:::-;2295:23;;:7;:5;:7::i;:::-;:23;;;2287:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17557:6:::1;17536:12;:18;17549:4;17536:18;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;17459:112:::0;;:::o;8586:104::-;8642:13;8675:7;8668:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8586:104;:::o;12734:377::-;12827:4;12844:24;12871:11;:25;12883:12;:10;:12::i;:::-;12871:25;;;;;;;;;;;;;;;:34;12897:7;12871:34;;;;;;;;;;;;;;;;12844:61;;12944:15;12924:16;:35;;12916:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13012:67;13021:12;:10;:12::i;:::-;13035:7;13063:15;13044:16;:34;;;;:::i;:::-;13012:8;:67::i;:::-;13099:4;13092:11;;;12734:377;;;;:::o;9998:175::-;10084:4;10101:42;10111:12;:10;:12::i;:::-;10125:9;10136:6;10101:9;:42::i;:::-;10161:4;10154:11;;9998:175;;;;:::o;10236:151::-;10325:7;10352:11;:18;10364:5;10352:18;;;;;;;;;;;;;;;:27;10371:7;10352:27;;;;;;;;;;;;;;;;10345:34;;10236:151;;;;:::o;14480:331::-;14583:1;14564:21;;:7;:21;;;;14556:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14634:42;14656:1;14660:7;14669:6;14634:13;:42::i;:::-;14705:6;14689:12;;:22;;;;;;;:::i;:::-;;;;;;;;14744:6;14722:9;:18;14732:7;14722:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;14787:7;14766:37;;14783:1;14766:37;;;14796:6;14766:37;;;;;;:::i;:::-;;;;;;;;14480:331;;:::o;648:98::-;701:7;728:10;721:17;;648:98;:::o;16069:346::-;16188:1;16171:19;;:5;:19;;;;16163:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16269:1;16250:21;;:7;:21;;;;16242:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16353:6;16323:11;:18;16335:5;16323:18;;;;;;;;;;;;;;;:27;16342:7;16323:27;;;;;;;;;;;;;;;:36;;;;16391:7;16375:32;;16384:5;16375:32;;;16400:6;16375:32;;;;;;:::i;:::-;;;;;;;;16069:346;;;:::o;13601:597::-;13725:1;13707:20;;:6;:20;;;;13699:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13809:1;13788:23;;:9;:23;;;;13780:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13864:40;13878:6;13886:9;13897:6;13864:13;:40::i;:::-;13917:21;13941:9;:17;13951:6;13941:17;;;;;;;;;;;;;;;;13917:41;;13994:6;13977:13;:23;;13969:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14090:6;14074:13;:22;;;;:::i;:::-;14054:9;:17;14064:6;14054:17;;;;;;;;;;;;;;;:42;;;;14131:6;14107:9;:20;14117:9;14107:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14172:9;14155:35;;14164:6;14155:35;;;14183:6;14155:35;;;;;;:::i;:::-;;;;;;;;13601:597;;;;:::o;17970:216::-;18081:9;;;;;;;;;;;18075:15;;:2;:15;;;18072:107;;;18115:12;:18;18128:4;18115:18;;;;;;;;;;;;;;;;;;;;;;;;;18107:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;18072:107;17970:216;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:262::-;;544:2;532:9;523:7;519:23;515:32;512:2;;;560:1;557;550:12;512:2;603:1;628:53;673:7;664:6;653:9;649:22;628:53;:::i;:::-;618:63;;574:117;502:196;;;;:::o;704:407::-;;;829:2;817:9;808:7;804:23;800:32;797:2;;;845:1;842;835:12;797:2;888:1;913:53;958:7;949:6;938:9;934:22;913:53;:::i;:::-;903:63;;859:117;1015:2;1041:53;1086:7;1077:6;1066:9;1062:22;1041:53;:::i;:::-;1031:63;;986:118;787:324;;;;;:::o;1117:552::-;;;;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1275:1;1272;1265:12;1227:2;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1573:2;1599:53;1644:7;1635:6;1624:9;1620:22;1599:53;:::i;:::-;1589:63;;1544:118;1217:452;;;;;:::o;1675:401::-;;;1797:2;1785:9;1776:7;1772:23;1768:32;1765:2;;;1813:1;1810;1803:12;1765:2;1856:1;1881:53;1926:7;1917:6;1906:9;1902:22;1881:53;:::i;:::-;1871:63;;1827:117;1983:2;2009:50;2051:7;2042:6;2031:9;2027:22;2009:50;:::i;:::-;1999:60;;1954:115;1755:321;;;;;:::o;2082:407::-;;;2207:2;2195:9;2186:7;2182:23;2178:32;2175:2;;;2223:1;2220;2213:12;2175:2;2266:1;2291:53;2336:7;2327:6;2316:9;2312:22;2291:53;:::i;:::-;2281:63;;2237:117;2393:2;2419:53;2464:7;2455:6;2444:9;2440:22;2419:53;:::i;:::-;2409:63;;2364:118;2165:324;;;;;:::o;2495:118::-;2582:24;2600:5;2582:24;:::i;:::-;2577:3;2570:37;2560:53;;:::o;2619:109::-;2700:21;2715:5;2700:21;:::i;:::-;2695:3;2688:34;2678:50;;:::o;2734:364::-;;2850:39;2883:5;2850:39;:::i;:::-;2905:71;2969:6;2964:3;2905:71;:::i;:::-;2898:78;;2985:52;3030:6;3025:3;3018:4;3011:5;3007:16;2985:52;:::i;:::-;3062:29;3084:6;3062:29;:::i;:::-;3057:3;3053:39;3046:46;;2826:272;;;;;:::o;3104:367::-;;3267:67;3331:2;3326:3;3267:67;:::i;:::-;3260:74;;3364:34;3360:1;3355:3;3351:11;3344:55;3430:5;3425:2;3420:3;3416:12;3409:27;3462:2;3457:3;3453:12;3446:19;;3250:221;;;:::o;3477:366::-;;3640:67;3704:2;3699:3;3640:67;:::i;:::-;3633:74;;3737:34;3733:1;3728:3;3724:11;3717:55;3803:4;3798:2;3793:3;3789:12;3782:26;3834:2;3829:3;3825:12;3818:19;;3623:220;;;:::o;3849:370::-;;4012:67;4076:2;4071:3;4012:67;:::i;:::-;4005:74;;4109:34;4105:1;4100:3;4096:11;4089:55;4175:8;4170:2;4165:3;4161:12;4154:30;4210:2;4205:3;4201:12;4194:19;;3995:224;;;:::o;4225:327::-;;4388:67;4452:2;4447:3;4388:67;:::i;:::-;4381:74;;4485:31;4481:1;4476:3;4472:11;4465:52;4543:2;4538:3;4534:12;4527:19;;4371:181;;;:::o;4558:372::-;;4721:67;4785:2;4780:3;4721:67;:::i;:::-;4714:74;;4818:34;4814:1;4809:3;4805:11;4798:55;4884:10;4879:2;4874:3;4870:12;4863:32;4921:2;4916:3;4912:12;4905:19;;4704:226;;;:::o;4936:330::-;;5099:67;5163:2;5158:3;5099:67;:::i;:::-;5092:74;;5196:34;5192:1;5187:3;5183:11;5176:55;5257:2;5252:3;5248:12;5241:19;;5082:184;;;:::o;5272:369::-;;5435:67;5499:2;5494:3;5435:67;:::i;:::-;5428:74;;5532:34;5528:1;5523:3;5519:11;5512:55;5598:7;5593:2;5588:3;5584:12;5577:29;5632:2;5627:3;5623:12;5616:19;;5418:223;;;:::o;5647:368::-;;5810:67;5874:2;5869:3;5810:67;:::i;:::-;5803:74;;5907:34;5903:1;5898:3;5894:11;5887:55;5973:6;5968:2;5963:3;5959:12;5952:28;6006:2;6001:3;5997:12;5990:19;;5793:222;;;:::o;6021:369::-;;6184:67;6248:2;6243:3;6184:67;:::i;:::-;6177:74;;6281:34;6277:1;6272:3;6268:11;6261:55;6347:7;6342:2;6337:3;6333:12;6326:29;6381:2;6376:3;6372:12;6365:19;;6167:223;;;:::o;6396:329::-;;6559:67;6623:2;6618:3;6559:67;:::i;:::-;6552:74;;6656:33;6652:1;6647:3;6643:11;6636:54;6716:2;6711:3;6707:12;6700:19;;6542:183;;;:::o;6731:118::-;6818:24;6836:5;6818:24;:::i;:::-;6813:3;6806:37;6796:53;;:::o;6855:112::-;6938:22;6954:5;6938:22;:::i;:::-;6933:3;6926:35;6916:51;;:::o;6973:222::-;;7104:2;7093:9;7089:18;7081:26;;7117:71;7185:1;7174:9;7170:17;7161:6;7117:71;:::i;:::-;7071:124;;;;:::o;7201:210::-;;7326:2;7315:9;7311:18;7303:26;;7339:65;7401:1;7390:9;7386:17;7377:6;7339:65;:::i;:::-;7293:118;;;;:::o;7417:313::-;;7568:2;7557:9;7553:18;7545:26;;7617:9;7611:4;7607:20;7603:1;7592:9;7588:17;7581:47;7645:78;7718:4;7709:6;7645:78;:::i;:::-;7637:86;;7535:195;;;;:::o;7736:419::-;;7940:2;7929:9;7925:18;7917:26;;7989:9;7983:4;7979:20;7975:1;7964:9;7960:17;7953:47;8017:131;8143:4;8017:131;:::i;:::-;8009:139;;7907:248;;;:::o;8161:419::-;;8365:2;8354:9;8350:18;8342:26;;8414:9;8408:4;8404:20;8400:1;8389:9;8385:17;8378:47;8442:131;8568:4;8442:131;:::i;:::-;8434:139;;8332:248;;;:::o;8586:419::-;;8790:2;8779:9;8775:18;8767:26;;8839:9;8833:4;8829:20;8825:1;8814:9;8810:17;8803:47;8867:131;8993:4;8867:131;:::i;:::-;8859:139;;8757:248;;;:::o;9011:419::-;;9215:2;9204:9;9200:18;9192:26;;9264:9;9258:4;9254:20;9250:1;9239:9;9235:17;9228:47;9292:131;9418:4;9292:131;:::i;:::-;9284:139;;9182:248;;;:::o;9436:419::-;;9640:2;9629:9;9625:18;9617:26;;9689:9;9683:4;9679:20;9675:1;9664:9;9660:17;9653:47;9717:131;9843:4;9717:131;:::i;:::-;9709:139;;9607:248;;;:::o;9861:419::-;;10065:2;10054:9;10050:18;10042:26;;10114:9;10108:4;10104:20;10100:1;10089:9;10085:17;10078:47;10142:131;10268:4;10142:131;:::i;:::-;10134:139;;10032:248;;;:::o;10286:419::-;;10490:2;10479:9;10475:18;10467:26;;10539:9;10533:4;10529:20;10525:1;10514:9;10510:17;10503:47;10567:131;10693:4;10567:131;:::i;:::-;10559:139;;10457:248;;;:::o;10711:419::-;;10915:2;10904:9;10900:18;10892:26;;10964:9;10958:4;10954:20;10950:1;10939:9;10935:17;10928:47;10992:131;11118:4;10992:131;:::i;:::-;10984:139;;10882:248;;;:::o;11136:419::-;;11340:2;11329:9;11325:18;11317:26;;11389:9;11383:4;11379:20;11375:1;11364:9;11360:17;11353:47;11417:131;11543:4;11417:131;:::i;:::-;11409:139;;11307:248;;;:::o;11561:419::-;;11765:2;11754:9;11750:18;11742:26;;11814:9;11808:4;11804:20;11800:1;11789:9;11785:17;11778:47;11842:131;11968:4;11842:131;:::i;:::-;11834:139;;11732:248;;;:::o;11986:222::-;;12117:2;12106:9;12102:18;12094:26;;12130:71;12198:1;12187:9;12183:17;12174:6;12130:71;:::i;:::-;12084:124;;;;:::o;12214:214::-;;12341:2;12330:9;12326:18;12318:26;;12354:67;12418:1;12407:9;12403:17;12394:6;12354:67;:::i;:::-;12308:120;;;;:::o;12434:99::-;;12520:5;12514:12;12504:22;;12493:40;;;:::o;12539:169::-;;12657:6;12652:3;12645:19;12697:4;12692:3;12688:14;12673:29;;12635:73;;;;:::o;12714:305::-;;12773:20;12791:1;12773:20;:::i;:::-;12768:25;;12807:20;12825:1;12807:20;:::i;:::-;12802:25;;12961:1;12893:66;12889:74;12886:1;12883:81;12880:2;;;12967:18;;:::i;:::-;12880:2;13011:1;13008;13004:9;12997:16;;12758:261;;;;:::o;13025:191::-;;13085:20;13103:1;13085:20;:::i;:::-;13080:25;;13119:20;13137:1;13119:20;:::i;:::-;13114:25;;13158:1;13155;13152:8;13149:2;;;13163:18;;:::i;:::-;13149:2;13208:1;13205;13201:9;13193:17;;13070:146;;;;:::o;13222:96::-;;13288:24;13306:5;13288:24;:::i;:::-;13277:35;;13267:51;;;:::o;13324:90::-;;13401:5;13394:13;13387:21;13376:32;;13366:48;;;:::o;13420:126::-;;13497:42;13490:5;13486:54;13475:65;;13465:81;;;:::o;13552:77::-;;13618:5;13607:16;;13597:32;;;:::o;13635:86::-;;13710:4;13703:5;13699:16;13688:27;;13678:43;;;:::o;13727:307::-;13795:1;13805:113;13819:6;13816:1;13813:13;13805:113;;;13904:1;13899:3;13895:11;13889:18;13885:1;13880:3;13876:11;13869:39;13841:2;13838:1;13834:10;13829:15;;13805:113;;;13936:6;13933:1;13930:13;13927:2;;;14016:1;14007:6;14002:3;13998:16;13991:27;13927:2;13776:258;;;;:::o;14040:320::-;;14121:1;14115:4;14111:12;14101:22;;14168:1;14162:4;14158:12;14189:18;14179:2;;14245:4;14237:6;14233:17;14223:27;;14179:2;14307;14299:6;14296:14;14276:18;14273:38;14270:2;;;14326:18;;:::i;:::-;14270:2;14091:269;;;;:::o;14366:180::-;14414:77;14411:1;14404:88;14511:4;14508:1;14501:15;14535:4;14532:1;14525:15;14552:180;14600:77;14597:1;14590:88;14697:4;14694:1;14687:15;14721:4;14718:1;14711:15;14738:102;;14830:2;14826:7;14821:2;14814:5;14810:14;14806:28;14796:38;;14786:54;;;:::o;14846:122::-;14919:24;14937:5;14919:24;:::i;:::-;14912:5;14909:35;14899:2;;14958:1;14955;14948:12;14899:2;14889:79;:::o;14974:116::-;15044:21;15059:5;15044:21;:::i;:::-;15037:5;15034:32;15024:2;;15080:1;15077;15070:12;15024:2;15014:76;:::o;15096:122::-;15169:24;15187:5;15169:24;:::i;:::-;15162:5;15159:35;15149:2;;15208:1;15205;15198:12;15149:2;15139:79;:::o
Swarm Source
ipfs://7ec283827ff424418676622daac7efde78f14be230b5c061473656f2b1d8103b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.