Contract 0x151a051fe0a9414950ef0b34030294ceab6f043a

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xbfeed12bfc87e5aee324647ca2b41c433f8def565f3afb7f64865e01a5e9659dRemove Membershi...176174782021-08-04 15:59:1576 days 11 hrs ago0x09096ed6c7b32cf2e136be591ec9a5bbc55710ac IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.00002541968
0x89c28a7c9410ffe007c4e22a4541855240679503463f3249788dea0f2b014d33Remove Membershi...176174782021-08-04 15:59:1576 days 11 hrs ago0x09096ed6c7b32cf2e136be591ec9a5bbc55710ac IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.00002541968
0x4fb8737ab2761bd76974236f8646a92a9aa404f1449e43705499c83625d03ecaRemove Membershi...176174782021-08-04 15:59:1576 days 11 hrs ago0x09096ed6c7b32cf2e136be591ec9a5bbc55710ac IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.00002541968
0x88ed54b713e34f0780ae6a63a49a5464563abf71ca49ce176b39f65c43c8fba9Remove Membershi...176174782021-08-04 15:59:1576 days 11 hrs ago0x09096ed6c7b32cf2e136be591ec9a5bbc55710ac IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.00002541968
0xbae51d1d5f875fffb8c68088697744fe1bb8afc9eacd2a878434b81907112170Remove Membershi...176174772021-08-04 15:59:1376 days 11 hrs ago0x09096ed6c7b32cf2e136be591ec9a5bbc55710ac IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.00001815879
0x99bbca0b2c46510d0ba4ebdc6215248beb73482bd339161840582f69958ead6fRequest To Join ...176174382021-08-04 15:57:5176 days 11 hrs ago0x09096ed6c7b32cf2e136be591ec9a5bbc55710ac IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.000074271461
0x706657435cf300b762c08358d7fcfe7571136b64ce041340d505d35702fb4a41Create Room With...176174292021-08-04 15:57:3376 days 11 hrs ago0x09096ed6c7b32cf2e136be591ec9a5bbc55710ac IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.000234953169
0x912e64d08fd12d5bbac7f8caa1ab7a80e5033824d5f174c5d50c9165cdeb034aCreate Room With...165335172021-07-05 18:51:05106 days 9 hrs ago0xdf4d1dfa49987ac1481e267f67f1b54c35c464e7 IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.00021656723
0xa7915fd887c3519750f762295c750aec304939a4d10436388696895e54a01644Create Room With...165293092021-07-05 16:15:31106 days 11 hrs ago0xdf4d1dfa49987ac1481e267f67f1b54c35c464e7 IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.000214411
0x64599d36eaa707b46f0659b236c5bbe801c9dead5a81b808f86786b0115d18a6Create Room With...164953432021-07-04 19:56:18107 days 7 hrs ago0xdf4d1dfa49987ac1481e267f67f1b54c35c464e7 IN  0x151a051fe0a9414950ef0b34030294ceab6f043a0 MATIC0.000228663
0xcc9b28b15286f3efdf80ae2bded0f9c101661fd02e7d06d874ee7fc7cf80c0460x60806040164951962021-07-04 19:51:16107 days 8 hrs ago0xdf4d1dfa49987ac1481e267f67f1b54c35c464e7 IN  Contract Creation0 MATIC0.001895799
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OpenHouse

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license
/**
 *Submitted for verification at polygonscan.com on 2021-07-04
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity >=0.7.0 <0.9.0;
pragma abicoder v2;

/**
 * @title OpenHouse
 * @dev Create, join, and interact with OpenHouse-enabled rooms
 */
