ETH Price: $2,548.45 (+4.82%)

Contract

0x9D54F8f50424B3b40055cf1261924E4c5A34E562
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer126308512021-06-14 6:05:021194 days ago1623650702IN
0x9D54F8f5...c5A34E562
0 ETH0.0004682311
Approve126292072021-06-13 23:50:171194 days ago1623628217IN
0x9D54F8f5...c5A34E562
0 ETH0.0005355711
Transfer108343982020-09-10 13:58:401470 days ago1599746320IN
0x9D54F8f5...c5A34E562
0 ETH0.00699573166
Transfer108343802020-09-10 13:53:591470 days ago1599746039IN
0x9D54F8f5...c5A34E562
0 ETH0.00663286157.30000156
Transfer104061772020-07-06 13:26:321536 days ago1594041992IN
0x9D54F8f5...c5A34E562
0 ETH0.0025137644
Transfer103647542020-06-30 3:39:151543 days ago1593488355IN
0x9D54F8f5...c5A34E562
0 ETH0.0025714345
Transfer103642962020-06-30 1:50:561543 days ago1593481856IN
0x9D54F8f5...c5A34E562
0 ETH0.0011806728
Transfer103498742020-06-27 20:12:011545 days ago1593288721IN
0x9D54F8f5...c5A34E562
0 ETH0.0014928655
Transfer103498332020-06-27 20:01:061545 days ago1593288066IN
0x9D54F8f5...c5A34E562
0 ETH0.0020004235
Transfer103278882020-06-24 10:20:111548 days ago1592994011IN
0x9D54F8f5...c5A34E562
0 ETH0.0016557261
Transfer103278812020-06-24 10:18:581548 days ago1592993938IN
0x9D54F8f5...c5A34E562
0 ETH0.0023433541
Approve103246292020-06-23 22:07:351549 days ago1592950055IN
0x9D54F8f5...c5A34E562
0 ETH0.001999544.15
Transfer103238172020-06-23 19:07:551549 days ago1592939275IN
0x9D54F8f5...c5A34E562
0 ETH0.0009491635
Transfer103237012020-06-23 18:39:471549 days ago1592937587IN
0x9D54F8f5...c5A34E562
0 ETH0.0021709738
Transfer103154502020-06-22 12:11:181550 days ago1592827878IN
0x9D54F8f5...c5A34E562
0 ETH0.001139542
Transfer103154452020-06-22 12:10:031550 days ago1592827803IN
0x9D54F8f5...c5A34E562
0 ETH0.0024571443
Transfer103152662020-06-22 11:33:081550 days ago1592825588IN
0x9D54F8f5...c5A34E562
0 ETH0.0014328634
Transfer103151322020-06-22 10:57:571550 days ago1592823477IN
0x9D54F8f5...c5A34E562
0 ETH0.0016857240
Approve103111272020-06-21 20:03:361551 days ago1592769816IN
0x9D54F8f5...c5A34E562
0 ETH0.0005887513
Approve103108892020-06-21 19:07:241551 days ago1592766444IN
0x9D54F8f5...c5A34E562
0 ETH0.0005887513
Transfer103042212020-06-20 18:25:021552 days ago1592677502IN
0x9D54F8f5...c5A34E562
0 ETH0.0011426220
Transfer102898152020-06-18 12:57:271554 days ago1592485047IN
0x9D54F8f5...c5A34E562
0 ETH0.0018285732
Transfer102898112020-06-18 12:57:111554 days ago1592485031IN
0x9D54F8f5...c5A34E562
0 ETH0.0010770832
Transfer102896252020-06-18 12:15:071554 days ago1592482507IN
0x9D54F8f5...c5A34E562
0 ETH0.0013064331
Transfer102889682020-06-18 9:45:121554 days ago1592473512IN
0x9D54F8f5...c5A34E562
0 ETH0.0016018938
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HilkCoin

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-06-10
*/

pragma solidity ^0.5.11;

interface IERC20 {
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    function transfer(address _to, uint256 _value) external returns (bool);
    function transferFrom(address _from, address _to, uint256 _value) external returns (bool);
    function approve(address _spender, uint256 _value) external returns (bool);
    function balanceOf(address _target) external view returns (uint256);
    function allowance(address _target, address _spender) external view returns (uint256);
}

// File: contracts/Interface/IMint.sol

pragma solidity ^0.5.11;

interface IMint {
    function mint(uint256 _value) external returns (bool);
    function finishMint() external returns (bool);
}

// File: contracts/Interface/IBurn.sol

pragma solidity ^0.5.11;

interface IBurn {
    function burn(uint256 _value) external returns(bool);
}

// File: contracts/Library/Ownable.sol

pragma solidity ^0.5.11;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Returns true if the caller is the current owner.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() external onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = 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) external onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/Library/SafeMath.sol

