ETH Price: $2,909.62 (-3.94%)
Gas: 1 Gwei

Contract

0x7704b6A495a5Ee97333A5CdDEf36E976179E7D2a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Set Sell Tax202475782024-07-06 12:51:1141 hrs ago1720270271IN
0x7704b6A4...6179E7D2a
0 ETH0.000072782.61124213
Set Buy Tax202475772024-07-06 12:50:5941 hrs ago1720270259IN
0x7704b6A4...6179E7D2a
0 ETH0.000067082.4049789
Set Uniswap V2Pa...202425712024-07-05 20:03:352 days ago1720209815IN
0x7704b6A4...6179E7D2a
0 ETH0.000117493.80374201
Approve202412962024-07-05 15:47:352 days ago1720194455IN
0x7704b6A4...6179E7D2a
0 ETH0.0005199611.027951
Approve202412082024-07-05 15:29:592 days ago1720193399IN
0x7704b6A4...6179E7D2a
0 ETH0.0007487415.85984784
Approve202411692024-07-05 15:21:592 days ago1720192919IN
0x7704b6A4...6179E7D2a
0 ETH0.004102186.89066697
Approve202411692024-07-05 15:21:592 days ago1720192919IN
0x7704b6A4...6179E7D2a
0 ETH0.004102186.89066697
Approve202411692024-07-05 15:21:592 days ago1720192919IN
0x7704b6A4...6179E7D2a
0 ETH0.004102186.89066697
Approve202411692024-07-05 15:21:592 days ago1720192919IN
0x7704b6A4...6179E7D2a
0 ETH0.004102186.89066697
Approve202411692024-07-05 15:21:592 days ago1720192919IN
0x7704b6A4...6179E7D2a
0 ETH0.004102186.89066697
Transfer202411682024-07-05 15:21:472 days ago1720192907IN
0x7704b6A4...6179E7D2a
0 ETH0.0020395640.73107754
Transfer202411682024-07-05 15:21:472 days ago1720192907IN
0x7704b6A4...6179E7D2a
0 ETH0.0020395640.73107754
Transfer202411682024-07-05 15:21:472 days ago1720192907IN
0x7704b6A4...6179E7D2a
0 ETH0.0020395640.73107754
Transfer202411682024-07-05 15:21:472 days ago1720192907IN
0x7704b6A4...6179E7D2a
0 ETH0.0020395640.73107754
Transfer202411682024-07-05 15:21:472 days ago1720192907IN
0x7704b6A4...6179E7D2a
0 ETH0.0020410340.73107754
Approve202409422024-07-05 14:36:352 days ago1720190195IN
0x7704b6A4...6179E7D2a
0 ETH0.000389218.24431695
Transfer202398472024-07-05 10:56:112 days ago1720176971IN
0x7704b6A4...6179E7D2a
0 ETH0.000415877.57867997
Transfer202398332024-07-05 10:53:232 days ago1720176803IN
0x7704b6A4...6179E7D2a
0 ETH0.000415977.58054079
Transfer202398162024-07-05 10:49:592 days ago1720176599IN
0x7704b6A4...6179E7D2a
0 ETH0.00044548.11681551
Approve202360692024-07-04 22:16:593 days ago1720131419IN
0x7704b6A4...6179E7D2a
0 ETH0.000224284.75679216
Approve202359092024-07-04 21:44:473 days ago1720129487IN
0x7704b6A4...6179E7D2a
0 ETH0.00044039.32653849
Approve202359092024-07-04 21:44:473 days ago1720129487IN
0x7704b6A4...6179E7D2a
0 ETH0.00044039.32653849
Approve202357182024-07-04 21:06:113 days ago1720127171IN
0x7704b6A4...6179E7D2a
0 ETH0.0004890210.35852984
Approve202356912024-07-04 21:00:353 days ago1720126835IN
0x7704b6A4...6179E7D2a
0 ETH0.000399528.46266104
Approve202356862024-07-04 20:59:353 days ago1720126775IN
0x7704b6A4...6179E7D2a
0 ETH0.0004887610.353043
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:
JessicaPorkPorksGF

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-03
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
   
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

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

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}
abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

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

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    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;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

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

    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;
        }
        _totalSupply -= amount;

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

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

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

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

abstract contract Ownable2Step is Ownable {
    address private _pendingOwner;

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

    /**
     * @dev Returns the address of the pending owner.
     */
    function pendingOwner() public view virtual returns (address) {
        return _pendingOwner;
    }

    /**
     * @dev Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one.
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual override onlyOwner {
        _pendingOwner = newOwner;
        emit OwnershipTransferStarted(owner(), newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`) and deletes any pending owner.
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual override {
        delete _pendingOwner;
        super._transferOwnership(newOwner);
    }

    /**
     * @dev The new owner accepts the ownership transfer.
     */
    function acceptOwnership() public virtual {
        address sender = _msgSender();
        if (pendingOwner() != sender) {
            revert OwnableUnauthorizedAccount(sender);
        }
        _transferOwnership(sender);
    }
}

