ETH Price: $3,107.42 (+0.23%)
Gas: 3 Gwei

Contract

0x6Aa30A9619BFc5E539AEaF1027B5Cc259A120178
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Yank91165812019-12-16 17:26:451615 days ago1576517205IN
Orchid: Old Contract
0 ETH0.000050351.1
Pull91113612019-12-15 16:53:351616 days ago1576428815IN
Orchid: Old Contract
0 ETH0.000079431.1
Warn91113562019-12-15 16:51:561616 days ago1576428716IN
Orchid: Old Contract
0 ETH0.000051711.1
Warn91113432019-12-15 16:48:081616 days ago1576428488IN
Orchid: Old Contract
0 ETH0.000051711.1
Push91041672019-12-14 7:06:581617 days ago1576307218IN
Orchid: Old Contract
0 ETH0.000379443.15
Grab91008502019-12-13 16:05:431618 days ago1576253143IN
Orchid: Old Contract
0 ETH0.0008303410
Grab91002482019-12-13 13:24:331618 days ago1576243473IN
Orchid: Old Contract
0 ETH0.0008303410
Push90995482019-12-13 10:21:301618 days ago1576232490IN
Orchid: Old Contract
0 ETH0.00060235
Push90995392019-12-13 10:18:361618 days ago1576232316IN
Orchid: Old Contract
0 ETH0.00060235
Push90989702019-12-13 7:52:301618 days ago1576223550IN
Orchid: Old Contract
0 ETH0.000198076
Push90989702019-12-13 7:52:301618 days ago1576223550IN
Orchid: Old Contract
0 ETH0.000668736
Push90988692019-12-13 7:21:301618 days ago1576221690IN
Orchid: Old Contract
0 ETH0.000632275
Push90970322019-12-12 23:35:141619 days ago1576193714IN
Orchid: Old Contract
0 ETH0.000111451
Yank90970202019-12-12 23:30:411619 days ago1576193441IN
Orchid: Old Contract
0 ETH0.000030771
Grab90938892019-12-12 10:26:341619 days ago1576146394IN
Orchid: Old Contract
0 ETH0.0008302210
Grab90938572019-12-12 10:18:251619 days ago1576145905IN
Orchid: Old Contract
0 ETH0.0008299810
Grab90937682019-12-12 9:54:211619 days ago1576144461IN
Orchid: Old Contract
0 ETH0.0008303410
Grab90906062019-12-11 20:32:541620 days ago1576096374IN
Orchid: Old Contract
0 ETH0.0008303410
Grab90906062019-12-11 20:32:541620 days ago1576096374IN
Orchid: Old Contract
0 ETH0.0008304610
Grab90906042019-12-11 20:31:451620 days ago1576096305IN
Orchid: Old Contract
0 ETH0.0008303410
Push90905972019-12-11 20:30:451620 days ago1576096245IN
Orchid: Old Contract
0 ETH0.000192912
Push90905972019-12-11 20:30:451620 days ago1576096245IN
Orchid: Old Contract
0 ETH0.000126451
Push90905612019-12-11 20:22:071620 days ago1576095727IN
Orchid: Old Contract
0 ETH0.000213991.92
Push90905542019-12-11 20:20:231620 days ago1576095623IN
Orchid: Old Contract
0 ETH0.000133731.2
Push90904922019-12-11 20:02:451620 days ago1576094565IN
Orchid: Old Contract
0 ETH0.000222912
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:
OrchidLottery

Compiler Version
v0.5.13+commit.5b0b510c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
File 1 of 1 : lottery.sol
/* Orchid - WebRTC P2P VPN Market (on Ethereum)
 * Copyright (C) 2017-2019  The Orchid Authors
*/

/* GNU Affero General Public License, Version 3 {{{ */
/*
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.

 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
**/
/* }}} */


pragma solidity 0.5.13;