pragma solidity ^0.5.11;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     *
     * _Available since v2.4.0._
     */
    function sub(uint256 a, uint256 b, string memory errorMessage)
        internal
        pure
        returns (uint256)
    {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function div(uint256 a, uint256 b, string memory errorMessage)
        internal
        pure
        returns (uint256)
    {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function mod(uint256 a, uint256 b, string memory errorMessage)
        internal
        pure
        returns (uint256)
    {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// File: contracts/Library/Freezer.sol

pragma solidity ^0.5.11;

contract Freezer is Ownable {
    event Freezed(address dsc);
    event Unfreezed(address dsc);

    mapping(address => bool) public freezing;

    modifier isFreezed(address src) {
        require(freezing[src] == false, "Freeze/Fronzen-Account");
        _;
    }

    /**
    * @notice The Freeze function sets the transfer limit
    * for a specific address.
    * @param dsc address The specify address want to limit the transfer.
    */
    function freeze(address dsc) external onlyOwner {
        require(dsc != address(0), "Freeze/Zero-Address");
        require(freezing[dsc] == false, "Freeze/Already-Freezed");

        freezing[dsc] = true;

        emit Freezed(dsc);
    }

    /**
    * @notice The Freeze function removes the transfer limit
    * for a specific address.
    * @param dsc address The specify address want to remove the transfer.
    */
    function unFreeze(address dsc) external onlyOwner {
        require(freezing[dsc] == true, "Freeze/Already-Unfreezed");

        delete freezing[dsc];

        emit Unfreezed(dsc);
    }
}

// File: contracts/Library/Pauser.sol

pragma solidity ^0.5.11;

contract Pauser is Ownable {
    event Pause(address pauser);
    event Resume(address resumer);

    bool public pausing;

    modifier isPause() {
        require(pausing == false, "Pause/Pause-Functionality");
        _;
    }

    function pause() external onlyOwner {
        require(pausing == false, "Pause/Already-Pausing");

        pausing = true;

        emit Pause(msg.sender);
    }

    function resume() external onlyOwner {
        require(pausing == true, "Pause/Already-Resuming");

        pausing = false;

        emit Resume(msg.sender);
    }
}

// File: contracts/Library/Locker.sol

pragma solidity ^0.5.11;




contract Locker is Ownable {
    event LockedUp(address target, uint256 value);

    using SafeMath for uint256;

    mapping(address => uint256) public lockup;

    modifier isLockup(address _target, uint256 _value) {
        uint256 balance = IERC20(address(this)).balanceOf(_target);
        require(
            balance.sub(_value, "Locker/Underflow-Value") >= lockup[_target],
            "Locker/Impossible-Over-Lockup"
        );
        _;
    }

    function lock(address target, uint256 value) internal onlyOwner returns (bool) {
        lockup[target] = lockup[target].add(value);
        emit LockedUp(target, lockup[target]);
    }

    function decreaseLockup(address target, uint256 value) external onlyOwner returns (bool) {
        require(lockup[target] > 0, "Locker/Not-Lockedup");

        lockup[target] = lockup[target].sub(value, "Locker/Impossible-Underflow");

        emit LockedUp(target, lockup[target]);
    }

    function deleteLockup(address target) external onlyOwner returns (bool) {
        require(lockup[target] > 0, "Locker/Not-Lockedup");

        delete lockup[target];

        emit LockedUp(target, 0);
    }
}

// File: contracts/Library/Minter.sol

pragma solidity ^0.5.11;



contract Minter is Ownable {
    event Finished();

    bool public minting;

    modifier isMinting() {
        require(minting == true, "Minter/Finish-Minting");
        _;
    }

    constructor() public {
        minting = true;
    }

    function finishMint() external onlyOwner returns (bool) {
        require(minting == true, "Minter/Already-Finish");

        minting = false;

        emit Finished();

        return true;
    }
}

// File: contracts/HilkCoin.sol

pragma solidity ^0.5.11;










/**
 * @title HilkCoin
 * @notice The contract implements the ERC20 specification of HilkCoin. It implements "Mint"
 * and "Burn" functions incidentally. "Mint" can only be called by the Owner of the
 * corresponding Contract, and "Burn" can be called by any Token owner. Owner of the
 * contract can use "Pauser" to stop working, "Freezer" to freeze accounts and "Locker"
 * to maintain Token minimum balance for some owners.
 */
contract HilkCoin is IERC20, IMint, IBurn, Ownable, Freezer, Pauser, Locker, Minter {
    using SafeMath for uint256;

    string public constant name = "HilkCoin";
    string public constant symbol = "HILK";
    uint8 public constant decimals = 16;
    uint256 public totalSupply = 2000000000;

    mapping(address => uint256) private balances;
    mapping(address => mapping(address => uint256)) private approved;

    constructor() public Minter() {
        totalSupply = totalSupply.mul(10**uint256(decimals));
        balances[msg.sender] = totalSupply;
    }

    function transfer(address to, uint256 value)
        external
        isFreezed(msg.sender)
        isLockup(msg.sender, value)
        isPause
        returns (bool)
    {
        require(to != address(0), "HilkCoin/Not-Allow-Zero-Address");

        balances[msg.sender] = balances[msg.sender].sub(value);
        balances[to] = balances[to].add(value);

        emit Transfer(msg.sender, to, value);

        return true;
    }

    function transferWithLockup(address to, uint256 value)
        external
        onlyOwner
        isLockup(msg.sender, value)
        isPause
        returns (bool)
    {
        require(to != address(0), "HilkCoin/Not-Allow-Zero-Address");

        balances[msg.sender] = balances[msg.sender].sub(value);
        balances[to] = balances[to].add(value);

        lock(to, value);

        emit Transfer(msg.sender, to, value);

        return true;
    }

    function transferFrom(address from, address to, uint256 value)
        external
        isFreezed(from)
        isLockup(from, value)
        isPause
        returns (bool)
    {
        require(from != address(0), "HilkCoin/Not-Allow-Zero-Address");
        require(to != address(0), "HilkCoin/Not-Allow-Zero-Address");

        balances[from] = balances[from].sub(value);
        balances[to] = balances[to].add(value);
        approved[from][msg.sender] = approved[from][msg.sender].sub(value);

        emit Transfer(from, to, value);

        return true;
    }

    function mint(uint256 value) external isMinting onlyOwner isPause returns (bool) {
        totalSupply = totalSupply.add(value);
        balances[msg.sender] = balances[msg.sender].add(value);

        emit Transfer(address(0), msg.sender, value);

        return true;
    }

    function burn(uint256 value) external isPause returns (bool) {
        require(value <= balances[msg.sender], "HilkCoin/Not-Allow-Unvalued-Burn");

        balances[msg.sender] = balances[msg.sender].sub(value);
        totalSupply = totalSupply.sub(value);

        emit Transfer(msg.sender, address(0), value);

        return true;
    }

    function approve(address spender, uint256 value) external isPause returns (bool) {
        require(spender != address(0), "HilkCoin/Not-Allow-Zero-Address");
        approved[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);

        return true;
    }

    function balanceOf(address target) external view returns (uint256) {
        return balances[target];
    }

    function allowance(address target, address spender) external view returns (uint256) {
        return approved[target][spender];
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"resume","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lockup","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"freezing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pausing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"decreaseLockup","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minting","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dsc","type":"address"}],"name":"unFreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferWithLockup","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dsc","type":"address"}],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"deleteLockup","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Finished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"LockedUp","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"pauser","type":"address"}],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"resumer","type":"address"}],"name":"Resume","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dsc","type":"address"}],"name":"Freezed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dsc","type":"address"}],"name":"Unfreezed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"}]