contract OpenHouse {

    string[] private rooms;
    
    mapping (string => bool) private _roomsMap;
    mapping (string => bool) private _roomsPublic;
    
    mapping (string => address[]) private _memberships;
    mapping (address => string[]) private _reverseMemberships;
    
    mapping (string => mapping (address => bool)) private _membershipsMap;

    mapping (string => mapping ( address => address[])) private _kickRequestsMap;
    
    mapping (string => address) private _roomContractMap;
    
    mapping (string => address[]) private _membershipRequests;
    
    function requestToJoinRoom(string calldata room) public {
        _membershipRequests[room].push(msg.sender);
    }
    
    function removeMembershipRequest(string calldata room, address user) public {
        // Remove user from the membership requests list
        uint length = _membershipRequests[room].length;
        for (uint i=0; i < length; i++) {
            if (_membershipRequests[room][i] == user) {
                _membershipRequests[room][i] = _membershipRequests[room][length - 1];
                _membershipRequests[room].pop();
                break;
            }
        }
    }
    
    function getMembershipRequests(string calldata room) public view returns (address[] memory) {
        return _membershipRequests[room];
    }
    
    function createRoomWithContract(string calldata name, address contractAddress, bool isPublic) public {
        _roomContractMap[name] = contractAddress;
        addRoom(name, isPublic);
    }
    
    function getAddressForRoom(string calldata name) public view returns (address) {
        return _roomContractMap[name];
    }
    
   /**
     * @dev Create a room, or join it if it already exists.
     * @param name defines the room
     */
    function addRoom(string calldata name, bool isPublic) public {
        if (!_roomsMap[name]){
            _roomsMap[name] = true;
            _roomsPublic[name] = isPublic;
            rooms.push(name);
        }
        
        address sender = msg.sender;
        if (!_membershipsMap[name][sender]) {
            _membershipsMap[name][sender] = true;
            _memberships[name].push(sender);
            _reverseMemberships[sender].push(name);
        }
    }
    
    /**
     * @dev List all rooms that have already been created.
     */
    function listRooms() public view returns (string[] memory) {
        return rooms;
    }
    
    /**
     * @dev List all rooms for which the sender has membership
     */
    function listSenderRooms() public view returns (string[] memory) {
        address sender = msg.sender;
        return _reverseMemberships[sender];
    }
    
    /**
     * @dev Check if the sender is a member of the given room
     * @param name specifies the room to check membership for
     */
    function senderIsInRoom(string calldata name) public view returns (bool) {
        address sender = msg.sender;
        return _membershipsMap[name][sender];
    }
    
    /**
     * @dev Check if a room exists
     */
    function roomExists(string calldata name) public view returns (bool) {
        return _roomsMap[name];
    }
    
    /**
     * @dev Check if a room is public
     */
    function roomIsPublic(string calldata name) public view returns (bool) {
        return _roomsPublic[name];
    }
    
    /**
     * @dev Return the list of addresses that belong to a room.
     * @param name specifies the room to list memberships for.
     */
    function members(string calldata name) public view returns (address[] memory) {
        return _memberships[name];
    }

        /**
     * @dev Register the sender's request to kick a user from a room, removing
     * the user if enough members have requested the user's removal.
     * @param user to be kicked
     * @param room from which to kick the user
     */
    function kickUser(address user, string memory room) public {
        uint length = _kickRequestsMap[room][user].length;
        for (uint i = 0; i < length; i++) {
            if (_kickRequestsMap[room][user][i] == msg.sender) {
                return;
            }
        }
        _kickRequestsMap[room][user].push(msg.sender);
        if (_kickRequestsMap[room][user].length > 1) {
            removeUserFromRoom(user, room);
        }
    }

    /**
    * @dev Remove a user from a room.
    * @param user to be removed
    * @param room from which to remove the user
    */
     function removeUserFromRoom(address user, string memory room) private {
        if (_membershipsMap[room][user]) {
            // Remove user from the memberships list
            uint length = _memberships[room].length;
            for (uint i=0; i < length; i++) {
                if (_memberships[room][i] == user) {
                    _memberships[room][i] = _memberships[room][length - 1];
                    _memberships[room].pop();
                    break;
                }
            }
            
            // Remove room from the user's list of rooms
            length = _reverseMemberships[user].length;
            for (uint i = 0; i < length; i++) {
                if (keccak256(abi.encodePacked(_reverseMemberships[user][i])) == keccak256(abi.encodePacked(room))) {
                    _reverseMemberships[user][i] = _reverseMemberships[user][length - 1];
                    _reverseMemberships[user].pop();
                    break;
                }
            }
            
            // Remove user->room combination from _membershipsMap
            _membershipsMap[room][user] = false;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"isPublic","type":"bool"}],"name":"addRoom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bool","name":"isPublic","type":"bool"}],"name":"createRoomWithContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"getAddressForRoom","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"room","type":"string"}],"name":"getMembershipRequests","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"string","name":"room","type":"string"}],"name":"kickUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"listRooms","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"listSenderRooms","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"room","type":"string"},{"internalType":"address","name":"user","type":"address"}],"name":"removeMembershipRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"room","type":"string"}],"name":"requestToJoinRoom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"roomExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"roomIsPublic","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"senderIsInRoom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50612173806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638ecd2af11161008c578063df99787011610066578063df99787014610224578063e20e9b6914610240578063ee48b67e14610270578063f062d1d51461028c576100cf565b80638ecd2af1146101a8578063944e04b0146101c4578063b0a77b5e146101f4576100cf565b806310f70192146100d45780632a8ca0e9146100f25780633e3f7cf11461010e57806340ad52bf1461012c5780636957a0b21461015c57806375610dcd1461018c575b600080fd5b6100dc6102bc565b6040516100e99190611dc6565b60405180910390f35b61010c60048036038101906101079190611953565b610395565b005b610116610643565b6040516101239190611dc6565b60405180910390f35b610146600480360381019061014191906119a7565b61075f565b6040516101539190611de8565b60405180910390f35b610176600480360381019061017191906119a7565b610797565b6040516101839190611da4565b60405180910390f35b6101a660048036038101906101a191906119a7565b610846565b005b6101c260048036038101906101bd9190611ab0565b6108cb565b005b6101de60048036038101906101d991906119a7565b610b99565b6040516101eb9190611da4565b60405180910390f35b61020e600480360381019061020991906119a7565b610c48565b60405161021b9190611de8565b60405180910390f35b61023e60048036038101906102399190611a44565b610cc2565b005b61025a600480360381019061025591906119a7565b610d32565b6040516102679190611d89565b60405180910390f35b61028a600480360381019061028591906119ec565b610d7d565b005b6102a660048036038101906102a191906119a7565b61103f565b6040516102b39190611de8565b60405180910390f35b60606000805480602002602001604051908101604052809291908181526020016000905b8282101561038c5783829060005260206000200180546102ff90611fc5565b80601f016020809104026020016040519081016040528092919081815260200182805461032b90611fc5565b80156103785780601f1061034d57610100808354040283529160200191610378565b820191906000526020600020905b81548152906001019060200180831161035b57829003601f168201915b5050505050815260200190600101906102e0565b50505050905090565b60006006826040516103a79190611d5b565b908152602001604051809103902060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060005b8181101561050e573373ffffffffffffffffffffffffffffffffffffffff1660068460405161042a9190611d5b565b908152602001604051809103902060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106104ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156104fb57505061063f565b808061050690612028565b9150506103fb565b5060068260405161051f9190611d5b565b908152602001604051809103902060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016006836040516105dd9190611d5b565b908152602001604051809103902060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561063d5761063c8383611077565b5b505b5050565b60606000339050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156107555783829060005260206000200180546106c890611fc5565b80601f01602080910402602001604051908101604052809291908181526020018280546106f490611fc5565b80156107415780601f1061071657610100808354040283529160200191610741565b820191906000526020600020905b81548152906001019060200180831161072457829003601f168201915b5050505050815260200190600101906106a9565b5050505091505090565b600060028383604051610773929190611d42565b908152602001604051809103902060009054906101000a900460ff16905092915050565b6060600383836040516107ab929190611d42565b908152602001604051809103902080548060200260200160405190810160405280929190818152602001828054801561083957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116107ef575b5050505050905092915050565b60088282604051610858929190611d42565b9081526020016040518091039020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600183836040516108dd929190611d42565b908152602001604051809103902060009054906101000a900460ff166109ac576001808484604051610910929190611d42565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508060028484604051610948929190611d42565b908152602001604051809103902060006101000a81548160ff02191690831515021790555060008383909180600181540180825580915050600190039060005260206000200160009091929091929091929091925091906109aa929190611707565b505b6000339050600584846040516109c3929190611d42565b908152602001604051809103902060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b9357600160058585604051610a34929190611d42565b908152602001604051809103902060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038484604051610aa8929190611d42565b9081526020016040518091039020819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848490918060018154018082558091505060019003906000526020600020016000909192909192909192909192509190610b91929190611707565b505b50505050565b606060088383604051610bad929190611d42565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020018280548015610c3b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610bf1575b5050505050905092915050565b60008033905060058484604051610c60929190611d42565b908152602001604051809103902060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b8160078585604051610cd5929190611d42565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d2c8484836108cb565b50505050565b600060078383604051610d46929190611d42565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b600060088484604051610d91929190611d42565b908152602001604051809103902080549050905060005b81811015611038578273ffffffffffffffffffffffffffffffffffffffff1660088686604051610dd9929190611d42565b90815260200160405180910390208281548110610e1f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110255760088585604051610e78929190611d42565b9081526020016040518091039020600183610e939190611f07565b81548110610eca577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660088686604051610f07929190611d42565b90815260200160405180910390208281548110610f4d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060088585604051610fa7929190611d42565b9081526020016040518091039020805480610feb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611038565b808061103090612028565b915050610da8565b5050505050565b600060018383604051611053929190611d42565b908152602001604051809103902060009054906101000a900460ff16905092915050565b6005816040516110879190611d5b565b908152602001604051809103902060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156117035760006003826040516110f79190611d5b565b908152602001604051809103902080549050905060005b81811015611396578373ffffffffffffffffffffffffffffffffffffffff1660038460405161113d9190611d5b565b90815260200160405180910390208281548110611183577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611383576003836040516111da9190611d5b565b90815260200160405180910390206001836111f59190611f07565b8154811061122c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166003846040516112679190611d5b565b908152602001604051809103902082815481106112ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003836040516113059190611d5b565b9081526020016040518091039020805480611349577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611396565b808061138e90612028565b91505061110e565b50600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060005b8181101561168c57826040516020016113f89190611d5b565b60405160208183030381529060405280519060200120600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110611485577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160405160200161149f9190611d72565b60405160208183030381529060405280519060200120141561167957600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001836115079190611f07565b8154811061153e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106115bf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020019080546115d590611fc5565b6115e092919061178d565b50600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480611656577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600190038181906000526020600020016000611672919061181a565b905561168c565b808061168490612028565b9150506113df565b50600060058360405161169f9190611d5b565b908152602001604051809103902060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505b5050565b82805461171390611fc5565b90600052602060002090601f016020900481019282611735576000855561177c565b82601f1061174e57803560ff191683800117855561177c565b8280016001018555821561177c579182015b8281111561177b578235825591602001919060010190611760565b5b509050611789919061185a565b5090565b82805461179990611fc5565b90600052602060002090601f0160209004810192826117bb5760008555611809565b82601f106117cc5780548555611809565b8280016001018555821561180957600052602060002091601f016020900482015b828111156118085782548255916001019190600101906117ed565b5b509050611816919061185a565b5090565b50805461182690611fc5565b6000825580601f106118385750611857565b601f016020900490600052602060002090810190611856919061185a565b5b50565b5b8082111561187357600081600090555060010161185b565b5090565b600061188a61188584611e28565b611e03565b9050828152602081018484840111156118a257600080fd5b6118ad848285611f83565b509392505050565b6000813590506118c48161210f565b92915050565b6000813590506118d981612126565b92915050565b60008083601f8401126118f157600080fd5b8235905067ffffffffffffffff81111561190a57600080fd5b60208301915083600182028301111561192257600080fd5b9250929050565b600082601f83011261193a57600080fd5b813561194a848260208601611877565b91505092915050565b6000806040838503121561196657600080fd5b6000611974858286016118b5565b925050602083013567ffffffffffffffff81111561199157600080fd5b61199d85828601611929565b9150509250929050565b600080602083850312156119ba57600080fd5b600083013567ffffffffffffffff8111156119d457600080fd5b6119e0858286016118df565b92509250509250929050565b600080600060408486031215611a0157600080fd5b600084013567ffffffffffffffff811115611a1b57600080fd5b611a27868287016118df565b93509350506020611a3a868287016118b5565b9150509250925092565b60008060008060608587031215611a5a57600080fd5b600085013567ffffffffffffffff811115611a7457600080fd5b611a80878288016118df565b94509450506020611a93878288016118b5565b9250506040611aa4878288016118ca565b91505092959194509250565b600080600060408486031215611ac557600080fd5b600084013567ffffffffffffffff811115611adf57600080fd5b611aeb868287016118df565b93509350506020611afe868287016118ca565b9150509250925092565b6000611b148383611b34565b60208301905092915050565b6000611b2c8383611c59565b905092915050565b611b3d81611f3b565b82525050565b611b4c81611f3b565b82525050565b6000611b5d82611e8e565b611b678185611ec9565b9350611b7283611e59565b8060005b83811015611ba3578151611b8a8882611b08565b9750611b9583611eaf565b925050600181019050611b76565b5085935050505092915050565b6000611bbb82611e99565b611bc58185611eda565b935083602082028501611bd785611e69565b8060005b85811015611c135784840389528151611bf48582611b20565b9450611bff83611ebc565b925060208a01995050600181019050611bdb565b50829750879550505050505092915050565b611c2e81611f4d565b82525050565b6000611c408385611efc565b9350611c4d838584611f83565b82840190509392505050565b6000611c6482611ea4565b611c6e8185611eeb565b9350611c7e818560208601611f92565b611c87816120fe565b840191505092915050565b6000611c9d82611ea4565b611ca78185611efc565b9350611cb7818560208601611f92565b80840191505092915050565b60008154611cd081611fc5565b611cda8186611efc565b94506001821660008114611cf55760018114611d0657611d39565b60ff19831686528186019350611d39565b611d0f85611e79565b60005b83811015611d3157815481890152600182019150602081019050611d12565b838801955050505b50505092915050565b6000611d4f828486611c34565b91508190509392505050565b6000611d678284611c92565b915081905092915050565b6000611d7e8284611cc3565b915081905092915050565b6000602082019050611d9e6000830184611b43565b92915050565b60006020820190508181036000830152611dbe8184611b52565b905092915050565b60006020820190508181036000830152611de08184611bb0565b905092915050565b6000602082019050611dfd6000830184611c25565b92915050565b6000611e0d611e1e565b9050611e198282611ff7565b919050565b6000604051905090565b600067ffffffffffffffff821115611e4357611e426120cf565b5b611e4c826120fe565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000611f1282611f79565b9150611f1d83611f79565b925082821015611f3057611f2f612071565b5b828203905092915050565b6000611f4682611f59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015611fb0578082015181840152602081019050611f95565b83811115611fbf576000848401525b50505050565b60006002820490506001821680611fdd57607f821691505b60208210811415611ff157611ff06120a0565b5b50919050565b612000826120fe565b810181811067ffffffffffffffff8211171561201f5761201e6120cf565b5b80604052505050565b600061203382611f79565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561206657612065612071565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61211881611f3b565b811461212357600080fd5b50565b61212f81611f4d565b811461213a57600080fd5b5056fea2646970667358221220eaecaff7e6a3efd258cbeacc9264efc5420c7446bd1d5ff2d032af2069f1749064736f6c63430008040033