interface IERC20 {
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

interface OrchidVerifier {
    function book(bytes calldata shared, address target, bytes calldata receipt) external pure;
}

contract OrchidLottery {

    IERC20 internal token_;

    constructor(IERC20 token) public {
        token_ = token;
    }

    function what() external view returns (IERC20) {
        return token_;
    }


    struct Pot {
        uint256 offset_;

        uint128 amount_;
        uint128 escrow_;

        uint256 unlock_;

        OrchidVerifier verify_;
        bytes32 codehash_;
        bytes shared_;
    }

    event Update(address indexed funder, address indexed signer, uint128 amount, uint128 escrow, uint256 unlock);

    function send(address funder, address signer, Pot storage pot) private {
        emit Update(funder, signer, pot.amount_, pot.escrow_, pot.unlock_);
    }


    struct Lottery {
        address[] keys_;
        mapping(address => Pot) pots_;
    }

    mapping(address => Lottery) internal lotteries_;


    function find(address funder, address signer) private view returns (Pot storage) {
        return lotteries_[funder].pots_[signer];
    }

    function kill(address signer) external {
        address funder = msg.sender;
        Lottery storage lottery = lotteries_[funder];
        Pot storage pot = lottery.pots_[signer];
        require(pot.offset_ != 0);
        if (pot.verify_ != OrchidVerifier(0))
            emit Bound(funder, signer);
        address key = lottery.keys_[lottery.keys_.length - 1];
        lottery.pots_[key].offset_ = pot.offset_;
        lottery.keys_[pot.offset_ - 1] = key;
        --lottery.keys_.length;
        delete lottery.pots_[signer];
        send(funder, signer, pot);
    }


    function size(address funder) external view returns (uint256) {
        return lotteries_[funder].keys_.length;
    }

    function keys(address funder) external view returns (address[] memory) {
        return lotteries_[funder].keys_;
    }

    function seek(address funder, uint256 offset) external view returns (address) {
        return lotteries_[funder].keys_[offset];
    }

    function page(address funder, uint256 offset, uint256 count) external view returns (address[] memory) {
        address[] storage all = lotteries_[funder].keys_;
        require(offset <= all.length);
        if (count > all.length - offset)
            count = all.length - offset;
        address[] memory slice = new address[](count);
        for (uint256 i = 0; i != count; ++i)
            slice[i] = all[offset + i];
        return slice;
    }


    function look(address funder, address signer) external view returns (uint128, uint128, uint256, OrchidVerifier, bytes32, bytes memory) {
        Pot storage pot = lotteries_[funder].pots_[signer];
        return (pot.amount_, pot.escrow_, pot.unlock_, pot.verify_, pot.codehash_, pot.shared_);
    }


    event Create(address indexed funder, address indexed signer);

    function push(address signer, uint128 total, uint128 escrow) external {
        address funder = msg.sender;
        require(total >= escrow);
        Pot storage pot = find(funder, signer);
        if (pot.offset_ == 0) {
            pot.offset_ = lotteries_[funder].keys_.push(signer);
            emit Create(funder, signer);
        }
        pot.amount_ += total - escrow;
        pot.escrow_ += escrow;
        send(funder, signer, pot);
        require(token_.transferFrom(funder, address(this), total));
    }

    function move(address signer, uint128 amount) external {
        address funder = msg.sender;
        Pot storage pot = find(funder, signer);
        require(pot.amount_ >= amount);
        pot.amount_ -= amount;
        pot.escrow_ += amount;
        send(funder, signer, pot);
    }

    function burn(address signer, uint128 escrow) external {
        address funder = msg.sender;
        Pot storage pot = find(funder, signer);
        if (escrow > pot.escrow_)
            escrow = pot.escrow_;
        pot.escrow_ -= escrow;
        send(funder, signer, pot);
    }

    event Bound(address indexed funder, address indexed signer);

    function bind(address signer, OrchidVerifier verify, bytes calldata shared) external {
        address funder = msg.sender;
        Pot storage pot = find(funder, signer);
        require(pot.escrow_ == 0);

        bytes32 codehash;
        assembly { codehash := extcodehash(verify) }

        pot.verify_ = verify;
        pot.codehash_ = codehash;
        pot.shared_ = shared;

        emit Bound(funder, signer);
    }


    struct Track {
        uint256 until_;
    }

    mapping(address => mapping(bytes32 => Track)) internal tracks_;


    function take(address funder, address signer, address payable recipient, uint128 amount, bytes memory receipt) private {
        Pot storage pot = find(funder, signer);

        uint128 cache = pot.amount_;

        if (cache >= amount) {
            cache -= amount;
            pot.amount_ = cache;
            emit Update(funder, signer, cache, pot.escrow_, pot.unlock_);
        } else {
            amount = cache;
            pot.amount_ = 0;
            pot.escrow_ = 0;
            emit Update(funder, signer, 0, 0, pot.unlock_);
        }

        OrchidVerifier verify = pot.verify_;
        bytes32 codehash;
        bytes memory shared;
        if (verify != OrchidVerifier(0)) {
            codehash = pot.codehash_;
            shared = pot.shared_;
        }

        if (amount != 0)
            require(token_.transfer(recipient, amount));

        if (verify != OrchidVerifier(0)) {
            bytes32 current; assembly { current := extcodehash(verify) }
            if (codehash == current)
                verify.book(shared, recipient, receipt);
        }
    }

    // the arguments to this function are carefully ordered for stack depth optimization
    // this function was marked public, instead of external, for lower stack depth usage
    function grab(
        bytes32 reveal, bytes32 commit,
        uint256 issued, bytes32 nonce,
        uint8 v, bytes32 r, bytes32 s,
        uint128 amount, uint128 ratio,
        uint256 start, uint128 range,
        address funder, address payable recipient,
        bytes memory receipt, bytes32[] memory old
    ) public {
        require(keccak256(abi.encode(reveal)) == commit);
        require(uint128(uint256(keccak256(abi.encode(reveal, nonce)))) <= ratio);

        // this variable is being reused because I do not have even one extra stack slot
        bytes32 ticket; assembly { ticket := chainid() }
        // keccak256("Orchid.grab") == 0x8b988a5483b8a95aa306ba150c9513d5565a0eee358bc4b35b29425708700645
        ticket = keccak256(abi.encode(bytes32(uint256(0x8b988a5483b8a95aa306ba150c9513d5565a0eee358bc4b35b29425708700645)),
            commit, issued, nonce, address(this), ticket, amount, ratio, start, range, funder, recipient, receipt));
        address signer = ecrecover(keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", ticket)), v, r, s);
        require(signer != address(0));

        {
            mapping(bytes32 => Track) storage tracks = tracks_[recipient];

            {
                Track storage track = tracks[keccak256(abi.encode(signer, ticket))];
                uint256 until = start + range;
                require(until > block.timestamp);
                require(track.until_ == 0);
                track.until_ = until;
            }

            for (uint256 i = 0; i != old.length; ++i) {
                Track storage track = tracks[old[i]];
                if (track.until_ <= block.timestamp)
                    delete track.until_;
            }
        }

        if (start < block.timestamp) {
            uint128 limit = uint128(uint256(amount) * (range - (block.timestamp - start)) / range);
            if (amount > limit)
                amount = limit;
        }

        take(funder, signer, recipient, amount, receipt);
    }

    function give(address funder, address payable recipient, uint128 amount, bytes calldata receipt) external {
        address signer = msg.sender;
        take(funder, signer, recipient, amount, receipt);
    }


    function warn(address signer) external {
        address funder = msg.sender;
        Pot storage pot = find(funder, signer);
        pot.unlock_ = block.timestamp + 1 days;
        send(funder, signer, pot);
    }

    function lock(address signer) external {
        address funder = msg.sender;
        Pot storage pot = find(funder, signer);
        pot.unlock_ = 0;
        send(funder, signer, pot);
    }

    function pull(address signer, address payable target, bool autolock, uint128 amount, uint128 escrow) external {
        address funder = msg.sender;
        Pot storage pot = find(funder, signer);
        if (amount > pot.amount_)
            amount = pot.amount_;
        if (escrow > pot.escrow_)
            escrow = pot.escrow_;
        if (escrow != 0)
            require(pot.unlock_ - 1 < block.timestamp);
        uint128 total = amount + escrow;
        pot.amount_ -= amount;
        pot.escrow_ -= escrow;
        if (autolock && pot.escrow_ == 0)
            pot.unlock_ = 0;
        send(funder, signer, pot);
        if (total != 0)
            require(token_.transfer(target, total));
    }

    function yank(address signer, address payable target, bool autolock) external {
        address funder = msg.sender;
        Pot storage pot = find(funder, signer);
        if (pot.escrow_ != 0)
            require(pot.unlock_ - 1 < block.timestamp);
        uint128 total = pot.amount_ + pot.escrow_;
        pot.amount_ = 0;
        pot.escrow_ = 0;
        if (autolock)
            pot.unlock_ = 0;
        send(funder, signer, pot);
        require(token_.transfer(target, total));
    }
}

Settings
{
  "evmVersion": "istanbul",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"funder","type":"address"},{"indexed":true,"internalType":"address","name":"signer","type":"address"}],"name":"Bound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"funder","type":"address"},{"indexed":true,"internalType":"address","name":"signer","type":"address"}],"name":"Create","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"funder","type":"address"},{"indexed":true,"internalType":"address","name":"signer","type":"address"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"escrow","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"unlock","type":"uint256"}],"name":"Update","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"contract OrchidVerifier","name":"verify","type":"address"},{"internalType":"bytes","name":"shared","type":"bytes"}],"name":"bind","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint128","name":"escrow","type":"uint128"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"funder","type":"address"},{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"bytes","name":"receipt","type":"bytes"}],"name":"give","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"reveal","type":"bytes32"},{"internalType":"bytes32","name":"commit","type":"bytes32"},{"internalType":"uint256","name":"issued","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint128","name":"ratio","type":"uint128"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint128","name":"range","type":"uint128"},{"internalType":"address","name":"funder","type":"address"},{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"bytes","name":"receipt","type":"bytes"},{"internalType":"bytes32[]","name":"old","type":"bytes32[]"}],"name":"grab","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"}],"name":"keys","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"},{"internalType":"address","name":"signer","type":"address"}],"name":"look","outputs":[{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"contract OrchidVerifier","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"move","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"},{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"page","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address payable","name":"target","type":"address"},{"internalType":"bool","name":"autolock","type":"bool"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint128","name":"escrow","type":"uint128"}],"name":"pull","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"uint128","name":"total","type":"uint128"},{"internalType":"uint128","name":"escrow","type":"uint128"}],"name":"push","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"},{"internalType":"uint256","name":"offset","type":"uint256"}],"name":"seek","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"funder","type":"address"}],"name":"size","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"warn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"what","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address payable","name":"target","type":"address"},{"internalType":"bool","name":"autolock","type":"bool"}],"name":"yank","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516130473803806130478339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050612fb3806100946000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806373fb4644116100a2578063cbf0b0c011610071578063cbf0b0c014610985578063dc9efbab146109c9578063e53b3f6d14610a9e578063f435f5a714610ae2578063f8825a0c14610b265761010b565b806373fb4644146107bf578063889870681461083b578063a6cbd6e314610893578063b24bb8451461093b5761010b565b8063670d14b2116100de578063670d14b21461058b5780636bbe03cf146106245780636cc20fc0146106b25780637261e4691461075f5761010b565b8063043d695f146101105780631554ad5d146101705780635f51b34e146102e457806366458bbd14610354575b600080fd5b61016e6004803603604081101561012657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050610bdf565b005b6101d26004803603604081101561018657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d0c565b60405180876fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001866fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102a4578082015181840152602081019050610289565b50505050905090810190601f1680156102d15780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b610352600480360360608110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610ec1565b005b61058960048036036101e081101561036b57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111640100000000831117156104a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561050657600080fd5b82018360208201111561051857600080fd5b8035906020019184602083028401116401000000008311171561053a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611103565b005b6105cd600480360360208110156105a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611681565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106105780820151818401526020810190506105f5565b505050509050019250505060405180910390f35b6106706004803603604081101561063a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611751565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610708600480360360608110156106c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506117d3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561074b578082015181840152602081019050610730565b505050509050019250505060405180910390f35b6107bd6004803603604081101561077557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919050505061191c565b005b610839600480360360608110156107d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611a0c565b005b61087d6004803603602081101561085157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d63565b6040518082815260200191505060405180910390f35b610939600480360360a08110156108a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611db2565b005b61094361210f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109c76004803603602081101561099b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612138565b005b610a9c600480360360808110156109df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610a5857600080fd5b820183602082011115610a6a57600080fd5b80359060200191846001830284011164010000000083111715610a8c57600080fd5b9091929391929390505050612480565b005b610ae060048036036020811015610ab457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124de565b005b610b2460048036036020811015610af857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061250f565b005b610bdd60048036036060811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610b9957600080fd5b820183602082011115610bab57600080fd5b80359060200191846001830284011164010000000083111715610bcd57600080fd5b909192939192939050505061253c565b005b60003390506000610bf08285612657565b9050826fffffffffffffffffffffffffffffffff168160010160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161015610c4357600080fd5b828160010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610d068285836126e0565b50505050565b600080600080600060606000600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a90046fffffffffffffffffffffffffffffffff168160010160109054906101000a90046fffffffffffffffffffffffffffffffff1682600201548360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846004015485600501808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ea35780601f10610e7857610100808354040283529160200191610ea3565b820191906000526020600020905b815481529060010190602001808311610e8657829003601f168201915b50505050509050965096509650965096509650509295509295509295565b60003390506000610ed28286612657565b905060008160010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614610f225742600182600201540310610f2157600080fd5b5b60008160010160109054906101000a90046fffffffffffffffffffffffffffffffff168260010160009054906101000a90046fffffffffffffffffffffffffffffffff1601905060008260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060008260010160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508315610ff257600082600201819055505b610ffd8387846126e0565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156110b757600080fd5b505af11580156110cb573d6000803e3d6000fd5b505050506040513d60208110156110e157600080fd5b81019080805190602001909291905050506110fb57600080fd5b505050505050565b8d8f60405160200180828152602001915050604051602081830303815290604052805190602001201461113557600080fd5b866fffffffffffffffffffffffffffffffff168f8d60405160200180838152602001828152602001925050506040516020818303038152906040528051906020012060001c6fffffffffffffffffffffffffffffffff16111561119757600080fd5b60004690507f8b988a5483b8a95aa306ba150c9513d5565a0eee358bc4b35b2942570870064560001b8f8f8f30858e8e8e8e8e8e8e604051602001808e81526020018d81526020018c81526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001898152602001886fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001876fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001868152602001856fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561134757808201518184015260208101905061132c565b50505050905090810190601f1680156113745780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050604051602081830303815290604052805190602001209050600060018260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001208e8e8e60405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561144a573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561149057600080fd5b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160008486604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405160208183030381529060405280519060200120815260200190815260200160002090506000896fffffffffffffffffffffffffffffffff168b01905042811161156857600080fd5b600082600001541461157957600080fd5b808260000181905550505060008090505b845181146115db5760008260008784815181106115a357fe5b602002602001015181526020019081526020016000209050428160000154116115cf5780600001600090555b5080600101905061158a565b505042881015611661576000876fffffffffffffffffffffffffffffffff16894203896fffffffffffffffffffffffffffffffff16038c6fffffffffffffffffffffffffffffffff16028161162c57fe5b049050806fffffffffffffffffffffffffffffffff168b6fffffffffffffffffffffffffffffffff16111561165f57809a505b505b61166e8682878d886127e6565b5050505050505050505050505050505050565b6060600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561174557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116116fb575b50505050509050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106117a057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60606000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019050808054905084111561182c57600080fd5b83818054905003831115611844578381805490500392505b6060836040519080825280602002602001820160405280156118755781602001602082028038833980820191505090505b50905060008090505b84811461190f57828187018154811061189357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168282815181106118ca57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080600101905061187e565b5080925050509392505050565b6000339050600061192d8285612657565b90508060010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff16111561199f578060010160109054906101000a90046fffffffffffffffffffffffffffffffff1692505b828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611a068285836126e0565b50505050565b6000339050816fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161015611a4257600080fd5b6000611a4e8286612657565b9050600081600001541415611b6557600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600001819055508473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f96b5b9b8a7193304150caccf9b80d150675fa3d6af57761d8d8ef1d6f9a1a90960405160405180910390a35b8284038160010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611c2a8286836126e0565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8330876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611d1857600080fd5b505af1158015611d2c573d6000803e3d6000fd5b505050506040513d6020811015611d4257600080fd5b8101908080519060200190929190505050611d5c57600080fd5b5050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b60003390506000611dc38288612657565b90508060010160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16846fffffffffffffffffffffffffffffffff161115611e35578060010160009054906101000a90046fffffffffffffffffffffffffffffffff1693505b8060010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161115611ea5578060010160109054906101000a90046fffffffffffffffffffffffffffffffff1692505b6000836fffffffffffffffffffffffffffffffff1614611ed35742600182600201540310611ed257600080fd5b5b60008385019050848260010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550838260010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550858015611fd1575060008260010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16145b15611fe157600082600201819055505b611fec8389846126e0565b6000816fffffffffffffffffffffffffffffffff1614612105576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156120c057600080fd5b505af11580156120d4573d6000803e3d6000fd5b505050506040513d60208110156120ea57600080fd5b810190808051906020019092919050505061210457600080fd5b5b5050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60003390506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015414156121d757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461228a578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0d128562eaa47ab89086803e64a0f96847c0ed3cc63c26251f29ba1aede09d4e60405160405180910390a35b6000826000016001846000018054905003815481106122a557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600001548360010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550808360000160018460000154038154811061233657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260000180546001900390816123949190612e65565b508260010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556001820160106101000a8154906fffffffffffffffffffffffffffffffff021916905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600482016000905560058201600061246c9190612e91565b50506124798486846126e0565b5050505050565b60003390506124d68682878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506127e6565b505050505050565b600033905060006124ef8284612657565b9050620151804201816002018190555061250a8284836126e0565b505050565b600033905060006125208284612657565b9050600081600201819055506125378284836126e0565b505050565b6000339050600061254d8287612657565b905060008160010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161461258e57600080fd5b6000853f9050858260030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080826004018190555084848360050191906125f3929190612ed9565b508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0d128562eaa47ab89086803e64a0f96847c0ed3cc63c26251f29ba1aede09d4e60405160405180910390a350505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc8360010160009054906101000a90046fffffffffffffffffffffffffffffffff168460010160109054906101000a90046fffffffffffffffffffffffffffffffff16856002015460405180846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a3505050565b60006127f28686612657565b905060008160010160009054906101000a90046fffffffffffffffffffffffffffffffff169050836fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161061296a578381039050808260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc838560010160109054906101000a90046fffffffffffffffffffffffffffffffff16866002015460405180846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a3612a84565b80935060008260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060008260010160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc600080866002015460405180846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a35b60008260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060006060600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612b8c5784600401549150846005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b845780601f10612b5957610100808354040283529160200191612b84565b820191906000526020600020905b815481529060010190602001808311612b6757829003601f168201915b505050505090505b6000876fffffffffffffffffffffffffffffffff1614612ca5576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015612c6057600080fd5b505af1158015612c74573d6000803e3d6000fd5b505050506040513d6020811015612c8a57600080fd5b8101908080519060200190929190505050612ca457600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612e59576000833f905080831415612e57578373ffffffffffffffffffffffffffffffffffffffff1663fe4e5b96838b8a6040518463ffffffff1660e01b815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001838103835286818151815260200191508051906020019080838360005b83811015612d8b578082015181840152602081019050612d70565b50505050905090810190601f168015612db85780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612df1578082015181840152602081019050612dd6565b50505050905090810190601f168015612e1e5780820380516001836020036101000a031916815260200191505b509550505050505060006040518083038186803b158015612e3e57600080fd5b505afa158015612e52573d6000803e3d6000fd5b505050505b505b50505050505050505050565b815481835581811115612e8c57818360005260206000209182019101612e8b9190612f59565b5b505050565b50805460018160011615610100020316600290046000825580601f10612eb75750612ed6565b601f016020900490600052602060002090810190612ed59190612f59565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f1a57803560ff1916838001178555612f48565b82800160010185558215612f48579182015b82811115612f47578235825591602001919060010190612f2c565b5b509050612f559190612f59565b5090565b612f7b91905b80821115612f77576000816000905550600101612f5f565b5090565b9056fea265627a7a72315820a058ee676592f8953f0e1547c21eac005a0f5f2b92315e6ed389b6071d95570f64736f6c634300050d00320000000000000000000000004575f41308ec1483f3d399aa9a2826d74da13deb

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806373fb4644116100a2578063cbf0b0c011610071578063cbf0b0c014610985578063dc9efbab146109c9578063e53b3f6d14610a9e578063f435f5a714610ae2578063f8825a0c14610b265761010b565b806373fb4644146107bf578063889870681461083b578063a6cbd6e314610893578063b24bb8451461093b5761010b565b8063670d14b2116100de578063670d14b21461058b5780636bbe03cf146106245780636cc20fc0146106b25780637261e4691461075f5761010b565b8063043d695f146101105780631554ad5d146101705780635f51b34e146102e457806366458bbd14610354575b600080fd5b61016e6004803603604081101561012657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050610bdf565b005b6101d26004803603604081101561018657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d0c565b60405180876fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001866fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102a4578082015181840152602081019050610289565b50505050905090810190601f1680156102d15780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b610352600480360360608110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610ec1565b005b61058960048036036101e081101561036b57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111640100000000831117156104a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561050657600080fd5b82018360208201111561051857600080fd5b8035906020019184602083028401116401000000008311171561053a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611103565b005b6105cd600480360360208110156105a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611681565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106105780820151818401526020810190506105f5565b505050509050019250505060405180910390f35b6106706004803603604081101561063a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611751565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610708600480360360608110156106c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506117d3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561074b578082015181840152602081019050610730565b505050509050019250505060405180910390f35b6107bd6004803603604081101561077557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919050505061191c565b005b610839600480360360608110156107d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611a0c565b005b61087d6004803603602081101561085157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d63565b6040518082815260200191505060405180910390f35b610939600480360360a08110156108a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611db2565b005b61094361210f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109c76004803603602081101561099b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612138565b005b610a9c600480360360808110156109df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610a5857600080fd5b820183602082011115610a6a57600080fd5b80359060200191846001830284011164010000000083111715610a8c57600080fd5b9091929391929390505050612480565b005b610ae060048036036020811015610ab457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124de565b005b610b2460048036036020811015610af857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061250f565b005b610bdd60048036036060811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610b9957600080fd5b820183602082011115610bab57600080fd5b80359060200191846001830284011164010000000083111715610bcd57600080fd5b909192939192939050505061253c565b005b60003390506000610bf08285612657565b9050826fffffffffffffffffffffffffffffffff168160010160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161015610c4357600080fd5b828160010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610d068285836126e0565b50505050565b600080600080600060606000600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a90046fffffffffffffffffffffffffffffffff168160010160109054906101000a90046fffffffffffffffffffffffffffffffff1682600201548360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846004015485600501808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ea35780601f10610e7857610100808354040283529160200191610ea3565b820191906000526020600020905b815481529060010190602001808311610e8657829003601f168201915b50505050509050965096509650965096509650509295509295509295565b60003390506000610ed28286612657565b905060008160010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614610f225742600182600201540310610f2157600080fd5b5b60008160010160109054906101000a90046fffffffffffffffffffffffffffffffff168260010160009054906101000a90046fffffffffffffffffffffffffffffffff1601905060008260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060008260010160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508315610ff257600082600201819055505b610ffd8387846126e0565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156110b757600080fd5b505af11580156110cb573d6000803e3d6000fd5b505050506040513d60208110156110e157600080fd5b81019080805190602001909291905050506110fb57600080fd5b505050505050565b8d8f60405160200180828152602001915050604051602081830303815290604052805190602001201461113557600080fd5b866fffffffffffffffffffffffffffffffff168f8d60405160200180838152602001828152602001925050506040516020818303038152906040528051906020012060001c6fffffffffffffffffffffffffffffffff16111561119757600080fd5b60004690507f8b988a5483b8a95aa306ba150c9513d5565a0eee358bc4b35b2942570870064560001b8f8f8f30858e8e8e8e8e8e8e604051602001808e81526020018d81526020018c81526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001898152602001886fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001876fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001868152602001856fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561134757808201518184015260208101905061132c565b50505050905090810190601f1680156113745780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050604051602081830303815290604052805190602001209050600060018260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001208e8e8e60405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561144a573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561149057600080fd5b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160008486604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405160208183030381529060405280519060200120815260200190815260200160002090506000896fffffffffffffffffffffffffffffffff168b01905042811161156857600080fd5b600082600001541461157957600080fd5b808260000181905550505060008090505b845181146115db5760008260008784815181106115a357fe5b602002602001015181526020019081526020016000209050428160000154116115cf5780600001600090555b5080600101905061158a565b505042881015611661576000876fffffffffffffffffffffffffffffffff16894203896fffffffffffffffffffffffffffffffff16038c6fffffffffffffffffffffffffffffffff16028161162c57fe5b049050806fffffffffffffffffffffffffffffffff168b6fffffffffffffffffffffffffffffffff16111561165f57809a505b505b61166e8682878d886127e6565b5050505050505050505050505050505050565b6060600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561174557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116116fb575b50505050509050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106117a057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60606000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019050808054905084111561182c57600080fd5b83818054905003831115611844578381805490500392505b6060836040519080825280602002602001820160405280156118755781602001602082028038833980820191505090505b50905060008090505b84811461190f57828187018154811061189357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168282815181106118ca57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080600101905061187e565b5080925050509392505050565b6000339050600061192d8285612657565b90508060010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff16111561199f578060010160109054906101000a90046fffffffffffffffffffffffffffffffff1692505b828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611a068285836126e0565b50505050565b6000339050816fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161015611a4257600080fd5b6000611a4e8286612657565b9050600081600001541415611b6557600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600001819055508473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f96b5b9b8a7193304150caccf9b80d150675fa3d6af57761d8d8ef1d6f9a1a90960405160405180910390a35b8284038160010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828160010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611c2a8286836126e0565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8330876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611d1857600080fd5b505af1158015611d2c573d6000803e3d6000fd5b505050506040513d6020811015611d4257600080fd5b8101908080519060200190929190505050611d5c57600080fd5b5050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b60003390506000611dc38288612657565b90508060010160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16846fffffffffffffffffffffffffffffffff161115611e35578060010160009054906101000a90046fffffffffffffffffffffffffffffffff1693505b8060010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161115611ea5578060010160109054906101000a90046fffffffffffffffffffffffffffffffff1692505b6000836fffffffffffffffffffffffffffffffff1614611ed35742600182600201540310611ed257600080fd5b5b60008385019050848260010160008282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550838260010160108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550858015611fd1575060008260010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16145b15611fe157600082600201819055505b611fec8389846126e0565b6000816fffffffffffffffffffffffffffffffff1614612105576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156120c057600080fd5b505af11580156120d4573d6000803e3d6000fd5b505050506040513d60208110156120ea57600080fd5b810190808051906020019092919050505061210457600080fd5b5b5050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60003390506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015414156121d757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461228a578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0d128562eaa47ab89086803e64a0f96847c0ed3cc63c26251f29ba1aede09d4e60405160405180910390a35b6000826000016001846000018054905003815481106122a557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600001548360010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550808360000160018460000154038154811061233657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260000180546001900390816123949190612e65565b508260010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556001820160106101000a8154906fffffffffffffffffffffffffffffffff021916905560028201600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600482016000905560058201600061246c9190612e91565b50506124798486846126e0565b5050505050565b60003390506124d68682878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506127e6565b505050505050565b600033905060006124ef8284612657565b9050620151804201816002018190555061250a8284836126e0565b505050565b600033905060006125208284612657565b9050600081600201819055506125378284836126e0565b505050565b6000339050600061254d8287612657565b905060008160010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161461258e57600080fd5b6000853f9050858260030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080826004018190555084848360050191906125f3929190612ed9565b508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0d128562eaa47ab89086803e64a0f96847c0ed3cc63c26251f29ba1aede09d4e60405160405180910390a350505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc8360010160009054906101000a90046fffffffffffffffffffffffffffffffff168460010160109054906101000a90046fffffffffffffffffffffffffffffffff16856002015460405180846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a3505050565b60006127f28686612657565b905060008160010160009054906101000a90046fffffffffffffffffffffffffffffffff169050836fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161061296a578381039050808260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc838560010160109054906101000a90046fffffffffffffffffffffffffffffffff16866002015460405180846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a3612a84565b80935060008260010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060008260010160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3cd5941d0d99319105eba5f5393ed93c883f132d251e56819e516005c5e20dbc600080866002015460405180846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a35b60008260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060006060600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612b8c5784600401549150846005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b845780601f10612b5957610100808354040283529160200191612b84565b820191906000526020600020905b815481529060010190602001808311612b6757829003601f168201915b505050505090505b6000876fffffffffffffffffffffffffffffffff1614612ca5576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015612c6057600080fd5b505af1158015612c74573d6000803e3d6000fd5b505050506040513d6020811015612c8a57600080fd5b8101908080519060200190929190505050612ca457600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612e59576000833f905080831415612e57578373ffffffffffffffffffffffffffffffffffffffff1663fe4e5b96838b8a6040518463ffffffff1660e01b815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001838103835286818151815260200191508051906020019080838360005b83811015612d8b578082015181840152602081019050612d70565b50505050905090810190601f168015612db85780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612df1578082015181840152602081019050612dd6565b50505050905090810190601f168015612e1e5780820380516001836020036101000a031916815260200191505b509550505050505060006040518083038186803b158015612e3e57600080fd5b505afa158015612e52573d6000803e3d6000fd5b505050505b505b50505050505050505050565b815481835581811115612e8c57818360005260206000209182019101612e8b9190612f59565b5b505050565b50805460018160011615610100020316600290046000825580601f10612eb75750612ed6565b601f016020900490600052602060002090810190612ed59190612f59565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f1a57803560ff1916838001178555612f48565b82800160010185558215612f48579182015b82811115612f47578235825591602001919060010190612f2c565b5b509050612f559190612f59565b5090565b612f7b91905b80821115612f77576000816000905550600101612f5f565b5090565b9056fea265627a7a72315820a058ee676592f8953f0e1547c21eac005a0f5f2b92315e6ed389b6071d95570f64736f6c634300050d0032

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

