8.1k txs
27.6k calls
constructor
constructor(address owner, address delegatedCreationSigner, bytes32 type1, bytes32 type2, address type1Address, address type2Address) payable
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getImplementation
viewfunction getImplementation(bytes32 implementationType) view returns (address)
getIPFSURI
purefunction getIPFSURI(bytes32 CIDHash) pure returns (string)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
n2mVersion
purefunction n2mVersion() pure returns (uint256)
name
purefunction name() pure returns (string)
owner
viewfunction owner() view returns (address result)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
predictDeterministicAddress
viewfunction predictDeterministicAddress(bytes32 implementationType, bytes32 collectionId) view returns (address)
royaltyInfo
viewfunction royaltyInfo(uint256, uint256 salePrice) view returns (address receiver, uint256 royaltyAmount)
supportsInterface
purefunction supportsInterface(bytes4 interfaceId) pure returns (bool)
symbol
purefunction symbol() pure returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
approve
nonpayablefunction approve(address to, uint256 tokenId)
create3
payablefunction create3(bytes32 salt, bytes initCode) payable
createCollection
payablefunction createCollection(bytes collectionInformation, bytes32 collectionId, bytes32 implementationType) payable
createCollectionN2M_000oEFvt
payablefunction createCollectionN2M_000oEFvt(bytes collectionInformation, bytes32 collectionId, bytes32 implementationType) payable
createCrossCollection
payablefunction createCrossCollection(bytes collectionInformation, bytes32 collectionId, bytes32 implementationType) payable
createNewDynamic
payablefunction createNewDynamic(address dynamicAddress, bytes32 salt, bytes initData) payable
delegatedCreation
payablefunction delegatedCreation(bytes collectionInformation, address owner, bytes32 collectionId, bytes32 implementationType, bytes signature) payable
multicall
payablefunction multicall(uint256 collectionAndSelfcalls, bytes[] data) payable
multicallMulticollection
payablefunction multicallMulticollection(uint256[] collectionsAndCalls, uint256[] collectionsValues, bytes[] data) payable
multicallN2M_001Taw5z
payablefunction multicallN2M_001Taw5z(uint256 collectionAndSelfcalls, bytes[] data) payable
newContractImplementationsAndSigner
payablefunction newContractImplementationsAndSigner(bytes32[] implementationTypesAndAddresses, address delegatedCreationSigner_, string ownerTokenURI) payable
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
transferCollectionOwnership
payablefunction transferCollectionOwnership(address to) payable
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
payablefunction transferOwnership(address newOwner) payable
withdrawTo
payablefunction withdrawTo(address to, address erc20) payable
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
OwnershipHandoverCanceled
event OwnershipHandoverCanceled(address indexed pendingOwner)
OwnershipHandoverRequested
event OwnershipHandoverRequested(address indexed pendingOwner)
OwnershipTransferred
event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
BalanceInvariant
error BalanceInvariant()
ERC721IncorrectOwner
error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner)
ERC721InsufficientApproval
error ERC721InsufficientApproval(address operator, uint256 tokenId)
ERC721InvalidApprover
error ERC721InvalidApprover(address approver)
ERC721InvalidOperator
error ERC721InvalidOperator(address operator)
ERC721InvalidOwner
error ERC721InvalidOwner(address owner)
ERC721InvalidReceiver
error ERC721InvalidReceiver(address receiver)
ERC721InvalidSender
error ERC721InvalidSender(address sender)
ERC721NonexistentToken
error ERC721NonexistentToken(uint256 tokenId)
FactoryBalanceDecreased
error FactoryBalanceDecreased()
FailedToDeploy
error FailedToDeploy()
InvalidLengths
error InvalidLengths()
InvalidSignature
error InvalidSignature()
NewOwnerIsZeroAddress
error NewOwnerIsZeroAddress()
Unauthorized
error Unauthorized()
creation bytecode
0x6001600160401b03601f196080601f61248538819003828101851684019190868311858410176102d45780859260c09460405283398101031261037e57610045826103a1565b9160206100538183016103a1565b9460408301519060608401519461007860a0610071608088016103a1565b96016103a1565b98610081610382565b925f845261008d610382565b935f85528051908382116102d45781906100a75f546103b5565b868111610352575b5088908683116001146102f3575f926102e8575b50508160011b915f199060031b1c1916175f555b83519182116102d4576001936100ed85546103b5565b84811161029e575b508691848411600114610227575091806e2f6f776e6572546f6b656e5552492f60881b94926006989796945f9261021c575b50505f19600383901b1c191690831b1782555b6101456008546103b5565b8181116101fa575b5050605f60085560085f52835f207f68747470733a2f2f6d657461646174612e6e667473326d652e636f6d2f6170698155015560018060a01b0380961680638b78c6d819555f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a38560018060a01b031997168760075416176007555f52528260405f209116848254161790555f5260405f2092169082541617905560405161208190816104048239f35b60026102159260085f52875f20920160051c820191016103ed565b5f8061014d565b015190505f80610127565b5f8681528881209392918516905b81811061028957509286949192600699989793836e2f6f776e6572546f6b656e5552492f60881b989610610271575b505050811b01825561013a565b01515f1960f88460031b161c191690555f8080610264565b82840151855593870193928901928901610235565b6102c590865f52885f208680870160051c8201928b88106102cb575b0160051c01906103ed565b5f6100f5565b925081926102ba565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100c3565b5f8080528a8120938616905b8b82821061033c575050908460019594939210610324575b505050811b015f556100d7565b01515f1960f88460031b161c191690555f8080610317565b60018596829396860151815501950193016102ff565b610378905f80528a5f208880860160051c8201928d87106102cb570160051c01906103ed565b5f6100af565b5f80fd5b60405190602082016001600160401b038111838210176102d457604052565b51906001600160a01b038216820361037e57565b90600182811c921680156103e3575b60208310146103cf57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916103c4565b8181106103f8575050565b5f81556001016103ed56fe60806040526004361015610011575f80fd5b5f3560e01c80156101b757806001146101c657806301ffc9a71461020257806303f30d08146101fd57806304dad935146101f857806306fdde03146101f3578063081812fc146101ee578063095ea7b3146101e957806323b872dd146101e45780632a55205a146101df5780632af25238146101da57806338395f19146101d55780633c2e0828146101d057806342842e0e146101cb5780635ae401dc146101c65780636352211e146101c157806367c0e310146101bc5780636a064fce146101b75780636d07dbf8146101b25780636dce4ab0146101ad57806370a08231146101a85780637ce27a27146101a35780638da5cb5b1461019e57806395905e211461019957806395d89b4114610194578063a22cb4651461018f578063b88d4fde1461018a578063c87b56dd14610185578063c91df5cc14610180578063cb93c48f1461017b578063e985e9c5146101765763f2fde38b14610171575f80fd5b61140b565b6113df565b6113c3565b611341565b611249565b6111fb565b61113d565b6110ea565b610ffe565b610fd2565b610e66565b610e10565b610d4f565b610cc0565b61026e565b610c44565b610c14565b610314565b610bdc565b610baa565b610aca565b610a29565b6108f1565b6108da565b6107c8565b61078c565b61073a565b6106b0565b610477565b610446565b9181601f84011215610234578235916001600160401b038311610234576020838186019501011161023457565b5f80fd5b606060031982011261023457600435906001600160401b0382116102345761026291600401610207565b90916024359060443590565b5f8061027936610238565b61028a959395949291943386611a41565b8252600660205260408220546001600160a01b03946102aa918616611f3a565b948160405192839283378101838152039082865af1916102c8611482565b92156102dc576102da92501633611a67565b005b825160208401fd5b9181601f84011215610234578235916001600160401b038311610234576020808501948460051b01011161023457565b604080600319360112610234576004356024356001600160401b038111610234576103439036906004016102e4565b5f9391926001600160a01b038116919060a01c5b8086106103fa57508161036657005b61039761038b61037e845f52600260205260405f2090565b546001600160a01b031690565b6001600160a01b031690565b33036103e957935b8481106103a857005b5f806103b58388886114c5565b906103c4875180938193611475565b039082865af16103d2611482565b90156103e1575060010161039f565b602081519101fd5b6040516282b42960e81b8152600490fd5b945f806104088385896114c5565b90610417885180938193611475565b0390305af4610424611482565b90156103e1575060010194610357565b6001600160e01b031981160361023457565b3461023457602036600319011261023457602061046d60043561046881610434565b61150b565b6040519015158152f35b60603660031901126102345760046001600160401b038135818111610234576104a390369084016102e4565b90602435838111610234576104bb90369086016102e4565b93604435908111610234576104d390369087016102e4565b92908561064b575b5f925f955f5b8181106105195750505050500361050857036104f957005b604051631df89e8b60e01b8152fd5b604051631df89e8b60e01b81528390fd5b610524818387611580565b3560a081901c906001600160a01b03168061059157505f5b81811061054f5750506001905b016104e1565b5f8061056561055d8b611590565b9a8c8a6114c5565b9061057560405180938193611475565b0390305af4610582611482565b90156103e1575060010161053c565b6105a961038b61037e835f52600260205260405f2090565b330361063b579088915f5b8281106105c75750505050600190610549565b909192985f908d8d1061061d575b5f916105ed826105e6859491611590565b9d8c6114c5565b906105fd60405180938193611475565b0391865af161060a611482565b90156103e15750600101908992916105b4565b90508c6106298d611590565b9c6106349189611580565b35906105d5565b6040516282b42960e81b81528c90fd5b6106553447611573565b80610661575b506104db565b5f80808093736db16927dbc38aa39f0ee2cb545e15efd813fb995af1505f61065b565b600435906001600160a01b038216820361023457565b602435906001600160a01b038216820361023457565b6020366003190112610234576106c4610684565b6001600160a01b03906106d8903390611aa0565b16156106e057005b604051637e27328960e01b8152336004820152602490fd5b5f91031261023457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610737928181520190610702565b90565b34610234575f3660031901126102345761078860405161075981610971565b600e81526d4e465473324d65204f776e65727360901b6020820152604051918291602083526020830190610702565b0390f35b34610234576020366003190112610234576004356107a981611bcb565b505f526004602052602060018060a01b0360405f205416604051908152f35b34610234576040366003190112610234576107e1610684565b602435906107ee82611bcb565b33151580610892575b80610881575b610869576102da9261084a9181906001600160a01b0385811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f52600460205260405f2090565b80546001600160a01b0319166001600160a01b03909216919091179055565b60405163a9fbf51f60e01b8152336004820152602490fd5b5061088c33826119c2565b156107fd565b506001600160a01b0381163314156107f7565b6060906003190112610234576001600160a01b0390600435828116810361023457916024359081168103610234579060443590565b34610234576102da6108eb366108a5565b9161159e565b34610234576040366003190112610234576101f460243581810291811591830414171561094057604090612710825191736db16927dbc38aa39f0ee2cb545e15efd813fb998352046020820152f35b61155f565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161096c57604052565b610945565b604081019081106001600160401b0382111761096c57604052565b606081019081106001600160401b0382111761096c57604052565b90601f801991011681019081106001600160401b0382111761096c57604052565b6001600160401b03811161096c57601f01601f191660200190565b81601f82011215610234578035906109fa826109c8565b92610a0860405194856109a7565b8284526020838301011161023457815f926020809301838601378301015290565b6040366003190112610234576004356024356001600160401b03811161023457610a579036906004016109e3565b90610a623382611a41565b6f67363d3d37363d34f03d5260086018f35f526010805ff5908115610abd575f80918360145261d694825260016034536017601e20936020825192019034905af115610ab0573b15610ab057005b6319b991a85f526004601cfd5b63301164255f526004601cfd5b610ad336610238565b610ae1939291933385611a41565b5f52600660205260018060a01b03918260405f20541693604051946c5af43d3d93803e602a57fd5bf360581b6040870152602886015273602c3d8160093d39f33d3d3d3d363d3d37363d73601486015260358552606085016040526f67363d3d37363d34f03d5260086018f35f526010805ff5938415610abd575f80918660145261d694825260016034536017601e209682602083519301915af115610ab057833b15610ab0575f918291610b9b60405180938193611475565b039082865af1916102c8611482565b34610234576020366003190112610234576004355f526006602052602060018060a01b0360405f205416604051908152f35b3461023457610bea366108a5565b6040519160208301938385106001600160401b0386111761096c576102da946040525f845261178f565b34610234576020366003190112610234576020610c32600435611bcb565b6040516001600160a01b039091168152f35b606036600319011261023457610c58610684565b602435906044356001600160401b03811161023457610c7e610c90913690600401610207565b939092610c8b3383611a41565b611f3a565b82610c9757005b825f9392849360405192839283378101848152039134905af1610cb8611482565b90156103e157005b34610234576040366003190112610234576004355f52600660205260018060a01b0360405f2054166c5af43d3d93803e602a57fd5bf360215260145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c205f60215260ff5f5360359081523060601b60015260243560155260555f90812091526040516001600160a01b039091168152602090f35b604036600319011261023457610d63610684565b610d6b61069a565b610d73611c05565b5f80808047865af1506001600160a01b0381169182610d8e57005b610dd392610d9f6020933090611c21565b60405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909283919082905f9082906044820190565b03925af18015610e0b57610de357005b6102da9060203d602011610e04575b610dfc81836109a7565b810190611729565b503d610df2565b61173e565b34610234576020366003190112610234576001600160a01b03610e31610684565b168015610e4e575f526003602052602060405f2054604051908152f35b6040516322718ad960e21b81525f6004820152602490fd5b60a0366003190112610234576001600160401b0360043581811161023457610e92903690600401610207565b610e9d92919261069a565b916044356064359160843590811161023457610ec0610f2b913690600401610207565b90610ecb8785611a41565b610f268888610ef989610eeb8a8a6040519586946020860198468a611749565b03601f1981018352826109a7565b5190206020527b19457468657265756d205369676e6564204d6573736167653a0a33325f52603c60042090565b611c46565b600754909390610f43906001600160a01b031661038b565b6001600160a01b03948516908114159081610fc5575b50610fb357610f7a5f9392610c8b61037e86955f52600660205260405f2090565b95610f8a60405180938193611475565b039082875af192610f99611482565b9315610fab576102da93501690611a67565b835160208501fd5b604051638baa579f60e01b8152600490fd5b905084861614155f610f59565b34610234575f36600319011261023457638b78c6d819546040516001600160a01b039091168152602090f35b6060366003190112610234576001600160401b036004358181116102345761102a9036906004016102e4565b909161103461069a565b906044359081116102345761104d903690600401610207565b929093611058611c05565b5f5b8281106110a9575050506001600160a01b038116611084575b508061107b57005b6102da91611d3c565b600780546001600160a01b0319166001600160a01b039092169190911790555f611073565b6001906110e46001600160a01b036110c2838787611580565b351661084a6110d2848888611580565b3560a01c5f52600660205260405f2090565b0161105a565b34610234575f3660031901126102345761078860405161110981610971565b60098152684e324d4f776e65727360b81b6020820152604051918291602083526020830190610702565b8015150361023457565b3461023457604036600319011261023457611156610684565b60243561116281611133565b6001600160a01b0382169182156111e257335f9081526005602090815260408083206001600160a01b0390941683529290522060ff1981541660ff831515161790557f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31604051806111dd339482919091602081019215159052565b0390a3005b604051630b61174360e31b815260048101849052602490fd5b3461023457608036600319011261023457611214610684565b61121c61069a565b606435916001600160401b0383116102345761123f6102da9336906004016109e3565b916044359161178f565b34610234576020366003190112610234576040516329ffa82360e11b81526004803591906020908290816001600160a01b0386165afa908115610e0b576020610eeb6112fb610788956112f56112fb6112f597611308975f91611314575b506112f56112fb6112b746611e61565b956112f56112fb6112e76112e16112dc61038b61038b6112d688611e61565b97611bcb565b611e61565b96611e61565b986040519e8f9d8e016118da565b9061194b565b602f60f81b815260010190565b60405191829182610726565b6113349150873d891161133a575b61132c81836109a7565b810190611893565b5f6112a7565b503d611322565b3461023457602036600319011261023457604051620b809160e51b602082015260043560248201525f60448201526025815261137c8161098c565b61138461195d565b905f5b603a811061139b5761078861130884611989565b806113b06113ab60019385611e9e565b611ef8565b5f1a6113bc8286611978565b5301611387565b34610234575f3660031901126102345760206040516107e88152f35b3461023457604036600319011261023457602061046d6113fd610684565b61140561069a565b906119c2565b60203660031901126102345761141f610684565b611427611c05565b8060601b156114685760018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355005b637448fbae5f526004601cfd5b908092918237015f815290565b3d156114ac573d90611493826109c8565b916114a160405193846109a7565b82523d5f602084013e565b606090565b634e487b7160e01b5f52603260045260245ffd5b91908110156115065760051b81013590601e19813603018212156102345701908135916001600160401b038311610234576020018236038113610234579190565b6114b1565b6001600160e01b0319166301ffc9a760e01b8114611559576307f5828d60e41b8114611559576380ac58cd60e01b811461155957635b5e139f60e01b81146115595763152a902d60e11b1490565b50600190565b634e487b7160e01b5f52601160045260245ffd5b9190820391821161094057565b91908110156115065760051b0190565b5f1981146109405760010190565b6001600160a01b03908282168015611711575f858152600260205260409020546001600160a01b03169333611701575b83851694851515806116d5575b6001600160a01b0383165f9081526003602052604090206001815401905561160f8361084a8a5f52600260205260405f2090565b8760405194887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4611672575b505050169182820361164f57505050565b60649350604051926364283d7b60e01b8452600484015260248301526044820152fd5b848716803b1561023457637699c77f60e01b84526001600160a01b039182166004850152911660248301525f908290604490829084905af18015610e0b576116bc575b808061163e565b806116c96116cf92610959565b806106f8565b5f6116b5565b6116de88611f78565b6001600160a01b0382165f90815260036020526040902080545f190190556115db565b61170c863387611f9a565b6115ce565b604051633250574960e11b81525f6004820152602490fd5b90816020910312610234575161073781611133565b6040513d5f823e3d90fd5b90928092607897959694637ce27a2760e01b84526004840152602483013701926bffffffffffffffffffffffff199060601b166024840152603883015260588201520190565b9192909261179e81858561159e565b833b6117ab575b50505050565b6117d0916020916040519384928392630a85bd0160e11b978885523360048601611e30565b03815f6001600160a01b0388165af15f9181611862575b5061182657826117f5611482565b805191908261181f57604051633250574960e11b81526001600160a01b0383166004820152602490fd5b9050602001fd5b6001600160e01b0319160361183f57505f8080806117a5565b604051633250574960e11b81526001600160a01b03919091166004820152602490fd5b61188591925060203d60201161188c575b61187d81836109a7565b810190611e1b565b905f6117e7565b503d611873565b90816020910312610234575190565b90600182811c921680156118d0575b60208310146118bc57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916118b1565b6008545f92916118e9826118a2565b91600190818116908115611938575060011461190457505050565b909192935060085f5260209060205f20905f915b85831061192757505050500190565b805485840152918301918101611918565b60ff191683525050811515909102019150565b805191908290602001825e015f815290565b6040519061196a8261098c565b603a82526040366020840137565b908151811015611506570160200190565b906119c06119b2926040519384916734b833399d1797b160c11b6020840152602883019061194b565b03601f1981018452836109a7565b565b6001600160a01b03918083167388899dc0b84c6e726840e00dfb94abc6248825ec8114611a3857731e0049783f008a0085193e00003d00cd54003c7114611a305760ff92611a2b92165f52600560205260405f209060018060a01b03165f5260205260405f2090565b541690565b505050600190565b50505050600190565b60601c80156001600160a01b03909216141715611a5a57565b630c4549ef5f526004601cfd5b6001600160a01b03918183161561171157611a8191611aa0565b16611a8857565b6040516339e3563760e11b81525f6004820152602490fd5b5f828152600260205260409020546001600160a01b039081168015159493909291839186611b9f575b8082851680611b7c575b611ae98661084a845f52600260205260405f2090565b604051967fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a48296611b1f575b5050505050565b16803b1561023457637699c77f60e01b84526001600160a01b039182166004850152911660248301525f908290604490829084905af18015610e0b57611b69575b80808080611b18565b806116c9611b7692610959565b5f611b60565b6001600160a01b0386165f90815260036020526040902060018154019055611ad3565b611ba881611f78565b6001600160a01b0383165f90815260036020526040902080545f19019055611ac9565b5f818152600260205260409020546001600160a01b0316908115611bed575090565b60249060405190637e27328960e01b82526004820152fd5b638b78c6d819543303611c1457565b6382b429005f526004601cfd5b602460106020939284936014526370a0823160601b5f525afa601f3d11166020510290565b9092919260018060409586918251955f52611c86575b50506020915060805f6001925afa51923d15611c79575f60605252565b638baa579f5f526004601cfd5b818114611cc157604114611ca35750602091505f90508481611c5c565b5f60019282856080946020970135841a875281379250869150611c5c565b505060208281013560ff81901c601b018252923586526001600160ff1b03909216606052845f611c5c565b601f8111611cf8575050565b60085f5260205f20906020601f840160051c83019310611d32575b601f0160051c01905b818110611d27575050565b5f8155600101611d1c565b9091508190611d13565b91906001600160401b03811161096c57611d6081611d5b6008546118a2565b611cec565b5f601f8211600114611d9e578190611d8e93945f92611d93575b50508160011b915f199060031b1c19161790565b600855565b013590505f80611d7a565b60085f52601f198216937ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3915f5b868110611e035750836001959610611dea575b505050811b01600855565b01355f19600384901b60f8161c191690555f8080611ddf565b90926020600181928686013581550194019101611dcc565b90816020910312610234575161073781610434565b6001600160a01b03918216815291166020820152604081019190915260806060820181905261073792910190610702565b90604051608081019260a082016040525f8452925b5f190192600a906030828206018553049283611e7657809350608091030191601f1901918252565b60058202918083046005149015171561094057600382901c906001600160f81b0319611eca8383611978565b5116906001830180931161094057611ee960079360ff60f01b92611978565b5160081c161791161b60fb1c90565b60ff16601a811015611f1f5760610160ff81116109405760f81b6001600160f81b03191690565b60180160ff81116109405760f81b6001600160f81b03191690565b6c5af43d3d93803e602a57fd5bf360215260145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c5ff5908115610abd575f602152565b611f8a905f52600460205260405f2090565b80546001600160a01b0319169055565b6001600160a01b03908282168015159081612005575b5015611fbc5750505050565b16611fda57604051637e27328960e01b815260048101839052602490fd5b60405163177e802f60e01b81526001600160a01b039190911660048201526024810191909152604490fd5b828416811491508115612039575b8115612021575b505f611fb0565b9050845f5260046020528260405f205416145f61201a565b905061204584836119c2565b9061201356fea26469706673582212203bd62e1ef0d9a80ca4a87ba2750fede4a8044c6a55097a7af5eb7e2ae3ab9fbf64736f6c63430008190033000000000000000000000000c5557771673109cab9d05358e1d280fab522597700000000000000000000000000000000156d54b85de04c897356026a5ff2cbc9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000a6df6f0825feb71fd7d3e3b12b145c00000000000000000000000000000000000b93bc9d8ab5837d242e52641ed285