608060405263773594006005553480156200001957600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001600460006101000a81548160ff02191690831515021790555062000114601060ff16600a0a6005546200016660201b620037bf1790919060201c565b600581905550600554600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001f1565b6000808314156200017b5760009050620001eb565b60008284029050828482816200018d57fe5b0414620001e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018062003ac26021913960400191505060405180910390fd5b809150505b92915050565b6138c180620002016000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80637dc2268c116100f957806395d89b4111610097578063c0f75e3d11610071578063c0f75e3d14610802578063dd62ed3e1461085e578063e4cc18be146108d6578063f2fde38b146108f8576101a9565b806395d89b41146106d3578063a0712d6814610756578063a9059cbb1461079c576101a9565b80638ac41193116100d35780638ac41193146105bd5780638d1fdf2f146106235780638da5cb5b146106675780638f32d59b146106b1576101a9565b80637dc2268c1461054d57806383cfab421461056f5780638456cb59146105b3576101a9565b806323b872dd11610166578063313ce56711610140578063313ce5671461048157806342966c68146104a557806370a08231146104eb578063715018a614610543576101a9565b806323b872dd146103735780632a07a0bf146103f9578063305208a41461041b576101a9565b8063046f7da2146101ae57806306fdde03146101b8578063095ea7b31461023b5780630df19d35146102a15780631576c3d8146102f957806318160ddd14610355575b600080fd5b6101b661093c565b005b6101c0610abf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102005780820151818401526020810190506101e5565b50505050905090810190601f16801561022d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102876004803603604081101561025157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610af8565b604051808215151515815260200191505060405180910390f35b6102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d15565b6040518082815260200191505060405180910390f35b61033b6004803603602081101561030f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d2d565b604051808215151515815260200191505060405180910390f35b61035d610d4d565b6040518082815260200191505060405180910390f35b6103df6004803603606081101561038957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b610401611454565b604051808215151515815260200191505060405180910390f35b6104676004803603604081101561043157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611467565b604051808215151515815260200191505060405180910390f35b610489611714565b604051808260ff1660ff16815260200191505060405180910390f35b6104d1600480360360208110156104bb57600080fd5b8101908080359060200190929190505050611719565b604051808215151515815260200191505060405180910390f35b61052d6004803603602081101561050157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611977565b6040518082815260200191505060405180910390f35b61054b6119c0565b005b610555611af9565b604051808215151515815260200191505060405180910390f35b6105b16004803603602081101561058557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b0c565b005b6105bb611d01565b005b610609600480360360408110156105d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e84565b604051808215151515815260200191505060405180910390f35b6106656004803603602081101561063957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061238f565b005b61066f61262f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106b9612658565b604051808215151515815260200191505060405180910390f35b6106db6126af565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561071b578082015181840152602081019050610700565b50505050905090810190601f1680156107485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107826004803603602081101561076c57600080fd5b81019080803590602001909291905050506126e8565b604051808215151515815260200191505060405180910390f35b6107e8600480360360408110156107b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612995565b604051808215151515815260200191505060405180910390f35b6108446004803603602081101561081857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ee3565b604051808215151515815260200191505060405180910390f35b6108c06004803603604081101561087457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130c8565b6040518082815260200191505060405180910390f35b6108de61314f565b604051808215151515815260200191505060405180910390f35b61093a6004803603602081101561090e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132a2565b005b610944612658565b6109b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600260009054906101000a900460ff16151514610a3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f50617573652f416c72656164792d526573756d696e670000000000000000000081525060200191505060405180910390fd5b6000600260006101000a81548160ff0219169083151502179055507fdc5393690c6579b944c67b47465cff82c4f93733768919fe80c29ef57717776333604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6040518060400160405280600881526020017f48696c6b436f696e00000000000000000000000000000000000000000000000081525081565b6000801515600260009054906101000a900460ff16151514610b82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60036020528060005260406000206000915090505481565b60016020528060005260406000206000915054906101000a900460ff1681565b60055481565b60008360001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610e1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f467265657a652f46726f6e7a656e2d4163636f756e740000000000000000000081525060200191505060405180910390fd5b848360003073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e9d57600080fd5b505afa158015610eb1573d6000803e3d6000fd5b505050506040513d6020811015610ec757600080fd5b81019080805190602001909291905050509050600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f64836040518060400160405280601681526020017f4c6f636b65722f556e646572666c6f772d56616c756500000000000000000000815250846133289092919063ffffffff16565b1015610fd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b65722f496d706f737369626c652d4f7665722d4c6f636b757000000081525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514611061576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415611104576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b6111f986600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061128e86600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061136086600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a360019450505050509392505050565b600260009054906101000a900460ff1681565b6000611471612658565b6114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611598576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6f636b65722f4e6f742d4c6f636b656475700000000000000000000000000081525060200191505060405180910390fd5b611621826040518060400160405280601b81526020017f4c6f636b65722f496d706f737369626c652d556e646572666c6f770000000000815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133289092919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fdf72d37adc3f256068f06daa37fec845a1b3b4dadc14a62dd3e89252387be0ef83600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a192915050565b601081565b6000801515600260009054906101000a900460ff161515146117a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611858576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d556e76616c7565642d4275726e81525060200191505060405180910390fd5b6118aa82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611902826005546133e890919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6119c8612658565b611a3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600460009054906101000a900460ff1681565b611b14612658565b611b86576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611c4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f467265657a652f416c72656164792d556e667265657a6564000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690557f4d1fe3cc0f516ce2cfc5e83d52ee28af7f55376b18f58e7081c5fd25d8eeb1df81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b611d09612658565b611d7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514611e04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f50617573652f416c72656164792d50617573696e67000000000000000000000081525060200191505060405180910390fd5b6001600260006101000a81548160ff0219169083151502179055507f5ee71a369c8672edded508e624ffc9257fa1ae6886ef32905c18e60196bca39933604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000611e8e612658565b611f00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b338260003073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611f8157600080fd5b505afa158015611f95573d6000803e3d6000fd5b505050506040513d6020811015611fab57600080fd5b81019080805190602001909291905050509050600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612048836040518060400160405280601681526020017f4c6f636b65722f556e646572666c6f772d56616c756500000000000000000000815250846133289092919063ffffffff16565b10156120bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b65722f496d706f737369626c652d4f7665722d4c6f636b757000000081525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514612145576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156121e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b61223a85600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122cf85600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061231c86866134ba565b508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36001935050505092915050565b612397612658565b612409576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156124ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f467265657a652f5a65726f2d416464726573730000000000000000000000000081525060200191505060405180910390fd5b60001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612572576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f467265657a652f416c72656164792d467265657a65640000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f0de8364a528e5ca2869160b20c375fe85b4e98d24a9cb48b4dc49c5f76d05b2481604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6040518060400160405280600481526020017f48494c4b0000000000000000000000000000000000000000000000000000000081525081565b600060011515600460009054906101000a900460ff16151514612773576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d696e7465722f46696e6973682d4d696e74696e67000000000000000000000081525060200191505060405180910390fd5b61277b612658565b6127ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514612876576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b61288b8260055461343290919063ffffffff16565b6005819055506128e382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b60003360001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612a5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f467265657a652f46726f6e7a656e2d4163636f756e740000000000000000000081525060200191505060405180910390fd5b338360003073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612adf57600080fd5b505afa158015612af3573d6000803e3d6000fd5b505050506040513d6020811015612b0957600080fd5b81019080805190602001909291905050509050600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba6836040518060400160405280601681526020017f4c6f636b65722f556e646572666c6f772d56616c756500000000000000000000815250846133289092919063ffffffff16565b1015612c1a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b65722f496d706f737369626c652d4f7665722d4c6f636b757000000081525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514612ca3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612d46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b612d9886600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e2d86600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a3600194505050505092915050565b6000612eed612658565b612f5f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411613014576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6f636b65722f4e6f742d4c6f636b656475700000000000000000000000000081525060200191505060405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090557fdf72d37adc3f256068f06daa37fec845a1b3b4dadc14a62dd3e89252387be0ef826000604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000613159612658565b6131cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600460009054906101000a900460ff16151514613254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d696e7465722f416c72656164792d46696e697368000000000000000000000081525060200191505060405180910390fd5b6000600460006101000a81548160ff0219169083151502179055507f1578538d7847a99e818f068c208cae026fdafea1610a44858adeff8dc70aeb2b60405160405180910390a16001905090565b6132aa612658565b61331c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6133258161367b565b50565b60008383111582906133d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561339a57808201518184015260208101905061337f565b50505050905090810190601f1680156133c75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600061342a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613328565b905092915050565b6000808284019050838110156134b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006134c4612658565b613536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61358882600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fdf72d37adc3f256068f06daa37fec845a1b3b4dadc14a62dd3e89252387be0ef83600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a192915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806138466026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808314156137d2576000905061383f565b60008284029050828482816137e357fe5b041461383a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061386c6021913960400191505060405180910390fd5b809150505b9291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820c272be5d04e32b7a62f7536dce29670cbdc4f51d909738b0fbb12a271ac8f3d164736f6c634300050b0032536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a95760003560e01c80637dc2268c116100f957806395d89b4111610097578063c0f75e3d11610071578063c0f75e3d14610802578063dd62ed3e1461085e578063e4cc18be146108d6578063f2fde38b146108f8576101a9565b806395d89b41146106d3578063a0712d6814610756578063a9059cbb1461079c576101a9565b80638ac41193116100d35780638ac41193146105bd5780638d1fdf2f146106235780638da5cb5b146106675780638f32d59b146106b1576101a9565b80637dc2268c1461054d57806383cfab421461056f5780638456cb59146105b3576101a9565b806323b872dd11610166578063313ce56711610140578063313ce5671461048157806342966c68146104a557806370a08231146104eb578063715018a614610543576101a9565b806323b872dd146103735780632a07a0bf146103f9578063305208a41461041b576101a9565b8063046f7da2146101ae57806306fdde03146101b8578063095ea7b31461023b5780630df19d35146102a15780631576c3d8146102f957806318160ddd14610355575b600080fd5b6101b661093c565b005b6101c0610abf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102005780820151818401526020810190506101e5565b50505050905090810190601f16801561022d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102876004803603604081101561025157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610af8565b604051808215151515815260200191505060405180910390f35b6102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d15565b6040518082815260200191505060405180910390f35b61033b6004803603602081101561030f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d2d565b604051808215151515815260200191505060405180910390f35b61035d610d4d565b6040518082815260200191505060405180910390f35b6103df6004803603606081101561038957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b610401611454565b604051808215151515815260200191505060405180910390f35b6104676004803603604081101561043157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611467565b604051808215151515815260200191505060405180910390f35b610489611714565b604051808260ff1660ff16815260200191505060405180910390f35b6104d1600480360360208110156104bb57600080fd5b8101908080359060200190929190505050611719565b604051808215151515815260200191505060405180910390f35b61052d6004803603602081101561050157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611977565b6040518082815260200191505060405180910390f35b61054b6119c0565b005b610555611af9565b604051808215151515815260200191505060405180910390f35b6105b16004803603602081101561058557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b0c565b005b6105bb611d01565b005b610609600480360360408110156105d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e84565b604051808215151515815260200191505060405180910390f35b6106656004803603602081101561063957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061238f565b005b61066f61262f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106b9612658565b604051808215151515815260200191505060405180910390f35b6106db6126af565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561071b578082015181840152602081019050610700565b50505050905090810190601f1680156107485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107826004803603602081101561076c57600080fd5b81019080803590602001909291905050506126e8565b604051808215151515815260200191505060405180910390f35b6107e8600480360360408110156107b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612995565b604051808215151515815260200191505060405180910390f35b6108446004803603602081101561081857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ee3565b604051808215151515815260200191505060405180910390f35b6108c06004803603604081101561087457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130c8565b6040518082815260200191505060405180910390f35b6108de61314f565b604051808215151515815260200191505060405180910390f35b61093a6004803603602081101561090e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132a2565b005b610944612658565b6109b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600260009054906101000a900460ff16151514610a3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f50617573652f416c72656164792d526573756d696e670000000000000000000081525060200191505060405180910390fd5b6000600260006101000a81548160ff0219169083151502179055507fdc5393690c6579b944c67b47465cff82c4f93733768919fe80c29ef57717776333604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6040518060400160405280600881526020017f48696c6b436f696e00000000000000000000000000000000000000000000000081525081565b6000801515600260009054906101000a900460ff16151514610b82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60036020528060005260406000206000915090505481565b60016020528060005260406000206000915054906101000a900460ff1681565b60055481565b60008360001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610e1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f467265657a652f46726f6e7a656e2d4163636f756e740000000000000000000081525060200191505060405180910390fd5b848360003073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e9d57600080fd5b505afa158015610eb1573d6000803e3d6000fd5b505050506040513d6020811015610ec757600080fd5b81019080805190602001909291905050509050600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f64836040518060400160405280601681526020017f4c6f636b65722f556e646572666c6f772d56616c756500000000000000000000815250846133289092919063ffffffff16565b1015610fd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b65722f496d706f737369626c652d4f7665722d4c6f636b757000000081525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514611061576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415611104576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b6111f986600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061128e86600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061136086600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a360019450505050509392505050565b600260009054906101000a900460ff1681565b6000611471612658565b6114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611598576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6f636b65722f4e6f742d4c6f636b656475700000000000000000000000000081525060200191505060405180910390fd5b611621826040518060400160405280601b81526020017f4c6f636b65722f496d706f737369626c652d556e646572666c6f770000000000815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133289092919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fdf72d37adc3f256068f06daa37fec845a1b3b4dadc14a62dd3e89252387be0ef83600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a192915050565b601081565b6000801515600260009054906101000a900460ff161515146117a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611858576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d556e76616c7565642d4275726e81525060200191505060405180910390fd5b6118aa82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611902826005546133e890919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6119c8612658565b611a3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600460009054906101000a900460ff1681565b611b14612658565b611b86576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611c4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f467265657a652f416c72656164792d556e667265657a6564000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690557f4d1fe3cc0f516ce2cfc5e83d52ee28af7f55376b18f58e7081c5fd25d8eeb1df81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b611d09612658565b611d7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514611e04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f50617573652f416c72656164792d50617573696e67000000000000000000000081525060200191505060405180910390fd5b6001600260006101000a81548160ff0219169083151502179055507f5ee71a369c8672edded508e624ffc9257fa1ae6886ef32905c18e60196bca39933604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000611e8e612658565b611f00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b338260003073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611f8157600080fd5b505afa158015611f95573d6000803e3d6000fd5b505050506040513d6020811015611fab57600080fd5b81019080805190602001909291905050509050600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612048836040518060400160405280601681526020017f4c6f636b65722f556e646572666c6f772d56616c756500000000000000000000815250846133289092919063ffffffff16565b10156120bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b65722f496d706f737369626c652d4f7665722d4c6f636b757000000081525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514612145576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156121e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b61223a85600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122cf85600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061231c86866134ba565b508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36001935050505092915050565b612397612658565b612409576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156124ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f467265657a652f5a65726f2d416464726573730000000000000000000000000081525060200191505060405180910390fd5b60001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612572576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f467265657a652f416c72656164792d467265657a65640000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f0de8364a528e5ca2869160b20c375fe85b4e98d24a9cb48b4dc49c5f76d05b2481604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6040518060400160405280600481526020017f48494c4b0000000000000000000000000000000000000000000000000000000081525081565b600060011515600460009054906101000a900460ff16151514612773576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d696e7465722f46696e6973682d4d696e74696e67000000000000000000000081525060200191505060405180910390fd5b61277b612658565b6127ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514612876576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b61288b8260055461343290919063ffffffff16565b6005819055506128e382600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b60003360001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612a5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f467265657a652f46726f6e7a656e2d4163636f756e740000000000000000000081525060200191505060405180910390fd5b338360003073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612adf57600080fd5b505afa158015612af3573d6000803e3d6000fd5b505050506040513d6020811015612b0957600080fd5b81019080805190602001909291905050509050600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba6836040518060400160405280601681526020017f4c6f636b65722f556e646572666c6f772d56616c756500000000000000000000815250846133289092919063ffffffff16565b1015612c1a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c6f636b65722f496d706f737369626c652d4f7665722d4c6f636b757000000081525060200191505060405180910390fd5b60001515600260009054906101000a900460ff16151514612ca3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f50617573652f50617573652d46756e6374696f6e616c6974790000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612d46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f48696c6b436f696e2f4e6f742d416c6c6f772d5a65726f2d416464726573730081525060200191505060405180910390fd5b612d9886600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133e890919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e2d86600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a3600194505050505092915050565b6000612eed612658565b612f5f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411613014576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6f636b65722f4e6f742d4c6f636b656475700000000000000000000000000081525060200191505060405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090557fdf72d37adc3f256068f06daa37fec845a1b3b4dadc14a62dd3e89252387be0ef826000604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000613159612658565b6131cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515600460009054906101000a900460ff16151514613254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4d696e7465722f416c72656164792d46696e697368000000000000000000000081525060200191505060405180910390fd5b6000600460006101000a81548160ff0219169083151502179055507f1578538d7847a99e818f068c208cae026fdafea1610a44858adeff8dc70aeb2b60405160405180910390a16001905090565b6132aa612658565b61331c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6133258161367b565b50565b60008383111582906133d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561339a57808201518184015260208101905061337f565b50505050905090810190601f1680156133c75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600061342a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613328565b905092915050565b6000808284019050838110156134b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006134c4612658565b613536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61358882600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461343290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fdf72d37adc3f256068f06daa37fec845a1b3b4dadc14a62dd3e89252387be0ef83600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a192915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806138466026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808314156137d2576000905061383f565b60008284029050828482816137e357fe5b041461383a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061386c6021913960400191505060405180910390fd5b809150505b9291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820c272be5d04e32b7a62f7536dce29670cbdc4f51d909738b0fbb12a271ac8f3d164736f6c634300050b0032