Deployed ByteCode Sourcemap

194:5744:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2605:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:457;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2789:156;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3512:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3786:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;793:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2035:480;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1420:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3101:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1575:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1781:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;922:486;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3333:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2605:90;2647:15;2682:5;2675:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2605:90;:::o;4169:457::-;4239:11;4253:16;4270:4;4253:22;;;;;;:::i;:::-;;;;;;;;;;;;;:28;4276:4;4253:28;;;;;;;;;;;;;;;:35;;;;4239:49;;4304:6;4299:152;4320:6;4316:1;:10;4299:152;;;4387:10;4352:45;;:16;4369:4;4352:22;;;;;;:::i;:::-;;;;;;;;;;;;;:28;4375:4;4352:28;;;;;;;;;;;;;;;4381:1;4352:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;4348:92;;;4418:7;;;;4348:92;4328:3;;;;;:::i;:::-;;;;4299:152;;;;4461:16;4478:4;4461:22;;;;;;:::i;:::-;;;;;;;;;;;;;:28;4484:4;4461:28;;;;;;;;;;;;;;;4495:10;4461:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4559:1;4521:16;4538:4;4521:22;;;;;;:::i;:::-;;;;;;;;;;;;;:28;4544:4;4521:28;;;;;;;;;;;;;;;:35;;;;:39;4517:102;;;4577:30;4596:4;4602;4577:18;:30::i;:::-;4517:102;4169:457;;;;:::o;2789:156::-;2837:15;2865:14;2882:10;2865:27;;2910:19;:27;2930:6;2910:27;;;;;;;;;;;;;;;2903:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2789:156;:::o;3512:115::-;3577:4;3601:12;3614:4;;3601:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3594:25;;3512:115;;;;:::o;3786:122::-;3846:16;3882:12;3895:4;;3882:18;;;;;;;:::i;:::-;;;;;;;;;;;;;3875:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3786:122;;;;:::o;793:117::-;860:19;880:4;;860:25;;;;;;;:::i;:::-;;;;;;;;;;;;;891:10;860:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;793:117;;:::o;2035:480::-;2112:9;2122:4;;2112:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2107:145;;2161:4;2143:9;2153:4;;2143:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;2201:8;2180:12;2193:4;;2180:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;2224:5;2235:4;;2224:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2107:145;2272:14;2289:10;2272:27;;2315:15;2331:4;;2315:21;;;;;;;:::i;:::-;;;;;;;;;;;;;:29;2337:6;2315:29;;;;;;;;;;;;;;;;;;;;;;;;;2310:198;;2393:4;2361:15;2377:4;;2361:21;;;;;;;:::i;:::-;;;;;;;;;;;;;:29;2383:6;2361:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;2412:12;2425:4;;2412:18;;;;;;;:::i;:::-;;;;;;;;;;;;;2436:6;2412:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2458:19;:27;2478:6;2458:27;;;;;;;;;;;;;;;2491:4;;2458:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2310:198;2035:480;;;;:::o;1420:143::-;1494:16;1530:19;1550:4;;1530:25;;;;;;;:::i;:::-;;;;;;;;;;;;;1523:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1420:143;;;;:::o;3101:166::-;3168:4;3185:14;3202:10;3185:27;;3230:15;3246:4;;3230:21;;;;;;;:::i;:::-;;;;;;;;;;;;;:29;3252:6;3230:29;;;;;;;;;;;;;;;;;;;;;;;;;3223:36;;;3101:166;;;;:::o;1575:194::-;1712:15;1687:16;1704:4;;1687:22;;;;;;;:::i;:::-;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;1738:23;1746:4;;1752:8;1738:7;:23::i;:::-;1575:194;;;;:::o;1781:127::-;1851:7;1878:16;1895:4;;1878:22;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1871:29;;1781:127;;;;:::o;922:486::-;1067:11;1081:19;1101:4;;1081:25;;;;;;;:::i;:::-;;;;;;;;;;;;;:32;;;;1067:46;;1129:6;1124:277;1143:6;1139:1;:10;1124:277;;;1207:4;1175:36;;:19;1195:4;;1175:25;;;;;;;:::i;:::-;;;;;;;;;;;;;1201:1;1175:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;1171:219;;;1263:19;1283:4;;1263:25;;;;;;;:::i;:::-;;;;;;;;;;;;;1298:1;1289:6;:10;;;;:::i;:::-;1263:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1232:19;1252:4;;1232:25;;;;;;;:::i;:::-;;;;;;;;;;;;;1258:1;1232:28;;;;;;;;;;;;;;;;;;;;;;;;:68;;;;;;;;;;;;;;;;;;1319:19;1339:4;;1319:25;;;;;;;:::i;:::-;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1369:5;;1171:219;1151:3;;;;;:::i;:::-;;;;1124:277;;;;922:486;;;;:::o;3333:110::-;3396:4;3420:9;3430:4;;3420:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3413:22;;3333:110;;;;:::o;4773:1162::-;4858:15;4874:4;4858:21;;;;;;:::i;:::-;;;;;;;;;;;;;:27;4880:4;4858:27;;;;;;;;;;;;;;;;;;;;;;;;;4854:1074;;;4956:11;4970:12;4983:4;4970:18;;;;;;:::i;:::-;;;;;;;;;;;;;:25;;;;4956:39;;5015:6;5010:273;5029:6;5025:1;:10;5010:273;;;5090:4;5065:29;;:12;5078:4;5065:18;;;;;;:::i;:::-;;;;;;;;;;;;;5084:1;5065:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;5061:207;;;5143:12;5156:4;5143:18;;;;;;:::i;:::-;;;;;;;;;;;;;5171:1;5162:6;:10;;;;:::i;:::-;5143:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5119:12;5132:4;5119:18;;;;;;:::i;:::-;;;;;;;;;;;;;5138:1;5119:21;;;;;;;;;;;;;;;;;;;;;;;;:54;;;;;;;;;;;;;;;;;;5196:12;5209:4;5196:18;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5243:5;;5061:207;5037:3;;;;;:::i;:::-;;;;5010:273;;;;5378:19;:25;5398:4;5378:25;;;;;;;;;;;;;;;:32;;;;5369:41;;5430:6;5425:361;5446:6;5442:1;:10;5425:361;;;5570:4;5553:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;5543:33;;;;;;5509:19;:25;5529:4;5509:25;;;;;;;;;;;;;;;5535:1;5509:28;;;;;;;;;;;;;;;;;;;;;;;5492:46;;;;;;;;:::i;:::-;;;;;;;;;;;;;5482:57;;;;;;:94;5478:293;;;5632:19;:25;5652:4;5632:25;;;;;;;;;;;;;;;5667:1;5658:6;:10;;;;:::i;:::-;5632:37;;;;;;;;;;;;;;;;;;;;;;;5601:19;:25;5621:4;5601:25;;;;;;;;;;;;;;;5627:1;5601:28;;;;;;;;;;;;;;;;;;;;;;;:68;;;;;;:::i;:::-;;;;;;:::i;:::-;;5692:19;:25;5712:4;5692:25;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;5746:5;;5478:293;5454:3;;;;;:::i;:::-;;;;5425:361;;;;5911:5;5881:15;5897:4;5881:21;;;;;;:::i;:::-;;;;;;;;;;;;;:27;5903:4;5881:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;4854:1074;;4773:1162;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:139::-;404:5;442:6;429:20;420:29;;458:33;485:5;458:33;:::i;:::-;410:87;;;;:::o;503:133::-;546:5;584:6;571:20;562:29;;600:30;624:5;600:30;:::i;:::-;552:84;;;;:::o;656:352::-;714:8;724:6;774:3;767:4;759:6;755:17;751:27;741:2;;792:1;789;782:12;741:2;828:6;815:20;805:30;;858:18;850:6;847:30;844:2;;;890:1;887;880:12;844:2;927:4;919:6;915:17;903:29;;981:3;973:4;965:6;961:17;951:8;947:32;944:41;941:2;;;998:1;995;988:12;941:2;731:277;;;;;:::o;1028:273::-;1084:5;1133:3;1126:4;1118:6;1114:17;1110:27;1100:2;;1151:1;1148;1141:12;1100:2;1191:6;1178:20;1216:79;1291:3;1283:6;1276:4;1268:6;1264:17;1216:79;:::i;:::-;1207:88;;1090:211;;;;;:::o;1307:520::-;1385:6;1393;1442:2;1430:9;1421:7;1417:23;1413:32;1410:2;;;1458:1;1455;1448:12;1410:2;1501:1;1526:53;1571:7;1562:6;1551:9;1547:22;1526:53;:::i;:::-;1516:63;;1472:117;1656:2;1645:9;1641:18;1628:32;1687:18;1679:6;1676:30;1673:2;;;1719:1;1716;1709:12;1673:2;1747:63;1802:7;1793:6;1782:9;1778:22;1747:63;:::i;:::-;1737:73;;1599:221;1400:427;;;;;:::o;1833:395::-;1904:6;1912;1961:2;1949:9;1940:7;1936:23;1932:32;1929:2;;;1977:1;1974;1967:12;1929:2;2048:1;2037:9;2033:17;2020:31;2078:18;2070:6;2067:30;2064:2;;;2110:1;2107;2100:12;2064:2;2146:65;2203:7;2194:6;2183:9;2179:22;2146:65;:::i;:::-;2128:83;;;;1991:230;1919:309;;;;;:::o;2234:540::-;2314:6;2322;2330;2379:2;2367:9;2358:7;2354:23;2350:32;2347:2;;;2395:1;2392;2385:12;2347:2;2466:1;2455:9;2451:17;2438:31;2496:18;2488:6;2485:30;2482:2;;;2528:1;2525;2518:12;2482:2;2564:65;2621:7;2612:6;2601:9;2597:22;2564:65;:::i;:::-;2546:83;;;;2409:230;2678:2;2704:53;2749:7;2740:6;2729:9;2725:22;2704:53;:::i;:::-;2694:63;;2649:118;2337:437;;;;;:::o;2780:679::-;2866:6;2874;2882;2890;2939:2;2927:9;2918:7;2914:23;2910:32;2907:2;;;2955:1;2952;2945:12;2907:2;3026:1;3015:9;3011:17;2998:31;3056:18;3048:6;3045:30;3042:2;;;3088:1;3085;3078:12;3042:2;3124:65;3181:7;3172:6;3161:9;3157:22;3124:65;:::i;:::-;3106:83;;;;2969:230;3238:2;3264:53;3309:7;3300:6;3289:9;3285:22;3264:53;:::i;:::-;3254:63;;3209:118;3366:2;3392:50;3434:7;3425:6;3414:9;3410:22;3392:50;:::i;:::-;3382:60;;3337:115;2897:562;;;;;;;:::o;3465:534::-;3542:6;3550;3558;3607:2;3595:9;3586:7;3582:23;3578:32;3575:2;;;3623:1;3620;3613:12;3575:2;3694:1;3683:9;3679:17;3666:31;3724:18;3716:6;3713:30;3710:2;;;3756:1;3753;3746:12;3710:2;3792:65;3849:7;3840:6;3829:9;3825:22;3792:65;:::i;:::-;3774:83;;;;3637:230;3906:2;3932:50;3974:7;3965:6;3954:9;3950:22;3932:50;:::i;:::-;3922:60;;3877:115;3565:434;;;;;:::o;4005:179::-;4074:10;4095:46;4137:3;4129:6;4095:46;:::i;:::-;4173:4;4168:3;4164:14;4150:28;;4085:99;;;;:::o;4190:196::-;4279:10;4314:66;4376:3;4368:6;4314:66;:::i;:::-;4300:80;;4290:96;;;;:::o;4392:108::-;4469:24;4487:5;4469:24;:::i;:::-;4464:3;4457:37;4447:53;;:::o;4506:118::-;4593:24;4611:5;4593:24;:::i;:::-;4588:3;4581:37;4571:53;;:::o;4660:732::-;4779:3;4808:54;4856:5;4808:54;:::i;:::-;4878:86;4957:6;4952:3;4878:86;:::i;:::-;4871:93;;4988:56;5038:5;4988:56;:::i;:::-;5067:7;5098:1;5083:284;5108:6;5105:1;5102:13;5083:284;;;5184:6;5178:13;5211:63;5270:3;5255:13;5211:63;:::i;:::-;5204:70;;5297:60;5350:6;5297:60;:::i;:::-;5287:70;;5143:224;5130:1;5127;5123:9;5118:14;;5083:284;;;5087:14;5383:3;5376:10;;4784:608;;;;;;;:::o;5426:991::-;5565:3;5594:64;5652:5;5594:64;:::i;:::-;5674:96;5763:6;5758:3;5674:96;:::i;:::-;5667:103;;5796:3;5841:4;5833:6;5829:17;5824:3;5820:27;5871:66;5931:5;5871:66;:::i;:::-;5960:7;5991:1;5976:396;6001:6;5998:1;5995:13;5976:396;;;6072:9;6066:4;6062:20;6057:3;6050:33;6123:6;6117:13;6151:84;6230:4;6215:13;6151:84;:::i;:::-;6143:92;;6258:70;6321:6;6258:70;:::i;:::-;6248:80;;6357:4;6352:3;6348:14;6341:21;;6036:336;6023:1;6020;6016:9;6011:14;;5976:396;;;5980:14;6388:4;6381:11;;6408:3;6401:10;;5570:847;;;;;;;;;:::o;6423:109::-;6504:21;6519:5;6504:21;:::i;:::-;6499:3;6492:34;6482:50;;:::o;6562:317::-;6678:3;6699:89;6781:6;6776:3;6699:89;:::i;:::-;6692:96;;6798:43;6834:6;6829:3;6822:5;6798:43;:::i;:::-;6866:6;6861:3;6857:16;6850:23;;6682:197;;;;;:::o;6885:344::-;6963:3;6991:39;7024:5;6991:39;:::i;:::-;7046:61;7100:6;7095:3;7046:61;:::i;:::-;7039:68;;7116:52;7161:6;7156:3;7149:4;7142:5;7138:16;7116:52;:::i;:::-;7193:29;7215:6;7193:29;:::i;:::-;7188:3;7184:39;7177:46;;6967:262;;;;;:::o;7235:377::-;7341:3;7369:39;7402:5;7369:39;:::i;:::-;7424:89;7506:6;7501:3;7424:89;:::i;:::-;7417:96;;7522:52;7567:6;7562:3;7555:4;7548:5;7544:16;7522:52;:::i;:::-;7599:6;7594:3;7590:16;7583:23;;7345:267;;;;;:::o;7642:845::-;7745:3;7782:5;7776:12;7811:36;7837:9;7811:36;:::i;:::-;7863:89;7945:6;7940:3;7863:89;:::i;:::-;7856:96;;7983:1;7972:9;7968:17;7999:1;7994:137;;;;8145:1;8140:341;;;;7961:520;;7994:137;8078:4;8074:9;8063;8059:25;8054:3;8047:38;8114:6;8109:3;8105:16;8098:23;;7994:137;;8140:341;8207:38;8239:5;8207:38;:::i;:::-;8267:1;8281:154;8295:6;8292:1;8289:13;8281:154;;;8369:7;8363:14;8359:1;8354:3;8350:11;8343:35;8419:1;8410:7;8406:15;8395:26;;8317:4;8314:1;8310:12;8305:17;;8281:154;;;8464:6;8459:3;8455:16;8448:23;;8147:334;;7961:520;;7749:738;;;;;;:::o;8493:295::-;8635:3;8657:105;8758:3;8749:6;8741;8657:105;:::i;:::-;8650:112;;8779:3;8772:10;;8639:149;;;;;:::o;8794:275::-;8926:3;8948:95;9039:3;9030:6;8948:95;:::i;:::-;8941:102;;9060:3;9053:10;;8930:139;;;;:::o;9075:269::-;9204:3;9226:92;9314:3;9305:6;9226:92;:::i;:::-;9219:99;;9335:3;9328:10;;9208:136;;;;:::o;9350:222::-;9443:4;9481:2;9470:9;9466:18;9458:26;;9494:71;9562:1;9551:9;9547:17;9538:6;9494:71;:::i;:::-;9448:124;;;;:::o;9578:373::-;9721:4;9759:2;9748:9;9744:18;9736:26;;9808:9;9802:4;9798:20;9794:1;9783:9;9779:17;9772:47;9836:108;9939:4;9930:6;9836:108;:::i;:::-;9828:116;;9726:225;;;;:::o;9957:413::-;10120:4;10158:2;10147:9;10143:18;10135:26;;10207:9;10201:4;10197:20;10193:1;10182:9;10178:17;10171:47;10235:128;10358:4;10349:6;10235:128;:::i;:::-;10227:136;;10125:245;;;;:::o;10376:210::-;10463:4;10501:2;10490:9;10486:18;10478:26;;10514:65;10576:1;10565:9;10561:17;10552:6;10514:65;:::i;:::-;10468:118;;;;:::o;10592:129::-;10626:6;10653:20;;:::i;:::-;10643:30;;10682:33;10710:4;10702:6;10682:33;:::i;:::-;10633:88;;;:::o;10727:75::-;10760:6;10793:2;10787:9;10777:19;;10767:35;:::o;10808:308::-;10870:4;10960:18;10952:6;10949:30;10946:2;;;10982:18;;:::i;:::-;10946:2;11020:29;11042:6;11020:29;:::i;:::-;11012:37;;11104:4;11098;11094:15;11086:23;;10875:241;;;:::o;11122:132::-;11189:4;11212:3;11204:11;;11242:4;11237:3;11233:14;11225:22;;11194:60;;;:::o;11260:142::-;11337:4;11360:3;11352:11;;11390:4;11385:3;11381:14;11373:22;;11342:60;;;:::o;11408:141::-;11457:4;11480:3;11472:11;;11503:3;11500:1;11493:14;11537:4;11534:1;11524:18;11516:26;;11462:87;;;:::o;11555:114::-;11622:6;11656:5;11650:12;11640:22;;11629:40;;;:::o;11675:124::-;11752:6;11786:5;11780:12;11770:22;;11759:40;;;:::o;11805:99::-;11857:6;11891:5;11885:12;11875:22;;11864:40;;;:::o;11910:113::-;11980:4;12012;12007:3;12003:14;11995:22;;11985:38;;;:::o;12029:123::-;12109:4;12141;12136:3;12132:14;12124:22;;12114:38;;;:::o;12158:184::-;12257:11;12291:6;12286:3;12279:19;12331:4;12326:3;12322:14;12307:29;;12269:73;;;;:::o;12348:194::-;12457:11;12491:6;12486:3;12479:19;12531:4;12526:3;12522:14;12507:29;;12469:73;;;;:::o;12548:159::-;12622:11;12656:6;12651:3;12644:19;12696:4;12691:3;12687:14;12672:29;;12634:73;;;;:::o;12713:148::-;12815:11;12852:3;12837:18;;12827:34;;;;:::o;12867:191::-;12907:4;12927:20;12945:1;12927:20;:::i;:::-;12922:25;;12961:20;12979:1;12961:20;:::i;:::-;12956:25;;13000:1;12997;12994:8;12991:2;;;13005:18;;:::i;:::-;12991:2;13050:1;13047;13043:9;13035:17;;12912:146;;;;:::o;13064:96::-;13101:7;13130:24;13148:5;13130:24;:::i;:::-;13119:35;;13109:51;;;:::o;13166:90::-;13200:7;13243:5;13236:13;13229:21;13218:32;;13208:48;;;:::o;13262:126::-;13299:7;13339:42;13332:5;13328:54;13317:65;;13307:81;;;:::o;13394:77::-;13431:7;13460:5;13449:16;;13439:32;;;:::o;13477:154::-;13561:6;13556:3;13551;13538:30;13623:1;13614:6;13609:3;13605:16;13598:27;13528:103;;;:::o;13637:307::-;13705:1;13715:113;13729:6;13726:1;13723:13;13715:113;;;13814:1;13809:3;13805:11;13799:18;13795:1;13790:3;13786:11;13779:39;13751:2;13748:1;13744:10;13739:15;;13715:113;;;13846:6;13843:1;13840:13;13837:2;;;13926:1;13917:6;13912:3;13908:16;13901:27;13837:2;13686:258;;;;:::o;13950:320::-;13994:6;14031:1;14025:4;14021:12;14011:22;;14078:1;14072:4;14068:12;14099:18;14089:2;;14155:4;14147:6;14143:17;14133:27;;14089:2;14217;14209:6;14206:14;14186:18;14183:38;14180:2;;;14236:18;;:::i;:::-;14180:2;14001:269;;;;:::o;14276:281::-;14359:27;14381:4;14359:27;:::i;:::-;14351:6;14347:40;14489:6;14477:10;14474:22;14453:18;14441:10;14438:34;14435:62;14432:2;;;14500:18;;:::i;:::-;14432:2;14540:10;14536:2;14529:22;14319:238;;;:::o;14563:233::-;14602:3;14625:24;14643:5;14625:24;:::i;:::-;14616:33;;14671:66;14664:5;14661:77;14658:2;;;14741:18;;:::i;:::-;14658:2;14788:1;14781:5;14777:13;14770:20;;14606:190;;;:::o;14802:180::-;14850:77;14847:1;14840:88;14947:4;14944:1;14937:15;14971:4;14968:1;14961:15;14988:180;15036:77;15033:1;15026:88;15133:4;15130:1;15123:15;15157:4;15154:1;15147:15;15174:180;15222:77;15219:1;15212:88;15319:4;15316:1;15309:15;15343:4;15340:1;15333:15;15360:102;15401:6;15452:2;15448:7;15443:2;15436:5;15432:14;15428:28;15418:38;;15408:54;;;:::o;15468:122::-;15541:24;15559:5;15541:24;:::i;:::-;15534:5;15531:35;15521:2;;15580:1;15577;15570:12;15521:2;15511:79;:::o;15596:116::-;15666:21;15681:5;15666:21;:::i;:::-;15659:5;15656:32;15646:2;;15702:1;15699;15692:12;15646:2;15636:76;:::o

Swarm Source

ipfs://eaecaff7e6a3efd258cbeacc9264efc5420c7446bd1d5ff2d032af2069f17490
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.