ETH Price: $1,584.77 (-0.39%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve177781282023-07-26 15:24:35630 days ago1690385075IN
0x2C2eE752...191D199Ff
0 ETH0.0017277936.84160609
Approve177781122023-07-26 15:21:23630 days ago1690384883IN
0x2C2eE752...191D199Ff
0 ETH0.0015387932.81145166
Approve177780902023-07-26 15:16:59630 days ago1690384619IN
0x2C2eE752...191D199Ff
0 ETH0.001582833.50136303
Approve177780872023-07-26 15:16:23630 days ago1690384583IN
0x2C2eE752...191D199Ff
0 ETH0.0015709233.49653704
Approve174503122023-06-10 14:17:59676 days ago1686406679IN
0x2C2eE752...191D199Ff
0 ETH0.0008652218.43502576
Approve174502732023-06-10 14:09:59677 days ago1686406199IN
0x2C2eE752...191D199Ff
0 ETH0.0008978819.1357974
Approve174410972023-06-09 7:07:23678 days ago1686294443IN
0x2C2eE752...191D199Ff
0 ETH0.0008416617.81446594
Approve174388972023-06-08 23:42:59678 days ago1686267779IN
0x2C2eE752...191D199Ff
0 ETH0.0009594420.44762857
Approve174382142023-06-08 21:23:35678 days ago1686259415IN
0x2C2eE752...191D199Ff
0 ETH0.0009846320.86704511
Transfer174380492023-06-08 20:49:59678 days ago1686257399IN
0x2C2eE752...191D199Ff
0 ETH0.0011694718.75779515
Approve174363642023-06-08 15:06:35678 days ago1686236795IN
0x2C2eE752...191D199Ff
0 ETH0.0018236738.59963865
Approve174296982023-06-07 16:32:11679 days ago1686155531IN
0x2C2eE752...191D199Ff
0 ETH0.0018281638.74375024
Approve174256632023-06-07 2:52:47680 days ago1686106367IN
0x2C2eE752...191D199Ff
0 ETH0.0011126923.58099198
Approve174252832023-06-07 1:35:59680 days ago1686101759IN
0x2C2eE752...191D199Ff
0 ETH0.0011752224.87459745
Approve174247532023-06-06 23:47:47680 days ago1686095267IN
0x2C2eE752...191D199Ff
0 ETH0.0009394319.90929044
Approve174246052023-06-06 23:17:47680 days ago1686093467IN
0x2C2eE752...191D199Ff
0 ETH0.0009903820.98891183
Approve174245982023-06-06 23:16:23680 days ago1686093383IN
0x2C2eE752...191D199Ff
0 ETH0.0010047321.293118
Approve174245652023-06-06 23:09:47680 days ago1686092987IN
0x2C2eE752...191D199Ff
0 ETH0.000976320.6904854
Approve173880162023-06-01 19:24:59685 days ago1685647499IN
0x2C2eE752...191D199Ff
0 ETH0.0019075240.42573284
Approve173798422023-05-31 15:48:23686 days ago1685548103IN
0x2C2eE752...191D199Ff
0 ETH0.0013484945.21816321
Approve173798402023-05-31 15:47:47686 days ago1685548067IN
0x2C2eE752...191D199Ff
0 ETH0.0011758443.57256142
Approve173798352023-05-31 15:46:47686 days ago1685548007IN
0x2C2eE752...191D199Ff
0 ETH0.0018426839.30141855
Transfer173758032023-05-31 2:09:59687 days ago1685498999IN
0x2C2eE752...191D199Ff
0 ETH0.0016359229.45816703
Transfer173758002023-05-31 2:09:23687 days ago1685498963IN
0x2C2eE752...191D199Ff
0 ETH0.0017959929.76158574
Transfer173757952023-05-31 2:08:11687 days ago1685498891IN
0x2C2eE752...191D199Ff
0 ETH0.0017623529.20419004
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HereToStay

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-30
*/

pragma solidity ^0.8.13;

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol)

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

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

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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


/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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


/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {

    // Original OZ implementation
    // _balances state var was changed from "private" to "internal" so we can access
    // it from the child contract (needed for overriding _transfer functionality)
    mapping(address => uint256) internal _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}


