ETH Price: $3,232.77 (+1.93%)

Contract

0x0c5f5b781F5a8a0544E2AFE23cF0bA21675fFcf6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
Age
From
To
Airdrop Token164183652023-01-16 9:10:35729 days ago1673860235IN
0x0c5f5b78...1675fFcf6
0 ETH0.0059164517.71289024
Airdrop Token164183642023-01-16 9:10:23729 days ago1673860223IN
0x0c5f5b78...1675fFcf6
0 ETH0.0528947817.22692791
Airdrop Token164183452023-01-16 9:06:35729 days ago1673859995IN
0x0c5f5b78...1675fFcf6
0 ETH0.0603922518.96139097
Airdrop Token164183442023-01-16 9:06:23729 days ago1673859983IN
0x0c5f5b78...1675fFcf6
0 ETH0.0574798918.0558823
Airdrop Token164183432023-01-16 9:06:11729 days ago1673859971IN
0x0c5f5b78...1675fFcf6
0 ETH0.0559726317.58385168
Airdrop Token164183422023-01-16 9:05:59729 days ago1673859959IN
0x0c5f5b78...1675fFcf6
0 ETH0.0552116917.34652384
Airdrop Token164183412023-01-16 9:05:47729 days ago1673859947IN
0x0c5f5b78...1675fFcf6
0 ETH0.0569865517.89911526
Airdrop Token164183402023-01-16 9:05:35729 days ago1673859935IN
0x0c5f5b78...1675fFcf6
0 ETH0.057294717.99049997
Airdrop Token164183392023-01-16 9:05:23729 days ago1673859923IN
0x0c5f5b78...1675fFcf6
0 ETH0.0551300117.31059334
Airdrop Token164183382023-01-16 9:05:11729 days ago1673859911IN
0x0c5f5b78...1675fFcf6
0 ETH0.0557774217.51343809
Airdrop Token164183372023-01-16 9:04:59729 days ago1673859899IN
0x0c5f5b78...1675fFcf6
0 ETH0.0558239617.53320236
Airdrop Token164183362023-01-16 9:04:47729 days ago1673859887IN
0x0c5f5b78...1675fFcf6
0 ETH0.0526190316.52188558
Set Authorized A...164183182023-01-16 9:01:11729 days ago1673859671IN
0x0c5f5b78...1675fFcf6
0 ETH0.0008796118.92788743
Set Merkle Root164183162023-01-16 9:00:47729 days ago1673859647IN
0x0c5f5b78...1675fFcf6
0 ETH0.000805817.34059872

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x7e00F4FA...3aD00d606
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
KlubX

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 9 : kbx.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// BY @0XDAVZER FOR KLUBX. Special Thanks to @SamuelCardillo
// ,--,
// ,--.,---.'|
// ,--/ /|| | : ,---,. ,--, ,--,
// ,---,': / ': : | ,--, ,' .' \|'. \ / .`|
// : : '/ / | ' : ,'_ /|,---.' .' |; \ `\ /' / ;
// | ' , ; ; ' .--. | | :| | |: |`. \ / / .'
// ' | / ' | |__ ,'_ /| : . |: : : / \ \/ / ./
// | ; ; | | :.'|| ' | | . .: | ; \ \.' /
// : ' \ ' : ;| | ' | | || : \ \ ; ;
// | | ' | | ./ : | | : ' ;| | . | / \ \ \
// ' : |. \; : ; | ; ' | | '' : '; | ; /\ \ \
// | | '_\.'| ,/ : | : ; ; || | | ;./__; \ ; \
// ' : | '---' ' : `--' \ : / | : / \ \ ;
// ; |,' : , .-./ | ,' ; |/ \ ' |
// '---' `--`----' `----' `---' `--`
pragma solidity ^0.8.17;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
import "https://github.com/ProjectOpenSea/operator-filter-registry/blob/529cceeda9f5f8e28812c20042cc57626f784718/src/DefaultOperatorFilterer.sol";
import "https://github.com/chiru-labs/ERC721A/blob/2342b592d990a7710faf40fe66cfa1ce61dd2339/contracts/ERC721A.sol";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 9 : ERC721A.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// ERC721A Contracts v4.2.3
// Creator: Chiru Labs
pragma solidity ^0.8.4;
import './IERC721A.sol';
/**
* @dev Interface of ERC721 token receiver.
*/
interface ERC721A__IERC721Receiver {
function onERC721Received(
address operator,
address from,
uint256 tokenId,
bytes calldata data
) external returns (bytes4);
}
/**
* @title ERC721A
*
* @dev Implementation of the [ERC721](https://eips.ethereum.org/EIPS/eip-721)
* Non-Fungible Token Standard, including the Metadata extension.
* Optimized for lower gas during batch mints.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 9 : DefaultOperatorFilterer.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import {OperatorFilterer} from "./OperatorFilterer.sol";
/**
* @title DefaultOperatorFilterer
* @notice Inherits from OperatorFilterer and automatically subscribes to the default OpenSea subscription.
*/
abstract contract DefaultOperatorFilterer is OperatorFilterer {
address constant DEFAULT_SUBSCRIPTION = address(0x3cc6CddA760b79bAfa08dF41ECFA224f810dCeB6);
constructor() OperatorFilterer(DEFAULT_SUBSCRIPTION, true) {}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 9 : MerkleProof.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/MerkleProof.sol)
pragma solidity ^0.8.0;
/**
* @dev These functions deal with verification of Merkle Tree proofs.
*
* The tree and the proofs can be generated using our
* https://github.com/OpenZeppelin/merkle-tree[JavaScript library].
* You will find a quickstart guide in the readme.
*
* WARNING: You should avoid using leaf values that are 64 bytes long prior to
* hashing, or use a hash function other than keccak256 for hashing leaves.
* This is because the concatenation of a sorted pair of internal nodes in
* the merkle tree could be reinterpreted as a leaf value.
* OpenZeppelin's JavaScript library generates merkle trees that are safe
* against this attack out of the box.
*/
library MerkleProof {
/**
* @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
* defined by `root`. For this, a `proof` must be provided, containing
* sibling hashes on the branch from the leaf to the root of the tree. Each
* pair of leaves and each pair of pre-images are assumed to be sorted.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 9 : Ownable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 9 : IERC721A.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// ERC721A Contracts v4.2.3
// Creator: Chiru Labs
pragma solidity ^0.8.4;
/**
* @dev Interface of ERC721A.
*/
interface IERC721A {
/**
* The caller must own the token or be an approved operator.
*/
error ApprovalCallerNotOwnerNorApproved();
/**
* The token does not exist.
*/
error ApprovalQueryForNonexistentToken();
/**
* Cannot query the balance for the zero address.
*/
error BalanceQueryForZeroAddress();
/**
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 9 : OperatorFilterer.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import {IOperatorFilterRegistry} from "./IOperatorFilterRegistry.sol";
/**
* @title OperatorFilterer
* @notice Abstract contract whose constructor automatically registers and optionally subscribes to or copies another
* registrant's entries in the OperatorFilterRegistry.
* @dev This smart contract is meant to be inherited by token contracts so they can use the following:
* - `onlyAllowedOperator` modifier for `transferFrom` and `safeTransferFrom` methods.
* - `onlyAllowedOperatorApproval` modifier for `approve` and `setApprovalForAll` methods.
*/
abstract contract OperatorFilterer {
error OperatorNotAllowed(address operator);
IOperatorFilterRegistry public constant OPERATOR_FILTER_REGISTRY =
IOperatorFilterRegistry(0x000000000000AAeB6D7670E522A718067333cd4E);
constructor(address subscriptionOrRegistrantToCopy, bool subscribe) {
// If an inheriting token contract is deployed to a network without the registry deployed, the modifier
// will not revert, but the contract will need to be registered with the registry once it is deployed in
// order for the modifier to filter addresses.
if (address(OPERATOR_FILTER_REGISTRY).code.length > 0) {
if (subscribe) {
OPERATOR_FILTER_REGISTRY.registerAndSubscribe(address(this), subscriptionOrRegistrantToCopy);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 9 : Context.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 9 : IOperatorFilterRegistry.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
interface IOperatorFilterRegistry {
function isOperatorAllowed(address registrant, address operator) external view returns (bool);
function register(address registrant) external;
function registerAndSubscribe(address registrant, address subscription) external;
function registerAndCopyEntries(address registrant, address registrantToCopy) external;
function unregister(address addr) external;
function updateOperator(address registrant, address operator, bool filtered) external;
function updateOperators(address registrant, address[] calldata operators, bool filtered) external;
function updateCodeHash(address registrant, bytes32 codehash, bool filtered) external;
function updateCodeHashes(address registrant, bytes32[] calldata codeHashes, bool filtered) external;
function subscribe(address registrant, address registrantToSubscribe) external;
function unsubscribe(address registrant, bool copyExistingEntries) external;
function subscriptionOf(address addr) external returns (address registrant);
function subscribers(address registrant) external returns (address[] memory);
function subscriberAt(address registrant, uint256 index) external returns (address);
function copyEntriesOf(address registrant, address registrantToCopy) external;
function isOperatorFiltered(address registrant, address operator) external returns (bool);
function isCodeHashOfFiltered(address registrant, address operatorWithCode) external returns (bool);
function isCodeHashFiltered(address registrant, bytes32 codeHash) external returns (bool);
function filteredOperators(address addr) external returns (address[] memory);
function filteredCodeHashes(address addr) external returns (bytes32[] memory);
function filteredOperatorAt(address registrant, uint256 index) external returns (address);
function filteredCodeHashAt(address registrant, uint256 index) external returns (bytes32);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"},{"internalType":"uint256","name":"totalWhitelist","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"OperatorNotAllowed","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"ConsecutiveTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"OPERATOR_FILTER_REGISTRY","outputs":[{"internalType":"contract IOperatorFilterRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_authorizedContracts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_baseTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_canBeTransferred","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_itemByWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalWhitelist","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"whitelisted","type":"address[]"},{"internalType":"bytes32[][]","name":"merkleLeafs","type":"bytes32[][]"}],"name":"airdropToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"isAbleToAirdrop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"walletAddress","type":"address"},{"internalType":"bytes32[]","name":"merkleLeafs","type":"bytes32[]"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"numberMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"setAuthorizedAirdropper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"setAuthorizedContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseTokenURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"newMerkleRoot","type":"bytes32"}],"name":"setMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"totalWhitelist","type":"uint256"}],"name":"setTotalWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"canBeTransferred","type":"bool"}],"name":"setTransferable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAll","outputs":[],"stateMutability":"payable","type":"function"}]

Deployed Bytecode

0x6080604052600436106102045760003560e01c8063853828b611610118578063bec7360a116100a0578063e51b20721161006f578063e51b20721461073a578063e985e9c514610763578063f215436f146107a0578063f2fde38b146107c9578063f919a9a5146107f257610204565b8063bec7360a1461066a578063c87b56dd14610695578063cfc86f7b146106d2578063dc33e681146106fd57610204565b80639aad69e7116100e75780639aad69e7146105a85780639cd23707146105d1578063a22cb465146105fa578063a6ce284014610623578063b88d4fde1461064e57610204565b8063853828b61461050b5780638da5cb5b1461051557806395d89b41146105405780639667a3691461056b57610204565b80632eb4a7ab1161019b5780635a23dd991161016a5780635a23dd99146104145780636352211e1461045157806370a082311461048e578063715018a6146104cb5780637cb64759146104e257610204565b80632eb4a7ab1461037957806341f43434146103a457806342842e0e146103cf57806355f804b3146103eb57610204565b8063095ea7b3116101d7578063095ea7b3146102eb57806318160ddd14610307578063227a70d21461033257806323b872dd1461035d57610204565b806301ffc9a714610209578063055e7f001461024657806306fdde0314610283578063081812fc146102ae575b600080fd5b34801561021557600080fd5b50610230600480360381019061022b9190612cd4565b61081b565b60405161023d9190612d1c565b60405180910390f35b34801561025257600080fd5b5061026d60048036038101906102689190612d95565b6108ad565b60405161027a9190612d1c565b60405180910390f35b34801561028f57600080fd5b506102986108cd565b6040516102a59190612e52565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d09190612eaa565b61095f565b6040516102e29190612ee6565b60405180910390f35b61030560048036038101906103009190612f01565b6109de565b005b34801561031357600080fd5b5061031c610b8b565b6040516103299190612f50565b60405180910390f35b34801561033e57600080fd5b50610347610ba2565b6040516103549190612f50565b60405180910390f35b61037760048036038101906103729190612f6b565b610ba8565b005b34801561038557600080fd5b5061038e610cf8565b60405161039b9190612fd7565b60405180910390f35b3480156103b057600080fd5b506103b9610cfe565b6040516103c69190613051565b60405180910390f35b6103e960048036038101906103e49190612f6b565b610d10565b005b3480156103f757600080fd5b50610412600480360381019061040d91906131a1565b610e60565b005b34801561042057600080fd5b5061043b6004803603810190610436919061324a565b610eef565b6040516104489190612d1c565b60405180910390f35b34801561045d57600080fd5b5061047860048036038101906104739190612eaa565b610f6e565b6040516104859190612ee6565b60405180910390f35b34801561049a57600080fd5b506104b560048036038101906104b09190612d95565b610f80565b6040516104c29190612f50565b60405180910390f35b3480156104d757600080fd5b506104e0611038565b005b3480156104ee57600080fd5b50610509600480360381019061050491906132d6565b6110c0565b005b610513611146565b005b34801561052157600080fd5b5061052a611202565b6040516105379190612ee6565b60405180910390f35b34801561054c57600080fd5b5061055561122c565b6040516105629190612e52565b60405180910390f35b34801561057757600080fd5b50610592600480360381019061058d9190612d95565b6112be565b60405161059f9190612d1c565b60405180910390f35b3480156105b457600080fd5b506105cf60048036038101906105ca9190612d95565b611314565b005b3480156105dd57600080fd5b506105f860048036038101906105f3919061332f565b6113eb565b005b34801561060657600080fd5b50610621600480360381019061061c919061335c565b611484565b005b34801561062f57600080fd5b50610638611631565b6040516106459190612f50565b60405180910390f35b6106686004803603810190610663919061343d565b611637565b005b34801561067657600080fd5b5061067f61178a565b60405161068c9190612d1c565b60405180910390f35b3480156106a157600080fd5b506106bc60048036038101906106b79190612eaa565b61179d565b6040516106c99190612e52565b60405180910390f35b3480156106de57600080fd5b506106e7611831565b6040516106f49190612e52565b60405180910390f35b34801561070957600080fd5b50610724600480360381019061071f9190612d95565b6118bf565b6040516107319190612f50565b60405180910390f35b34801561074657600080fd5b50610761600480360381019061075c9190612eaa565b6118d1565b005b34801561076f57600080fd5b5061078a600480360381019061078591906134c0565b611957565b6040516107979190612d1c565b60405180910390f35b3480156107ac57600080fd5b506107c760048036038101906107c29190612d95565b6119eb565b005b3480156107d557600080fd5b506107f060048036038101906107eb9190612d95565b611ac2565b005b3480156107fe57600080fd5b5061081960048036038101906108149190613619565b611bb9565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061087657506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108a65750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600d6020528060005260406000206000915054906101000a900460ff1681565b6060600280546108dc906136c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610908906136c4565b80156109555780601f1061092a57610100808354040283529160200191610955565b820191906000526020600020905b81548152906001019060200180831161093857829003601f168201915b5050505050905090565b600061096a82611db2565b6109a0576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8160006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115610ad9576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401610a569291906136f5565b602060405180830381865afa158015610a73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a979190613733565b610ad857806040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401610acf9190612ee6565b60405180910390fd5b5b600c60009054906101000a900460ff1680610b3d5750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b73906137d2565b60405180910390fd5b610b868383611e11565b505050565b6000610b95611e21565b6001546000540303905090565b600b5481565b8260006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115610ce6573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c1a57610c15848484611e2a565b610cf2565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b8152600401610c639291906136f5565b602060405180830381865afa158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca49190613733565b610ce557336040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401610cdc9190612ee6565b60405180910390fd5b5b610cf1848484611e2a565b5b50505050565b600e5481565b6daaeb6d7670e522a718067333cd4e81565b8260006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115610e4e573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d8257610d7d84848461214c565b610e5a565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b8152600401610dcb9291906136f5565b602060405180830381865afa158015610de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0c9190613733565b610e4d57336040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401610e449190612ee6565b60405180910390fd5b5b610e5984848461214c565b5b50505050565b610e6861216c565b73ffffffffffffffffffffffffffffffffffffffff16610e86611202565b73ffffffffffffffffffffffffffffffffffffffff1614610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed39061383e565b60405180910390fd5b8060099081610eeb9190613a00565b5050565b6000610f65838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050600e5486604051602001610f4a9190613b1a565b60405160208183030381529060405280519060200120612174565b90509392505050565b6000610f798261218b565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fe7576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b61104061216c565b73ffffffffffffffffffffffffffffffffffffffff1661105e611202565b73ffffffffffffffffffffffffffffffffffffffff16146110b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ab9061383e565b60405180910390fd5b6110be6000612283565b565b6110c861216c565b73ffffffffffffffffffffffffffffffffffffffff166110e6611202565b73ffffffffffffffffffffffffffffffffffffffff161461113c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111339061383e565b60405180910390fd5b80600e8190555050565b61114e61216c565b73ffffffffffffffffffffffffffffffffffffffff1661116c611202565b73ffffffffffffffffffffffffffffffffffffffff16146111c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b99061383e565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505061120057600080fd5b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606003805461123b906136c4565b80601f0160208091040260200160405190810160405280929190818152602001828054611267906136c4565b80156112b45780601f10611289576101008083540402835291602001916112b4565b820191906000526020600020905b81548152906001019060200180831161129757829003601f168201915b5050505050905090565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61131c61216c565b73ffffffffffffffffffffffffffffffffffffffff1661133a611202565b73ffffffffffffffffffffffffffffffffffffffff1614611390576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113879061383e565b60405180910390fd5b6001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6113f361216c565b73ffffffffffffffffffffffffffffffffffffffff16611411611202565b73ffffffffffffffffffffffffffffffffffffffff1614611467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145e9061383e565b60405180910390fd5b80600c60006101000a81548160ff02191690831515021790555050565b8160006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b111561157f576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b81526004016114fc9291906136f5565b602060405180830381865afa158015611519573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153d9190613733565b61157e57806040517fede71dcc0000000000000000000000000000000000000000000000000000000081526004016115759190612ee6565b60405180910390fd5b5b600c60009054906101000a900460ff16806115e35750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611622576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611619906137d2565b60405180910390fd5b61162c8383612349565b505050565b600a5481565b8360006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115611776573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116aa576116a585858585612454565b611783565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b81526004016116f39291906136f5565b602060405180830381865afa158015611710573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117349190613733565b61177557336040517fede71dcc00000000000000000000000000000000000000000000000000000000815260040161176c9190612ee6565b60405180910390fd5b5b61178285858585612454565b5b5050505050565b600c60009054906101000a900460ff1681565b6060600980546117ac906136c4565b80601f01602080910402602001604051908101604052809291908181526020018280546117d8906136c4565b80156118255780601f106117fa57610100808354040283529160200191611825565b820191906000526020600020905b81548152906001019060200180831161180857829003601f168201915b50505050509050919050565b6009805461183e906136c4565b80601f016020809104026020016040519081016040528092919081815260200182805461186a906136c4565b80156118b75780601f1061188c576101008083540402835291602001916118b7565b820191906000526020600020905b81548152906001019060200180831161189a57829003601f168201915b505050505081565b60006118ca826124c7565b9050919050565b6118d961216c565b73ffffffffffffffffffffffffffffffffffffffff166118f7611202565b73ffffffffffffffffffffffffffffffffffffffff161461194d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119449061383e565b60405180910390fd5b80600a8190555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6119f361216c565b73ffffffffffffffffffffffffffffffffffffffff16611a11611202565b73ffffffffffffffffffffffffffffffffffffffff1614611a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5e9061383e565b60405180910390fd5b6001600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611aca61216c565b73ffffffffffffffffffffffffffffffffffffffff16611ae8611202565b73ffffffffffffffffffffffffffffffffffffffff1614611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b359061383e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba490613ba7565b60405180910390fd5b611bb681612283565b50565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611c0f57600080fd5b600a546001611c1c610b8b565b611c269190613bf6565b1115611c67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5e90613c9c565b60405180910390fd5b60008351905060005b81811015611dab57611cc0858281518110611c8e57611c8d613cbc565b5b6020026020010151858584818110611ca957611ca8613cbc565b5b9050602002810190611cbb9190613cfa565b610eef565b611cff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf690613da9565b60405180910390fd5b600b54600b54611d28878481518110611d1b57611d1a613cbc565b5b60200260200101516118bf565b611d329190613bf6565b1115611d73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6a90613e3b565b60405180910390fd5b611d98858281518110611d8957611d88613cbc565b5b6020026020010151600161251e565b8080611da390613e5b565b915050611c70565b5050505050565b600081611dbd611e21565b11158015611dcc575060005482105b8015611e0a575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b611e1d8282600161253c565b5050565b60006001905090565b6000611e358261218b565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611e9c576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611ea884612688565b91509150611ebe8187611eb96126af565b6126b7565b611f0a57611ed386611ece6126af565b611957565b611f09576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611f70576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f7d86868660016126fb565b8015611f8857600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550612056856120328888876127b0565b7c0200000000000000000000000000000000000000000000000000000000176127d8565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036120dc57600060018501905060006004600083815260200190815260200160002054036120da5760005481146120d9578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46121448686866001612803565b505050505050565b61216783838360405180602001604052806000815250611637565b505050565b600033905090565b6000826121818584612809565b1490509392505050565b600081612196611e21565b1161224c576004600083815260200190815260200160002054905060007c010000000000000000000000000000000000000000000000000000000082160361224b576000810361224657600054821061221b576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b60046000836001900393508381526020019081526020016000205490506000810361227e5761221c565b61227e565b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600760006123566126af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166124036126af565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516124489190612d1c565b60405180910390a35050565b61245f848484610ba8565b60008373ffffffffffffffffffffffffffffffffffffffff163b146124c15761248a8484848461285f565b6124c0576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b600067ffffffffffffffff6040600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054901c169050919050565b6125388282604051806020016040528060008152506129af565b5050565b600061254783610f6e565b905081156125d2578073ffffffffffffffffffffffffffffffffffffffff1661256e6126af565b73ffffffffffffffffffffffffffffffffffffffff16146125d15761259a816125956126af565b611957565b6125d0576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5b836006600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a450505050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b600c60009054906101000a900460ff168061275f5750600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61279e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279590613f15565b60405180910390fd5b6127aa84848484612a4c565b50505050565b60008060e883901c905060e86127c7868684612a52565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b60008082905060005b84518110156128545761283f8286838151811061283257612831613cbc565b5b6020026020010151612a5b565b9150808061284c90613e5b565b915050612812565b508091505092915050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a026128856126af565b8786866040518563ffffffff1660e01b81526004016128a79493929190613f8a565b6020604051808303816000875af19250505080156128e357506040513d601f19601f820116820180604052508101906128e09190613feb565b60015b61295c573d8060008114612913576040519150601f19603f3d011682016040523d82523d6000602084013e612918565b606091505b506000815103612954576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6129b98383612a86565b60008373ffffffffffffffffffffffffffffffffffffffff163b14612a4757600080549050600083820390505b6129f9600086838060010194508661285f565b612a2f576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106129e6578160005414612a4457600080fd5b50505b505050565b50505050565b60009392505050565b6000818310612a7357612a6e8284612c41565b612a7e565b612a7d8383612c41565b5b905092915050565b60008054905060008203612ac6576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ad360008483856126fb565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612b4a83612b3b60008660006127b0565b612b4485612c58565b176127d8565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b818114612beb57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050612bb0565b5060008203612c26576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000819055505050612c3c6000848385612803565b505050565b600082600052816020526040600020905092915050565b60006001821460e11b9050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612cb181612c7c565b8114612cbc57600080fd5b50565b600081359050612cce81612ca8565b92915050565b600060208284031215612cea57612ce9612c72565b5b6000612cf884828501612cbf565b91505092915050565b60008115159050919050565b612d1681612d01565b82525050565b6000602082019050612d316000830184612d0d565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d6282612d37565b9050919050565b612d7281612d57565b8114612d7d57600080fd5b50565b600081359050612d8f81612d69565b92915050565b600060208284031215612dab57612daa612c72565b5b6000612db984828501612d80565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612dfc578082015181840152602081019050612de1565b60008484015250505050565b6000601f19601f8301169050919050565b6000612e2482612dc2565b612e2e8185612dcd565b9350612e3e818560208601612dde565b612e4781612e08565b840191505092915050565b60006020820190508181036000830152612e6c8184612e19565b905092915050565b6000819050919050565b612e8781612e74565b8114612e9257600080fd5b50565b600081359050612ea481612e7e565b92915050565b600060208284031215612ec057612ebf612c72565b5b6000612ece84828501612e95565b91505092915050565b612ee081612d57565b82525050565b6000602082019050612efb6000830184612ed7565b92915050565b60008060408385031215612f1857612f17612c72565b5b6000612f2685828601612d80565b9250506020612f3785828601612e95565b9150509250929050565b612f4a81612e74565b82525050565b6000602082019050612f656000830184612f41565b92915050565b600080600060608486031215612f8457612f83612c72565b5b6000612f9286828701612d80565b9350506020612fa386828701612d80565b9250506040612fb486828701612e95565b9150509250925092565b6000819050919050565b612fd181612fbe565b82525050565b6000602082019050612fec6000830184612fc8565b92915050565b6000819050919050565b600061301761301261300d84612d37565b612ff2565b612d37565b9050919050565b600061302982612ffc565b9050919050565b600061303b8261301e565b9050919050565b61304b81613030565b82525050565b60006020820190506130666000830184613042565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6130ae82612e08565b810181811067ffffffffffffffff821117156130cd576130cc613076565b5b80604052505050565b60006130e0612c68565b90506130ec82826130a5565b919050565b600067ffffffffffffffff82111561310c5761310b613076565b5b61311582612e08565b9050602081019050919050565b82818337600083830152505050565b600061314461313f846130f1565b6130d6565b9050828152602081018484840111156131605761315f613071565b5b61316b848285613122565b509392505050565b600082601f8301126131885761318761306c565b5b8135613198848260208601613131565b91505092915050565b6000602082840312156131b7576131b6612c72565b5b600082013567ffffffffffffffff8111156131d5576131d4612c77565b5b6131e184828501613173565b91505092915050565b600080fd5b600080fd5b60008083601f84011261320a5761320961306c565b5b8235905067ffffffffffffffff811115613227576132266131ea565b5b602083019150836020820283011115613243576132426131ef565b5b9250929050565b60008060006040848603121561326357613262612c72565b5b600061327186828701612d80565b935050602084013567ffffffffffffffff81111561329257613291612c77565b5b61329e868287016131f4565b92509250509250925092565b6132b381612fbe565b81146132be57600080fd5b50565b6000813590506132d0816132aa565b92915050565b6000602082840312156132ec576132eb612c72565b5b60006132fa848285016132c1565b91505092915050565b61330c81612d01565b811461331757600080fd5b50565b60008135905061332981613303565b92915050565b60006020828403121561334557613344612c72565b5b60006133538482850161331a565b91505092915050565b6000806040838503121561337357613372612c72565b5b600061338185828601612d80565b92505060206133928582860161331a565b9150509250929050565b600067ffffffffffffffff8211156133b7576133b6613076565b5b6133c082612e08565b9050602081019050919050565b60006133e06133db8461339c565b6130d6565b9050828152602081018484840111156133fc576133fb613071565b5b613407848285613122565b509392505050565b600082601f8301126134245761342361306c565b5b81356134348482602086016133cd565b91505092915050565b6000806000806080858703121561345757613456612c72565b5b600061346587828801612d80565b945050602061347687828801612d80565b935050604061348787828801612e95565b925050606085013567ffffffffffffffff8111156134a8576134a7612c77565b5b6134b48782880161340f565b91505092959194509250565b600080604083850312156134d7576134d6612c72565b5b60006134e585828601612d80565b92505060206134f685828601612d80565b9150509250929050565b600067ffffffffffffffff82111561351b5761351a613076565b5b602082029050602081019050919050565b600061353f61353a84613500565b6130d6565b90508083825260208201905060208402830185811115613562576135616131ef565b5b835b8181101561358b57806135778882612d80565b845260208401935050602081019050613564565b5050509392505050565b600082601f8301126135aa576135a961306c565b5b81356135ba84826020860161352c565b91505092915050565b60008083601f8401126135d9576135d861306c565b5b8235905067ffffffffffffffff8111156135f6576135f56131ea565b5b602083019150836020820283011115613612576136116131ef565b5b9250929050565b60008060006040848603121561363257613631612c72565b5b600084013567ffffffffffffffff8111156136505761364f612c77565b5b61365c86828701613595565b935050602084013567ffffffffffffffff81111561367d5761367c612c77565b5b613689868287016135c3565b92509250509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806136dc57607f821691505b6020821081036136ef576136ee613695565b5b50919050565b600060408201905061370a6000830185612ed7565b6137176020830184612ed7565b9392505050565b60008151905061372d81613303565b92915050565b60006020828403121561374957613748612c72565b5b60006137578482850161371e565b91505092915050565b7f455243373231412d4b4c4258203a2043616e2774206265207472616e7366657260008201527f7265640000000000000000000000000000000000000000000000000000000000602082015250565b60006137bc602383612dcd565b91506137c782613760565b604082019050919050565b600060208201905081810360008301526137eb816137af565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613828602083612dcd565b9150613833826137f2565b602082019050919050565b600060208201905081810360008301526138578161381b565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026138c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613883565b6138ca8683613883565b95508019841693508086168417925050509392505050565b60006138fd6138f86138f384612e74565b612ff2565b612e74565b9050919050565b6000819050919050565b613917836138e2565b61392b61392382613904565b848454613890565b825550505050565b600090565b613940613933565b61394b81848461390e565b505050565b5b8181101561396f57613964600082613938565b600181019050613951565b5050565b601f8211156139b4576139858161385e565b61398e84613873565b8101602085101561399d578190505b6139b16139a985613873565b830182613950565b50505b505050565b600082821c905092915050565b60006139d7600019846008026139b9565b1980831691505092915050565b60006139f083836139c6565b9150826002028217905092915050565b613a0982612dc2565b67ffffffffffffffff811115613a2257613a21613076565b5b613a2c82546136c4565b613a37828285613973565b600060209050601f831160018114613a6a5760008415613a58578287015190505b613a6285826139e4565b865550613aca565b601f198416613a788661385e565b60005b82811015613aa057848901518255600182019150602085019450602081019050613a7b565b86831015613abd5784890151613ab9601f8916826139c6565b8355505b6001600288020188555050505b505050505050565b60008160601b9050919050565b6000613aea82613ad2565b9050919050565b6000613afc82613adf565b9050919050565b613b14613b0f82612d57565b613af1565b82525050565b6000613b268284613b03565b60148201915081905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613b91602683612dcd565b9150613b9c82613b35565b604082019050919050565b60006020820190508181036000830152613bc081613b84565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613c0182612e74565b9150613c0c83612e74565b9250828201905080821115613c2457613c23613bc7565b5b92915050565b7f455243373231412d4b42583a204d617820737570706c7920686173206265656e60008201527f2072656163686564000000000000000000000000000000000000000000000000602082015250565b6000613c86602883612dcd565b9150613c9182613c2a565b604082019050919050565b60006020820190508181036000830152613cb581613c79565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112613d1757613d16613ceb565b5b80840192508235915067ffffffffffffffff821115613d3957613d38613cf0565b5b602083019250602082023603831315613d5557613d54613cf5565b5b509250929050565b7f41646472657373206973206e6f742077686974656c6973746564000000000000600082015250565b6000613d93601a83612dcd565b9150613d9e82613d5d565b602082019050919050565b60006020820190508181036000830152613dc281613d86565b9050919050565b7f4974656d2062792077616c6c657420686173206265656e206f766572666c6f7760008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000613e25602183612dcd565b9150613e3082613dc9565b604082019050919050565b60006020820190508181036000830152613e5481613e18565b9050919050565b6000613e6682612e74565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613e9857613e97613bc7565b5b600182019050919050565b7f455243373231412d4b42583a204e6f6e207472616e7366657261626c6520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b6000613eff602383612dcd565b9150613f0a82613ea3565b604082019050919050565b60006020820190508181036000830152613f2e81613ef2565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613f5c82613f35565b613f668185613f40565b9350613f76818560208601612dde565b613f7f81612e08565b840191505092915050565b6000608082019050613f9f6000830187612ed7565b613fac6020830186612ed7565b613fb96040830185612f41565b8181036060830152613fcb8184613f51565b905095945050505050565b600081519050613fe581612ca8565b92915050565b60006020828403121561400157614000612c72565b5b600061400f84828501613fd6565b9150509291505056fea26469706673582212208a898895bfccade5f3be7c185f71a6dc1ceecd2f22936920f9f306c6e1d4b3a564736f6c63430008110033

Block Age Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Age Amount
View All Withdrawals

Transaction Hash Block Age Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.