// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import {ERC721} from "openzeppelin-contracts/contracts/token/ERC721/ERC721.sol";
import {ERC2981} from "openzeppelin-contracts/contracts/token/common/ERC2981.sol";
import {Ownable} from "openzeppelin-contracts/contracts/access/Ownable.sol";
import {ECDSA} from "openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol";
import {MessageHashUtils} from "openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol";
/// @title BOLTHEADS — 2222 pixel heads on Robinhood Chain
/// @notice Free allocation (1 default / 2 whitelist) comes as a server signature
/// over (wallet, freeAlloc, chainid, contract). Over the allocation each
/// mint costs `price`. Signature can be re-issued server-side at any time —
/// the contract only tracks how much free was already used per wallet.
contract Boltheads is ERC721, ERC2981, Ownable {
uint256 public constant MAX_SUPPLY = 2222;
uint256 public constant MAX_PER_TX = 10;
uint256 public price = 0.0005 ether;
address public signer;
/// @notice деньги не хранятся на контракте — платный минт сразу уходит сюда
address payable public treasury;
uint256 public totalSupply;
bool public mintOpen;
string private baseURI_;
/// @notice метаданные уровня коллекции (ERC-7572), читают маркетплейсы
string public contractURI;
mapping(address => uint256) public freeMinted;
mapping(address => uint256) public minted;
error MintClosed();
error BadQty();
error SoldOut();
error BadSignature();
error WrongValue();
error PayoutFailed();
error ZeroTreasury();
constructor(address _signer, address payable _treasury, string memory _uri)
ERC721("BOLTHEADS", "BOLT")
Ownable(msg.sender)
{
if (_treasury == address(0)) revert ZeroTreasury();
signer = _signer;
treasury = _treasury;
baseURI_ = _uri;
_setDefaultRoyalty(_treasury, 500); // 5%, меняется через setRoyalty
}
function mint(uint256 qty, uint256 freeAlloc, bytes calldata sig) external payable {
if (!mintOpen) revert MintClosed();
if (qty == 0 || qty > MAX_PER_TX) revert BadQty();
if (totalSupply + qty > MAX_SUPPLY) revert SoldOut();
bytes32 digest = keccak256(abi.encodePacked(msg.sender, freeAlloc, block.chainid, address(this)));
if (ECDSA.recover(MessageHashUtils.toEthSignedMessageHash(digest), sig) != signer) revert BadSignature();
uint256 used = freeMinted[msg.sender];
uint256 freeLeft = freeAlloc > used ? freeAlloc - used : 0;
uint256 freeUse = qty < freeLeft ? qty : freeLeft;
if (msg.value != (qty - freeUse) * price) revert WrongValue();
freeMinted[msg.sender] = used + freeUse;
minted[msg.sender] += qty;
uint256 id = totalSupply;
totalSupply = id + qty;
for (uint256 i; i < qty; ++i) {
_mint(msg.sender, id + i);
}
if (msg.value > 0) {
(bool ok,) = treasury.call{value: msg.value}("");
if (!ok) revert PayoutFailed();
}
}
// ---- owner ----
function setMintOpen(bool open) external onlyOwner { mintOpen = open; }
function setPrice(uint256 p) external onlyOwner { price = p; }
function setSigner(address s) external onlyOwner { signer = s; }
function setTreasury(address payable t) external onlyOwner {
if (t == address(0)) revert ZeroTreasury();
treasury = t;
}
function setBaseURI(string calldata uri) external onlyOwner { baseURI_ = uri; }
function setContractURI(string calldata uri) external onlyOwner { contractURI = uri; }
function setRoyalty(address receiver, uint96 bps) external onlyOwner { _setDefaultRoyalty(receiver, bps); }
/// @notice команде — на посев/маркетинг, тоже считается в MAX_SUPPLY
function teamMint(address to, uint256 qty) external onlyOwner {
if (totalSupply + qty > MAX_SUPPLY) revert SoldOut();
uint256 id = totalSupply;
totalSupply = id + qty;
for (uint256 i; i < qty; ++i) {
_mint(to, id + i);
}
}
/// @notice страховка: на контракте денег быть не должно, но если что-то залетело — вытащить
function withdraw(address to) external onlyOwner {
(bool ok,) = to.call{value: address(this).balance}("");
if (!ok) revert PayoutFailed();
}
function _baseURI() internal view override returns (string memory) {
return baseURI_;
}
function supportsInterface(bytes4 interfaceId) public view override(ERC721, ERC2981) returns (bool) {
return super.supportsInterface(interfaceId);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "_signer",
"type": "address",
"internalType": "address"
},
{
"name": "_treasury",
"type": "address",
"internalType": "address payable"
},
{
"name": "_uri",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "nonpayable"
},
{
"name": "BadQty",
"type": "error",
"inputs": []
},
{
"name": "BadSignature",
"type": "error",
"inputs": []
},
{
"name": "ECDSAInvalidSignature",
"type": "error",
"inputs": []
},
{
"name": "ECDSAInvalidSignatureLength",
"type": "error",
"inputs": [
{
"name": "length",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ECDSAInvalidSignatureS",
"type": "error",
"inputs": [
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "ERC2981InvalidDefaultRoyalty",
"type": "error",
"inputs": [
{
"name": "numerator",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "denominator",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC2981InvalidDefaultRoyaltyReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC2981InvalidTokenRoyalty",
"type": "error",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "numerator",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "denominator",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC2981InvalidTokenRoyaltyReceiver",
"type": "error",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC721IncorrectOwner",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC721InsufficientApproval",
"type": "error",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC721InvalidApprover",
"type": "error",
"inputs": [
{
"name": "approver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC721InvalidOperator",
"type": "error",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC721InvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC721InvalidReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC721InvalidSender",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC721NonexistentToken",
"type": "error",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "MintClosed",
"type": "error",
"inputs": []
},
{
"name": "OwnableInvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "PayoutFailed",
"type": "error",
"inputs": []
},
{
"name": "SoldOut",
"type": "error",
"inputs": []
},
{
"name": "WrongValue",
"type": "error",
"inputs": []
},
{
"name": "ZeroTreasury",
"type": "error",
"inputs": []
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "approved",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "ApprovalForAll",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "approved",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "MAX_PER_TX",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "MAX_SUPPLY",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "contractURI",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "freeMinted",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "getApproved",
"type": "function",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "isApprovedForAll",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "mint",
"type": "function",
"inputs": [
{
"name": "qty",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "freeAlloc",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sig",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"name": "mintOpen",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "minted",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "ownerOf",
"type": "function",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "price",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "royaltyInfo",
"type": "function",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "salePrice",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "safeTransferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "safeTransferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setApprovalForAll",
"type": "function",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
},
{
"name": "approved",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setBaseURI",
"type": "function",
"inputs": [
{
"name": "uri",
"type": "string",
"internalType": "string"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setContractURI",
"type": "function",
"inputs": [
{
"name": "uri",
"type": "string",
"internalType": "string"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setMintOpen",
"type": "function",
"inputs": [
{
"name": "open",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setPrice",
"type": "function",
"inputs": [
{
"name": "p",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setRoyalty",
"type": "function",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
},
{
"name": "bps",
"type": "uint96",
"internalType": "uint96"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setSigner",
"type": "function",
"inputs": [
{
"name": "s",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setTreasury",
"type": "function",
"inputs": [
{
"name": "t",
"type": "address",
"internalType": "address payable"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "signer",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "supportsInterface",
"type": "function",
"inputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "teamMint",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "qty",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "tokenURI",
"type": "function",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "treasury",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address payable"
}
],
"stateMutability": "view"
},
{
"name": "withdraw",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
}
]0x60806040526601c6bf5263400060095534801561001a575f5ffd5b50604051614720380380614720833981810160405281019061003c91906106a8565b336040518060400160405280600981526020017f424f4c54484541445300000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f424f4c5400000000000000000000000000000000000000000000000000000000815250815f90816100b79190610924565b5080600190816100c79190610924565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361013a575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016101319190610a02565b60405180910390fd5b6101498161025960201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101af576040517f9c707f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e908161023e9190610924565b50610251826101f461031c60201b60201c565b505050610a98565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f61032b6104bd60201b60201c565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff1611156103905781816040517f6f483d09000000000000000000000000000000000000000000000000000000008152600401610387929190610a71565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610400575f6040517fb6d9900a0000000000000000000000000000000000000000000000000000000081526004016103f79190610a02565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff1681525060065f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151815f0160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b5f612710905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610500826104d7565b9050919050565b610510816104f6565b811461051a575f5ffd5b50565b5f8151905061052b81610507565b92915050565b5f61053b826104d7565b9050919050565b61054b81610531565b8114610555575f5ffd5b50565b5f8151905061056681610542565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105ba82610574565b810181811067ffffffffffffffff821117156105d9576105d8610584565b5b80604052505050565b5f6105eb6104c6565b90506105f782826105b1565b919050565b5f67ffffffffffffffff82111561061657610615610584565b5b61061f82610574565b9050602081019050919050565b8281835e5f83830152505050565b5f61064c610647846105fc565b6105e2565b90508281526020810184848401111561066857610667610570565b5b61067384828561062c565b509392505050565b5f82601f83011261068f5761068e61056c565b5b815161069f84826020860161063a565b91505092915050565b5f5f5f606084860312156106bf576106be6104cf565b5b5f6106cc8682870161051d565b93505060206106dd86828701610558565b925050604084015167ffffffffffffffff8111156106fe576106fd6104d3565b5b61070a8682870161067b565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061076257607f821691505b6020821081036107755761077461071e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026107d77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261079c565b6107e1868361079c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61082561082061081b846107f9565b610802565b6107f9565b9050919050565b5f819050919050565b61083e8361080b565b61085261084a8261082c565b8484546107a8565b825550505050565b5f5f905090565b61086961085a565b610874818484610835565b505050565b5b818110156108975761088c5f82610861565b60018101905061087a565b5050565b601f8211156108dc576108ad8161077b565b6108b68461078d565b810160208510156108c5578190505b6108d96108d18561078d565b830182610879565b50505b505050565b5f82821c905092915050565b5f6108fc5f19846008026108e1565b1980831691505092915050565b5f61091483836108ed565b9150826002028217905092915050565b61092d82610714565b67ffffffffffffffff81111561094657610945610584565b5b610950825461074b565b61095b82828561089b565b5f60209050601f83116001811461098c575f841561097a578287015190505b6109848582610909565b8655506109eb565b601f19841661099a8661077b565b5f5b828110156109c15784890151825560018201915060208501945060208101905061099c565b868310156109de57848901516109da601f8916826108ed565b8355505b6001600288020188555050505b505050505050565b6109fc816104f6565b82525050565b5f602082019050610a155f8301846109f3565b92915050565b5f6bffffffffffffffffffffffff82169050919050565b5f610a4c610a47610a4284610a1b565b610802565b6107f9565b9050919050565b610a5c81610a32565b82525050565b610a6b816107f9565b82525050565b5f604082019050610a845f830185610a53565b610a916020830184610a62565b9392505050565b613c7b80610aa55f395ff3fe608060405260043610610219575f3560e01c80636c19e78311610122578063a22cb465116100aa578063e985e9c51161006e578063e985e9c5146107b4578063f0f44260146107f0578063f2fde38b14610818578063f43a22dc14610840578063f8004d311461086a57610219565b8063a22cb465146106d6578063add5a4fa146106fe578063b88d4fde14610726578063c87b56dd1461074e578063e8a3d4851461078a57610219565b80638f2fc60b116100f15780638f2fc60b1461060a57806391b7f5ed14610632578063938e3d7b1461065a57806395d89b4114610682578063a035b1fe146106ac57610219565b80636c19e7831461056657806370a082311461058e578063715018a6146105ca5780638da5cb5b146105e057610219565b806324bbd049116101a557806342842e0e1161017457806342842e0e1461048857806351cff8d9146104b057806355f804b3146104d857806361d027b3146105005780636352211e1461052a57610219565b806324bbd049146103bb5780632a55205a146103e557806332cb6b0c14610422578063389fcf061461044c57610219565b8063095ea7b3116101ec578063095ea7b3146102db57806318160ddd146103035780631e7269c51461032d578063238ac9331461036957806323b872dd1461039357610219565b806301ffc9a71461021d57806306fdde0314610259578063081812fc1461028357806308dc9f42146102bf575b5f5ffd5b348015610228575f5ffd5b50610243600480360381019061023e9190612cc1565b610892565b6040516102509190612d06565b60405180910390f35b348015610264575f5ffd5b5061026d6108a3565b60405161027a9190612d8f565b60405180910390f35b34801561028e575f5ffd5b506102a960048036038101906102a49190612de2565b610932565b6040516102b69190612e4c565b60405180910390f35b6102d960048036038101906102d49190612ec6565b61094d565b005b3480156102e6575f5ffd5b5061030160048036038101906102fc9190612f61565b610da3565b005b34801561030e575f5ffd5b50610317610db9565b6040516103249190612fae565b60405180910390f35b348015610338575f5ffd5b50610353600480360381019061034e9190612fc7565b610dbf565b6040516103609190612fae565b60405180910390f35b348015610374575f5ffd5b5061037d610dd4565b60405161038a9190612e4c565b60405180910390f35b34801561039e575f5ffd5b506103b960048036038101906103b49190612ff2565b610df9565b005b3480156103c6575f5ffd5b506103cf610ef8565b6040516103dc9190612d06565b60405180910390f35b3480156103f0575f5ffd5b5061040b60048036038101906104069190613042565b610f0a565b604051610419929190613080565b60405180910390f35b34801561042d575f5ffd5b5061043661102c565b6040516104439190612fae565b60405180910390f35b348015610457575f5ffd5b50610472600480360381019061046d9190612fc7565b611032565b60405161047f9190612fae565b60405180910390f35b348015610493575f5ffd5b506104ae60048036038101906104a99190612ff2565b611047565b005b3480156104bb575f5ffd5b506104d660048036038101906104d19190612fc7565b611066565b005b3480156104e3575f5ffd5b506104fe60048036038101906104f991906130fc565b611111565b005b34801561050b575f5ffd5b5061051461112f565b6040516105219190613167565b60405180910390f35b348015610535575f5ffd5b50610550600480360381019061054b9190612de2565b611154565b60405161055d9190612e4c565b60405180910390f35b348015610571575f5ffd5b5061058c60048036038101906105879190612fc7565b611165565b005b348015610599575f5ffd5b506105b460048036038101906105af9190612fc7565b6111b0565b6040516105c19190612fae565b60405180910390f35b3480156105d5575f5ffd5b506105de611266565b005b3480156105eb575f5ffd5b506105f4611279565b6040516106019190612e4c565b60405180910390f35b348015610615575f5ffd5b50610630600480360381019061062b91906131c1565b6112a1565b005b34801561063d575f5ffd5b5061065860048036038101906106539190612de2565b6112b7565b005b348015610665575f5ffd5b50610680600480360381019061067b91906130fc565b6112c9565b005b34801561068d575f5ffd5b506106966112e7565b6040516106a39190612d8f565b60405180910390f35b3480156106b7575f5ffd5b506106c0611377565b6040516106cd9190612fae565b60405180910390f35b3480156106e1575f5ffd5b506106fc60048036038101906106f79190613229565b61137d565b005b348015610709575f5ffd5b50610724600480360381019061071f9190612f61565b611393565b005b348015610731575f5ffd5b5061074c6004803603810190610747919061338f565b61142c565b005b348015610759575f5ffd5b50610774600480360381019061076f9190612de2565b611451565b6040516107819190612d8f565b60405180910390f35b348015610795575f5ffd5b5061079e6114b7565b6040516107ab9190612d8f565b60405180910390f35b3480156107bf575f5ffd5b506107da60048036038101906107d5919061340f565b611543565b6040516107e79190612d06565b60405180910390f35b3480156107fb575f5ffd5b5061081660048036038101906108119190613477565b6115d1565b005b348015610823575f5ffd5b5061083e60048036038101906108399190612fc7565b611681565b005b34801561084b575f5ffd5b50610854611705565b6040516108619190612fae565b60405180910390f35b348015610875575f5ffd5b50610890600480360381019061088b91906134a2565b61170a565b005b5f61089c8261172e565b9050919050565b60605f80546108b1906134fa565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd906134fa565b80156109285780601f106108ff57610100808354040283529160200191610928565b820191905f5260205f20905b81548152906001019060200180831161090b57829003601f168201915b5050505050905090565b5f61093c826117a7565b506109468261182d565b9050919050565b600d5f9054906101000a900460ff16610992576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8414806109a05750600a84115b156109d7576040517f1293643200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108ae84600c546109e89190613557565b1115610a20576040517f52df9fe500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f33844630604051602001610a3894939291906135ef565b604051602081830303815290604052805190602001209050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610add610a9483611866565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050611899565b73ffffffffffffffffffffffffffffffffffffffff1614610b2a576040517f5cd5d23300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f818611610b79575f610b86565b8186610b85919061363c565b5b90505f818810610b965781610b98565b875b90506009548189610ba9919061363c565b610bb3919061366f565b3414610beb576040517f98d4901c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8083610bf79190613557565b60105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508760115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610c849190613557565b925050819055505f600c5490508881610c9d9190613557565b600c819055505f5b89811015610ccd57610cc2338284610cbd9190613557565b6118c3565b806001019050610ca5565b505f341115610d98575f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610d1c906136dd565b5f6040518083038185875af1925050503d805f8114610d56576040519150601f19603f3d011682016040523d82523d5f602084013e610d5b565b606091505b5050905080610d96576040517f3b1ab10400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050505050565b610db58282610db06119b6565b6119bd565b5050565b600c5481565b6011602052805f5260405f205f915090505481565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e69575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401610e609190612e4c565b60405180910390fd5b5f610e7c8383610e776119b6565b6119cf565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ef2578382826040517f64283d7b000000000000000000000000000000000000000000000000000000008152600401610ee9939291906136f1565b60405180910390fd5b50505050565b600d5f9054906101000a900460ff1681565b5f5f5f60075f8681526020019081526020015f2090505f815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f825f0160149054906101000a90046bffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fde5760065f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060065f0160149054906101000a90046bffffffffffffffffffffffff1690505b5f610fe7611bda565b6bffffffffffffffffffffffff16826bffffffffffffffffffffffff168861100f919061366f565b6110199190613753565b9050828195509550505050509250929050565b6108ae81565b6010602052805f5260405f205f915090505481565b61106183838360405180602001604052805f81525061142c565b505050565b61106e611be3565b5f8173ffffffffffffffffffffffffffffffffffffffff1647604051611093906136dd565b5f6040518083038185875af1925050503d805f81146110cd576040519150601f19603f3d011682016040523d82523d5f602084013e6110d2565b606091505b505090508061110d576040517f3b1ab10400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b611119611be3565b8181600e918261112a92919061392d565b505050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61115e826117a7565b9050919050565b61116d611be3565b80600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611221575f6040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016112189190612e4c565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61126e611be3565b6112775f611c6a565b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112a9611be3565b6112b38282611d2d565b5050565b6112bf611be3565b8060098190555050565b6112d1611be3565b8181600f91826112e292919061392d565b505050565b6060600180546112f6906134fa565b80601f0160208091040260200160405190810160405280929190818152602001828054611322906134fa565b801561136d5780601f106113445761010080835404028352916020019161136d565b820191905f5260205f20905b81548152906001019060200180831161135057829003601f168201915b5050505050905090565b60095481565b61138f6113886119b6565b8383611ec8565b5050565b61139b611be3565b6108ae81600c546113ac9190613557565b11156113e4576040517f52df9fe500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600c54905081816113f69190613557565b600c819055505f5b828110156114265761141b8482846114169190613557565b6118c3565b8060010190506113fe565b50505050565b611437848484610df9565b61144b6114426119b6565b858585856120a1565b50505050565b606061145c826117a7565b505f61146661224d565b90505f8151116114845760405180602001604052805f8152506114af565b8061148e846122dd565b60405160200161149f929190613a34565b6040516020818303038152906040525b915050919050565b600f80546114c4906134fa565b80601f01602080910402602001604051908101604052809291908181526020018280546114f0906134fa565b801561153b5780601f106115125761010080835404028352916020019161153b565b820191905f5260205f20905b81548152906001019060200180831161151e57829003601f168201915b505050505081565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6115d9611be3565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361163e576040517f9c707f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611689611be3565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116f9575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016116f09190612e4c565b60405180910390fd5b61170281611c6a565b50565b600a81565b611712611be3565b80600d5f6101000a81548160ff02191690831515021790555050565b5f7f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806117a0575061179f826123a7565b5b9050919050565b5f5f6117b283612488565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361182457826040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161181b9190612fae565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f5281601c52603c5f209050919050565b5f5f5f5f6118a786866124c1565b9250925092506118b78282612516565b82935050505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611933575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161192a9190612e4c565b60405180910390fd5b5f61193f83835f6119cf565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146119b1575f6040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016119a89190612e4c565b60405180910390fd5b505050565b5f33905090565b6119ca8383836001612678565b505050565b5f5f6119da84612488565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a1b57611a1a818486612837565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611aa657611a5a5f855f5f612678565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b2557600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f612710905090565b611beb6119b6565b73ffffffffffffffffffffffffffffffffffffffff16611c09611279565b73ffffffffffffffffffffffffffffffffffffffff1614611c6857611c2c6119b6565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611c5f9190612e4c565b60405180910390fd5b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611d36611bda565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff161115611d9b5781816040517f6f483d09000000000000000000000000000000000000000000000000000000008152600401611d92929190613a87565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e0b575f6040517fb6d9900a000000000000000000000000000000000000000000000000000000008152600401611e029190612e4c565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff1681525060065f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151815f0160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f38575f6040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611f2f9190612e4c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fa857816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401611f9f9190612e4c565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516120949190612d06565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115612246578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02868685856040518563ffffffff1660e01b81526004016120ff9493929190613b00565b6020604051808303815f875af192505050801561213a57506040513d601f19601f820116820180604052508101906121379190613b5e565b60015b6121bb573d805f8114612168576040519150601f19603f3d011682016040523d82523d5f602084013e61216d565b606091505b505f8151036121b357836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016121aa9190612e4c565b60405180910390fd5b805160208201fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461224457836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161223b9190612e4c565b60405180910390fd5b505b5050505050565b6060600e805461225c906134fa565b80601f0160208091040260200160405190810160405280929190818152602001828054612288906134fa565b80156122d35780601f106122aa576101008083540402835291602001916122d3565b820191905f5260205f20905b8154815290600101906020018083116122b657829003601f168201915b5050505050905090565b60605f60016122eb846128fa565b0190505f8167ffffffffffffffff8111156123095761230861326b565b5b6040519080825280601f01601f19166020018201604052801561233b5781602001600182028036833780820191505090505b5090505f82602083010190505b60011561239c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161239157612390613726565b5b0494505f8503612348575b819350505050919050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061247157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612481575061248082612a4b565b5b9050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f5f5f6041845103612501575f5f5f602087015192506040870151915060608701515f1a90506124f388828585612ab4565b95509550955050505061250f565b5f600285515f1b9250925092505b9250925092565b5f600381111561252957612528613b89565b5b82600381111561253c5761253b613b89565b5b0315612674576001600381111561255657612555613b89565b5b82600381111561256957612568613b89565b5b036125a0576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156125b4576125b3613b89565b5b8260038111156125c7576125c6613b89565b5b0361260b57805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016126029190612fae565b60405180910390fd5b60038081111561261e5761261d613b89565b5b82600381111561263157612630613b89565b5b0361267357806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161266a9190613bce565b60405180910390fd5b5b5050565b80806126b057505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156127e2575f6126bf846117a7565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561272957508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561273c575061273a8184611543565b155b1561277e57826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016127759190612e4c565b60405180910390fd5b81156127e057838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b612842838383612b9b565b6128f5575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036128b657806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016128ad9190612fae565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016128ec929190613080565b60405180910390fd5b505050565b5f5f5f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612956577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161294c5761294b613726565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612993576d04ee2d6d415b85acef8100000000838161298957612988613726565b5b0492506020810190505b662386f26fc1000083106129c257662386f26fc1000083816129b8576129b7613726565b5b0492506010810190505b6305f5e10083106129eb576305f5e10083816129e1576129e0613726565b5b0492506008810190505b6127108310612a10576127108381612a0657612a05613726565b5b0492506004810190505b60648310612a335760648381612a2957612a28613726565b5b0492506002810190505b600a8310612a42576001810190505b80915050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115612af0575f600385925092509250612b91565b5f6001888888886040515f8152602001604052604051612b139493929190613c02565b6020604051602081039080840390855afa158015612b33573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b84575f60015f5f1b93509350935050612b91565b805f5f5f1b935093509350505b9450945094915050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612c5257508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612c135750612c128484611543565b5b80612c5157508273ffffffffffffffffffffffffffffffffffffffff16612c398361182d565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612ca081612c6c565b8114612caa575f5ffd5b50565b5f81359050612cbb81612c97565b92915050565b5f60208284031215612cd657612cd5612c64565b5b5f612ce384828501612cad565b91505092915050565b5f8115159050919050565b612d0081612cec565b82525050565b5f602082019050612d195f830184612cf7565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612d6182612d1f565b612d6b8185612d29565b9350612d7b818560208601612d39565b612d8481612d47565b840191505092915050565b5f6020820190508181035f830152612da78184612d57565b905092915050565b5f819050919050565b612dc181612daf565b8114612dcb575f5ffd5b50565b5f81359050612ddc81612db8565b92915050565b5f60208284031215612df757612df6612c64565b5b5f612e0484828501612dce565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612e3682612e0d565b9050919050565b612e4681612e2c565b82525050565b5f602082019050612e5f5f830184612e3d565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112612e8657612e85612e65565b5b8235905067ffffffffffffffff811115612ea357612ea2612e69565b5b602083019150836001820283011115612ebf57612ebe612e6d565b5b9250929050565b5f5f5f5f60608587031215612ede57612edd612c64565b5b5f612eeb87828801612dce565b9450506020612efc87828801612dce565b935050604085013567ffffffffffffffff811115612f1d57612f1c612c68565b5b612f2987828801612e71565b925092505092959194509250565b612f4081612e2c565b8114612f4a575f5ffd5b50565b5f81359050612f5b81612f37565b92915050565b5f5f60408385031215612f7757612f76612c64565b5b5f612f8485828601612f4d565b9250506020612f9585828601612dce565b9150509250929050565b612fa881612daf565b82525050565b5f602082019050612fc15f830184612f9f565b92915050565b5f60208284031215612fdc57612fdb612c64565b5b5f612fe984828501612f4d565b91505092915050565b5f5f5f6060848603121561300957613008612c64565b5b5f61301686828701612f4d565b935050602061302786828701612f4d565b925050604061303886828701612dce565b9150509250925092565b5f5f6040838503121561305857613057612c64565b5b5f61306585828601612dce565b925050602061307685828601612dce565b9150509250929050565b5f6040820190506130935f830185612e3d565b6130a06020830184612f9f565b9392505050565b5f5f83601f8401126130bc576130bb612e65565b5b8235905067ffffffffffffffff8111156130d9576130d8612e69565b5b6020830191508360018202830111156130f5576130f4612e6d565b5b9250929050565b5f5f6020838503121561311257613111612c64565b5b5f83013567ffffffffffffffff81111561312f5761312e612c68565b5b61313b858286016130a7565b92509250509250929050565b5f61315182612e0d565b9050919050565b61316181613147565b82525050565b5f60208201905061317a5f830184613158565b92915050565b5f6bffffffffffffffffffffffff82169050919050565b6131a081613180565b81146131aa575f5ffd5b50565b5f813590506131bb81613197565b92915050565b5f5f604083850312156131d7576131d6612c64565b5b5f6131e485828601612f4d565b92505060206131f5858286016131ad565b9150509250929050565b61320881612cec565b8114613212575f5ffd5b50565b5f81359050613223816131ff565b92915050565b5f5f6040838503121561323f5761323e612c64565b5b5f61324c85828601612f4d565b925050602061325d85828601613215565b9150509250929050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6132a182612d47565b810181811067ffffffffffffffff821117156132c0576132bf61326b565b5b80604052505050565b5f6132d2612c5b565b90506132de8282613298565b919050565b5f67ffffffffffffffff8211156132fd576132fc61326b565b5b61330682612d47565b9050602081019050919050565b828183375f83830152505050565b5f61333361332e846132e3565b6132c9565b90508281526020810184848401111561334f5761334e613267565b5b61335a848285613313565b509392505050565b5f82601f83011261337657613375612e65565b5b8135613386848260208601613321565b91505092915050565b5f5f5f5f608085870312156133a7576133a6612c64565b5b5f6133b487828801612f4d565b94505060206133c587828801612f4d565b93505060406133d687828801612dce565b925050606085013567ffffffffffffffff8111156133f7576133f6612c68565b5b61340387828801613362565b91505092959194509250565b5f5f6040838503121561342557613424612c64565b5b5f61343285828601612f4d565b925050602061344385828601612f4d565b9150509250929050565b61345681613147565b8114613460575f5ffd5b50565b5f813590506134718161344d565b92915050565b5f6020828403121561348c5761348b612c64565b5b5f61349984828501613463565b91505092915050565b5f602082840312156134b7576134b6612c64565b5b5f6134c484828501613215565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061351157607f821691505b602082108103613524576135236134cd565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61356182612daf565b915061356c83612daf565b92508282019050808211156135845761358361352a565b5b92915050565b5f8160601b9050919050565b5f6135a08261358a565b9050919050565b5f6135b182613596565b9050919050565b6135c96135c482612e2c565b6135a7565b82525050565b5f819050919050565b6135e96135e482612daf565b6135cf565b82525050565b5f6135fa82876135b8565b60148201915061360a82866135d8565b60208201915061361a82856135d8565b60208201915061362a82846135b8565b60148201915081905095945050505050565b5f61364682612daf565b915061365183612daf565b92508282039050818111156136695761366861352a565b5b92915050565b5f61367982612daf565b915061368483612daf565b925082820261369281612daf565b915082820484148315176136a9576136a861352a565b5b5092915050565b5f81905092915050565b50565b5f6136c85f836136b0565b91506136d3826136ba565b5f82019050919050565b5f6136e7826136bd565b9150819050919050565b5f6060820190506137045f830186612e3d565b6137116020830185612f9f565b61371e6040830184612e3d565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61375d82612daf565b915061376883612daf565b92508261377857613777613726565b5b828204905092915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026137e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826137ae565b6137f386836137ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61382e61382961382484612daf565b61380b565b612daf565b9050919050565b5f819050919050565b61384783613814565b61385b61385382613835565b8484546137ba565b825550505050565b5f5f905090565b613872613863565b61387d81848461383e565b505050565b5b818110156138a0576138955f8261386a565b600181019050613883565b5050565b601f8211156138e5576138b68161378d565b6138bf8461379f565b810160208510156138ce578190505b6138e26138da8561379f565b830182613882565b50505b505050565b5f82821c905092915050565b5f6139055f19846008026138ea565b1980831691505092915050565b5f61391d83836138f6565b9150826002028217905092915050565b6139378383613783565b67ffffffffffffffff8111156139505761394f61326b565b5b61395a82546134fa565b6139658282856138a4565b5f601f831160018114613992575f8415613980578287013590505b61398a8582613912565b8655506139f1565b601f1984166139a08661378d565b5f5b828110156139c7578489013582556001820191506020850194506020810190506139a2565b868310156139e457848901356139e0601f8916826138f6565b8355505b6001600288020188555050505b50505050505050565b5f81905092915050565b5f613a0e82612d1f565b613a1881856139fa565b9350613a28818560208601612d39565b80840191505092915050565b5f613a3f8285613a04565b9150613a4b8284613a04565b91508190509392505050565b5f613a71613a6c613a6784613180565b61380b565b612daf565b9050919050565b613a8181613a57565b82525050565b5f604082019050613a9a5f830185613a78565b613aa76020830184612f9f565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b5f613ad282613aae565b613adc8185613ab8565b9350613aec818560208601612d39565b613af581612d47565b840191505092915050565b5f608082019050613b135f830187612e3d565b613b206020830186612e3d565b613b2d6040830185612f9f565b8181036060830152613b3f8184613ac8565b905095945050505050565b5f81519050613b5881612c97565b92915050565b5f60208284031215613b7357613b72612c64565b5b5f613b8084828501613b4a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f819050919050565b613bc881613bb6565b82525050565b5f602082019050613be15f830184613bbf565b92915050565b5f60ff82169050919050565b613bfc81613be7565b82525050565b5f608082019050613c155f830187613bbf565b613c226020830186613bf3565b613c2f6040830185613bbf565b613c3c6060830184613bbf565b9594505050505056fea26469706673582212203249fa52bf334df77d2d6d212ad2a475026720a1b8fcf3aed6c0c4542b284abd64736f6c634300081c0033000000000000000000000000f9ee618a0550fb763fc702f7bc7df62e2ed427a400000000000000000000000038ea836c4bb4be054c66d3197f868f80bf698df90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001f68747470733a2f2f626f6c7468656164732e78797a2f6170692f6d6574612f00
0x608060405260043610610219575f3560e01c80636c19e78311610122578063a22cb465116100aa578063e985e9c51161006e578063e985e9c5146107b4578063f0f44260146107f0578063f2fde38b14610818578063f43a22dc14610840578063f8004d311461086a57610219565b8063a22cb465146106d6578063add5a4fa146106fe578063b88d4fde14610726578063c87b56dd1461074e578063e8a3d4851461078a57610219565b80638f2fc60b116100f15780638f2fc60b1461060a57806391b7f5ed14610632578063938e3d7b1461065a57806395d89b4114610682578063a035b1fe146106ac57610219565b80636c19e7831461056657806370a082311461058e578063715018a6146105ca5780638da5cb5b146105e057610219565b806324bbd049116101a557806342842e0e1161017457806342842e0e1461048857806351cff8d9146104b057806355f804b3146104d857806361d027b3146105005780636352211e1461052a57610219565b806324bbd049146103bb5780632a55205a146103e557806332cb6b0c14610422578063389fcf061461044c57610219565b8063095ea7b3116101ec578063095ea7b3146102db57806318160ddd146103035780631e7269c51461032d578063238ac9331461036957806323b872dd1461039357610219565b806301ffc9a71461021d57806306fdde0314610259578063081812fc1461028357806308dc9f42146102bf575b5f5ffd5b348015610228575f5ffd5b50610243600480360381019061023e9190612cc1565b610892565b6040516102509190612d06565b60405180910390f35b348015610264575f5ffd5b5061026d6108a3565b60405161027a9190612d8f565b60405180910390f35b34801561028e575f5ffd5b506102a960048036038101906102a49190612de2565b610932565b6040516102b69190612e4c565b60405180910390f35b6102d960048036038101906102d49190612ec6565b61094d565b005b3480156102e6575f5ffd5b5061030160048036038101906102fc9190612f61565b610da3565b005b34801561030e575f5ffd5b50610317610db9565b6040516103249190612fae565b60405180910390f35b348015610338575f5ffd5b50610353600480360381019061034e9190612fc7565b610dbf565b6040516103609190612fae565b60405180910390f35b348015610374575f5ffd5b5061037d610dd4565b60405161038a9190612e4c565b60405180910390f35b34801561039e575f5ffd5b506103b960048036038101906103b49190612ff2565b610df9565b005b3480156103c6575f5ffd5b506103cf610ef8565b6040516103dc9190612d06565b60405180910390f35b3480156103f0575f5ffd5b5061040b60048036038101906104069190613042565b610f0a565b604051610419929190613080565b60405180910390f35b34801561042d575f5ffd5b5061043661102c565b6040516104439190612fae565b60405180910390f35b348015610457575f5ffd5b50610472600480360381019061046d9190612fc7565b611032565b60405161047f9190612fae565b60405180910390f35b348015610493575f5ffd5b506104ae60048036038101906104a99190612ff2565b611047565b005b3480156104bb575f5ffd5b506104d660048036038101906104d19190612fc7565b611066565b005b3480156104e3575f5ffd5b506104fe60048036038101906104f991906130fc565b611111565b005b34801561050b575f5ffd5b5061051461112f565b6040516105219190613167565b60405180910390f35b348015610535575f5ffd5b50610550600480360381019061054b9190612de2565b611154565b60405161055d9190612e4c565b60405180910390f35b348015610571575f5ffd5b5061058c60048036038101906105879190612fc7565b611165565b005b348015610599575f5ffd5b506105b460048036038101906105af9190612fc7565b6111b0565b6040516105c19190612fae565b60405180910390f35b3480156105d5575f5ffd5b506105de611266565b005b3480156105eb575f5ffd5b506105f4611279565b6040516106019190612e4c565b60405180910390f35b348015610615575f5ffd5b50610630600480360381019061062b91906131c1565b6112a1565b005b34801561063d575f5ffd5b5061065860048036038101906106539190612de2565b6112b7565b005b348015610665575f5ffd5b50610680600480360381019061067b91906130fc565b6112c9565b005b34801561068d575f5ffd5b506106966112e7565b6040516106a39190612d8f565b60405180910390f35b3480156106b7575f5ffd5b506106c0611377565b6040516106cd9190612fae565b60405180910390f35b3480156106e1575f5ffd5b506106fc60048036038101906106f79190613229565b61137d565b005b348015610709575f5ffd5b50610724600480360381019061071f9190612f61565b611393565b005b348015610731575f5ffd5b5061074c6004803603810190610747919061338f565b61142c565b005b348015610759575f5ffd5b50610774600480360381019061076f9190612de2565b611451565b6040516107819190612d8f565b60405180910390f35b348015610795575f5ffd5b5061079e6114b7565b6040516107ab9190612d8f565b60405180910390f35b3480156107bf575f5ffd5b506107da60048036038101906107d5919061340f565b611543565b6040516107e79190612d06565b60405180910390f35b3480156107fb575f5ffd5b5061081660048036038101906108119190613477565b6115d1565b005b348015610823575f5ffd5b5061083e60048036038101906108399190612fc7565b611681565b005b34801561084b575f5ffd5b50610854611705565b6040516108619190612fae565b60405180910390f35b348015610875575f5ffd5b50610890600480360381019061088b91906134a2565b61170a565b005b5f61089c8261172e565b9050919050565b60605f80546108b1906134fa565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd906134fa565b80156109285780601f106108ff57610100808354040283529160200191610928565b820191905f5260205f20905b81548152906001019060200180831161090b57829003601f168201915b5050505050905090565b5f61093c826117a7565b506109468261182d565b9050919050565b600d5f9054906101000a900460ff16610992576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8414806109a05750600a84115b156109d7576040517f1293643200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108ae84600c546109e89190613557565b1115610a20576040517f52df9fe500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f33844630604051602001610a3894939291906135ef565b604051602081830303815290604052805190602001209050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610add610a9483611866565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050611899565b73ffffffffffffffffffffffffffffffffffffffff1614610b2a576040517f5cd5d23300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f818611610b79575f610b86565b8186610b85919061363c565b5b90505f818810610b965781610b98565b875b90506009548189610ba9919061363c565b610bb3919061366f565b3414610beb576040517f98d4901c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8083610bf79190613557565b60105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508760115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610c849190613557565b925050819055505f600c5490508881610c9d9190613557565b600c819055505f5b89811015610ccd57610cc2338284610cbd9190613557565b6118c3565b806001019050610ca5565b505f341115610d98575f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610d1c906136dd565b5f6040518083038185875af1925050503d805f8114610d56576040519150601f19603f3d011682016040523d82523d5f602084013e610d5b565b606091505b5050905080610d96576040517f3b1ab10400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050505050565b610db58282610db06119b6565b6119bd565b5050565b600c5481565b6011602052805f5260405f205f915090505481565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e69575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401610e609190612e4c565b60405180910390fd5b5f610e7c8383610e776119b6565b6119cf565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ef2578382826040517f64283d7b000000000000000000000000000000000000000000000000000000008152600401610ee9939291906136f1565b60405180910390fd5b50505050565b600d5f9054906101000a900460ff1681565b5f5f5f60075f8681526020019081526020015f2090505f815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f825f0160149054906101000a90046bffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fde5760065f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060065f0160149054906101000a90046bffffffffffffffffffffffff1690505b5f610fe7611bda565b6bffffffffffffffffffffffff16826bffffffffffffffffffffffff168861100f919061366f565b6110199190613753565b9050828195509550505050509250929050565b6108ae81565b6010602052805f5260405f205f915090505481565b61106183838360405180602001604052805f81525061142c565b505050565b61106e611be3565b5f8173ffffffffffffffffffffffffffffffffffffffff1647604051611093906136dd565b5f6040518083038185875af1925050503d805f81146110cd576040519150601f19603f3d011682016040523d82523d5f602084013e6110d2565b606091505b505090508061110d576040517f3b1ab10400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b611119611be3565b8181600e918261112a92919061392d565b505050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61115e826117a7565b9050919050565b61116d611be3565b80600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611221575f6040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016112189190612e4c565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61126e611be3565b6112775f611c6a565b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112a9611be3565b6112b38282611d2d565b5050565b6112bf611be3565b8060098190555050565b6112d1611be3565b8181600f91826112e292919061392d565b505050565b6060600180546112f6906134fa565b80601f0160208091040260200160405190810160405280929190818152602001828054611322906134fa565b801561136d5780601f106113445761010080835404028352916020019161136d565b820191905f5260205f20905b81548152906001019060200180831161135057829003601f168201915b5050505050905090565b60095481565b61138f6113886119b6565b8383611ec8565b5050565b61139b611be3565b6108ae81600c546113ac9190613557565b11156113e4576040517f52df9fe500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600c54905081816113f69190613557565b600c819055505f5b828110156114265761141b8482846114169190613557565b6118c3565b8060010190506113fe565b50505050565b611437848484610df9565b61144b6114426119b6565b858585856120a1565b50505050565b606061145c826117a7565b505f61146661224d565b90505f8151116114845760405180602001604052805f8152506114af565b8061148e846122dd565b60405160200161149f929190613a34565b6040516020818303038152906040525b915050919050565b600f80546114c4906134fa565b80601f01602080910402602001604051908101604052809291908181526020018280546114f0906134fa565b801561153b5780601f106115125761010080835404028352916020019161153b565b820191905f5260205f20905b81548152906001019060200180831161151e57829003601f168201915b505050505081565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6115d9611be3565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361163e576040517f9c707f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611689611be3565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116f9575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016116f09190612e4c565b60405180910390fd5b61170281611c6a565b50565b600a81565b611712611be3565b80600d5f6101000a81548160ff02191690831515021790555050565b5f7f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806117a0575061179f826123a7565b5b9050919050565b5f5f6117b283612488565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361182457826040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161181b9190612fae565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f5281601c52603c5f209050919050565b5f5f5f5f6118a786866124c1565b9250925092506118b78282612516565b82935050505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611933575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161192a9190612e4c565b60405180910390fd5b5f61193f83835f6119cf565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146119b1575f6040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016119a89190612e4c565b60405180910390fd5b505050565b5f33905090565b6119ca8383836001612678565b505050565b5f5f6119da84612488565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a1b57611a1a818486612837565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611aa657611a5a5f855f5f612678565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b2557600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f612710905090565b611beb6119b6565b73ffffffffffffffffffffffffffffffffffffffff16611c09611279565b73ffffffffffffffffffffffffffffffffffffffff1614611c6857611c2c6119b6565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611c5f9190612e4c565b60405180910390fd5b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611d36611bda565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff161115611d9b5781816040517f6f483d09000000000000000000000000000000000000000000000000000000008152600401611d92929190613a87565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e0b575f6040517fb6d9900a000000000000000000000000000000000000000000000000000000008152600401611e029190612e4c565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff1681525060065f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151815f0160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f38575f6040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611f2f9190612e4c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fa857816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401611f9f9190612e4c565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516120949190612d06565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115612246578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02868685856040518563ffffffff1660e01b81526004016120ff9493929190613b00565b6020604051808303815f875af192505050801561213a57506040513d601f19601f820116820180604052508101906121379190613b5e565b60015b6121bb573d805f8114612168576040519150601f19603f3d011682016040523d82523d5f602084013e61216d565b606091505b505f8151036121b357836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016121aa9190612e4c565b60405180910390fd5b805160208201fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461224457836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161223b9190612e4c565b60405180910390fd5b505b5050505050565b6060600e805461225c906134fa565b80601f0160208091040260200160405190810160405280929190818152602001828054612288906134fa565b80156122d35780601f106122aa576101008083540402835291602001916122d3565b820191905f5260205f20905b8154815290600101906020018083116122b657829003601f168201915b5050505050905090565b60605f60016122eb846128fa565b0190505f8167ffffffffffffffff8111156123095761230861326b565b5b6040519080825280601f01601f19166020018201604052801561233b5781602001600182028036833780820191505090505b5090505f82602083010190505b60011561239c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161239157612390613726565b5b0494505f8503612348575b819350505050919050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061247157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612481575061248082612a4b565b5b9050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f5f5f6041845103612501575f5f5f602087015192506040870151915060608701515f1a90506124f388828585612ab4565b95509550955050505061250f565b5f600285515f1b9250925092505b9250925092565b5f600381111561252957612528613b89565b5b82600381111561253c5761253b613b89565b5b0315612674576001600381111561255657612555613b89565b5b82600381111561256957612568613b89565b5b036125a0576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156125b4576125b3613b89565b5b8260038111156125c7576125c6613b89565b5b0361260b57805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016126029190612fae565b60405180910390fd5b60038081111561261e5761261d613b89565b5b82600381111561263157612630613b89565b5b0361267357806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161266a9190613bce565b60405180910390fd5b5b5050565b80806126b057505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156127e2575f6126bf846117a7565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561272957508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561273c575061273a8184611543565b155b1561277e57826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016127759190612e4c565b60405180910390fd5b81156127e057838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b612842838383612b9b565b6128f5575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036128b657806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016128ad9190612fae565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016128ec929190613080565b60405180910390fd5b505050565b5f5f5f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612956577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161294c5761294b613726565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612993576d04ee2d6d415b85acef8100000000838161298957612988613726565b5b0492506020810190505b662386f26fc1000083106129c257662386f26fc1000083816129b8576129b7613726565b5b0492506010810190505b6305f5e10083106129eb576305f5e10083816129e1576129e0613726565b5b0492506008810190505b6127108310612a10576127108381612a0657612a05613726565b5b0492506004810190505b60648310612a335760648381612a2957612a28613726565b5b0492506002810190505b600a8310612a42576001810190505b80915050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115612af0575f600385925092509250612b91565b5f6001888888886040515f8152602001604052604051612b139493929190613c02565b6020604051602081039080840390855afa158015612b33573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b84575f60015f5f1b93509350935050612b91565b805f5f5f1b935093509350505b9450945094915050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612c5257508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612c135750612c128484611543565b5b80612c5157508273ffffffffffffffffffffffffffffffffffffffff16612c398361182d565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612ca081612c6c565b8114612caa575f5ffd5b50565b5f81359050612cbb81612c97565b92915050565b5f60208284031215612cd657612cd5612c64565b5b5f612ce384828501612cad565b91505092915050565b5f8115159050919050565b612d0081612cec565b82525050565b5f602082019050612d195f830184612cf7565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612d6182612d1f565b612d6b8185612d29565b9350612d7b818560208601612d39565b612d8481612d47565b840191505092915050565b5f6020820190508181035f830152612da78184612d57565b905092915050565b5f819050919050565b612dc181612daf565b8114612dcb575f5ffd5b50565b5f81359050612ddc81612db8565b92915050565b5f60208284031215612df757612df6612c64565b5b5f612e0484828501612dce565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612e3682612e0d565b9050919050565b612e4681612e2c565b82525050565b5f602082019050612e5f5f830184612e3d565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112612e8657612e85612e65565b5b8235905067ffffffffffffffff811115612ea357612ea2612e69565b5b602083019150836001820283011115612ebf57612ebe612e6d565b5b9250929050565b5f5f5f5f60608587031215612ede57612edd612c64565b5b5f612eeb87828801612dce565b9450506020612efc87828801612dce565b935050604085013567ffffffffffffffff811115612f1d57612f1c612c68565b5b612f2987828801612e71565b925092505092959194509250565b612f4081612e2c565b8114612f4a575f5ffd5b50565b5f81359050612f5b81612f37565b92915050565b5f5f60408385031215612f7757612f76612c64565b5b5f612f8485828601612f4d565b9250506020612f9585828601612dce565b9150509250929050565b612fa881612daf565b82525050565b5f602082019050612fc15f830184612f9f565b92915050565b5f60208284031215612fdc57612fdb612c64565b5b5f612fe984828501612f4d565b91505092915050565b5f5f5f6060848603121561300957613008612c64565b5b5f61301686828701612f4d565b935050602061302786828701612f4d565b925050604061303886828701612dce565b9150509250925092565b5f5f6040838503121561305857613057612c64565b5b5f61306585828601612dce565b925050602061307685828601612dce565b9150509250929050565b5f6040820190506130935f830185612e3d565b6130a06020830184612f9f565b9392505050565b5f5f83601f8401126130bc576130bb612e65565b5b8235905067ffffffffffffffff8111156130d9576130d8612e69565b5b6020830191508360018202830111156130f5576130f4612e6d565b5b9250929050565b5f5f6020838503121561311257613111612c64565b5b5f83013567ffffffffffffffff81111561312f5761312e612c68565b5b61313b858286016130a7565b92509250509250929050565b5f61315182612e0d565b9050919050565b61316181613147565b82525050565b5f60208201905061317a5f830184613158565b92915050565b5f6bffffffffffffffffffffffff82169050919050565b6131a081613180565b81146131aa575f5ffd5b50565b5f813590506131bb81613197565b92915050565b5f5f604083850312156131d7576131d6612c64565b5b5f6131e485828601612f4d565b92505060206131f5858286016131ad565b9150509250929050565b61320881612cec565b8114613212575f5ffd5b50565b5f81359050613223816131ff565b92915050565b5f5f6040838503121561323f5761323e612c64565b5b5f61324c85828601612f4d565b925050602061325d85828601613215565b9150509250929050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6132a182612d47565b810181811067ffffffffffffffff821117156132c0576132bf61326b565b5b80604052505050565b5f6132d2612c5b565b90506132de8282613298565b919050565b5f67ffffffffffffffff8211156132fd576132fc61326b565b5b61330682612d47565b9050602081019050919050565b828183375f83830152505050565b5f61333361332e846132e3565b6132c9565b90508281526020810184848401111561334f5761334e613267565b5b61335a848285613313565b509392505050565b5f82601f83011261337657613375612e65565b5b8135613386848260208601613321565b91505092915050565b5f5f5f5f608085870312156133a7576133a6612c64565b5b5f6133b487828801612f4d565b94505060206133c587828801612f4d565b93505060406133d687828801612dce565b925050606085013567ffffffffffffffff8111156133f7576133f6612c68565b5b61340387828801613362565b91505092959194509250565b5f5f6040838503121561342557613424612c64565b5b5f61343285828601612f4d565b925050602061344385828601612f4d565b9150509250929050565b61345681613147565b8114613460575f5ffd5b50565b5f813590506134718161344d565b92915050565b5f6020828403121561348c5761348b612c64565b5b5f61349984828501613463565b91505092915050565b5f602082840312156134b7576134b6612c64565b5b5f6134c484828501613215565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061351157607f821691505b602082108103613524576135236134cd565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61356182612daf565b915061356c83612daf565b92508282019050808211156135845761358361352a565b5b92915050565b5f8160601b9050919050565b5f6135a08261358a565b9050919050565b5f6135b182613596565b9050919050565b6135c96135c482612e2c565b6135a7565b82525050565b5f819050919050565b6135e96135e482612daf565b6135cf565b82525050565b5f6135fa82876135b8565b60148201915061360a82866135d8565b60208201915061361a82856135d8565b60208201915061362a82846135b8565b60148201915081905095945050505050565b5f61364682612daf565b915061365183612daf565b92508282039050818111156136695761366861352a565b5b92915050565b5f61367982612daf565b915061368483612daf565b925082820261369281612daf565b915082820484148315176136a9576136a861352a565b5b5092915050565b5f81905092915050565b50565b5f6136c85f836136b0565b91506136d3826136ba565b5f82019050919050565b5f6136e7826136bd565b9150819050919050565b5f6060820190506137045f830186612e3d565b6137116020830185612f9f565b61371e6040830184612e3d565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61375d82612daf565b915061376883612daf565b92508261377857613777613726565b5b828204905092915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026137e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826137ae565b6137f386836137ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61382e61382961382484612daf565b61380b565b612daf565b9050919050565b5f819050919050565b61384783613814565b61385b61385382613835565b8484546137ba565b825550505050565b5f5f905090565b613872613863565b61387d81848461383e565b505050565b5b818110156138a0576138955f8261386a565b600181019050613883565b5050565b601f8211156138e5576138b68161378d565b6138bf8461379f565b810160208510156138ce578190505b6138e26138da8561379f565b830182613882565b50505b505050565b5f82821c905092915050565b5f6139055f19846008026138ea565b1980831691505092915050565b5f61391d83836138f6565b9150826002028217905092915050565b6139378383613783565b67ffffffffffffffff8111156139505761394f61326b565b5b61395a82546134fa565b6139658282856138a4565b5f601f831160018114613992575f8415613980578287013590505b61398a8582613912565b8655506139f1565b601f1984166139a08661378d565b5f5b828110156139c7578489013582556001820191506020850194506020810190506139a2565b868310156139e457848901356139e0601f8916826138f6565b8355505b6001600288020188555050505b50505050505050565b5f81905092915050565b5f613a0e82612d1f565b613a1881856139fa565b9350613a28818560208601612d39565b80840191505092915050565b5f613a3f8285613a04565b9150613a4b8284613a04565b91508190509392505050565b5f613a71613a6c613a6784613180565b61380b565b612daf565b9050919050565b613a8181613a57565b82525050565b5f604082019050613a9a5f830185613a78565b613aa76020830184612f9f565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b5f613ad282613aae565b613adc8185613ab8565b9350613aec818560208601612d39565b613af581612d47565b840191505092915050565b5f608082019050613b135f830187612e3d565b613b206020830186612e3d565b613b2d6040830185612f9f565b8181036060830152613b3f8184613ac8565b905095945050505050565b5f81519050613b5881612c97565b92915050565b5f60208284031215613b7357613b72612c64565b5b5f613b8084828501613b4a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f819050919050565b613bc881613bb6565b82525050565b5f602082019050613be15f830184613bbf565b92915050565b5f60ff82169050919050565b613bfc81613be7565b82525050565b5f608082019050613c155f830187613bbf565b613c226020830186613bf3565b613c2f6040830185613bbf565b613c3c6060830184613bbf565b9594505050505056fea26469706673582212203249fa52bf334df77d2d6d212ad2a475026720a1b8fcf3aed6c0c4542b284abd64736f6c634300081c0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| DIH | 1 | $0.0000102 | $0 |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x73c3d730…003a94 | Transfer | 18,550,266 | 22 days agoFri, 24 Jul 2026 23:38:54 UTC | 0xcaf7…5d11 | IN | 0x5697…05d2 | $0.001 DIH |
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x2e7579…6844d7 | 1 day agoSat, 15 Aug 2026 03:13:49 UTC | ApprovalForAll | [0] 0x000000000000…4e322e32 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000000 |
| 0x2263f8…ab5a85 | 3 days agoThu, 13 Aug 2026 19:15:34 UTC | ApprovalForAll | [0] 0x000000000000…6b75b145 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000000 |
| 0xe0b22e…031135 | 4 days agoTue, 11 Aug 2026 21:34:10 UTC | ApprovalForAll | [0] 0x000000000000…792c2685 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000000 |
| 0xd2a4c3…f823af | 6 days agoMon, 10 Aug 2026 13:15:25 UTC | ApprovalForAll | [0] 0x000000000000…db77f504 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000000 |
| 0x30bd6b…965029 | 6 days agoMon, 10 Aug 2026 09:12:31 UTC | ApprovalForAll | [0] 0x000000000000…49f3f62c [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000000 |
| 0x743cf5…bd96d3 | 6 days agoMon, 10 Aug 2026 03:10:22 UTC | ApprovalForAll | [0] 0x000000000000…143bcd8e [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000000 |
| 0x1e87b7…4d4e82 | 7 days agoSat, 08 Aug 2026 21:28:30 UTC | ApprovalForAll | [0] 0x000000000000…2456b17a [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000000 |
| 0x999eb5…551409 | 8 days agoSat, 08 Aug 2026 04:36:38 UTC | Transfer | [0] 0x000000000000…115ea507 [1] 0x000000000000…294b491b [2] 0x000000000000…0000043d |
| 0xb99dab…d3ebd0 | 8 days agoFri, 07 Aug 2026 23:06:42 UTC | ApprovalForAll | [0] 0x000000000000…77dd34d5 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000001 |
| 0xba714f…d66fe2 | 9 days agoFri, 07 Aug 2026 17:45:27 UTC | Transfer | [0] 0x000000000000…df80b110 [1] 0x000000000000…4c22682b [2] 0x000000000000…0000022b |
| 0x74682a…478679 | 9 days agoFri, 07 Aug 2026 13:10:03 UTC | ApprovalForAll | [0] 0x000000000000…fee73688 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000000 |
| 0x06affa…52e092 | 9 days agoFri, 07 Aug 2026 09:29:18 UTC | Transfer | [0] 0x000000000000…6b75b145 [1] 0x000000000000…491fd893 [2] 0x000000000000…000006b0 |
| 0x06affa…52e092 | 9 days agoFri, 07 Aug 2026 09:29:18 UTC | ApprovalForAll | [0] 0x000000000000…6b75b145 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000001 |
| 0x88e311…ce5ee1 | 9 days agoFri, 07 Aug 2026 08:32:38 UTC | ApprovalForAll | [0] 0x000000000000…83350e16 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000001 |
| 0x4d8f9d…05b051 | 10 days agoThu, 06 Aug 2026 02:21:09 UTC | Transfer | [0] 0x000000000000…bded7735 [1] 0x000000000000…b5852bc2 [2] 0x000000000000…000001f2 |
| 0x4d8f9d…05b051 | 10 days agoThu, 06 Aug 2026 02:21:09 UTC | Transfer | [0] 0x000000000000…a98d0bc7 [1] 0x000000000000…b5852bc2 [2] 0x000000000000…000001c5 |
| 0x4d8f9d…05b051 | 10 days agoThu, 06 Aug 2026 02:21:09 UTC | Transfer | [0] 0x000000000000…7cd2f16b [1] 0x000000000000…b5852bc2 [2] 0x000000000000…000003fe |
| 0x5e70b6…bdefb4 | 10 days agoWed, 05 Aug 2026 23:18:33 UTC | ApprovalForAll | [0] 0x000000000000…9e7ff871 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000001 |
| 0x78fc04…74686d | 10 days agoWed, 05 Aug 2026 21:28:58 UTC | ApprovalForAll | [0] 0x000000000000…5b657c54 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000001 |
| 0x8b5b63…879f12 | 11 days agoWed, 05 Aug 2026 17:14:43 UTC | ApprovalForAll | [0] 0x000000000000…a10cf30d [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000001 |
| 0x7863cd…84a74a | 11 days agoWed, 05 Aug 2026 07:32:39 UTC | ApprovalForAll | [0] 0x000000000000…491fd893 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000001 |
| 0x95bc23…3c2ea0 | 11 days agoWed, 05 Aug 2026 03:51:45 UTC | Transfer | [0] 0x000000000000…02be80ae [1] 0x000000000000…02306d50 [2] 0x000000000000…0000081c |
| 0xb71346…e3f684 | 12 days agoTue, 04 Aug 2026 13:00:16 UTC | ApprovalForAll | [0] 0x000000000000…5145ab00 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000001 |
| 0x980066…7d4f1f | 12 days agoTue, 04 Aug 2026 09:36:18 UTC | Transfer | [0] 0x000000000000…7cd2f16b [1] 0x000000000000…491fd893 [2] 0x000000000000…0000021d |
| 0x0df05a…4f8ad3 | 12 days agoTue, 04 Aug 2026 03:44:59 UTC | Transfer | [0] 0x000000000000…454370a6 [1] 0x000000000000…02306d50 [2] 0x000000000000…0000065f |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x2e7579…6844d7 | Set Approval For All | 36,783,020 | 1 day agoSat, 15 Aug 2026 03:13:49 UTC | 0xcb86…2e32 | IN | BOLTHEADS | $0.000 ETH | 0.00000093 | |
| 0x2263f8…ab5a85 | Set Approval For All | 35,634,179 | 3 days agoThu, 13 Aug 2026 19:15:34 UTC | 0xe174…b145 | IN | BOLTHEADS | $0.000 ETH | 0.00000108 | |
| 0xe0b22e…031135 | Set Approval For All | 33,989,512 | 4 days agoTue, 11 Aug 2026 21:34:10 UTC | 0xa7cb…2685 | IN | BOLTHEADS | $0.000 ETH | 0.00000085 | |
| 0xd2a4c3…f823af | Set Approval For All | 32,826,601 | 6 days agoMon, 10 Aug 2026 13:15:25 UTC | 0x4594…f504 | IN | BOLTHEADS | $0.000 ETH | 0.00000063 | |
| 0x30bd6b…965029 | Set Approval For All | 32,681,176 | 6 days agoMon, 10 Aug 2026 09:12:31 UTC | 0x16e7…f62c | IN | BOLTHEADS | $0.000 ETH | 0.00000069 | |
| 0x743cf5…bd96d3 | Set Approval For All | 32,464,433 | 6 days agoMon, 10 Aug 2026 03:10:22 UTC | 0xbb0d…cd8e | IN | BOLTHEADS | $0.000 ETH | 0.00000069 | |
| 0x1e87b7…4d4e82 | Set Approval For All | 31,397,107 | 7 days agoSat, 08 Aug 2026 21:28:30 UTC | 0x819d…b17a | IN | BOLTHEADS | $0.000 ETH | 0.00000073 | |
| 0xb99dab…d3ebd0 | Set Approval For All | 30,593,502 | 8 days agoFri, 07 Aug 2026 23:06:42 UTC | 0x12ad…34d5 | IN | BOLTHEADS | $0.000 ETH | 0.00000148 | |
| 0x74682a…478679 | Set Approval For All | 30,235,956 | 9 days agoFri, 07 Aug 2026 13:10:03 UTC | 0x2d0f…3688 | IN | BOLTHEADS | $0.000 ETH | 0.00000073 | |
| 0x88e311…ce5ee1 | Set Approval For All | 30,070,038 | 9 days agoFri, 07 Aug 2026 08:32:38 UTC | 0xe9c7…0e16 | IN | BOLTHEADS | $0.000 ETH | 0.00000144 | |
| 0x5e70b6…bdefb4 | Set Approval For All | 28,875,662 | 10 days agoWed, 05 Aug 2026 23:18:33 UTC | 0x5990…f871 | IN | BOLTHEADS | $0.000 ETH | 0.00000118 | |
| 0x78fc04…74686d | Set Approval For All | 28,809,972 | 10 days agoWed, 05 Aug 2026 21:28:58 UTC | 0x674a…7c54 | IN | BOLTHEADS | $0.000 ETH | 0.00000113 | |
| 0x8b5b63…879f12 | Set Approval For All | 28,657,320 | 11 days agoWed, 05 Aug 2026 17:14:43 UTC | 0x120a…f30d | IN | BOLTHEADS | $0.000 ETH | 0.00000103 | |
| 0x7863cd…84a74a | Set Approval For All | 28,308,802 | 11 days agoWed, 05 Aug 2026 07:32:39 UTC | 0x662a…d893 | IN | BOLTHEADS | $0.000 ETH | 0.00000098 | |
| 0xb71346…e3f684 | Set Approval For All | 27,643,342 | 12 days agoTue, 04 Aug 2026 13:00:16 UTC | 0x8a17…ab00 | IN | BOLTHEADS | $0.000 ETH | 0.00000094 | |
| 0x9bedcc…30382c | Set Approval For All | 27,195,176 | 12 days agoTue, 04 Aug 2026 00:31:15 UTC | 0x259e…9b1a | IN | BOLTHEADS | $0.000 ETH | 0.00000098 | |
| 0xf6db58…db2cb4 | Set Approval For All | 27,169,228 | 12 days agoMon, 03 Aug 2026 23:47:55 UTC | 0xc88f…796f | IN | BOLTHEADS | $0.000 ETH | 0.00000098 | |
| 0x9aa972…d97f28 | Set Approval For All | 26,904,733 | 13 days agoMon, 03 Aug 2026 16:26:15 UTC | 0x835c…8c2b | IN | BOLTHEADS | $0.000 ETH | 0.00000096 | |
| 0xd29d5e…3cc65a | Set Approval For All | 26,753,670 | 13 days agoMon, 03 Aug 2026 12:14:04 UTC | 0x78dd…3570 | IN | BOLTHEADS | $0.000 ETH | 0.00000098 | |
| 0x8cda6c…bdb740 | Set Approval For All | 26,651,832 | 13 days agoMon, 03 Aug 2026 09:23:50 UTC | 0x3ae6…e5b9 | IN | BOLTHEADS | $0.000 ETH | 0.00000093 | |
| 0x4826f8…0e9326 | Set Approval For All | 26,596,211 | 13 days agoMon, 03 Aug 2026 07:50:52 UTC | 0x7ce2…44c3 | IN | BOLTHEADS | $0.000 ETH | 0.00000093 | |
| 0x14972d…8dc869 | Set Approval For All | 26,512,445 | 13 days agoMon, 03 Aug 2026 05:30:50 UTC | 0x6be9…0d21 | IN | BOLTHEADS | $0.000 ETH | 0.00000093 | |
| 0xf88143…567595 | Set Approval For All | 26,482,381 | 13 days agoMon, 03 Aug 2026 04:40:34 UTC | 0xddbf…70a6 | IN | BOLTHEADS | $0.000 ETH | 0.00000094 | |
| 0xac2fbf…85616a | Set Approval For All | 26,454,371 | 13 days agoMon, 03 Aug 2026 03:53:45 UTC | 0x45fe…e68c | IN | BOLTHEADS | $0.000 ETH | 0.00000093 | |
| 0x69b166…3f464c | Set Approval For All | 26,409,892 | 13 days agoMon, 03 Aug 2026 02:39:23 UTC | 0xb940…3b68 | IN | BOLTHEADS | $0.000 ETH | 0.00000093 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 11,584,256 | 30 days agoThu, 16 Jul 2026 21:33:58 UTC | 0xb700d0…9d458f | CALL | mint | 0x5697…05d2 | OUT | 0x38ea…8df9 | 0.0005 ETH |
| 11,570,546 | 30 days agoThu, 16 Jul 2026 21:11:05 UTC | 0x56dafb…01e5d9 | CALL | mint | 0x5697…05d2 | OUT | 0x38ea…8df9 | 0.0005 ETH |