More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 200 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 19816524 | 69 days ago | IN | 0 ETH | 0.0001906 | ||||
Approve | 19776828 | 75 days ago | IN | 0 ETH | 0.00025476 | ||||
Approve | 19430118 | 123 days ago | IN | 0 ETH | 0.00246781 | ||||
Approve | 19173278 | 159 days ago | IN | 0 ETH | 0.00078796 | ||||
Approve | 18801770 | 211 days ago | IN | 0 ETH | 0.00108421 | ||||
Approve | 18279339 | 285 days ago | IN | 0 ETH | 0.00036194 | ||||
Approve | 18278049 | 285 days ago | IN | 0 ETH | 0.0015065 | ||||
Transfer | 18277335 | 285 days ago | IN | 0 ETH | 0.00043298 | ||||
Transfer | 18274736 | 285 days ago | IN | 0 ETH | 0.00023869 | ||||
Transfer | 18271542 | 286 days ago | IN | 0 ETH | 0.00078966 | ||||
Transfer | 18271114 | 286 days ago | IN | 0 ETH | 0.00092524 | ||||
Transfer | 18270290 | 286 days ago | IN | 0 ETH | 0.00047146 | ||||
Transfer | 18269989 | 286 days ago | IN | 0 ETH | 0.00040632 | ||||
Transfer | 18269703 | 286 days ago | IN | 0 ETH | 0.0003241 | ||||
Transfer | 18264504 | 287 days ago | IN | 0 ETH | 0.00301316 | ||||
Transfer | 18262514 | 287 days ago | IN | 0 ETH | 0.00071399 | ||||
Transfer | 18260778 | 287 days ago | IN | 0 ETH | 0.00024224 | ||||
Transfer | 18259925 | 287 days ago | IN | 0 ETH | 0.00029352 | ||||
Transfer | 18259923 | 287 days ago | IN | 0 ETH | 0.00027813 | ||||
Transfer | 18250942 | 288 days ago | IN | 0 ETH | 0.00027992 | ||||
Transfer | 18250359 | 289 days ago | IN | 0 ETH | 0.00040757 | ||||
Transfer | 18250123 | 289 days ago | IN | 0 ETH | 0.00037622 | ||||
Transfer | 18249908 | 289 days ago | IN | 0 ETH | 0.00049206 | ||||
Transfer | 18249905 | 289 days ago | IN | 0 ETH | 0.00051781 | ||||
Transfer | 18249630 | 289 days ago | IN | 0 ETH | 0.00064432 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
PEPEJUMP
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-14 */ // SPDX-License-Identifier: MIT // 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.9.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. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling 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.9.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.9.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]. * * The default value of {decimals} is 18. To change this, you should override * this function so it returns a different value. * * 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}. * * 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 default value returned by this function, unless * it's 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 {} } // File: @openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol) pragma solidity ^0.8.0; /** * @dev Extension of {ERC20} that allows token holders to destroy both their own * tokens and those that they have an allowance for, in a way that can be * recognized off-chain (via event analysis). */ abstract contract ERC20Burnable is Context, ERC20 { /** * @dev Destroys `amount` tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 amount) public virtual { _burn(_msgSender(), amount); } /** * @dev Destroys `amount` tokens from `account`, deducting from the caller's * allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `amount`. */ function burnFrom(address account, uint256 amount) public virtual { _spendAllowance(account, _msgSender(), amount); _burn(account, amount); } } // File: contracts/PEPEJUMP.sol pragma solidity ^0.8.0; contract PEPEJUMP is ERC20Burnable, Ownable { uint256 private _buyTaxPercentage = 2; uint256 private _sellTaxPercentage = 5; address private _marketingWallet; mapping(address => bool) private _isBlacklisted; mapping(address => bool) private _isExemptFromTax; mapping(address => bool) private _isIncludedInTax; mapping(address => bool) private _isDexRouter; // Addresses of whitelisted DEX routers // Events to log important actions event TaxApplied(address indexed sender, uint256 buyTax, uint256 sellTax); event AddressWhitelisted(address indexed router); event AddressUnwhitelisted(address indexed router); constructor() ERC20("PEPE JUMP", "PEPE JUMP") { uint256 totalSupply = 1000000000000000; // 1 quadrillion tokens with 18 decimals _mint(msg.sender, totalSupply * 10 ** uint256(decimals())); _marketingWallet = msg.sender; _isIncludedInTax[msg.sender] = true; } function setMarketingWallet(address newMarketingWallet) external onlyOwner { _marketingWallet = newMarketingWallet; } function setBuyTaxPercentage(uint256 newBuyTaxPercentage) external onlyOwner { _buyTaxPercentage = newBuyTaxPercentage; } function setSellTaxPercentage(uint256 newSellTaxPercentage) external onlyOwner { _sellTaxPercentage = newSellTaxPercentage; } function blacklistAddress(address user) external onlyOwner { _isBlacklisted[user] = true; } function unblacklistAddress(address user) external onlyOwner { _isBlacklisted[user] = false; } function exemptFromTax(address user) external onlyOwner { _isExemptFromTax[user] = true; } function includeInTax(address user) external onlyOwner { _isIncludedInTax[user] = true; } function whitelistDexRouter(address router) external onlyOwner { _isDexRouter[router] = true; emit AddressWhitelisted(router); } function unwhitelistDexRouter(address router) external onlyOwner { _isDexRouter[router] = false; emit AddressUnwhitelisted(router); } // Public view function to get the current buy tax percentage function getBuyTaxPercentage() external view returns (uint256) { return _buyTaxPercentage; } // Public view function to get the current sell tax percentage function getSellTaxPercentage() external view returns (uint256) { return _sellTaxPercentage; } // Public view function to get the marketing wallet address function getMarketingWallet() external view returns (address) { return _marketingWallet; } // Public view function to check if a user is blacklisted function isBlacklisted(address user) external view returns (bool) { return _isBlacklisted[user]; } // Public view function to check if a user is exempt from tax function isExemptFromTax(address user) external view returns (bool) { return _isExemptFromTax[user]; } // Public view function to check if a user is included in tax function isIncludedInTax(address user) external view returns (bool) { return _isIncludedInTax[user]; } // Public view function to check if a DEX router is whitelisted function isDexRouterWhitelisted(address router) external view returns (bool) { return _isDexRouter[router]; } function _transfer( address sender, address recipient, uint256 amount ) internal override { require(!_isBlacklisted[sender], "Sender is blacklisted"); require(!_isBlacklisted[recipient], "Recipient is blacklisted"); bool isDexSender = _isDexRouter[sender]; bool isDexRecipient = _isDexRouter[recipient]; if (isDexSender || isDexRecipient) { uint256 buyTax = isDexSender ? 0 : (amount *_sellTaxPercentage ) / 100; uint256 sellTax = isDexRecipient ? 0 : (amount *_buyTaxPercentage ) / 100; uint256 totalTax = buyTax + sellTax; uint256 taxedAmount = amount - totalTax; // Deduct taxes and transfer the taxed amount super._transfer(sender, _marketingWallet, totalTax); super._transfer(sender, recipient, taxedAmount); emit TaxApplied(sender, buyTax, sellTax); // Log applied taxes } else { super._transfer(sender, recipient, amount); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"router","type":"address"}],"name":"AddressUnwhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"router","type":"address"}],"name":"AddressWhitelisted","type":"event"},{"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":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"buyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"TaxApplied","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","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":"user","type":"address"}],"name":"exemptFromTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBuyTaxPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSellTaxPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"includeInTax","outputs":[],"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":[{"internalType":"address","name":"user","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"isDexRouterWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isExemptFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isIncludedInTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uint256","name":"newBuyTaxPercentage","type":"uint256"}],"name":"setBuyTaxPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellTaxPercentage","type":"uint256"}],"name":"setSellTaxPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[{"internalType":"address","name":"user","type":"address"}],"name":"unblacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"unwhitelistDexRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"whitelistDexRouter","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600260065560056007553480156200001b57600080fd5b506040518060400160405280600981526020017f50455045204a554d5000000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f50455045204a554d500000000000000000000000000000000000000000000000815250816003908162000099919062000681565b508060049081620000ab919062000681565b505050620000ce620000c2620001b960201b60201c565b620001c160201b60201c565b600066038d7ea4c6800090506200011933620000ef6200028760201b60201c565b60ff16600a620001009190620008eb565b836200010d91906200093c565b6200029060201b60201c565b33600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505062000a73565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000302576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002f990620009e8565b60405180910390fd5b6200031660008383620003fd60201b60201c565b80600260008282546200032a919062000a0a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003dd919062000a56565b60405180910390a3620003f9600083836200040260201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200048957607f821691505b6020821081036200049f576200049e62000441565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004ca565b620005158683620004ca565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620005626200055c62000556846200052d565b62000537565b6200052d565b9050919050565b6000819050919050565b6200057e8362000541565b620005966200058d8262000569565b848454620004d7565b825550505050565b600090565b620005ad6200059e565b620005ba81848462000573565b505050565b5b81811015620005e257620005d6600082620005a3565b600181019050620005c0565b5050565b601f8211156200063157620005fb81620004a5565b6200060684620004ba565b8101602085101562000616578190505b6200062e6200062585620004ba565b830182620005bf565b50505b505050565b600082821c905092915050565b6000620006566000198460080262000636565b1980831691505092915050565b600062000671838362000643565b9150826002028217905092915050565b6200068c8262000407565b67ffffffffffffffff811115620006a857620006a762000412565b5b620006b4825462000470565b620006c1828285620005e6565b600060209050601f831160018114620006f95760008415620006e4578287015190505b620006f0858262000663565b86555062000760565b601f1984166200070986620004a5565b60005b8281101562000733578489015182556001820191506020850194506020810190506200070c565b868310156200075357848901516200074f601f89168262000643565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007f657808604811115620007ce57620007cd62000768565b5b6001851615620007de5780820291505b8081029050620007ee8562000797565b9450620007ae565b94509492505050565b600082620008115760019050620008e4565b81620008215760009050620008e4565b81600181146200083a576002811462000845576200087b565b6001915050620008e4565b60ff8411156200085a576200085962000768565b5b8360020a91508482111562000874576200087362000768565b5b50620008e4565b5060208310610133831016604e8410600b8410161715620008b55782820a905083811115620008af57620008ae62000768565b5b620008e4565b620008c48484846001620007a4565b92509050818404811115620008de57620008dd62000768565b5b81810290505b9392505050565b6000620008f8826200052d565b915062000905836200052d565b9250620009347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007ff565b905092915050565b600062000949826200052d565b915062000956836200052d565b925082820262000966816200052d565b9150828204841483151762000980576200097f62000768565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620009d0601f8362000987565b9150620009dd8262000998565b602082019050919050565b6000602082019050818103600083015262000a0381620009c1565b9050919050565b600062000a17826200052d565b915062000a24836200052d565b925082820190508082111562000a3f5762000a3e62000768565b5b92915050565b62000a50816200052d565b82525050565b600060208201905062000a6d600083018462000a45565b92915050565b6126208062000a836000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806379cc67901161010f578063b4e09a1b116100a2578063f2fde38b11610071578063f2fde38b146105c9578063f3290d75146105e5578063fa7981d014610601578063fe575a871461061f576101f0565b8063b4e09a1b14610531578063dd62ed3e14610561578063e17c4c7414610591578063efb7c45f146105ad576101f0565b80639ec4be41116100de5780639ec4be4114610499578063a457c2d7146104b5578063a56d37f9146104e5578063a9059cbb14610501576101f0565b806379cc6790146104115780637ce5e47f1461042d5780638da5cb5b1461045d57806395d89b411461047b576101f0565b80632bf7eb691161018757806345e349491161015657806345e349491461039f5780635d098b38146103bb57806370a08231146103d7578063715018a614610407576101f0565b80632bf7eb6914610319578063313ce56714610335578063395093511461035357806342966c6814610383576101f0565b806318160ddd116101c357806318160ddd1461028f5780631d4e49eb146102ad57806323b872dd146102cb578063280924e8146102fb576101f0565b8063019487f6146101f5578063060e78441461021157806306fdde0314610241578063095ea7b31461025f575b600080fd5b61020f600480360381019061020a9190611a80565b61064f565b005b61022b60048036038101906102269190611a80565b6106b2565b6040516102389190611ac8565b60405180910390f35b610249610708565b6040516102569190611b73565b60405180910390f35b61027960048036038101906102749190611bcb565b61079a565b6040516102869190611ac8565b60405180910390f35b6102976107bd565b6040516102a49190611c1a565b60405180910390f35b6102b56107c7565b6040516102c29190611c44565b60405180910390f35b6102e560048036038101906102e09190611c5f565b6107f1565b6040516102f29190611ac8565b60405180910390f35b610303610820565b6040516103109190611c1a565b60405180910390f35b610333600480360381019061032e9190611a80565b61082a565b005b61033d6108d0565b60405161034a9190611cce565b60405180910390f35b61036d60048036038101906103689190611bcb565b6108d9565b60405161037a9190611ac8565b60405180910390f35b61039d60048036038101906103989190611ce9565b610910565b005b6103b960048036038101906103b49190611a80565b610924565b005b6103d560048036038101906103d09190611a80565b610987565b005b6103f160048036038101906103ec9190611a80565b6109d3565b6040516103fe9190611c1a565b60405180910390f35b61040f610a1b565b005b61042b60048036038101906104269190611bcb565b610a2f565b005b61044760048036038101906104429190611a80565b610a4f565b6040516104549190611ac8565b60405180910390f35b610465610aa5565b6040516104729190611c44565b60405180910390f35b610483610acf565b6040516104909190611b73565b60405180910390f35b6104b360048036038101906104ae9190611ce9565b610b61565b005b6104cf60048036038101906104ca9190611bcb565b610b73565b6040516104dc9190611ac8565b60405180910390f35b6104ff60048036038101906104fa9190611ce9565b610bea565b005b61051b60048036038101906105169190611bcb565b610bfc565b6040516105289190611ac8565b60405180910390f35b61054b60048036038101906105469190611a80565b610c1f565b6040516105589190611ac8565b60405180910390f35b61057b60048036038101906105769190611d16565b610c75565b6040516105889190611c1a565b60405180910390f35b6105ab60048036038101906105a69190611a80565b610cfc565b005b6105c760048036038101906105c29190611a80565b610d5f565b005b6105e360048036038101906105de9190611a80565b610e05565b005b6105ff60048036038101906105fa9190611a80565b610e88565b005b610609610eeb565b6040516106169190611c1a565b60405180910390f35b61063960048036038101906106349190611a80565b610ef5565b6040516106469190611ac8565b60405180910390f35b610657610f4b565b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60606003805461071790611d85565b80601f016020809104026020016040519081016040528092919081815260200182805461074390611d85565b80156107905780601f1061076557610100808354040283529160200191610790565b820191906000526020600020905b81548152906001019060200180831161077357829003601f168201915b5050505050905090565b6000806107a5610fc9565b90506107b2818585610fd1565b600191505092915050565b6000600254905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806107fc610fc9565b905061080985828561119a565b610814858585611226565b60019150509392505050565b6000600654905090565b610832610f4b565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167ffb8ca4d686bd2a3bf410a4162005fce69aa6d29fafc092a15d975efae5db785660405160405180910390a250565b60006012905090565b6000806108e4610fc9565b90506109058185856108f68589610c75565b6109009190611de5565b610fd1565b600191505092915050565b61092161091b610fc9565b8261150a565b50565b61092c610f4b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61098f610f4b565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a23610f4b565b610a2d60006116d7565b565b610a4182610a3b610fc9565b8361119a565b610a4b828261150a565b5050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ade90611d85565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0a90611d85565b8015610b575780601f10610b2c57610100808354040283529160200191610b57565b820191906000526020600020905b815481529060010190602001808311610b3a57829003601f168201915b5050505050905090565b610b69610f4b565b8060078190555050565b600080610b7e610fc9565b90506000610b8c8286610c75565b905083811015610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611e8b565b60405180910390fd5b610bde8286868403610fd1565b60019250505092915050565b610bf2610f4b565b8060068190555050565b600080610c07610fc9565b9050610c14818585611226565b600191505092915050565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d04610f4b565b6001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d67610f4b565b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f4f783c179409b4127238bc9c990bc99b9a651666a0d20b51d6c42849eb88466d60405160405180910390a250565b610e0d610f4b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7390611f1d565b60405180910390fd5b610e85816116d7565b50565b610e90610f4b565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600754905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610f53610fc9565b73ffffffffffffffffffffffffffffffffffffffff16610f71610aa5565b73ffffffffffffffffffffffffffffffffffffffff1614610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe90611f89565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611040576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110379061201b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a6906120ad565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161118d9190611c1a565b60405180910390a3505050565b60006111a68484610c75565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112205781811015611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990612119565b60405180910390fd5b61121f8484848403610fd1565b5b50505050565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612185565b60405180910390fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611340576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611337906121f1565b60405180910390fd5b6000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905081806113eb5750805b156114f757600082611416576064600754856114079190612211565b6114119190612282565b611419565b60005b9050600082611441576064600654866114329190612211565b61143c9190612282565b611444565b60005b9050600081836114549190611de5565b90506000818761146491906122b3565b905061149389600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461179d565b61149e89898361179d565b8873ffffffffffffffffffffffffffffffffffffffff167f6521fe60e634fe7e5eb62a3ee8c7e62c56756768e0ec2a9c74a2caae9c63a6f585856040516114e69291906122e7565b60405180910390a250505050611503565b61150285858561179d565b5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157090612382565b60405180910390fd5b61158582600083611a13565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561160b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160290612414565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116be9190611c1a565b60405180910390a36116d283600084611a18565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361180c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611803906124a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290612538565b60405180910390fd5b611886838383611a13565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561190c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611903906125ca565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119fa9190611c1a565b60405180910390a3611a0d848484611a18565b50505050565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a4d82611a22565b9050919050565b611a5d81611a42565b8114611a6857600080fd5b50565b600081359050611a7a81611a54565b92915050565b600060208284031215611a9657611a95611a1d565b5b6000611aa484828501611a6b565b91505092915050565b60008115159050919050565b611ac281611aad565b82525050565b6000602082019050611add6000830184611ab9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b1d578082015181840152602081019050611b02565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b4582611ae3565b611b4f8185611aee565b9350611b5f818560208601611aff565b611b6881611b29565b840191505092915050565b60006020820190508181036000830152611b8d8184611b3a565b905092915050565b6000819050919050565b611ba881611b95565b8114611bb357600080fd5b50565b600081359050611bc581611b9f565b92915050565b60008060408385031215611be257611be1611a1d565b5b6000611bf085828601611a6b565b9250506020611c0185828601611bb6565b9150509250929050565b611c1481611b95565b82525050565b6000602082019050611c2f6000830184611c0b565b92915050565b611c3e81611a42565b82525050565b6000602082019050611c596000830184611c35565b92915050565b600080600060608486031215611c7857611c77611a1d565b5b6000611c8686828701611a6b565b9350506020611c9786828701611a6b565b9250506040611ca886828701611bb6565b9150509250925092565b600060ff82169050919050565b611cc881611cb2565b82525050565b6000602082019050611ce36000830184611cbf565b92915050565b600060208284031215611cff57611cfe611a1d565b5b6000611d0d84828501611bb6565b91505092915050565b60008060408385031215611d2d57611d2c611a1d565b5b6000611d3b85828601611a6b565b9250506020611d4c85828601611a6b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611d9d57607f821691505b602082108103611db057611daf611d56565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611df082611b95565b9150611dfb83611b95565b9250828201905080821115611e1357611e12611db6565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611e75602583611aee565b9150611e8082611e19565b604082019050919050565b60006020820190508181036000830152611ea481611e68565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611f07602683611aee565b9150611f1282611eab565b604082019050919050565b60006020820190508181036000830152611f3681611efa565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f73602083611aee565b9150611f7e82611f3d565b602082019050919050565b60006020820190508181036000830152611fa281611f66565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612005602483611aee565b915061201082611fa9565b604082019050919050565b6000602082019050818103600083015261203481611ff8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612097602283611aee565b91506120a28261203b565b604082019050919050565b600060208201905081810360008301526120c68161208a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612103601d83611aee565b915061210e826120cd565b602082019050919050565b60006020820190508181036000830152612132816120f6565b9050919050565b7f53656e64657220697320626c61636b6c69737465640000000000000000000000600082015250565b600061216f601583611aee565b915061217a82612139565b602082019050919050565b6000602082019050818103600083015261219e81612162565b9050919050565b7f526563697069656e7420697320626c61636b6c69737465640000000000000000600082015250565b60006121db601883611aee565b91506121e6826121a5565b602082019050919050565b6000602082019050818103600083015261220a816121ce565b9050919050565b600061221c82611b95565b915061222783611b95565b925082820261223581611b95565b9150828204841483151761224c5761224b611db6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061228d82611b95565b915061229883611b95565b9250826122a8576122a7612253565b5b828204905092915050565b60006122be82611b95565b91506122c983611b95565b92508282039050818111156122e1576122e0611db6565b5b92915050565b60006040820190506122fc6000830185611c0b565b6123096020830184611c0b565b9392505050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061236c602183611aee565b915061237782612310565b604082019050919050565b6000602082019050818103600083015261239b8161235f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006123fe602283611aee565b9150612409826123a2565b604082019050919050565b6000602082019050818103600083015261242d816123f1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612490602583611aee565b915061249b82612434565b604082019050919050565b600060208201905081810360008301526124bf81612483565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612522602383611aee565b915061252d826124c6565b604082019050919050565b6000602082019050818103600083015261255181612515565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006125b4602683611aee565b91506125bf82612558565b604082019050919050565b600060208201905081810360008301526125e3816125a7565b905091905056fea26469706673582212202276bc3608f5b5d3d4fe0578f904a96a70319995516d4d10932b0b054dc7bc5564736f6c63430008130033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101f05760003560e01c806379cc67901161010f578063b4e09a1b116100a2578063f2fde38b11610071578063f2fde38b146105c9578063f3290d75146105e5578063fa7981d014610601578063fe575a871461061f576101f0565b8063b4e09a1b14610531578063dd62ed3e14610561578063e17c4c7414610591578063efb7c45f146105ad576101f0565b80639ec4be41116100de5780639ec4be4114610499578063a457c2d7146104b5578063a56d37f9146104e5578063a9059cbb14610501576101f0565b806379cc6790146104115780637ce5e47f1461042d5780638da5cb5b1461045d57806395d89b411461047b576101f0565b80632bf7eb691161018757806345e349491161015657806345e349491461039f5780635d098b38146103bb57806370a08231146103d7578063715018a614610407576101f0565b80632bf7eb6914610319578063313ce56714610335578063395093511461035357806342966c6814610383576101f0565b806318160ddd116101c357806318160ddd1461028f5780631d4e49eb146102ad57806323b872dd146102cb578063280924e8146102fb576101f0565b8063019487f6146101f5578063060e78441461021157806306fdde0314610241578063095ea7b31461025f575b600080fd5b61020f600480360381019061020a9190611a80565b61064f565b005b61022b60048036038101906102269190611a80565b6106b2565b6040516102389190611ac8565b60405180910390f35b610249610708565b6040516102569190611b73565b60405180910390f35b61027960048036038101906102749190611bcb565b61079a565b6040516102869190611ac8565b60405180910390f35b6102976107bd565b6040516102a49190611c1a565b60405180910390f35b6102b56107c7565b6040516102c29190611c44565b60405180910390f35b6102e560048036038101906102e09190611c5f565b6107f1565b6040516102f29190611ac8565b60405180910390f35b610303610820565b6040516103109190611c1a565b60405180910390f35b610333600480360381019061032e9190611a80565b61082a565b005b61033d6108d0565b60405161034a9190611cce565b60405180910390f35b61036d60048036038101906103689190611bcb565b6108d9565b60405161037a9190611ac8565b60405180910390f35b61039d60048036038101906103989190611ce9565b610910565b005b6103b960048036038101906103b49190611a80565b610924565b005b6103d560048036038101906103d09190611a80565b610987565b005b6103f160048036038101906103ec9190611a80565b6109d3565b6040516103fe9190611c1a565b60405180910390f35b61040f610a1b565b005b61042b60048036038101906104269190611bcb565b610a2f565b005b61044760048036038101906104429190611a80565b610a4f565b6040516104549190611ac8565b60405180910390f35b610465610aa5565b6040516104729190611c44565b60405180910390f35b610483610acf565b6040516104909190611b73565b60405180910390f35b6104b360048036038101906104ae9190611ce9565b610b61565b005b6104cf60048036038101906104ca9190611bcb565b610b73565b6040516104dc9190611ac8565b60405180910390f35b6104ff60048036038101906104fa9190611ce9565b610bea565b005b61051b60048036038101906105169190611bcb565b610bfc565b6040516105289190611ac8565b60405180910390f35b61054b60048036038101906105469190611a80565b610c1f565b6040516105589190611ac8565b60405180910390f35b61057b60048036038101906105769190611d16565b610c75565b6040516105889190611c1a565b60405180910390f35b6105ab60048036038101906105a69190611a80565b610cfc565b005b6105c760048036038101906105c29190611a80565b610d5f565b005b6105e360048036038101906105de9190611a80565b610e05565b005b6105ff60048036038101906105fa9190611a80565b610e88565b005b610609610eeb565b6040516106169190611c1a565b60405180910390f35b61063960048036038101906106349190611a80565b610ef5565b6040516106469190611ac8565b60405180910390f35b610657610f4b565b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60606003805461071790611d85565b80601f016020809104026020016040519081016040528092919081815260200182805461074390611d85565b80156107905780601f1061076557610100808354040283529160200191610790565b820191906000526020600020905b81548152906001019060200180831161077357829003601f168201915b5050505050905090565b6000806107a5610fc9565b90506107b2818585610fd1565b600191505092915050565b6000600254905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806107fc610fc9565b905061080985828561119a565b610814858585611226565b60019150509392505050565b6000600654905090565b610832610f4b565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167ffb8ca4d686bd2a3bf410a4162005fce69aa6d29fafc092a15d975efae5db785660405160405180910390a250565b60006012905090565b6000806108e4610fc9565b90506109058185856108f68589610c75565b6109009190611de5565b610fd1565b600191505092915050565b61092161091b610fc9565b8261150a565b50565b61092c610f4b565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61098f610f4b565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a23610f4b565b610a2d60006116d7565b565b610a4182610a3b610fc9565b8361119a565b610a4b828261150a565b5050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610ade90611d85565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0a90611d85565b8015610b575780601f10610b2c57610100808354040283529160200191610b57565b820191906000526020600020905b815481529060010190602001808311610b3a57829003601f168201915b5050505050905090565b610b69610f4b565b8060078190555050565b600080610b7e610fc9565b90506000610b8c8286610c75565b905083811015610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611e8b565b60405180910390fd5b610bde8286868403610fd1565b60019250505092915050565b610bf2610f4b565b8060068190555050565b600080610c07610fc9565b9050610c14818585611226565b600191505092915050565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d04610f4b565b6001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d67610f4b565b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f4f783c179409b4127238bc9c990bc99b9a651666a0d20b51d6c42849eb88466d60405160405180910390a250565b610e0d610f4b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7390611f1d565b60405180910390fd5b610e85816116d7565b50565b610e90610f4b565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600754905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610f53610fc9565b73ffffffffffffffffffffffffffffffffffffffff16610f71610aa5565b73ffffffffffffffffffffffffffffffffffffffff1614610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe90611f89565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611040576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110379061201b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a6906120ad565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161118d9190611c1a565b60405180910390a3505050565b60006111a68484610c75565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112205781811015611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990612119565b60405180910390fd5b61121f8484848403610fd1565b5b50505050565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612185565b60405180910390fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611340576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611337906121f1565b60405180910390fd5b6000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905081806113eb5750805b156114f757600082611416576064600754856114079190612211565b6114119190612282565b611419565b60005b9050600082611441576064600654866114329190612211565b61143c9190612282565b611444565b60005b9050600081836114549190611de5565b90506000818761146491906122b3565b905061149389600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461179d565b61149e89898361179d565b8873ffffffffffffffffffffffffffffffffffffffff167f6521fe60e634fe7e5eb62a3ee8c7e62c56756768e0ec2a9c74a2caae9c63a6f585856040516114e69291906122e7565b60405180910390a250505050611503565b61150285858561179d565b5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157090612382565b60405180910390fd5b61158582600083611a13565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561160b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160290612414565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116be9190611c1a565b60405180910390a36116d283600084611a18565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361180c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611803906124a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290612538565b60405180910390fd5b611886838383611a13565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561190c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611903906125ca565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119fa9190611c1a565b60405180910390a3611a0d848484611a18565b50505050565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a4d82611a22565b9050919050565b611a5d81611a42565b8114611a6857600080fd5b50565b600081359050611a7a81611a54565b92915050565b600060208284031215611a9657611a95611a1d565b5b6000611aa484828501611a6b565b91505092915050565b60008115159050919050565b611ac281611aad565b82525050565b6000602082019050611add6000830184611ab9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b1d578082015181840152602081019050611b02565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b4582611ae3565b611b4f8185611aee565b9350611b5f818560208601611aff565b611b6881611b29565b840191505092915050565b60006020820190508181036000830152611b8d8184611b3a565b905092915050565b6000819050919050565b611ba881611b95565b8114611bb357600080fd5b50565b600081359050611bc581611b9f565b92915050565b60008060408385031215611be257611be1611a1d565b5b6000611bf085828601611a6b565b9250506020611c0185828601611bb6565b9150509250929050565b611c1481611b95565b82525050565b6000602082019050611c2f6000830184611c0b565b92915050565b611c3e81611a42565b82525050565b6000602082019050611c596000830184611c35565b92915050565b600080600060608486031215611c7857611c77611a1d565b5b6000611c8686828701611a6b565b9350506020611c9786828701611a6b565b9250506040611ca886828701611bb6565b9150509250925092565b600060ff82169050919050565b611cc881611cb2565b82525050565b6000602082019050611ce36000830184611cbf565b92915050565b600060208284031215611cff57611cfe611a1d565b5b6000611d0d84828501611bb6565b91505092915050565b60008060408385031215611d2d57611d2c611a1d565b5b6000611d3b85828601611a6b565b9250506020611d4c85828601611a6b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611d9d57607f821691505b602082108103611db057611daf611d56565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611df082611b95565b9150611dfb83611b95565b9250828201905080821115611e1357611e12611db6565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611e75602583611aee565b9150611e8082611e19565b604082019050919050565b60006020820190508181036000830152611ea481611e68565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611f07602683611aee565b9150611f1282611eab565b604082019050919050565b60006020820190508181036000830152611f3681611efa565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f73602083611aee565b9150611f7e82611f3d565b602082019050919050565b60006020820190508181036000830152611fa281611f66565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612005602483611aee565b915061201082611fa9565b604082019050919050565b6000602082019050818103600083015261203481611ff8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612097602283611aee565b91506120a28261203b565b604082019050919050565b600060208201905081810360008301526120c68161208a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612103601d83611aee565b915061210e826120cd565b602082019050919050565b60006020820190508181036000830152612132816120f6565b9050919050565b7f53656e64657220697320626c61636b6c69737465640000000000000000000000600082015250565b600061216f601583611aee565b915061217a82612139565b602082019050919050565b6000602082019050818103600083015261219e81612162565b9050919050565b7f526563697069656e7420697320626c61636b6c69737465640000000000000000600082015250565b60006121db601883611aee565b91506121e6826121a5565b602082019050919050565b6000602082019050818103600083015261220a816121ce565b9050919050565b600061221c82611b95565b915061222783611b95565b925082820261223581611b95565b9150828204841483151761224c5761224b611db6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061228d82611b95565b915061229883611b95565b9250826122a8576122a7612253565b5b828204905092915050565b60006122be82611b95565b91506122c983611b95565b92508282039050818111156122e1576122e0611db6565b5b92915050565b60006040820190506122fc6000830185611c0b565b6123096020830184611c0b565b9392505050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061236c602183611aee565b915061237782612310565b604082019050919050565b6000602082019050818103600083015261239b8161235f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006123fe602283611aee565b9150612409826123a2565b604082019050919050565b6000602082019050818103600083015261242d816123f1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612490602583611aee565b915061249b82612434565b604082019050919050565b600060208201905081810360008301526124bf81612483565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612522602383611aee565b915061252d826124c6565b604082019050919050565b6000602082019050818103600083015261255181612515565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006125b4602683611aee565b91506125bf82612558565b604082019050919050565b600060208201905081810360008301526125e3816125a7565b905091905056fea26469706673582212202276bc3608f5b5d3d4fe0578f904a96a70319995516d4d10932b0b054dc7bc5564736f6c63430008130033
Deployed Bytecode Sourcemap
21574:4575:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23218:104;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24556:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9349:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11709:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10478:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24194:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12490:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23831:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23600:156;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10320:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13160:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20925:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23102:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22560:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10649:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2804:103;;;:::i;:::-;;21335:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24940:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2163:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9568:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22842:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13901:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22699:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10982:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24747:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11238:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23330:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23441:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3062:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22989:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24013:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24369:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23218:104;2049:13;:11;:13::i;:::-;23310:4:::1;23285:16;:22;23302:4;23285:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;23218:104:::0;:::o;24556:116::-;24618:4;24642:16;:22;24659:4;24642:22;;;;;;;;;;;;;;;;;;;;;;;;;24635:29;;24556:116;;;:::o;9349:100::-;9403:13;9436:5;9429:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9349:100;:::o;11709:201::-;11792:4;11809:13;11825:12;:10;:12::i;:::-;11809:28;;11848:32;11857:5;11864:7;11873:6;11848:8;:32::i;:::-;11898:4;11891:11;;;11709:201;;;;:::o;10478:108::-;10539:7;10566:12;;10559:19;;10478:108;:::o;24194:104::-;24247:7;24274:16;;;;;;;;;;;24267:23;;24194:104;:::o;12490:261::-;12587:4;12604:15;12622:12;:10;:12::i;:::-;12604:30;;12645:38;12661:4;12667:7;12676:6;12645:15;:38::i;:::-;12694:27;12704:4;12710:2;12714:6;12694:9;:27::i;:::-;12739:4;12732:11;;;12490:261;;;;;:::o;23831:106::-;23885:7;23912:17;;23905:24;;23831:106;:::o;23600:156::-;2049:13;:11;:13::i;:::-;23699:5:::1;23676:12;:20;23689:6;23676:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;23741:6;23720:28;;;;;;;;;;;;23600:156:::0;:::o;10320:93::-;10378:5;10403:2;10396:9;;10320:93;:::o;13160:238::-;13248:4;13265:13;13281:12;:10;:12::i;:::-;13265:28;;13304:64;13313:5;13320:7;13357:10;13329:25;13339:5;13346:7;13329:9;:25::i;:::-;:38;;;;:::i;:::-;13304:8;:64::i;:::-;13386:4;13379:11;;;13160:238;;;;:::o;20925:91::-;20981:27;20987:12;:10;:12::i;:::-;21001:6;20981:5;:27::i;:::-;20925:91;:::o;23102:108::-;2049:13;:11;:13::i;:::-;23197:5:::1;23174:14;:20;23189:4;23174:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;23102:108:::0;:::o;22560:131::-;2049:13;:11;:13::i;:::-;22665:18:::1;22646:16;;:37;;;;;;;;;;;;;;;;;;22560:131:::0;:::o;10649:127::-;10723:7;10750:9;:18;10760:7;10750:18;;;;;;;;;;;;;;;;10743:25;;10649:127;;;:::o;2804:103::-;2049:13;:11;:13::i;:::-;2869:30:::1;2896:1;2869:18;:30::i;:::-;2804:103::o:0;21335:164::-;21412:46;21428:7;21437:12;:10;:12::i;:::-;21451:6;21412:15;:46::i;:::-;21469:22;21475:7;21484:6;21469:5;:22::i;:::-;21335:164;;:::o;24940:123::-;25011:4;25035:12;:20;25048:6;25035:20;;;;;;;;;;;;;;;;;;;;;;;;;25028:27;;24940:123;;;:::o;2163:87::-;2209:7;2236:6;;;;;;;;;;;2229:13;;2163:87;:::o;9568:104::-;9624:13;9657:7;9650:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9568:104;:::o;22842:139::-;2049:13;:11;:13::i;:::-;22953:20:::1;22932:18;:41;;;;22842:139:::0;:::o;13901:436::-;13994:4;14011:13;14027:12;:10;:12::i;:::-;14011:28;;14050:24;14077:25;14087:5;14094:7;14077:9;:25::i;:::-;14050:52;;14141:15;14121:16;:35;;14113:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14234:60;14243:5;14250:7;14278:15;14259:16;:34;14234:8;:60::i;:::-;14325:4;14318:11;;;;13901:436;;;;:::o;22699:135::-;2049:13;:11;:13::i;:::-;22807:19:::1;22787:17;:39;;;;22699:135:::0;:::o;10982:193::-;11061:4;11078:13;11094:12;:10;:12::i;:::-;11078:28;;11117;11127:5;11134:2;11138:6;11117:9;:28::i;:::-;11163:4;11156:11;;;10982:193;;;;:::o;24747:116::-;24809:4;24833:16;:22;24850:4;24833:22;;;;;;;;;;;;;;;;;;;;;;;;;24826:29;;24747:116;;;:::o;11238:151::-;11327:7;11354:11;:18;11366:5;11354:18;;;;;;;;;;;;;;;:27;11373:7;11354:27;;;;;;;;;;;;;;;;11347:34;;11238:151;;;;:::o;23330:103::-;2049:13;:11;:13::i;:::-;23421:4:::1;23396:16;:22;23413:4;23396:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;23330:103:::0;:::o;23441:151::-;2049:13;:11;:13::i;:::-;23538:4:::1;23515:12;:20;23528:6;23515:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;23577:6;23558:26;;;;;;;;;;;;23441:151:::0;:::o;3062:201::-;2049:13;:11;:13::i;:::-;3171:1:::1;3151:22;;:8;:22;;::::0;3143:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3227:28;3246:8;3227:18;:28::i;:::-;3062:201:::0;:::o;22989:105::-;2049:13;:11;:13::i;:::-;23082:4:::1;23059:14;:20;23074:4;23059:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;22989:105:::0;:::o;24013:108::-;24068:7;24095:18;;24088:25;;24013:108;:::o;24369:112::-;24429:4;24453:14;:20;24468:4;24453:20;;;;;;;;;;;;;;;;;;;;;;;;;24446:27;;24369:112;;;:::o;2328:132::-;2403:12;:10;:12::i;:::-;2392:23;;:7;:5;:7::i;:::-;:23;;;2384:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2328:132::o;714:98::-;767:7;794:10;787:17;;714:98;:::o;17894:346::-;18013:1;17996:19;;:5;:19;;;17988:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18094:1;18075:21;;:7;:21;;;18067:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18178:6;18148:11;:18;18160:5;18148:18;;;;;;;;;;;;;;;:27;18167:7;18148:27;;;;;;;;;;;;;;;:36;;;;18216:7;18200:32;;18209:5;18200:32;;;18225:6;18200:32;;;;;;:::i;:::-;;;;;;;;17894:346;;;:::o;18531:419::-;18632:24;18659:25;18669:5;18676:7;18659:9;:25::i;:::-;18632:52;;18719:17;18699:16;:37;18695:248;;18781:6;18761:16;:26;;18753:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18865:51;18874:5;18881:7;18909:6;18890:16;:25;18865:8;:51::i;:::-;18695:248;18621:329;18531:419;;;:::o;25073:1071::-;25215:14;:22;25230:6;25215:22;;;;;;;;;;;;;;;;;;;;;;;;;25214:23;25206:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;25283:14;:25;25298:9;25283:25;;;;;;;;;;;;;;;;;;;;;;;;;25282:26;25274:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;25350:16;25369:12;:20;25382:6;25369:20;;;;;;;;;;;;;;;;;;;;;;;;;25350:39;;25400:19;25422:12;:23;25435:9;25422:23;;;;;;;;;;;;;;;;;;;;;;;;;25400:45;;25462:11;:29;;;;25477:14;25462:29;25458:679;;;25519:14;25536:11;:53;;25586:3;25563:18;;25555:6;:26;;;;:::i;:::-;25554:35;;;;:::i;:::-;25536:53;;;25550:1;25536:53;25519:70;;25604:15;25622:14;:55;;25674:3;25652:17;;25644:6;:25;;;;:::i;:::-;25643:34;;;;:::i;:::-;25622:55;;;25639:1;25622:55;25604:73;;25694:16;25722:7;25713:6;:16;;;;:::i;:::-;25694:35;;25744:19;25775:8;25766:6;:17;;;;:::i;:::-;25744:39;;25859:51;25875:6;25883:16;;;;;;;;;;;25901:8;25859:15;:51::i;:::-;25925:47;25941:6;25949:9;25960:11;25925:15;:47::i;:::-;26005:6;25994:35;;;26013:6;26021:7;25994:35;;;;;;;:::i;:::-;;;;;;;;25493:569;;;;25458:679;;;26083:42;26099:6;26107:9;26118:6;26083:15;:42::i;:::-;25458:679;25195:949;;25073:1071;;;:::o;16781:675::-;16884:1;16865:21;;:7;:21;;;16857:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16937:49;16958:7;16975:1;16979:6;16937:20;:49::i;:::-;16999:22;17024:9;:18;17034:7;17024:18;;;;;;;;;;;;;;;;16999:43;;17079:6;17061:14;:24;;17053:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17198:6;17181:14;:23;17160:9;:18;17170:7;17160:18;;;;;;;;;;;;;;;:44;;;;17315:6;17299:12;;:22;;;;;;;;;;;17376:1;17350:37;;17359:7;17350:37;;;17380:6;17350:37;;;;;;:::i;:::-;;;;;;;;17400:48;17420:7;17437:1;17441:6;17400:19;:48::i;:::-;16846:610;16781:675;;:::o;3423:191::-;3497:16;3516:6;;;;;;;;;;;3497:25;;3542:8;3533:6;;:17;;;;;;;;;;;;;;;;;;3597:8;3566:40;;3587:8;3566:40;;;;;;;;;;;;3486:128;3423:191;:::o;14807:806::-;14920:1;14904:18;;:4;:18;;;14896:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14997:1;14983:16;;:2;:16;;;14975:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15052:38;15073:4;15079:2;15083:6;15052:20;:38::i;:::-;15103:19;15125:9;:15;15135:4;15125:15;;;;;;;;;;;;;;;;15103:37;;15174:6;15159:11;:21;;15151:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15291:6;15277:11;:20;15259:9;:15;15269:4;15259:15;;;;;;;;;;;;;;;:38;;;;15494:6;15477:9;:13;15487:2;15477:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;15544:2;15529:26;;15538:4;15529:26;;;15548:6;15529:26;;;;;;:::i;:::-;;;;;;;;15568:37;15588:4;15594:2;15598:6;15568:19;:37::i;:::-;14885:728;14807:806;;;:::o;19550:91::-;;;;:::o;20245:90::-;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:99::-;1655:6;1689:5;1683:12;1673:22;;1603:99;;;:::o;1708:169::-;1792:11;1826:6;1821:3;1814:19;1866:4;1861:3;1857:14;1842:29;;1708:169;;;;:::o;1883:246::-;1964:1;1974:113;1988:6;1985:1;1982:13;1974:113;;;2073:1;2068:3;2064:11;2058:18;2054:1;2049:3;2045:11;2038:39;2010:2;2007:1;2003:10;1998:15;;1974:113;;;2121:1;2112:6;2107:3;2103:16;2096:27;1945:184;1883:246;;;:::o;2135:102::-;2176:6;2227:2;2223:7;2218:2;2211:5;2207:14;2203:28;2193:38;;2135:102;;;:::o;2243:377::-;2331:3;2359:39;2392:5;2359:39;:::i;:::-;2414:71;2478:6;2473:3;2414:71;:::i;:::-;2407:78;;2494:65;2552:6;2547:3;2540:4;2533:5;2529:16;2494:65;:::i;:::-;2584:29;2606:6;2584:29;:::i;:::-;2579:3;2575:39;2568:46;;2335:285;2243:377;;;;:::o;2626:313::-;2739:4;2777:2;2766:9;2762:18;2754:26;;2826:9;2820:4;2816:20;2812:1;2801:9;2797:17;2790:47;2854:78;2927:4;2918:6;2854:78;:::i;:::-;2846:86;;2626:313;;;;:::o;2945:77::-;2982:7;3011:5;3000:16;;2945:77;;;:::o;3028:122::-;3101:24;3119:5;3101:24;:::i;:::-;3094:5;3091:35;3081:63;;3140:1;3137;3130:12;3081:63;3028:122;:::o;3156:139::-;3202:5;3240:6;3227:20;3218:29;;3256:33;3283:5;3256:33;:::i;:::-;3156:139;;;;:::o;3301:474::-;3369:6;3377;3426:2;3414:9;3405:7;3401:23;3397:32;3394:119;;;3432:79;;:::i;:::-;3394:119;3552:1;3577:53;3622:7;3613:6;3602:9;3598:22;3577:53;:::i;:::-;3567:63;;3523:117;3679:2;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3650:118;3301:474;;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:118::-;4220:24;4238:5;4220:24;:::i;:::-;4215:3;4208:37;4133:118;;:::o;4257:222::-;4350:4;4388:2;4377:9;4373:18;4365:26;;4401:71;4469:1;4458:9;4454:17;4445:6;4401:71;:::i;:::-;4257:222;;;;:::o;4485:619::-;4562:6;4570;4578;4627:2;4615:9;4606:7;4602:23;4598:32;4595:119;;;4633:79;;:::i;:::-;4595:119;4753:1;4778:53;4823:7;4814:6;4803:9;4799:22;4778:53;:::i;:::-;4768:63;;4724:117;4880:2;4906:53;4951:7;4942:6;4931:9;4927:22;4906:53;:::i;:::-;4896:63;;4851:118;5008:2;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4979:118;4485:619;;;;;:::o;5110:86::-;5145:7;5185:4;5178:5;5174:16;5163:27;;5110:86;;;:::o;5202:112::-;5285:22;5301:5;5285:22;:::i;:::-;5280:3;5273:35;5202:112;;:::o;5320:214::-;5409:4;5447:2;5436:9;5432:18;5424:26;;5460:67;5524:1;5513:9;5509:17;5500:6;5460:67;:::i;:::-;5320:214;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:320;6585:6;6622:1;6616:4;6612:12;6602:22;;6669:1;6663:4;6659:12;6690:18;6680:81;;6746:4;6738:6;6734:17;6724:27;;6680:81;6808:2;6800:6;6797:14;6777:18;6774:38;6771:84;;6827:18;;:::i;:::-;6771:84;6592:269;6541:320;;;:::o;6867:180::-;6915:77;6912:1;6905:88;7012:4;7009:1;7002:15;7036:4;7033:1;7026:15;7053:191;7093:3;7112:20;7130:1;7112:20;:::i;:::-;7107:25;;7146:20;7164:1;7146:20;:::i;:::-;7141:25;;7189:1;7186;7182:9;7175:16;;7210:3;7207:1;7204:10;7201:36;;;7217:18;;:::i;:::-;7201:36;7053:191;;;;:::o;7250:224::-;7390:34;7386:1;7378:6;7374:14;7367:58;7459:7;7454:2;7446:6;7442:15;7435:32;7250:224;:::o;7480:366::-;7622:3;7643:67;7707:2;7702:3;7643:67;:::i;:::-;7636:74;;7719:93;7808:3;7719:93;:::i;:::-;7837:2;7832:3;7828:12;7821:19;;7480:366;;;:::o;7852:419::-;8018:4;8056:2;8045:9;8041:18;8033:26;;8105:9;8099:4;8095:20;8091:1;8080:9;8076:17;8069:47;8133:131;8259:4;8133:131;:::i;:::-;8125:139;;7852:419;;;:::o;8277:225::-;8417:34;8413:1;8405:6;8401:14;8394:58;8486:8;8481:2;8473:6;8469:15;8462:33;8277:225;:::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;;8508:366;;;:::o;8880:419::-;9046:4;9084:2;9073:9;9069:18;9061:26;;9133:9;9127:4;9123:20;9119:1;9108:9;9104:17;9097:47;9161:131;9287:4;9161:131;:::i;:::-;9153:139;;8880:419;;;:::o;9305:182::-;9445:34;9441:1;9433:6;9429:14;9422:58;9305:182;:::o;9493:366::-;9635:3;9656:67;9720:2;9715:3;9656:67;:::i;:::-;9649:74;;9732:93;9821:3;9732:93;:::i;:::-;9850:2;9845:3;9841:12;9834:19;;9493:366;;;:::o;9865:419::-;10031:4;10069:2;10058:9;10054:18;10046:26;;10118:9;10112:4;10108:20;10104:1;10093:9;10089:17;10082:47;10146:131;10272:4;10146:131;:::i;:::-;10138:139;;9865:419;;;:::o;10290:223::-;10430:34;10426:1;10418:6;10414:14;10407:58;10499:6;10494:2;10486:6;10482:15;10475:31;10290:223;:::o;10519:366::-;10661:3;10682:67;10746:2;10741:3;10682:67;:::i;:::-;10675:74;;10758:93;10847:3;10758:93;:::i;:::-;10876:2;10871:3;10867:12;10860:19;;10519:366;;;:::o;10891:419::-;11057:4;11095:2;11084:9;11080:18;11072:26;;11144:9;11138:4;11134:20;11130:1;11119:9;11115:17;11108:47;11172:131;11298:4;11172:131;:::i;:::-;11164:139;;10891:419;;;:::o;11316:221::-;11456:34;11452:1;11444:6;11440:14;11433:58;11525:4;11520:2;11512:6;11508:15;11501:29;11316:221;:::o;11543:366::-;11685:3;11706:67;11770:2;11765:3;11706:67;:::i;:::-;11699:74;;11782:93;11871:3;11782:93;:::i;:::-;11900:2;11895:3;11891:12;11884:19;;11543:366;;;:::o;11915:419::-;12081:4;12119:2;12108:9;12104:18;12096:26;;12168:9;12162:4;12158:20;12154:1;12143:9;12139:17;12132:47;12196:131;12322:4;12196:131;:::i;:::-;12188:139;;11915:419;;;:::o;12340:179::-;12480:31;12476:1;12468:6;12464:14;12457:55;12340:179;:::o;12525:366::-;12667:3;12688:67;12752:2;12747:3;12688:67;:::i;:::-;12681:74;;12764:93;12853:3;12764:93;:::i;:::-;12882:2;12877:3;12873:12;12866:19;;12525:366;;;:::o;12897:419::-;13063:4;13101:2;13090:9;13086:18;13078:26;;13150:9;13144:4;13140:20;13136:1;13125:9;13121:17;13114:47;13178:131;13304:4;13178:131;:::i;:::-;13170:139;;12897:419;;;:::o;13322:171::-;13462:23;13458:1;13450:6;13446:14;13439:47;13322:171;:::o;13499:366::-;13641:3;13662:67;13726:2;13721:3;13662:67;:::i;:::-;13655:74;;13738:93;13827:3;13738:93;:::i;:::-;13856:2;13851:3;13847:12;13840:19;;13499:366;;;:::o;13871:419::-;14037:4;14075:2;14064:9;14060:18;14052:26;;14124:9;14118:4;14114:20;14110:1;14099:9;14095:17;14088:47;14152:131;14278:4;14152:131;:::i;:::-;14144:139;;13871:419;;;:::o;14296:174::-;14436:26;14432:1;14424:6;14420:14;14413:50;14296:174;:::o;14476:366::-;14618:3;14639:67;14703:2;14698:3;14639:67;:::i;:::-;14632:74;;14715:93;14804:3;14715:93;:::i;:::-;14833:2;14828:3;14824:12;14817:19;;14476:366;;;:::o;14848:419::-;15014:4;15052:2;15041:9;15037:18;15029:26;;15101:9;15095:4;15091:20;15087:1;15076:9;15072:17;15065:47;15129:131;15255:4;15129:131;:::i;:::-;15121:139;;14848:419;;;:::o;15273:410::-;15313:7;15336:20;15354:1;15336:20;:::i;:::-;15331:25;;15370:20;15388:1;15370:20;:::i;:::-;15365:25;;15425:1;15422;15418:9;15447:30;15465:11;15447:30;:::i;:::-;15436:41;;15626:1;15617:7;15613:15;15610:1;15607:22;15587:1;15580:9;15560:83;15537:139;;15656:18;;:::i;:::-;15537:139;15321:362;15273:410;;;;:::o;15689:180::-;15737:77;15734:1;15727:88;15834:4;15831:1;15824:15;15858:4;15855:1;15848:15;15875:185;15915:1;15932:20;15950:1;15932:20;:::i;:::-;15927:25;;15966:20;15984:1;15966:20;:::i;:::-;15961:25;;16005:1;15995:35;;16010:18;;:::i;:::-;15995:35;16052:1;16049;16045:9;16040:14;;15875:185;;;;:::o;16066:194::-;16106:4;16126:20;16144:1;16126:20;:::i;:::-;16121:25;;16160:20;16178:1;16160:20;:::i;:::-;16155:25;;16204:1;16201;16197:9;16189:17;;16228:1;16222:4;16219:11;16216:37;;;16233:18;;:::i;:::-;16216:37;16066:194;;;;:::o;16266:332::-;16387:4;16425:2;16414:9;16410:18;16402:26;;16438:71;16506:1;16495:9;16491:17;16482:6;16438:71;:::i;:::-;16519:72;16587:2;16576:9;16572:18;16563:6;16519:72;:::i;:::-;16266:332;;;;;:::o;16604:220::-;16744:34;16740:1;16732:6;16728:14;16721:58;16813:3;16808:2;16800:6;16796:15;16789:28;16604:220;:::o;16830:366::-;16972:3;16993:67;17057:2;17052:3;16993:67;:::i;:::-;16986:74;;17069:93;17158:3;17069:93;:::i;:::-;17187:2;17182:3;17178:12;17171:19;;16830:366;;;:::o;17202:419::-;17368:4;17406:2;17395:9;17391:18;17383:26;;17455:9;17449:4;17445:20;17441:1;17430:9;17426:17;17419:47;17483:131;17609:4;17483:131;:::i;:::-;17475:139;;17202:419;;;:::o;17627:221::-;17767:34;17763:1;17755:6;17751:14;17744:58;17836:4;17831:2;17823:6;17819:15;17812:29;17627:221;:::o;17854:366::-;17996:3;18017:67;18081:2;18076:3;18017:67;:::i;:::-;18010:74;;18093:93;18182:3;18093:93;:::i;:::-;18211:2;18206:3;18202:12;18195:19;;17854:366;;;:::o;18226:419::-;18392:4;18430:2;18419:9;18415:18;18407:26;;18479:9;18473:4;18469:20;18465:1;18454:9;18450:17;18443:47;18507:131;18633:4;18507:131;:::i;:::-;18499:139;;18226:419;;;:::o;18651:224::-;18791:34;18787:1;18779:6;18775:14;18768:58;18860:7;18855:2;18847:6;18843:15;18836:32;18651:224;:::o;18881:366::-;19023:3;19044:67;19108:2;19103:3;19044:67;:::i;:::-;19037:74;;19120:93;19209:3;19120:93;:::i;:::-;19238:2;19233:3;19229:12;19222:19;;18881:366;;;:::o;19253:419::-;19419:4;19457:2;19446:9;19442:18;19434:26;;19506:9;19500:4;19496:20;19492:1;19481:9;19477:17;19470:47;19534:131;19660:4;19534:131;:::i;:::-;19526:139;;19253:419;;;:::o;19678:222::-;19818:34;19814:1;19806:6;19802:14;19795:58;19887:5;19882:2;19874:6;19870:15;19863:30;19678:222;:::o;19906:366::-;20048:3;20069:67;20133:2;20128:3;20069:67;:::i;:::-;20062:74;;20145:93;20234:3;20145:93;:::i;:::-;20263:2;20258:3;20254:12;20247:19;;19906:366;;;:::o;20278:419::-;20444:4;20482:2;20471:9;20467:18;20459:26;;20531:9;20525:4;20521:20;20517:1;20506:9;20502:17;20495:47;20559:131;20685:4;20559:131;:::i;:::-;20551:139;;20278:419;;;:::o;20703:225::-;20843:34;20839:1;20831:6;20827:14;20820:58;20912:8;20907:2;20899:6;20895:15;20888:33;20703:225;:::o;20934:366::-;21076:3;21097:67;21161:2;21156:3;21097:67;:::i;:::-;21090:74;;21173:93;21262:3;21173:93;:::i;:::-;21291:2;21286:3;21282:12;21275:19;;20934:366;;;:::o;21306:419::-;21472:4;21510:2;21499:9;21495:18;21487:26;;21559:9;21553:4;21549:20;21545:1;21534:9;21530:17;21523:47;21587:131;21713:4;21587:131;:::i;:::-;21579:139;;21306:419;;;:::o
Swarm Source
ipfs://2276bc3608f5b5d3d4fe0578f904a96a70319995516d4d10932b0b054dc7bc55
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.