[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccessControlBadConfirmation", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "name": "AccessControlUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "AdminRole_Caller_Does_Not_Have_Admin_Role", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721IncorrectOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721InsufficientApproval", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC721InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC721InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721InvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC721InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC721InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721NonexistentToken", "type": "error" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [], "name": "LazyMintedCollection_Mint_Count_Must_Be_Greater_Than_Zero", "type": "error" }, { "inputs": [], "name": "MinterRole_Caller_Does_Not_Have_Minter_Or_Admin_Role", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "totalSupply", "type": "uint256" } ], "name": "SelfDestructibleCollection_Minted_NFTs_Must_Be_Burned_First", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" }, { "inputs": [], "name": "StringsLibrary_Required_String_Is_Empty", "type": "error" }, { "inputs": [], "name": "TimeLimitedCollection_Mint_End_Time_Must_Be_In_The_Future", "type": "error" }, { "inputs": [], "name": "TimeLimitedCollection_Mint_End_Time_Too_Far_In_The_Future", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "mintEndTime", "type": "uint256" } ], "name": "TimeLimitedCollection_Minting_Has_Ended", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" } ], "name": "SelfDestruct", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "getFeeBps", "outputs": [ { "internalType": "uint256[]", "name": "royaltiesInBasisPoints", "type": "uint256[]" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getFeeRecipients", "outputs": [ { "internalType": "address payable[]", "name": "recipients", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNFTCollectionType", "outputs": [ { "internalType": "string", "name": "collectionType", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getRoyalties", "outputs": [ { "internalType": "address payable[]", "name": "recipients", "type": "address[]" }, { "internalType": "uint256[]", "name": "royaltiesInBasisPoints", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getTokenCreatorPaymentAddress", "outputs": [ { "internalType": "address payable", "name": "creatorPaymentAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantMinter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "accountHasRole", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "_creator", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "tokenURI_", "type": "string" }, { "internalType": "uint256", "name": "_mintEndTime", "type": "uint256" }, { "internalType": "address", "name": "_approvedMinter", "type": "address" }, { "internalType": "address payable", "name": "_paymentAddress", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isAdmin", "outputs": [ { "internalType": "bool", "name": "approved", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isMinter", "outputs": [ { "internalType": "bool", "name": "approved", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "latestTokenId", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "count", "type": "uint16" }, { "internalType": "address", "name": "to", "type": "address" } ], "name": "mintCountTo", "outputs": [ { "internalType": "uint256", "name": "firstTokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintEndTime", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numberOfTokensAvailableToMint", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "callerConfirmation", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeMinter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "selfDestruct", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "isSupported", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tokenCreator", "outputs": [ { "internalType": "address payable", "name": "creator", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "uri", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "supply", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60a060405234801561001057600080fd5b5060408051808201909152601c81527f4e46542054696d65642045646974696f6e20436f6c6c656374696f6e00000000602082015261004e8161017e565b608052507ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546001600160401b03919068010000000000000000900460ff16806100a6575080546001600160401b03808416911610155b156100c45760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160481b0319166001600160401b03831617680100000000000000001781556040805160608101909152602b80825261013091906138c0602083013960408051808201909152600f81526e27232a2a34b6b2b222b234ba34b7b760891b60208201526101c5565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505061042e565b600080829050601f815111156101b2578260405163305a27a960e01b81526004016101a9919061025e565b60405180910390fd5b80516101bd826102ad565b179392505050565b6101cd61020e565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300806101f9848261036f565b5060018101610208838261036f565b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661025c57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020808352835180602085015260005b8181101561028c57858101830151858201604001528201610270565b506000604082860101526040601f19601f8301168501019250505092915050565b805160208083015191908110156102ce576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806102fe57607f821691505b6020821081036102ce57634e487b7160e01b600052602260045260246000fd5b601f82111561036a576000816000526020600020601f850160051c810160208610156103475750805b601f850160051c820191505b8181101561036657828155600101610353565b5050505b505050565b81516001600160401b03811115610388576103886102d4565b61039c8161039684546102ea565b8461031e565b602080601f8311600181146103d157600084156103b95750858301515b600019600386901b1c1916600185901b178555610366565b600085815260208120601f198616915b82811015610400578886015182559484019460019091019084016103e1565b508582101561041e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6080516134776104496000396000610ffe01526134776000f3fe608060405234801561001057600080fd5b506004361061030a5760003560e01c80638ae3e5f11161019c578063bb3bafd6116100ee578063dfea951d11610097578063ec5f752e11610071578063ec5f752e14610727578063f2fde38b1461073a578063fa4fee981461074d57600080fd5b8063dfea951d146106af578063e30c3978146106b7578063e985e9c5146106bf57600080fd5b8063d1151249116100c8578063d115124914610662578063d539139314610675578063d547741f1461069c57600080fd5b8063bb3bafd61461061b578063c87b56dd1461063c578063cfbd48851461064f57600080fd5b80639cb8a26a11610150578063aa271e1a1161012a578063aa271e1a146105d5578063b88d4fde146105e8578063b9c4d9fb146105fb57600080fd5b80639cb8a26a146105b2578063a217fddf146105ba578063a22cb465146105c257600080fd5b80638da5cb5b116101815780638da5cb5b1461058f57806391d148541461059757806395d89b41146105aa57600080fd5b80638ae3e5f1146105765780638c0e83491461057e57600080fd5b80632d3456701161026057806342966c6811610209578063715018a6116101e3578063715018a614610534578063717a002b1461053c57806379ba50971461056e57600080fd5b806342966c68146104fb5780636352211e1461050e57806370a082311461052157600080fd5b806336568abe1161023a57806336568abe146104c257806340c1a064146104d557806342842e0e146104e857600080fd5b80632d345670146104895780632f2ff15d1461049c57806335bb3e16146104af57600080fd5b806318160ddd116102c257806324d7806c1161029c57806324d7806c14610424578063261707fa146104375780632a55205a1461044a57600080fd5b806318160ddd146103b957806323b872dd146103cf578063248a9ca3146103e257600080fd5b8063081812fc116102f3578063081812fc1461034c578063095ea7b3146103845780630ebd4c7f1461039957600080fd5b806301ffc9a71461030f57806306fdde0314610337575b600080fd5b61032261031d366004612b15565b610760565b60405190151581526020015b60405180910390f35b61033f610771565b60405161032e9190612b96565b61035f61035a366004612ba9565b610827565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161032e565b610397610392366004612bef565b61087c565b005b6103ac6103a7366004612ba9565b61088b565b60405161032e9190612c57565b6103c16108e2565b60405190815260200161032e565b6103976103dd366004612c6a565b6108f1565b6103c16103f0366004612ba9565b60009081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b610322610432366004612cab565b6109e7565b610397610445366004612cab565b6109f3565b61045d610458366004612cc8565b610a20565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161032e565b610397610497366004612cab565b610a38565b6103976104aa366004612cea565b610a43565b6103976104bd366004612cab565b610a87565b6103976104d0366004612cea565b610a92565b61035f6104e3366004612ba9565b610af0565b6103976104f6366004612c6a565b610afa565b610397610509366004612ba9565b610b15565b61035f61051c366004612ba9565b610b21565b6103c161052f366004612cab565b610b2c565b610397610bcd565b6103e8546105599068010000000000000000900463ffffffff1681565b60405163ffffffff909116815260200161032e565b610397610be1565b6103c1610c59565b6103e8546105599063ffffffff1681565b61035f610ca3565b6103226105a5366004612cea565b610ce5565b61033f610d8e565b610397610ddf565b6103c1600081565b6103976105d0366004612d1a565b610def565b6103226105e3366004612cab565b610dfa565b6103976105f6366004612d7c565b610e26565b61060e610609366004612ba9565b610e3d565b60405161032e9190612ec1565b61062e610629366004612ba9565b610eba565b60405161032e929190612ed4565b61033f61064a366004612ba9565b610f73565b61039761065d366004612cab565b610f7d565b6103c1610670366004612f02565b610fa7565b6103c17f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6103976106aa366004612cea565b610fb3565b61033f610ff7565b61035f611022565b6103226106cd366004612f37565b73ffffffffffffffffffffffffffffffffffffffff91821660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020908152604080832093909416825291909152205460ff1690565b61035f610735366004612ba9565b61104b565b610397610748366004612cab565b611056565b61039761075b366004612f9e565b61110d565b600061076b82611378565b92915050565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930080546060919081906107a390613076565b80601f01602080910402602001604051908101604052809291908181526020018280546107cf90613076565b801561081c5780601f106107f15761010080835404028352916020019161081c565b820191906000526020600020905b8154815290600101906020018083116107ff57829003601f168201915b505050505091505090565b6000610832826113ce565b5060008281527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304602052604090205473ffffffffffffffffffffffffffffffffffffffff1661076b565b61088782823361144c565b5050565b604080516001808252818301909252606091602080830190803683370190505090506103e86bffffffffffffffffffffffff16816000815181106108d1576108d16130c9565b602002602001018181525050919050565b60006108ec611459565b905090565b73ffffffffffffffffffffffffffffffffffffffff8216610946576040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b600061095383833361147c565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109e1576040517f64283d7b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8086166004830152602482018490528216604482015260640161093d565b50505050565b600061076b8183610ce5565b610a1d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610a43565b50565b600080610a2c8461104b565b94600a90930493505050565b610a1d600082610fb3565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154610a7d81611491565b6109e1838361149b565b610a1d600082610a43565b73ffffffffffffffffffffffffffffffffffffffff81163314610ae1576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aeb828261159e565b505050565b600061076b610ca3565b610aeb83838360405180602001604052806000815250610e26565b6108876000823361147c565b600061076b826113ce565b60007f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930073ffffffffffffffffffffffffffffffffffffffff8316610b9f576040517f89c62b640000000000000000000000000000000000000000000000000000000081526000600482015260240161093d565b73ffffffffffffffffffffffffffffffffffffffff9092166000908152600390920160205250604090205490565b610bd5611657565b610bdf60006116af565b565b3380610beb611022565b73ffffffffffffffffffffffffffffffffffffffff1614610c50576040517f118cdaa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161093d565b610a1d816116af565b6103e85460009068010000000000000000900463ffffffff164211610c9d57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b50600090565b6000807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b5473ffffffffffffffffffffffffffffffffffffffff1692915050565b600082158015610d275750610cf8610ca3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610d345750600161076b565b60008381527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff165b9392505050565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930180546060917f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300916107a390613076565b610de76116ff565b610bdf611740565b6108873383836117d0565b600061076b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a683610ce5565b610e318484846108f1565b6109e1848484846118f1565b60408051600180825281830190925260609160208083019080368337019050509050610e688261104b565b81600081518110610e7b57610e7b6130c9565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050919050565b60408051600180825281830190925260609182919060208083019080368337019050509150610ee88361104b565b82600081518110610efb57610efb6130c9565b73ffffffffffffffffffffffffffffffffffffffff929092166020928302919091018201526040805160018082528183019092529182810190803683370190505090506103e86bffffffffffffffffffffffff1681600081518110610f6257610f626130c9565b602002602001018181525050915091565b606061076b611ae8565b610a1d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610fb3565b6000610d878383611af2565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154610fed81611491565b6109e1838361159e565b60606108ec7f0000000000000000000000000000000000000000000000000000000000000000611b66565b6000807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610cc8565b600061076b82611ba5565b61105e611657565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782556110c7610ca3565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156111585750825b905060008267ffffffffffffffff1660011480156111755750303b155b905081158015611183575080155b156111ba576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561121b5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b61129f8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bd192505050565b6112a88f611c14565b6112b28a8a611c6c565b6112bc8f88611cb9565b6112c588611ce7565b6103ea80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881617905583156113675784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5bf6f7b800000000000000000000000000000000000000000000000000000000148061076b575061076b82611db2565b60008181527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079302602052604081205473ffffffffffffffffffffffffffffffffffffffff168061076b576040517f7e2732890000000000000000000000000000000000000000000000000000000081526004810184905260240161093d565b610aeb8383836001611eec565b60006108ec6103e85463ffffffff64010000000082048116918116919091031690565b60006114898484846120f8565b949350505050565b610a1d8133612128565b60007f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006114c88484610ce5565b61158d5760008481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556115293390565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505061076b565b600091505061076b565b5092915050565b60007f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006115cb8484610ce5565b1561158d5760008481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505061076b565b33611660610ca3565b73ffffffffffffffffffffffffffffffffffffffff1614610bdf576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161093d565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815561088782612187565b61170a600033610ce5565b610bdf576040517ff6899cee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117486108e2565b1561178a576117556108e2565b6040517f707fdc2500000000000000000000000000000000000000000000000000000000815260040161093d91815260200190565b604051339081907fd3747e9bfbfe48316cef75f276e53ab68e800a3fa1a0d4540245a64b85c2598890600090a28073ffffffffffffffffffffffffffffffffffffffff16ff5b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930073ffffffffffffffffffffffffffffffffffffffff8316611856576040517f5b08ba1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260240161093d565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260058401602090815260408083209488168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff83163b156109e1576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a02906119669033908890879087906004016130f8565b6020604051808303816000875af19250505080156119bf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526119bc91810190613141565b60015b611a4e573d8080156119ed576040519150601f19603f3d011682016040523d82523d6000602084013e6119f2565b606091505b508051600003611a46576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161093d565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014611ae1576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161093d565b5050505050565b60606108ec61221d565b6103e85460009068010000000000000000900463ffffffff16421115611b5c576103e8546040517f90f510f30000000000000000000000000000000000000000000000000000000081526801000000000000000090910463ffffffff16600482015260240161093d565b610d8783836122b0565b60606000611b7383612374565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6103ea5473ffffffffffffffffffffffffffffffffffffffff1680611bcc5761076b610ca3565b919050565b611bd96123b5565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930080611c0584826131ae565b50600181016109e183826131ae565b611c1c6123b5565b73ffffffffffffffffffffffffffffffffffffffff8116610c50576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526000600482015260240161093d565b611cab82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061241c92505050565b6103e9610aeb8284836132c8565b611cc282612457565b73ffffffffffffffffffffffffffffffffffffffff8116156108875761088781612462565b611cf18142101590565b15611d27576040517ea5dc4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d356303c2670042613411565b811115611d6e576040517f3bba92cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e8805463ffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff909216919091179055565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2a55205a000000000000000000000000000000000000000000000000000000001480611e4557507fffffffff0000000000000000000000000000000000000000000000000000000082167f40c1a06400000000000000000000000000000000000000000000000000000000145b80611e9157507fffffffff0000000000000000000000000000000000000000000000000000000082167fbb3bafd600000000000000000000000000000000000000000000000000000000145b80611edd57507fffffffff0000000000000000000000000000000000000000000000000000000082167fb779958400000000000000000000000000000000000000000000000000000000145b8061076b575061076b8261248c565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793008180611f2e575073ffffffffffffffffffffffffffffffffffffffff831615155b156120a2576000611f3e856113ce565b905073ffffffffffffffffffffffffffffffffffffffff841615801590611f9157508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611fef575073ffffffffffffffffffffffffffffffffffffffff80821660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079305602090815260408083209388168352929052205460ff16155b1561203e576040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161093d565b82156120a057848673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600073ffffffffffffffffffffffffffffffffffffffff841661211d5761211d6116ff565b61148984848461252e565b6121328282610ce5565b610887576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024810183905260440161093d565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60606103e9805461222d90613076565b80601f016020809104026020016040519081016040528092919081815260200182805461225990613076565b80156122a65780601f1061227b576101008083540402835291602001916122a6565b820191906000526020600020905b81548152906001019060200180831161228957829003601f168201915b5050505050905090565b60006122ba6125a3565b8261ffff166000036122f8576040517fce15a28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506103e85463ffffffff908116600181019091169061231c9061ffff851690613424565b6103e880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff929092169182179055815b81811161236c5761236484826125f7565b600101612353565b505092915050565b600060ff8216601f81111561076b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610bdf576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600003610a1d576040517ff73c5b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088760008261149b565b6108877f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261149b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061251f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061076b575061076b82612611565b600073ffffffffffffffffffffffffffffffffffffffff841661259857612553611657565b6103e88054600163ffffffff64010000000080840482169290920116027fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff9091161790555b6114898484846126a8565b336125ad81610dfa565b1580156125c057506125be816109e7565b155b15610a1d576040517f15301d4000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088782826040518060200160405280600081525061286d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061076b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461076b565b60008281527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205260408120547f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793009073ffffffffffffffffffffffffffffffffffffffff9081169084161561272357612723818587612884565b73ffffffffffffffffffffffffffffffffffffffff81161561279b5761274d600086600080611eec565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600383016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555b73ffffffffffffffffffffffffffffffffffffffff8616156127e65773ffffffffffffffffffffffffffffffffffffffff861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b6128778383612934565b610aeb60008484846118f1565b61288f8383836129e5565b610aeb5773ffffffffffffffffffffffffffffffffffffffff83166128e3576040517f7e2732890000000000000000000000000000000000000000000000000000000081526004810182905260240161093d565b6040517f177e802f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024810182905260440161093d565b73ffffffffffffffffffffffffffffffffffffffff8216612984576040517f64a0ae920000000000000000000000000000000000000000000000000000000081526000600482015260240161093d565b60006129928383600061147c565b905073ffffffffffffffffffffffffffffffffffffffff811615610aeb576040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526000600482015260240161093d565b600073ffffffffffffffffffffffffffffffffffffffff83161580159061148957508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612a92575073ffffffffffffffffffffffffffffffffffffffff80851660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079305602090815260408083209387168352929052205460ff165b8061148957505060009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304602052604090205473ffffffffffffffffffffffffffffffffffffffff908116911614919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610a1d57600080fd5b600060208284031215612b2757600080fd5b8135610d8781612ae7565b6000815180845260005b81811015612b5857602081850181015186830182015201612b3c565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610d876020830184612b32565b600060208284031215612bbb57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610a1d57600080fd5b8035611bcc81612bc2565b60008060408385031215612c0257600080fd5b8235612c0d81612bc2565b946020939093013593505050565b60008151808452602080850194506020840160005b83811015612c4c57815187529582019590820190600101612c30565b509495945050505050565b602081526000610d876020830184612c1b565b600080600060608486031215612c7f57600080fd5b8335612c8a81612bc2565b92506020840135612c9a81612bc2565b929592945050506040919091013590565b600060208284031215612cbd57600080fd5b8135610d8781612bc2565b60008060408385031215612cdb57600080fd5b50508035926020909101359150565b60008060408385031215612cfd57600080fd5b823591506020830135612d0f81612bc2565b809150509250929050565b60008060408385031215612d2d57600080fd5b8235612d3881612bc2565b915060208301358015158114612d0f57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215612d9257600080fd5b8435612d9d81612bc2565b93506020850135612dad81612bc2565b925060408501359150606085013567ffffffffffffffff80821115612dd157600080fd5b818701915087601f830112612de557600080fd5b813581811115612df757612df7612d4d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612e3d57612e3d612d4d565b816040528281528a6020848701011115612e5657600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008151808452602080850194506020840160005b83811015612c4c57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612e8f565b602081526000610d876020830184612e7a565b604081526000612ee76040830185612e7a565b8281036020840152612ef98185612c1b565b95945050505050565b60008060408385031215612f1557600080fd5b823561ffff81168114612f2757600080fd5b91506020830135612d0f81612bc2565b60008060408385031215612f4a57600080fd5b8235612f2781612bc2565b60008083601f840112612f6757600080fd5b50813567ffffffffffffffff811115612f7f57600080fd5b602083019150836020828501011115612f9757600080fd5b9250929050565b60008060008060008060008060008060e08b8d031215612fbd57600080fd5b8a35612fc881612bc2565b995060208b013567ffffffffffffffff80821115612fe557600080fd5b612ff18e838f01612f55565b909b50995060408d013591508082111561300a57600080fd5b6130168e838f01612f55565b909950975060608d013591508082111561302f57600080fd5b5061303c8d828e01612f55565b90965094505060808b0135925060a08b013561305781612bc2565b915061306560c08c01612be4565b90509295989b9194979a5092959850565b600181811c9082168061308a57607f821691505b6020821081036130c3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526131376080830184612b32565b9695505050505050565b60006020828403121561315357600080fd5b8151610d8781612ae7565b601f821115610aeb576000816000526020600020601f850160051c810160208610156131875750805b601f850160051c820191505b818110156131a657828155600101613193565b505050505050565b815167ffffffffffffffff8111156131c8576131c8612d4d565b6131dc816131d68454613076565b8461315e565b602080601f83116001811461322f57600084156131f95750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556131a6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561327c5788860151825594840194600190910190840161325d565b50858210156132b857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b67ffffffffffffffff8311156132e0576132e0612d4d565b6132f4836132ee8354613076565b8361315e565b6000601f84116001811461334657600085156133105750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611ae1565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156133955786850135825560209485019460019092019101613375565b50868210156133d0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561076b5761076b6133e2565b63ffffffff818116838216019080821115611597576115976133e256fea26469706673582212200a343d14b41669be20920c557e94a772f614da26eb3c2ce9512ddb0009eb3f3564736f6c634300081900334e46542054696d65642045646974696f6e20436f6c6c656374696f6e20496d706c656d656e746174696f6e