Deployed Bytecode Sourcemap

13211:3308:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13211:3308:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10705:170;;;:::i;:::-;;13337:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13337:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15967:289;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15967:289:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11080:41;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11080:41:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9218:40;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9218:40:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13471:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14729:583;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14729:583:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10390:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11628:294;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11628:294:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13429:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15610:349;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15610:349:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16264:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16264:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2697:142;;;:::i;:::-;;12281:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10016:192;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10016:192:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10530:167;;;:::i;:::-;;14250:471;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14250:471:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9576:247;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9576:247:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1886:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2254:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13384:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13384:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15320:282;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15320:282:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13797:445;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13797:445:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11930:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11930:212:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16381:135;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16381:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12480:204;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2994:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2994:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10705:170;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10772:4;10761:15;;:7;;;;;;;;;;;:15;;;10753:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10826:5;10816:7;;:15;;;;;;;;;;;;;;;;;;10849:18;10856:10;10849:18;;;;;;;;;;;;;;;;;;;;;;10705:170::o;13337:40::-;;;;;;;;;;;;;;;;;;;:::o;15967:289::-;16042:4;10467:5;10456:16;;:7;;;;;;;;;;;:16;;;10448:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16086:1;16067:21;;:7;:21;;;;16059:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16167:5;16135:8;:20;16144:10;16135:20;;;;;;;;;;;;;;;:29;16156:7;16135:29;;;;;;;;;;;;;;;:37;;;;16209:7;16188:36;;16197:10;16188:36;;;16218:5;16188:36;;;;;;;;;;;;;;;;;;16244:4;16237:11;;15967:289;;;;:::o;11080:41::-;;;;;;;;;;;;;;;;;:::o;9218:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;13471:39::-;;;;:::o;14729:583::-;14901:4;14829;9335:5;9318:22;;:8;:13;9327:3;9318:13;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;9310:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14853:4;14859:5;11192:15;11225:4;11210:31;;;11242:7;11210:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11210:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11210:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11210:40:0;;;;;;;;;;;;;;;;11192:58;;11332:6;:15;11339:7;11332:15;;;;;;;;;;;;;;;;11283:45;11295:6;11283:45;;;;;;;;;;;;;;;;;:7;:11;;:45;;;;;:::i;:::-;:64;;11261:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10467:5;10456:16;;:7;;;;;;;;;;;:16;;;10448:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14947:1;14931:18;;:4;:18;;;;14923:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15018:1;15004:16;;:2;:16;;;;14996:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15086:25;15105:5;15086:8;:14;15095:4;15086:14;;;;;;;;;;;;;;;;:18;;:25;;;;:::i;:::-;15069:8;:14;15078:4;15069:14;;;;;;;;;;;;;;;:42;;;;15137:23;15154:5;15137:8;:12;15146:2;15137:12;;;;;;;;;;;;;;;;:16;;:23;;;;:::i;:::-;15122:8;:12;15131:2;15122:12;;;;;;;;;;;;;;;:38;;;;15200:37;15231:5;15200:8;:14;15209:4;15200:14;;;;;;;;;;;;;;;:26;15215:10;15200:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;15171:8;:14;15180:4;15171:14;;;;;;;;;;;;;;;:26;15186:10;15171:26;;;;;;;;;;;;;;;:66;;;;15270:2;15255:25;;15264:4;15255:25;;;15274:5;15255:25;;;;;;;;;;;;;;;;;;15300:4;15293:11;;9378:1;;;14729:583;;;;;;:::o;10390:19::-;;;;;;;;;;;;;:::o;11628:294::-;11711:4;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11753:1;11736:6;:14;11743:6;11736:14;;;;;;;;;;;;;;;;:18;11728:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11808:56;11827:5;11808:56;;;;;;;;;;;;;;;;;:6;:14;11815:6;11808:14;;;;;;;;;;;;;;;;:18;;:56;;;;;:::i;:::-;11791:6;:14;11798:6;11791:14;;;;;;;;;;;;;;;:73;;;;11882:32;11891:6;11899;:14;11906:6;11899:14;;;;;;;;;;;;;;;;11882:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;11628:294;;;;:::o;13429:35::-;13462:2;13429:35;:::o;15610:349::-;15665:4;10467:5;10456:16;;:7;;;;;;;;;;;:16;;;10448:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15699:8;:20;15708:10;15699:20;;;;;;;;;;;;;;;;15690:5;:29;;15682:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15792:31;15817:5;15792:8;:20;15801:10;15792:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;15769:8;:20;15778:10;15769:20;;;;;;;;;;;;;;;:54;;;;15848:22;15864:5;15848:11;;:15;;:22;;;;:::i;:::-;15834:11;:36;;;;15917:1;15888:39;;15897:10;15888:39;;;15921:5;15888:39;;;;;;;;;;;;;;;;;;15947:4;15940:11;;15610:349;;;:::o;16264:109::-;16322:7;16349:8;:16;16358:6;16349:16;;;;;;;;;;;;;;;;16342:23;;16264:109;;;:::o;2697:142::-;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2798:1;2761:40;;2782:6;;;;;;;;;;;2761:40;;;;;;;;;;;;2829:1;2812:6;;:19;;;;;;;;;;;;;;;;;;2697:142::o;12281:19::-;;;;;;;;;;;;;:::o;10016:192::-;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10102:4;10085:21;;:8;:13;10094:3;10085:13;;;;;;;;;;;;;;;;;;;;;;;;;:21;;;10077:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10155:8;:13;10164:3;10155:13;;;;;;;;;;;;;;;;10148:20;;;;;;;;;;;10186:14;10196:3;10186:14;;;;;;;;;;;;;;;;;;;;;;10016:192;:::o;10530:167::-;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10596:5;10585:16;;:7;;;;;;;;;;;:16;;;10577:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10650:4;10640:7;;:14;;;;;;;;;;;;;;;;;;10672:17;10678:10;10672:17;;;;;;;;;;;;;;;;;;;;;;10530:167::o;14250:471::-;14414:4;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14360:10;14372:5;11192:15;11225:4;11210:31;;;11242:7;11210:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11210:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11210:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11210:40:0;;;;;;;;;;;;;;;;11192:58;;11332:6;:15;11339:7;11332:15;;;;;;;;;;;;;;;;11283:45;11295:6;11283:45;;;;;;;;;;;;;;;;;:7;:11;;:45;;;;;:::i;:::-;:64;;11261:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10467:5;10456:16;;:7;;;;;;;;;;;:16;;;10448:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14458:1;14444:16;;:2;:16;;;;14436:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14532:31;14557:5;14532:8;:20;14541:10;14532:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;14509:8;:20;14518:10;14509:20;;;;;;;;;;;;;;;:54;;;;14589:23;14606:5;14589:8;:12;14598:2;14589:12;;;;;;;;;;;;;;;;:16;;:23;;;;:::i;:::-;14574:8;:12;14583:2;14574:12;;;;;;;;;;;;;;;:38;;;;14625:15;14630:2;14634:5;14625:4;:15::i;:::-;;14679:2;14658:31;;14667:10;14658:31;;;14683:5;14658:31;;;;;;;;;;;;;;;;;;14709:4;14702:11;;2157:1;;;14250:471;;;;:::o;9576:247::-;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9658:1;9643:17;;:3;:17;;;;9635:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9720:5;9703:22;;:8;:13;9712:3;9703:13;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;9695:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9781:4;9765:8;:13;9774:3;9765:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;9803:12;9811:3;9803:12;;;;;;;;;;;;;;;;;;;;;;9576:247;:::o;1886:81::-;1926:7;1953:6;;;;;;;;;;;1946:13;;1886:81;:::o;2254:92::-;2294:4;2332:6;;;;;;;;;;;2318:20;;:10;:20;;;2311:27;;2254:92;:::o;13384:38::-;;;;;;;;;;;;;;;;;;;:::o;15320:282::-;15395:4;12360;12349:15;;:7;;;;;;;;;;;:15;;;12341:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10467:5;10456:16;;:7;;;;;;;;;;;:16;;;10448:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15426:22;15442:5;15426:11;;:15;;:22;;;;:::i;:::-;15412:11;:36;;;;15482:31;15507:5;15482:8;:20;15491:10;15482:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;15459:8;:20;15468:10;15459:20;;;;;;;;;;;;;;;:54;;;;15552:10;15531:39;;15548:1;15531:39;;;15564:5;15531:39;;;;;;;;;;;;;;;;;;15590:4;15583:11;;15320:282;;;:::o;13797:445::-;13963:4;13879:10;9335:5;9318:22;;:8;:13;9327:3;9318:13;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;9310:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13909:10;13921:5;11192:15;11225:4;11210:31;;;11242:7;11210:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11210:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11210:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11210:40:0;;;;;;;;;;;;;;;;11192:58;;11332:6;:15;11339:7;11332:15;;;;;;;;;;;;;;;;11283:45;11295:6;11283:45;;;;;;;;;;;;;;;;;:7;:11;;:45;;;;;:::i;:::-;:64;;11261:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10467:5;10456:16;;:7;;;;;;;;;;;:16;;;10448:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14007:1;13993:16;;:2;:16;;;;13985:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14081:31;14106:5;14081:8;:20;14090:10;14081:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;14058:8;:20;14067:10;14058:20;;;;;;;;;;;;;;;:54;;;;14138:23;14155:5;14138:8;:12;14147:2;14138:12;;;;;;;;;;;;;;;;:16;;:23;;;;:::i;:::-;14123:8;:12;14132:2;14123:12;;;;;;;;;;;;;;;:38;;;;14200:2;14179:31;;14188:10;14179:31;;;14204:5;14179:31;;;;;;;;;;;;;;;;;;14230:4;14223:11;;9378:1;;;13797:445;;;;;:::o;11930:212::-;11996:4;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12038:1;12021:6;:14;12028:6;12021:14;;;;;;;;;;;;;;;;:18;12013:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12083:6;:14;12090:6;12083:14;;;;;;;;;;;;;;;12076:21;;;12115:19;12124:6;12132:1;12115:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;11930:212;;;:::o;16381:135::-;16456:7;16483:8;:16;16492:6;16483:16;;;;;;;;;;;;;;;:25;16500:7;16483:25;;;;;;;;;;;;;;;;16476:32;;16381:135;;;;:::o;12480:204::-;12530:4;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12566:4;12555:15;;:7;;;;;;;;;;;:15;;;12547:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12619:5;12609:7;;:15;;;;;;;;;;;;;;;;;;12642:10;;;;;;;;;;12672:4;12665:11;;12480:204;:::o;2994:111::-;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3069:28;3088:8;3069:18;:28::i;:::-;2994:111;:::o;5279:224::-;5392:7;5430:1;5425;:6;;5433:12;5417:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5417:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5457:9;5473:1;5469;:5;5457:17;;5494:1;5487:8;;;5279:224;;;;;:::o;4806:136::-;4864:7;4891:43;4895:1;4898;4891:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4884:50;;4806:136;;;;:::o;4350:181::-;4408:7;4428:9;4444:1;4440;:5;4428:17;;4469:1;4464;:6;;4456:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4522:1;4515:8;;;4350:181;;;;:::o;11432:188::-;11505:4;2100:9;:7;:9::i;:::-;2092:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11539:25;11558:5;11539:6;:14;11546:6;11539:14;;;;;;;;;;;;;;;;:18;;:25;;;;:::i;:::-;11522:6;:14;11529:6;11522:14;;;;;;;;;;;;;;;:42;;;;11580:32;11589:6;11597;:14;11604:6;11597:14;;;;;;;;;;;;;;;;11580:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;11432:188;;;;:::o;3211:229::-;3305:1;3285:22;;:8;:22;;;;3277:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:8;3366:38;;3387:6;;;;;;;;;;;3366:38;;;;;;;;;;;;3424:8;3415:6;;:17;;;;;;;;;;;;;;;;;;3211:229;:::o;5754:471::-;5812:7;6062:1;6057;:6;6053:47;;;6087:1;6080:8;;;;6053:47;6112:9;6128:1;6124;:5;6112:17;;6157:1;6152;6148;:5;;;;;;:10;6140:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6216:1;6209:8;;;5754:471;;;;;:::o

Swarm Source

bzzr://c272be5d04e32b7a62f7536dce29670cbdc4f51d909738b0fbb12a271ac8f3d1

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.