ETH Price: $2,521.45 (-0.04%)

Contract

0x6A8536d38D78b9a4256bE0638B18a659C27d3758
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Standard Rew...139532112022-01-06 17:25:43967 days ago1641489943IN
0x6A8536d3...9C27d3758
0 ETH0.00474577164.08878818
Confirm Rebaseme...134942652021-10-26 17:13:391039 days ago1635268419IN
0x6A8536d3...9C27d3758
0 ETH0.04453561186.05499458
Initiate Rebasem...134940932021-10-26 16:35:181039 days ago1635266118IN
0x6A8536d3...9C27d3758
0 ETH0.00557079135.17738085
Confirm Rebaseme...134870812021-10-25 14:14:051040 days ago1635171245IN
0x6A8536d3...9C27d3758
0 ETH0.02515641106.33453392
Initiate Rebasem...134870522021-10-25 14:07:581040 days ago1635170878IN
0x6A8536d3...9C27d3758
0 ETH0.0035909187.1348419
Confirm Rebaseme...134813352021-10-24 16:47:401041 days ago1635094060IN
0x6A8536d3...9C27d3758
0 ETH0.02643938111.82327134
Initiate Rebasem...134804712021-10-24 13:31:371041 days ago1635082297IN
0x6A8536d3...9C27d3758
0 ETH0.002806572.2152876
Confirm Rebaseme...134749922021-10-23 16:55:161042 days ago1635008116IN
0x6A8536d3...9C27d3758
0 ETH0.0170932471.44838872
Initiate Rebasem...134745242021-10-23 15:17:181042 days ago1635002238IN
0x6A8536d3...9C27d3758
0 ETH0.0038765263.38440063
Confirm Rebaseme...134689812021-10-22 18:19:051043 days ago1634926745IN
0x6A8536d3...9C27d3758
0 ETH0.02968847124.10066233
Initiate Rebasem...134679162021-10-22 14:23:561043 days ago1634912636IN
0x6A8536d3...9C27d3758
0 ETH0.00472498115.5960089
Confirm Rebaseme...134621952021-10-21 16:51:411044 days ago1634835101IN
0x6A8536d3...9C27d3758
0 ETH0.0493555206.31070729
Initiate Rebasem...134611372021-10-21 12:55:461044 days ago1634820946IN
0x6A8536d3...9C27d3758
0 ETH0.0030767175.2712379
Confirm Rebaseme...134560632021-10-20 17:57:411045 days ago1634752661IN
0x6A8536d3...9C27d3758
0 ETH0.02462111102.91859779
Initiate Rebasem...134553452021-10-20 15:13:421045 days ago1634742822IN
0x6A8536d3...9C27d3758
0 ETH0.00727408177.95927727
Confirm Rebaseme...134497932021-10-19 18:28:231046 days ago1634668103IN
0x6A8536d3...9C27d3758
0 ETH0.02601081108.66453669
Initiate Rebasem...134485602021-10-19 13:45:031046 days ago1634651103IN
0x6A8536d3...9C27d3758
0 ETH0.0019065846.26399047
Confirm Rebaseme...134421952021-10-18 13:55:581047 days ago1634565358IN
0x6A8536d3...9C27d3758
0 ETH0.0234338799.05347226
Initiate Rebasem...134421372021-10-18 13:42:411047 days ago1634564561IN
0x6A8536d3...9C27d3758
0 ETH0.003331580.84023263
Confirm Rebaseme...134361982021-10-17 15:22:461048 days ago1634484166IN
0x6A8536d3...9C27d3758
0 ETH0.02755992116.49403527
Initiate Rebasem...134358642021-10-17 14:05:351048 days ago1634479535IN
0x6A8536d3...9C27d3758
0 ETH0.0023963358.14797845
Set Standard Rew...134301702021-10-16 16:38:481049 days ago1634402328IN
0x6A8536d3...9C27d3758
0 ETH0.00303937105.08868086
Confirm Rebaseme...134301562021-10-16 16:35:571049 days ago1634402157IN
0x6A8536d3...9C27d3758
0 ETH0.02467263103.07407736
Initiate Rebasem...134291562021-10-16 12:54:301049 days ago1634388870IN
0x6A8536d3...9C27d3758
0 ETH0.0027703667.22391874
Confirm Rebaseme...134230182021-10-15 13:51:331050 days ago1634305893IN
0x6A8536d3...9C27d3758
0 ETH0.03866758161.63416875
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:
BenchmarkOracle

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-05-20
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/******************************************/
/*       ChainLink starts here            */
/******************************************/

interface AggregatorV3Interface {

  function decimals() external view returns (uint8);
  function description() external view returns (string memory);
  function version() external view returns (uint256);

  // getRoundData and latestRoundData should both raise "No data present"
  // if they do not have data to report, instead of returning unset values
  // which could be misinterpreted as actual reported values.
  function getRoundData(uint80 _roundId)
    external
    view
    returns (
      uint80 roundId,
      int256 answer,
      uint256 startedAt,
      uint256 updatedAt,
      uint80 answeredInRound
    );
  function latestRoundData()
    external
    view
    returns (
      uint80 roundId,
      int256 answer,
      uint256 startedAt,
      uint256 updatedAt,
      uint80 answeredInRound
    );

}

/******************************************/
/*       Benchmark starts here            */
/******************************************/

abstract contract Benchmark 

{
    function rebase(uint256 supplyDelta, bool increaseSupply) external virtual returns (uint256);
    
    function transfer(address to, uint256 value) external virtual returns (bool);
    
    function balanceOf(address who) external virtual view returns (uint256);

    function totalSupply() external virtual view returns (uint256);
}

/******************************************/
/*       BenchmarkSync starts here        */
/******************************************/

abstract contract BenchmarkSync 

{
    function syncPools() external virtual;
}

/******************************************/
/*       BenchmarkOracle starts here      */
/******************************************/