0000000000000000000000004575f41308ec1483f3d399aa9a2826d74da13deb

-----Decoded View---------------
Arg [0] : token (address): 0x4575f41308EC1483f3d399aa9a2826d74Da13Deb

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004575f41308ec1483f3d399aa9a2826d74da13deb


Deployed Bytecode Sourcemap

1193:9615:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1193:9615:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4500:284;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4500:284:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3604:299;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3604:299:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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;3604:299:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10314:492;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10314:492:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6961:2004;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6961:2004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6961:2004:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6961:2004:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6961:2004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6961:2004:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6961:2004:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6961:2004:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6961:2004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6961:2004:0;;;;;;;;;;;;;;;:::i;:::-;;2882:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2882:119:0;;;;;;;;;;;;;;;;;;;:::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;2882:119:0;;;;;;;;;;;;;;;;;3007:134;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3007:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3147:450;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3147:450:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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;3147:450:0;;;;;;;;;;;;;;;;;4790:281;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4790:281:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3977:517;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3977:517:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2759:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2759:117:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9603:705;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9603:705:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1322:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2181:571;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2181:571:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8971:208;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8971:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8971:208:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8971:208:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8971:208:0;;;;;;;;;;;;:::i;:::-;;9186:214;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9186:214:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9406:191;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9406:191:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5143:424;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5143:424:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5143:424:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5143:424:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5143:424:0;;;;;;;;;;;;:::i;:::-;;4500:284;4565:14;4582:10;4565:27;;4602:15;4620:20;4625:6;4633;4620:4;:20::i;:::-;4602:38;;4673:6;4658:21;;:3;:11;;;;;;;;;;;;:21;;;;4650:30;;;;;;4705:6;4690:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4736:6;4721:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4752:25;4757:6;4765;4773:3;4752:4;:25::i;:::-;4500:284;;;;:::o;3604:299::-;3673:7;3682;3691;3700:14;3716:7;3725:12;3749:15;3767:10;:18;3778:6;3767:18;;;;;;;;;;;;;;;:24;;:32;3792:6;3767:32;;;;;;;;;;;;;;;3749:50;;3817:3;:11;;;;;;;;;;;;3830:3;:11;;;;;;;;;;;;3843:3;:11;;;3856:3;:11;;;;;;;;;;;;3869:3;:13;;;3884:3;:11;;3809:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:299;;;;;;;;:::o;10314:492::-;10402:14;10419:10;10402:27;;10439:15;10457:20;10462:6;10470;10457:4;:20::i;:::-;10439:38;;10506:1;10491:3;:11;;;;;;;;;;;;:16;;;10487:76;;10547:15;10543:1;10529:3;:11;;;:15;:33;10521:42;;;;;;10487:76;10573:13;10603:3;:11;;;;;;;;;;;;10589:3;:11;;;;;;;;;;;;:25;10573:41;;10638:1;10624:3;:11;;;:15;;;;;;;;;;;;;;;;;;10663:1;10649:3;:11;;;:15;;;;;;;;;;;;;;;;;;10678:8;10674:41;;;10714:1;10700:3;:11;;:15;;;;10674:41;10725:25;10730:6;10738;10746:3;10725:4;:25::i;:::-;10768:6;;;;;;;;;;;:15;;;10784:6;10792:5;10768:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10768:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10768:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10768:30:0;;;;;;;;;;;;;;;;10760:39;;;;;;10314:492;;;;;;:::o;6961:2004::-;7337:6;7325;7314:18;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7314:18:0;;;7304:29;;;;;;:39;7296:48;;;;;;7420:5;7362:63;;7399:6;7407:5;7388:25;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7388:25:0;;;7378:36;;;;;;7370:45;;7362:63;;;;7354:72;;;;;;7526:14;7563:9;7553:19;;7735:66;7719:84;;7817:6;7825;7833:5;7848:4;7855:6;7863;7871:5;7878;7885;7892:6;7900:9;7911:7;7708:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;7708:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7708:211:0;;;7698:222;;;;;;7689:231;;7930:14;7947:91;8020:6;7967:60;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7967:60:0;;;7957:71;;;;;;8030:1;8033;8036;7947:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7947:91:0;;;;;;;;7930:108;;8074:1;8056:20;;:6;:20;;;;8048:29;;;;;;8102:40;8145:7;:18;8153:9;8145:18;;;;;;;;;;;;;;;8102:61;;8196:19;8218:6;:45;8246:6;8254;8235:26;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8235:26:0;;;8225:37;;;;;;8218:45;;;;;;;;;;;8196:67;;8281:13;8305:5;8297:13;;:5;:13;8281:29;;8344:15;8336:5;:23;8328:32;;;;;;8402:1;8386:5;:12;;;:17;8378:26;;;;;;8437:5;8422;:12;;:20;;;;6961:2004;;8476:9;8488:1;8476:13;;8471:205;8496:3;:10;8491:1;:15;8471:205;;8531:19;8553:6;:14;8560:3;8564:1;8560:6;;;;;;;;;;;;;;8553:14;;;;;;;;;;;8531:36;;8605:15;8589:5;:12;;;:31;8585:76;;8649:5;:12;;8642:19;;;8585:76;8471:205;8508:3;;;;;8471:205;;;;6961:2004;8708:15;8700:5;:23;8696:204;;;8739:13;8819:5;8763:61;;8809:5;8791:15;:23;8782:5;:33;;;8771:6;8763:15;;:53;:61;;;;;;8739:86;;8852:5;8843:14;;:6;:14;;;8839:50;;;8884:5;8875:14;;8839:50;8696:204;;8910:48;8915:6;8923;8931:9;8942:6;8950:7;8910:4;:48::i;:::-;6961:2004;;;;;;;;;;;;;;;;;:::o;2882:119::-;2935:16;2970:10;:18;2981:6;2970:18;;;;;;;;;;;;;;;:24;;2963:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:119;;;:::o;3007:134::-;3076:7;3102:10;:18;3113:6;3102:18;;;;;;;;;;;;;;;:24;;3127:6;3102:32;;;;;;;;;;;;;;;;;;;;;;;;;3095:39;;3007:134;;;;:::o;3147:450::-;3231:16;3259:21;3283:10;:18;3294:6;3283:18;;;;;;;;;;;;;;;:24;;3259:48;;3335:3;:10;;;;3325:6;:20;;3317:29;;;;;;3381:6;3368:3;:10;;;;:19;3360:5;:27;3356:72;;;3422:6;3409:3;:10;;;;:19;3401:27;;3356:72;3438:22;3477:5;3463:20;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3463:20:0;;;;3438:45;;3498:9;3510:1;3498:13;;3493:75;3518:5;3513:1;:10;3493:75;;3553:3;3566:1;3557:6;:10;3553:15;;;;;;;;;;;;;;;;;;;;;;;;;3542:5;3548:1;3542:8;;;;;;;;;;;;;:26;;;;;;;;;;;3525:3;;;;;3493:75;;;;3585:5;3578:12;;;;3147:450;;;;;:::o;4790:281::-;4855:14;4872:10;4855:27;;4892:15;4910:20;4915:6;4923;4910:4;:20::i;:::-;4892:38;;4953:3;:11;;;;;;;;;;;;4944:20;;:6;:20;;;4940:58;;;4987:3;:11;;;;;;;;;;;;4978:20;;4940:58;5023:6;5008:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5039:25;5044:6;5052;5060:3;5039:4;:25::i;:::-;4790:281;;;;:::o;3977:517::-;4057:14;4074:10;4057:27;;4111:6;4102:15;;:5;:15;;;;4094:24;;;;;;4128:15;4146:20;4151:6;4159;4146:4;:20::i;:::-;4128:38;;4195:1;4180:3;:11;;;:16;4176:139;;;4226:10;:18;4237:6;4226:18;;;;;;;;;;;;;;;:24;;4256:6;4226:37;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4226:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4212:3;:11;;:51;;;;4297:6;4282:22;;4289:6;4282:22;;;;;;;;;;;;4176:139;4347:6;4339:5;:14;4324:3;:11;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4378:6;4363:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4394:25;4399:6;4407;4415:3;4394:4;:25::i;:::-;4437:6;;;;;;;;;;;:19;;;4457:6;4473:4;4480:5;4437:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4437:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4437:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4437:49:0;;;;;;;;;;;;;;;;4429:58;;;;;;3977:517;;;;;:::o;2759:117::-;2812:7;2838:10;:18;2849:6;2838:18;;;;;;;;;;;;;;;:24;;:31;;;;2831:38;;2759:117;;;:::o;9603:705::-;9723:14;9740:10;9723:27;;9760:15;9778:20;9783:6;9791;9778:4;:20::i;:::-;9760:38;;9821:3;:11;;;;;;;;;;;;9812:20;;:6;:20;;;9808:58;;;9855:3;:11;;;;;;;;;;;;9846:20;;9808:58;9889:3;:11;;;;;;;;;;;;9880:20;;:6;:20;;;9876:58;;;9923:3;:11;;;;;;;;;;;;9914:20;;9876:58;9958:1;9948:6;:11;;;9944:71;;9999:15;9995:1;9981:3;:11;;;:15;:33;9973:42;;;;;;9944:71;10025:13;10050:6;10041;:15;10025:31;;10081:6;10066:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10112:6;10097:3;:11;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10132:8;:28;;;;;10159:1;10144:3;:11;;;;;;;;;;;;:16;;;10132:28;10128:61;;;10188:1;10174:3;:11;;:15;;;;10128:61;10199:25;10204:6;10212;10220:3;10199:4;:25::i;:::-;10247:1;10238:5;:10;;;10234:67;;10270:6;;;;;;;;;;;:15;;;10286:6;10294:5;10270:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10270:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10270:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10270:30:0;;;;;;;;;;;;;;;;10262:39;;;;;;10234:67;9603:705;;;;;;;;:::o;1322:77::-;1361:6;1386;;;;;;;;;;;1379:13;;1322:77;:::o;2181:571::-;2230:14;2247:10;2230:27;;2267:23;2293:10;:18;2304:6;2293:18;;;;;;;;;;;;;;;2267:44;;2321:15;2339:7;:13;;:21;2353:6;2339:21;;;;;;;;;;;;;;;2321:39;;2393:1;2378:3;:11;;;:16;;2370:25;;;;;;2439:1;2409:32;;:3;:11;;;;;;;;;;;;:32;;;2405:76;;2474:6;2460:21;;2466:6;2460:21;;;;;;;;;;;;2405:76;2491:11;2505:7;:13;;2542:1;2519:7;:13;;:20;;;;:24;2505:39;;;;;;;;;;;;;;;;;;;;;;;;;2491:53;;2583:3;:11;;;2554:7;:13;;:18;2568:3;2554:18;;;;;;;;;;;;;;;:26;;:40;;;;2637:3;2604:7;:13;;2632:1;2618:3;:11;;;:15;2604:30;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;2652:7;:13;;2650:22;;;;;;;;;;;:::i;:::-;;2689:7;:13;;:21;2703:6;2689:21;;;;;;;;;;;;;;;;2682:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2720:25;2725:6;2733;2741:3;2720:4;:25::i;:::-;2181:571;;;;;:::o;8971:208::-;9087:14;9104:10;9087:27;;9124:48;9129:6;9137;9145:9;9156:6;9164:7;;9124:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9124:48:0;;;;;;:4;:48::i;:::-;8971:208;;;;;;:::o;9186:214::-;9235:14;9252:10;9235:27;;9272:15;9290:20;9295:6;9303;9290:4;:20::i;:::-;9272:38;;9352:6;9334:15;:24;9320:3;:11;;:38;;;;9368:25;9373:6;9381;9389:3;9368:4;:25::i;:::-;9186:214;;;:::o;9406:191::-;9455:14;9472:10;9455:27;;9492:15;9510:20;9515:6;9523;9510:4;:20::i;:::-;9492:38;;9554:1;9540:3;:11;;:15;;;;9565:25;9570:6;9578;9586:3;9565:4;:25::i;:::-;9406:191;;;:::o;5143:424::-;5238:14;5255:10;5238:27;;5275:15;5293:20;5298:6;5306;5293:4;:20::i;:::-;5275:38;;5346:1;5331:3;:11;;;;;;;;;;;;:16;;;5323:25;;;;;;5359:16;5420:6;5408:19;5396:31;;5453:6;5439:3;:11;;;:20;;;;;;;;;;;;;;;;;;5485:8;5469:3;:13;;:24;;;;5517:6;;5503:3;:11;;:20;;;;;;;:::i;:::-;;5553:6;5539:21;;5545:6;5539:21;;;;;;;;;;;;5143:424;;;;;;;:::o;2038:137::-;2106:11;2136:10;:18;2147:6;2136:18;;;;;;;;;;;;;;;:24;;:32;2161:6;2136:32;;;;;;;;;;;;;;;2129:39;;2038:137;;;;:::o;1730:154::-;1831:6;1816:61;;1823:6;1816:61;;;1839:3;:11;;;;;;;;;;;;1852:3;:11;;;;;;;;;;;;1865:3;:11;;;1816:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1730:154;;;:::o;5694:1083::-;5823:15;5841:20;5846:6;5854;5841:4;:20::i;:::-;5823:38;;5872:13;5888:3;:11;;;;;;;;;;;;5872:27;;5923:6;5914:15;;:5;:15;;;5910:331;;5954:6;5945:15;;;;5988:5;5974:3;:11;;;:19;;;;;;;;;;;;;;;;;;6027:6;6012:55;;6019:6;6012:55;;;6035:5;6042:3;:11;;;;;;;;;;;;6055:3;:11;;;6012:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:331;;;6107:5;6098:14;;6140:1;6126:3;:11;;;:15;;;;;;;;;;;;;;;;;;6169:1;6155:3;:11;;;:15;;;;;;;;;;;;;;;;;;6204:6;6189:41;;6196:6;6189:41;;;6212:1;6215;6218:3;:11;;;6189:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:331;6251:21;6275:3;:11;;;;;;;;;;;;6251:35;;6296:16;6322:19;6380:1;6355:27;;:6;:27;;;6351:116;;6409:3;:13;;;6398:24;;6445:3;:11;;6436:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6351:116;6491:1;6481:6;:11;;;6477:72;;6514:6;;;;;;;;;;;:15;;;6530:9;6541:6;6514:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6514:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6514:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6514:34:0;;;;;;;;;;;;;;;;6506:43;;;;;;6477:72;6589:1;6564:27;;:6;:27;;;6560:211;;6607:15;6658:6;6646:19;6635:30;;6696:7;6684:8;:19;6680:80;;;6721:6;:11;;;6733:6;6741:9;6752:7;6721:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;6721:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;6721:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6721:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6721:39:0;;;;6680:80;6560:211;;5694:1083;;;;;;;;;;:::o;1193:9615::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://a058ee676592f8953f0e1547c21eac005a0f5f2b92315e6ed389b6071d95570f

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Nanopayment lottery contract.

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.