Sponsored Link:   COVESTING - EU-based digital asset exchange. Aggregated liquidity. Algorithmic & Copy-trading features. 24/7 support. Get access!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 1314 txns
Token Contract: PELO Coin (PELO)
 Latest 25 txns from a total Of 1314 transactions
View All

TxHash Age From To Value [TxFee]
0x468a63f69c50e5d29c811fbfa1a643575131fbd6642db1e25577f3ac46b059a31 day 21 hrs ago0x73064f6c1c5dad8d917782aec16ab564feb3c011  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000584729
0x748ddde0cd9029708ae0b41c51f9454c6291e7442d4aaa7a8728775cc37aca472 days 4 hrs ago0x4717656f72cbde56022750d1c5bb69b1c2113dfe  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000050846
0xe0278c322eae97c2fcad430745465bc753e97880c9ae19b8225462908bab4f2c2 days 5 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000678102
0xe433b27fd0196116a1c3a515e6f639df453067a6b08658cf013b632df541abc22 days 6 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000954846
0xc2ce7c5ded3b38b0ad88ff005f7d306f38e58e1be496801901ccca070d0f9bd12 days 6 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000332538
0xad5f26e303aac39a054d379a72ae0111bf2886709495a2b8b3c3a55d2f4c8c6c2 days 6 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000954846
0x290fbdc151500bcab1426b6c013619d0ea2daa2dcf250adf04137c9058f20b672 days 6 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000332154
0xe7f7172673bd19b19a679785306c48455f94d34108ed2eb13f97c52e353fab322 days 6 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000954462
0x63397588e008bbcd6546f8afefbd559a0e5a90e41498804b88f7c817666b86fa2 days 7 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000954846
0x11ff43be2c3a0afec1e01a24e93b69c80c6017ec2f6f8717445d9ddd6e61c7042 days 7 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000332154
0xa939f9c80b29b93315de5d48b8e4dd5dbb8f6ae5c8c14d16a47551603aebcca02 days 7 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000508602
0x86ae04308deae51369c623e7a7c600610407fa92a7e3a3089c98ae0b6a8077552 days 7 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000954846
0x9efaa8e806be1736259780d1b667df28ff5476c98f1927d6c1ef296ecee9de772 days 7 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000332538
0xeac83bef5ca7a45c1850b1ee0a8a9e46eae1860a80e242bd311a0fefff755d952 days 7 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000954846
0x732c29e2dce2c487dc83a4b5dda0a88ceee7da92a50e936ac107fa39fd5dffc62 days 7 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000678102
0xd9df8b9b7d86cd8bedf42cba4dcf9be685802b9477c6f4678b6df30cb435fcd22 days 9 hrs ago0xfd67b22d91f5833ff7a385a45aaf1d7e814af8f5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001654719
0xd326d605291d2511a01f51f66f77eb567b20a191f474aab166a8e740d38ff2952 days 9 hrs ago0xfd67b22d91f5833ff7a385a45aaf1d7e814af8f5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.002267095
0xd6a7dc89157732dbc76440548969fc85b57ad99976668befce229184e011a8173 days 7 hrs ago0x39d85a471a21a380a50bdfd312f8cde9eebfba8b  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001042343
0xaa5ede1b7c5da81acdf527c0b01006aaf8ab3a3dd69c57b1b49770c952c7eb0a3 days 8 hrs ago0x39d85a471a21a380a50bdfd312f8cde9eebfba8b  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.002269719
0xb39925074cfbc399b778e3e412135e12411a56b69e6def105bb0365bfe2dab623 days 10 hrs ago0xb9ab7bb167dd0b19e2227f178f1545a87b4de9df  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000025423
0x98c9958b8efe31dc6fc79f6bf8a05dc15ad70ad8a9e11d7c2900a7b429ea8e5a3 days 10 hrs ago0xc173fd243761d036abaaf5c2cd51c3bd34185a1c  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000025423
0xefcaefd32fc721a481df361c08c0e56336429538b67293203716e73e978a3e163 days 11 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00080846
0xdb59a4b12798e93c3be34cc614ef02ac88e7f6b817efa9c8530a2f9c0513f6ba3 days 11 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00080846
0x519a671ea3c5d7197e8d23592c8b43be1df9efee546e829fcbc20e118c7a0d8e4 days 1 hr ago0x05bf869e20693a20370b7867d1c41ef107e5edee  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000610152
0xdaf4b15eaaeeeaa38c93295050c56afbd3a777eb658bf51d64f9cec06ad787624 days 3 hrs ago0x05bf869e20693a20370b7867d1c41ef107e5edee  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000970152
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Source Code Verified (Exact match)
Contract Name: PELOCoinToken
Compiler Version: v0.4.19+commit.c4cbbb05
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.19;