contract BenchmarkOracle {

    AggregatorV3Interface internal priceFeed;
    int256 public lastOracleVxx;

    address owner1;
    address owner2;
    address owner3;
    address owner4;
    address owner5;

    address public standard;
    uint256 public standardRewards;
    
    Benchmark public bm;
    BenchmarkSync public sync;

    Transaction public pendingRebasement;
    uint256 internal lastRebasementTime;

    struct Transaction {
        address initiator;
        int256 rebaseOne;
        int256 rebaseTwo;
        bool executed;
    }

    modifier isOwner() 
    {
        require (msg.sender == owner1 || msg.sender == owner2 || msg.sender == owner3 || msg.sender == owner4 || msg.sender == owner5);
        _;
    }

    constructor(address _benchmark, address _standard, address _sync)
    {
        /**
        * Network: Ethereum
        * Aggregator: VXX
        * Address: 0xC18F2a0C166A091fcD5E2051EFEFD63c4f4A27E9
        */
        priceFeed = AggregatorV3Interface(0xC18F2a0C166A091fcD5E2051EFEFD63c4f4A27E9);
        lastOracleVxx = getOracleVxx();

        owner1 = 0x2c155e07a1Ee62f229c9968B7A903dC69436e3Ec;
        owner2 = 0xdBd39C1b439ba2588Dab47eED41b8456486F4Ba5;
        owner3 = 0x90d33D152A422D63e0Dd1c107b7eD3943C06ABA8;
        owner4 = 0xE12E421D5C4b4D8193bf269BF94DC8dA28798BA9;
        owner5 = 0xD4B33C108659A274D8C35b60e6BfCb179a2a6D4C;
        standard = _standard;
        bm = Benchmark(_benchmark);
        sync = BenchmarkSync(_sync);

        
        pendingRebasement.executed = true;
    }

    /**
     * Returns the latest price
     */
    function getOracleVxx() public view returns (int) {
        (
            uint80 roundID, 
            int price,
            uint startedAt,
            uint timeStamp,
            uint80 answeredInRound
        ) = priceFeed.latestRoundData();
        return price;
    }

    /**
     * Returns absolute value.
     */
    function abs(int x) private pure returns (int) {
    return x >= 0 ? x : -x;
    }
    
    /**
     * @dev Initiates a rebasement proposal that has to be confirmed by another owner of the contract to be executed. Can't be called while another proposal is pending.
     * @param _rebaseOne Divergence from the target price.
     * @param _rebaseTwo VXX difference.
     */
    function initiateRebasement(int256 _rebaseOne, int256 _rebaseTwo) public isOwner
    {
        require (pendingRebasement.executed == true, "Pending rebasement.");
        require (lastRebasementTime < (block.timestamp - 54000), "Rebasement has already occured within the past 15 hours.");

        Transaction storage txn = pendingRebasement; 
        txn.initiator = msg.sender;
        txn.rebaseOne = _rebaseOne;
        txn.rebaseTwo = _rebaseTwo;
        txn.executed = false;
    }

    /**
     * @dev Confirms and executes a pending rebasement proposal. Prohibits further proposals for 15 hours. Distribute Standard rewards and sync liquidity pools.
     * @param _overrule True if Chainlink Oracle should be ignored.
     * @param _currentVxx Manually provide current VXX value if Chainlink Oracle is ignored.
     */
    function confirmRebasement(bool _overrule, int256 _currentVxx) public isOwner
    {
        require (pendingRebasement.initiator != msg.sender, "Initiator can't confirm rebasement.");
        require (pendingRebasement.executed == false, "Rebasement already executed.");
        int256 oracleRebaseTwo;

        if (_overrule == false) {
            oracleRebaseTwo = ((getOracleVxx() - lastOracleVxx) * 1e10) / lastOracleVxx;   
            oracleRebaseTwo = oracleRebaseTwo < 0 ? int(0) : oracleRebaseTwo;
            require (oracleRebaseTwo == pendingRebasement.rebaseTwo, "VXX rebases don't match!");
            lastOracleVxx = getOracleVxx();
        } else {
            oracleRebaseTwo = pendingRebasement.rebaseTwo;
            require(_currentVxx != 0, "Current VXX not provided.");
            lastOracleVxx = _currentVxx;
        }  

        pendingRebasement.executed = true;
        lastRebasementTime = block.timestamp;
        
        int256 rebasePercentage = pendingRebasement.rebaseOne + oracleRebaseTwo;
        bool increaseSupply = rebasePercentage >= 0 ? true : false;
        uint256 absolutePercentage = uint256(abs(rebasePercentage));
        uint256 supplyDelta = bm.totalSupply() * absolutePercentage / 1e10;

        bm.rebase(supplyDelta, increaseSupply);
        bm.transfer(standard, standardRewards);

        sync.syncPools();
    }

    /**
     * @dev View Supply delta and sign for rebasement verification.
     * @param _overrule True if Chainlink Oracle should be ignored.
     */
    function verifyRebasement(bool _overrule) public view returns (uint256, bool)
    {
        int256 oracleRebaseTwo;

        if (_overrule == false) {
            oracleRebaseTwo = ((getOracleVxx() - lastOracleVxx) * 1e10) / lastOracleVxx;   
            oracleRebaseTwo = oracleRebaseTwo < 0 ? int(0) : oracleRebaseTwo;
            require (oracleRebaseTwo == pendingRebasement.rebaseTwo, "VXX rebases don't match!");
        } else {
            oracleRebaseTwo = pendingRebasement.rebaseTwo;
        }  
        
        int256 rebasePercentage = pendingRebasement.rebaseOne + oracleRebaseTwo;
        bool increaseSupply = rebasePercentage >= 0 ? true : false;
        uint256 absolutePercentage = uint256(abs(rebasePercentage));
        uint256 supplyDelta = bm.totalSupply() * absolutePercentage / 1e10;

        return(supplyDelta, increaseSupply);
    }

    /**
     * @dev Denies a pending rebasement proposal and allows the creation of a new proposal.
     */
    function denyRebasement() public isOwner
    {
        require (pendingRebasement.executed == false, "Rebasement already executed.");
        
        pendingRebasement.executed = true;
    }

    /**
     * @dev Change Standard staking rewards. 
     * @param _standardRewards New amount.
     */
    function setStandardRewards(uint256 _standardRewards) public isOwner {
        standardRewards = _standardRewards;
    }

    /**
     * @dev Remove all MARK deposited on this contract. 
     */
    function withdrawMark() public {
        require (msg.sender == 0x2c155e07a1Ee62f229c9968B7A903dC69436e3Ec || msg.sender == 0xdBd39C1b439ba2588Dab47eED41b8456486F4Ba5, "Only Masterchief can withdraw.");
        bm.transfer(msg.sender, bm.balanceOf(address(this)));
    }

    /**
     * @dev Change the contract for pool synchronization. 
     */
    function setSyncContract(address _sync) public isOwner {
        sync = BenchmarkSync(_sync);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_benchmark","type":"address"},{"internalType":"address","name":"_standard","type":"address"},{"internalType":"address","name":"_sync","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"bm","outputs":[{"internalType":"contract Benchmark","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_overrule","type":"bool"},{"internalType":"int256","name":"_currentVxx","type":"int256"}],"name":"confirmRebasement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"denyRebasement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOracleVxx","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int256","name":"_rebaseOne","type":"int256"},{"internalType":"int256","name":"_rebaseTwo","type":"int256"}],"name":"initiateRebasement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastOracleVxx","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingRebasement","outputs":[{"internalType":"address","name":"initiator","type":"address"},{"internalType":"int256","name":"rebaseOne","type":"int256"},{"internalType":"int256","name":"rebaseTwo","type":"int256"},{"internalType":"bool","name":"executed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_standardRewards","type":"uint256"}],"name":"setStandardRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sync","type":"address"}],"name":"setSyncContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"standard","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"standardRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sync","outputs":[{"internalType":"contract BenchmarkSync","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_overrule","type":"bool"}],"name":"verifyRebasement","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawMark","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162002a3a38038062002a3a833981810160405281019062000037919062000450565b73c18f2a0c166a091fcd5e2051efefd63c4f4a27e96000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200009b6200033460201b60201c565b600181905550732c155e07a1ee62f229c9968b7a903dc69436e3ec600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dbd39c1b439ba2588dab47eed41b8456486f4ba5600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507390d33d152a422d63e0dd1c107b7ed3943c06aba8600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e12e421d5c4b4d8193bf269bf94dc8da28798ba9600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d4b33c108659a274d8c35b60e6bfcb179a2a6d4c600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b60030160006101000a81548160ff021916908315150217905550505050620005ee565b60008060008060008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015620003a457600080fd5b505afa158015620003b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003df9190620004a6565b94509450945094509450839550505050505090565b600081519050620004058162000586565b92915050565b6000815190506200041c81620005a0565b92915050565b6000815190506200043381620005ba565b92915050565b6000815190506200044a81620005d4565b92915050565b6000806000606084860312156200046657600080fd5b60006200047686828701620003f4565b93505060206200048986828701620003f4565b92505060406200049c86828701620003f4565b9150509250925092565b600080600080600060a08688031215620004bf57600080fd5b6000620004cf8882890162000439565b9550506020620004e2888289016200040b565b9450506040620004f58882890162000422565b9350506060620005088882890162000422565b92505060806200051b8882890162000439565b9150509295509295909350565b6000620005358262000546565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600069ffffffffffffffffffff82169050919050565b620005918162000528565b81146200059d57600080fd5b50565b620005ab816200053c565b8114620005b757600080fd5b50565b620005c58162000566565b8114620005d157600080fd5b50565b620005df8162000570565b8114620005eb57600080fd5b50565b61243c80620005fe6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a3804afb1161008c578063e548783b11610066578063e548783b14610203578063f1de71da14610221578063f7c6e81c1461023d578063fff6cae91461025b576100ea565b8063a3804afb146101d1578063c0b042dc146101ef578063e4944f27146101f9576100ea565b80634d4d70cd116100c85780634d4d70cd146101485780635a3b7e42146101795780636835bb541461019757806371c54290146101b5576100ea565b80633102ea70146100ef57806342c7f0c01461010b57806345ba133b14610127575b600080fd5b61010960048036038101906101049190611942565b610279565b005b6101256004803603810190610120919061184f565b61043d565b005b61012f61063b565b60405161013f9493929190611b75565b60405180910390f35b610162600480360381019061015d9190611878565b610686565b604051610170929190611d2f565b60405180910390f35b61018161083a565b60405161018e9190611b5a565b60405180910390f35b61019f610860565b6040516101ac9190611bfe565b60405180910390f35b6101cf60048036038101906101ca9190611906565b610886565b005b6101d9610b67565b6040516101e69190611d14565b60405180910390f35b6101f7610b6d565b005b610201610da0565b005b61020b610fc8565b6040516102189190611c19565b60405180910390f35b61023b600480360381019061023691906118ca565b610fce565b005b6102456116a3565b6040516102529190611c19565b60405180910390f35b61026361175f565b6040516102709190611be3565b60405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103225750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061037a5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806103d25750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061042a5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61043357600080fd5b8060088190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104e65750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061053e5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806105965750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806105ee5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6105f757600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16905084565b6000806000801515841515141561072a576001546402540be4006001546106ab6116a3565b6106b59190612009565b6106bf9190611e98565b6106c99190611dfd565b9050600081126106d957806106dc565b60005b9050600b600201548114610725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071c90611cb4565b60405180910390fd5b610733565b600b6002015490505b600081600b600101546107469190611d69565b905060008082121561075957600061075c565b60015b9050600061076983611785565b905060006402540be40082600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107dc57600080fd5b505afa1580156107f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610814919061196b565b61081e9190611faf565b6108289190611e67565b90508083965096505050505050915091565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061092f5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806109875750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806109df5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610a375750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610a4057600080fd5b60011515600b60030160009054906101000a900460ff16151514610a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9090611c74565b60405180910390fd5b61d2f042610aa7919061209d565b600f5410610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190611c94565b60405180910390fd5b6000600b9050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082816001018190555081816002018190555060008160030160006101000a81548160ff021916908315150217905550505050565b60085481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c165750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610c6e5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610cc65750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610d1e5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d2757600080fd5b60001515600b60030160009054906101000a900460ff16151514610d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7790611c54565b60405180910390fd5b6001600b60030160006101000a81548160ff021916908315150217905550565b732c155e07a1ee62f229c9968b7a903dc69436e3ec73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e2d575073dbd39c1b439ba2588dab47eed41b8456486f4ba573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6390611c34565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f069190611b5a565b60206040518083038186803b158015610f1e57600080fd5b505afa158015610f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f56919061196b565b6040518363ffffffff1660e01b8152600401610f73929190611bba565b602060405180830381600087803b158015610f8d57600080fd5b505af1158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906118a1565b50565b60015481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110775750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806110cf5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806111275750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061117f5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61118857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561121c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121390611cf4565b60405180910390fd5b60001515600b60030160009054906101000a900460ff16151514611275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126c90611c54565b60405180910390fd5b60008015158315151415611324576001546402540be4006001546112976116a3565b6112a19190612009565b6112ab9190611e98565b6112b59190611dfd565b9050600081126112c557806112c8565b60005b9050600b600201548114611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890611cb4565b60405180910390fd5b6113196116a3565b600181905550611378565b600b6002015490506000821415611370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136790611cd4565b60405180910390fd5b816001819055505b6001600b60030160006101000a81548160ff02191690831515021790555042600f81905550600081600b600101546113b09190611d69565b90506000808212156113c35760006113c6565b60015b905060006113d383611785565b905060006402540be40082600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561144657600080fd5b505afa15801561145a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147e919061196b565b6114889190611faf565b6114929190611e67565b9050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd07a2a382856040518363ffffffff1660e01b81526004016114f1929190611d2f565b602060405180830381600087803b15801561150b57600080fd5b505af115801561151f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611543919061196b565b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008546040518363ffffffff1660e01b81526004016115c5929190611bba565b602060405180830381600087803b1580156115df57600080fd5b505af11580156115f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161791906118a1565b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166383b8e1456040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561168257600080fd5b505af1158015611696573d6000803e3d6000fd5b5050505050505050505050565b60008060008060008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561171257600080fd5b505afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190611994565b94509450945094509450839550505050505090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008082121561179e578161179990612181565b6117a0565b815b9050919050565b6000813590506117b681612393565b92915050565b6000813590506117cb816123aa565b92915050565b6000815190506117e0816123aa565b92915050565b6000813590506117f5816123c1565b92915050565b60008151905061180a816123c1565b92915050565b60008135905061181f816123d8565b92915050565b600081519050611834816123d8565b92915050565b600081519050611849816123ef565b92915050565b60006020828403121561186157600080fd5b600061186f848285016117a7565b91505092915050565b60006020828403121561188a57600080fd5b6000611898848285016117bc565b91505092915050565b6000602082840312156118b357600080fd5b60006118c1848285016117d1565b91505092915050565b600080604083850312156118dd57600080fd5b60006118eb858286016117bc565b92505060206118fc858286016117e6565b9150509250929050565b6000806040838503121561191957600080fd5b6000611927858286016117e6565b9250506020611938858286016117e6565b9150509250929050565b60006020828403121561195457600080fd5b600061196284828501611810565b91505092915050565b60006020828403121561197d57600080fd5b600061198b84828501611825565b91505092915050565b600080600080600060a086880312156119ac57600080fd5b60006119ba8882890161183a565b95505060206119cb888289016117fb565b94505060406119dc88828901611825565b93505060606119ed88828901611825565b92505060806119fe8882890161183a565b9150509295509295909350565b611a14816120d1565b82525050565b611a23816120e3565b82525050565b611a3281612139565b82525050565b611a418161215d565b82525050565b611a50816120ef565b82525050565b6000611a63601e83611d58565b9150611a6e82612228565b602082019050919050565b6000611a86601c83611d58565b9150611a9182612251565b602082019050919050565b6000611aa9601383611d58565b9150611ab48261227a565b602082019050919050565b6000611acc603883611d58565b9150611ad7826122a3565b604082019050919050565b6000611aef601883611d58565b9150611afa826122f2565b602082019050919050565b6000611b12601983611d58565b9150611b1d8261231b565b602082019050919050565b6000611b35602383611d58565b9150611b4082612344565b604082019050919050565b611b5481612119565b82525050565b6000602082019050611b6f6000830184611a0b565b92915050565b6000608082019050611b8a6000830187611a0b565b611b976020830186611a47565b611ba46040830185611a47565b611bb16060830184611a1a565b95945050505050565b6000604082019050611bcf6000830185611a0b565b611bdc6020830184611b4b565b9392505050565b6000602082019050611bf86000830184611a29565b92915050565b6000602082019050611c136000830184611a38565b92915050565b6000602082019050611c2e6000830184611a47565b92915050565b60006020820190508181036000830152611c4d81611a56565b9050919050565b60006020820190508181036000830152611c6d81611a79565b9050919050565b60006020820190508181036000830152611c8d81611a9c565b9050919050565b60006020820190508181036000830152611cad81611abf565b9050919050565b60006020820190508181036000830152611ccd81611ae2565b9050919050565b60006020820190508181036000830152611ced81611b05565b9050919050565b60006020820190508181036000830152611d0d81611b28565b9050919050565b6000602082019050611d296000830184611b4b565b92915050565b6000604082019050611d446000830185611b4b565b611d516020830184611a1a565b9392505050565b600082825260208201905092915050565b6000611d74826120ef565b9150611d7f836120ef565b9250817f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03831360008312151615611dba57611db96121ca565b5b817f8000000000000000000000000000000000000000000000000000000000000000038312600083121615611df257611df16121ca565b5b828201905092915050565b6000611e08826120ef565b9150611e13836120ef565b925082611e2357611e226121f9565b5b600160000383147f800000000000000000000000000000000000000000000000000000000000000083141615611e5c57611e5b6121ca565b5b828205905092915050565b6000611e7282612119565b9150611e7d83612119565b925082611e8d57611e8c6121f9565b5b828204905092915050565b6000611ea3826120ef565b9150611eae836120ef565b9250827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482116000841360008413161615611eed57611eec6121ca565b5b817f80000000000000000000000000000000000000000000000000000000000000000583126000841260008413161615611f2a57611f296121ca565b5b827f80000000000000000000000000000000000000000000000000000000000000000582126000841360008412161615611f6757611f666121ca565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0582126000841260008412161615611fa457611fa36121ca565b5b828202905092915050565b6000611fba82612119565b9150611fc583612119565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611ffe57611ffd6121ca565b5b828202905092915050565b6000612014826120ef565b915061201f836120ef565b9250827f80000000000000000000000000000000000000000000000000000000000000000182126000841215161561205a576120596121ca565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018213600084121615612092576120916121ca565b5b828203905092915050565b60006120a882612119565b91506120b383612119565b9250828210156120c6576120c56121ca565b5b828203905092915050565b60006120dc826120f9565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600069ffffffffffffffffffff82169050919050565b60006121448261214b565b9050919050565b6000612156826120f9565b9050919050565b60006121688261216f565b9050919050565b600061217a826120f9565b9050919050565b600061218c826120ef565b91507f80000000000000000000000000000000000000000000000000000000000000008214156121bf576121be6121ca565b5b816000039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4f6e6c79204d617374657263686965662063616e2077697468647261772e0000600082015250565b7f5265626173656d656e7420616c72656164792065786563757465642e00000000600082015250565b7f50656e64696e67207265626173656d656e742e00000000000000000000000000600082015250565b7f5265626173656d656e742068617320616c7265616479206f636375726564207760008201527f697468696e20746865207061737420313520686f7572732e0000000000000000602082015250565b7f565858207265626173657320646f6e2774206d61746368210000000000000000600082015250565b7f43757272656e7420565858206e6f742070726f76696465642e00000000000000600082015250565b7f496e69746961746f722063616e277420636f6e6669726d207265626173656d6560008201527f6e742e0000000000000000000000000000000000000000000000000000000000602082015250565b61239c816120d1565b81146123a757600080fd5b50565b6123b3816120e3565b81146123be57600080fd5b50565b6123ca816120ef565b81146123d557600080fd5b50565b6123e181612119565b81146123ec57600080fd5b50565b6123f881612123565b811461240357600080fd5b5056fea2646970667358221220771834c65728e56cabaaf13f8d5124f839d385c0907c4afb8407694c582114fe64736f6c6343000804003300000000000000000000000067c597624b17b16fb77959217360b7cd1828425300000000000000000000000036b679bd64ed73dbfd88909cdcb892cb66bd4cbb000000000000000000000000b37ad193017715b33e0ce992dd3b4bbeecc0d97e

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a3804afb1161008c578063e548783b11610066578063e548783b14610203578063f1de71da14610221578063f7c6e81c1461023d578063fff6cae91461025b576100ea565b8063a3804afb146101d1578063c0b042dc146101ef578063e4944f27146101f9576100ea565b80634d4d70cd116100c85780634d4d70cd146101485780635a3b7e42146101795780636835bb541461019757806371c54290146101b5576100ea565b80633102ea70146100ef57806342c7f0c01461010b57806345ba133b14610127575b600080fd5b61010960048036038101906101049190611942565b610279565b005b6101256004803603810190610120919061184f565b61043d565b005b61012f61063b565b60405161013f9493929190611b75565b60405180910390f35b610162600480360381019061015d9190611878565b610686565b604051610170929190611d2f565b60405180910390f35b61018161083a565b60405161018e9190611b5a565b60405180910390f35b61019f610860565b6040516101ac9190611bfe565b60405180910390f35b6101cf60048036038101906101ca9190611906565b610886565b005b6101d9610b67565b6040516101e69190611d14565b60405180910390f35b6101f7610b6d565b005b610201610da0565b005b61020b610fc8565b6040516102189190611c19565b60405180910390f35b61023b600480360381019061023691906118ca565b610fce565b005b6102456116a3565b6040516102529190611c19565b60405180910390f35b61026361175f565b6040516102709190611be3565b60405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103225750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061037a5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806103d25750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061042a5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61043357600080fd5b8060088190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104e65750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061053e5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806105965750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806105ee5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6105f757600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16905084565b6000806000801515841515141561072a576001546402540be4006001546106ab6116a3565b6106b59190612009565b6106bf9190611e98565b6106c99190611dfd565b9050600081126106d957806106dc565b60005b9050600b600201548114610725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071c90611cb4565b60405180910390fd5b610733565b600b6002015490505b600081600b600101546107469190611d69565b905060008082121561075957600061075c565b60015b9050600061076983611785565b905060006402540be40082600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107dc57600080fd5b505afa1580156107f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610814919061196b565b61081e9190611faf565b6108289190611e67565b90508083965096505050505050915091565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061092f5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806109875750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806109df5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610a375750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610a4057600080fd5b60011515600b60030160009054906101000a900460ff16151514610a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9090611c74565b60405180910390fd5b61d2f042610aa7919061209d565b600f5410610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190611c94565b60405180910390fd5b6000600b9050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082816001018190555081816002018190555060008160030160006101000a81548160ff021916908315150217905550505050565b60085481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c165750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610c6e5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610cc65750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610d1e5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d2757600080fd5b60001515600b60030160009054906101000a900460ff16151514610d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7790611c54565b60405180910390fd5b6001600b60030160006101000a81548160ff021916908315150217905550565b732c155e07a1ee62f229c9968b7a903dc69436e3ec73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e2d575073dbd39c1b439ba2588dab47eed41b8456486f4ba573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6390611c34565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f069190611b5a565b60206040518083038186803b158015610f1e57600080fd5b505afa158015610f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f56919061196b565b6040518363ffffffff1660e01b8152600401610f73929190611bba565b602060405180830381600087803b158015610f8d57600080fd5b505af1158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906118a1565b50565b60015481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110775750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806110cf5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806111275750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061117f5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61118857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561121c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121390611cf4565b60405180910390fd5b60001515600b60030160009054906101000a900460ff16151514611275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126c90611c54565b60405180910390fd5b60008015158315151415611324576001546402540be4006001546112976116a3565b6112a19190612009565b6112ab9190611e98565b6112b59190611dfd565b9050600081126112c557806112c8565b60005b9050600b600201548114611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890611cb4565b60405180910390fd5b6113196116a3565b600181905550611378565b600b6002015490506000821415611370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136790611cd4565b60405180910390fd5b816001819055505b6001600b60030160006101000a81548160ff02191690831515021790555042600f81905550600081600b600101546113b09190611d69565b90506000808212156113c35760006113c6565b60015b905060006113d383611785565b905060006402540be40082600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561144657600080fd5b505afa15801561145a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147e919061196b565b6114889190611faf565b6114929190611e67565b9050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd07a2a382856040518363ffffffff1660e01b81526004016114f1929190611d2f565b602060405180830381600087803b15801561150b57600080fd5b505af115801561151f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611543919061196b565b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008546040518363ffffffff1660e01b81526004016115c5929190611bba565b602060405180830381600087803b1580156115df57600080fd5b505af11580156115f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161791906118a1565b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166383b8e1456040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561168257600080fd5b505af1158015611696573d6000803e3d6000fd5b5050505050505050505050565b60008060008060008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561171257600080fd5b505afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190611994565b94509450945094509450839550505050505090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008082121561179e578161179990612181565b6117a0565b815b9050919050565b6000813590506117b681612393565b92915050565b6000813590506117cb816123aa565b92915050565b6000815190506117e0816123aa565b92915050565b6000813590506117f5816123c1565b92915050565b60008151905061180a816123c1565b92915050565b60008135905061181f816123d8565b92915050565b600081519050611834816123d8565b92915050565b600081519050611849816123ef565b92915050565b60006020828403121561186157600080fd5b600061186f848285016117a7565b91505092915050565b60006020828403121561188a57600080fd5b6000611898848285016117bc565b91505092915050565b6000602082840312156118b357600080fd5b60006118c1848285016117d1565b91505092915050565b600080604083850312156118dd57600080fd5b60006118eb858286016117bc565b92505060206118fc858286016117e6565b9150509250929050565b6000806040838503121561191957600080fd5b6000611927858286016117e6565b9250506020611938858286016117e6565b9150509250929050565b60006020828403121561195457600080fd5b600061196284828501611810565b91505092915050565b60006020828403121561197d57600080fd5b600061198b84828501611825565b91505092915050565b600080600080600060a086880312156119ac57600080fd5b60006119ba8882890161183a565b95505060206119cb888289016117fb565b94505060406119dc88828901611825565b93505060606119ed88828901611825565b92505060806119fe8882890161183a565b9150509295509295909350565b611a14816120d1565b82525050565b611a23816120e3565b82525050565b611a3281612139565b82525050565b611a418161215d565b82525050565b611a50816120ef565b82525050565b6000611a63601e83611d58565b9150611a6e82612228565b602082019050919050565b6000611a86601c83611d58565b9150611a9182612251565b602082019050919050565b6000611aa9601383611d58565b9150611ab48261227a565b602082019050919050565b6000611acc603883611d58565b9150611ad7826122a3565b604082019050919050565b6000611aef601883611d58565b9150611afa826122f2565b602082019050919050565b6000611b12601983611d58565b9150611b1d8261231b565b602082019050919050565b6000611b35602383611d58565b9150611b4082612344565b604082019050919050565b611b5481612119565b82525050565b6000602082019050611b6f6000830184611a0b565b92915050565b6000608082019050611b8a6000830187611a0b565b611b976020830186611a47565b611ba46040830185611a47565b611bb16060830184611a1a565b95945050505050565b6000604082019050611bcf6000830185611a0b565b611bdc6020830184611b4b565b9392505050565b6000602082019050611bf86000830184611a29565b92915050565b6000602082019050611c136000830184611a38565b92915050565b6000602082019050611c2e6000830184611a47565b92915050565b60006020820190508181036000830152611c4d81611a56565b9050919050565b60006020820190508181036000830152611c6d81611a79565b9050919050565b60006020820190508181036000830152611c8d81611a9c565b9050919050565b60006020820190508181036000830152611cad81611abf565b9050919050565b60006020820190508181036000830152611ccd81611ae2565b9050919050565b60006020820190508181036000830152611ced81611b05565b9050919050565b60006020820190508181036000830152611d0d81611b28565b9050919050565b6000602082019050611d296000830184611b4b565b92915050565b6000604082019050611d446000830185611b4b565b611d516020830184611a1a565b9392505050565b600082825260208201905092915050565b6000611d74826120ef565b9150611d7f836120ef565b9250817f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03831360008312151615611dba57611db96121ca565b5b817f8000000000000000000000000000000000000000000000000000000000000000038312600083121615611df257611df16121ca565b5b828201905092915050565b6000611e08826120ef565b9150611e13836120ef565b925082611e2357611e226121f9565b5b600160000383147f800000000000000000000000000000000000000000000000000000000000000083141615611e5c57611e5b6121ca565b5b828205905092915050565b6000611e7282612119565b9150611e7d83612119565b925082611e8d57611e8c6121f9565b5b828204905092915050565b6000611ea3826120ef565b9150611eae836120ef565b9250827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482116000841360008413161615611eed57611eec6121ca565b5b817f80000000000000000000000000000000000000000000000000000000000000000583126000841260008413161615611f2a57611f296121ca565b5b827f80000000000000000000000000000000000000000000000000000000000000000582126000841360008412161615611f6757611f666121ca565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0582126000841260008412161615611fa457611fa36121ca565b5b828202905092915050565b6000611fba82612119565b9150611fc583612119565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611ffe57611ffd6121ca565b5b828202905092915050565b6000612014826120ef565b915061201f836120ef565b9250827f80000000000000000000000000000000000000000000000000000000000000000182126000841215161561205a576120596121ca565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018213600084121615612092576120916121ca565b5b828203905092915050565b60006120a882612119565b91506120b383612119565b9250828210156120c6576120c56121ca565b5b828203905092915050565b60006120dc826120f9565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600069ffffffffffffffffffff82169050919050565b60006121448261214b565b9050919050565b6000612156826120f9565b9050919050565b60006121688261216f565b9050919050565b600061217a826120f9565b9050919050565b600061218c826120ef565b91507f80000000000000000000000000000000000000000000000000000000000000008214156121bf576121be6121ca565b5b816000039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4f6e6c79204d617374657263686965662063616e2077697468647261772e0000600082015250565b7f5265626173656d656e7420616c72656164792065786563757465642e00000000600082015250565b7f50656e64696e67207265626173656d656e742e00000000000000000000000000600082015250565b7f5265626173656d656e742068617320616c7265616479206f636375726564207760008201527f697468696e20746865207061737420313520686f7572732e0000000000000000602082015250565b7f565858207265626173657320646f6e2774206d61746368210000000000000000600082015250565b7f43757272656e7420565858206e6f742070726f76696465642e00000000000000600082015250565b7f496e69746961746f722063616e277420636f6e6669726d207265626173656d6560008201527f6e742e0000000000000000000000000000000000000000000000000000000000602082015250565b61239c816120d1565b81146123a757600080fd5b50565b6123b3816120e3565b81146123be57600080fd5b50565b6123ca816120ef565b81146123d557600080fd5b50565b6123e181612119565b81146123ec57600080fd5b50565b6123f881612123565b811461240357600080fd5b5056fea2646970667358221220771834c65728e56cabaaf13f8d5124f839d385c0907c4afb8407694c582114fe64736f6c63430008040033

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

00000000000000000000000067c597624b17b16fb77959217360b7cd1828425300000000000000000000000036b679bd64ed73dbfd88909cdcb892cb66bd4cbb000000000000000000000000b37ad193017715b33e0ce992dd3b4bbeecc0d97e

-----Decoded View---------------
Arg [0] : _benchmark (address): 0x67c597624B17b16fb77959217360B7cD18284253
Arg [1] : _standard (address): 0x36b679bd64Ed73DBfd88909cDCB892cB66Bd4CBb
Arg [2] : _sync (address): 0xb37Ad193017715b33e0cE992dd3B4bBEecc0D97E

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000067c597624b17b16fb77959217360b7cd18284253
Arg [1] : 00000000000000000000000036b679bd64ed73dbfd88909cdcb892cb66bd4cbb
Arg [2] : 000000000000000000000000b37ad193017715b33e0ce992dd3b4bbeecc0d97e


Deployed Bytecode Sourcemap

1947:6777:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8055:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8620:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2304:36;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;6744:879;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2171:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2244:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4333:498;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2201:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7742:196;;;:::i;:::-;;8261:273;;;:::i;:::-;;2028:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5182:1398;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3607:282;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2270:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8055:122;2591:6;;;;;;;;;;;2577:20;;:10;:20;;;:44;;;;2615:6;;;;;;;;;;;2601:20;;:10;:20;;;2577:44;:68;;;;2639:6;;;;;;;;;;;2625:20;;:10;:20;;;2577:68;:92;;;;2663:6;;;;;;;;;;;2649:20;;:10;:20;;;2577:92;:116;;;;2687:6;;;;;;;;;;;2673:20;;:10;:20;;;2577:116;2568:126;;;;;;8153:16:::1;8135:15;:34;;;;8055:122:::0;:::o;8620:101::-;2591:6;;;;;;;;;;;2577:20;;:10;:20;;;:44;;;;2615:6;;;;;;;;;;;2601:20;;:10;:20;;;2577:44;:68;;;;2639:6;;;;;;;;;;;2625:20;;:10;:20;;;2577:68;:92;;;;2663:6;;;;;;;;;;;2649:20;;:10;:20;;;2577:92;:116;;;;2687:6;;;;;;;;;;;2673:20;;:10;:20;;;2577:116;2568:126;;;;;;8707:5:::1;8686:4;;:27;;;;;;;;;;;;;;;;;;8620:101:::0;:::o;2304:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6744:879::-;6807:7;6816:4;6838:22;6890:5;6877:18;;:9;:18;;;6873:385;;;6974:13;;6966:4;6949:13;;6932:14;:12;:14::i;:::-;:30;;;;:::i;:::-;6931:39;;;;:::i;:::-;6930:57;;;;:::i;:::-;6912:75;;7041:1;7023:15;:19;:46;;7054:15;7023:46;;;7049:1;7023:46;7005:64;;7112:17;:27;;;7093:15;:46;7084:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;6873:385;;;7219:17;:27;;;7201:45;;6873:385;7280:23;7336:15;7306:17;:27;;;:45;;;;:::i;:::-;7280:71;;7362:19;7404:1;7384:16;:21;;:36;;7415:5;7384:36;;;7408:4;7384:36;7362:58;;7431:26;7468:21;7472:16;7468:3;:21::i;:::-;7431:59;;7501:19;7563:4;7542:18;7523:2;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:37;;;;:::i;:::-;:44;;;;:::i;:::-;7501:66;;7587:11;7600:14;7580:35;;;;;;;;;6744:879;;;:::o;2171:23::-;;;;;;;;;;;;;:::o;2244:19::-;;;;;;;;;;;;;:::o;4333:498::-;2591:6;;;;;;;;;;;2577:20;;:10;:20;;;:44;;;;2615:6;;;;;;;;;;;2601:20;;:10;:20;;;2577:44;:68;;;;2639:6;;;;;;;;;;;2625:20;;:10;:20;;;2577:68;:92;;;;2663:6;;;;;;;;;;;2649:20;;:10;:20;;;2577:92;:116;;;;2687:6;;;;;;;;;;;2673:20;;:10;:20;;;2577:116;2568:126;;;;;;4469:4:::1;4439:34;;:17;:26;;;;;;;;;;;;:34;;;4430:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4557:5;4539:15;:23;;;;:::i;:::-;4517:18;;:46;4508:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;4637:23;4663:17;4637:43;;4708:10;4692:3;:13;;;:26;;;;;;;;;;;;;;;;;;4745:10;4729:3;:13;;:26;;;;4782:10;4766:3;:13;;:26;;;;4818:5;4803:3;:12;;;:20;;;;;;;;;;;;;;;;;;2705:1;4333:498:::0;;:::o;2201:30::-;;;;:::o;7742:196::-;2591:6;;;;;;;;;;;2577:20;;:10;:20;;;:44;;;;2615:6;;;;;;;;;;;2601:20;;:10;:20;;;2577:44;:68;;;;2639:6;;;;;;;;;;;2625:20;;:10;:20;;;2577:68;:92;;;;2663:6;;;;;;;;;;;2649:20;;:10;:20;;;2577:92;:116;;;;2687:6;;;;;;;;;;;2673:20;;:10;:20;;;2577:116;2568:126;;;;;;7838:5:::1;7808:35;;:17;:26;;;;;;;;;;;;:35;;;7799:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;7926:4;7897:17;:26;;;:33;;;;;;;;;;;;;;;;;;7742:196::o:0;8261:273::-;8326:42;8312:56;;:10;:56;;;:116;;;;8386:42;8372:56;;:10;:56;;;8312:116;8303:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;8474:2;;;;;;;;;;;:11;;;8486:10;8498:2;;;;;;;;;;;:12;;;8519:4;8498:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8474:52;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8261:273::o;2028:27::-;;;;:::o;5182:1398::-;2591:6;;;;;;;;;;;2577:20;;:10;:20;;;:44;;;;2615:6;;;;;;;;;;;2601:20;;:10;:20;;;2577:44;:68;;;;2639:6;;;;;;;;;;;2625:20;;:10;:20;;;2577:68;:92;;;;2663:6;;;;;;;;;;;2649:20;;:10;:20;;;2577:92;:116;;;;2687:6;;;;;;;;;;;2673:20;;:10;:20;;;2577:116;2568:126;;;;;;5316:10:::1;5285:41;;:17;:27;;;;;;;;;;;;:41;;;;5276:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;5416:5;5386:35;;:17;:26;;;;;;;;;;;;:35;;;5377:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;5465:22;5517:5:::0;5504:18:::1;;:9;:18;;;5500:541;;;5601:13;;5593:4;5576:13;;5559:14;:12;:14::i;:::-;:30;;;;:::i;:::-;5558:39;;;;:::i;:::-;5557:57;;;;:::i;:::-;5539:75;;5668:1;5650:15;:19;:46;;5681:15;5650:46;;;5676:1;5650:46;5632:64;;5739:17;:27;;;5720:15;:46;5711:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;5826:14;:12;:14::i;:::-;5810:13;:30;;;;5500:541;;;5891:17;:27;;;5873:45;;5956:1;5941:11;:16;;5933:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;6018:11;6002:13;:27;;;;5500:541;6084:4;6055:17;:26;;;:33;;;;;;;;;;;;;;;;;;6120:15;6099:18;:36;;;;6156:23;6212:15;6182:17;:27;;;:45;;;;:::i;:::-;6156:71;;6238:19;6280:1:::0;6260:16:::1;:21;;:36;;6291:5;6260:36;;;6284:4;6260:36;6238:58;;6307:26;6344:21;6348:16;6344:3;:21::i;:::-;6307:59;;6377:19;6439:4;6418:18;6399:2;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:37;;;;:::i;:::-;:44;;;;:::i;:::-;6377:66;;6456:2;;;;;;;;;;;:9;;;6466:11;6479:14;6456:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6505:2;;;;;;;;;;;:11;;;6517:8;;;;;;;;;;;6527:15;;6505:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6556:4;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2705:1;;;;;5182:1398:::0;;:::o;3607:282::-;3652:3;3683:14;3713:9;3737:14;3766;3795:22;3831:9;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3668:190;;;;;;;;;;3876:5;3869:12;;;;;;;3607:282;:::o;2270:25::-;;;;;;;;;;;;;:::o;3947:84::-;3989:3;4013:1;4008;:6;;:15;;4022:1;4021:2;;;:::i;:::-;4008:15;;;4017:1;4008:15;4001:22;;3947:84;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:137::-;345:5;376:6;370:13;361:22;;392:30;416:5;392:30;:::i;:::-;351:77;;;;:::o;434:137::-;479:5;517:6;504:20;495:29;;533:32;559:5;533:32;:::i;:::-;485:86;;;;:::o;577:141::-;633:5;664:6;658:13;649:22;;680:32;706:5;680:32;:::i;:::-;639:79;;;;:::o;724:139::-;770:5;808:6;795:20;786:29;;824:33;851:5;824:33;:::i;:::-;776:87;;;;:::o;869:143::-;926:5;957:6;951:13;942:22;;973:33;1000:5;973:33;:::i;:::-;932:80;;;;:::o;1018:141::-;1074:5;1105:6;1099:13;1090:22;;1121:32;1147:5;1121:32;:::i;:::-;1080:79;;;;:::o;1165:262::-;1224:6;1273:2;1261:9;1252:7;1248:23;1244:32;1241:2;;;1289:1;1286;1279:12;1241:2;1332:1;1357:53;1402:7;1393:6;1382:9;1378:22;1357:53;:::i;:::-;1347:63;;1303:117;1231:196;;;;:::o;1433:256::-;1489:6;1538:2;1526:9;1517:7;1513:23;1509:32;1506:2;;;1554:1;1551;1544:12;1506:2;1597:1;1622:50;1664:7;1655:6;1644:9;1640:22;1622:50;:::i;:::-;1612:60;;1568:114;1496:193;;;;:::o;1695:278::-;1762:6;1811:2;1799:9;1790:7;1786:23;1782:32;1779:2;;;1827:1;1824;1817:12;1779:2;1870:1;1895:61;1948:7;1939:6;1928:9;1924:22;1895:61;:::i;:::-;1885:71;;1841:125;1769:204;;;;:::o;1979:399::-;2043:6;2051;2100:2;2088:9;2079:7;2075:23;2071:32;2068:2;;;2116:1;2113;2106:12;2068:2;2159:1;2184:50;2226:7;2217:6;2206:9;2202:22;2184:50;:::i;:::-;2174:60;;2130:114;2283:2;2309:52;2353:7;2344:6;2333:9;2329:22;2309:52;:::i;:::-;2299:62;;2254:117;2058:320;;;;;:::o;2384:403::-;2450:6;2458;2507:2;2495:9;2486:7;2482:23;2478:32;2475:2;;;2523:1;2520;2513:12;2475:2;2566:1;2591:52;2635:7;2626:6;2615:9;2611:22;2591:52;:::i;:::-;2581:62;;2537:116;2692:2;2718:52;2762:7;2753:6;2742:9;2738:22;2718:52;:::i;:::-;2708:62;;2663:117;2465:322;;;;;:::o;2793:262::-;2852:6;2901:2;2889:9;2880:7;2876:23;2872:32;2869:2;;;2917:1;2914;2907:12;2869:2;2960:1;2985:53;3030:7;3021:6;3010:9;3006:22;2985:53;:::i;:::-;2975:63;;2931:117;2859:196;;;;:::o;3061:284::-;3131:6;3180:2;3168:9;3159:7;3155:23;3151:32;3148:2;;;3196:1;3193;3186:12;3148:2;3239:1;3264:64;3320:7;3311:6;3300:9;3296:22;3264:64;:::i;:::-;3254:74;;3210:128;3138:207;;;;:::o;3351:904::-;3454:6;3462;3470;3478;3486;3535:3;3523:9;3514:7;3510:23;3506:33;3503:2;;;3552:1;3549;3542:12;3503:2;3595:1;3620:63;3675:7;3666:6;3655:9;3651:22;3620:63;:::i;:::-;3610:73;;3566:127;3732:2;3758:63;3813:7;3804:6;3793:9;3789:22;3758:63;:::i;:::-;3748:73;;3703:128;3870:2;3896:64;3952:7;3943:6;3932:9;3928:22;3896:64;:::i;:::-;3886:74;;3841:129;4009:2;4035:64;4091:7;4082:6;4071:9;4067:22;4035:64;:::i;:::-;4025:74;;3980:129;4148:3;4175:63;4230:7;4221:6;4210:9;4206:22;4175:63;:::i;:::-;4165:73;;4119:129;3493:762;;;;;;;;:::o;4261:118::-;4348:24;4366:5;4348:24;:::i;:::-;4343:3;4336:37;4326:53;;:::o;4385:109::-;4466:21;4481:5;4466:21;:::i;:::-;4461:3;4454:34;4444:50;;:::o;4500:171::-;4607:57;4658:5;4607:57;:::i;:::-;4602:3;4595:70;4585:86;;:::o;4677:163::-;4780:53;4827:5;4780:53;:::i;:::-;4775:3;4768:66;4758:82;;:::o;4846:115::-;4931:23;4948:5;4931:23;:::i;:::-;4926:3;4919:36;4909:52;;:::o;4967:366::-;5109:3;5130:67;5194:2;5189:3;5130:67;:::i;:::-;5123:74;;5206:93;5295:3;5206:93;:::i;:::-;5324:2;5319:3;5315:12;5308:19;;5113:220;;;:::o;5339:366::-;5481:3;5502:67;5566:2;5561:3;5502:67;:::i;:::-;5495:74;;5578:93;5667:3;5578:93;:::i;:::-;5696:2;5691:3;5687:12;5680:19;;5485:220;;;:::o;5711:366::-;5853:3;5874:67;5938:2;5933:3;5874:67;:::i;:::-;5867:74;;5950:93;6039:3;5950:93;:::i;:::-;6068:2;6063:3;6059:12;6052:19;;5857:220;;;:::o;6083:366::-;6225:3;6246:67;6310:2;6305:3;6246:67;:::i;:::-;6239:74;;6322:93;6411:3;6322:93;:::i;:::-;6440:2;6435:3;6431:12;6424:19;;6229:220;;;:::o;6455:366::-;6597:3;6618:67;6682:2;6677:3;6618:67;:::i;:::-;6611:74;;6694:93;6783:3;6694:93;:::i;:::-;6812:2;6807:3;6803:12;6796:19;;6601:220;;;:::o;6827:366::-;6969:3;6990:67;7054:2;7049:3;6990:67;:::i;:::-;6983:74;;7066:93;7155:3;7066:93;:::i;:::-;7184:2;7179:3;7175:12;7168:19;;6973:220;;;:::o;7199:366::-;7341:3;7362:67;7426:2;7421:3;7362:67;:::i;:::-;7355:74;;7438:93;7527:3;7438:93;:::i;:::-;7556:2;7551:3;7547:12;7540:19;;7345:220;;;:::o;7571:118::-;7658:24;7676:5;7658:24;:::i;:::-;7653:3;7646:37;7636:53;;:::o;7695:222::-;7788:4;7826:2;7815:9;7811:18;7803:26;;7839:71;7907:1;7896:9;7892:17;7883:6;7839:71;:::i;:::-;7793:124;;;;:::o;7923:533::-;8090:4;8128:3;8117:9;8113:19;8105:27;;8142:71;8210:1;8199:9;8195:17;8186:6;8142:71;:::i;:::-;8223:70;8289:2;8278:9;8274:18;8265:6;8223:70;:::i;:::-;8303;8369:2;8358:9;8354:18;8345:6;8303:70;:::i;:::-;8383:66;8445:2;8434:9;8430:18;8421:6;8383:66;:::i;:::-;8095:361;;;;;;;:::o;8462:332::-;8583:4;8621:2;8610:9;8606:18;8598:26;;8634:71;8702:1;8691:9;8687:17;8678:6;8634:71;:::i;:::-;8715:72;8783:2;8772:9;8768:18;8759:6;8715:72;:::i;:::-;8588:206;;;;;:::o;8800:262::-;8913:4;8951:2;8940:9;8936:18;8928:26;;8964:91;9052:1;9041:9;9037:17;9028:6;8964:91;:::i;:::-;8918:144;;;;:::o;9068:254::-;9177:4;9215:2;9204:9;9200:18;9192:26;;9228:87;9312:1;9301:9;9297:17;9288:6;9228:87;:::i;:::-;9182:140;;;;:::o;9328:218::-;9419:4;9457:2;9446:9;9442:18;9434:26;;9470:69;9536:1;9525:9;9521:17;9512:6;9470:69;:::i;:::-;9424:122;;;;:::o;9552:419::-;9718:4;9756:2;9745:9;9741:18;9733:26;;9805:9;9799:4;9795:20;9791:1;9780:9;9776:17;9769:47;9833:131;9959:4;9833:131;:::i;:::-;9825:139;;9723:248;;;:::o;9977:419::-;10143:4;10181:2;10170:9;10166:18;10158:26;;10230:9;10224:4;10220:20;10216:1;10205:9;10201:17;10194:47;10258:131;10384:4;10258:131;:::i;:::-;10250:139;;10148:248;;;:::o;10402:419::-;10568:4;10606:2;10595:9;10591:18;10583:26;;10655:9;10649:4;10645:20;10641:1;10630:9;10626:17;10619:47;10683:131;10809:4;10683:131;:::i;:::-;10675:139;;10573:248;;;:::o;10827:419::-;10993:4;11031:2;11020:9;11016:18;11008:26;;11080:9;11074:4;11070:20;11066:1;11055:9;11051:17;11044:47;11108:131;11234:4;11108:131;:::i;:::-;11100:139;;10998:248;;;:::o;11252:419::-;11418:4;11456:2;11445:9;11441:18;11433:26;;11505:9;11499:4;11495:20;11491:1;11480:9;11476:17;11469:47;11533:131;11659:4;11533:131;:::i;:::-;11525:139;;11423:248;;;:::o;11677:419::-;11843:4;11881:2;11870:9;11866:18;11858:26;;11930:9;11924:4;11920:20;11916:1;11905:9;11901:17;11894:47;11958:131;12084:4;11958:131;:::i;:::-;11950:139;;11848:248;;;:::o;12102:419::-;12268:4;12306:2;12295:9;12291:18;12283:26;;12355:9;12349:4;12345:20;12341:1;12330:9;12326:17;12319:47;12383:131;12509:4;12383:131;:::i;:::-;12375:139;;12273:248;;;:::o;12527:222::-;12620:4;12658:2;12647:9;12643:18;12635:26;;12671:71;12739:1;12728:9;12724:17;12715:6;12671:71;:::i;:::-;12625:124;;;;:::o;12755:320::-;12870:4;12908:2;12897:9;12893:18;12885:26;;12921:71;12989:1;12978:9;12974:17;12965:6;12921:71;:::i;:::-;13002:66;13064:2;13053:9;13049:18;13040:6;13002:66;:::i;:::-;12875:200;;;;;:::o;13081:169::-;13165:11;13199:6;13194:3;13187:19;13239:4;13234:3;13230:14;13215:29;;13177:73;;;;:::o;13256:525::-;13295:3;13314:19;13331:1;13314:19;:::i;:::-;13309:24;;13347:19;13364:1;13347:19;:::i;:::-;13342:24;;13535:1;13467:66;13463:74;13460:1;13456:82;13451:1;13448;13444:9;13437:17;13433:106;13430:2;;;13542:18;;:::i;:::-;13430:2;13722:1;13654:66;13650:74;13647:1;13643:82;13639:1;13636;13632:9;13628:98;13625:2;;;13729:18;;:::i;:::-;13625:2;13773:1;13770;13766:9;13759:16;;13299:482;;;;:::o;13787:385::-;13826:1;13843:19;13860:1;13843:19;:::i;:::-;13838:24;;13876:19;13893:1;13876:19;:::i;:::-;13871:24;;13914:1;13904:2;;13919:18;;:::i;:::-;13904:2;14105:1;14102;14098:9;14095:1;14092:16;14011:66;14008:1;14005:73;13988:130;13985:2;;;14121:18;;:::i;:::-;13985:2;14164:1;14161;14156:10;14151:15;;13828:344;;;;:::o;14178:185::-;14218:1;14235:20;14253:1;14235:20;:::i;:::-;14230:25;;14269:20;14287:1;14269:20;:::i;:::-;14264:25;;14308:1;14298:2;;14313:18;;:::i;:::-;14298:2;14355:1;14352;14348:9;14343:14;;14220:143;;;;:::o;14369:991::-;14408:7;14431:19;14448:1;14431:19;:::i;:::-;14426:24;;14464:19;14481:1;14464:19;:::i;:::-;14459:24;;14665:1;14597:66;14593:74;14590:1;14587:81;14582:1;14579;14575:9;14571:1;14568;14564:9;14560:25;14556:113;14553:2;;;14672:18;;:::i;:::-;14553:2;14876:1;14808:66;14803:75;14800:1;14796:83;14791:1;14788;14784:9;14780:1;14777;14773:9;14769:25;14765:115;14762:2;;;14883:18;;:::i;:::-;14762:2;15087:1;15019:66;15014:75;15011:1;15007:83;15002:1;14999;14995:9;14991:1;14988;14984:9;14980:25;14976:115;14973:2;;;15094:18;;:::i;:::-;14973:2;15297:1;15229:66;15224:75;15221:1;15217:83;15212:1;15209;15205:9;15201:1;15198;15194:9;15190:25;15186:115;15183:2;;;15304:18;;:::i;:::-;15183:2;15352:1;15349;15345:9;15334:20;;14416:944;;;;:::o;15366:348::-;15406:7;15429:20;15447:1;15429:20;:::i;:::-;15424:25;;15463:20;15481:1;15463:20;:::i;:::-;15458:25;;15651:1;15583:66;15579:74;15576:1;15573:81;15568:1;15561:9;15554:17;15550:105;15547:2;;;15658:18;;:::i;:::-;15547:2;15706:1;15703;15699:9;15688:20;;15414:300;;;;:::o;15720:527::-;15759:4;15779:19;15796:1;15779:19;:::i;:::-;15774:24;;15812:19;15829:1;15812:19;:::i;:::-;15807:24;;16001:1;15933:66;15929:74;15926:1;15922:82;15917:1;15914;15910:9;15903:17;15899:106;15896:2;;;16008:18;;:::i;:::-;15896:2;16187:1;16119:66;16115:74;16112:1;16108:82;16104:1;16101;16097:9;16093:98;16090:2;;;16194:18;;:::i;:::-;16090:2;16239:1;16236;16232:9;16224:17;;15764:483;;;;:::o;16253:191::-;16293:4;16313:20;16331:1;16313:20;:::i;:::-;16308:25;;16347:20;16365:1;16347:20;:::i;:::-;16342:25;;16386:1;16383;16380:8;16377:2;;;16391:18;;:::i;:::-;16377:2;16436:1;16433;16429:9;16421:17;;16298:146;;;;:::o;16450:96::-;16487:7;16516:24;16534:5;16516:24;:::i;:::-;16505:35;;16495:51;;;:::o;16552:90::-;16586:7;16629:5;16622:13;16615:21;16604:32;;16594:48;;;:::o;16648:76::-;16684:7;16713:5;16702:16;;16692:32;;;:::o;16730:126::-;16767:7;16807:42;16800:5;16796:54;16785:65;;16775:81;;;:::o;16862:77::-;16899:7;16928:5;16917:16;;16907:32;;;:::o;16945:105::-;16981:7;17021:22;17014:5;17010:34;16999:45;;16989:61;;;:::o;17056:166::-;17126:9;17159:57;17210:5;17159:57;:::i;:::-;17146:70;;17136:86;;;:::o;17228:133::-;17298:9;17331:24;17349:5;17331:24;:::i;:::-;17318:37;;17308:53;;;:::o;17367:158::-;17433:9;17466:53;17513:5;17466:53;:::i;:::-;17453:66;;17443:82;;;:::o;17531:129::-;17597:9;17630:24;17648:5;17630:24;:::i;:::-;17617:37;;17607:53;;;:::o;17666:228::-;17701:3;17724:23;17741:5;17724:23;:::i;:::-;17715:32;;17769:66;17762:5;17759:77;17756:2;;;17839:18;;:::i;:::-;17756:2;17882:5;17879:1;17875:13;17868:20;;17705:189;;;:::o;17900:180::-;17948:77;17945:1;17938:88;18045:4;18042:1;18035:15;18069:4;18066:1;18059:15;18086:180;18134:77;18131:1;18124:88;18231:4;18228:1;18221:15;18255:4;18252:1;18245:15;18272:180;18412:32;18408:1;18400:6;18396:14;18389:56;18378:74;:::o;18458:178::-;18598:30;18594:1;18586:6;18582:14;18575:54;18564:72;:::o;18642:169::-;18782:21;18778:1;18770:6;18766:14;18759:45;18748:63;:::o;18817:243::-;18957:34;18953:1;18945:6;18941:14;18934:58;19026:26;19021:2;19013:6;19009:15;19002:51;18923:137;:::o;19066:174::-;19206:26;19202:1;19194:6;19190:14;19183:50;19172:68;:::o;19246:175::-;19386:27;19382:1;19374:6;19370:14;19363:51;19352:69;:::o;19427:222::-;19567:34;19563:1;19555:6;19551:14;19544:58;19636:5;19631:2;19623:6;19619:15;19612:30;19533:116;:::o;19655:122::-;19728:24;19746:5;19728:24;:::i;:::-;19721:5;19718:35;19708:2;;19767:1;19764;19757:12;19708:2;19698:79;:::o;19783:116::-;19853:21;19868:5;19853:21;:::i;:::-;19846:5;19843:32;19833:2;;19889:1;19886;19879:12;19833:2;19823:76;:::o;19905:120::-;19977:23;19994:5;19977:23;:::i;:::-;19970:5;19967:34;19957:2;;20015:1;20012;20005:12;19957:2;19947:78;:::o;20031:122::-;20104:24;20122:5;20104:24;:::i;:::-;20097:5;20094:35;20084:2;;20143:1;20140;20133:12;20084:2;20074:79;:::o;20159:120::-;20231:23;20248:5;20231:23;:::i;:::-;20224:5;20221:34;20211:2;;20269:1;20266;20259:12;20211:2;20201:78;:::o

Swarm Source

ipfs://771834c65728e56cabaaf13f8d5124f839d385c0907c4afb8407694c582114fe

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.