Polygon Sponsored slots available. Book your slot here!
ERC-20
Overview
Max Total Supply
1,000,000,000 TC
Holders
3
Total Transfers
-
Market
Price
$0.00 @ 0.000000 POL
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
LastStablecoin
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2025-02-04 */ /** ██╗ █████╗ ███████╗████████╗ ███████╗████████╗ █████╗ ██████╗ ██╗ ███████╗ ██████╗ ██████╗ ██╗███╗ ██╗ ██║ ██╔══██╗██╔════╝╚══██╔══╝ ██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║ ██╔════╝██╔════╝██╔═══██╗██║████╗ ██║ ██║ ███████║███████╗ ██║ ███████╗ ██║ ███████║██████╔╝██║ █████╗ ██║ ██║ ██║██║██╔██╗ ██║ ██║ ██╔══██║╚════██║ ██║ ╚════██║ ██║ ██╔══██║██╔══██╗██║ ██╔══╝ ██║ ██║ ██║██║██║╚██╗██║ ███████╗██║ ██║███████║ ██║ ███████║ ██║ ██║ ██║██████╔╝███████╗███████╗╚██████╗╚██████╔╝██║██║ ╚████║ ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝ */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.26; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be _NOT_ENTERED require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == _ENTERED; } } /** * @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; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } 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 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); } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address lpPair, uint); function getPair(address tokenA, address tokenB) external view returns (address lpPair); function createPair(address tokenA, address tokenB) external returns (address lpPair); } interface IRouter01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } /** * @title LastStablecoin (LSC) * @dev An ERC-20 token with a fixed supply, anti-whale mechanism, and tax system. */ contract LastStablecoin is Ownable, IERC20,ReentrancyGuard { // Token metadata string private constant _name = "Test coin"; string private constant _symbol = "TC"; uint8 private constant _decimals = 18; uint256 private _totalSupply = 1_000_000_000 * 10**uint256(_decimals); // 1 billion tokens // Mapping to store balances and allowances mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) private _allowances; // Address to receive tax funds address public taxWallet; // Tax percentage on buy/sell transactions uint256 public totalTaxPercent = 3; // Minimum amount required to trigger tax distribution uint256 public taxThreshold = 1000 * 10**uint256(_decimals); // 1000 LSC // Anti-whale mechanism: max buy/sell limit (1% of total supply) uint256 public maxBuySellAmount = _totalSupply / 100; // Uniswap router and pair addresses IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapPair; // Prevents reentrancy during tax swap bool private swapping; bool public trade_open; uint256 private currentBlockNumber; uint256 public numBlocks = 100; // Events for tracking updates event UpdatedTaxWallet(address updatedTaxWallet); event UpatedTaxThreshold(uint256 updateTaxThreshold); event UpdatedMaxAmount(uint256 updatedMaxAmount); /** * @dev Contract constructor * @param _taxWallet Address where tax funds will be collected */ constructor(address _taxWallet) { require(_taxWallet != address(0), "Tax wallet cannot be zero address"); // Assign contract ownership to deployer transferOwnership(msg.sender); // Mint total supply to contract owner _balances[owner()] = _totalSupply; // Initialize Uniswap router and create liquidity pair IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff // Ethereum mainnet UniswapV2 Router ); uniswapV2Router = _uniswapV2Router; uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair( address(this), _uniswapV2Router.WETH() ); // Approve Uniswap router for token transfers _approve(owner(), address(uniswapV2Router), type(uint256).max); _approve(address(this), address(uniswapV2Router), type(uint256).max); // Set tax wallet taxWallet = _taxWallet; // Emit initial transfer event emit Transfer(address(0), owner(), _totalSupply); } /** * @notice Retrieves the name of the token. * @dev This function returns the name of the token, which is often used for identification. * It is commonly displayed in user interfaces and provides a human-readable name for the token. * @return The name of the token. */ function name() public view virtual returns (string memory) { return _name; } /** * @notice Retrieves the symbol or ticker of the token. * @dev This function returns the symbol or ticker that represents the token. * It is commonly used for identifying the token in user interfaces and exchanges. * @return The symbol or ticker of the token. */ function symbol() public view virtual returns (string memory) { return _symbol; } /** * @notice Retrieves the number of decimal places used in the token representation. * @dev This function returns the number of decimal places used to represent the token balances. * It is commonly used to interpret the token amounts correctly in user interfaces. * @return The number of decimal places used in the token representation. */ function decimals() public view virtual returns (uint8) { return _decimals; } /** * @notice Retrieves the total supply of tokens. * @dev This function returns the total supply of tokens in circulation. * @return The total supply of tokens. */ function totalSupply() public view virtual returns (uint256) { return _totalSupply; } /** * @notice Returns the balance of the specified account. * @param account The address for which the balance is being queried. * @return The balance of the specified account. */ function balanceOf( address account ) public view virtual returns (uint256) { return _balances[account]; } /** * @notice Transfers tokens from the sender's account to the specified recipient. * @dev This function is used to transfer tokens from the sender's account to the specified recipient. * @param to The address of the recipient to which tokens will be transferred. * @param amount The amount of tokens to be transferred. * @return A boolean indicating whether the transfer was successful or not. */ function transfer( address to, uint256 amount ) public virtual returns (bool) { address owner = msg.sender; _transfer(owner, to, amount); return true; } /** * @notice Transfers tokens from one account to another on behalf of a spender. * @dev This function is used to transfer tokens from one account to another on behalf of a spender. * @param from The address from which tokens will be transferred. * @param to The address to which tokens will be transferred. * @param amount The amount of tokens to be transferred. * @return A boolean indicating whether the transfer was successful or not. */ function transferFrom( address from, address to, uint256 amount ) public virtual returns (bool) { address spender = msg.sender; _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @notice Returns the amount of tokens that the spender is allowed to spend on behalf of the owner. * @param owner The address of the owner of the tokens. * @param spender The address of the spender. * @return The allowance amount. */ function allowance( address owner, address spender ) public view virtual returns (uint256) { return _allowances[owner][spender]; } /** * @notice Approves the spender to spend a specified amount of tokens on behalf of the sender. * @param spender The address of the spender to be approved. * @param amount The amount of tokens to be approved for spending. * @return A boolean indicating whether the approval was successful or not. */ function approve(address spender, uint256 amount) public returns (bool) { _approve(msg.sender, spender, amount); return true; } /** * @notice Internal function to set allowance for a spender. * @dev This function sets the allowance for a spender to spend tokens on behalf of the owner. * @param sender The address of the owner of the tokens. * @param spender The address of the spender. * @param amount The amount of tokens to be approved for spending. */ function _approve(address sender, address spender, uint256 amount) internal { require(sender != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[sender][spender] = amount; emit Approval(sender, spender, amount); } /** * @notice Internal function to spend tokens from the allowance of a spender. * @dev This function checks if the spender has sufficient allowance from the owner * to spend the specified amount of tokens. If the spender's allowance is not * unlimited, it is decreased by the spent amount. * @param owner The address of the owner of the tokens. * @param spender The address of the spender. * @param amount The amount of tokens to be spent. */ 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); } } } /** * @notice Internal function to transfer tokens from one address to another. * @dev This function transfers a specified amount of tokens from one address to another. * @param from The address from which tokens will be transferred. * @param to The address to which tokens will be transferred. * @param amount The amount of tokens to be transferred. */ function _transferTokens( address from, address to, uint256 amount ) internal virtual { 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); } /** * @notice Sets the maximum buy/sell limit per transaction. * @dev Ensures that the new limit is above a predefined minimum to prevent extreme restrictions. * * The function allows the contract owner to modify the maximum buy/sell limit, * ensuring flexibility in managing transaction size restrictions. * * The `amount` parameter should include decimal places. * For example, if the token has 18 decimals, setting a limit of 1,000,000 tokens * requires an input of `1_000_000 * 10^18`. * * Emits an {UpdatedMaxAmount} event upon successful update. * * @param amount The new maximum amount allowed per transaction. Must include decimals. */ function setMaxBuySellLimit(uint256 amount) external onlyOwner { require(amount >= 1_000_000 * 10**uint256(_decimals), "Max buy sell limit can not be less than 1_000_000 tokens"); maxBuySellAmount = amount; emit UpdatedMaxAmount(maxBuySellAmount); } /** * @dev Enables or disables trading for the token. * Only the contract owner can call this function. * If trading is enabled, it stores the current block number. */ function enableTrade() public onlyOwner { require(!trade_open, "Trading already open"); trade_open = true; currentBlockNumber = block.number; } /** * @dev Returns whether trading is currently enabled. * @return Boolean value indicating if trading is open. */ function isTradeEnabled() external view returns (bool) { return trade_open; } /** * @dev Sets a new development wallet address. * - Only callable by the contract owner. * - Ensures that the provided address is not the zero address. * - Updates the `taxWallet` state variable with the new address. * - Emits an `UpdatedTaxWallet` event to log the change. * @param wallet The new development wallet address. */ function setTaxWallet(address wallet) external onlyOwner { require(wallet != address(0),"Tax wallet cannot be zero address"); taxWallet = wallet; emit UpdatedTaxWallet(taxWallet); } /** * @dev Sets the minimum token threshold for tax collection. * - Only callable by the contract owner. * - Ensures that the threshold is greater than zero to prevent invalid values. * - Updates the `taxThreshold` state variable with the new threshold. * - Emits an `UpdatedTaxThreshold` event to log the new threshold value. * @param _threshold The new tax threshold amount. Amount shoud be with decimals. */ function setTaxThreshold(uint256 _threshold) external onlyOwner { require(_threshold > 1000 * 10 ** decimals(), "Amount should be more than zero"); taxThreshold = _threshold; emit UpatedTaxThreshold(taxThreshold); } /** * @dev Swaps a specified amount of tokens for ETH using the Uniswap V2 router. * - The swap follows the token -> WETH path, converting tokens held by the contract into ETH. * - Approves the Uniswap router to spend the specified token amount. * - Uses `swapExactTokensForETHSupportingFeeOnTransferTokens` to execute the swap, which ensures fee-on-transfer tokens are supported. * - Accepts any amount of ETH in return for the swap. * - Sends the swapped ETH to the contract's address. * @param tokenAmount The amount of tokens to be swapped for ETH. */ function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } /** * @notice Swaps contract-held tokens for ETH and transfers the tax amount to the tax wallet. * @dev Uses Uniswap to swap tokens for ETH and prevents reentrancy attacks. * * - Limits the swap amount to `maxBuySellAmount` to prevent excessive swaps. * - Uses `nonReentrant` to avoid reentrancy vulnerabilities. * - Sends the swapped ETH to the tax wallet, ensuring gas efficiency. */ function swapAndLiquify() internal { uint256 contractTokenBalance = balanceOf(address(this)); uint256 initialBalance = address(this).balance; swapTokensForEth(contractTokenBalance); uint256 newBalance = address(this).balance - (initialBalance); bool transferSuccessToTaxwallet; (transferSuccessToTaxwallet,) = taxWallet.call{value: newBalance, gas: 35000}(""); require(transferSuccessToTaxwallet, "Transfer to Tax wallet failed"); } /** * _transfer function handles token transfers, with special rules for buy/sell transactions and tax handling. * * Netscape Comment: * For normal transfers (between non-Uniswap addresses and non-owner accounts), the transfer proceeds without any tax. * If the transfer involves buying or selling on Uniswap, the function ensures the amount doesn't exceed the max buy/sell limit, calculates the tax, and deducts it. * Blacklisted addresses cannot participate in transfers, and no tax is applied for owner or normal transfers. */ function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); //If it's the owner, do a normal transfer if (sender == owner() || recipient == owner() || sender == address(this)) { _transferTokens(sender, recipient, amount); return; } //Check if trading is enabled require(trade_open, "Trading is disabled"); if(block.number <= currentBlockNumber + numBlocks){ require(false); return; } bool isBuy = sender == uniswapPair; bool isSell = recipient == uniswapPair; uint256 taxAmount; uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= taxThreshold; if ( canSwap && sender != uniswapPair && !swapping ) { swapping = true; swapAndLiquify(); swapping = false; } if (isBuy || isSell) { require(maxBuySellAmount >= amount,"Exceed Buy sell max limit"); taxAmount = _calculateTax(amount, totalTaxPercent); _transferTokens(sender, address(this), taxAmount); } amount -= taxAmount; _transferTokens(sender, recipient, amount); } /** * @dev Calculates the tax amount based on the provided percentage. * @param amount The total amount to calculate tax on. * @param _taxPercentage The tax percentage. * @return The calculated tax amount. */ function _calculateTax(uint256 amount, uint256 _taxPercentage) internal pure returns (uint256) { return (amount * _taxPercentage) / 100; } /** * @dev Function to receive ETH when sent directly to the contract. * This function is called when no data is supplied with the transaction. */ receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_taxWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"updateTaxThreshold","type":"uint256"}],"name":"UpatedTaxThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"updatedMaxAmount","type":"uint256"}],"name":"UpdatedMaxAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"updatedTaxWallet","type":"address"}],"name":"UpdatedTaxWallet","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isTradeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuySellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"amount","type":"uint256"}],"name":"setMaxBuySellLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setTaxThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTaxPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trade_open","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052601260ff16600a61001591906109b1565b633b9aca0061002491906109fb565b6002556003600655601260ff16600a61003d91906109b1565b6103e861004a91906109fb565b600755606460025461005c9190610a69565b6008556064600b5534801561006f575f80fd5b5060405161376c38038061376c83398181016040528101906100919190610af7565b6100ad6100a261048260201b60201c565b61048960201b60201c565b600180819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011990610ba2565b60405180910390fd5b6101313361054a60201b60201c565b60025460035f6101456105d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73a5e0829caced8ffdd4de3c43696c57f7d7a678ff90508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023b9190610af7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c49190610af7565b6040518363ffffffff1660e01b81526004016102e1929190610bcf565b6020604051808303815f875af11580156102fd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103219190610af7565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506103946103656105d860201b60201c565b6080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6105ff60201b60201c565b6103c7306080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6105ff60201b60201c565b8160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104156105d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6002546040516104739190610c05565b60405180910390a35050610e30565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6105586107c260201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bd90610c8e565b60405180910390fd5b6105d58161048960201b60201c565b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361066d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066490610d1c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d290610daa565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107b59190610c05565b60405180910390a3505050565b6107d061048260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166107f46105d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161461084a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084190610e12565b60405180910390fd5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156108ce578086048111156108aa576108a961084c565b5b60018516156108b95780820291505b80810290506108c785610879565b945061088e565b94509492505050565b5f826108e657600190506109a1565b816108f3575f90506109a1565b8160018114610909576002811461091357610942565b60019150506109a1565b60ff8411156109255761092461084c565b5b8360020a91508482111561093c5761093b61084c565b5b506109a1565b5060208310610133831016604e8410600b84101617156109775782820a9050838111156109725761097161084c565b5b6109a1565b6109848484846001610885565b9250905081840481111561099b5761099a61084c565b5b81810290505b9392505050565b5f819050919050565b5f6109bb826109a8565b91506109c6836109a8565b92506109f37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846108d7565b905092915050565b5f610a05826109a8565b9150610a10836109a8565b9250828202610a1e816109a8565b91508282048414831517610a3557610a3461084c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610a73826109a8565b9150610a7e836109a8565b925082610a8e57610a8d610a3c565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ac682610a9d565b9050919050565b610ad681610abc565b8114610ae0575f80fd5b50565b5f81519050610af181610acd565b92915050565b5f60208284031215610b0c57610b0b610a99565b5b5f610b1984828501610ae3565b91505092915050565b5f82825260208201905092915050565b7f5461782077616c6c65742063616e6e6f74206265207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f610b8c602183610b22565b9150610b9782610b32565b604082019050919050565b5f6020820190508181035f830152610bb981610b80565b9050919050565b610bc981610abc565b82525050565b5f604082019050610be25f830185610bc0565b610bef6020830184610bc0565b9392505050565b610bff816109a8565b82525050565b5f602082019050610c185f830184610bf6565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f610c78602683610b22565b9150610c8382610c1e565b604082019050919050565b5f6020820190508181035f830152610ca581610c6c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f610d06602483610b22565b9150610d1182610cac565b604082019050919050565b5f6020820190508181035f830152610d3381610cfa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f610d94602283610b22565b9150610d9f82610d3a565b604082019050919050565b5f6020820190508181035f830152610dc181610d88565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f610dfc602083610b22565b9150610e0782610dc8565b602082019050919050565b5f6020820190508181035f830152610e2981610df0565b9050919050565b60805160a0516128f1610e7b5f395f818161097b015281816110d001528181611122015261119101525f8181610735015281816116cb015281816117aa01526117d101526128f15ff3fe608060405260043610610168575f3560e01c8063715018a6116100d0578063930fc21611610089578063c816841b11610063578063c816841b14610501578063dd62ed3e1461052b578063ea414b2814610567578063f2fde38b1461058f5761016f565b8063930fc2161461047157806395d89b411461049b578063a9059cbb146104c55761016f565b8063715018a61461038957806376c683221461039f57806377d1440d146103c95780637aab5d9b146103f35780638d38a1271461041d5780638da5cb5b146104475761016f565b80631ef0bb2e116101225780631ef0bb2e1461026b57806323b872dd146102955780632dc0562d146102d1578063313ce567146102fb578063606c25051461032557806370a082311461034d5761016f565b806299d3861461017357806306fdde031461018957806307a212be146101b3578063095ea7b3146101db5780631694505e1461021757806318160ddd146102415761016f565b3661016f57005b5f80fd5b34801561017e575f80fd5b506101876105b7565b005b348015610194575f80fd5b5061019d610633565b6040516101aa91906118d1565b60405180910390f35b3480156101be575f80fd5b506101d960048036038101906101d49190611928565b610670565b005b3480156101e6575f80fd5b5061020160048036038101906101fc91906119ad565b61071d565b60405161020e9190611a05565b60405180910390f35b348015610222575f80fd5b5061022b610733565b6040516102389190611a79565b60405180910390f35b34801561024c575f80fd5b50610255610757565b6040516102629190611aa1565b60405180910390f35b348015610276575f80fd5b5061027f610760565b60405161028c9190611aa1565b60405180910390f35b3480156102a0575f80fd5b506102bb60048036038101906102b69190611aba565b610766565b6040516102c89190611a05565b60405180910390f35b3480156102dc575f80fd5b506102e561078d565b6040516102f29190611b19565b60405180910390f35b348015610306575f80fd5b5061030f6107b2565b60405161031c9190611b4d565b60405180910390f35b348015610330575f80fd5b5061034b60048036038101906103469190611928565b6107ba565b005b348015610358575f80fd5b50610373600480360381019061036e9190611b66565b610866565b6040516103809190611aa1565b60405180910390f35b348015610394575f80fd5b5061039d6108ac565b005b3480156103aa575f80fd5b506103b36108bf565b6040516103c09190611aa1565b60405180910390f35b3480156103d4575f80fd5b506103dd6108c5565b6040516103ea9190611aa1565b60405180910390f35b3480156103fe575f80fd5b506104076108cb565b6040516104149190611a05565b60405180910390f35b348015610428575f80fd5b506104316108de565b60405161043e9190611a05565b60405180910390f35b348015610452575f80fd5b5061045b6108f4565b6040516104689190611b19565b60405180910390f35b34801561047c575f80fd5b5061048561091b565b6040516104929190611aa1565b60405180910390f35b3480156104a6575f80fd5b506104af610921565b6040516104bc91906118d1565b60405180910390f35b3480156104d0575f80fd5b506104eb60048036038101906104e691906119ad565b61095e565b6040516104f89190611a05565b60405180910390f35b34801561050c575f80fd5b50610515610979565b6040516105229190611b19565b60405180910390f35b348015610536575f80fd5b50610551600480360381019061054c9190611b91565b61099d565b60405161055e9190611aa1565b60405180910390f35b348015610572575f80fd5b5061058d60048036038101906105889190611b66565b610a1f565b005b34801561059a575f80fd5b506105b560048036038101906105b09190611b66565b610b30565b005b6105bf610bb2565b600960019054906101000a900460ff161561060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060690611c19565b60405180910390fd5b6001600960016101000a81548160ff02191690831515021790555043600a81905550565b60606040518060400160405280600981526020017f5465737420636f696e0000000000000000000000000000000000000000000000815250905090565b610678610bb2565b6106806107b2565b600a61068c9190611d93565b6103e86106999190611ddd565b81116106da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d190611e68565b60405180910390fd5b806007819055507fce7d590cb64acf37a63ef3639ed605aef394b83a87619775dd7b52a9ecd736576007546040516107129190611aa1565b60405180910390a150565b5f610729338484610c30565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b60065481565b5f80339050610776858285610df3565b610781858585610e7e565b60019150509392505050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012905090565b6107c2610bb2565b601260ff16600a6107d39190611e86565b620f42406107e19190611ddd565b811015610823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081a90611f40565b60405180910390fd5b806008819055507f44d540c6079791f805bc9b5d5a643dbf1f545ec260212b2b2478ef9d9ed0768e60085460405161085b9190611aa1565b60405180910390a150565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108b4610bb2565b6108bd5f6112ca565b565b60085481565b60075481565b600960019054906101000a900460ff1681565b5f600960019054906101000a900460ff16905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600281526020017f5443000000000000000000000000000000000000000000000000000000000000815250905090565b5f8033905061096e818585610e7e565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610a27610bb2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8c90611fce565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff687226726f06f225612db0cafada16a8d19d81b7e3a544448c9943d8f6f868260055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b259190611b19565b60405180910390a150565b610b38610bb2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ba6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9d9061205c565b60405180910390fd5b610baf816112ca565b50565b610bba61138b565b73ffffffffffffffffffffffffffffffffffffffff16610bd86108f4565b73ffffffffffffffffffffffffffffffffffffffff1614610c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c25906120c4565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590612152565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d03906121e0565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610de69190611aa1565b60405180910390a3505050565b5f610dfe848461099d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e785781811015610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6190612248565b60405180910390fd5b610e778484848403610c30565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee3906122d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5190612364565b60405180910390fd5b5f8111610f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f93906123f2565b60405180910390fd5b610fa46108f4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061100f5750610fe06108f4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061104557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561105a57611055838383611392565b6112c5565b600960019054906101000a900460ff166110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a09061245a565b60405180910390fd5b600b54600a546110b99190612478565b43116110cd575f6110c8575f80fd5b6112c5565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f8061117c30610866565b90505f60075482101590508080156111e057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b80156111f8575060095f9054906101000a900460ff16155b1561123957600160095f6101000a81548160ff02191690831515021790555061121f61150f565b5f60095f6101000a81548160ff0219169083151502179055505b84806112425750835b156112a65785600854101561128c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611283906124f5565b60405180910390fd5b6112988660065461160d565b92506112a5883085611392565b5b82866112b29190612513565b95506112bf888888611392565b50505050505b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140d906125b6565b60405180910390fd5b81810360035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115019190611aa1565b60405180910390a350505050565b5f61151930610866565b90505f4790506115288261162e565b5f81476115359190612513565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826188b89060405161158190612601565b5f60405180830381858888f193505050503d805f81146115bc576040519150601f19603f3d011682016040523d82523d5f602084013e6115c1565b606091505b50508091505080611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061265f565b60405180910390fd5b50505050565b5f6064828461161c9190611ddd565b61162691906126aa565b905092915050565b5f600267ffffffffffffffff81111561164a576116496126da565b5b6040519080825280602002602001820160405280156116785781602001602082028036833780820191505090505b50905030815f8151811061168f5761168e612707565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611732573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117569190612748565b8160018151811061176a57611769612707565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117cf307f000000000000000000000000000000000000000000000000000000000000000084610c30565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611830959493929190612863565b5f604051808303815f87803b158015611847575f80fd5b505af1158015611859573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6118a382611861565b6118ad818561186b565b93506118bd81856020860161187b565b6118c681611889565b840191505092915050565b5f6020820190508181035f8301526118e98184611899565b905092915050565b5f80fd5b5f819050919050565b611907816118f5565b8114611911575f80fd5b50565b5f81359050611922816118fe565b92915050565b5f6020828403121561193d5761193c6118f1565b5b5f61194a84828501611914565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61197c82611953565b9050919050565b61198c81611972565b8114611996575f80fd5b50565b5f813590506119a781611983565b92915050565b5f80604083850312156119c3576119c26118f1565b5b5f6119d085828601611999565b92505060206119e185828601611914565b9150509250929050565b5f8115159050919050565b6119ff816119eb565b82525050565b5f602082019050611a185f8301846119f6565b92915050565b5f819050919050565b5f611a41611a3c611a3784611953565b611a1e565b611953565b9050919050565b5f611a5282611a27565b9050919050565b5f611a6382611a48565b9050919050565b611a7381611a59565b82525050565b5f602082019050611a8c5f830184611a6a565b92915050565b611a9b816118f5565b82525050565b5f602082019050611ab45f830184611a92565b92915050565b5f805f60608486031215611ad157611ad06118f1565b5b5f611ade86828701611999565b9350506020611aef86828701611999565b9250506040611b0086828701611914565b9150509250925092565b611b1381611972565b82525050565b5f602082019050611b2c5f830184611b0a565b92915050565b5f60ff82169050919050565b611b4781611b32565b82525050565b5f602082019050611b605f830184611b3e565b92915050565b5f60208284031215611b7b57611b7a6118f1565b5b5f611b8884828501611999565b91505092915050565b5f8060408385031215611ba757611ba66118f1565b5b5f611bb485828601611999565b9250506020611bc585828601611999565b9150509250929050565b7f54726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f611c0360148361186b565b9150611c0e82611bcf565b602082019050919050565b5f6020820190508181035f830152611c3081611bf7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611cb957808604811115611c9557611c94611c37565b5b6001851615611ca45780820291505b8081029050611cb285611c64565b9450611c79565b94509492505050565b5f82611cd15760019050611d8c565b81611cde575f9050611d8c565b8160018114611cf45760028114611cfe57611d2d565b6001915050611d8c565b60ff841115611d1057611d0f611c37565b5b8360020a915084821115611d2757611d26611c37565b5b50611d8c565b5060208310610133831016604e8410600b8410161715611d625782820a905083811115611d5d57611d5c611c37565b5b611d8c565b611d6f8484846001611c70565b92509050818404811115611d8657611d85611c37565b5b81810290505b9392505050565b5f611d9d826118f5565b9150611da883611b32565b9250611dd57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611cc2565b905092915050565b5f611de7826118f5565b9150611df2836118f5565b9250828202611e00816118f5565b91508282048414831517611e1757611e16611c37565b5b5092915050565b7f416d6f756e742073686f756c64206265206d6f7265207468616e207a65726f005f82015250565b5f611e52601f8361186b565b9150611e5d82611e1e565b602082019050919050565b5f6020820190508181035f830152611e7f81611e46565b9050919050565b5f611e90826118f5565b9150611e9b836118f5565b9250611ec87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611cc2565b905092915050565b7f4d6178206275792073656c6c206c696d69742063616e206e6f74206265206c655f8201527f7373207468616e20315f3030305f30303020746f6b656e730000000000000000602082015250565b5f611f2a60388361186b565b9150611f3582611ed0565b604082019050919050565b5f6020820190508181035f830152611f5781611f1e565b9050919050565b7f5461782077616c6c65742063616e6e6f74206265207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fb860218361186b565b9150611fc382611f5e565b604082019050919050565b5f6020820190508181035f830152611fe581611fac565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61204660268361186b565b915061205182611fec565b604082019050919050565b5f6020820190508181035f8301526120738161203a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6120ae60208361186b565b91506120b98261207a565b602082019050919050565b5f6020820190508181035f8301526120db816120a2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61213c60248361186b565b9150612147826120e2565b604082019050919050565b5f6020820190508181035f83015261216981612130565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121ca60228361186b565b91506121d582612170565b604082019050919050565b5f6020820190508181035f8301526121f7816121be565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612232601d8361186b565b915061223d826121fe565b602082019050919050565b5f6020820190508181035f83015261225f81612226565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6122c060258361186b565b91506122cb82612266565b604082019050919050565b5f6020820190508181035f8301526122ed816122b4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61234e60238361186b565b9150612359826122f4565b604082019050919050565b5f6020820190508181035f83015261237b81612342565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6123dc60298361186b565b91506123e782612382565b604082019050919050565b5f6020820190508181035f830152612409816123d0565b9050919050565b7f54726164696e672069732064697361626c6564000000000000000000000000005f82015250565b5f61244460138361186b565b915061244f82612410565b602082019050919050565b5f6020820190508181035f83015261247181612438565b9050919050565b5f612482826118f5565b915061248d836118f5565b92508282019050808211156124a5576124a4611c37565b5b92915050565b7f457863656564204275792073656c6c206d6178206c696d6974000000000000005f82015250565b5f6124df60198361186b565b91506124ea826124ab565b602082019050919050565b5f6020820190508181035f83015261250c816124d3565b9050919050565b5f61251d826118f5565b9150612528836118f5565b92508282039050818111156125405761253f611c37565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6125a060268361186b565b91506125ab82612546565b604082019050919050565b5f6020820190508181035f8301526125cd81612594565b9050919050565b5f81905092915050565b50565b5f6125ec5f836125d4565b91506125f7826125de565b5f82019050919050565b5f61260b826125e1565b9150819050919050565b7f5472616e7366657220746f205461782077616c6c6574206661696c65640000005f82015250565b5f612649601d8361186b565b915061265482612615565b602082019050919050565b5f6020820190508181035f8301526126768161263d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126b4826118f5565b91506126bf836118f5565b9250826126cf576126ce61267d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061274281611983565b92915050565b5f6020828403121561275d5761275c6118f1565b5b5f61276a84828501612734565b91505092915050565b5f819050919050565b5f61279661279161278c84612773565b611a1e565b6118f5565b9050919050565b6127a68161277c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6127de81611972565b82525050565b5f6127ef83836127d5565b60208301905092915050565b5f602082019050919050565b5f612811826127ac565b61281b81856127b6565b9350612826836127c6565b805f5b8381101561285657815161283d88826127e4565b9750612848836127fb565b925050600181019050612829565b5085935050505092915050565b5f60a0820190506128765f830188611a92565b612883602083018761279d565b81810360408301526128958186612807565b90506128a46060830185611b0a565b6128b16080830184611a92565b969550505050505056fea26469706673582212201c3a67a2f23ef78b472a70354ab84ec4792eb08258bed3bc32cd8ebe2632a03d64736f6c634300081a0033000000000000000000000000499915399cf7974253c981987a0412b55b1f9b4b
Deployed Bytecode
0x608060405260043610610168575f3560e01c8063715018a6116100d0578063930fc21611610089578063c816841b11610063578063c816841b14610501578063dd62ed3e1461052b578063ea414b2814610567578063f2fde38b1461058f5761016f565b8063930fc2161461047157806395d89b411461049b578063a9059cbb146104c55761016f565b8063715018a61461038957806376c683221461039f57806377d1440d146103c95780637aab5d9b146103f35780638d38a1271461041d5780638da5cb5b146104475761016f565b80631ef0bb2e116101225780631ef0bb2e1461026b57806323b872dd146102955780632dc0562d146102d1578063313ce567146102fb578063606c25051461032557806370a082311461034d5761016f565b806299d3861461017357806306fdde031461018957806307a212be146101b3578063095ea7b3146101db5780631694505e1461021757806318160ddd146102415761016f565b3661016f57005b5f80fd5b34801561017e575f80fd5b506101876105b7565b005b348015610194575f80fd5b5061019d610633565b6040516101aa91906118d1565b60405180910390f35b3480156101be575f80fd5b506101d960048036038101906101d49190611928565b610670565b005b3480156101e6575f80fd5b5061020160048036038101906101fc91906119ad565b61071d565b60405161020e9190611a05565b60405180910390f35b348015610222575f80fd5b5061022b610733565b6040516102389190611a79565b60405180910390f35b34801561024c575f80fd5b50610255610757565b6040516102629190611aa1565b60405180910390f35b348015610276575f80fd5b5061027f610760565b60405161028c9190611aa1565b60405180910390f35b3480156102a0575f80fd5b506102bb60048036038101906102b69190611aba565b610766565b6040516102c89190611a05565b60405180910390f35b3480156102dc575f80fd5b506102e561078d565b6040516102f29190611b19565b60405180910390f35b348015610306575f80fd5b5061030f6107b2565b60405161031c9190611b4d565b60405180910390f35b348015610330575f80fd5b5061034b60048036038101906103469190611928565b6107ba565b005b348015610358575f80fd5b50610373600480360381019061036e9190611b66565b610866565b6040516103809190611aa1565b60405180910390f35b348015610394575f80fd5b5061039d6108ac565b005b3480156103aa575f80fd5b506103b36108bf565b6040516103c09190611aa1565b60405180910390f35b3480156103d4575f80fd5b506103dd6108c5565b6040516103ea9190611aa1565b60405180910390f35b3480156103fe575f80fd5b506104076108cb565b6040516104149190611a05565b60405180910390f35b348015610428575f80fd5b506104316108de565b60405161043e9190611a05565b60405180910390f35b348015610452575f80fd5b5061045b6108f4565b6040516104689190611b19565b60405180910390f35b34801561047c575f80fd5b5061048561091b565b6040516104929190611aa1565b60405180910390f35b3480156104a6575f80fd5b506104af610921565b6040516104bc91906118d1565b60405180910390f35b3480156104d0575f80fd5b506104eb60048036038101906104e691906119ad565b61095e565b6040516104f89190611a05565b60405180910390f35b34801561050c575f80fd5b50610515610979565b6040516105229190611b19565b60405180910390f35b348015610536575f80fd5b50610551600480360381019061054c9190611b91565b61099d565b60405161055e9190611aa1565b60405180910390f35b348015610572575f80fd5b5061058d60048036038101906105889190611b66565b610a1f565b005b34801561059a575f80fd5b506105b560048036038101906105b09190611b66565b610b30565b005b6105bf610bb2565b600960019054906101000a900460ff161561060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060690611c19565b60405180910390fd5b6001600960016101000a81548160ff02191690831515021790555043600a81905550565b60606040518060400160405280600981526020017f5465737420636f696e0000000000000000000000000000000000000000000000815250905090565b610678610bb2565b6106806107b2565b600a61068c9190611d93565b6103e86106999190611ddd565b81116106da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d190611e68565b60405180910390fd5b806007819055507fce7d590cb64acf37a63ef3639ed605aef394b83a87619775dd7b52a9ecd736576007546040516107129190611aa1565b60405180910390a150565b5f610729338484610c30565b6001905092915050565b7f000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff81565b5f600254905090565b60065481565b5f80339050610776858285610df3565b610781858585610e7e565b60019150509392505050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012905090565b6107c2610bb2565b601260ff16600a6107d39190611e86565b620f42406107e19190611ddd565b811015610823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081a90611f40565b60405180910390fd5b806008819055507f44d540c6079791f805bc9b5d5a643dbf1f545ec260212b2b2478ef9d9ed0768e60085460405161085b9190611aa1565b60405180910390a150565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108b4610bb2565b6108bd5f6112ca565b565b60085481565b60075481565b600960019054906101000a900460ff1681565b5f600960019054906101000a900460ff16905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600281526020017f5443000000000000000000000000000000000000000000000000000000000000815250905090565b5f8033905061096e818585610e7e565b600191505092915050565b7f000000000000000000000000ca823d74719cd3e451af851c4efe8a4ea64fa87e81565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610a27610bb2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8c90611fce565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff687226726f06f225612db0cafada16a8d19d81b7e3a544448c9943d8f6f868260055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b259190611b19565b60405180910390a150565b610b38610bb2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ba6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9d9061205c565b60405180910390fd5b610baf816112ca565b50565b610bba61138b565b73ffffffffffffffffffffffffffffffffffffffff16610bd86108f4565b73ffffffffffffffffffffffffffffffffffffffff1614610c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c25906120c4565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590612152565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d03906121e0565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610de69190611aa1565b60405180910390a3505050565b5f610dfe848461099d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e785781811015610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6190612248565b60405180910390fd5b610e778484848403610c30565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee3906122d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5190612364565b60405180910390fd5b5f8111610f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f93906123f2565b60405180910390fd5b610fa46108f4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061100f5750610fe06108f4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061104557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561105a57611055838383611392565b6112c5565b600960019054906101000a900460ff166110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a09061245a565b60405180910390fd5b600b54600a546110b99190612478565b43116110cd575f6110c8575f80fd5b6112c5565b5f7f000000000000000000000000ca823d74719cd3e451af851c4efe8a4ea64fa87e73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f7f000000000000000000000000ca823d74719cd3e451af851c4efe8a4ea64fa87e73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f8061117c30610866565b90505f60075482101590508080156111e057507f000000000000000000000000ca823d74719cd3e451af851c4efe8a4ea64fa87e73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b80156111f8575060095f9054906101000a900460ff16155b1561123957600160095f6101000a81548160ff02191690831515021790555061121f61150f565b5f60095f6101000a81548160ff0219169083151502179055505b84806112425750835b156112a65785600854101561128c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611283906124f5565b60405180910390fd5b6112988660065461160d565b92506112a5883085611392565b5b82866112b29190612513565b95506112bf888888611392565b50505050505b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140d906125b6565b60405180910390fd5b81810360035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115019190611aa1565b60405180910390a350505050565b5f61151930610866565b90505f4790506115288261162e565b5f81476115359190612513565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826188b89060405161158190612601565b5f60405180830381858888f193505050503d805f81146115bc576040519150601f19603f3d011682016040523d82523d5f602084013e6115c1565b606091505b50508091505080611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061265f565b60405180910390fd5b50505050565b5f6064828461161c9190611ddd565b61162691906126aa565b905092915050565b5f600267ffffffffffffffff81111561164a576116496126da565b5b6040519080825280602002602001820160405280156116785781602001602082028036833780820191505090505b50905030815f8151811061168f5761168e612707565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611732573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117569190612748565b8160018151811061176a57611769612707565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117cf307f000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff84610c30565b7f000000000000000000000000a5e0829caced8ffdd4de3c43696c57f7d7a678ff73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611830959493929190612863565b5f604051808303815f87803b158015611847575f80fd5b505af1158015611859573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6118a382611861565b6118ad818561186b565b93506118bd81856020860161187b565b6118c681611889565b840191505092915050565b5f6020820190508181035f8301526118e98184611899565b905092915050565b5f80fd5b5f819050919050565b611907816118f5565b8114611911575f80fd5b50565b5f81359050611922816118fe565b92915050565b5f6020828403121561193d5761193c6118f1565b5b5f61194a84828501611914565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61197c82611953565b9050919050565b61198c81611972565b8114611996575f80fd5b50565b5f813590506119a781611983565b92915050565b5f80604083850312156119c3576119c26118f1565b5b5f6119d085828601611999565b92505060206119e185828601611914565b9150509250929050565b5f8115159050919050565b6119ff816119eb565b82525050565b5f602082019050611a185f8301846119f6565b92915050565b5f819050919050565b5f611a41611a3c611a3784611953565b611a1e565b611953565b9050919050565b5f611a5282611a27565b9050919050565b5f611a6382611a48565b9050919050565b611a7381611a59565b82525050565b5f602082019050611a8c5f830184611a6a565b92915050565b611a9b816118f5565b82525050565b5f602082019050611ab45f830184611a92565b92915050565b5f805f60608486031215611ad157611ad06118f1565b5b5f611ade86828701611999565b9350506020611aef86828701611999565b9250506040611b0086828701611914565b9150509250925092565b611b1381611972565b82525050565b5f602082019050611b2c5f830184611b0a565b92915050565b5f60ff82169050919050565b611b4781611b32565b82525050565b5f602082019050611b605f830184611b3e565b92915050565b5f60208284031215611b7b57611b7a6118f1565b5b5f611b8884828501611999565b91505092915050565b5f8060408385031215611ba757611ba66118f1565b5b5f611bb485828601611999565b9250506020611bc585828601611999565b9150509250929050565b7f54726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f611c0360148361186b565b9150611c0e82611bcf565b602082019050919050565b5f6020820190508181035f830152611c3081611bf7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611cb957808604811115611c9557611c94611c37565b5b6001851615611ca45780820291505b8081029050611cb285611c64565b9450611c79565b94509492505050565b5f82611cd15760019050611d8c565b81611cde575f9050611d8c565b8160018114611cf45760028114611cfe57611d2d565b6001915050611d8c565b60ff841115611d1057611d0f611c37565b5b8360020a915084821115611d2757611d26611c37565b5b50611d8c565b5060208310610133831016604e8410600b8410161715611d625782820a905083811115611d5d57611d5c611c37565b5b611d8c565b611d6f8484846001611c70565b92509050818404811115611d8657611d85611c37565b5b81810290505b9392505050565b5f611d9d826118f5565b9150611da883611b32565b9250611dd57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611cc2565b905092915050565b5f611de7826118f5565b9150611df2836118f5565b9250828202611e00816118f5565b91508282048414831517611e1757611e16611c37565b5b5092915050565b7f416d6f756e742073686f756c64206265206d6f7265207468616e207a65726f005f82015250565b5f611e52601f8361186b565b9150611e5d82611e1e565b602082019050919050565b5f6020820190508181035f830152611e7f81611e46565b9050919050565b5f611e90826118f5565b9150611e9b836118f5565b9250611ec87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611cc2565b905092915050565b7f4d6178206275792073656c6c206c696d69742063616e206e6f74206265206c655f8201527f7373207468616e20315f3030305f30303020746f6b656e730000000000000000602082015250565b5f611f2a60388361186b565b9150611f3582611ed0565b604082019050919050565b5f6020820190508181035f830152611f5781611f1e565b9050919050565b7f5461782077616c6c65742063616e6e6f74206265207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fb860218361186b565b9150611fc382611f5e565b604082019050919050565b5f6020820190508181035f830152611fe581611fac565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61204660268361186b565b915061205182611fec565b604082019050919050565b5f6020820190508181035f8301526120738161203a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6120ae60208361186b565b91506120b98261207a565b602082019050919050565b5f6020820190508181035f8301526120db816120a2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61213c60248361186b565b9150612147826120e2565b604082019050919050565b5f6020820190508181035f83015261216981612130565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121ca60228361186b565b91506121d582612170565b604082019050919050565b5f6020820190508181035f8301526121f7816121be565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612232601d8361186b565b915061223d826121fe565b602082019050919050565b5f6020820190508181035f83015261225f81612226565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6122c060258361186b565b91506122cb82612266565b604082019050919050565b5f6020820190508181035f8301526122ed816122b4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61234e60238361186b565b9150612359826122f4565b604082019050919050565b5f6020820190508181035f83015261237b81612342565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6123dc60298361186b565b91506123e782612382565b604082019050919050565b5f6020820190508181035f830152612409816123d0565b9050919050565b7f54726164696e672069732064697361626c6564000000000000000000000000005f82015250565b5f61244460138361186b565b915061244f82612410565b602082019050919050565b5f6020820190508181035f83015261247181612438565b9050919050565b5f612482826118f5565b915061248d836118f5565b92508282019050808211156124a5576124a4611c37565b5b92915050565b7f457863656564204275792073656c6c206d6178206c696d6974000000000000005f82015250565b5f6124df60198361186b565b91506124ea826124ab565b602082019050919050565b5f6020820190508181035f83015261250c816124d3565b9050919050565b5f61251d826118f5565b9150612528836118f5565b92508282039050818111156125405761253f611c37565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6125a060268361186b565b91506125ab82612546565b604082019050919050565b5f6020820190508181035f8301526125cd81612594565b9050919050565b5f81905092915050565b50565b5f6125ec5f836125d4565b91506125f7826125de565b5f82019050919050565b5f61260b826125e1565b9150819050919050565b7f5472616e7366657220746f205461782077616c6c6574206661696c65640000005f82015250565b5f612649601d8361186b565b915061265482612615565b602082019050919050565b5f6020820190508181035f8301526126768161263d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126b4826118f5565b91506126bf836118f5565b9250826126cf576126ce61267d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061274281611983565b92915050565b5f6020828403121561275d5761275c6118f1565b5b5f61276a84828501612734565b91505092915050565b5f819050919050565b5f61279661279161278c84612773565b611a1e565b6118f5565b9050919050565b6127a68161277c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6127de81611972565b82525050565b5f6127ef83836127d5565b60208301905092915050565b5f602082019050919050565b5f612811826127ac565b61281b81856127b6565b9350612826836127c6565b805f5b8381101561285657815161283d88826127e4565b9750612848836127fb565b925050600181019050612829565b5085935050505092915050565b5f60a0820190506128765f830188611a92565b612883602083018761279d565b81810360408301526128958186612807565b90506128a46060830185611b0a565b6128b16080830184611a92565b969550505050505056fea26469706673582212201c3a67a2f23ef78b472a70354ab84ec4792eb08258bed3bc32cd8ebe2632a03d64736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000499915399cf7974253c981987a0412b55b1f9b4b
-----Decoded View---------------
Arg [0] : _taxWallet (address): 0x499915399Cf7974253C981987a0412b55B1f9B4b
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000499915399cf7974253c981987a0412b55b1f9b4b
Deployed Bytecode Sourcemap
13702:17848:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24785:182;;;;;;;;;;;;;:::i;:::-;;16809:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26262:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20654:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14716:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17985:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14348:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19582:285;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14263:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17691:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24294:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18299:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7547:103;;;;;;;;;;;;;:::i;:::-;;14609:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14455:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14901:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25113:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6897:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14971:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17210:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18879:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14774:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20145:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25590:213;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7806:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24785:182;6782:13;:11;:13::i;:::-;24845:10:::1;;;;;;;;;;;24844:11;24836:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;24904:4;24891:10;;:17;;;;;;;;;;;;;;;;;;24947:12;24926:18;:33;;;;24785:182::o:0;16809:92::-;16855:13;16888:5;;;;;;;;;;;;;;;;;16881:12;;16809:92;:::o;26262:247::-;6782:13;:11;:13::i;:::-;26371:10:::1;:8;:10::i;:::-;26365:2;:16;;;;:::i;:::-;26358:4;:23;;;;:::i;:::-;26345:10;:36;26337:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;26443:10;26428:12;:25;;;;26469:32;26488:12;;26469:32;;;;;;:::i;:::-;;;;;;;;26262:247:::0;:::o;20654:151::-;20721:4;20738:37;20747:10;20759:7;20768:6;20738:8;:37::i;:::-;20793:4;20786:11;;20654:151;;;;:::o;14716:51::-;;;:::o;17985:100::-;18038:7;18065:12;;18058:19;;17985:100;:::o;14348:34::-;;;;:::o;19582:285::-;19705:4;19722:15;19740:10;19722:28;;19761:38;19777:4;19783:7;19792:6;19761:15;:38::i;:::-;19810:27;19820:4;19826:2;19830:6;19810:9;:27::i;:::-;19855:4;19848:11;;;19582:285;;;;;:::o;14263:24::-;;;;;;;;;;;;;:::o;17691:92::-;17741:5;13927:2;17759:16;;17691:92;:::o;24294:281::-;6782:13;:11;:13::i;:::-;13927:2:::1;24402:18;;24398:2;:22;;;;:::i;:::-;24386:9;:34;;;;:::i;:::-;24376:6;:44;;24368:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;24511:6;24492:16;:25;;;;24533:34;24550:16;;24533:34;;;;;;:::i;:::-;;;;;;;;24294:281:::0;:::o;18299:135::-;18381:7;18408:9;:18;18418:7;18408:18;;;;;;;;;;;;;;;;18401:25;;18299:135;;;:::o;7547:103::-;6782:13;:11;:13::i;:::-;7612:30:::1;7639:1;7612:18;:30::i;:::-;7547:103::o:0;14609:52::-;;;;:::o;14455:59::-;;;;:::o;14901:22::-;;;;;;;;;;;;;:::o;25113:91::-;25162:4;25186:10;;;;;;;;;;;25179:17;;25113:91;:::o;6897:87::-;6943:7;6970:6;;;;;;;;;;;6963:13;;6897:87;:::o;14971:30::-;;;;:::o;17210:96::-;17258:13;17291:7;;;;;;;;;;;;;;;;;17284:14;;17210:96;:::o;18879:208::-;18975:4;18992:13;19008:10;18992:26;;19029:28;19039:5;19046:2;19050:6;19029:9;:28::i;:::-;19075:4;19068:11;;;18879:208;;;;:::o;14774:36::-;;;:::o;20145:168::-;20251:7;20278:11;:18;20290:5;20278:18;;;;;;;;;;;;;;;:27;20297:7;20278:27;;;;;;;;;;;;;;;;20271:34;;20145:168;;;;:::o;25590:213::-;6782:13;:11;:13::i;:::-;25684:1:::1;25666:20;;:6;:20;;::::0;25658:65:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;25746:6;25734:9;;:18;;;;;;;;;;;;;;;;;;25768:27;25785:9;;;;;;;;;;;25768:27;;;;;;:::i;:::-;;;;;;;;25590:213:::0;:::o;7806:238::-;6782:13;:11;:13::i;:::-;7929:1:::1;7909:22;;:8;:22;;::::0;7887:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;8008:28;8027:8;8008:18;:28::i;:::-;7806:238:::0;:::o;7063:132::-;7138:12;:10;:12::i;:::-;7127:23;;:7;:5;:7::i;:::-;:23;;;7119:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7063:132::o;21177:343::-;21290:1;21272:20;;:6;:20;;;21264:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;21371:1;21352:21;;:7;:21;;;21344:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21457:6;21426:11;:19;21438:6;21426:19;;;;;;;;;;;;;;;:28;21446:7;21426:28;;;;;;;;;;;;;;;:37;;;;21496:7;21479:33;;21488:6;21479:33;;;21505:6;21479:33;;;;;;:::i;:::-;;;;;;;;21177:343;;;:::o;22018:502::-;22153:24;22180:25;22190:5;22197:7;22180:9;:25::i;:::-;22153:52;;22240:17;22220:16;:37;22216:297;;22320:6;22300:16;:26;;22274:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;22435:51;22444:5;22451:7;22479:6;22460:16;:25;22435:8;:51::i;:::-;22216:297;22142:378;22018:502;;;:::o;29296:1645::-;29412:1;29394:20;;:6;:20;;;29386:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;29496:1;29475:23;;:9;:23;;;29467:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;29566:1;29557:6;:10;29549:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;29702:7;:5;:7::i;:::-;29692:17;;:6;:17;;;:41;;;;29726:7;:5;:7::i;:::-;29713:20;;:9;:20;;;29692:41;:68;;;;29755:4;29737:23;;:6;:23;;;29692:68;29688:164;;;29777:42;29793:6;29801:9;29812:6;29777:15;:42::i;:::-;29834:7;;29688:164;29912:10;;;;;;;;;;;29904:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;29999:9;;29978:18;;:30;;;;:::i;:::-;29962:12;:46;29959:124;;30037:5;30029:14;;;;;;30065:7;;29959:124;30097:10;30120:11;30110:21;;:6;:21;;;30097:34;;30142:11;30169;30156:24;;:9;:24;;;30142:38;;30191:17;30221:28;30252:24;30270:4;30252:9;:24::i;:::-;30221:55;;30287:12;30326;;30302:20;:36;;30287:51;;30370:7;:45;;;;;30404:11;30394:21;;:6;:21;;;;30370:45;:71;;;;;30433:8;;;;;;;;;;;30432:9;30370:71;30352:206;;;30480:4;30469:8;;:15;;;;;;;;;;;;;;;;;;30499:16;:14;:16::i;:::-;30541:5;30530:8;;:16;;;;;;;;;;;;;;;;;;30352:206;30581:5;:15;;;;30590:6;30581:15;30577:265;;;30641:6;30621:16;;:26;;30613:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;30709:38;30723:6;30731:15;;30709:13;:38::i;:::-;30697:50;;30766:49;30782:6;30798:4;30805:9;30766:15;:49::i;:::-;30577:265;30867:9;30857:19;;;;;:::i;:::-;;;30891:42;30907:6;30915:9;30926:6;30891:15;:42::i;:::-;29375:1566;;;;;29296:1645;;;;:::o;8205:191::-;8279:16;8298:6;;;;;;;;;;;8279:25;;8324:8;8315:6;;:17;;;;;;;;;;;;;;;;;;8379:8;8348:40;;8369:8;8348:40;;;;;;;;;;;;8268:128;8205:191;:::o;5575:98::-;5628:7;5655:10;5648:17;;5575:98;:::o;22921:627::-;23050:19;23072:9;:15;23082:4;23072:15;;;;;;;;;;;;;;;;23050:37;;23135:6;23120:11;:21;;23098:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;23275:6;23261:11;:20;23243:9;:15;23253:4;23243:15;;;;;;;;;;;;;;;:38;;;;23478:6;23461:9;:13;23471:2;23461:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;23529:2;23514:26;;23523:4;23514:26;;;23533:6;23514:26;;;;;;:::i;:::-;;;;;;;;23039:509;22921:627;;;:::o;28166:542::-;28212:28;28243:24;28261:4;28243:9;:24::i;:::-;28212:55;;28287:22;28312:21;28287:46;;28351:38;28368:20;28351:16;:38::i;:::-;28406:18;28452:14;28427:21;:40;;;;:::i;:::-;28406:61;;28484:31;28566:9;;;;;;;;;;;:14;;28588:10;28605:5;28566:49;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28534:81;;;;;28638:26;28630:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28201:507;;;;28166:542::o;31189:152::-;31275:7;31330:3;31312:14;31303:6;:23;;;;:::i;:::-;31302:31;;;;:::i;:::-;31295:38;;31189:152;;;;:::o;27135:591::-;27261:21;27299:1;27285:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27261:40;;27330:4;27312;27317:1;27312:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;27356:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27346:4;27351:1;27346:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;27392:62;27409:4;27424:15;27442:11;27392:8;:62::i;:::-;27494:15;:66;;;27575:11;27601:1;27645:4;27672;27692:15;27494:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27190:536;27135:591;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:77;1606:7;1635:5;1624:16;;1569:77;;;:::o;1652:122::-;1725:24;1743:5;1725:24;:::i;:::-;1718:5;1715:35;1705:63;;1764:1;1761;1754:12;1705:63;1652:122;:::o;1780:139::-;1826:5;1864:6;1851:20;1842:29;;1880:33;1907:5;1880:33;:::i;:::-;1780:139;;;;:::o;1925:329::-;1984:6;2033:2;2021:9;2012:7;2008:23;2004:32;2001:119;;;2039:79;;:::i;:::-;2001:119;2159:1;2184:53;2229:7;2220:6;2209:9;2205:22;2184:53;:::i;:::-;2174:63;;2130:117;1925:329;;;;:::o;2260:126::-;2297:7;2337:42;2330:5;2326:54;2315:65;;2260:126;;;:::o;2392:96::-;2429:7;2458:24;2476:5;2458:24;:::i;:::-;2447:35;;2392:96;;;:::o;2494:122::-;2567:24;2585:5;2567:24;:::i;:::-;2560:5;2557:35;2547:63;;2606:1;2603;2596:12;2547:63;2494:122;:::o;2622:139::-;2668:5;2706:6;2693:20;2684:29;;2722:33;2749:5;2722:33;:::i;:::-;2622:139;;;;:::o;2767:474::-;2835:6;2843;2892:2;2880:9;2871:7;2867:23;2863:32;2860:119;;;2898:79;;:::i;:::-;2860:119;3018:1;3043:53;3088:7;3079:6;3068:9;3064:22;3043:53;:::i;:::-;3033:63;;2989:117;3145:2;3171:53;3216:7;3207:6;3196:9;3192:22;3171:53;:::i;:::-;3161:63;;3116:118;2767:474;;;;;:::o;3247:90::-;3281:7;3324:5;3317:13;3310:21;3299:32;;3247:90;;;:::o;3343:109::-;3424:21;3439:5;3424:21;:::i;:::-;3419:3;3412:34;3343:109;;:::o;3458:210::-;3545:4;3583:2;3572:9;3568:18;3560:26;;3596:65;3658:1;3647:9;3643:17;3634:6;3596:65;:::i;:::-;3458:210;;;;:::o;3674:60::-;3702:3;3723:5;3716:12;;3674:60;;;:::o;3740:142::-;3790:9;3823:53;3841:34;3850:24;3868:5;3850:24;:::i;:::-;3841:34;:::i;:::-;3823:53;:::i;:::-;3810:66;;3740:142;;;:::o;3888:126::-;3938:9;3971:37;4002:5;3971:37;:::i;:::-;3958:50;;3888:126;;;:::o;4020:152::-;4096:9;4129:37;4160:5;4129:37;:::i;:::-;4116:50;;4020:152;;;:::o;4178:183::-;4291:63;4348:5;4291:63;:::i;:::-;4286:3;4279:76;4178:183;;:::o;4367:274::-;4486:4;4524:2;4513:9;4509:18;4501:26;;4537:97;4631:1;4620:9;4616:17;4607:6;4537:97;:::i;:::-;4367:274;;;;:::o;4647:118::-;4734:24;4752:5;4734:24;:::i;:::-;4729:3;4722:37;4647:118;;:::o;4771:222::-;4864:4;4902:2;4891:9;4887:18;4879:26;;4915:71;4983:1;4972:9;4968:17;4959:6;4915:71;:::i;:::-;4771:222;;;;:::o;4999:619::-;5076:6;5084;5092;5141:2;5129:9;5120:7;5116:23;5112:32;5109:119;;;5147:79;;:::i;:::-;5109:119;5267:1;5292:53;5337:7;5328:6;5317:9;5313:22;5292:53;:::i;:::-;5282:63;;5238:117;5394:2;5420:53;5465:7;5456:6;5445:9;5441:22;5420:53;:::i;:::-;5410:63;;5365:118;5522:2;5548:53;5593:7;5584:6;5573:9;5569:22;5548:53;:::i;:::-;5538:63;;5493:118;4999:619;;;;;:::o;5624:118::-;5711:24;5729:5;5711:24;:::i;:::-;5706:3;5699:37;5624:118;;:::o;5748:222::-;5841:4;5879:2;5868:9;5864:18;5856:26;;5892:71;5960:1;5949:9;5945:17;5936:6;5892:71;:::i;:::-;5748:222;;;;:::o;5976:86::-;6011:7;6051:4;6044:5;6040:16;6029:27;;5976:86;;;:::o;6068:112::-;6151:22;6167:5;6151:22;:::i;:::-;6146:3;6139:35;6068:112;;:::o;6186:214::-;6275:4;6313:2;6302:9;6298:18;6290:26;;6326:67;6390:1;6379:9;6375:17;6366:6;6326:67;:::i;:::-;6186:214;;;;:::o;6406:329::-;6465:6;6514:2;6502:9;6493:7;6489:23;6485:32;6482:119;;;6520:79;;:::i;:::-;6482:119;6640:1;6665:53;6710:7;6701:6;6690:9;6686:22;6665:53;:::i;:::-;6655:63;;6611:117;6406:329;;;;:::o;6741:474::-;6809:6;6817;6866:2;6854:9;6845:7;6841:23;6837:32;6834:119;;;6872:79;;:::i;:::-;6834:119;6992:1;7017:53;7062:7;7053:6;7042:9;7038:22;7017:53;:::i;:::-;7007:63;;6963:117;7119:2;7145:53;7190:7;7181:6;7170:9;7166:22;7145:53;:::i;:::-;7135:63;;7090:118;6741:474;;;;;:::o;7221:170::-;7361:22;7357:1;7349:6;7345:14;7338:46;7221:170;:::o;7397:366::-;7539:3;7560:67;7624:2;7619:3;7560:67;:::i;:::-;7553:74;;7636:93;7725:3;7636:93;:::i;:::-;7754:2;7749:3;7745:12;7738:19;;7397:366;;;:::o;7769:419::-;7935:4;7973:2;7962:9;7958:18;7950:26;;8022:9;8016:4;8012:20;8008:1;7997:9;7993:17;7986:47;8050:131;8176:4;8050:131;:::i;:::-;8042:139;;7769:419;;;:::o;8194:180::-;8242:77;8239:1;8232:88;8339:4;8336:1;8329:15;8363:4;8360:1;8353:15;8380:102;8422:8;8469:5;8466:1;8462:13;8441:34;;8380:102;;;:::o;8488:848::-;8549:5;8556:4;8580:6;8571:15;;8604:5;8595:14;;8618:712;8639:1;8629:8;8626:15;8618:712;;;8734:4;8729:3;8725:14;8719:4;8716:24;8713:50;;;8743:18;;:::i;:::-;8713:50;8793:1;8783:8;8779:16;8776:451;;;9208:4;9201:5;9197:16;9188:25;;8776:451;9258:4;9252;9248:15;9240:23;;9288:32;9311:8;9288:32;:::i;:::-;9276:44;;8618:712;;;8488:848;;;;;;;:::o;9342:1073::-;9396:5;9587:8;9577:40;;9608:1;9599:10;;9610:5;;9577:40;9636:4;9626:36;;9653:1;9644:10;;9655:5;;9626:36;9722:4;9770:1;9765:27;;;;9806:1;9801:191;;;;9715:277;;9765:27;9783:1;9774:10;;9785:5;;;9801:191;9846:3;9836:8;9833:17;9830:43;;;9853:18;;:::i;:::-;9830:43;9902:8;9899:1;9895:16;9886:25;;9937:3;9930:5;9927:14;9924:40;;;9944:18;;:::i;:::-;9924:40;9977:5;;;9715:277;;10101:2;10091:8;10088:16;10082:3;10076:4;10073:13;10069:36;10051:2;10041:8;10038:16;10033:2;10027:4;10024:12;10020:35;10004:111;10001:246;;;10157:8;10151:4;10147:19;10138:28;;10192:3;10185:5;10182:14;10179:40;;;10199:18;;:::i;:::-;10179:40;10232:5;;10001:246;10272:42;10310:3;10300:8;10294:4;10291:1;10272:42;:::i;:::-;10257:57;;;;10346:4;10341:3;10337:14;10330:5;10327:25;10324:51;;;10355:18;;:::i;:::-;10324:51;10404:4;10397:5;10393:16;10384:25;;9342:1073;;;;;;:::o;10421:281::-;10479:5;10503:23;10521:4;10503:23;:::i;:::-;10495:31;;10547:25;10563:8;10547:25;:::i;:::-;10535:37;;10591:104;10628:66;10618:8;10612:4;10591:104;:::i;:::-;10582:113;;10421:281;;;;:::o;10708:410::-;10748:7;10771:20;10789:1;10771:20;:::i;:::-;10766:25;;10805:20;10823:1;10805:20;:::i;:::-;10800:25;;10860:1;10857;10853:9;10882:30;10900:11;10882:30;:::i;:::-;10871:41;;11061:1;11052:7;11048:15;11045:1;11042:22;11022:1;11015:9;10995:83;10972:139;;11091:18;;:::i;:::-;10972:139;10756:362;10708:410;;;;:::o;11124:181::-;11264:33;11260:1;11252:6;11248:14;11241:57;11124:181;:::o;11311:366::-;11453:3;11474:67;11538:2;11533:3;11474:67;:::i;:::-;11467:74;;11550:93;11639:3;11550:93;:::i;:::-;11668:2;11663:3;11659:12;11652:19;;11311:366;;;:::o;11683:419::-;11849:4;11887:2;11876:9;11872:18;11864:26;;11936:9;11930:4;11926:20;11922:1;11911:9;11907:17;11900:47;11964:131;12090:4;11964:131;:::i;:::-;11956:139;;11683:419;;;:::o;12108:285::-;12168:5;12192:23;12210:4;12192:23;:::i;:::-;12184:31;;12236:27;12254:8;12236:27;:::i;:::-;12224:39;;12282:104;12319:66;12309:8;12303:4;12282:104;:::i;:::-;12273:113;;12108:285;;;;:::o;12399:243::-;12539:34;12535:1;12527:6;12523:14;12516:58;12608:26;12603:2;12595:6;12591:15;12584:51;12399:243;:::o;12648:366::-;12790:3;12811:67;12875:2;12870:3;12811:67;:::i;:::-;12804:74;;12887:93;12976:3;12887:93;:::i;:::-;13005:2;13000:3;12996:12;12989:19;;12648:366;;;:::o;13020:419::-;13186:4;13224:2;13213:9;13209:18;13201:26;;13273:9;13267:4;13263:20;13259:1;13248:9;13244:17;13237:47;13301:131;13427:4;13301:131;:::i;:::-;13293:139;;13020:419;;;:::o;13445:220::-;13585:34;13581:1;13573:6;13569:14;13562:58;13654:3;13649:2;13641:6;13637:15;13630:28;13445:220;:::o;13671:366::-;13813:3;13834:67;13898:2;13893:3;13834:67;:::i;:::-;13827:74;;13910:93;13999:3;13910:93;:::i;:::-;14028:2;14023:3;14019:12;14012:19;;13671:366;;;:::o;14043:419::-;14209:4;14247:2;14236:9;14232:18;14224:26;;14296:9;14290:4;14286:20;14282:1;14271:9;14267:17;14260:47;14324:131;14450:4;14324:131;:::i;:::-;14316:139;;14043:419;;;:::o;14468:225::-;14608:34;14604:1;14596:6;14592:14;14585:58;14677:8;14672:2;14664:6;14660:15;14653:33;14468:225;:::o;14699:366::-;14841:3;14862:67;14926:2;14921:3;14862:67;:::i;:::-;14855:74;;14938:93;15027:3;14938:93;:::i;:::-;15056:2;15051:3;15047:12;15040:19;;14699:366;;;:::o;15071:419::-;15237:4;15275:2;15264:9;15260:18;15252:26;;15324:9;15318:4;15314:20;15310:1;15299:9;15295:17;15288:47;15352:131;15478:4;15352:131;:::i;:::-;15344:139;;15071:419;;;:::o;15496:182::-;15636:34;15632:1;15624:6;15620:14;15613:58;15496:182;:::o;15684:366::-;15826:3;15847:67;15911:2;15906:3;15847:67;:::i;:::-;15840:74;;15923:93;16012:3;15923:93;:::i;:::-;16041:2;16036:3;16032:12;16025:19;;15684:366;;;:::o;16056:419::-;16222:4;16260:2;16249:9;16245:18;16237:26;;16309:9;16303:4;16299:20;16295:1;16284:9;16280:17;16273:47;16337:131;16463:4;16337:131;:::i;:::-;16329:139;;16056:419;;;:::o;16481:223::-;16621:34;16617:1;16609:6;16605:14;16598:58;16690:6;16685:2;16677:6;16673:15;16666:31;16481:223;:::o;16710:366::-;16852:3;16873:67;16937:2;16932:3;16873:67;:::i;:::-;16866:74;;16949:93;17038:3;16949:93;:::i;:::-;17067:2;17062:3;17058:12;17051:19;;16710:366;;;:::o;17082:419::-;17248:4;17286:2;17275:9;17271:18;17263:26;;17335:9;17329:4;17325:20;17321:1;17310:9;17306:17;17299:47;17363:131;17489:4;17363:131;:::i;:::-;17355:139;;17082:419;;;:::o;17507:221::-;17647:34;17643:1;17635:6;17631:14;17624:58;17716:4;17711:2;17703:6;17699:15;17692:29;17507:221;:::o;17734:366::-;17876:3;17897:67;17961:2;17956:3;17897:67;:::i;:::-;17890:74;;17973:93;18062:3;17973:93;:::i;:::-;18091:2;18086:3;18082:12;18075:19;;17734:366;;;:::o;18106:419::-;18272:4;18310:2;18299:9;18295:18;18287:26;;18359:9;18353:4;18349:20;18345:1;18334:9;18330:17;18323:47;18387:131;18513:4;18387:131;:::i;:::-;18379:139;;18106:419;;;:::o;18531:179::-;18671:31;18667:1;18659:6;18655:14;18648:55;18531:179;:::o;18716:366::-;18858:3;18879:67;18943:2;18938:3;18879:67;:::i;:::-;18872:74;;18955:93;19044:3;18955:93;:::i;:::-;19073:2;19068:3;19064:12;19057:19;;18716:366;;;:::o;19088:419::-;19254:4;19292:2;19281:9;19277:18;19269:26;;19341:9;19335:4;19331:20;19327:1;19316:9;19312:17;19305:47;19369:131;19495:4;19369:131;:::i;:::-;19361:139;;19088:419;;;:::o;19513:224::-;19653:34;19649:1;19641:6;19637:14;19630:58;19722:7;19717:2;19709:6;19705:15;19698:32;19513:224;:::o;19743:366::-;19885:3;19906:67;19970:2;19965:3;19906:67;:::i;:::-;19899:74;;19982:93;20071:3;19982:93;:::i;:::-;20100:2;20095:3;20091:12;20084:19;;19743:366;;;:::o;20115:419::-;20281:4;20319:2;20308:9;20304:18;20296:26;;20368:9;20362:4;20358:20;20354:1;20343:9;20339:17;20332:47;20396:131;20522:4;20396:131;:::i;:::-;20388:139;;20115:419;;;:::o;20540:222::-;20680:34;20676:1;20668:6;20664:14;20657:58;20749:5;20744:2;20736:6;20732:15;20725:30;20540:222;:::o;20768:366::-;20910:3;20931:67;20995:2;20990:3;20931:67;:::i;:::-;20924:74;;21007:93;21096:3;21007:93;:::i;:::-;21125:2;21120:3;21116:12;21109:19;;20768:366;;;:::o;21140:419::-;21306:4;21344:2;21333:9;21329:18;21321:26;;21393:9;21387:4;21383:20;21379:1;21368:9;21364:17;21357:47;21421:131;21547:4;21421:131;:::i;:::-;21413:139;;21140:419;;;:::o;21565:228::-;21705:34;21701:1;21693:6;21689:14;21682:58;21774:11;21769:2;21761:6;21757:15;21750:36;21565:228;:::o;21799:366::-;21941:3;21962:67;22026:2;22021:3;21962:67;:::i;:::-;21955:74;;22038:93;22127:3;22038:93;:::i;:::-;22156:2;22151:3;22147:12;22140:19;;21799:366;;;:::o;22171:419::-;22337:4;22375:2;22364:9;22360:18;22352:26;;22424:9;22418:4;22414:20;22410:1;22399:9;22395:17;22388:47;22452:131;22578:4;22452:131;:::i;:::-;22444:139;;22171:419;;;:::o;22596:169::-;22736:21;22732:1;22724:6;22720:14;22713:45;22596:169;:::o;22771:366::-;22913:3;22934:67;22998:2;22993:3;22934:67;:::i;:::-;22927:74;;23010:93;23099:3;23010:93;:::i;:::-;23128:2;23123:3;23119:12;23112:19;;22771:366;;;:::o;23143:419::-;23309:4;23347:2;23336:9;23332:18;23324:26;;23396:9;23390:4;23386:20;23382:1;23371:9;23367:17;23360:47;23424:131;23550:4;23424:131;:::i;:::-;23416:139;;23143:419;;;:::o;23568:191::-;23608:3;23627:20;23645:1;23627:20;:::i;:::-;23622:25;;23661:20;23679:1;23661:20;:::i;:::-;23656:25;;23704:1;23701;23697:9;23690:16;;23725:3;23722:1;23719:10;23716:36;;;23732:18;;:::i;:::-;23716:36;23568:191;;;;:::o;23765:175::-;23905:27;23901:1;23893:6;23889:14;23882:51;23765:175;:::o;23946:366::-;24088:3;24109:67;24173:2;24168:3;24109:67;:::i;:::-;24102:74;;24185:93;24274:3;24185:93;:::i;:::-;24303:2;24298:3;24294:12;24287:19;;23946:366;;;:::o;24318:419::-;24484:4;24522:2;24511:9;24507:18;24499:26;;24571:9;24565:4;24561:20;24557:1;24546:9;24542:17;24535:47;24599:131;24725:4;24599:131;:::i;:::-;24591:139;;24318:419;;;:::o;24743:194::-;24783:4;24803:20;24821:1;24803:20;:::i;:::-;24798:25;;24837:20;24855:1;24837:20;:::i;:::-;24832:25;;24881:1;24878;24874:9;24866:17;;24905:1;24899:4;24896:11;24893:37;;;24910:18;;:::i;:::-;24893:37;24743:194;;;;:::o;24943:225::-;25083:34;25079:1;25071:6;25067:14;25060:58;25152:8;25147:2;25139:6;25135:15;25128:33;24943:225;:::o;25174:366::-;25316:3;25337:67;25401:2;25396:3;25337:67;:::i;:::-;25330:74;;25413:93;25502:3;25413:93;:::i;:::-;25531:2;25526:3;25522:12;25515:19;;25174:366;;;:::o;25546:419::-;25712:4;25750:2;25739:9;25735:18;25727:26;;25799:9;25793:4;25789:20;25785:1;25774:9;25770:17;25763:47;25827:131;25953:4;25827:131;:::i;:::-;25819:139;;25546:419;;;:::o;25971:147::-;26072:11;26109:3;26094:18;;25971:147;;;;:::o;26124:114::-;;:::o;26244:398::-;26403:3;26424:83;26505:1;26500:3;26424:83;:::i;:::-;26417:90;;26516:93;26605:3;26516:93;:::i;:::-;26634:1;26629:3;26625:11;26618:18;;26244:398;;;:::o;26648:379::-;26832:3;26854:147;26997:3;26854:147;:::i;:::-;26847:154;;27018:3;27011:10;;26648:379;;;:::o;27033:179::-;27173:31;27169:1;27161:6;27157:14;27150:55;27033:179;:::o;27218:366::-;27360:3;27381:67;27445:2;27440:3;27381:67;:::i;:::-;27374:74;;27457:93;27546:3;27457:93;:::i;:::-;27575:2;27570:3;27566:12;27559:19;;27218:366;;;:::o;27590:419::-;27756:4;27794:2;27783:9;27779:18;27771:26;;27843:9;27837:4;27833:20;27829:1;27818:9;27814:17;27807:47;27871:131;27997:4;27871:131;:::i;:::-;27863:139;;27590:419;;;:::o;28015:180::-;28063:77;28060:1;28053:88;28160:4;28157:1;28150:15;28184:4;28181:1;28174:15;28201:185;28241:1;28258:20;28276:1;28258:20;:::i;:::-;28253:25;;28292:20;28310:1;28292:20;:::i;:::-;28287:25;;28331:1;28321:35;;28336:18;;:::i;:::-;28321:35;28378:1;28375;28371:9;28366:14;;28201:185;;;;:::o;28392:180::-;28440:77;28437:1;28430:88;28537:4;28534:1;28527:15;28561:4;28558:1;28551:15;28578:180;28626:77;28623:1;28616:88;28723:4;28720:1;28713:15;28747:4;28744:1;28737:15;28764:143;28821:5;28852:6;28846:13;28837:22;;28868:33;28895:5;28868:33;:::i;:::-;28764:143;;;;:::o;28913:351::-;28983:6;29032:2;29020:9;29011:7;29007:23;29003:32;29000:119;;;29038:79;;:::i;:::-;29000:119;29158:1;29183:64;29239:7;29230:6;29219:9;29215:22;29183:64;:::i;:::-;29173:74;;29129:128;28913:351;;;;:::o;29270:85::-;29315:7;29344:5;29333:16;;29270:85;;;:::o;29361:158::-;29419:9;29452:61;29470:42;29479:32;29505:5;29479:32;:::i;:::-;29470:42;:::i;:::-;29452:61;:::i;:::-;29439:74;;29361:158;;;:::o;29525:147::-;29620:45;29659:5;29620:45;:::i;:::-;29615:3;29608:58;29525:147;;:::o;29678:114::-;29745:6;29779:5;29773:12;29763:22;;29678:114;;;:::o;29798:184::-;29897:11;29931:6;29926:3;29919:19;29971:4;29966:3;29962:14;29947:29;;29798:184;;;;:::o;29988:132::-;30055:4;30078:3;30070:11;;30108:4;30103:3;30099:14;30091:22;;29988:132;;;:::o;30126:108::-;30203:24;30221:5;30203:24;:::i;:::-;30198:3;30191:37;30126:108;;:::o;30240:179::-;30309:10;30330:46;30372:3;30364:6;30330:46;:::i;:::-;30408:4;30403:3;30399:14;30385:28;;30240:179;;;;:::o;30425:113::-;30495:4;30527;30522:3;30518:14;30510:22;;30425:113;;;:::o;30574:732::-;30693:3;30722:54;30770:5;30722:54;:::i;:::-;30792:86;30871:6;30866:3;30792:86;:::i;:::-;30785:93;;30902:56;30952:5;30902:56;:::i;:::-;30981:7;31012:1;30997:284;31022:6;31019:1;31016:13;30997:284;;;31098:6;31092:13;31125:63;31184:3;31169:13;31125:63;:::i;:::-;31118:70;;31211:60;31264:6;31211:60;:::i;:::-;31201:70;;31057:224;31044:1;31041;31037:9;31032:14;;30997:284;;;31001:14;31297:3;31290:10;;30698:608;;;30574:732;;;;:::o;31312:831::-;31575:4;31613:3;31602:9;31598:19;31590:27;;31627:71;31695:1;31684:9;31680:17;31671:6;31627:71;:::i;:::-;31708:80;31784:2;31773:9;31769:18;31760:6;31708:80;:::i;:::-;31835:9;31829:4;31825:20;31820:2;31809:9;31805:18;31798:48;31863:108;31966:4;31957:6;31863:108;:::i;:::-;31855:116;;31981:72;32049:2;32038:9;32034:18;32025:6;31981:72;:::i;:::-;32063:73;32131:3;32120:9;32116:19;32107:6;32063:73;:::i;:::-;31312:831;;;;;;;;:::o
Swarm Source
ipfs://1c3a67a2f23ef78b472a70354ab84ec4792eb08258bed3bc32cd8ebe2632a03d
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.