contract Multiownable {

    // VARIABLES

    uint256 public howManyOwnersDecide;
    address[] public owners;
    bytes32[] public allOperations;
    address insideOnlyManyOwners;
    
    // Reverse lookup tables for owners and allOperations
    mapping(address => uint) ownersIndices; // Starts from 1
    mapping(bytes32 => uint) allOperationsIndicies;
    
    // Owners voting mask per operations
    mapping(bytes32 => uint256) public votesMaskByOperation;
    mapping(bytes32 => uint256) public votesCountByOperation;
    
    // EVENTS

    event OwnershipTransferred(address[] previousOwners, address[] newOwners);

    // ACCESSORS

    function isOwner(address wallet) public constant returns(bool) {
        return ownersIndices[wallet] > 0;
    }

    function ownersCount() public constant returns(uint) {
        return owners.length;
    }

    function allOperationsCount() public constant returns(uint) {
        return allOperations.length;
    }

    // MODIFIERS

    /**
    * @dev Allows to perform method by any of the owners
    */
    modifier onlyAnyOwner {
        require(isOwner(msg.sender));
        _;
    }

    /**
    * @dev Allows to perform method only after all owners call it with the same arguments
    */
    modifier onlyManyOwners {
        if (insideOnlyManyOwners == msg.sender) {
            _;
            return;
        }
        require(isOwner(msg.sender));

        uint ownerIndex = ownersIndices[msg.sender] - 1;
        bytes32 operation = keccak256(msg.data);
        
        if (votesMaskByOperation[operation] == 0) {
            allOperationsIndicies[operation] = allOperations.length;
            allOperations.push(operation);
        }
        require((votesMaskByOperation[operation] & (2 ** ownerIndex)) == 0);
        votesMaskByOperation[operation] |= (2 ** ownerIndex);
        votesCountByOperation[operation] += 1;

        // If all owners confirm same operation
        if (votesCountByOperation[operation] == howManyOwnersDecide) {
            deleteOperation(operation);
            insideOnlyManyOwners = msg.sender;
            _;
            insideOnlyManyOwners = address(0);
        }
    }

    // CONSTRUCTOR

    function Multiownable() public {
        owners.push(msg.sender);
        ownersIndices[msg.sender] = 1;
        howManyOwnersDecide = 1;
    }

    // INTERNAL METHODS

    /**
    * @dev Used to delete cancelled or performed operation
    * @param operation defines which operation to delete
    */
    function deleteOperation(bytes32 operation) internal {
        uint index = allOperationsIndicies[operation];
        if (allOperations.length > 1) {
            allOperations[index] = allOperations[allOperations.length - 1];
            allOperationsIndicies[allOperations[index]] = index;
        }
        allOperations.length--;
        
        delete votesMaskByOperation[operation];
        delete votesCountByOperation[operation];
        delete allOperationsIndicies[operation];
    }

    // PUBLIC METHODS

    /**
    * @dev Allows owners to change their mind by cacnelling votesMaskByOperation operations
    * @param operation defines which operation to delete
    */
    function cancelPending(bytes32 operation) public onlyAnyOwner {
        uint ownerIndex = ownersIndices[msg.sender] - 1;
        require((votesMaskByOperation[operation] & (2 ** ownerIndex)) != 0);
        
        votesMaskByOperation[operation] &= ~(2 ** ownerIndex);
        votesCountByOperation[operation]--;
        if (votesCountByOperation[operation] == 0) {
            deleteOperation(operation);
        }
    }

    /**
    * @dev Allows owners to change ownership
    * @param newOwners defines array of addresses of new owners
    */
    function transferOwnership(address[] newOwners) public {
        transferOwnershipWithHowMany(newOwners, newOwners.length);
    }

    /**
    * @dev Allows owners to change ownership
    * @param newOwners defines array of addresses of new owners
    * @param newHowManyOwnersDecide defines how many owners can decide
    */
    function transferOwnershipWithHowMany(address[] newOwners, uint256 newHowManyOwnersDecide) public onlyManyOwners {
        require(newOwners.length > 0);
        require(newOwners.length <= 256);
        require(newHowManyOwnersDecide > 0);
        require(newHowManyOwnersDecide <= newOwners.length);
        for (uint i = 0; i < newOwners.length; i++) {
            require(newOwners[i] != address(0));
        }

        OwnershipTransferred(owners, newOwners);

        // Reset owners array and index reverse lookup table
        for (i = 0; i < owners.length; i++) {
            delete ownersIndices[owners[i]];
        }
        for (i = 0; i < newOwners.length; i++) {
            require(ownersIndices[newOwners[i]] == 0);
            ownersIndices[newOwners[i]] = i + 1;
        }
        owners = newOwners;
        howManyOwnersDecide = newHowManyOwnersDecide;

        // Discard all pendign operations
        for (i = 0; i < allOperations.length; i++) {
            delete votesMaskByOperation[allOperations[i]];
            delete votesCountByOperation[allOperations[i]];
            delete allOperationsIndicies[allOperations[i]];
        }
        allOperations.length = 0;
    }

}

contract owned {
    address public owner;

    function owned() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) onlyOwner public {
        owner = newOwner;
    }
}


contract PELOExtensionInterface is owned {

    event ExtensionCalled(bytes32[8] params);

    address public ownerContract;

    function PELOExtensionInterface(address _ownerContract) public {
        ownerContract = _ownerContract;
    }
    
    function ChangeOwnerContract(address _ownerContract) onlyOwner public {
        ownerContract = _ownerContract;
    }
    
    function Operation(uint8 opCode, bytes32[8] params) public returns (bytes32[8] result) {}
}

contract PELOExtension1 is PELOExtensionInterface {

    function PELOExtension1(address _ownerContract) PELOExtensionInterface(_ownerContract) public {} 
    
    function Operation(uint8 opCode, bytes32[8] params) public returns (bytes32[8] result) {
        if(opCode == 1) {
            ExtensionCalled(params);
            return result;
        }
        else if(opCode == 2) {
            ExtensionCalled(params);
            return result;
        }
        else {
            return result;
        }
    }
}


interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }

contract TokenERC20 {
    // Public variables of the token
    string public name;
    string public symbol;
    uint8 public decimals = 18;
    // 18 decimals is the strongly suggested default, avoid changing it
    uint256 public totalSupply;

    // This creates an array with all balances
    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    // This generates a public event on the blockchain that will notify clients
    event Transfer(address indexed from, address indexed to, uint256 value);

    // This notifies clients about the amount burnt
    event Burn(address indexed from, uint256 value);

    /**
     * Constrctor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
    function TokenERC20(
        uint256 initialSupply,
        string tokenName,
        string tokenSymbol
    ) public {
        totalSupply = initialSupply * 10 ** uint256(decimals);  // Update total supply with the decimal amount
        balanceOf[msg.sender] = totalSupply;                // Give the creator all initial tokens
        name = tokenName;                                   // Set the name for display purposes
        symbol = tokenSymbol;                               // Set the symbol for display purposes
    }

    /**
     * Internal transfer, only can be called by this contract
     */
    function _transfer(address _from, address _to, uint _value) internal {
        // Prevent transfer to 0x0 address. Use burn() instead
        require(_to != 0x0);
        // Check if the sender has enough
        require(balanceOf[_from] >= _value);
        // Check for overflows
        require(balanceOf[_to] + _value > balanceOf[_to]);
        // Save this for an assertion in the future
        uint previousBalances = balanceOf[_from] + balanceOf[_to];
        // Subtract from the sender
        balanceOf[_from] -= _value;
        // Add the same to the recipient
        balanceOf[_to] += _value;
        Transfer(_from, _to, _value);
        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
    }

    /**
     * Transfer tokens
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transfer(address _to, uint256 _value) public {
        _transfer(msg.sender, _to, _value);
    }

    /**
     * Transfer tokens from other address
     *
     * Send `_value` tokens to `_to` in behalf of `_from`
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_value <= allowance[_from][msg.sender]);     // Check allowance
        allowance[_from][msg.sender] -= _value;
        _transfer(_from, _to, _value);
        return true;
    }

    /**
     * Set allowance for other address
     *
     * Allows `_spender` to spend no more than `_value` tokens in your behalf
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     */
    function approve(address _spender, uint256 _value) public
        returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        return true;
    }

    /**
     * Set allowance for other address and notify
     *
     * Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     * @param _extraData some extra information to send to the approved contract
     */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
        public
        returns (bool success) {
        tokenRecipient spender = tokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }

    /**
     * Destroy tokens
     *
     * Remove `_value` tokens from the system irreversibly
     *
     * @param _value the amount of money to burn
     */
    function burn(uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value);   // Check if the sender has enough
        balanceOf[msg.sender] -= _value;            // Subtract from the sender
        totalSupply -= _value;                      // Updates totalSupply
        Burn(msg.sender, _value);
        return true;
    }

    /**
     * Destroy tokens from other account
     *
     * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
     *
     * @param _from the address of the sender
     * @param _value the amount of money to burn
     */
    function burnFrom(address _from, uint256 _value) public returns (bool success) {
        require(balanceOf[_from] >= _value);                // Check if the targeted balance is enough
        require(_value <= allowance[_from][msg.sender]);    // Check allowance
        balanceOf[_from] -= _value;                         // Subtract from the targeted balance
        allowance[_from][msg.sender] -= _value;             // Subtract from the sender's allowance
        totalSupply -= _value;                              // Update totalSupply
        Burn(_from, _value);
        return true;
    }
}

