ETH Price: $2,550.61 (-3.65%)
Gas: 1 Gwei

Token

AGE (AGE)
 

Overview

Max Total Supply

100,000,000 AGE

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
sinozyx.eth
Balance
30,000 AGE

Value
$0.00
0x6c967d016024ba3ed702526232c7dc37548d37bb
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
AGE

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : AGE.sol
/**
 *Submitted for verification at Etherscan.io on 2024-02-18
 */

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.20;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     *
     * [IMPORTANT]
     * ====
     * You shouldn't rely on `isContract` to protect against flash loan attacks!
     *
     * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets
     * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract
     * constructor.
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize/address.code.length, which returns 0
        // for contracts in construction, since the code is only stored at the end
        // of the constructor execution.

        return account.code.length > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(
            address(this).balance >= amount,
            "Address: insufficient balance"
        );

        (bool success, ) = recipient.call{value: amount}("");
        require(
            success,
            "Address: unable to send value, recipient may have reverted"
        );
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain `call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data)
        internal
        returns (bytes memory)
    {
        return
            functionCallWithValue(
                target,
                data,
                0,
                "Address: low-level call failed"
            );
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return
            functionCallWithValue(
                target,
                data,
                value,
                "Address: low-level call with value failed"
            );
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(
            address(this).balance >= value,
            "Address: insufficient balance for call"
        );
        (bool success, bytes memory returndata) = target.call{value: value}(
            data
        );
        return
            verifyCallResultFromTarget(
                target,
                success,
                returndata,
                errorMessage
            );
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data)
        internal
        view
        returns (bytes memory)
    {
        return
            functionStaticCall(
                target,
                data,
                "Address: low-level static call failed"
            );
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return
            verifyCallResultFromTarget(
                target,
                success,
                returndata,
                errorMessage
            );
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data)
        internal
        returns (bytes memory)
    {
        return
            functionDelegateCall(
                target,
                data,
                "Address: low-level delegate call failed"
            );
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return
            verifyCallResultFromTarget(
                target,
                success,
                returndata,
                errorMessage
            );
    }

    /**
     * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling
     * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.
     *
     * _Available since v4.8._
     */
    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    /**
     * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the
     * revert reason or using the provided one.
     *
     * _Available since v4.3._
     */
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function _revert(bytes memory returndata, string memory errorMessage)
        private
        pure
    {
        // Look for revert reason and bubble it up if present
        if (returndata.length > 0) {
            // The easiest way to bubble the revert reason is using memory via assembly
            /// @solidity memory-safe-assembly
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}

/**
 * @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);
    }
}

contract AGE is Context, IERC20, Ownable {
    using Address for address;
    //Definition of Wallets for Marketing or team.
    address payable public marketingWallet;

    //Mapping section for better tracking.
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _uniswapPair;

    event ExcludeStatus(address, bool);
    event UpdateMarketingWallet(address);
    event UpdateBuyFee(uint256);
    event UpdateSellFee(uint256);
    event UpdateTransferFee(uint256);
    event TransferStatus(bool);
    event RecoveredETH(uint256);
    event RecoveredTokens(uint256);
    event TradingStarted(bool);

    //Token Definition.
    string public constant name = "AGE";
    string public constant symbol = "AGE";
    uint8 public constant decimals = 18;

    //Supply Definition.
    uint256 private _tTotal = 1_00_000_000 * 10**decimals;
    //Taxes Definition.
    uint256 public buyFee = 5;
    uint256 public transferFee = 5;
    uint256 public sellFee = 5;

    uint256 public marketingTokensCollected = 0;
    bool private tradingStatus;

    constructor() {
        _tOwned[_msgSender()] = _tTotal;
        marketingWallet = payable(0x3343F96d253a92dF33a19f08a7235B8a9720b26a);

        //Exclude from Fees
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    //Readable Functions.
    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[account];
    }

    function getTradingStatus() public view returns (bool) {
        return tradingStatus;
    }

    //ERC 20 Standard Transfer Functions
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    //ERC 20 Standard Allowance Function
    function allowance(address _owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[_owner][spender];
    }

    //ERC 20 Standard Approve Function
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    //ERC 20 Standard Transfer From
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }

    //ERC 20 Standard increase Allowance
    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + addedValue
        );
        return true;
    }

    //ERC 20 Standard decrease Allowance
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] - subtractedValue
        );
        return true;
    }

    //Approve Function
    function _approve(
        address _owner,
        address spender,
        uint256 amount
    ) private {
        require(_owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[_owner][spender] = amount;
        emit Approval(_owner, spender, amount);
    }

    //Transfer function, validate correct wallet structure, take fees, and other custom taxes are done during the transfer.
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(
            _tOwned[from] >= amount,
            "ERC20: transfer amount exceeds balance"
        );

        uint256 fee = 0;
        bool fromLP = _uniswapPair[from];
        bool toLP = _uniswapPair[to];

        // This saves a bit of gas on transfers
        bool NOTfromExcluded = !_isExcludedFromFee[from];
        bool NOTtoExcluded = !_isExcludedFromFee[to];

        // Apply tax when necessary
        if (toLP && NOTfromExcluded) {
            if (tradingStatus) {
                fee = (sellFee * amount) / 100;
            } else {
                revert("Trading is not active");
            }
        } else if (fromLP && NOTtoExcluded) {
            if (tradingStatus) {
                fee = (buyFee * amount) / 100;
            } else {
                revert("Trading is not active");
            }
        } else if (NOTtoExcluded && NOTfromExcluded) {
            fee = (transferFee * amount) / 100;
        }
        amount -= fee;
        if (fee > 0) {
            _tokenTransfer(from, marketingWallet, fee);
            marketingTokensCollected += fee;
        }
        _tokenTransfer(from, to, amount);
    }

    //ERC 20 standard transfer, only added if taking fees to countup the amount of fees for better tracking and split purpose.
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        _tOwned[sender] -= amount;
        _tOwned[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    //View the wallets that are excluded from view.
    function isExcludedFromFee(address account) external view returns (bool) {
        return _isExcludedFromFee[account];
    }

    //exclude wallets from fees, this is needed for launch or other contracts.
    function excludeFromFee(address account) external onlyOwner {
        require(
            _isExcludedFromFee[account] != true,
            "The wallet is already excluded!"
        );
        _isExcludedFromFee[account] = true;
        emit ExcludeStatus(account, true);
    }

    function setTradingStatus(bool status) public onlyOwner {
        require(tradingStatus != status, "Already have same status");
        tradingStatus = status;
    }

    //include wallet back in fees.
    function includeInFee(address account) external onlyOwner {
        require(
            _isExcludedFromFee[account] != false,
            "The wallet is already included!"
        );
        _isExcludedFromFee[account] = false;
        emit ExcludeStatus(account, false);
    }

    //set a new marketing wallet.
    function setMarketingWallet(address _marketingWallet) external onlyOwner {
        require(_marketingWallet != address(0), "setmarketingWallet: ZERO");
        marketingWallet = payable(_marketingWallet);
        emit UpdateMarketingWallet(marketingWallet);
    }

    //This allow you to configure buy fees, in this contract all fees goes to marketing during the swapandliquify.
    function setBuyFee(uint256 _buyFee) external onlyOwner {
        require(_buyFee <= 5, "Buy Fee cannot be more than 5%");
        buyFee = _buyFee;
        emit UpdateBuyFee(_buyFee);
    }

    //This allow you to configure sell fee, in this contract all fees goes to marketing during the swapandliquify.
    function setSellFee(uint256 _sellFee) external onlyOwner {
        require(_sellFee <= 5, "Sell Fee cannot be more than 5%");
        sellFee = _sellFee;
        emit UpdateSellFee(_sellFee);
    }

    function setTransferFee(uint256 _transferFee) external onlyOwner {
        require(_transferFee <= 10, "Sell Fee cannot be more than 5%");
        transferFee = _transferFee;
        emit UpdateTransferFee(transferFee);
    }

    function setUniswapV2Pair(address pair) external onlyOwner {
        _uniswapPair[pair] = true;
    }

    //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    // Withdraw ETH that's potentially stuck in the Contract
    function recoverETHfromContract() external {
        uint256 ethBalance = address(this).balance;
        (bool succ, ) = payable(marketingWallet).call{value: ethBalance}("");
        require(succ, "Transfer failed");
        emit TransferStatus(succ);
        emit RecoveredETH(ethBalance);
    }

    // Withdraw ERC20 tokens that are potentially stuck in Contract
    //your not able to withdraw own tokens due to swapandliquify.
    //made if a external function without ownership
    function recoverTokensFromContract(address _tokenAddress, uint256 _amount)
        external
    {
        require(
            _tokenAddress != address(this),
            "Owner can't claim contract's balance of its own tokens"
        );
        bool succ = IERC20(_tokenAddress).transfer(marketingWallet, _amount);
        emit TransferStatus(succ);
        emit RecoveredTokens(_amount);
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"bool","name":"","type":"bool"}],"name":"ExcludeStatus","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":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"RecoveredETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"RecoveredTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"","type":"bool"}],"name":"TradingStarted","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":"bool","name":"","type":"bool"}],"name":"TransferStatus","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"UpdateBuyFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"UpdateMarketingWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"UpdateSellFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"UpdateTransferFee","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":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTradingStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingTokensCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverETHfromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverTokensFromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"setTradingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_transferFee","type":"uint256"}],"name":"setTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"setUniswapV2Pair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a620000149190620004c7565b6305f5e10062000025919062000517565b6006556005600755600560085560056009555f600a5534801562000047575f80fd5b50620000686200005c6200024660201b60201c565b6200024d60201b60201c565b60065460025f6200007e6200024660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550733343f96d253a92df33a19f08a7235b8a9720b26a60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160045f620001246200030e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620001d86200024660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60065460405162000238919062000572565b60405180910390a36200058d565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620003bf5780860481111562000397576200039662000335565b5b6001851615620003a75780820291505b8081029050620003b78562000362565b945062000377565b94509492505050565b5f82620003d95760019050620004ab565b81620003e8575f9050620004ab565b81600181146200040157600281146200040c5762000442565b6001915050620004ab565b60ff84111562000421576200042062000335565b5b8360020a9150848211156200043b576200043a62000335565b5b50620004ab565b5060208310610133831016604e8410600b84101617156200047c5782820a90508381111562000476576200047562000335565b5b620004ab565b6200048b84848460016200036e565b92509050818404811115620004a557620004a462000335565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620004d382620004b2565b9150620004e083620004bb565b92506200050f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003c8565b905092915050565b5f6200052382620004b2565b91506200053083620004b2565b92508282026200054081620004b2565b915082820484148315176200055a576200055962000335565b5b5092915050565b6200056c81620004b2565b82525050565b5f602082019050620005875f83018462000561565b92915050565b612ca2806200059b5f395ff3fe6080604052600436106101db575f3560e01c8063715018a611610101578063a457c2d711610094578063dd62ed3e11610063578063dd62ed3e1461069c578063e6be4a72146106d8578063ea2f0b3714610700578063f2fde38b14610728576101e2565b8063a457c2d7146105e4578063a9059cbb14610620578063acb2ad6f1461065c578063ce831ed514610686576101e2565b80638f02bb5b116100d05780638f02bb5b1461054057806395d89b4114610568578063a1305aa514610592578063a29a6089146105bc576101e2565b8063715018a6146104ae57806375f0a874146104c45780638b4cee08146104ee5780638da5cb5b14610516576101e2565b8063379ba1d9116101795780635342acb4116101485780635342acb4146103e45780635d098b38146104205780636ca60bc61461044857806370a0823114610472576101e2565b8063379ba1d91461032e5780633950935114610356578063437823ec1461039257806347062402146103ba576101e2565b806318160ddd116101b557806318160ddd1461027457806323b872dd1461029e5780632b14ca56146102da578063313ce56714610304576101e2565b806306fdde03146101e6578063095ea7b3146102105780630cc835a31461024c576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa610750565b6040516102079190611e3b565b60405180910390f35b34801561021b575f80fd5b5061023660048036038101906102319190611eec565b610789565b6040516102439190611f44565b60405180910390f35b348015610257575f80fd5b50610272600480360381019061026d9190611f5d565b6107a6565b005b34801561027f575f80fd5b50610288610833565b6040516102959190611f97565b60405180910390f35b3480156102a9575f80fd5b506102c460048036038101906102bf9190611fb0565b61083c565b6040516102d19190611f44565b60405180910390f35b3480156102e5575f80fd5b506102ee610937565b6040516102fb9190611f97565b60405180910390f35b34801561030f575f80fd5b5061031861093d565b604051610325919061201b565b60405180910390f35b348015610339575f80fd5b50610354600480360381019061034f919061205e565b610942565b005b348015610361575f80fd5b5061037c60048036038101906103779190611eec565b6109ba565b6040516103899190611f44565b60405180910390f35b34801561039d575f80fd5b506103b860048036038101906103b39190612089565b610a61565b005b3480156103c5575f80fd5b506103ce610b8b565b6040516103db9190611f97565b60405180910390f35b3480156103ef575f80fd5b5061040a60048036038101906104059190612089565b610b91565b6040516104179190611f44565b60405180910390f35b34801561042b575f80fd5b5061044660048036038101906104419190612089565b610be3565b005b348015610453575f80fd5b5061045c610cf4565b6040516104699190611f97565b60405180910390f35b34801561047d575f80fd5b5061049860048036038101906104939190612089565b610cfa565b6040516104a59190611f97565b60405180910390f35b3480156104b9575f80fd5b506104c2610d40565b005b3480156104cf575f80fd5b506104d8610d53565b6040516104e591906120d4565b60405180910390f35b3480156104f9575f80fd5b50610514600480360381019061050f9190611f5d565b610d78565b005b348015610521575f80fd5b5061052a610e05565b60405161053791906120fc565b60405180910390f35b34801561054b575f80fd5b5061056660048036038101906105619190611f5d565b610e2c565b005b348015610573575f80fd5b5061057c610ebb565b6040516105899190611e3b565b60405180910390f35b34801561059d575f80fd5b506105a6610ef4565b6040516105b39190611f44565b60405180910390f35b3480156105c7575f80fd5b506105e260048036038101906105dd9190612089565b610f09565b005b3480156105ef575f80fd5b5061060a60048036038101906106059190611eec565b610f69565b6040516106179190611f44565b60405180910390f35b34801561062b575f80fd5b5061064660048036038101906106419190611eec565b611010565b6040516106539190611f44565b60405180910390f35b348015610667575f80fd5b5061067061102d565b60405161067d9190611f97565b60405180910390f35b348015610691575f80fd5b5061069a611033565b005b3480156106a7575f80fd5b506106c260048036038101906106bd9190612115565b611172565b6040516106cf9190611f97565b60405180910390f35b3480156106e3575f80fd5b506106fe60048036038101906106f99190611eec565b6111f4565b005b34801561070b575f80fd5b5061072660048036038101906107219190612089565b611374565b005b348015610733575f80fd5b5061074e60048036038101906107499190612089565b61149b565b005b6040518060400160405280600381526020017f414745000000000000000000000000000000000000000000000000000000000081525081565b5f61079c61079561151d565b8484611524565b6001905092915050565b6107ae6116e7565b60058111156107f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e99061219d565b60405180910390fd5b806007819055507fa480a3a15a511fbdc37ae77ae3f490e03ab3688adde11456ce779e6c1e0abaa2816040516108289190611f97565b60405180910390a150565b5f600654905090565b5f8060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61088461151d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fa9061222b565b60405180910390fd5b61090e858585611765565b61092b8561091a61151d565b85846109269190612276565b611524565b60019150509392505050565b60095481565b601281565b61094a6116e7565b801515600b5f9054906101000a900460ff1615150361099e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610995906122f3565b60405180910390fd5b80600b5f6101000a81548160ff02191690831515021790555050565b5f610a576109c661151d565b848460035f6109d361151d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a529190612311565b611524565b6001905092915050565b610a696116e7565b6001151560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151503610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af09061238e565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f09cdf0cfa7a040edd81ed835da9c0da414b3b1bc89788f88ba53288ce596b5fa816001604051610b809291906123ac565b60405180910390a150565b60075481565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610beb6116e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c509061241d565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f335aad0eda24dacfa324b3d651daa091864338cf7d4af9d5087ba1c5ee1174f060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610ce99190612496565b60405180910390a150565b600a5481565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d486116e7565b610d515f611be0565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d806116e7565b6005811115610dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbb906124f9565b60405180910390fd5b806009819055507f7d59573ec4acab62b908b5c1cde109eb12273d011506abaa850256636a42d54a81604051610dfa9190611f97565b60405180910390a150565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e346116e7565b600a811115610e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6f906124f9565b60405180910390fd5b806008819055507f6fbeac6c79c640ca4f5f47271bd7a36c7eb83076224c65a3b3378c8844720343600854604051610eb09190611f97565b60405180910390a150565b6040518060400160405280600381526020017f414745000000000000000000000000000000000000000000000000000000000081525081565b5f600b5f9054906101000a900460ff16905090565b610f116116e7565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f611006610f7561151d565b848460035f610f8261151d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110019190612276565b611524565b6001905092915050565b5f61102361101c61151d565b8484611765565b6001905092915050565b60085481565b5f4790505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161107d90612544565b5f6040518083038185875af1925050503d805f81146110b7576040519150601f19603f3d011682016040523d82523d5f602084013e6110bc565b606091505b5050905080611100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f7906125a2565b60405180910390fd5b7fc9946980dc929f521b40f678c5eeae1c213b0c26c005bd48d44905450951166e8160405161112f9190611f44565b60405180910390a17ffc3b2917f34bc4fba1516519d275441646d5088542342f58de8eea6a7cb5c2ab826040516111669190611f97565b60405180910390a15050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125990612630565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016112bf92919061264e565b6020604051808303815f875af11580156112db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ff9190612689565b90507fc9946980dc929f521b40f678c5eeae1c213b0c26c005bd48d44905450951166e816040516113309190611f44565b60405180910390a17f9717b3559fe85dc5c6941748cdc56fc5ca4e06048d7b836c700c174f78369bef826040516113679190611f97565b60405180910390a1505050565b61137c6116e7565b5f151560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615150361140b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611402906126fe565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f09cdf0cfa7a040edd81ed835da9c0da414b3b1bc89788f88ba53288ce596b5fa815f6040516114909291906123ac565b60405180910390a150565b6114a36116e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611511576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115089061278c565b60405180910390fd5b61151a81611be0565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611592576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115899061281a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f7906128a8565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116da9190611f97565b60405180910390a3505050565b6116ef61151d565b73ffffffffffffffffffffffffffffffffffffffff1661170d610e05565b73ffffffffffffffffffffffffffffffffffffffff1614611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90612910565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ca9061299e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611841576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183890612a2c565b60405180910390fd5b5f8111611883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187a90612aba565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015611903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fa90612b48565b60405180910390fd5b5f8060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690505f60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690505f60045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161590505f60045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16159050828015611a445750815b15611abe57600b5f9054906101000a900460ff1615611a7e57606486600954611a6d9190612b66565b611a779190612bd4565b9450611ab9565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab090612c4e565b60405180910390fd5b611b70565b838015611ac85750805b15611b4257600b5f9054906101000a900460ff1615611b0257606486600754611af19190612b66565b611afb9190612bd4565b9450611b3d565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3490612c4e565b60405180910390fd5b611b6f565b808015611b4c5750815b15611b6e57606486600854611b619190612b66565b611b6b9190612bd4565b94505b5b5b8486611b7c9190612276565b95505f851115611bcb57611bb28860015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687611ca1565b84600a5f828254611bc39190612311565b925050819055505b611bd6888888611ca1565b5050505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611ced9190612276565b925050819055508060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d409190612311565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611da49190611f97565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611de8578082015181840152602081019050611dcd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e0d82611db1565b611e178185611dbb565b9350611e27818560208601611dcb565b611e3081611df3565b840191505092915050565b5f6020820190508181035f830152611e538184611e03565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e8882611e5f565b9050919050565b611e9881611e7e565b8114611ea2575f80fd5b50565b5f81359050611eb381611e8f565b92915050565b5f819050919050565b611ecb81611eb9565b8114611ed5575f80fd5b50565b5f81359050611ee681611ec2565b92915050565b5f8060408385031215611f0257611f01611e5b565b5b5f611f0f85828601611ea5565b9250506020611f2085828601611ed8565b9150509250929050565b5f8115159050919050565b611f3e81611f2a565b82525050565b5f602082019050611f575f830184611f35565b92915050565b5f60208284031215611f7257611f71611e5b565b5b5f611f7f84828501611ed8565b91505092915050565b611f9181611eb9565b82525050565b5f602082019050611faa5f830184611f88565b92915050565b5f805f60608486031215611fc757611fc6611e5b565b5b5f611fd486828701611ea5565b9350506020611fe586828701611ea5565b9250506040611ff686828701611ed8565b9150509250925092565b5f60ff82169050919050565b61201581612000565b82525050565b5f60208201905061202e5f83018461200c565b92915050565b61203d81611f2a565b8114612047575f80fd5b50565b5f8135905061205881612034565b92915050565b5f6020828403121561207357612072611e5b565b5b5f6120808482850161204a565b91505092915050565b5f6020828403121561209e5761209d611e5b565b5b5f6120ab84828501611ea5565b91505092915050565b5f6120be82611e5f565b9050919050565b6120ce816120b4565b82525050565b5f6020820190506120e75f8301846120c5565b92915050565b6120f681611e7e565b82525050565b5f60208201905061210f5f8301846120ed565b92915050565b5f806040838503121561212b5761212a611e5b565b5b5f61213885828601611ea5565b925050602061214985828601611ea5565b9150509250929050565b7f427579204665652063616e6e6f74206265206d6f7265207468616e20352500005f82015250565b5f612187601e83611dbb565b915061219282612153565b602082019050919050565b5f6020820190508181035f8301526121b48161217b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612215602883611dbb565b9150612220826121bb565b604082019050919050565b5f6020820190508181035f83015261224281612209565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61228082611eb9565b915061228b83611eb9565b92508282039050818111156122a3576122a2612249565b5b92915050565b7f416c726561647920686176652073616d652073746174757300000000000000005f82015250565b5f6122dd601883611dbb565b91506122e8826122a9565b602082019050919050565b5f6020820190508181035f83015261230a816122d1565b9050919050565b5f61231b82611eb9565b915061232683611eb9565b925082820190508082111561233e5761233d612249565b5b92915050565b7f5468652077616c6c657420697320616c7265616479206578636c7564656421005f82015250565b5f612378601f83611dbb565b915061238382612344565b602082019050919050565b5f6020820190508181035f8301526123a58161236c565b9050919050565b5f6040820190506123bf5f8301856120ed565b6123cc6020830184611f35565b9392505050565b7f7365746d61726b6574696e6757616c6c65743a205a45524f00000000000000005f82015250565b5f612407601883611dbb565b9150612412826123d3565b602082019050919050565b5f6020820190508181035f830152612434816123fb565b9050919050565b5f819050919050565b5f61245e61245961245484611e5f565b61243b565b611e5f565b9050919050565b5f61246f82612444565b9050919050565b5f61248082612465565b9050919050565b61249081612476565b82525050565b5f6020820190506124a95f830184612487565b92915050565b7f53656c6c204665652063616e6e6f74206265206d6f7265207468616e203525005f82015250565b5f6124e3601f83611dbb565b91506124ee826124af565b602082019050919050565b5f6020820190508181035f830152612510816124d7565b9050919050565b5f81905092915050565b50565b5f61252f5f83612517565b915061253a82612521565b5f82019050919050565b5f61254e82612524565b9150819050919050565b7f5472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f61258c600f83611dbb565b915061259782612558565b602082019050919050565b5f6020820190508181035f8301526125b981612580565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c5f8201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b5f61261a603683611dbb565b9150612625826125c0565b604082019050919050565b5f6020820190508181035f8301526126478161260e565b9050919050565b5f6040820190506126615f830185612487565b61266e6020830184611f88565b9392505050565b5f8151905061268381612034565b92915050565b5f6020828403121561269e5761269d611e5b565b5b5f6126ab84828501612675565b91505092915050565b7f5468652077616c6c657420697320616c726561647920696e636c7564656421005f82015250565b5f6126e8601f83611dbb565b91506126f3826126b4565b602082019050919050565b5f6020820190508181035f830152612715816126dc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612776602683611dbb565b91506127818261271c565b604082019050919050565b5f6020820190508181035f8301526127a38161276a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612804602483611dbb565b915061280f826127aa565b604082019050919050565b5f6020820190508181035f830152612831816127f8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612892602283611dbb565b915061289d82612838565b604082019050919050565b5f6020820190508181035f8301526128bf81612886565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128fa602083611dbb565b9150612905826128c6565b602082019050919050565b5f6020820190508181035f830152612927816128ee565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612988602583611dbb565b91506129938261292e565b604082019050919050565b5f6020820190508181035f8301526129b58161297c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a16602383611dbb565b9150612a21826129bc565b604082019050919050565b5f6020820190508181035f830152612a4381612a0a565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612aa4602983611dbb565b9150612aaf82612a4a565b604082019050919050565b5f6020820190508181035f830152612ad181612a98565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612b32602683611dbb565b9150612b3d82612ad8565b604082019050919050565b5f6020820190508181035f830152612b5f81612b26565b9050919050565b5f612b7082611eb9565b9150612b7b83611eb9565b9250828202612b8981611eb9565b91508282048414831517612ba057612b9f612249565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612bde82611eb9565b9150612be983611eb9565b925082612bf957612bf8612ba7565b5b828204905092915050565b7f54726164696e67206973206e6f742061637469766500000000000000000000005f82015250565b5f612c38601583611dbb565b9150612c4382612c04565b602082019050919050565b5f6020820190508181035f830152612c6581612c2c565b905091905056fea26469706673582212203351e851096f7d3754cbc60d23392e30e30acaac0f857fa6150234b2e50f844564736f6c63430008140033

Deployed Bytecode

0x6080604052600436106101db575f3560e01c8063715018a611610101578063a457c2d711610094578063dd62ed3e11610063578063dd62ed3e1461069c578063e6be4a72146106d8578063ea2f0b3714610700578063f2fde38b14610728576101e2565b8063a457c2d7146105e4578063a9059cbb14610620578063acb2ad6f1461065c578063ce831ed514610686576101e2565b80638f02bb5b116100d05780638f02bb5b1461054057806395d89b4114610568578063a1305aa514610592578063a29a6089146105bc576101e2565b8063715018a6146104ae57806375f0a874146104c45780638b4cee08146104ee5780638da5cb5b14610516576101e2565b8063379ba1d9116101795780635342acb4116101485780635342acb4146103e45780635d098b38146104205780636ca60bc61461044857806370a0823114610472576101e2565b8063379ba1d91461032e5780633950935114610356578063437823ec1461039257806347062402146103ba576101e2565b806318160ddd116101b557806318160ddd1461027457806323b872dd1461029e5780632b14ca56146102da578063313ce56714610304576101e2565b806306fdde03146101e6578063095ea7b3146102105780630cc835a31461024c576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa610750565b6040516102079190611e3b565b60405180910390f35b34801561021b575f80fd5b5061023660048036038101906102319190611eec565b610789565b6040516102439190611f44565b60405180910390f35b348015610257575f80fd5b50610272600480360381019061026d9190611f5d565b6107a6565b005b34801561027f575f80fd5b50610288610833565b6040516102959190611f97565b60405180910390f35b3480156102a9575f80fd5b506102c460048036038101906102bf9190611fb0565b61083c565b6040516102d19190611f44565b60405180910390f35b3480156102e5575f80fd5b506102ee610937565b6040516102fb9190611f97565b60405180910390f35b34801561030f575f80fd5b5061031861093d565b604051610325919061201b565b60405180910390f35b348015610339575f80fd5b50610354600480360381019061034f919061205e565b610942565b005b348015610361575f80fd5b5061037c60048036038101906103779190611eec565b6109ba565b6040516103899190611f44565b60405180910390f35b34801561039d575f80fd5b506103b860048036038101906103b39190612089565b610a61565b005b3480156103c5575f80fd5b506103ce610b8b565b6040516103db9190611f97565b60405180910390f35b3480156103ef575f80fd5b5061040a60048036038101906104059190612089565b610b91565b6040516104179190611f44565b60405180910390f35b34801561042b575f80fd5b5061044660048036038101906104419190612089565b610be3565b005b348015610453575f80fd5b5061045c610cf4565b6040516104699190611f97565b60405180910390f35b34801561047d575f80fd5b5061049860048036038101906104939190612089565b610cfa565b6040516104a59190611f97565b60405180910390f35b3480156104b9575f80fd5b506104c2610d40565b005b3480156104cf575f80fd5b506104d8610d53565b6040516104e591906120d4565b60405180910390f35b3480156104f9575f80fd5b50610514600480360381019061050f9190611f5d565b610d78565b005b348015610521575f80fd5b5061052a610e05565b60405161053791906120fc565b60405180910390f35b34801561054b575f80fd5b5061056660048036038101906105619190611f5d565b610e2c565b005b348015610573575f80fd5b5061057c610ebb565b6040516105899190611e3b565b60405180910390f35b34801561059d575f80fd5b506105a6610ef4565b6040516105b39190611f44565b60405180910390f35b3480156105c7575f80fd5b506105e260048036038101906105dd9190612089565b610f09565b005b3480156105ef575f80fd5b5061060a60048036038101906106059190611eec565b610f69565b6040516106179190611f44565b60405180910390f35b34801561062b575f80fd5b5061064660048036038101906106419190611eec565b611010565b6040516106539190611f44565b60405180910390f35b348015610667575f80fd5b5061067061102d565b60405161067d9190611f97565b60405180910390f35b348015610691575f80fd5b5061069a611033565b005b3480156106a7575f80fd5b506106c260048036038101906106bd9190612115565b611172565b6040516106cf9190611f97565b60405180910390f35b3480156106e3575f80fd5b506106fe60048036038101906106f99190611eec565b6111f4565b005b34801561070b575f80fd5b5061072660048036038101906107219190612089565b611374565b005b348015610733575f80fd5b5061074e60048036038101906107499190612089565b61149b565b005b6040518060400160405280600381526020017f414745000000000000000000000000000000000000000000000000000000000081525081565b5f61079c61079561151d565b8484611524565b6001905092915050565b6107ae6116e7565b60058111156107f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e99061219d565b60405180910390fd5b806007819055507fa480a3a15a511fbdc37ae77ae3f490e03ab3688adde11456ce779e6c1e0abaa2816040516108289190611f97565b60405180910390a150565b5f600654905090565b5f8060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61088461151d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fa9061222b565b60405180910390fd5b61090e858585611765565b61092b8561091a61151d565b85846109269190612276565b611524565b60019150509392505050565b60095481565b601281565b61094a6116e7565b801515600b5f9054906101000a900460ff1615150361099e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610995906122f3565b60405180910390fd5b80600b5f6101000a81548160ff02191690831515021790555050565b5f610a576109c661151d565b848460035f6109d361151d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a529190612311565b611524565b6001905092915050565b610a696116e7565b6001151560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151503610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af09061238e565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f09cdf0cfa7a040edd81ed835da9c0da414b3b1bc89788f88ba53288ce596b5fa816001604051610b809291906123ac565b60405180910390a150565b60075481565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610beb6116e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c509061241d565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f335aad0eda24dacfa324b3d651daa091864338cf7d4af9d5087ba1c5ee1174f060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610ce99190612496565b60405180910390a150565b600a5481565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d486116e7565b610d515f611be0565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d806116e7565b6005811115610dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbb906124f9565b60405180910390fd5b806009819055507f7d59573ec4acab62b908b5c1cde109eb12273d011506abaa850256636a42d54a81604051610dfa9190611f97565b60405180910390a150565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e346116e7565b600a811115610e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6f906124f9565b60405180910390fd5b806008819055507f6fbeac6c79c640ca4f5f47271bd7a36c7eb83076224c65a3b3378c8844720343600854604051610eb09190611f97565b60405180910390a150565b6040518060400160405280600381526020017f414745000000000000000000000000000000000000000000000000000000000081525081565b5f600b5f9054906101000a900460ff16905090565b610f116116e7565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f611006610f7561151d565b848460035f610f8261151d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110019190612276565b611524565b6001905092915050565b5f61102361101c61151d565b8484611765565b6001905092915050565b60085481565b5f4790505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161107d90612544565b5f6040518083038185875af1925050503d805f81146110b7576040519150601f19603f3d011682016040523d82523d5f602084013e6110bc565b606091505b5050905080611100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f7906125a2565b60405180910390fd5b7fc9946980dc929f521b40f678c5eeae1c213b0c26c005bd48d44905450951166e8160405161112f9190611f44565b60405180910390a17ffc3b2917f34bc4fba1516519d275441646d5088542342f58de8eea6a7cb5c2ab826040516111669190611f97565b60405180910390a15050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125990612630565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016112bf92919061264e565b6020604051808303815f875af11580156112db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ff9190612689565b90507fc9946980dc929f521b40f678c5eeae1c213b0c26c005bd48d44905450951166e816040516113309190611f44565b60405180910390a17f9717b3559fe85dc5c6941748cdc56fc5ca4e06048d7b836c700c174f78369bef826040516113679190611f97565b60405180910390a1505050565b61137c6116e7565b5f151560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615150361140b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611402906126fe565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f09cdf0cfa7a040edd81ed835da9c0da414b3b1bc89788f88ba53288ce596b5fa815f6040516114909291906123ac565b60405180910390a150565b6114a36116e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611511576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115089061278c565b60405180910390fd5b61151a81611be0565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611592576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115899061281a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f7906128a8565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116da9190611f97565b60405180910390a3505050565b6116ef61151d565b73ffffffffffffffffffffffffffffffffffffffff1661170d610e05565b73ffffffffffffffffffffffffffffffffffffffff1614611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90612910565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ca9061299e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611841576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183890612a2c565b60405180910390fd5b5f8111611883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187a90612aba565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015611903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fa90612b48565b60405180910390fd5b5f8060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690505f60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690505f60045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161590505f60045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16159050828015611a445750815b15611abe57600b5f9054906101000a900460ff1615611a7e57606486600954611a6d9190612b66565b611a779190612bd4565b9450611ab9565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab090612c4e565b60405180910390fd5b611b70565b838015611ac85750805b15611b4257600b5f9054906101000a900460ff1615611b0257606486600754611af19190612b66565b611afb9190612bd4565b9450611b3d565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3490612c4e565b60405180910390fd5b611b6f565b808015611b4c5750815b15611b6e57606486600854611b619190612b66565b611b6b9190612bd4565b94505b5b5b8486611b7c9190612276565b95505f851115611bcb57611bb28860015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687611ca1565b84600a5f828254611bc39190612311565b925050819055505b611bd6888888611ca1565b5050505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611ced9190612276565b925050819055508060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d409190612311565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611da49190611f97565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611de8578082015181840152602081019050611dcd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e0d82611db1565b611e178185611dbb565b9350611e27818560208601611dcb565b611e3081611df3565b840191505092915050565b5f6020820190508181035f830152611e538184611e03565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e8882611e5f565b9050919050565b611e9881611e7e565b8114611ea2575f80fd5b50565b5f81359050611eb381611e8f565b92915050565b5f819050919050565b611ecb81611eb9565b8114611ed5575f80fd5b50565b5f81359050611ee681611ec2565b92915050565b5f8060408385031215611f0257611f01611e5b565b5b5f611f0f85828601611ea5565b9250506020611f2085828601611ed8565b9150509250929050565b5f8115159050919050565b611f3e81611f2a565b82525050565b5f602082019050611f575f830184611f35565b92915050565b5f60208284031215611f7257611f71611e5b565b5b5f611f7f84828501611ed8565b91505092915050565b611f9181611eb9565b82525050565b5f602082019050611faa5f830184611f88565b92915050565b5f805f60608486031215611fc757611fc6611e5b565b5b5f611fd486828701611ea5565b9350506020611fe586828701611ea5565b9250506040611ff686828701611ed8565b9150509250925092565b5f60ff82169050919050565b61201581612000565b82525050565b5f60208201905061202e5f83018461200c565b92915050565b61203d81611f2a565b8114612047575f80fd5b50565b5f8135905061205881612034565b92915050565b5f6020828403121561207357612072611e5b565b5b5f6120808482850161204a565b91505092915050565b5f6020828403121561209e5761209d611e5b565b5b5f6120ab84828501611ea5565b91505092915050565b5f6120be82611e5f565b9050919050565b6120ce816120b4565b82525050565b5f6020820190506120e75f8301846120c5565b92915050565b6120f681611e7e565b82525050565b5f60208201905061210f5f8301846120ed565b92915050565b5f806040838503121561212b5761212a611e5b565b5b5f61213885828601611ea5565b925050602061214985828601611ea5565b9150509250929050565b7f427579204665652063616e6e6f74206265206d6f7265207468616e20352500005f82015250565b5f612187601e83611dbb565b915061219282612153565b602082019050919050565b5f6020820190508181035f8301526121b48161217b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612215602883611dbb565b9150612220826121bb565b604082019050919050565b5f6020820190508181035f83015261224281612209565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61228082611eb9565b915061228b83611eb9565b92508282039050818111156122a3576122a2612249565b5b92915050565b7f416c726561647920686176652073616d652073746174757300000000000000005f82015250565b5f6122dd601883611dbb565b91506122e8826122a9565b602082019050919050565b5f6020820190508181035f83015261230a816122d1565b9050919050565b5f61231b82611eb9565b915061232683611eb9565b925082820190508082111561233e5761233d612249565b5b92915050565b7f5468652077616c6c657420697320616c7265616479206578636c7564656421005f82015250565b5f612378601f83611dbb565b915061238382612344565b602082019050919050565b5f6020820190508181035f8301526123a58161236c565b9050919050565b5f6040820190506123bf5f8301856120ed565b6123cc6020830184611f35565b9392505050565b7f7365746d61726b6574696e6757616c6c65743a205a45524f00000000000000005f82015250565b5f612407601883611dbb565b9150612412826123d3565b602082019050919050565b5f6020820190508181035f830152612434816123fb565b9050919050565b5f819050919050565b5f61245e61245961245484611e5f565b61243b565b611e5f565b9050919050565b5f61246f82612444565b9050919050565b5f61248082612465565b9050919050565b61249081612476565b82525050565b5f6020820190506124a95f830184612487565b92915050565b7f53656c6c204665652063616e6e6f74206265206d6f7265207468616e203525005f82015250565b5f6124e3601f83611dbb565b91506124ee826124af565b602082019050919050565b5f6020820190508181035f830152612510816124d7565b9050919050565b5f81905092915050565b50565b5f61252f5f83612517565b915061253a82612521565b5f82019050919050565b5f61254e82612524565b9150819050919050565b7f5472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f61258c600f83611dbb565b915061259782612558565b602082019050919050565b5f6020820190508181035f8301526125b981612580565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c5f8201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b5f61261a603683611dbb565b9150612625826125c0565b604082019050919050565b5f6020820190508181035f8301526126478161260e565b9050919050565b5f6040820190506126615f830185612487565b61266e6020830184611f88565b9392505050565b5f8151905061268381612034565b92915050565b5f6020828403121561269e5761269d611e5b565b5b5f6126ab84828501612675565b91505092915050565b7f5468652077616c6c657420697320616c726561647920696e636c7564656421005f82015250565b5f6126e8601f83611dbb565b91506126f3826126b4565b602082019050919050565b5f6020820190508181035f830152612715816126dc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612776602683611dbb565b91506127818261271c565b604082019050919050565b5f6020820190508181035f8301526127a38161276a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612804602483611dbb565b915061280f826127aa565b604082019050919050565b5f6020820190508181035f830152612831816127f8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612892602283611dbb565b915061289d82612838565b604082019050919050565b5f6020820190508181035f8301526128bf81612886565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128fa602083611dbb565b9150612905826128c6565b602082019050919050565b5f6020820190508181035f830152612927816128ee565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612988602583611dbb565b91506129938261292e565b604082019050919050565b5f6020820190508181035f8301526129b58161297c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a16602383611dbb565b9150612a21826129bc565b604082019050919050565b5f6020820190508181035f830152612a4381612a0a565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612aa4602983611dbb565b9150612aaf82612a4a565b604082019050919050565b5f6020820190508181035f830152612ad181612a98565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612b32602683611dbb565b9150612b3d82612ad8565b604082019050919050565b5f6020820190508181035f830152612b5f81612b26565b9050919050565b5f612b7082611eb9565b9150612b7b83611eb9565b9250828202612b8981611eb9565b91508282048414831517612ba057612b9f612249565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612bde82611eb9565b9150612be983611eb9565b925082612bf957612bf8612ba7565b5b828204905092915050565b7f54726164696e67206973206e6f742061637469766500000000000000000000005f82015250565b5f612c38601583611dbb565b9150612c4382612c04565b602082019050919050565b5f6020820190508181035f830152612c6581612c2c565b905091905056fea26469706673582212203351e851096f7d3754cbc60d23392e30e30acaac0f857fa6150234b2e50f844564736f6c63430008140033

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.