contract JessicaPorkPorksGF is ERC20, Ownable2Step {

    address public uniswapV2Pair = 0xC532a74256D3Db42D0Bf7a0400fEFDbad7694008;

    uint256 public buyTax = 3; // 3%
    uint256 public sellTax = 4; // 4%
    address public taxWallet;


    event TaxRateChanged(uint256 newBuyTax, uint256 newSellTax);
    event TaxWalletChanged(address newTaxWallet);
    event UniswapV2PairChanged(address newUniswapV2Pair);
    event TaxApplied(address indexed sender, address indexed recipient, uint256 taxAmount, uint256 netAmount);

    constructor(address _taxWallet) Ownable(msg.sender) ERC20("Jessica Pork Porks Girlfriend", "JPPG") {
        taxWallet = _taxWallet;
        _mint(msg.sender, 420_690_000_000_000 * (10 ** uint256(decimals())));
    }
    
    function setBuyTax(uint256 _buyTax) external onlyOwner {
        require(_buyTax != buyTax, "New buy tax must be different.");
        buyTax = _buyTax;
        emit TaxRateChanged(buyTax, sellTax);
    }

    function setSellTax(uint256 _sellTax) external onlyOwner {
        require(_sellTax != sellTax, "New sell tax must be different.");
        sellTax = _sellTax;
        emit TaxRateChanged(buyTax, sellTax);
    }

    function setTaxWallet(address _taxWallet) external onlyOwner {
        require(_taxWallet != address(0), "Tax wallet cannot be the zero address.");
        require(_taxWallet != taxWallet, "New tax wallet must be different.");
        taxWallet = _taxWallet;
        emit TaxWalletChanged(taxWallet);
    }

    function setUniswapV2Pair(address _uniswapV2Pair) external onlyOwner {
        require(_uniswapV2Pair != address(0), "Uniswap V2 pair cannot be the zero address.");
        require(_uniswapV2Pair != uniswapV2Pair, "New Uniswap V2 pair must be different.");
        uniswapV2Pair = _uniswapV2Pair;
        emit UniswapV2PairChanged(uniswapV2Pair);
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual override {
        uint256 taxAmount = 0;

        if (sender == uniswapV2Pair) {
            // Buy transaction
            taxAmount = (amount * buyTax) / 100;
        } else if (recipient == uniswapV2Pair) {
            // Sell transaction
            taxAmount = (amount * sellTax) / 100;
        }

        if (taxAmount > 0) {
            super._transfer(sender, taxWallet, taxAmount);
            amount -= taxAmount;
            emit TaxApplied(sender, recipient, taxAmount, amount);
        }

        super._transfer(sender, recipient, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_taxWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"taxAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"netAmount","type":"uint256"}],"name":"TaxApplied","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"TaxRateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTaxWallet","type":"address"}],"name":"TaxWalletChanged","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":"newUniswapV2Pair","type":"address"}],"name":"UniswapV2PairChanged","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"setSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_taxWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Pair","type":"address"}],"name":"setUniswapV2Pair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405273c532a74256d3db42d0bf7a0400fefdbad7694008600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360085560046009553480156200007057600080fd5b5060405162002fb738038062002fb7833981810160405281019062000096919062000532565b336040518060400160405280601d81526020017f4a65737369636120506f726b20506f726b73204769726c667269656e640000008152506040518060400160405280600481526020017f4a505047000000000000000000000000000000000000000000000000000000008152508160039081620001149190620007de565b508060049081620001269190620007de565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200019e5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001959190620008d6565b60405180910390fd5b620001af816200023e60201b60201c565b5080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200023733620002066200027760201b60201c565b60ff16600a62000217919062000a76565b66017e9d8602b4006200022b919062000ac7565b6200028060201b60201c565b5062000bfe565b600660006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556200027481620003f860201b60201c565b50565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002f2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002e99062000b73565b60405180910390fd5b6200030660008383620004be60201b60201c565b80600260008282546200031a919062000b95565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000371919062000b95565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003d8919062000be1565b60405180910390a3620003f460008383620004c360201b60201c565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004fa82620004cd565b9050919050565b6200050c81620004ed565b81146200051857600080fd5b50565b6000815190506200052c8162000501565b92915050565b6000602082840312156200054b576200054a620004c8565b5b60006200055b848285016200051b565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005e657607f821691505b602082108103620005fc57620005fb6200059e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000627565b62000672868362000627565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006bf620006b9620006b3846200068a565b62000694565b6200068a565b9050919050565b6000819050919050565b620006db836200069e565b620006f3620006ea82620006c6565b84845462000634565b825550505050565b600090565b6200070a620006fb565b62000717818484620006d0565b505050565b5b818110156200073f576200073360008262000700565b6001810190506200071d565b5050565b601f8211156200078e57620007588162000602565b620007638462000617565b8101602085101562000773578190505b6200078b620007828562000617565b8301826200071c565b50505b505050565b600082821c905092915050565b6000620007b36000198460080262000793565b1980831691505092915050565b6000620007ce8383620007a0565b9150826002028217905092915050565b620007e98262000564565b67ffffffffffffffff8111156200080557620008046200056f565b5b620008118254620005cd565b6200081e82828562000743565b600060209050601f83116001811462000856576000841562000841578287015190505b6200084d8582620007c0565b865550620008bd565b601f198416620008668662000602565b60005b82811015620008905784890151825560018201915060208501945060208101905062000869565b86831015620008b05784890151620008ac601f891682620007a0565b8355505b6001600288020188555050505b505050505050565b620008d081620004ed565b82525050565b6000602082019050620008ed6000830184620008c5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200098157808604811115620009595762000958620008f3565b5b6001851615620009695780820291505b8081029050620009798562000922565b945062000939565b94509492505050565b6000826200099c576001905062000a6f565b81620009ac576000905062000a6f565b8160018114620009c55760028114620009d05762000a06565b600191505062000a6f565b60ff841115620009e557620009e4620008f3565b5b8360020a915084821115620009ff57620009fe620008f3565b5b5062000a6f565b5060208310610133831016604e8410600b841016171562000a405782820a90508381111562000a3a5762000a39620008f3565b5b62000a6f565b62000a4f84848460016200092f565b9250905081840481111562000a695762000a68620008f3565b5b81810290505b9392505050565b600062000a83826200068a565b915062000a90836200068a565b925062000abf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200098a565b905092915050565b600062000ad4826200068a565b915062000ae1836200068a565b925082820262000af1816200068a565b9150828204841483151762000b0b5762000b0a620008f3565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000b5b601f8362000b12565b915062000b688262000b23565b602082019050919050565b6000602082019050818103600083015262000b8e8162000b4c565b9050919050565b600062000ba2826200068a565b915062000baf836200068a565b925082820190508082111562000bca5762000bc9620008f3565b5b92915050565b62000bdb816200068a565b82525050565b600060208201905062000bf8600083018462000bd0565b92915050565b6123a98062000c0e6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638cd09d50116100c3578063cc1776d31161007c578063cc1776d3146103b9578063dc1052e2146103d7578063dd62ed3e146103f3578063e30c397814610423578063ea414b2814610441578063f2fde38b1461045d57610158565b80638cd09d50146102e55780638da5cb5b1461030157806395d89b411461031f578063a29a60891461033d578063a457c2d714610359578063a9059cbb1461038957610158565b80633950935111610115578063395093511461023557806349bd5a5e146102655780634f7041a51461028357806370a08231146102a1578063715018a6146102d157806379ba5097146102db57610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101c95780632dc0562d146101f9578063313ce56714610217575b600080fd5b610165610479565b60405161017291906117ea565b60405180910390f35b610195600480360381019061019091906118a5565b61050b565b6040516101a29190611900565b60405180910390f35b6101b3610529565b6040516101c0919061192a565b60405180910390f35b6101e360048036038101906101de9190611945565b610533565b6040516101f09190611900565b60405180910390f35b610201610652565b60405161020e91906119a7565b60405180910390f35b61021f610678565b60405161022c91906119de565b60405180910390f35b61024f600480360381019061024a91906118a5565b610681565b60405161025c9190611900565b60405180910390f35b61026d61072d565b60405161027a91906119a7565b60405180910390f35b61028b610753565b604051610298919061192a565b60405180910390f35b6102bb60048036038101906102b691906119f9565b610759565b6040516102c8919061192a565b60405180910390f35b6102d96107a1565b005b6102e36107b5565b005b6102ff60048036038101906102fa9190611a26565b610844565b005b6103096108d7565b60405161031691906119a7565b60405180910390f35b610327610901565b60405161033491906117ea565b60405180910390f35b610357600480360381019061035291906119f9565b610993565b005b610373600480360381019061036e91906118a5565b610b37565b6040516103809190611900565b60405180910390f35b6103a3600480360381019061039e91906118a5565b610c22565b6040516103b09190611900565b60405180910390f35b6103c1610c40565b6040516103ce919061192a565b60405180910390f35b6103f160048036038101906103ec9190611a26565b610c46565b005b61040d60048036038101906104089190611a53565b610cd9565b60405161041a919061192a565b60405180910390f35b61042b610d60565b60405161043891906119a7565b60405180910390f35b61045b600480360381019061045691906119f9565b610d8a565b005b610477600480360381019061047291906119f9565b610f2d565b005b60606003805461048890611ac2565b80601f01602080910402602001604051908101604052809291908181526020018280546104b490611ac2565b80156105015780601f106104d657610100808354040283529160200191610501565b820191906000526020600020905b8154815290600101906020018083116104e457829003601f168201915b5050505050905090565b600061051f610518610fda565b8484610fe2565b6001905092915050565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057f610fda565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461063b5782811015610626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061d90611b65565b60405180910390fd5b61063a85610632610fda565b858403610fe2565b5b6106468585856111ab565b60019150509392505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b600061072361068e610fda565b84846001600061069c610fda565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461071e9190611bb4565b610fe2565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107a9611353565b6107b360006113da565b565b60006107bf610fda565b90508073ffffffffffffffffffffffffffffffffffffffff166107e0610d60565b73ffffffffffffffffffffffffffffffffffffffff161461083857806040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161082f91906119a7565b60405180910390fd5b610841816113da565b50565b61084c611353565b6009548103610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088790611c34565b60405180910390fd5b806009819055507fab04935564bd7f43810636a24deb03e99f1516e9ba0b68115f9f8c8e3c08f3336008546009546040516108cc929190611c54565b60405180910390a150565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461091090611ac2565b80601f016020809104026020016040519081016040528092919081815260200182805461093c90611ac2565b80156109895780601f1061095e57610100808354040283529160200191610989565b820191906000526020600020905b81548152906001019060200180831161096c57829003601f168201915b5050505050905090565b61099b611353565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0190611cef565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9190611d81565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa4b0dd282caf0b27d79534f93616ee137652874c49466cb03c5376149d11b87f600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b2c91906119a7565b60405180910390a150565b60008060016000610b46610fda565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfa90611e13565b60405180910390fd5b610c17610c0e610fda565b85858403610fe2565b600191505092915050565b6000610c36610c2f610fda565b84846111ab565b6001905092915050565b60095481565b610c4e611353565b6008548103610c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8990611e7f565b60405180910390fd5b806008819055507fab04935564bd7f43810636a24deb03e99f1516e9ba0b68115f9f8c8e3c08f333600854600954604051610cce929190611c54565b60405180910390a150565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d92611353565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df890611f11565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890611fa3565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ea263b61aab5ebdcff20c4c0c74c2589ea5ab52149abde19eca17ad52217899600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610f2291906119a7565b60405180910390a150565b610f35611353565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16610f956108d7565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890612035565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b7906120c7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119e919061192a565b60405180910390a3505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036112235760646008548361121291906120e7565b61121c9190612158565b9050611296565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112955760646009548361128891906120e7565b6112929190612158565b90505b5b6000811115611342576112cc84600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361140b565b80826112d89190612189565b91508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4b9a052bbc5867cd575ea66f9486d08c22080f51cb61056967ab532b9d550cf18385604051611339929190611c54565b60405180910390a35b61134d84848461140b565b50505050565b61135b610fda565b73ffffffffffffffffffffffffffffffffffffffff166113796108d7565b73ffffffffffffffffffffffffffffffffffffffff16146113d85761139c610fda565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016113cf91906119a7565b60405180910390fd5b565b600660006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556114088161168a565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361147a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114719061222f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e0906122c1565b60405180910390fd5b6114f4838383611750565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561157a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157190612353565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461160d9190611bb4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611671919061192a565b60405180910390a3611684848484611755565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611794578082015181840152602081019050611779565b60008484015250505050565b6000601f19601f8301169050919050565b60006117bc8261175a565b6117c68185611765565b93506117d6818560208601611776565b6117df816117a0565b840191505092915050565b6000602082019050818103600083015261180481846117b1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061183c82611811565b9050919050565b61184c81611831565b811461185757600080fd5b50565b60008135905061186981611843565b92915050565b6000819050919050565b6118828161186f565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b600080604083850312156118bc576118bb61180c565b5b60006118ca8582860161185a565b92505060206118db85828601611890565b9150509250929050565b60008115159050919050565b6118fa816118e5565b82525050565b600060208201905061191560008301846118f1565b92915050565b6119248161186f565b82525050565b600060208201905061193f600083018461191b565b92915050565b60008060006060848603121561195e5761195d61180c565b5b600061196c8682870161185a565b935050602061197d8682870161185a565b925050604061198e86828701611890565b9150509250925092565b6119a181611831565b82525050565b60006020820190506119bc6000830184611998565b92915050565b600060ff82169050919050565b6119d8816119c2565b82525050565b60006020820190506119f360008301846119cf565b92915050565b600060208284031215611a0f57611a0e61180c565b5b6000611a1d8482850161185a565b91505092915050565b600060208284031215611a3c57611a3b61180c565b5b6000611a4a84828501611890565b91505092915050565b60008060408385031215611a6a57611a6961180c565b5b6000611a788582860161185a565b9250506020611a898582860161185a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ada57607f821691505b602082108103611aed57611aec611a93565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611b4f602883611765565b9150611b5a82611af3565b604082019050919050565b60006020820190508181036000830152611b7e81611b42565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bbf8261186f565b9150611bca8361186f565b9250828201905080821115611be257611be1611b85565b5b92915050565b7f4e65772073656c6c20746178206d75737420626520646966666572656e742e00600082015250565b6000611c1e601f83611765565b9150611c2982611be8565b602082019050919050565b60006020820190508181036000830152611c4d81611c11565b9050919050565b6000604082019050611c69600083018561191b565b611c76602083018461191b565b9392505050565b7f556e697377617020563220706169722063616e6e6f7420626520746865207a6560008201527f726f20616464726573732e000000000000000000000000000000000000000000602082015250565b6000611cd9602b83611765565b9150611ce482611c7d565b604082019050919050565b60006020820190508181036000830152611d0881611ccc565b9050919050565b7f4e657720556e69737761702056322070616972206d757374206265206469666660008201527f6572656e742e0000000000000000000000000000000000000000000000000000602082015250565b6000611d6b602683611765565b9150611d7682611d0f565b604082019050919050565b60006020820190508181036000830152611d9a81611d5e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611dfd602583611765565b9150611e0882611da1565b604082019050919050565b60006020820190508181036000830152611e2c81611df0565b9050919050565b7f4e65772062757920746178206d75737420626520646966666572656e742e0000600082015250565b6000611e69601e83611765565b9150611e7482611e33565b602082019050919050565b60006020820190508181036000830152611e9881611e5c565b9050919050565b7f5461782077616c6c65742063616e6e6f7420626520746865207a65726f20616460008201527f64726573732e0000000000000000000000000000000000000000000000000000602082015250565b6000611efb602683611765565b9150611f0682611e9f565b604082019050919050565b60006020820190508181036000830152611f2a81611eee565b9050919050565b7f4e6577207461782077616c6c6574206d75737420626520646966666572656e7460008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f8d602183611765565b9150611f9882611f31565b604082019050919050565b60006020820190508181036000830152611fbc81611f80565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061201f602483611765565b915061202a82611fc3565b604082019050919050565b6000602082019050818103600083015261204e81612012565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006120b1602283611765565b91506120bc82612055565b604082019050919050565b600060208201905081810360008301526120e0816120a4565b9050919050565b60006120f28261186f565b91506120fd8361186f565b925082820261210b8161186f565b9150828204841483151761212257612121611b85565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121638261186f565b915061216e8361186f565b92508261217e5761217d612129565b5b828204905092915050565b60006121948261186f565b915061219f8361186f565b92508282039050818111156121b7576121b6611b85565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612219602583611765565b9150612224826121bd565b604082019050919050565b600060208201905081810360008301526122488161220c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006122ab602383611765565b91506122b68261224f565b604082019050919050565b600060208201905081810360008301526122da8161229e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061233d602683611765565b9150612348826122e1565b604082019050919050565b6000602082019050818103600083015261236c81612330565b905091905056fea2646970667358221220bd9aaa804ce7bcfbfb5e59b52458663508fa586232a0cc1da7d6b9a5ff9bdcf164736f6c6343000813003300000000000000000000000035b53c93b188a101f2c343b335579aabcc3ca4c8

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c80638cd09d50116100c3578063cc1776d31161007c578063cc1776d3146103b9578063dc1052e2146103d7578063dd62ed3e146103f3578063e30c397814610423578063ea414b2814610441578063f2fde38b1461045d57610158565b80638cd09d50146102e55780638da5cb5b1461030157806395d89b411461031f578063a29a60891461033d578063a457c2d714610359578063a9059cbb1461038957610158565b80633950935111610115578063395093511461023557806349bd5a5e146102655780634f7041a51461028357806370a08231146102a1578063715018a6146102d157806379ba5097146102db57610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101c95780632dc0562d146101f9578063313ce56714610217575b600080fd5b610165610479565b60405161017291906117ea565b60405180910390f35b610195600480360381019061019091906118a5565b61050b565b6040516101a29190611900565b60405180910390f35b6101b3610529565b6040516101c0919061192a565b60405180910390f35b6101e360048036038101906101de9190611945565b610533565b6040516101f09190611900565b60405180910390f35b610201610652565b60405161020e91906119a7565b60405180910390f35b61021f610678565b60405161022c91906119de565b60405180910390f35b61024f600480360381019061024a91906118a5565b610681565b60405161025c9190611900565b60405180910390f35b61026d61072d565b60405161027a91906119a7565b60405180910390f35b61028b610753565b604051610298919061192a565b60405180910390f35b6102bb60048036038101906102b691906119f9565b610759565b6040516102c8919061192a565b60405180910390f35b6102d96107a1565b005b6102e36107b5565b005b6102ff60048036038101906102fa9190611a26565b610844565b005b6103096108d7565b60405161031691906119a7565b60405180910390f35b610327610901565b60405161033491906117ea565b60405180910390f35b610357600480360381019061035291906119f9565b610993565b005b610373600480360381019061036e91906118a5565b610b37565b6040516103809190611900565b60405180910390f35b6103a3600480360381019061039e91906118a5565b610c22565b6040516103b09190611900565b60405180910390f35b6103c1610c40565b6040516103ce919061192a565b60405180910390f35b6103f160048036038101906103ec9190611a26565b610c46565b005b61040d60048036038101906104089190611a53565b610cd9565b60405161041a919061192a565b60405180910390f35b61042b610d60565b60405161043891906119a7565b60405180910390f35b61045b600480360381019061045691906119f9565b610d8a565b005b610477600480360381019061047291906119f9565b610f2d565b005b60606003805461048890611ac2565b80601f01602080910402602001604051908101604052809291908181526020018280546104b490611ac2565b80156105015780601f106104d657610100808354040283529160200191610501565b820191906000526020600020905b8154815290600101906020018083116104e457829003601f168201915b5050505050905090565b600061051f610518610fda565b8484610fe2565b6001905092915050565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057f610fda565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461063b5782811015610626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061d90611b65565b60405180910390fd5b61063a85610632610fda565b858403610fe2565b5b6106468585856111ab565b60019150509392505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b600061072361068e610fda565b84846001600061069c610fda565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461071e9190611bb4565b610fe2565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107a9611353565b6107b360006113da565b565b60006107bf610fda565b90508073ffffffffffffffffffffffffffffffffffffffff166107e0610d60565b73ffffffffffffffffffffffffffffffffffffffff161461083857806040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161082f91906119a7565b60405180910390fd5b610841816113da565b50565b61084c611353565b6009548103610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088790611c34565b60405180910390fd5b806009819055507fab04935564bd7f43810636a24deb03e99f1516e9ba0b68115f9f8c8e3c08f3336008546009546040516108cc929190611c54565b60405180910390a150565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461091090611ac2565b80601f016020809104026020016040519081016040528092919081815260200182805461093c90611ac2565b80156109895780601f1061095e57610100808354040283529160200191610989565b820191906000526020600020905b81548152906001019060200180831161096c57829003601f168201915b5050505050905090565b61099b611353565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0190611cef565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9190611d81565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa4b0dd282caf0b27d79534f93616ee137652874c49466cb03c5376149d11b87f600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b2c91906119a7565b60405180910390a150565b60008060016000610b46610fda565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfa90611e13565b60405180910390fd5b610c17610c0e610fda565b85858403610fe2565b600191505092915050565b6000610c36610c2f610fda565b84846111ab565b6001905092915050565b60095481565b610c4e611353565b6008548103610c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8990611e7f565b60405180910390fd5b806008819055507fab04935564bd7f43810636a24deb03e99f1516e9ba0b68115f9f8c8e3c08f333600854600954604051610cce929190611c54565b60405180910390a150565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d92611353565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df890611f11565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890611fa3565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ea263b61aab5ebdcff20c4c0c74c2589ea5ab52149abde19eca17ad52217899600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610f2291906119a7565b60405180910390a150565b610f35611353565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16610f956108d7565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890612035565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b7906120c7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119e919061192a565b60405180910390a3505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036112235760646008548361121291906120e7565b61121c9190612158565b9050611296565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112955760646009548361128891906120e7565b6112929190612158565b90505b5b6000811115611342576112cc84600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361140b565b80826112d89190612189565b91508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4b9a052bbc5867cd575ea66f9486d08c22080f51cb61056967ab532b9d550cf18385604051611339929190611c54565b60405180910390a35b61134d84848461140b565b50505050565b61135b610fda565b73ffffffffffffffffffffffffffffffffffffffff166113796108d7565b73ffffffffffffffffffffffffffffffffffffffff16146113d85761139c610fda565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016113cf91906119a7565b60405180910390fd5b565b600660006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556114088161168a565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361147a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114719061222f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e0906122c1565b60405180910390fd5b6114f4838383611750565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561157a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157190612353565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461160d9190611bb4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611671919061192a565b60405180910390a3611684848484611755565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611794578082015181840152602081019050611779565b60008484015250505050565b6000601f19601f8301169050919050565b60006117bc8261175a565b6117c68185611765565b93506117d6818560208601611776565b6117df816117a0565b840191505092915050565b6000602082019050818103600083015261180481846117b1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061183c82611811565b9050919050565b61184c81611831565b811461185757600080fd5b50565b60008135905061186981611843565b92915050565b6000819050919050565b6118828161186f565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b600080604083850312156118bc576118bb61180c565b5b60006118ca8582860161185a565b92505060206118db85828601611890565b9150509250929050565b60008115159050919050565b6118fa816118e5565b82525050565b600060208201905061191560008301846118f1565b92915050565b6119248161186f565b82525050565b600060208201905061193f600083018461191b565b92915050565b60008060006060848603121561195e5761195d61180c565b5b600061196c8682870161185a565b935050602061197d8682870161185a565b925050604061198e86828701611890565b9150509250925092565b6119a181611831565b82525050565b60006020820190506119bc6000830184611998565b92915050565b600060ff82169050919050565b6119d8816119c2565b82525050565b60006020820190506119f360008301846119cf565b92915050565b600060208284031215611a0f57611a0e61180c565b5b6000611a1d8482850161185a565b91505092915050565b600060208284031215611a3c57611a3b61180c565b5b6000611a4a84828501611890565b91505092915050565b60008060408385031215611a6a57611a6961180c565b5b6000611a788582860161185a565b9250506020611a898582860161185a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ada57607f821691505b602082108103611aed57611aec611a93565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611b4f602883611765565b9150611b5a82611af3565b604082019050919050565b60006020820190508181036000830152611b7e81611b42565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bbf8261186f565b9150611bca8361186f565b9250828201905080821115611be257611be1611b85565b5b92915050565b7f4e65772073656c6c20746178206d75737420626520646966666572656e742e00600082015250565b6000611c1e601f83611765565b9150611c2982611be8565b602082019050919050565b60006020820190508181036000830152611c4d81611c11565b9050919050565b6000604082019050611c69600083018561191b565b611c76602083018461191b565b9392505050565b7f556e697377617020563220706169722063616e6e6f7420626520746865207a6560008201527f726f20616464726573732e000000000000000000000000000000000000000000602082015250565b6000611cd9602b83611765565b9150611ce482611c7d565b604082019050919050565b60006020820190508181036000830152611d0881611ccc565b9050919050565b7f4e657720556e69737761702056322070616972206d757374206265206469666660008201527f6572656e742e0000000000000000000000000000000000000000000000000000602082015250565b6000611d6b602683611765565b9150611d7682611d0f565b604082019050919050565b60006020820190508181036000830152611d9a81611d5e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611dfd602583611765565b9150611e0882611da1565b604082019050919050565b60006020820190508181036000830152611e2c81611df0565b9050919050565b7f4e65772062757920746178206d75737420626520646966666572656e742e0000600082015250565b6000611e69601e83611765565b9150611e7482611e33565b602082019050919050565b60006020820190508181036000830152611e9881611e5c565b9050919050565b7f5461782077616c6c65742063616e6e6f7420626520746865207a65726f20616460008201527f64726573732e0000000000000000000000000000000000000000000000000000602082015250565b6000611efb602683611765565b9150611f0682611e9f565b604082019050919050565b60006020820190508181036000830152611f2a81611eee565b9050919050565b7f4e6577207461782077616c6c6574206d75737420626520646966666572656e7460008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f8d602183611765565b9150611f9882611f31565b604082019050919050565b60006020820190508181036000830152611fbc81611f80565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061201f602483611765565b915061202a82611fc3565b604082019050919050565b6000602082019050818103600083015261204e81612012565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006120b1602283611765565b91506120bc82612055565b604082019050919050565b600060208201905081810360008301526120e0816120a4565b9050919050565b60006120f28261186f565b91506120fd8361186f565b925082820261210b8161186f565b9150828204841483151761212257612121611b85565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121638261186f565b915061216e8361186f565b92508261217e5761217d612129565b5b828204905092915050565b60006121948261186f565b915061219f8361186f565b92508282039050818111156121b7576121b6611b85565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612219602583611765565b9150612224826121bd565b604082019050919050565b600060208201905081810360008301526122488161220c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006122ab602383611765565b91506122b68261224f565b604082019050919050565b600060208201905081810360008301526122da8161229e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061233d602683611765565b9150612348826122e1565b604082019050919050565b6000602082019050818103600083015261236c81612330565b905091905056fea2646970667358221220bd9aaa804ce7bcfbfb5e59b52458663508fa586232a0cc1da7d6b9a5ff9bdcf164736f6c63430008130033

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