/******************************************/
/*       ADVANCED TOKEN STARTS HERE       */
/******************************************/

contract PELOCoinToken is Multiownable, TokenERC20 {

    uint256 public sellPrice;
    uint256 public buyPrice;
    
    bool public userInitialized = false;
    
    PELOExtensionInterface public peloExtenstion;
    
    struct PELOMember {
        uint32 id;
        bytes32 nickname;
        address ethAddr;

        /* peloAmount should be specified without decimals. ex: 10000PELO should be specified as 10000 not 10000 * 10^18 */
        uint peloAmount;

        /* peloBonus should be specified without decimals. ex: 10000PELO should be specified as 10000 not 10000 * 10^18 */
        uint peloBonus;

        /* 1: infinite members, 2: limited member(has expairation date), 4: xxx, 8: xxx, 16: xxx, 32 ... 65536 ... 2^255 */
        uint bitFlag;

        uint32 expire;
        bytes32 extraData1;
        bytes32 extraData2;
        bytes32 extraData3;
    }
    
    uint8 public numMembers;

    mapping (address => bool) public frozenAccount;

    mapping (address => PELOMember) public PELOMemberMap;
    mapping (uint32 => address) public PELOMemberIDMap;

    /* This generates a public event on the blockchain that will notify clients */
    event FrozenFunds(address target, bool frozen);

    /* Initializes contract with initial supply tokens to the creator of the contract */
    function PELOCoinToken(
        uint256 initialSupply,
        string tokenName,
        string tokenSymbol
    ) TokenERC20(initialSupply, tokenName, tokenSymbol) public {}

    function GetUserNickName(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.nickname;
    }

    function GetUserID(address _addr) constant public returns(uint32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.id;
    }

    function GetUserPELOAmount(address _addr) constant public returns(uint) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.peloAmount;
    }

    function GetUserPELOBonus(address _addr) constant public returns(uint) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.peloBonus;
    }

    function GetUserBitFlag(address _addr) constant public returns(uint) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.bitFlag;
    }

    function TestUserBitFlag(address _addr, uint _flag) constant public returns(bool) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return (data.bitFlag & _flag) == _flag;
    }
    
    function GetUserExpire(address _addr) constant public returns(uint32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.expire;
    }
    
    function GetUserExtraData1(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.extraData1;
    }
    
    function GetUserExtraData2(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.extraData2;
    }
    
    function GetUserExtraData3(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.extraData3;
    }

    function UpdateUserNickName(address _addr, bytes32 _newNickName) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.nickname = _newNickName;
    }

    function UpdateUserPELOAmount(address _addr, uint _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.peloAmount = _newValue;
    }

    function UpdateUserPELOBonus(address _addr, uint _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.peloBonus = _newValue;
    }

    function UpdateUserBitFlag(address _addr, uint _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.bitFlag = _newValue;
    }

    function UpdateUserExpire(address _addr, uint32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.expire = _newValue;
    }

    function UpdateUserExtraData1(address _addr, bytes32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.extraData1 = _newValue;
    }

    function UpdateUserExtraData2(address _addr, bytes32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.extraData2 = _newValue;
    }

    function UpdateUserExtraData3(address _addr, bytes32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.extraData3 = _newValue;
    }

    function DeleteUserByAddr(address _addr) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);

        delete PELOMemberIDMap[PELOMemberMap[_addr].id];
        delete PELOMemberMap[_addr];

        numMembers--;
        assert(numMembers >= 0);
    }

    function DeleteUserByID(uint32 _id) onlyManyOwners public {
        require(PELOMemberIDMap[_id] != 0x0);
        address addr = PELOMemberIDMap[_id];
        require(PELOMemberMap[addr].id > 0);

        delete PELOMemberMap[addr];
        delete PELOMemberIDMap[_id];
        
        numMembers--;
        assert(numMembers >= 0);
    }

    function initializeUsers() onlyManyOwners public {
        if(!userInitialized) {

            userInitialized = true;
        }
    }
            
    function insertNewUser(uint32 _id, bytes32 _nickname, address _ethAddr, uint _peloAmount, uint _peloBonus, uint _bitFlag, uint32 _expire, bool fWithTransfer) onlyManyOwners public {

        PELOMember memory data; 

        require(_id > 0);
        require(PELOMemberMap[_ethAddr].id == 0);
        require(PELOMemberIDMap[_id] == 0x0);

        data.id = _id;
        data.nickname = _nickname;
        data.ethAddr = _ethAddr;
        data.peloAmount = _peloAmount;
        data.peloBonus = _peloBonus;
        data.bitFlag = _bitFlag;
        data.expire = _expire;

        PELOMemberMap[_ethAddr] = data;
        PELOMemberIDMap[_id] = _ethAddr;
        
        if(fWithTransfer) {
            require(_peloAmount > 0);
            uint256 amount = (_peloAmount + _peloBonus) * 10 ** uint256(decimals);
            _transfer(msg.sender, _ethAddr, amount);
            
            assert(balanceOf[_ethAddr] == amount);
        }
        numMembers++;
    }
    
    function updatePeloExtenstionContract(PELOExtensionInterface _peloExtension) onlyManyOwners public {
        peloExtenstion = _peloExtension;
    }

    /* Internal transfer, only can be called by this contract */
    function _transfer(address _from, address _to, uint _value) internal {
        require (_to != 0x0);                               // Prevent transfer to 0x0 address. Use burn() instead
        require (balanceOf[_from] >= _value);                // Check if the sender has enough
        require (balanceOf[_to] + _value > balanceOf[_to]); // Check for overflows
        require(!frozenAccount[_from]);                     // Check if sender is frozen
        require(!frozenAccount[_to]);                       // Check if recipient is frozen

        // Save this for an assertion in the future
        uint previousBalances = balanceOf[_from] + balanceOf[_to];

        if(peloExtenstion != PELOExtensionInterface(0x0))
            peloExtenstion.Operation(1, [bytes32(_from), bytes32(_to), bytes32(_value), bytes32(balanceOf[_from]), bytes32(balanceOf[_to]), bytes32(0), bytes32(0), bytes32(0)]);
        
        balanceOf[_from] -= _value;                         // Subtract from the sender
        balanceOf[_to] += _value;                           // Add the same to the recipient
        Transfer(_from, _to, _value);

        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
        
        if(peloExtenstion != PELOExtensionInterface(0x0))
            peloExtenstion.Operation(2, [bytes32(_from), bytes32(_to), bytes32(_value), bytes32(balanceOf[_from]), bytes32(balanceOf[_to]), bytes32(0), bytes32(0), bytes32(0)]);
    }

    /// @notice Create `mintedAmount` tokens and send it to `target`
    /// @param target Address to receive the tokens
    /// @param mintedAmount the amount of tokens it will receive
    function mintToken(address target, uint256 mintedAmount) onlyManyOwners public {
        balanceOf[target] += mintedAmount;
        totalSupply += mintedAmount;
        Transfer(0, this, mintedAmount);
        Transfer(this, target, mintedAmount);
    }

    /// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens
    /// @param target Address to be frozen
    /// @param freeze either to freeze it or not
    function freezeAccount(address target, bool freeze) onlyManyOwners public {
        frozenAccount[target] = freeze;
        FrozenFunds(target, freeze);
    }
    
    /**
     * Transfer tokens from other address forcibly(for dealing with illegal usage, etc)
     *
     * Send `_value` tokens to `_to` in behalf of `_from`
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferFromForcibly(address _from, address _to, uint256 _value) onlyManyOwners public returns (bool success) {

        if(allowance[_from][msg.sender] > _value)
            allowance[_from][msg.sender] -= _value;
        else 
            allowance[_from][msg.sender] = 0;

        assert(allowance[_from][msg.sender] >= 0);

        _transfer(_from, _to, _value);
        
        return true;
    }
    
    /**
     * Transfer all the tokens from other address forcibly(for dealing with illegal usage, etc)
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     */
    function transferAllFromForcibly(address _from, address _to) onlyManyOwners public returns (bool success) {

        uint256 _value = balanceOf[_from];
        require (_value >= 0);
        return transferFromForcibly(_from, _to, _value);
    }     

    /// @notice Allow users to buy tokens for `newBuyPrice` eth and sell tokens for `newSellPrice` eth
    /// @param newSellPrice Price the users can sell to the contract
    /// @param newBuyPrice Price users can buy from the contract
    function setPrices(uint256 newSellPrice, uint256 newBuyPrice) onlyManyOwners public {
        sellPrice = newSellPrice;
        buyPrice = newBuyPrice;
    }

    /// @notice Buy tokens from contract by sending ether
    function buy() payable public {
        uint amount = msg.value / buyPrice;               // calculates the amount
        _transfer(this, msg.sender, amount);              // makes the transfers
    }

    /// @notice Sell `amount` tokens to contract
    /// @param amount amount of tokens to be sold
    function sell(uint256 amount) public {
        require(this.balance >= amount * sellPrice);      // checks if the contract has enough ether to buy
        _transfer(msg.sender, this, amount);              // makes the transfers
        msg.sender.transfer(amount * sellPrice);          // sends ether to the seller. It's important to do this last to avoid recursion attacks
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newSellPrice","type":"uint256"},{"name":"newBuyPrice","type":"uint256"}],"name":"setPrices","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"bytes32"}],"name":"UpdateUserExtraData3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwners","type":"address[]"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"bytes32"}],"name":"UpdateUserExtraData2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allOperationsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"PELOMemberMap","outputs":[{"name":"id","type":"uint32"},{"name":"nickname","type":"bytes32"},{"name":"ethAddr","type":"address"},{"name":"peloAmount","type":"uint256"},{"name":"peloBonus","type":"uint256"},{"name":"bitFlag","type":"uint256"},{"name":"expire","type":"uint32"},{"name":"extraData1","type":"bytes32"},{"name":"extraData2","type":"bytes32"},{"name":"extraData3","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"howManyOwnersDecide","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"wallet","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"}],"name":"transferAllFromForcibly","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExpire","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allOperations","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"initializeUsers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numMembers","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"votesMaskByOperation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"UpdateUserBitFlag","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint32"}],"name":"DeleteUserByID","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserNickName","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExtraData2","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"DeleteUserByAddr","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newNickName","type":"bytes32"}],"name":"UpdateUserNickName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"operation","type":"bytes32"}],"name":"cancelPending","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"votesCountByOperation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExtraData3","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint32"}],"name":"UpdateUserExpire","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint32"},{"name":"_nickname","type":"bytes32"},{"name":"_ethAddr","type":"address"},{"name":"_peloAmount","type":"uint256"},{"name":"_peloBonus","type":"uint256"},{"name":"_bitFlag","type":"uint256"},{"name":"_expire","type":"uint32"},{"name":"fWithTransfer","type":"bool"}],"name":"insertNewUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"PELOMemberIDMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserBitFlag","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"userInitialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserPELOBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFromForcibly","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserPELOAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserID","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"},{"name":"_flag","type":"uint256"}],"name":"TestUserBitFlag","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExtraData1","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"UpdateUserPELOAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwners","type":"address[]"},{"name":"newHowManyOwnersDecide","type":"uint256"}],"name":"transferOwnershipWithHowMany","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"bytes32"}],"name":"UpdateUserExtraData1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_peloExtension","type":"address"}],"name":"updatePeloExtenstionContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"UpdateUserPELOBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"peloExtenstion","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousOwners","type":"address[]"},{"indexed":false,"name":"newOwners","type":"address[]"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052600a805460ff1990811660121790915560108054909116905534156200002957600080fd5b6040516200529f3803806200529f833981016040528080519190602001805182019190602001805182019190505082828260018054806001018281620000709190620000ff565b5060009182526020808320919091018054600160a060020a03191633600160a060020a031690811790915582526004815260408083206001908190558355600a805460ff16900a8602600b819055600c909252909120556008828051620000dc9291602001906200012b565b506009818051620000f29291602001906200012b565b50505050505050620001d0565b815481835581811511620001265760008381526020902062000126918101908301620001b0565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016e57805160ff19168380011785556200019e565b828001600101855582156200019e579182015b828111156200019e57825182559160200191906001019062000181565b50620001ac929150620001b0565b5090565b620001cd91905b80821115620001ac5760008155600101620001b7565b90565b6150bf80620001e06000396000f3006060604052600436106102bb5763ffffffff60e060020a600035041663025e7c2781146102c057806305fefda7146102f257806306cc63731461030d57806306fdde031461032f578063095ea7b3146103b957806318160ddd146103ef57806318bcd3d01461041457806319e3897a1461046357806322f2f89a1461048557806323b872dd1461049857806324a779ca146104c05780632f4a81df1461054b5780632f54bf6e1461055e578063313ce5671461057d5780633766baba146105a65780633f8ae6d9146105cb57806342966c6814610603578063431ab23314610619578063457bb6131461062f5780634698d110146106425780634b75033414610655578063568b59151461066857806356ae89a31461067e57806358d9e758146106a05780636ba2482d146106bc57806370a08231146106db57806379c65068146106fa57806379cc67901461071c5780637d03e6031461073e5780637fa0c10f1461075d57806384ff435f1461077c5780638620410b1461079e578063893372ca146107b157806390a53085146107c7578063918e2c3d146107dd57806393736419146107fc57806393ff3e4a1461082457806395d89b41146108685780639ad10d791461087b578063a5e57fcf14610897578063a6f2ae3a146108b6578063a9059cbb146108be578063af79ffde146108e0578063b2189d5a146108f3578063b414d4b614610912578063b948854614610931578063c9bc088314610944578063cae9ca511461096c578063cfec8d83146109d1578063d7c0da4a146109f0578063d7febcb914610a0f578063dd62ed3e14610a31578063de7b89bd14610a56578063e4849b3214610a75578063e68a555d14610a8b578063e724529c14610aad578063e851834114610ad1578063f1c53a3a14610b22578063f7a0b2da14610b44578063fd4649ae14610b63578063fdee60e914610b85575b600080fd5b34156102cb57600080fd5b6102d6600435610b98565b604051600160a060020a03909116815260200160405180910390f35b34156102fd57600080fd5b61030b600435602435610bc0565b005b341561031857600080fd5b61030b600160a060020a0360043516602435610d10565b341561033a57600080fd5b610342610eee565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561037e578082015183820152602001610366565b50505050905090810190601f1680156103ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103c457600080fd5b6103db600160a060020a0360043516602435610f8c565b604051901515815260200160405180910390f35b34156103fa57600080fd5b610402610fbc565b60405190815260200160405180910390f35b341561041f57600080fd5b61030b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610fc295505050505050565b341561046e57600080fd5b61030b600160a060020a0360043516602435610fd0565b341561049057600080fd5b6104026111a8565b34156104a357600080fd5b6103db600160a060020a03600435811690602435166044356111af565b34156104cb57600080fd5b6104df600160a060020a0360043516611226565b60405163ffffffff9a8b1681526020810199909952600160a060020a039097166040808a01919091526060890196909652608088019490945260a087019290925290951660c085015260e084019490945261010083019390935261012082015261014001905180910390f35b341561055657600080fd5b61040261128a565b341561056957600080fd5b6103db600160a060020a0360043516611290565b341561058857600080fd5b6105906112ac565b60405160ff909116815260200160405180910390f35b34156105b157600080fd5b6103db600160a060020a03600435811690602435166112b5565b34156105d657600080fd5b6105ea600160a060020a036004351661146b565b60405163ffffffff909116815260200160405180910390f35b341561060e57600080fd5b6103db600435611547565b341561062457600080fd5b6104026004356115d2565b341561063a57600080fd5b61030b6115f1565b341561064d57600080fd5b61059061176c565b341561066057600080fd5b61040261177c565b341561067357600080fd5b610402600435611782565b341561068957600080fd5b61030b600160a060020a0360043516602435611794565b34156106ab57600080fd5b61030b63ffffffff6004351661196c565b34156106c757600080fd5b610402600160a060020a0360043516611d16565b34156106e657600080fd5b610402600160a060020a0360043516611df2565b341561070557600080fd5b61030b600160a060020a0360043516602435611e04565b341561072757600080fd5b6103db600160a060020a0360043516602435612050565b341561074957600080fd5b610402600160a060020a036004351661212c565b341561076857600080fd5b61030b600160a060020a0360043516612208565b341561078757600080fd5b61030b600160a060020a0360043516602435612542565b34156107a957600080fd5b61040261271a565b34156107bc57600080fd5b61030b600435612720565b34156107d257600080fd5b6104026004356127b3565b34156107e857600080fd5b610402600160a060020a03600435166127c5565b341561080757600080fd5b61030b600160a060020a036004351663ffffffff602435166128a2565b341561082f57600080fd5b61030b63ffffffff60043581169060243590600160a060020a036044351690606435906084359060a4359060c4351660e4351515612aa1565b341561087357600080fd5b610342612ffc565b341561088657600080fd5b6102d663ffffffff60043516613067565b34156108a257600080fd5b610402600160a060020a0360043516613082565b61030b613160565b34156108c957600080fd5b61030b600160a060020a036004351660243561317d565b34156108eb57600080fd5b6103db613188565b34156108fe57600080fd5b610402600160a060020a0360043516613191565b341561091d57600080fd5b6103db600160a060020a036004351661326f565b341561093c57600080fd5b610402613284565b341561094f57600080fd5b6103db600160a060020a036004358116906024351660443561328a565b341561097757600080fd5b6103db60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061356895505050505050565b34156109dc57600080fd5b610402600160a060020a0360043516613681565b34156109fb57600080fd5b6105ea600160a060020a036004351661375f565b3415610a1a57600080fd5b6103db600160a060020a036004351660243561383a565b3415610a3c57600080fd5b610402600160a060020a036004358116906024351661391f565b3415610a6157600080fd5b610402600160a060020a036004351661393c565b3415610a8057600080fd5b61030b600435613a18565b3415610a9657600080fd5b61030b600160a060020a0360043516602435613a75565b3415610ab857600080fd5b61030b600160a060020a03600435166024351515613c50565b3415610adc57600080fd5b61030b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350613e7092505050565b3415610b2d57600080fd5b61030b600160a060020a03600435166024356145a7565b3415610b4f57600080fd5b61030b600160a060020a036004351661477f565b3415610b6e57600080fd5b61030b600160a060020a0360043516602435614912565b3415610b9057600080fd5b6102d6614aea565b6001805482908110610ba657fe5b600091825260209091200154600160a060020a0316905081565b600354600090819033600160a060020a0390811691161415610beb57600e849055600f839055610d0a565b610bf433611290565b1515610bff57600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515610c865760028054600083815260056020526040902081905560018101610c768382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615610ca557600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57610ce181614afe565b60038054600e869055600f859055600160a060020a033316600160a060020a0319918216171690555b50505050565b6003546000908190819033600160a060020a0390811691161415610d7d57600160a060020a03851660009081526012602052604081205463ffffffff1611610d5757600080fd5b600160a060020a0385166000908152601260205260409020600981018590559250610ee7565b610d8633611290565b1515610d9157600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515610e185760028054600083815260056020526040902081905560018101610e088382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615610e3757600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757610e7381614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611610eb557600080fd5b600160a060020a03851660009081526012602052604090206009810185905560038054600160a060020a031916905592505b5050505050565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f845780601f10610f5957610100808354040283529160200191610f84565b820191906000526020600020905b815481529060010190602001808311610f6757829003601f168201915b505050505081565b600160a060020a033381166000908152600d60209081526040808320938616835292905220819055600192915050565b600b5481565b610fcd818251613e70565b50565b6003546000908190819033600160a060020a039081169116141561103d57600160a060020a03851660009081526012602052604081205463ffffffff161161101757600080fd5b600160a060020a0385166000908152601260205260409020600881018590559250610ee7565b61104633611290565b151561105157600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156110d857600280546000838152600560205260409020819055600181016110c88382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156110f757600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee75761113381614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff161161117557600080fd5b505050600160a060020a039190911660009081526012602052604090206008015560038054600160a060020a0319169055565b6002545b90565b600160a060020a038084166000908152600d60209081526040808320339094168352929052908120548211156111e457600080fd5b600160a060020a038085166000908152600d60209081526040808320339094168352929052208054839003905561121c848484614bc3565b5060019392505050565b601260205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460099099015463ffffffff988916999798600160a060020a03909716979596949593949092169290918a565b60005481565b600160a060020a03166000908152600460205260408120541190565b600a5460ff1681565b60035460009081908190819033600160a060020a039081169116141561130e57600160a060020a0386166000908152600c602052604081205493508310156112fc57600080fd5b61130786868561328a565b9350611462565b61131733611290565b151561132257600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156113a957600280546000838152600560205260409020819055600181016113998382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156113c857600080fd5b60008181526006602090815260408083208054600287900a17905560079091528120805460010190819055905414156114625761140481614afe565b60038054600160a060020a03191633600160a060020a039081169190911790915586166000908152600c6020526040812054935083101561144457600080fd5b61144f86868561328a565b935060038054600160a060020a03191690555b50505092915050565b6000611475614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161149e57600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c08201908152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b600160a060020a0333166000908152600c60205260408120548290101561156d57600080fd5b600160a060020a0333166000818152600c60205260409081902080548590039055600b805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a2506001919050565b60028054829081106115e057fe5b600091825260209091200154905081565b600354600090819033600160a060020a039081169116141561162c5760105460ff161515611627576010805460ff191660011790555b611768565b61163533611290565b151561164057600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156116c757600280546000838152600560205260409020819055600181016116b78382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156116e657600080fd5b60008181526006602090815260408083208054600287900a17905560079091528120805460010190819055905414156117685761172281614afe565b60038054600160a060020a03191633600160a060020a031617905560105460ff161515611757576010805460ff191660011790555b60038054600160a060020a03191690555b5050565b60105460a860020a900460ff1681565b600e5481565b60066020526000908152604090205481565b6003546000908190819033600160a060020a039081169116141561180157600160a060020a03851660009081526012602052604081205463ffffffff16116117db57600080fd5b600160a060020a0385166000908152601260205260409020600581018590559250610ee7565b61180a33611290565b151561181557600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561189c576002805460008381526005602052604090208190556001810161188c8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156118bb57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee7576118f781614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff161161193957600080fd5b505050600160a060020a039190911660009081526012602052604090206005015560038054600160a060020a0319169055565b6003546000908190819033600160a060020a0390811691161415611ac05763ffffffff8416600090815260136020526040902054600160a060020a031615156119b457600080fd5b63ffffffff808516600090815260136020908152604080832054600160a060020a03168084526012909252822054909550909116116119f257600080fd5b600160a060020a0383166000908152601260209081526040808320805463ffffffff19908116825560018201859055600282018054600160a060020a03199081169091556003830186905560048301869055600583018690556006830180549092169091556007820185905560088201859055600990910184905563ffffffff8816845260139092528220805490911690556010805460ff60a860020a8083048216600019018216810260a860020a60ff021990931692909217928390559104161015611abb57fe5b610d0a565b611ac933611290565b1515611ad457600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515611b5b5760028054600083815260056020526040902081905560018101611b4b8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615611b7a57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57611bb681614afe565b60038054600160a060020a03191633600160a060020a039081169190911790915563ffffffff8516600090815260136020526040902054161515611bf957600080fd5b63ffffffff808516600090815260136020908152604080832054600160a060020a0316808452601290925282205490955090911611611c3757600080fd5b600160a060020a0383166000908152601260209081526040808320805463ffffffff19908116825560018201859055600282018054600160a060020a03199081169091556003830186905560048301869055600583018690556006830180549092169091556007820185905560088201859055600990910184905563ffffffff8816845260139092528220805490911690556010805460ff60a860020a8083048216600019018216810260a860020a60ff021990931692909217928390559104161015611d0057fe5b60038054600160a060020a031916905550505050565b6000611d20614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff1611611d4957600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff90811683526001840154602084019081526002850154600160a060020a0316928401929092526003840154606084015260048401546080840152600584015460a084015260068401541660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b600c6020526000908152604090205481565b600354600090819033600160a060020a0390811691161415611ea857600160a060020a038085166000908152600c6020526040808220805487019055600b80548701905530909216916000805160206150748339815191529086905190815260200160405180910390a383600160a060020a031630600160a060020a03166000805160206150748339815191528560405190815260200160405180910390a3610d0a565b611eb133611290565b1515611ebc57600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515611f435760028054600083815260056020526040902081905560018101611f338382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615611f6257600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57611f9e81614afe565b60038054600160a060020a03191633600160a060020a03908116919091179091558481166000908152600c6020526040808220805487019055600b80548701905530909216916000805160206150748339815191529086905190815260200160405180910390a383600160a060020a031630600160a060020a03166000805160206150748339815191528560405190815260200160405180910390a360038054600160a060020a031916905550505050565b600160a060020a0382166000908152600c60205260408120548290101561207657600080fd5b600160a060020a038084166000908152600d6020908152604080832033909416835292905220548211156120a957600080fd5b600160a060020a038084166000818152600c6020908152604080832080548890039055600d825280832033909516835293905282902080548590039055600b80548590039055907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b6000612136614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161215f57600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e0820152600882015461010082019081526009909201546101208201529150519392505050565b600354600090819033600160a060020a039081169116141561232357600160a060020a03831660009081526012602052604081205463ffffffff161161224d57600080fd5b600160a060020a0383166000818152601260208181526040808420805463ffffffff168552601383529084208054600160a060020a0319908116909155948452919052805463ffffffff19908116825560018201839055600282018054909416909355600381018290556004810182905560058101829055600681018054909316909255600782018190556008820181905560099091018190556010805460ff60a860020a8083048216600019018216810260a860020a60ff02199093169290921792839055910416101561231e57fe5b61253d565b61232c33611290565b151561233757600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156123be57600280546000838152600560205260409020819055600181016123ae8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156123dd57600080fd5b60008181526006602090815260408083208054600287900a179055600790915281208054600101908190559054141561253d5761241981614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155831660009081526012602052604081205463ffffffff161161245b57600080fd5b600160a060020a0383166000818152601260208181526040808420805463ffffffff168552601383529084208054600160a060020a0319908116909155948452919052805463ffffffff19908116825560018201839055600282018054909416909355600381018290556004810182905560058101829055600681018054909316909255600782018190556008820181905560099091018190556010805460ff60a860020a8083048216600019018216810260a860020a60ff02199093169290921792839055910416101561252c57fe5b60038054600160a060020a03191690555b505050565b6003546000908190819033600160a060020a03908116911614156125af57600160a060020a03851660009081526012602052604081205463ffffffff161161258957600080fd5b600160a060020a0385166000908152601260205260409020600181018590559250610ee7565b6125b833611290565b15156125c357600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561264a576002805460008381526005602052604090208190556001810161263a8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561266957600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee7576126a581614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff16116126e757600080fd5b505050600160a060020a039190911660009081526012602052604090206001015560038054600160a060020a0319169055565b600f5481565b600061272b33611290565b151561273657600080fd5b50600160a060020a03331660009081526004602090815260408083205484845260069092529091205460001990910190600282900a16151561277757600080fd5b60008281526006602090815260408083208054600286900a19169055600790915290208054600019019081905515156117685761176882614afe565b60076020526000908152604090205481565b60006127cf614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116127f857600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e082015260088201546101008201526009909101546101208201908152909150519392505050565b6003546000908190819033600160a060020a039081169116141561291f57600160a060020a03851660009081526012602052604081205463ffffffff16116128e957600080fd5b600160a060020a038516600090815260126020526040902060068101805463ffffffff191663ffffffff87161790559250610ee7565b61292833611290565b151561293357600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156129ba57600280546000838152600560205260409020819055600181016129aa8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156129d957600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757612a1581614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611612a5757600080fd5b600160a060020a038516600090815260126020526040902060068101805463ffffffff871663ffffffff1990911617905560038054600160a060020a031916905592505050505050565b612aa9614f7a565b6003546000908190819033600160a060020a0390811691161415612ccc57600063ffffffff8d1611612ada57600080fd5b600160a060020a038a1660009081526012602052604090205463ffffffff1615612b0357600080fd5b63ffffffff8c16600090815260136020526040902054600160a060020a031615612b2c57600080fd5b63ffffffff808d16855260208086018d9052600160a060020a038c166040808801829052606088018d9052608088018c905260a088018b905292891660c0880152600090815260129091522084908151815463ffffffff191663ffffffff91909116178155602082015160018201556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c082015160068201805463ffffffff191663ffffffff9290921691909117905560e082015160078201556101008201516008820155610120820151600991909101555063ffffffff8c1660009081526013602052604090208054600160a060020a031916600160a060020a038c161790558415612ca05760008911612c6557600080fd5b600a805460ff16900a888a01029250612c7f338b85614bc3565b600160a060020a038a166000908152600c60205260409020548314612ca057fe5b60108054600160ff60a860020a808404821692909201160260a860020a60ff0219909116179055612fee565b612cd533611290565b1515612ce057600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515612d675760028054600083815260056020526040902081905560018101612d578382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615612d8657600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415612fee57612dc281614afe565b60038054600160a060020a03191633600160a060020a0316179055600063ffffffff8d1611612df057600080fd5b600160a060020a038a1660009081526012602052604090205463ffffffff1615612e1957600080fd5b63ffffffff8c16600090815260136020526040902054600160a060020a031615612e4257600080fd5b63ffffffff808d16855260208086018d9052600160a060020a038c166040808801829052606088018d9052608088018c905260a088018b905292891660c0880152600090815260129091522084908151815463ffffffff191663ffffffff91909116178155602082015160018201556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c082015160068201805463ffffffff191663ffffffff9290921691909117905560e082015160078201556101008201516008820155610120820151600991909101555063ffffffff8c1660009081526013602052604090208054600160a060020a031916600160a060020a038c161790558415612fb65760008911612f7b57600080fd5b600a805460ff16900a888a01029250612f95338b85614bc3565b600160a060020a038a166000908152600c60205260409020548314612fb657fe5b60108054600160ff60a860020a808404821692909201160260a860020a60ff021990911617905560038054600160a060020a03191690555b505050505050505050505050565b60098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f845780601f10610f5957610100808354040283529160200191610f84565b601360205260009081526040902054600160a060020a031681565b600061308c614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116130b557600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a08301908152600684015490911660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b6000600f543481151561316f57fe5b049050610fcd303383614bc3565b611768338383614bc3565b60105460ff1681565b600061319b614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116131c457600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a03169183019190915260038301546060830152600483015460808301908152600584015460a0840152600684015490911660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b60116020526000908152604090205460ff1681565b60015490565b6003546000908190819033600160a060020a039081169116141561337857600160a060020a038087166000908152600d6020908152604080832033909416835292905220548490111561330957600160a060020a038087166000908152600d602090815260408083203390941683529290522080548590039055613333565b600160a060020a038087166000908152600d60209081526040808320339094168352929052908120555b600160a060020a038087166000908152600d6020908152604080832033909416835292905290812054101561336457fe5b61336f868686614bc3565b6001925061355f565b61338133611290565b151561338c57600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561341357600280546000838152600560205260409020819055600181016134038382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561343257600080fd5b60008181526006602090815260408083208054600287900a179055600790915281208054600101908190559054141561355f5761346e81614afe565b60038054600160a060020a03338116600160a060020a031990921682179092559087166000908152600d602090815260408083209383529290522054849011156134e457600160a060020a038087166000908152600d60209081526040808320339094168352929052208054859003905561350e565b600160a060020a038087166000908152600d60209081526040808320339094168352929052908120555b600160a060020a038087166000908152600d6020908152604080832033909416835292905290812054101561353f57fe5b61354a868686614bc3565b6001925060038054600160a060020a03191690555b50509392505050565b6000836135758185610f8c565b156136795780600160a060020a0316638f4ffcb1338630876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156136125780820151838201526020016135fa565b50505050905090810190601f16801561363f5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561366057600080fd5b6102c65a03f1151561367157600080fd5b505050600191505b509392505050565b600061368b614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116136b457600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a03169183019190915260038301546060830190815260048401546080840152600584015460a0840152600684015490911660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b6000613769614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161379257600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e08201526008820154610100820152600990910154610120820152905080519392505050565b6000613844614f7a565b600160a060020a03841660009081526012602052604081205463ffffffff161161386d57600080fd5b600160a060020a038416600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a08301908152600684015490911660c0830152600783015460e08301526008830154610100830152600990920154610120820152915083908190511614949350505050565b600d60209081526000928352604080842090915290825290205481565b6000613946614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161396f57600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e0820190815260088301546101008301526009909201546101208201529150519392505050565b600e548102600160a060020a033016311015613a3357600080fd5b613a3e333083614bc3565b33600160a060020a03166108fc600e5483029081150290604051600060405180830381858888f193505050501515610fcd57600080fd5b6003546000908190819033600160a060020a0390811691161415613ae257600160a060020a03851660009081526012602052604081205463ffffffff1611613abc57600080fd5b600160a060020a0385166000908152601260205260409020600381018590559250610ee7565b613aeb33611290565b1515613af657600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515613b7d5760028054600083815260056020526040902081905560018101613b6d8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615613b9c57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757613bd881614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611613c1a57600080fd5b505050600160a060020a039190911660009081526012602052604090206003908101919091558054600160a060020a0319169055565b600354600090819033600160a060020a0390811691161415613cde57600160a060020a03841660009081526011602052604090819020805460ff19168515151790557f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5908590859051600160a060020a039092168252151560208201526040908101905180910390a1610d0a565b613ce733611290565b1515613cf257600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515613d795760028054600083815260056020526040902081905560018101613d698382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615613d9857600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57613dd481614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155841660009081526011602052604090819020805460ff19168515151790557f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5908590859051600160a060020a039092168252151560208201526040908101905180910390a160038054600160a060020a031916905550505050565b6003546000908190819033600160a060020a0390811691161415614189576000855111613e9c57600080fd5b61010085511115613eac57600080fd5b60008411613eb957600080fd5b8451841115613ec757600080fd5b600092505b8451831015613f0c576000858481518110613ee357fe5b90602001906020020151600160a060020a03161415613f0157600080fd5b600190920191613ecc565b7fe62c04bb3499d4f432a50e07318d42861c4865afb22ee4cfe403d4f9455070906001866040518080602001806020018381038352858181548152602001915080548015613f8357602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311613f65575b5050838103825284818151815260200191508051906020019060200280838360005b83811015613fbd578082015183820152602001613fa5565b5050505090500194505050505060405180910390a1600092505b6001548310156140255760046000600185815481101515613ff457fe5b6000918252602080832090910154600160a060020a0316835282019290925260400181205560019290920191613fd7565b600092505b84518310156140b4576004600086858151811061404357fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541561407157600080fd5b826001016004600087868151811061408557fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205560019092019161402a565b60018580516140c7929160200190614fce565b50600084815592505b60025483101561417657600660006002858154811015156140ed57fe5b6000918252602080832090910154835282019290925260400181208190556002805460079291908690811061411e57fe5b6000918252602080832090910154835282019290925260400181208190556002805460059291908690811061414f57fe5b600091825260208083209091015483528201929092526040018120556001909201916140d0565b6000614183600282614f56565b50610ee7565b61419233611290565b151561419d57600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561422457600280546000838152600560205260409020819055600181016142148382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561424357600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee75761427f81614afe565b60038054600160a060020a03191633600160a060020a031617905560008551116142a857600080fd5b610100855111156142b857600080fd5b600084116142c557600080fd5b84518411156142d357600080fd5b600092505b84518310156143185760008584815181106142ef57fe5b90602001906020020151600160a060020a0316141561430d57600080fd5b6001909201916142d8565b7fe62c04bb3499d4f432a50e07318d42861c4865afb22ee4cfe403d4f945507090600186604051808060200180602001838103835285818154815260200191508054801561438f57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311614371575b5050838103825284818151815260200191508051906020019060200280838360005b838110156143c95780820151838201526020016143b1565b5050505090500194505050505060405180910390a1600092505b600154831015614431576004600060018581548110151561440057fe5b6000918252602080832090910154600160a060020a03168352820192909252604001812055600192909201916143e3565b600092505b84518310156144c0576004600086858151811061444f57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541561447d57600080fd5b826001016004600087868151811061449157fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055600190920191614436565b60018580516144d3929160200190614fce565b50600084815592505b60025483101561458257600660006002858154811015156144f957fe5b6000918252602080832090910154835282019290925260400181208190556002805460079291908690811061452a57fe5b6000918252602080832090910154835282019290925260400181208190556002805460059291908690811061455b57fe5b600091825260208083209091015483528201929092526040018120556001909201916144dc565b600061458f600282614f56565b5060038054600160a060020a03191690555050505050565b6003546000908190819033600160a060020a039081169116141561461457600160a060020a03851660009081526012602052604081205463ffffffff16116145ee57600080fd5b600160a060020a0385166000908152601260205260409020600781018590559250610ee7565b61461d33611290565b151561462857600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156146af576002805460008381526005602052604090208190556001810161469f8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156146ce57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee75761470a81614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff161161474c57600080fd5b505050600160a060020a039190911660009081526012602052604090206007015560038054600160a060020a0319169055565b600354600090819033600160a060020a03908116911614156147cd576010805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0386160217905561253d565b6147d633611290565b15156147e157600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561486857600280546000838152600560205260409020819055600181016148588382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561488757600080fd5b60008181526006602090815260408083208054600287900a179055600790915281208054600101908190559054141561253d576148c381614afe565b6003805460108054600160a060020a038781166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179091553316600160a060020a031991821617169055505050565b6003546000908190819033600160a060020a039081169116141561497f57600160a060020a03851660009081526012602052604081205463ffffffff161161495957600080fd5b600160a060020a0385166000908152601260205260409020600481018590559250610ee7565b61498833611290565b151561499357600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515614a1a5760028054600083815260056020526040902081905560018101614a0a8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615614a3957600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757614a7581614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611614ab757600080fd5b505050600160a060020a039190911660009081526012602052604090206004015560038054600160a060020a0319169055565b6010546101009004600160a060020a031681565b6000818152600560205260409020546002546001901115614b8657600280546000198101908110614b2b57fe5b906000526020600020900154600282815481101515614b4657fe5b6000918252602082200191909155600280548392600592909184908110614b6957fe5b600091825260208083209091015483528201929092526040019020555b6002805490614b99906000198301614f56565b50506000908152600660209081526040808320839055600782528083208390556005909152812055565b6000600160a060020a0383161515614bda57600080fd5b600160a060020a0384166000908152600c602052604090205482901015614c0057600080fd5b600160a060020a0383166000908152600c602052604090205482810111614c2657600080fd5b600160a060020a03841660009081526011602052604090205460ff1615614c4c57600080fd5b600160a060020a03831660009081526011602052604090205460ff1615614c7257600080fd5b50600160a060020a038083166000908152600c60205260408082205486841683529120546010549101916101009091041615614db257601054600160a060020a03610100918290041690637a4fb678906001906040519081016040908152600160a060020a03808a1680845290891660208085018290528385018a90526000928352600c8082528484205460608701529183525281812054608084015260a0830181905260c0830181905260e08301819052905161010001526040518363ffffffff1660e060020a028152600401808360ff16815260200182600860200280838360005b83811015614d6e578082015183820152602001614d56565b505050509050019250505061010060405180830381600087803b1515614d9357600080fd5b6102c65a03f11515614da457600080fd5b505050604051610100016040525b600160a060020a038085166000818152600c60205260408082208054879003905592861680825290839020805486019055916000805160206150748339815191529085905190815260200160405180910390a3600160a060020a038084166000908152600c6020526040808220549287168252902054018114614e3157fe5b6010546101009004600160a060020a031615610d0a57601054600160a060020a03610100918290041690637a4fb678906002906040519081016040908152600160a060020a03808a1680845290891660208085018290528385018a90526000928352600c8082528484205460608701529183525281812054608084015260a0830181905260c0830181905260e08301819052905161010001526040518363ffffffff1660e060020a028152600401808360ff16815260200182600860200280838360005b83811015614f0d578082015183820152602001614ef5565b505050509050019250505061010060405180830381600087803b1515614f3257600080fd5b6102c65a03f11515614f4357600080fd5b5050506040516101000160405250505050565b81548183558181151161253d5760008381526020902061253d918101908301615035565b6101406040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820181905261012082015290565b828054828255906000526020600020908101928215615025579160200282015b828111156150255782518254600160a060020a031916600160a060020a039190911617825560209290920191600190910190614fee565b5061503192915061504f565b5090565b6111ac91905b80821115615031576000815560010161503b565b6111ac91905b80821115615031578054600160a060020a03191681556001016150555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582062fbd8c381bb81890396f0aebea60d11cbad9fc9f87f6600d6590023a3129c560029000000000000000000000000000000000000000000000000000000000c845880000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000950454c4f20436f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000450454c4f00000000000000000000000000000000000000000000000000000000

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

-----Decoded View---------------
Found 7 constructor arguments :
Arg [0] : 000000000000000000000000000000000000000000000000000000000c845880
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 50454c4f20436f696e0000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 50454c4f00000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://62fbd8c381bb81890396f0aebea60d11cbad9fc9f87f6600d6590023a3129c56

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.