contract HereToStay is ERC20 {

    // ERC20 _balances state var was changed from "private" to "internal" so we can access
    // it from the child contract (needed for overriding _transfer functionality)

    address public owner;
    address public marketing;
    address public treasury;
    address public lpAdder;

    uint16 public marketingFee = 0;
    uint16 public treasuryFee = 0;
    uint16 public lpFee = 0;

    event AllFeesRemoved();
    event MarketingAddressUpdated(address previousAddress, address newAddress);
    event TreasuryAddressUpdated(address previousAddress, address newAddress);
    event LPAdderAddressUpdated(address previousAddress, address newAddress);
    event MarketingFeeUpdated(uint256 previousFee, uint256 newFee);
    event TreasuryFeeUpdated(uint256 previousFee, uint256 newFee);
    event LPFeeUpdated(uint256 previousFee, uint256 newFee);
    event OwnershipTransferred(address previousOwner, address newOwner);

    modifier onlyOwner() {
        require(msg.sender == owner, "caller is not the owner");
        _;
    }

    constructor(uint _totalSupply, address _marketing, address _treasury, address _lpAdder)
    ERC20("Here 2 stay", "H2stay") {

        owner = msg.sender;

        require(_marketing != address(0) && _treasury != address(0) 
        && _lpAdder != address(0), "wrong addressess");

        // Mint total supply
        _mint(msg.sender, _totalSupply);

        // Set addresses
        marketing = _marketing;
        treasury = _treasury;
        lpAdder = _lpAdder;

    }

    // Modified ERC20 _transfer to support fees
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual override(ERC20) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = ERC20._balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        
        unchecked {
            
            // Calculate fees
            uint256 toTreasury = amount * treasuryFee / 100;
            uint256 toLP = amount * lpFee / 100;
            uint256 toMarketing = amount * marketingFee / 100;

            // Reduce fees from receiver
            uint256 toReceiver = amount - toTreasury - toLP - toMarketing;

            // Reduce amount from sender
            ERC20._balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.

            // Pay fees
            ERC20._balances[treasury] += toTreasury;
            ERC20._balances[lpAdder] += toLP;
            ERC20._balances[marketing] += toMarketing;

            // To receiver
            ERC20._balances[to] += toReceiver;
        }

        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);

    }

    function updateMarketingAddress(address _newMarketingAddress) external onlyOwner {
        require(_newMarketingAddress != address(0), "wrong address");
        emit MarketingAddressUpdated(marketing, _newMarketingAddress);
        marketing = _newMarketingAddress;
    }

    function updateTreasuryAddress(address _newTreasuryAddress) external onlyOwner {
        require(_newTreasuryAddress != address(0), "wrong address");
        emit TreasuryAddressUpdated(treasury, _newTreasuryAddress);
        treasury = _newTreasuryAddress;
    }

    function updateLPAdderAddress(address _newLPAdderAddress) external onlyOwner {
        require(_newLPAdderAddress != address(0), "wrong address");
        emit LPAdderAddressUpdated(lpAdder, _newLPAdderAddress);
        lpAdder = _newLPAdderAddress;
    }

    function updateMarketingFee(uint16 _newMarketingFee) external onlyOwner {
        require(_newMarketingFee <= 5, "can't exceed 5%");
        emit MarketingFeeUpdated(marketingFee, _newMarketingFee);
        marketingFee = _newMarketingFee;
    }

    function updateTreasuryFee(uint16 _newTreasuryFee) external onlyOwner {
        require(_newTreasuryFee <= 5, "can't exceed 5%");
        emit TreasuryFeeUpdated(treasuryFee, _newTreasuryFee);
        treasuryFee = _newTreasuryFee;
    }

    function updateLPFee(uint16 _newLPFee) external onlyOwner {
        require(_newLPFee <= 5, "can't exceed 5%");
        emit LPFeeUpdated(lpFee, _newLPFee);
        lpFee = _newLPFee;
    }

    function removeAllFees() external onlyOwner {
        emit AllFeesRemoved();
        lpFee = 0;
        treasuryFee = 0;
        marketingFee = 0;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        address oldOwner = owner;
        owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function renounceOwnership() public onlyOwner {
        transferOwnership(address(0));
    }

    // Rescue tokens that are stuck in this contract
    function rescueTokens(address _token, address _to) external onlyOwner {
        require(_to != address(0), "wrong _to");
        uint256 balance = IERC20(_token).balanceOf(address(this));
        IERC20(_token).transfer(_to, balance);
    }

    function getTotalFees() public view returns (uint16) {
        return lpFee + treasuryFee + marketingFee;       
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_treasury","type":"address"},{"internalType":"address","name":"_lpAdder","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"AllFeesRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"LPAdderAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"previousFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"LPFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"MarketingAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"previousFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"MarketingFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":false,"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":"address","name":"previousAddress","type":"address"},{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"TreasuryAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"previousFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"TreasuryFeeUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":[],"name":"getTotalFees","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lpAdder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"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":"removeAllFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newLPAdderAddress","type":"address"}],"name":"updateLPAdderAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_newLPFee","type":"uint16"}],"name":"updateLPFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMarketingAddress","type":"address"}],"name":"updateMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_newMarketingFee","type":"uint16"}],"name":"updateMarketingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newTreasuryAddress","type":"address"}],"name":"updateTreasuryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_newTreasuryFee","type":"uint16"}],"name":"updateTreasuryFee","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600860146101000a81548161ffff021916908361ffff1602179055506000600860166101000a81548161ffff021916908361ffff1602179055506000600860186101000a81548161ffff021916908361ffff1602179055503480156200006b57600080fd5b50604051620032a6380380620032a6833981810160405281019062000091919062000604565b6040518060400160405280600b81526020017f48657265203220737461790000000000000000000000000000000000000000008152506040518060400160405280600681526020017f4832737461790000000000000000000000000000000000000000000000000000815250816003908051906020019062000115929190620004af565b5080600490805190602001906200012e929190620004af565b50505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015620001dd5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620002175750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b62000259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200025090620006d7565b60405180910390fd5b6200026b33856200033860201b60201c565b82600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505062000889565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620003aa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003a19062000749565b60405180910390fd5b620003be60008383620004a560201b60201c565b8060026000828254620003d291906200079a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000485919062000808565b60405180910390a3620004a160008383620004aa60201b60201c565b5050565b505050565b505050565b828054620004bd9062000854565b90600052602060002090601f016020900481019282620004e157600085556200052d565b82601f10620004fc57805160ff19168380011785556200052d565b828001600101855582156200052d579182015b828111156200052c5782518255916020019190600101906200050f565b5b5090506200053c919062000540565b5090565b5b808211156200055b57600081600090555060010162000541565b5090565b600080fd5b6000819050919050565b620005798162000564565b81146200058557600080fd5b50565b60008151905062000599816200056e565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005cc826200059f565b9050919050565b620005de81620005bf565b8114620005ea57600080fd5b50565b600081519050620005fe81620005d3565b92915050565b600080600080608085870312156200062157620006206200055f565b5b6000620006318782880162000588565b94505060206200064487828801620005ed565b93505060406200065787828801620005ed565b92505060606200066a87828801620005ed565b91505092959194509250565b600082825260208201905092915050565b7f77726f6e67206164647265737365737300000000000000000000000000000000600082015250565b6000620006bf60108362000676565b9150620006cc8262000687565b602082019050919050565b60006020820190508181036000830152620006f281620006b0565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000731601f8362000676565b91506200073e82620006f9565b602082019050919050565b60006020820190508181036000830152620007648162000722565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007a78262000564565b9150620007b48362000564565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620007ec57620007eb6200076b565b5b828201905092915050565b620008028162000564565b82525050565b60006020820190506200081f6000830184620007f7565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200086d57607f821691505b60208210810362000883576200088262000825565b5b50919050565b612a0d80620008996000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80636b67c4df11610104578063968efe36116100a2578063ca9cc06a11610071578063ca9cc06a146104fa578063cc32d17614610516578063dd62ed3e14610534578063f2fde38b14610564576101cf565b8063968efe3614610460578063a457c2d71461047c578063a9059cbb146104ac578063b8207076146104dc576101cf565b8063715018a6116100de578063715018a6146103fe578063841e4561146104085780638da5cb5b1461042457806395d89b4114610442576101cf565b80636b67c4df14610392578063704ce43e146103b057806370a08231146103ce576101cf565b80632d3e474a116101715780635431c94e1161014b5780635431c94e1461033057806361d027b31461034c578063626e1ae71461036a5780636b130f9a14610388576101cf565b80632d3e474a146102c4578063313ce567146102e25780633950935114610300576101cf565b80632369bf83116101ad5780632369bf831461024057806323b872dd1461025c5780632418afa41461028c57806327946f9c146102a8576101cf565b806306fdde03146101d4578063095ea7b3146101f257806318160ddd14610222575b600080fd5b6101dc610580565b6040516101e99190611ea5565b60405180910390f35b61020c60048036038101906102079190611f60565b610612565b6040516102199190611fbb565b60405180910390f35b61022a610635565b6040516102379190611fe5565b60405180910390f35b61025a60048036038101906102559190612000565b61063f565b005b6102766004803603810190610271919061202d565b6107dd565b6040516102839190611fbb565b60405180910390f35b6102a660048036038101906102a191906120ba565b61080c565b005b6102c260048036038101906102bd9190612000565b61094d565b005b6102cc610aeb565b6040516102d991906120f6565b60405180910390f35b6102ea610b11565b6040516102f7919061212d565b60405180910390f35b61031a60048036038101906103159190611f60565b610b1a565b6040516103279190611fbb565b60405180910390f35b61034a60048036038101906103459190612148565b610b51565b005b610354610d52565b60405161036191906120f6565b60405180910390f35b610372610d78565b60405161037f9190612197565b60405180910390f35b610390610dc6565b005b61039a610ede565b6040516103a79190612197565b60405180910390f35b6103b8610ef2565b6040516103c59190612197565b60405180910390f35b6103e860048036038101906103e39190612000565b610f06565b6040516103f59190611fe5565b60405180910390f35b610406610f4e565b005b610422600480360381019061041d9190612000565b610fea565b005b61042c611188565b60405161043991906120f6565b60405180910390f35b61044a6111ae565b6040516104579190611ea5565b60405180910390f35b61047a600480360381019061047591906120ba565b611240565b005b61049660048036038101906104919190611f60565b611381565b6040516104a39190611fbb565b60405180910390f35b6104c660048036038101906104c19190611f60565b6113f8565b6040516104d39190611fbb565b60405180910390f35b6104e461141b565b6040516104f191906120f6565b60405180910390f35b610514600480360381019061050f91906120ba565b611441565b005b61051e611582565b60405161052b9190612197565b60405180910390f35b61054e60048036038101906105499190612148565b611596565b60405161055b9190611fe5565b60405180910390f35b61057e60048036038101906105799190612000565b61161d565b005b60606003805461058f906121e1565b80601f01602080910402602001604051908101604052809291908181526020018280546105bb906121e1565b80156106085780601f106105dd57610100808354040283529160200191610608565b820191906000526020600020905b8154815290600101906020018083116105eb57829003601f168201915b5050505050905090565b60008061061d611752565b905061062a81858561175a565b600191505092915050565b6000600254905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c69061225e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361073e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610735906122ca565b60405180910390fd5b7fa8efc72ed34f90017df79620d1972d42b8e3b17eb0077fc5fc46cbf1a19ed9a9600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826040516107919291906122ea565b60405180910390a180600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806107e8611752565b90506107f5858285611923565b6108008585856119af565b60019150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108939061225e565b60405180910390fd5b60058161ffff1611156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db9061235f565b60405180910390fd5b7fa3548295fa266701fb2455011980392d0693eeff50c36c961fd1e6a8a8403429600860169054906101000a900461ffff16826040516109259291906123ba565b60405180910390a180600860166101000a81548161ffff021916908361ffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d49061225e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a43906122ca565b60405180910390fd5b7f50e2715f39830e0dd3cf569bdf99cfc658844f03ef0a0fb2381b3e00de08a1b2600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051610a9f9291906122ea565b60405180910390a180600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b600080610b25611752565b9050610b46818585610b378589611596565b610b419190612412565b61175a565b600191505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd89061225e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c47906124b4565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c8b91906120f6565b602060405180830381865afa158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc91906124e9565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610d09929190612516565b6020604051808303816000875af1158015610d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4c919061256b565b50505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860149054906101000a900461ffff16600860169054906101000a900461ffff16600860189054906101000a900461ffff16610db79190612598565b610dc19190612598565b905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d9061225e565b60405180910390fd5b7fb63902bba759c8d231188a20e6f2e8fca929c4b14669cb0a70dbc47c3a78bf3d60405160405180910390a16000600860186101000a81548161ffff021916908361ffff1602179055506000600860166101000a81548161ffff021916908361ffff1602179055506000600860146101000a81548161ffff021916908361ffff160217905550565b600860149054906101000a900461ffff1681565b600860189054906101000a900461ffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd59061225e565b60405180910390fd5b610fe8600061161d565b565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461107a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110719061225e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e0906122ca565b60405180910390fd5b7f430359a6d97ced2b6f93c77a91e7ce9dfd43252eb91e916adba170485cd8a6a4600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260405161113c9291906122ea565b60405180910390a180600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600480546111bd906121e1565b80601f01602080910402602001604051908101604052809291908181526020018280546111e9906121e1565b80156112365780601f1061120b57610100808354040283529160200191611236565b820191906000526020600020905b81548152906001019060200180831161121957829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c79061225e565b60405180910390fd5b60058161ffff161115611318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130f9061235f565b60405180910390fd5b7f043102402b1ef1ea68f92a353de80186b92415038542af2e8d748f8d6c525032600860149054906101000a900461ffff16826040516113599291906123ba565b60405180910390a180600860146101000a81548161ffff021916908361ffff16021790555050565b60008061138c611752565b9050600061139a8286611596565b9050838110156113df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d690612642565b60405180910390fd5b6113ec828686840361175a565b60019250505092915050565b600080611403611752565b90506114108185856119af565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c89061225e565b60405180910390fd5b60058161ffff161115611519576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115109061235f565b60405180910390fd5b7fb5d5dda8af4f1e40a5cc4aa66c39ca5aac7f90947261313b07527eb3bdd98bc7600860189054906101000a900461ffff168260405161155a9291906123ba565b60405180910390a180600860186101000a81548161ffff021916908361ffff16021790555050565b600860169054906101000a900461ffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a49061225e565b60405180910390fd5b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e081836040516117469291906122ea565b60405180910390a15050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c0906126d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182f90612766565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119169190611fe5565b60405180910390a3505050565b600061192f8484611596565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119a9578181101561199b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611992906127d2565b60405180910390fd5b6119a8848484840361175a565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1590612864565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a84906128f6565b60405180910390fd5b611a98838383611e02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1590612988565b60405180910390fd5b60006064600860169054906101000a900461ffff1661ffff16840281611b4757611b466129a8565b5b04905060006064600860189054906101000a900461ffff1661ffff16850281611b7357611b726129a8565b5b04905060006064600860149054906101000a900461ffff1661ffff16860281611b9f57611b9e6129a8565b5b04905060008183858803030390508585036000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550505050508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611de99190611fe5565b60405180910390a3611dfc848484611e07565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e46578082015181840152602081019050611e2b565b83811115611e55576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e7782611e0c565b611e818185611e17565b9350611e91818560208601611e28565b611e9a81611e5b565b840191505092915050565b60006020820190508181036000830152611ebf8184611e6c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ef782611ecc565b9050919050565b611f0781611eec565b8114611f1257600080fd5b50565b600081359050611f2481611efe565b92915050565b6000819050919050565b611f3d81611f2a565b8114611f4857600080fd5b50565b600081359050611f5a81611f34565b92915050565b60008060408385031215611f7757611f76611ec7565b5b6000611f8585828601611f15565b9250506020611f9685828601611f4b565b9150509250929050565b60008115159050919050565b611fb581611fa0565b82525050565b6000602082019050611fd06000830184611fac565b92915050565b611fdf81611f2a565b82525050565b6000602082019050611ffa6000830184611fd6565b92915050565b60006020828403121561201657612015611ec7565b5b600061202484828501611f15565b91505092915050565b60008060006060848603121561204657612045611ec7565b5b600061205486828701611f15565b935050602061206586828701611f15565b925050604061207686828701611f4b565b9150509250925092565b600061ffff82169050919050565b61209781612080565b81146120a257600080fd5b50565b6000813590506120b48161208e565b92915050565b6000602082840312156120d0576120cf611ec7565b5b60006120de848285016120a5565b91505092915050565b6120f081611eec565b82525050565b600060208201905061210b60008301846120e7565b92915050565b600060ff82169050919050565b61212781612111565b82525050565b6000602082019050612142600083018461211e565b92915050565b6000806040838503121561215f5761215e611ec7565b5b600061216d85828601611f15565b925050602061217e85828601611f15565b9150509250929050565b61219181612080565b82525050565b60006020820190506121ac6000830184612188565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121f957607f821691505b60208210810361220c5761220b6121b2565b5b50919050565b7f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b6000612248601783611e17565b915061225382612212565b602082019050919050565b600060208201905081810360008301526122778161223b565b9050919050565b7f77726f6e67206164647265737300000000000000000000000000000000000000600082015250565b60006122b4600d83611e17565b91506122bf8261227e565b602082019050919050565b600060208201905081810360008301526122e3816122a7565b9050919050565b60006040820190506122ff60008301856120e7565b61230c60208301846120e7565b9392505050565b7f63616e2774206578636565642035250000000000000000000000000000000000600082015250565b6000612349600f83611e17565b915061235482612313565b602082019050919050565b600060208201905081810360008301526123788161233c565b9050919050565b6000819050919050565b60006123a461239f61239a84612080565b61237f565b611f2a565b9050919050565b6123b481612389565b82525050565b60006040820190506123cf60008301856123ab565b6123dc60208301846123ab565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061241d82611f2a565b915061242883611f2a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561245d5761245c6123e3565b5b828201905092915050565b7f77726f6e67205f746f0000000000000000000000000000000000000000000000600082015250565b600061249e600983611e17565b91506124a982612468565b602082019050919050565b600060208201905081810360008301526124cd81612491565b9050919050565b6000815190506124e381611f34565b92915050565b6000602082840312156124ff576124fe611ec7565b5b600061250d848285016124d4565b91505092915050565b600060408201905061252b60008301856120e7565b6125386020830184611fd6565b9392505050565b61254881611fa0565b811461255357600080fd5b50565b6000815190506125658161253f565b92915050565b60006020828403121561258157612580611ec7565b5b600061258f84828501612556565b91505092915050565b60006125a382612080565b91506125ae83612080565b92508261ffff038211156125c5576125c46123e3565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061262c602583611e17565b9150612637826125d0565b604082019050919050565b6000602082019050818103600083015261265b8161261f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006126be602483611e17565b91506126c982612662565b604082019050919050565b600060208201905081810360008301526126ed816126b1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612750602283611e17565b915061275b826126f4565b604082019050919050565b6000602082019050818103600083015261277f81612743565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006127bc601d83611e17565b91506127c782612786565b602082019050919050565b600060208201905081810360008301526127eb816127af565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061284e602583611e17565b9150612859826127f2565b604082019050919050565b6000602082019050818103600083015261287d81612841565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006128e0602383611e17565b91506128eb82612884565b604082019050919050565b6000602082019050818103600083015261290f816128d3565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612972602683611e17565b915061297d82612916565b604082019050919050565b600060208201905081810360008301526129a181612965565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220154d82f6ef216ebc904a3e44f3694d97b5e98015b54d1bad555595129b0807e964736f6c634300080d003300000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000076ce74be34a5a4eca04ad92dd0750892a55cf7ea00000000000000000000000076ce74be34a5a4eca04ad92dd0750892a55cf7ea00000000000000000000000076ce74be34a5a4eca04ad92dd0750892a55cf7ea

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c80636b67c4df11610104578063968efe36116100a2578063ca9cc06a11610071578063ca9cc06a146104fa578063cc32d17614610516578063dd62ed3e14610534578063f2fde38b14610564576101cf565b8063968efe3614610460578063a457c2d71461047c578063a9059cbb146104ac578063b8207076146104dc576101cf565b8063715018a6116100de578063715018a6146103fe578063841e4561146104085780638da5cb5b1461042457806395d89b4114610442576101cf565b80636b67c4df14610392578063704ce43e146103b057806370a08231146103ce576101cf565b80632d3e474a116101715780635431c94e1161014b5780635431c94e1461033057806361d027b31461034c578063626e1ae71461036a5780636b130f9a14610388576101cf565b80632d3e474a146102c4578063313ce567146102e25780633950935114610300576101cf565b80632369bf83116101ad5780632369bf831461024057806323b872dd1461025c5780632418afa41461028c57806327946f9c146102a8576101cf565b806306fdde03146101d4578063095ea7b3146101f257806318160ddd14610222575b600080fd5b6101dc610580565b6040516101e99190611ea5565b60405180910390f35b61020c60048036038101906102079190611f60565b610612565b6040516102199190611fbb565b60405180910390f35b61022a610635565b6040516102379190611fe5565b60405180910390f35b61025a60048036038101906102559190612000565b61063f565b005b6102766004803603810190610271919061202d565b6107dd565b6040516102839190611fbb565b60405180910390f35b6102a660048036038101906102a191906120ba565b61080c565b005b6102c260048036038101906102bd9190612000565b61094d565b005b6102cc610aeb565b6040516102d991906120f6565b60405180910390f35b6102ea610b11565b6040516102f7919061212d565b60405180910390f35b61031a60048036038101906103159190611f60565b610b1a565b6040516103279190611fbb565b60405180910390f35b61034a60048036038101906103459190612148565b610b51565b005b610354610d52565b60405161036191906120f6565b60405180910390f35b610372610d78565b60405161037f9190612197565b60405180910390f35b610390610dc6565b005b61039a610ede565b6040516103a79190612197565b60405180910390f35b6103b8610ef2565b6040516103c59190612197565b60405180910390f35b6103e860048036038101906103e39190612000565b610f06565b6040516103f59190611fe5565b60405180910390f35b610406610f4e565b005b610422600480360381019061041d9190612000565b610fea565b005b61042c611188565b60405161043991906120f6565b60405180910390f35b61044a6111ae565b6040516104579190611ea5565b60405180910390f35b61047a600480360381019061047591906120ba565b611240565b005b61049660048036038101906104919190611f60565b611381565b6040516104a39190611fbb565b60405180910390f35b6104c660048036038101906104c19190611f60565b6113f8565b6040516104d39190611fbb565b60405180910390f35b6104e461141b565b6040516104f191906120f6565b60405180910390f35b610514600480360381019061050f91906120ba565b611441565b005b61051e611582565b60405161052b9190612197565b60405180910390f35b61054e60048036038101906105499190612148565b611596565b60405161055b9190611fe5565b60405180910390f35b61057e60048036038101906105799190612000565b61161d565b005b60606003805461058f906121e1565b80601f01602080910402602001604051908101604052809291908181526020018280546105bb906121e1565b80156106085780601f106105dd57610100808354040283529160200191610608565b820191906000526020600020905b8154815290600101906020018083116105eb57829003601f168201915b5050505050905090565b60008061061d611752565b905061062a81858561175a565b600191505092915050565b6000600254905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c69061225e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361073e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610735906122ca565b60405180910390fd5b7fa8efc72ed34f90017df79620d1972d42b8e3b17eb0077fc5fc46cbf1a19ed9a9600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826040516107919291906122ea565b60405180910390a180600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806107e8611752565b90506107f5858285611923565b6108008585856119af565b60019150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461089c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108939061225e565b60405180910390fd5b60058161ffff1611156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db9061235f565b60405180910390fd5b7fa3548295fa266701fb2455011980392d0693eeff50c36c961fd1e6a8a8403429600860169054906101000a900461ffff16826040516109259291906123ba565b60405180910390a180600860166101000a81548161ffff021916908361ffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d49061225e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a43906122ca565b60405180910390fd5b7f50e2715f39830e0dd3cf569bdf99cfc658844f03ef0a0fb2381b3e00de08a1b2600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051610a9f9291906122ea565b60405180910390a180600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b600080610b25611752565b9050610b46818585610b378589611596565b610b419190612412565b61175a565b600191505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd89061225e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c47906124b4565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c8b91906120f6565b602060405180830381865afa158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc91906124e9565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610d09929190612516565b6020604051808303816000875af1158015610d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4c919061256b565b50505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860149054906101000a900461ffff16600860169054906101000a900461ffff16600860189054906101000a900461ffff16610db79190612598565b610dc19190612598565b905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d9061225e565b60405180910390fd5b7fb63902bba759c8d231188a20e6f2e8fca929c4b14669cb0a70dbc47c3a78bf3d60405160405180910390a16000600860186101000a81548161ffff021916908361ffff1602179055506000600860166101000a81548161ffff021916908361ffff1602179055506000600860146101000a81548161ffff021916908361ffff160217905550565b600860149054906101000a900461ffff1681565b600860189054906101000a900461ffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd59061225e565b60405180910390fd5b610fe8600061161d565b565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461107a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110719061225e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e0906122ca565b60405180910390fd5b7f430359a6d97ced2b6f93c77a91e7ce9dfd43252eb91e916adba170485cd8a6a4600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260405161113c9291906122ea565b60405180910390a180600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600480546111bd906121e1565b80601f01602080910402602001604051908101604052809291908181526020018280546111e9906121e1565b80156112365780601f1061120b57610100808354040283529160200191611236565b820191906000526020600020905b81548152906001019060200180831161121957829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c79061225e565b60405180910390fd5b60058161ffff161115611318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130f9061235f565b60405180910390fd5b7f043102402b1ef1ea68f92a353de80186b92415038542af2e8d748f8d6c525032600860149054906101000a900461ffff16826040516113599291906123ba565b60405180910390a180600860146101000a81548161ffff021916908361ffff16021790555050565b60008061138c611752565b9050600061139a8286611596565b9050838110156113df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d690612642565b60405180910390fd5b6113ec828686840361175a565b60019250505092915050565b600080611403611752565b90506114108185856119af565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c89061225e565b60405180910390fd5b60058161ffff161115611519576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115109061235f565b60405180910390fd5b7fb5d5dda8af4f1e40a5cc4aa66c39ca5aac7f90947261313b07527eb3bdd98bc7600860189054906101000a900461ffff168260405161155a9291906123ba565b60405180910390a180600860186101000a81548161ffff021916908361ffff16021790555050565b600860169054906101000a900461ffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a49061225e565b60405180910390fd5b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e081836040516117469291906122ea565b60405180910390a15050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c0906126d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182f90612766565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119169190611fe5565b60405180910390a3505050565b600061192f8484611596565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119a9578181101561199b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611992906127d2565b60405180910390fd5b6119a8848484840361175a565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1590612864565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a84906128f6565b60405180910390fd5b611a98838383611e02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1590612988565b60405180910390fd5b60006064600860169054906101000a900461ffff1661ffff16840281611b4757611b466129a8565b5b04905060006064600860189054906101000a900461ffff1661ffff16850281611b7357611b726129a8565b5b04905060006064600860149054906101000a900461ffff1661ffff16860281611b9f57611b9e6129a8565b5b04905060008183858803030390508585036000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550505050508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611de99190611fe5565b60405180910390a3611dfc848484611e07565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e46578082015181840152602081019050611e2b565b83811115611e55576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e7782611e0c565b611e818185611e17565b9350611e91818560208601611e28565b611e9a81611e5b565b840191505092915050565b60006020820190508181036000830152611ebf8184611e6c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ef782611ecc565b9050919050565b611f0781611eec565b8114611f1257600080fd5b50565b600081359050611f2481611efe565b92915050565b6000819050919050565b611f3d81611f2a565b8114611f4857600080fd5b50565b600081359050611f5a81611f34565b92915050565b60008060408385031215611f7757611f76611ec7565b5b6000611f8585828601611f15565b9250506020611f9685828601611f4b565b9150509250929050565b60008115159050919050565b611fb581611fa0565b82525050565b6000602082019050611fd06000830184611fac565b92915050565b611fdf81611f2a565b82525050565b6000602082019050611ffa6000830184611fd6565b92915050565b60006020828403121561201657612015611ec7565b5b600061202484828501611f15565b91505092915050565b60008060006060848603121561204657612045611ec7565b5b600061205486828701611f15565b935050602061206586828701611f15565b925050604061207686828701611f4b565b9150509250925092565b600061ffff82169050919050565b61209781612080565b81146120a257600080fd5b50565b6000813590506120b48161208e565b92915050565b6000602082840312156120d0576120cf611ec7565b5b60006120de848285016120a5565b91505092915050565b6120f081611eec565b82525050565b600060208201905061210b60008301846120e7565b92915050565b600060ff82169050919050565b61212781612111565b82525050565b6000602082019050612142600083018461211e565b92915050565b6000806040838503121561215f5761215e611ec7565b5b600061216d85828601611f15565b925050602061217e85828601611f15565b9150509250929050565b61219181612080565b82525050565b60006020820190506121ac6000830184612188565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121f957607f821691505b60208210810361220c5761220b6121b2565b5b50919050565b7f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b6000612248601783611e17565b915061225382612212565b602082019050919050565b600060208201905081810360008301526122778161223b565b9050919050565b7f77726f6e67206164647265737300000000000000000000000000000000000000600082015250565b60006122b4600d83611e17565b91506122bf8261227e565b602082019050919050565b600060208201905081810360008301526122e3816122a7565b9050919050565b60006040820190506122ff60008301856120e7565b61230c60208301846120e7565b9392505050565b7f63616e2774206578636565642035250000000000000000000000000000000000600082015250565b6000612349600f83611e17565b915061235482612313565b602082019050919050565b600060208201905081810360008301526123788161233c565b9050919050565b6000819050919050565b60006123a461239f61239a84612080565b61237f565b611f2a565b9050919050565b6123b481612389565b82525050565b60006040820190506123cf60008301856123ab565b6123dc60208301846123ab565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061241d82611f2a565b915061242883611f2a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561245d5761245c6123e3565b5b828201905092915050565b7f77726f6e67205f746f0000000000000000000000000000000000000000000000600082015250565b600061249e600983611e17565b91506124a982612468565b602082019050919050565b600060208201905081810360008301526124cd81612491565b9050919050565b6000815190506124e381611f34565b92915050565b6000602082840312156124ff576124fe611ec7565b5b600061250d848285016124d4565b91505092915050565b600060408201905061252b60008301856120e7565b6125386020830184611fd6565b9392505050565b61254881611fa0565b811461255357600080fd5b50565b6000815190506125658161253f565b92915050565b60006020828403121561258157612580611ec7565b5b600061258f84828501612556565b91505092915050565b60006125a382612080565b91506125ae83612080565b92508261ffff038211156125c5576125c46123e3565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061262c602583611e17565b9150612637826125d0565b604082019050919050565b6000602082019050818103600083015261265b8161261f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006126be602483611e17565b91506126c982612662565b604082019050919050565b600060208201905081810360008301526126ed816126b1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612750602283611e17565b915061275b826126f4565b604082019050919050565b6000602082019050818103600083015261277f81612743565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006127bc601d83611e17565b91506127c782612786565b602082019050919050565b600060208201905081810360008301526127eb816127af565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061284e602583611e17565b9150612859826127f2565b604082019050919050565b6000602082019050818103600083015261287d81612841565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006128e0602383611e17565b91506128eb82612884565b604082019050919050565b6000602082019050818103600083015261290f816128d3565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612972602683611e17565b915061297d82612916565b604082019050919050565b600060208201905081810360008301526129a181612965565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220154d82f6ef216ebc904a3e44f3694d97b5e98015b54d1bad555595129b0807e964736f6c634300080d0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000076ce74be34a5a4eca04ad92dd0750892a55cf7ea00000000000000000000000076ce74be34a5a4eca04ad92dd0750892a55cf7ea00000000000000000000000076ce74be34a5a4eca04ad92dd0750892a55cf7ea

-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 100000000000000000000000000
Arg [1] : _marketing (address): 0x76CE74Be34a5a4ecA04ad92DD0750892A55CF7EA
Arg [2] : _treasury (address): 0x76CE74Be34a5a4ecA04ad92DD0750892A55CF7EA
Arg [3] : _lpAdder (address): 0x76CE74Be34a5a4ecA04ad92DD0750892A55CF7EA

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [1] : 00000000000000000000000076ce74be34a5a4eca04ad92dd0750892a55cf7ea
Arg [2] : 00000000000000000000000076ce74be34a5a4eca04ad92dd0750892a55cf7ea
Arg [3] : 00000000000000000000000076ce74be34a5a4eca04ad92dd0750892a55cf7ea


Deployed Bytecode Sourcemap

17528:5565:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6338:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8689:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7458:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20669:275;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9470:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21751:241;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21227:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17770:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7300:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10174:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22718:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17801:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22970:120;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22201:157;;;:::i;:::-;;17862:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17935:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7629:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22562:94;;;:::i;:::-;;20952:267;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17743:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6557:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21494:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10915:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7962:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17831:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22000:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17899:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8218:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22366:188;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6338:100;6392:13;6425:5;6418:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6338:100;:::o;8689:201::-;8772:4;8789:13;8805:12;:10;:12::i;:::-;8789:28;;8828:32;8837:5;8844:7;8853:6;8828:8;:32::i;:::-;8878:4;8871:11;;;8689:201;;;;:::o;7458:108::-;7519:7;7546:12;;7539:19;;7458:108;:::o;20669:275::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;20801:1:::1;20769:34;;:20;:34;;::::0;20761:60:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;20837:56;20861:9;;;;;;;;;;;20872:20;20837:56;;;;;;;:::i;:::-;;;;;;;;20916:20;20904:9;;:32;;;;;;;;;;;;;;;;;;20669:275:::0;:::o;9470:295::-;9601:4;9618:15;9636:12;:10;:12::i;:::-;9618:30;;9659:38;9675:4;9681:7;9690:6;9659:15;:38::i;:::-;9708:27;9718:4;9724:2;9728:6;9708:9;:27::i;:::-;9753:4;9746:11;;;9470:295;;;;;:::o;21751:241::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;21859:1:::1;21840:15;:20;;;;21832:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;21896;21915:11;;;;;;;;;;;21928:15;21896:48;;;;;;;:::i;:::-;;;;;;;;21969:15;21955:11;;:29;;;;;;;;;;;;;;;;;;21751:241:::0;:::o;21227:259::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;21353:1:::1;21323:32;;:18;:32;;::::0;21315:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;21389:50;21411:7;;;;;;;;;;;21420:18;21389:50;;;;;;;:::i;:::-;;;;;;;;21460:18;21450:7;;:28;;;;;;;;;;;;;;;;;;21227:259:::0;:::o;17770:24::-;;;;;;;;;;;;;:::o;7300:93::-;7358:5;7383:2;7376:9;;7300:93;:::o;10174:238::-;10262:4;10279:13;10295:12;:10;:12::i;:::-;10279:28;;10318:64;10327:5;10334:7;10371:10;10343:25;10353:5;10360:7;10343:9;:25::i;:::-;:38;;;;:::i;:::-;10318:8;:64::i;:::-;10400:4;10393:11;;;10174:238;;;;:::o;22718:244::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;22822:1:::1;22807:17;;:3;:17;;::::0;22799:39:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22849:15;22874:6;22867:24;;;22900:4;22867:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22849:57;;22924:6;22917:23;;;22941:3;22946:7;22917:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22788:174;22718:244:::0;;:::o;17801:23::-;;;;;;;;;;;;;:::o;22970:120::-;23015:6;23063:12;;;;;;;;;;;23049:11;;;;;;;;;;;23041:5;;;;;;;;;;;:19;;;;:::i;:::-;:34;;;;:::i;:::-;23034:41;;22970:120;:::o;22201:157::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;22261:16:::1;;;;;;;;;;22296:1;22288:5;;:9;;;;;;;;;;;;;;;;;;22322:1;22308:11;;:15;;;;;;;;;;;;;;;;;;22349:1;22334:12;;:16;;;;;;;;;;;;;;;;;;22201:157::o:0;17862:30::-;;;;;;;;;;;;;:::o;17935:23::-;;;;;;;;;;;;;:::o;7629:127::-;7703:7;7730:9;:18;7740:7;7730:18;;;;;;;;;;;;;;;;7723:25;;7629:127;;;:::o;22562:94::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;22619:29:::1;22645:1;22619:17;:29::i;:::-;22562:94::o:0;20952:267::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;21081:1:::1;21050:33;;:19;:33;;::::0;21042:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;21117:53;21140:8;;;;;;;;;;;21150:19;21117:53;;;;;;;:::i;:::-;;;;;;;;21192:19;21181:8;;:30;;;;;;;;;;;;;;;;;;20952:267:::0;:::o;17743:20::-;;;;;;;;;;;;;:::o;6557:104::-;6613:13;6646:7;6639:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6557:104;:::o;21494:249::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;21605:1:::1;21585:16;:21;;;;21577:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;21642:51;21662:12;;;;;;;;;;;21676:16;21642:51;;;;;;;:::i;:::-;;;;;;;;21719:16;21704:12;;:31;;;;;;;;;;;;;;;;;;21494:249:::0;:::o;10915:436::-;11008:4;11025:13;11041:12;:10;:12::i;:::-;11025:28;;11064:24;11091:25;11101:5;11108:7;11091:9;:25::i;:::-;11064:52;;11155:15;11135:16;:35;;11127:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11248:60;11257:5;11264:7;11292:15;11273:16;:34;11248:8;:60::i;:::-;11339:4;11332:11;;;;10915:436;;;;:::o;7962:193::-;8041:4;8058:13;8074:12;:10;:12::i;:::-;8058:28;;8097;8107:5;8114:2;8118:6;8097:9;:28::i;:::-;8143:4;8136:11;;;7962:193;;;;:::o;17831:22::-;;;;;;;;;;;;;:::o;22000:193::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;22090:1:::1;22077:9;:14;;;;22069:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;22127:30;22140:5;;;;;;;;;;;22147:9;22127:30;;;;;;;:::i;:::-;;;;;;;;22176:9;22168:5;;:17;;;;;;;;;;;;;;;;;;22000:193:::0;:::o;17899:29::-;;;;;;;;;;;;;:::o;8218:151::-;8307:7;8334:11;:18;8346:5;8334:18;;;;;;;;;;;;;;;:27;8353:7;8334:27;;;;;;;;;;;;;;;;8327:34;;8218:151;;;;:::o;22366:188::-;18565:5;;;;;;;;;;;18551:19;;:10;:19;;;18543:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;22439:16:::1;22458:5;;;;;;;;;;;22439:24;;22482:8;22474:5;;:16;;;;;;;;;;;;;;;;;;22506:40;22527:8;22537;22506:40;;;;;;;:::i;:::-;;;;;;;;22428:126;22366:188:::0;:::o;3939:98::-;3992:7;4019:10;4012:17;;3939:98;:::o;14942:380::-;15095:1;15078:19;;:5;:19;;;15070:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15176:1;15157:21;;:7;:21;;;15149:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15260:6;15230:11;:18;15242:5;15230:18;;;;;;;;;;;;;;;:27;15249:7;15230:27;;;;;;;;;;;;;;;:36;;;;15298:7;15282:32;;15291:5;15282:32;;;15307:6;15282:32;;;;;;:::i;:::-;;;;;;;;14942:380;;;:::o;15613:453::-;15748:24;15775:25;15785:5;15792:7;15775:9;:25::i;:::-;15748:52;;15835:17;15815:16;:37;15811:248;;15897:6;15877:16;:26;;15869:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15981:51;15990:5;15997:7;16025:6;16006:16;:25;15981:8;:51::i;:::-;15811:248;15737:329;15613:453;;;:::o;19172:1489::-;19337:1;19321:18;;:4;:18;;;19313:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19414:1;19400:16;;:2;:16;;;19392:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19469:38;19490:4;19496:2;19500:6;19469:20;:38::i;:::-;19520:19;19542:15;:21;19558:4;19542:21;;;;;;;;;;;;;;;;19520:43;;19597:6;19582:11;:21;;19574:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;19737:18;19781:3;19767:11;;;;;;;;;;;19758:20;;:6;:20;:26;;;;;:::i;:::-;;;19737:47;;19799:12;19831:3;19823:5;;;;;;;;;;;19814:14;;:6;:14;:20;;;;;:::i;:::-;;;19799:35;;19849:19;19895:3;19880:12;;;;;;;;;;;19871:21;;:6;:21;:27;;;;;:::i;:::-;;;19849:49;;19957:18;20007:11;20000:4;19987:10;19978:6;:19;:26;:40;19957:61;;20115:6;20101:11;:20;20077:15;:21;20093:4;20077:21;;;;;;;;;;;;;;;:44;;;;20357:10;20328:15;:25;20344:8;;;;;;;;;;;20328:25;;;;;;;;;;;;;;;;:39;;;;;;;;;;;20410:4;20382:15;:24;20398:7;;;;;;;;;;;20382:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;20459:11;20429:15;:26;20445:9;;;;;;;;;;;20429:26;;;;;;;;;;;;;;;;:41;;;;;;;;;;;20538:10;20515:15;:19;20531:2;20515:19;;;;;;;;;;;;;;;;:33;;;;;;;;;;;19667:893;;;;20592:2;20577:26;;20586:4;20577:26;;;20596:6;20577:26;;;;;;:::i;:::-;;;;;;;;20614:37;20634:4;20640:2;20644:6;20614:19;:37::i;:::-;19300:1361;19172:1489;;;:::o;16666:125::-;;;;:::o;17395:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:329::-;3905:6;3954:2;3942:9;3933:7;3929:23;3925:32;3922:119;;;3960:79;;:::i;:::-;3922:119;4080:1;4105:53;4150:7;4141:6;4130:9;4126:22;4105:53;:::i;:::-;4095:63;;4051:117;3846:329;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:89::-;4842:7;4882:6;4875:5;4871:18;4860:29;;4806:89;;;:::o;4901:120::-;4973:23;4990:5;4973:23;:::i;:::-;4966:5;4963:34;4953:62;;5011:1;5008;5001:12;4953:62;4901:120;:::o;5027:137::-;5072:5;5110:6;5097:20;5088:29;;5126:32;5152:5;5126:32;:::i;:::-;5027:137;;;;:::o;5170:327::-;5228:6;5277:2;5265:9;5256:7;5252:23;5248:32;5245:119;;;5283:79;;:::i;:::-;5245:119;5403:1;5428:52;5472:7;5463:6;5452:9;5448:22;5428:52;:::i;:::-;5418:62;;5374:116;5170:327;;;;:::o;5503:118::-;5590:24;5608:5;5590:24;:::i;:::-;5585:3;5578:37;5503:118;;:::o;5627:222::-;5720:4;5758:2;5747:9;5743:18;5735:26;;5771:71;5839:1;5828:9;5824:17;5815:6;5771:71;:::i;:::-;5627:222;;;;:::o;5855:86::-;5890:7;5930:4;5923:5;5919:16;5908:27;;5855:86;;;:::o;5947:112::-;6030:22;6046:5;6030:22;:::i;:::-;6025:3;6018:35;5947:112;;:::o;6065:214::-;6154:4;6192:2;6181:9;6177:18;6169:26;;6205:67;6269:1;6258:9;6254:17;6245:6;6205:67;:::i;:::-;6065:214;;;;:::o;6285:474::-;6353:6;6361;6410:2;6398:9;6389:7;6385:23;6381:32;6378:119;;;6416:79;;:::i;:::-;6378:119;6536:1;6561:53;6606:7;6597:6;6586:9;6582:22;6561:53;:::i;:::-;6551:63;;6507:117;6663:2;6689:53;6734:7;6725:6;6714:9;6710:22;6689:53;:::i;:::-;6679:63;;6634:118;6285:474;;;;;:::o;6765:115::-;6850:23;6867:5;6850:23;:::i;:::-;6845:3;6838:36;6765:115;;:::o;6886:218::-;6977:4;7015:2;7004:9;7000:18;6992:26;;7028:69;7094:1;7083:9;7079:17;7070:6;7028:69;:::i;:::-;6886:218;;;;:::o;7110:180::-;7158:77;7155:1;7148:88;7255:4;7252:1;7245:15;7279:4;7276:1;7269:15;7296:320;7340:6;7377:1;7371:4;7367:12;7357:22;;7424:1;7418:4;7414:12;7445:18;7435:81;;7501:4;7493:6;7489:17;7479:27;;7435:81;7563:2;7555:6;7552:14;7532:18;7529:38;7526:84;;7582:18;;:::i;:::-;7526:84;7347:269;7296:320;;;:::o;7622:173::-;7762:25;7758:1;7750:6;7746:14;7739:49;7622:173;:::o;7801:366::-;7943:3;7964:67;8028:2;8023:3;7964:67;:::i;:::-;7957:74;;8040:93;8129:3;8040:93;:::i;:::-;8158:2;8153:3;8149:12;8142:19;;7801:366;;;:::o;8173:419::-;8339:4;8377:2;8366:9;8362:18;8354:26;;8426:9;8420:4;8416:20;8412:1;8401:9;8397:17;8390:47;8454:131;8580:4;8454:131;:::i;:::-;8446:139;;8173:419;;;:::o;8598:163::-;8738:15;8734:1;8726:6;8722:14;8715:39;8598:163;:::o;8767:366::-;8909:3;8930:67;8994:2;8989:3;8930:67;:::i;:::-;8923:74;;9006:93;9095:3;9006:93;:::i;:::-;9124:2;9119:3;9115:12;9108:19;;8767:366;;;:::o;9139:419::-;9305:4;9343:2;9332:9;9328:18;9320:26;;9392:9;9386:4;9382:20;9378:1;9367:9;9363:17;9356:47;9420:131;9546:4;9420:131;:::i;:::-;9412:139;;9139:419;;;:::o;9564:332::-;9685:4;9723:2;9712:9;9708:18;9700:26;;9736:71;9804:1;9793:9;9789:17;9780:6;9736:71;:::i;:::-;9817:72;9885:2;9874:9;9870:18;9861:6;9817:72;:::i;:::-;9564:332;;;;;:::o;9902:165::-;10042:17;10038:1;10030:6;10026:14;10019:41;9902:165;:::o;10073:366::-;10215:3;10236:67;10300:2;10295:3;10236:67;:::i;:::-;10229:74;;10312:93;10401:3;10312:93;:::i;:::-;10430:2;10425:3;10421:12;10414:19;;10073:366;;;:::o;10445:419::-;10611:4;10649:2;10638:9;10634:18;10626:26;;10698:9;10692:4;10688:20;10684:1;10673:9;10669:17;10662:47;10726:131;10852:4;10726:131;:::i;:::-;10718:139;;10445:419;;;:::o;10870:60::-;10898:3;10919:5;10912:12;;10870:60;;;:::o;10936:140::-;10985:9;11018:52;11036:33;11045:23;11062:5;11045:23;:::i;:::-;11036:33;:::i;:::-;11018:52;:::i;:::-;11005:65;;10936:140;;;:::o;11082:129::-;11168:36;11198:5;11168:36;:::i;:::-;11163:3;11156:49;11082:129;;:::o;11217:328::-;11336:4;11374:2;11363:9;11359:18;11351:26;;11387:70;11454:1;11443:9;11439:17;11430:6;11387:70;:::i;:::-;11467:71;11534:2;11523:9;11519:18;11510:6;11467:71;:::i;:::-;11217:328;;;;;:::o;11551:180::-;11599:77;11596:1;11589:88;11696:4;11693:1;11686:15;11720:4;11717:1;11710:15;11737:305;11777:3;11796:20;11814:1;11796:20;:::i;:::-;11791:25;;11830:20;11848:1;11830:20;:::i;:::-;11825:25;;11984:1;11916:66;11912:74;11909:1;11906:81;11903:107;;;11990:18;;:::i;:::-;11903:107;12034:1;12031;12027:9;12020:16;;11737:305;;;;:::o;12048:159::-;12188:11;12184:1;12176:6;12172:14;12165:35;12048:159;:::o;12213:365::-;12355:3;12376:66;12440:1;12435:3;12376:66;:::i;:::-;12369:73;;12451:93;12540:3;12451:93;:::i;:::-;12569:2;12564:3;12560:12;12553:19;;12213:365;;;:::o;12584:419::-;12750:4;12788:2;12777:9;12773:18;12765:26;;12837:9;12831:4;12827:20;12823:1;12812:9;12808:17;12801:47;12865:131;12991:4;12865:131;:::i;:::-;12857:139;;12584:419;;;:::o;13009:143::-;13066:5;13097:6;13091:13;13082:22;;13113:33;13140:5;13113:33;:::i;:::-;13009:143;;;;:::o;13158:351::-;13228:6;13277:2;13265:9;13256:7;13252:23;13248:32;13245:119;;;13283:79;;:::i;:::-;13245:119;13403:1;13428:64;13484:7;13475:6;13464:9;13460:22;13428:64;:::i;:::-;13418:74;;13374:128;13158:351;;;;:::o;13515:332::-;13636:4;13674:2;13663:9;13659:18;13651:26;;13687:71;13755:1;13744:9;13740:17;13731:6;13687:71;:::i;:::-;13768:72;13836:2;13825:9;13821:18;13812:6;13768:72;:::i;:::-;13515:332;;;;;:::o;13853:116::-;13923:21;13938:5;13923:21;:::i;:::-;13916:5;13913:32;13903:60;;13959:1;13956;13949:12;13903:60;13853:116;:::o;13975:137::-;14029:5;14060:6;14054:13;14045:22;;14076:30;14100:5;14076:30;:::i;:::-;13975:137;;;;:::o;14118:345::-;14185:6;14234:2;14222:9;14213:7;14209:23;14205:32;14202:119;;;14240:79;;:::i;:::-;14202:119;14360:1;14385:61;14438:7;14429:6;14418:9;14414:22;14385:61;:::i;:::-;14375:71;;14331:125;14118:345;;;;:::o;14469:242::-;14508:3;14527:19;14544:1;14527:19;:::i;:::-;14522:24;;14560:19;14577:1;14560:19;:::i;:::-;14555:24;;14653:1;14645:6;14641:14;14638:1;14635:21;14632:47;;;14659:18;;:::i;:::-;14632:47;14703:1;14700;14696:9;14689:16;;14469:242;;;;:::o;14717:224::-;14857:34;14853:1;14845:6;14841:14;14834:58;14926:7;14921:2;14913:6;14909:15;14902:32;14717:224;:::o;14947:366::-;15089:3;15110:67;15174:2;15169:3;15110:67;:::i;:::-;15103:74;;15186:93;15275:3;15186:93;:::i;:::-;15304:2;15299:3;15295:12;15288:19;;14947:366;;;:::o;15319:419::-;15485:4;15523:2;15512:9;15508:18;15500:26;;15572:9;15566:4;15562:20;15558:1;15547:9;15543:17;15536:47;15600:131;15726:4;15600:131;:::i;:::-;15592:139;;15319:419;;;:::o;15744:223::-;15884:34;15880:1;15872:6;15868:14;15861:58;15953:6;15948:2;15940:6;15936:15;15929:31;15744:223;:::o;15973:366::-;16115:3;16136:67;16200:2;16195:3;16136:67;:::i;:::-;16129:74;;16212:93;16301:3;16212:93;:::i;:::-;16330:2;16325:3;16321:12;16314:19;;15973:366;;;:::o;16345:419::-;16511:4;16549:2;16538:9;16534:18;16526:26;;16598:9;16592:4;16588:20;16584:1;16573:9;16569:17;16562:47;16626:131;16752:4;16626:131;:::i;:::-;16618:139;;16345:419;;;:::o;16770:221::-;16910:34;16906:1;16898:6;16894:14;16887:58;16979:4;16974:2;16966:6;16962:15;16955:29;16770:221;:::o;16997:366::-;17139:3;17160:67;17224:2;17219:3;17160:67;:::i;:::-;17153:74;;17236:93;17325:3;17236:93;:::i;:::-;17354:2;17349:3;17345:12;17338:19;;16997:366;;;:::o;17369:419::-;17535:4;17573:2;17562:9;17558:18;17550:26;;17622:9;17616:4;17612:20;17608:1;17597:9;17593:17;17586:47;17650:131;17776:4;17650:131;:::i;:::-;17642:139;;17369:419;;;:::o;17794:179::-;17934:31;17930:1;17922:6;17918:14;17911:55;17794:179;:::o;17979:366::-;18121:3;18142:67;18206:2;18201:3;18142:67;:::i;:::-;18135:74;;18218:93;18307:3;18218:93;:::i;:::-;18336:2;18331:3;18327:12;18320:19;;17979:366;;;:::o;18351:419::-;18517:4;18555:2;18544:9;18540:18;18532:26;;18604:9;18598:4;18594:20;18590:1;18579:9;18575:17;18568:47;18632:131;18758:4;18632:131;:::i;:::-;18624:139;;18351:419;;;:::o;18776:224::-;18916:34;18912:1;18904:6;18900:14;18893:58;18985:7;18980:2;18972:6;18968:15;18961:32;18776:224;:::o;19006:366::-;19148:3;19169:67;19233:2;19228:3;19169:67;:::i;:::-;19162:74;;19245:93;19334:3;19245:93;:::i;:::-;19363:2;19358:3;19354:12;19347:19;;19006:366;;;:::o;19378:419::-;19544:4;19582:2;19571:9;19567:18;19559:26;;19631:9;19625:4;19621:20;19617:1;19606:9;19602:17;19595:47;19659:131;19785:4;19659:131;:::i;:::-;19651:139;;19378:419;;;:::o;19803:222::-;19943:34;19939:1;19931:6;19927:14;19920:58;20012:5;20007:2;19999:6;19995:15;19988:30;19803:222;:::o;20031:366::-;20173:3;20194:67;20258:2;20253:3;20194:67;:::i;:::-;20187:74;;20270:93;20359:3;20270:93;:::i;:::-;20388:2;20383:3;20379:12;20372:19;;20031:366;;;:::o;20403:419::-;20569:4;20607:2;20596:9;20592:18;20584:26;;20656:9;20650:4;20646:20;20642:1;20631:9;20627:17;20620:47;20684:131;20810:4;20684:131;:::i;:::-;20676:139;;20403:419;;;:::o;20828:225::-;20968:34;20964:1;20956:6;20952:14;20945:58;21037:8;21032:2;21024:6;21020:15;21013:33;20828:225;:::o;21059:366::-;21201:3;21222:67;21286:2;21281:3;21222:67;:::i;:::-;21215:74;;21298:93;21387:3;21298:93;:::i;:::-;21416:2;21411:3;21407:12;21400:19;;21059:366;;;:::o;21431:419::-;21597:4;21635:2;21624:9;21620:18;21612:26;;21684:9;21678:4;21674:20;21670:1;21659:9;21655:17;21648:47;21712:131;21838:4;21712:131;:::i;:::-;21704:139;;21431:419;;;:::o;21856:180::-;21904:77;21901:1;21894:88;22001:4;21998:1;21991:15;22025:4;22022:1;22015:15

Swarm Source

ipfs://154d82f6ef216ebc904a3e44f3694d97b5e98015b54d1bad555595129b0807e9

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.