00000000000000000000000035b53c93b188a101f2c343b335579aabcc3ca4c8

-----Decoded View---------------
Arg [0] : _taxWallet (address): 0x35b53c93b188a101f2c343b335579aabCC3Ca4c8

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000035b53c93b188a101f2c343b335579aabcc3ca4c8


Deployed Bytecode Sourcemap

10404:2600:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4279:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5193:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4600:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5370:573;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10623:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4499:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5951:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10464:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10546:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4716:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3037:103;;;:::i;:::-;;10162:235;;;:::i;:::-;;11395:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2362:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11937:357;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6174:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4851:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10584:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11179:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5034:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9250:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11618:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9550:181;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4279:100;4333:13;4366:5;4359:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4279:100;:::o;5193:169::-;5276:4;5293:39;5302:12;:10;:12::i;:::-;5316:7;5325:6;5293:8;:39::i;:::-;5350:4;5343:11;;5193:169;;;;:::o;4600:108::-;4661:7;4688:12;;4681:19;;4600:108;:::o;5370:573::-;5510:4;5527:24;5554:11;:19;5566:6;5554:19;;;;;;;;;;;;;;;:33;5574:12;:10;:12::i;:::-;5554:33;;;;;;;;;;;;;;;;5527:60;;5622:17;5602:16;:37;5598:265;;5684:6;5664:16;:26;;5656:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5779:57;5788:6;5796:12;:10;:12::i;:::-;5829:6;5810:16;:25;5779:8;:57::i;:::-;5598:265;5875:36;5885:6;5893:9;5904:6;5875:9;:36::i;:::-;5931:4;5924:11;;;5370:573;;;;;:::o;10623:24::-;;;;;;;;;;;;;:::o;4499:93::-;4557:5;4582:2;4575:9;;4499:93;:::o;5951:215::-;6039:4;6056:80;6065:12;:10;:12::i;:::-;6079:7;6125:10;6088:11;:25;6100:12;:10;:12::i;:::-;6088:25;;;;;;;;;;;;;;;:34;6114:7;6088:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;6056:8;:80::i;:::-;6154:4;6147:11;;5951:215;;;;:::o;10464:73::-;;;;;;;;;;;;;:::o;10546:25::-;;;;:::o;4716:127::-;4790:7;4817:9;:18;4827:7;4817:18;;;;;;;;;;;;;;;;4810:25;;4716:127;;;:::o;3037:103::-;2248:13;:11;:13::i;:::-;3102:30:::1;3129:1;3102:18;:30::i;:::-;3037:103::o:0;10162:235::-;10215:14;10232:12;:10;:12::i;:::-;10215:29;;10277:6;10259:24;;:14;:12;:14::i;:::-;:24;;;10255:98;;10334:6;10307:34;;;;;;;;;;;:::i;:::-;;;;;;;;10255:98;10363:26;10382:6;10363:18;:26::i;:::-;10204:193;10162:235::o;11395:215::-;2248:13;:11;:13::i;:::-;11483:7:::1;;11471:8;:19:::0;11463:63:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11547:8;11537:7;:18;;;;11571:31;11586:6;;11594:7;;11571:31;;;;;;;:::i;:::-;;;;;;;;11395:215:::0;:::o;2362:87::-;2408:7;2435:6;;;;;;;;;;;2428:13;;2362:87;:::o;4387:104::-;4443:13;4476:7;4469:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4387:104;:::o;11937:357::-;2248:13;:11;:13::i;:::-;12051:1:::1;12025:28;;:14;:28;;::::0;12017:84:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12138:13;;;;;;;;;;;12120:31;;:14;:31;;::::0;12112:82:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12221:14;12205:13;;:30;;;;;;;;;;;;;;;;;;12251:35;12272:13;;;;;;;;;;;12251:35;;;;;;:::i;:::-;;;;;;;;11937:357:::0;:::o;6174:413::-;6267:4;6284:24;6311:11;:25;6323:12;:10;:12::i;:::-;6311:25;;;;;;;;;;;;;;;:34;6337:7;6311:34;;;;;;;;;;;;;;;;6284:61;;6384:15;6364:16;:35;;6356:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6477:67;6486:12;:10;:12::i;:::-;6500:7;6528:15;6509:16;:34;6477:8;:67::i;:::-;6575:4;6568:11;;;6174:413;;;;:::o;4851:175::-;4937:4;4954:42;4964:12;:10;:12::i;:::-;4978:9;4989:6;4954:9;:42::i;:::-;5014:4;5007:11;;4851:175;;;;:::o;10584:26::-;;;;:::o;11179:208::-;2248:13;:11;:13::i;:::-;11264:6:::1;;11253:7;:17:::0;11245:60:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11325:7;11316:6;:16;;;;11348:31;11363:6;;11371:7;;11348:31;;;;;;;:::i;:::-;;;;;;;;11179:208:::0;:::o;5034:151::-;5123:7;5150:11;:18;5162:5;5150:18;;;;;;;;;;;;;;;:27;5169:7;5150:27;;;;;;;;;;;;;;;;5143:34;;5034:151;;;;:::o;9250:101::-;9303:7;9330:13;;;;;;;;;;;9323:20;;9250:101;:::o;11618:311::-;2248:13;:11;:13::i;:::-;11720:1:::1;11698:24;;:10;:24;;::::0;11690:75:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11798:9;;;;;;;;;;;11784:23;;:10;:23;;::::0;11776:69:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11868:10;11856:9;;:22;;;;;;;;;;;;;;;;;;11894:27;11911:9;;;;;;;;;;;11894:27;;;;;;:::i;:::-;;;;;;;;11618:311:::0;:::o;9550:181::-;2248:13;:11;:13::i;:::-;9656:8:::1;9640:13;;:24;;;;;;;;;;;;;;;;;;9714:8;9680:43;;9705:7;:5;:7::i;:::-;9680:43;;;;;;;;;;;;9550:181:::0;:::o;1032:98::-;1085:7;1112:10;1105:17;;1032:98;:::o;8342:380::-;8495:1;8478:19;;:5;:19;;;8470:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8576:1;8557:21;;:7;:21;;;8549:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8660:6;8630:11;:18;8642:5;8630:18;;;;;;;;;;;;;;;:27;8649:7;8630:27;;;;;;;;;;;;;;;:36;;;;8698:7;8682:32;;8691:5;8682:32;;;8707:6;8682:32;;;;;;:::i;:::-;;;;;;;;8342:380;;;:::o;12302:699::-;12443:17;12491:13;;;;;;;;;;;12481:23;;:6;:23;;;12477:257;;12585:3;12575:6;;12566;:15;;;;:::i;:::-;12565:23;;;;:::i;:::-;12553:35;;12477:257;;;12623:13;;;;;;;;;;;12610:26;;:9;:26;;;12606:128;;12719:3;12708:7;;12699:6;:16;;;;:::i;:::-;12698:24;;;;:::i;:::-;12686:36;;12606:128;12477:257;12762:1;12750:9;:13;12746:193;;;12780:45;12796:6;12804:9;;;;;;;;;;;12815;12780:15;:45::i;:::-;12850:9;12840:19;;;;;:::i;:::-;;;12898:9;12879:48;;12890:6;12879:48;;;12909:9;12920:6;12879:48;;;;;;;:::i;:::-;;;;;;;;12746:193;12951:42;12967:6;12975:9;12986:6;12951:15;:42::i;:::-;12432:569;12302:699;;;:::o;2527:166::-;2598:12;:10;:12::i;:::-;2587:23;;:7;:5;:7::i;:::-;:23;;;2583:103;;2661:12;:10;:12::i;:::-;2634:40;;;;;;;;;;;:::i;:::-;;;;;;;;2583:103;2527:166::o;9921:156::-;10011:13;;10004:20;;;;;;;;;;;10035:34;10060:8;10035:24;:34::i;:::-;9921:156;:::o;6595:733::-;6753:1;6735:20;;:6;:20;;;6727:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6837:1;6816:23;;:9;:23;;;6808:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6892:47;6913:6;6921:9;6932:6;6892:20;:47::i;:::-;6952:21;6976:9;:17;6986:6;6976:17;;;;;;;;;;;;;;;;6952:41;;7029:6;7012:13;:23;;7004:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7150:6;7134:13;:22;7114:9;:17;7124:6;7114:17;;;;;;;;;;;;;;;:42;;;;7202:6;7178:9;:20;7188:9;7178:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7243:9;7226:35;;7235:6;7226:35;;;7254:6;7226:35;;;;;;:::i;:::-;;;;;;;;7274:46;7294:6;7302:9;7313:6;7274:19;:46::i;:::-;6716:612;6595:733;;;:::o;3675:191::-;3749:16;3768:6;;;;;;;;;;;3749:25;;3794:8;3785:6;;:17;;;;;;;;;;;;;;;;;;3849:8;3818:40;;3839:8;3818:40;;;;;;;;;;;;3738:128;3675:191;:::o;8730:125::-;;;;:::o;8863: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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:118::-;4510:24;4528:5;4510:24;:::i;:::-;4505:3;4498:37;4423:118;;:::o;4547:222::-;4640:4;4678:2;4667:9;4663:18;4655:26;;4691:71;4759:1;4748:9;4744:17;4735:6;4691:71;:::i;:::-;4547:222;;;;:::o;4775:86::-;4810:7;4850:4;4843:5;4839:16;4828:27;;4775:86;;;:::o;4867:112::-;4950:22;4966:5;4950:22;:::i;:::-;4945:3;4938:35;4867:112;;:::o;4985:214::-;5074:4;5112:2;5101:9;5097:18;5089:26;;5125:67;5189:1;5178:9;5174:17;5165:6;5125:67;:::i;:::-;4985:214;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:320;6585:6;6622:1;6616:4;6612:12;6602:22;;6669:1;6663:4;6659:12;6690:18;6680:81;;6746:4;6738:6;6734:17;6724:27;;6680:81;6808:2;6800:6;6797:14;6777:18;6774:38;6771:84;;6827:18;;:::i;:::-;6771:84;6592:269;6541:320;;;:::o;6867:227::-;7007:34;7003:1;6995:6;6991:14;6984:58;7076:10;7071:2;7063:6;7059:15;7052:35;6867:227;:::o;7100:366::-;7242:3;7263:67;7327:2;7322:3;7263:67;:::i;:::-;7256:74;;7339:93;7428:3;7339:93;:::i;:::-;7457:2;7452:3;7448:12;7441:19;;7100:366;;;:::o;7472:419::-;7638:4;7676:2;7665:9;7661:18;7653:26;;7725:9;7719:4;7715:20;7711:1;7700:9;7696:17;7689:47;7753:131;7879:4;7753:131;:::i;:::-;7745:139;;7472:419;;;:::o;7897:180::-;7945:77;7942:1;7935:88;8042:4;8039:1;8032:15;8066:4;8063:1;8056:15;8083:191;8123:3;8142:20;8160:1;8142:20;:::i;:::-;8137:25;;8176:20;8194:1;8176:20;:::i;:::-;8171:25;;8219:1;8216;8212:9;8205:16;;8240:3;8237:1;8234:10;8231:36;;;8247:18;;:::i;:::-;8231:36;8083:191;;;;:::o;8280:181::-;8420:33;8416:1;8408:6;8404:14;8397:57;8280:181;:::o;8467:366::-;8609:3;8630:67;8694:2;8689:3;8630:67;:::i;:::-;8623:74;;8706:93;8795:3;8706:93;:::i;:::-;8824:2;8819:3;8815:12;8808:19;;8467:366;;;:::o;8839:419::-;9005:4;9043:2;9032:9;9028:18;9020:26;;9092:9;9086:4;9082:20;9078:1;9067:9;9063:17;9056:47;9120:131;9246:4;9120:131;:::i;:::-;9112:139;;8839:419;;;:::o;9264:332::-;9385:4;9423:2;9412:9;9408:18;9400:26;;9436:71;9504:1;9493:9;9489:17;9480:6;9436:71;:::i;:::-;9517:72;9585:2;9574:9;9570:18;9561:6;9517:72;:::i;:::-;9264:332;;;;;:::o;9602:230::-;9742:34;9738:1;9730:6;9726:14;9719:58;9811:13;9806:2;9798:6;9794:15;9787:38;9602:230;:::o;9838:366::-;9980:3;10001:67;10065:2;10060:3;10001:67;:::i;:::-;9994:74;;10077:93;10166:3;10077:93;:::i;:::-;10195:2;10190:3;10186:12;10179:19;;9838:366;;;:::o;10210:419::-;10376:4;10414:2;10403:9;10399:18;10391:26;;10463:9;10457:4;10453:20;10449:1;10438:9;10434:17;10427:47;10491:131;10617:4;10491:131;:::i;:::-;10483:139;;10210:419;;;:::o;10635:225::-;10775:34;10771:1;10763:6;10759:14;10752:58;10844:8;10839:2;10831:6;10827:15;10820:33;10635:225;:::o;10866:366::-;11008:3;11029:67;11093:2;11088:3;11029:67;:::i;:::-;11022:74;;11105:93;11194:3;11105:93;:::i;:::-;11223:2;11218:3;11214:12;11207:19;;10866:366;;;:::o;11238:419::-;11404:4;11442:2;11431:9;11427:18;11419:26;;11491:9;11485:4;11481:20;11477:1;11466:9;11462:17;11455:47;11519:131;11645:4;11519:131;:::i;:::-;11511:139;;11238:419;;;:::o;11663:224::-;11803:34;11799:1;11791:6;11787:14;11780:58;11872:7;11867:2;11859:6;11855:15;11848:32;11663:224;:::o;11893:366::-;12035:3;12056:67;12120:2;12115:3;12056:67;:::i;:::-;12049:74;;12132:93;12221:3;12132:93;:::i;:::-;12250:2;12245:3;12241:12;12234:19;;11893:366;;;:::o;12265:419::-;12431:4;12469:2;12458:9;12454:18;12446:26;;12518:9;12512:4;12508:20;12504:1;12493:9;12489:17;12482:47;12546:131;12672:4;12546:131;:::i;:::-;12538:139;;12265:419;;;:::o;12690:180::-;12830:32;12826:1;12818:6;12814:14;12807:56;12690:180;:::o;12876:366::-;13018:3;13039:67;13103:2;13098:3;13039:67;:::i;:::-;13032:74;;13115:93;13204:3;13115:93;:::i;:::-;13233:2;13228:3;13224:12;13217:19;;12876:366;;;:::o;13248:419::-;13414:4;13452:2;13441:9;13437:18;13429:26;;13501:9;13495:4;13491:20;13487:1;13476:9;13472:17;13465:47;13529:131;13655:4;13529:131;:::i;:::-;13521:139;;13248:419;;;:::o;13673:225::-;13813:34;13809:1;13801:6;13797:14;13790:58;13882:8;13877:2;13869:6;13865:15;13858:33;13673:225;:::o;13904:366::-;14046:3;14067:67;14131:2;14126:3;14067:67;:::i;:::-;14060:74;;14143:93;14232:3;14143:93;:::i;:::-;14261:2;14256:3;14252:12;14245:19;;13904:366;;;:::o;14276:419::-;14442:4;14480:2;14469:9;14465:18;14457:26;;14529:9;14523:4;14519:20;14515:1;14504:9;14500:17;14493:47;14557:131;14683:4;14557:131;:::i;:::-;14549:139;;14276:419;;;:::o;14701:220::-;14841:34;14837:1;14829:6;14825:14;14818:58;14910:3;14905:2;14897:6;14893:15;14886:28;14701:220;:::o;14927:366::-;15069:3;15090:67;15154:2;15149:3;15090:67;:::i;:::-;15083:74;;15166:93;15255:3;15166:93;:::i;:::-;15284:2;15279:3;15275:12;15268:19;;14927:366;;;:::o;15299:419::-;15465:4;15503:2;15492:9;15488:18;15480:26;;15552:9;15546:4;15542:20;15538:1;15527:9;15523:17;15516:47;15580:131;15706:4;15580:131;:::i;:::-;15572:139;;15299:419;;;:::o;15724:223::-;15864:34;15860:1;15852:6;15848:14;15841:58;15933:6;15928:2;15920:6;15916:15;15909:31;15724:223;:::o;15953:366::-;16095:3;16116:67;16180:2;16175:3;16116:67;:::i;:::-;16109:74;;16192:93;16281:3;16192:93;:::i;:::-;16310:2;16305:3;16301:12;16294:19;;15953:366;;;:::o;16325:419::-;16491:4;16529:2;16518:9;16514:18;16506:26;;16578:9;16572:4;16568:20;16564:1;16553:9;16549:17;16542:47;16606:131;16732:4;16606:131;:::i;:::-;16598:139;;16325:419;;;:::o;16750:221::-;16890:34;16886:1;16878:6;16874:14;16867:58;16959:4;16954:2;16946:6;16942:15;16935:29;16750:221;:::o;16977:366::-;17119:3;17140:67;17204:2;17199:3;17140:67;:::i;:::-;17133:74;;17216:93;17305:3;17216:93;:::i;:::-;17334:2;17329:3;17325:12;17318:19;;16977:366;;;:::o;17349:419::-;17515:4;17553:2;17542:9;17538:18;17530:26;;17602:9;17596:4;17592:20;17588:1;17577:9;17573:17;17566:47;17630:131;17756:4;17630:131;:::i;:::-;17622:139;;17349:419;;;:::o;17774:410::-;17814:7;17837:20;17855:1;17837:20;:::i;:::-;17832:25;;17871:20;17889:1;17871:20;:::i;:::-;17866:25;;17926:1;17923;17919:9;17948:30;17966:11;17948:30;:::i;:::-;17937:41;;18127:1;18118:7;18114:15;18111:1;18108:22;18088:1;18081:9;18061:83;18038:139;;18157:18;;:::i;:::-;18038:139;17822:362;17774:410;;;;:::o;18190:180::-;18238:77;18235:1;18228:88;18335:4;18332:1;18325:15;18359:4;18356:1;18349:15;18376:185;18416:1;18433:20;18451:1;18433:20;:::i;:::-;18428:25;;18467:20;18485:1;18467:20;:::i;:::-;18462:25;;18506:1;18496:35;;18511:18;;:::i;:::-;18496:35;18553:1;18550;18546:9;18541:14;;18376:185;;;;:::o;18567:194::-;18607:4;18627:20;18645:1;18627:20;:::i;:::-;18622:25;;18661:20;18679:1;18661:20;:::i;:::-;18656:25;;18705:1;18702;18698:9;18690:17;;18729:1;18723:4;18720:11;18717:37;;;18734:18;;:::i;:::-;18717:37;18567:194;;;;:::o;18767:224::-;18907:34;18903:1;18895:6;18891:14;18884:58;18976:7;18971:2;18963:6;18959:15;18952:32;18767:224;:::o;18997:366::-;19139:3;19160:67;19224:2;19219:3;19160:67;:::i;:::-;19153:74;;19236:93;19325:3;19236:93;:::i;:::-;19354:2;19349:3;19345:12;19338:19;;18997:366;;;:::o;19369:419::-;19535:4;19573:2;19562:9;19558:18;19550:26;;19622:9;19616:4;19612:20;19608:1;19597:9;19593:17;19586:47;19650:131;19776:4;19650:131;:::i;:::-;19642:139;;19369:419;;;:::o;19794:222::-;19934:34;19930:1;19922:6;19918:14;19911:58;20003:5;19998:2;19990:6;19986:15;19979:30;19794:222;:::o;20022:366::-;20164:3;20185:67;20249:2;20244:3;20185:67;:::i;:::-;20178:74;;20261:93;20350:3;20261:93;:::i;:::-;20379:2;20374:3;20370:12;20363:19;;20022:366;;;:::o;20394:419::-;20560:4;20598:2;20587:9;20583:18;20575:26;;20647:9;20641:4;20637:20;20633:1;20622:9;20618:17;20611:47;20675:131;20801:4;20675:131;:::i;:::-;20667:139;;20394:419;;;:::o;20819:225::-;20959:34;20955:1;20947:6;20943:14;20936:58;21028:8;21023:2;21015:6;21011:15;21004:33;20819:225;:::o;21050:366::-;21192:3;21213:67;21277:2;21272:3;21213:67;:::i;:::-;21206:74;;21289:93;21378:3;21289:93;:::i;:::-;21407:2;21402:3;21398:12;21391:19;;21050:366;;;:::o;21422:419::-;21588:4;21626:2;21615:9;21611:18;21603:26;;21675:9;21669:4;21665:20;21661:1;21650:9;21646:17;21639:47;21703:131;21829:4;21703:131;:::i;:::-;21695:139;;21422:419;;;:::o

Swarm Source

ipfs://bd9aaa804ce7bcfbfb5e59b52458663508fa586232a0cc1da7d6b9a5ff9bdcf1

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.