[ { "inputs": [ { "internalType": "address", "name": "vrfCoordinator", "type": "address" }, { "internalType": "bytes32", "name": "gasLane", "type": "bytes32" }, { "internalType": "uint256", "name": "subscriptionId", "type": "uint256" }, { "internalType": "uint32", "name": "callbackGasLimit", "type": "uint32" }, { "internalType": "string[3]", "name": "dogTokenUris", "type": "string[3]" }, { "internalType": "uint256", "name": "mintFee", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": [ { "internalType": "address", "name": "have", "type": "address" }, { "internalType": "address", "name": "want", "type": "address" } ], "name": "OnlyCoordinatorCanFulfill", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "have", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "coordinator", "type": "address" } ], "name": "OnlyOwnerOrCoordinator", "type": "error" }, { "inputs": [], "name": "RandomIpfsNft__NeedMoreETHSent", "type": "error" }, { "inputs": [], "name": "RandomIpfsNft__RangeOutOfBounds", "type": "error" }, { "inputs": [], "name": "RandomIpfsNft__TransferFailed", "type": "error" }, { "inputs": [], "name": "ZeroAddress", "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": "uint256", "name": "_fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_toTokenId", "type": "uint256" } ], "name": "BatchMetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "vrfCoordinator", "type": "address" } ], "name": "CoordinatorSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "MetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "enum RandomIpfsNft.Breed", "name": "dogBreed", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "minter", "type": "address" } ], "name": "NftMinted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "requestId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "requester", "type": "address" } ], "name": "NftRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "OwnershipTransferRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "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": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "moddedRng", "type": "uint256" } ], "name": "getBreedFromModdedRng", "outputs": [ { "internalType": "enum RandomIpfsNft.Breed", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getChanceArray", "outputs": [ { "internalType": "uint256[3]", "name": "", "type": "uint256[3]" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getDogTokenUris", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMintFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTokenCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": [ { "internalType": "uint256", "name": "requestId", "type": "uint256" }, { "internalType": "uint256[]", "name": "randomWords", "type": "uint256[]" } ], "name": "rawFulfillRandomWords", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "requestNft", "outputs": [ { "internalType": "uint256", "name": "requestId", "type": "uint256" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "s_requestIdToSender", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "s_tokenCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "s_vrfCoordinator", "outputs": [ { "internalType": "contract IVRFCoordinatorV2Plus", "name": "", "type": "address" } ], "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": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_vrfCoordinator", "type": "address" } ], "name": "setCoordinator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "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": "to", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101206040523480156200001257600080fd5b50604051620048d4380380620048d48339818101604052810190620000389190620008a9565b6040518060400160405280600f81526020017f52616e646f6d2049504653204e465400000000000000000000000000000000008152506040518060400160405280600381526020017f52494e000000000000000000000000000000000000000000000000000000000081525087338060008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200011a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200011190620009c5565b60405180910390fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620001a157620001a081620002f460201b60201c565b5b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200020b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505081600390816200025e919062000c28565b50806004908162000270919062000c28565b5050508573ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff168152505084608081815250508360a081815250508263ffffffff1660c08163ffffffff168152505081600c906003620002de92919062000423565b5080610100818152505050505050505062000d81565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000365576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200035c9062000d5f565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b82805482825590600052602060002090810192821562000470579160200282015b828111156200046f5782518290816200045e919062000c28565b509160200191906001019062000444565b5b5090506200047f919062000483565b5090565b5b80821115620004a757600081816200049d9190620004ab565b5060010162000484565b5090565b508054620004b99062000a21565b6000825580601f10620004cd5750620004ee565b601f016020900490600052602060002090810190620004ed9190620004f1565b5b50565b5b808211156200050c576000816000905550600101620004f2565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005518262000524565b9050919050565b620005638162000544565b81146200056f57600080fd5b50565b600081519050620005838162000558565b92915050565b6000819050919050565b6200059e8162000589565b8114620005aa57600080fd5b50565b600081519050620005be8162000593565b92915050565b6000819050919050565b620005d981620005c4565b8114620005e557600080fd5b50565b600081519050620005f981620005ce565b92915050565b600063ffffffff82169050919050565b6200061a81620005ff565b81146200062657600080fd5b50565b6000815190506200063a816200060f565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620006908262000645565b810181811067ffffffffffffffff82111715620006b257620006b162000656565b5b80604052505050565b6000620006c762000510565b9050620006d5828262000685565b919050565b600067ffffffffffffffff821115620006f857620006f762000656565b5b602082029050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156200072b576200072a62000656565b5b620007368262000645565b9050602081019050919050565b60005b838110156200076357808201518184015260208101905062000746565b60008484015250505050565b60006200078662000780846200070d565b620006bb565b905082815260208101848484011115620007a557620007a462000708565b5b620007b284828562000743565b509392505050565b600082601f830112620007d257620007d162000640565b5b8151620007e48482602086016200076f565b91505092915050565b600062000804620007fe84620006da565b620006bb565b9050806020840283018581111562000821576200082062000703565b5b835b818110156200086f57805167ffffffffffffffff8111156200084a576200084962000640565b5b808601620008598982620007ba565b8552602085019450505060208101905062000823565b5050509392505050565b600082601f83011262000891576200089062000640565b5b6003620008a0848285620007ed565b91505092915050565b60008060008060008060c08789031215620008c957620008c86200051a565b5b6000620008d989828a0162000572565b9650506020620008ec89828a01620005ad565b9550506040620008ff89828a01620005e8565b94505060606200091289828a0162000629565b935050608087015167ffffffffffffffff8111156200093657620009356200051f565b5b6200094489828a0162000879565b92505060a06200095789828a01620005e8565b9150509295509295509295565b600082825260208201905092915050565b7f43616e6e6f7420736574206f776e657220746f207a65726f0000000000000000600082015250565b6000620009ad60188362000964565b9150620009ba8262000975565b602082019050919050565b60006020820190508181036000830152620009e0816200099e565b9050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a3a57607f821691505b60208210810362000a505762000a4f620009f2565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000aba7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a7b565b62000ac6868362000a7b565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000b0962000b0362000afd84620005c4565b62000ade565b620005c4565b9050919050565b6000819050919050565b62000b258362000ae8565b62000b3d62000b348262000b10565b84845462000a88565b825550505050565b600090565b62000b5462000b45565b62000b6181848462000b1a565b505050565b5b8181101562000b895762000b7d60008262000b4a565b60018101905062000b67565b5050565b601f82111562000bd85762000ba28162000a56565b62000bad8462000a6b565b8101602085101562000bbd578190505b62000bd562000bcc8562000a6b565b83018262000b66565b50505b505050565b600082821c905092915050565b600062000bfd6000198460080262000bdd565b1980831691505092915050565b600062000c18838362000bea565b9150826002028217905092915050565b62000c3382620009e7565b67ffffffffffffffff81111562000c4f5762000c4e62000656565b5b62000c5b825462000a21565b62000c6882828562000b8d565b600060209050601f83116001811462000ca0576000841562000c8b578287015190505b62000c97858262000c0a565b86555062000d07565b601f19841662000cb08662000a56565b60005b8281101562000cda5784890151825560018201915060208501945060208101905062000cb3565b8683101562000cfa578489015162000cf6601f89168262000bea565b8355505b6001600288020188555050505b505050505050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b600062000d4760178362000964565b915062000d548262000d0f565b602082019050919050565b6000602082019050818103600083015262000d7a8162000d38565b9050919050565b60805160a05160c05160e05161010051613b0762000dcd60003960008181610dde01526111ed01526000611247015260006112e5015260006112b40152600061128e0152613b076000f3fe6080604052600436106101b75760003560e01c806379ba5097116100ec578063a36f573b1161008a578063b88d4fde11610064578063b88d4fde14610601578063c87b56dd1461062a578063e985e9c514610667578063f2fde38b146106a4576101b7565b8063a36f573b14610569578063a51cccf3146105a6578063aa152491146105e3576101b7565b80638ea98117116100c65780638ea98117146104c157806395d89b41146104ea5780639eccacf614610515578063a22cb46514610540576101b7565b806379ba5097146104545780637a5caab31461046b5780638da5cb5b14610496576101b7565b80633af25975116101595780635dacf5f4116101335780635dacf5f4146103845780636352211e146103af5780636e02007d146103ec57806370a0823114610417576101b7565b80633af25975146103075780633ccfd60b1461034457806342842e0e1461035b576101b7565b8063095ea7b311610195578063095ea7b3146102615780630b21a83b1461028a5780631fe543e3146102b557806323b872dd146102de576101b7565b806301ffc9a7146101bc57806306fdde03146101f9578063081812fc14610224575b600080fd5b3480156101c857600080fd5b506101e360048036038101906101de91906129a3565b6106cd565b6040516101f091906129eb565b60405180910390f35b34801561020557600080fd5b5061020e61072e565b60405161021b9190612a96565b60405180910390f35b34801561023057600080fd5b5061024b60048036038101906102469190612aee565b6107c0565b6040516102589190612b5c565b60405180910390f35b34801561026d57600080fd5b5061028860048036038101906102839190612ba3565b6107dc565b005b34801561029657600080fd5b5061029f6107f2565b6040516102ac9190612bf2565b60405180910390f35b3480156102c157600080fd5b506102dc60048036038101906102d79190612c72565b6107f8565b005b3480156102ea57600080fd5b5061030560048036038101906103009190612cd2565b6108be565b005b34801561031357600080fd5b5061032e60048036038101906103299190612aee565b6109c0565b60405161033b9190612a96565b60405180910390f35b34801561035057600080fd5b50610359610a70565b005b34801561036757600080fd5b50610382600480360381019061037d9190612cd2565b610b24565b005b34801561039057600080fd5b50610399610b44565b6040516103a69190612dd0565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d19190612aee565b610b6f565b6040516103e39190612b5c565b60405180910390f35b3480156103f857600080fd5b50610401610b81565b60405161040e9190612bf2565b60405180910390f35b34801561042357600080fd5b5061043e60048036038101906104399190612deb565b610b8b565b60405161044b9190612bf2565b60405180910390f35b34801561046057600080fd5b50610469610c45565b005b34801561047757600080fd5b50610480610dda565b60405161048d9190612bf2565b60405180910390f35b3480156104a257600080fd5b506104ab610e02565b6040516104b89190612b5c565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190612deb565b610e2b565b005b3480156104f657600080fd5b506104ff61100c565b60405161050c9190612a96565b60405180910390f35b34801561052157600080fd5b5061052a61109e565b6040516105379190612e77565b60405180910390f35b34801561054c57600080fd5b5061056760048036038101906105629190612ebe565b6110c4565b005b34801561057557600080fd5b50610590600480360381019061058b9190612aee565b6110da565b60405161059d9190612b5c565b60405180910390f35b3480156105b257600080fd5b506105cd60048036038101906105c89190612aee565b61110d565b6040516105da9190612f75565b60405180910390f35b6105eb6111e9565b6040516105f89190612bf2565b60405180910390f35b34801561060d57600080fd5b50610628600480360381019061062391906130c0565b611427565b005b34801561063657600080fd5b50610651600480360381019061064c9190612aee565b611444565b60405161065e9190612a96565b60405180910390f35b34801561067357600080fd5b5061068e60048036038101906106899190613143565b611557565b60405161069b91906129eb565b60405180910390f35b3480156106b057600080fd5b506106cb60048036038101906106c69190612deb565b6115eb565b005b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107275750610726826115ff565b5b9050919050565b60606003805461073d906131b2565b80601f0160208091040260200160405190810160405280929190818152602001828054610769906131b2565b80156107b65780601f1061078b576101008083540402835291602001916107b6565b820191906000526020600020905b81548152906001019060200180831161079957829003601f168201915b5050505050905090565b60006107cb826116e1565b506107d582611769565b9050919050565b6107ee82826107e96117a6565b6117ae565b5050565b600b5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108ae5733600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f1cf993f40000000000000000000000000000000000000000000000000000000081526004016108a59291906131e3565b60405180910390fd5b6108b98383836117c0565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109305760006040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016109279190612b5c565b60405180910390fd5b6000610944838361093f6117a6565b611960565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109ba578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016109b19392919061320c565b60405180910390fd5b50505050565b6060600c82815481106109d6576109d5613243565b5b9060005260206000200180546109eb906131b2565b80601f0160208091040260200160405190810160405280929190818152602001828054610a17906131b2565b8015610a645780601f10610a3957610100808354040283529160200191610a64565b820191906000526020600020905b815481529060010190602001808311610a4757829003601f168201915b50505050509050919050565b610a78611b7a565b600047905060003373ffffffffffffffffffffffffffffffffffffffff1682604051610aa3906132a3565b60006040518083038185875af1925050503d8060008114610ae0576040519150601f19603f3d011682016040523d82523d6000602084013e610ae5565b606091505b5050905080610b20576040517fca7e25b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b610b3f83838360405180602001604052806000815250611427565b505050565b610b4c612915565b6040518060600160405280600a8152602001601e81526020016064815250905090565b6000610b7a826116e1565b9050919050565b6000600b54905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bfe5760006040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610bf59190612b5c565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc90613304565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e33610e02565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610ebc5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15610f2b5733610eca610e02565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f061db9c1000000000000000000000000000000000000000000000000000000008152600401610f2293929190613324565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f91576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd1a6a14209a385a964d036e404cb5cfb71f4000cdb03c9366292430787261be6816040516110019190612b5c565b60405180910390a150565b60606004805461101b906131b2565b80601f0160208091040260200160405190810160405280929190818152602001828054611047906131b2565b80156110945780601f1061106957610100808354040283529160200191611094565b820191906000526020600020905b81548152906001019060200180831161107757829003601f168201915b5050505050905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110d66110cf6117a6565b8383611c0a565b5050565b600a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009050600061111e610b44565b905060005b60038110156111b15782851015801561115d575081816003811061114a57611149613243565b5b60200201518361115a919061338a565b85105b1561117f5780600281111561117557611174612efe565b5b93505050506111e4565b81816003811061119257611191613243565b5b6020020151836111a2919061338a565b92508080600101915050611123565b506040517f12806c9d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60007f0000000000000000000000000000000000000000000000000000000000000000341015611245576040517fb90f491000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639b1c385e6040518060c001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152602001600361ffff1681526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff168152602001600163ffffffff168152602001611336604051806020016040528060001515815250611d79565b8152506040518263ffffffff1660e01b815260040161135591906134f1565b6020604051808303816000875af1158015611374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113989190613528565b905033600a600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550807ff873236e6cc0ecc5be1a9a35c95ee5b8d1ac4cc7bfef0cc5060391d6cc98e26b3360405161141c9190612b5c565b60405180910390a290565b6114328484846108be565b61143e84848484611e11565b50505050565b606061144f826116e1565b506000600960008481526020019081526020016000208054611470906131b2565b80601f016020809104026020016040519081016040528092919081815260200182805461149c906131b2565b80156114e95780601f106114be576101008083540402835291602001916114e9565b820191906000526020600020905b8154815290600101906020018083116114cc57829003601f168201915b5050505050905060006114fa611fc8565b9050600081510361150f578192505050611552565b60008251111561154457808260405160200161152c929190613591565b60405160208183030381529060405292505050611552565b61154d84611fdf565b925050505b919050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6115f3611b7a565b6115fc81612048565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806116ca57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806116da57506116d982612174565b5b9050919050565b6000806116ed836121de565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361176057826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016117579190612bf2565b60405180910390fd5b80915050919050565b60006007600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b6117bb838383600161221b565b505050565b6000600a600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600b549050600060648585600081811061181757611816613243565b5b9050602002013561182891906135e4565b905060006118358261110d565b9050600b54600b600082825461184b919061338a565b9250508190555061185c84846123e0565b61191e83600c83600281111561187557611874612efe565b5b8154811061188657611885613243565b5b90600052602060002001805461189b906131b2565b80601f01602080910402602001604051908101604052809291908181526020018280546118c7906131b2565b80156119145780601f106118e957610100808354040283529160200191611914565b820191906000526020600020905b8154815290600101906020018083116118f757829003601f168201915b50505050506123fe565b7f8a269f26b688e110e9cbd887d163dab35cae678fa353a0292de532c0cac1ecdc818560405161194f929190613615565b60405180910390a150505050505050565b60008061196c846121de565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119ae576119ad81848661245a565b5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611a3f576119f060008560008061221b565b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611ac2576001600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b846005600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bff9061368a565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c7b57816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401611c729190612b5c565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611d6c91906129eb565b60405180910390a3505050565b60607f92fd13387c7fe7befbc38d303d6468778fb9731bc4583f17d92989c6fcfdeaaa82604051602401611dad91906136d5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050919050565b60008373ffffffffffffffffffffffffffffffffffffffff163b1115611fc2578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02611e556117a6565b8685856040518563ffffffff1660e01b8152600401611e77949392919061373a565b6020604051808303816000875af1925050508015611eb357506040513d601f19601f82011682018060405250810190611eb0919061379b565b60015b611f37573d8060008114611ee3576040519150601f19603f3d011682016040523d82523d6000602084013e611ee8565b606091505b506000815103611f2f57836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611f269190612b5c565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611fc057836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611fb79190612b5c565b60405180910390fd5b505b50505050565b606060405180602001604052806000815250905090565b6060611fea826116e1565b506000611ff5611fc8565b905060008151116120155760405180602001604052806000815250612040565b8061201f8461251e565b604051602001612030929190613591565b6040516020818303038152906040525b915050919050565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ad90613814565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60006005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b80806122545750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612388576000612264846116e1565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156122cf57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156122e257506122e08184611557565b155b1561232457826040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815260040161231b9190612b5c565b60405180910390fd5b811561238657838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b836007600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6123fa8282604051806020016040528060008152506125ec565b5050565b8060096000848152602001908152602001600020908161241e91906139d6565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce78260405161244e9190612bf2565b60405180910390a15050565b612465838383612608565b61251957600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124da57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016124d19190612bf2565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401612510929190613aa8565b60405180910390fd5b505050565b60606000600161252d846126c9565b01905060008167ffffffffffffffff81111561254c5761254b612f95565b5b6040519080825280601f01601f19166020018201604052801561257e5781602001600182028036833780820191505090505b509050600082602001820190505b6001156125e1578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816125d5576125d46135b5565b5b0494506000850361258c575b819350505050919050565b6125f6838361281c565b6126036000848484611e11565b505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126c057508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061268157506126808484611557565b5b806126bf57508273ffffffffffffffffffffffffffffffffffffffff166126a783611769565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612727577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161271d5761271c6135b5565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612764576d04ee2d6d415b85acef8100000000838161275a576127596135b5565b5b0492506020810190505b662386f26fc10000831061279357662386f26fc100008381612789576127886135b5565b5b0492506010810190505b6305f5e10083106127bc576305f5e10083816127b2576127b16135b5565b5b0492506008810190505b61271083106127e15761271083816127d7576127d66135b5565b5b0492506004810190505b6064831061280457606483816127fa576127f96135b5565b5b0492506002810190505b600a8310612813576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361288e5760006040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016128859190612b5c565b60405180910390fd5b600061289c83836000611960565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146129105760006040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016129079190612b5c565b60405180910390fd5b505050565b6040518060600160405280600390602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6129808161294b565b811461298b57600080fd5b50565b60008135905061299d81612977565b92915050565b6000602082840312156129b9576129b8612941565b5b60006129c78482850161298e565b91505092915050565b60008115159050919050565b6129e5816129d0565b82525050565b6000602082019050612a0060008301846129dc565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a40578082015181840152602081019050612a25565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a6882612a06565b612a728185612a11565b9350612a82818560208601612a22565b612a8b81612a4c565b840191505092915050565b60006020820190508181036000830152612ab08184612a5d565b905092915050565b6000819050919050565b612acb81612ab8565b8114612ad657600080fd5b50565b600081359050612ae881612ac2565b92915050565b600060208284031215612b0457612b03612941565b5b6000612b1284828501612ad9565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b4682612b1b565b9050919050565b612b5681612b3b565b82525050565b6000602082019050612b716000830184612b4d565b92915050565b612b8081612b3b565b8114612b8b57600080fd5b50565b600081359050612b9d81612b77565b92915050565b60008060408385031215612bba57612bb9612941565b5b6000612bc885828601612b8e565b9250506020612bd985828601612ad9565b9150509250929050565b612bec81612ab8565b82525050565b6000602082019050612c076000830184612be3565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612c3257612c31612c0d565b5b8235905067ffffffffffffffff811115612c4f57612c4e612c12565b5b602083019150836020820283011115612c6b57612c6a612c17565b5b9250929050565b600080600060408486031215612c8b57612c8a612941565b5b6000612c9986828701612ad9565b935050602084013567ffffffffffffffff811115612cba57612cb9612946565b5b612cc686828701612c1c565b92509250509250925092565b600080600060608486031215612ceb57612cea612941565b5b6000612cf986828701612b8e565b9350506020612d0a86828701612b8e565b9250506040612d1b86828701612ad9565b9150509250925092565b600060039050919050565b600081905092915050565b6000819050919050565b612d4e81612ab8565b82525050565b6000612d608383612d45565b60208301905092915050565b6000602082019050919050565b612d8281612d25565b612d8c8184612d30565b9250612d9782612d3b565b8060005b83811015612dc8578151612daf8782612d54565b9650612dba83612d6c565b925050600181019050612d9b565b505050505050565b6000606082019050612de56000830184612d79565b92915050565b600060208284031215612e0157612e00612941565b5b6000612e0f84828501612b8e565b91505092915050565b6000819050919050565b6000612e3d612e38612e3384612b1b565b612e18565b612b1b565b9050919050565b6000612e4f82612e22565b9050919050565b6000612e6182612e44565b9050919050565b612e7181612e56565b82525050565b6000602082019050612e8c6000830184612e68565b92915050565b612e9b816129d0565b8114612ea657600080fd5b50565b600081359050612eb881612e92565b92915050565b60008060408385031215612ed557612ed4612941565b5b6000612ee385828601612b8e565b9250506020612ef485828601612ea9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110612f3e57612f3d612efe565b5b50565b6000819050612f4f82612f2d565b919050565b6000612f5f82612f41565b9050919050565b612f6f81612f54565b82525050565b6000602082019050612f8a6000830184612f66565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612fcd82612a4c565b810181811067ffffffffffffffff82111715612fec57612feb612f95565b5b80604052505050565b6000612fff612937565b905061300b8282612fc4565b919050565b600067ffffffffffffffff82111561302b5761302a612f95565b5b61303482612a4c565b9050602081019050919050565b82818337600083830152505050565b600061306361305e84613010565b612ff5565b90508281526020810184848401111561307f5761307e612f90565b5b61308a848285613041565b509392505050565b600082601f8301126130a7576130a6612c0d565b5b81356130b7848260208601613050565b91505092915050565b600080600080608085870312156130da576130d9612941565b5b60006130e887828801612b8e565b94505060206130f987828801612b8e565b935050604061310a87828801612ad9565b925050606085013567ffffffffffffffff81111561312b5761312a612946565b5b61313787828801613092565b91505092959194509250565b6000806040838503121561315a57613159612941565b5b600061316885828601612b8e565b925050602061317985828601612b8e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806131ca57607f821691505b6020821081036131dd576131dc613183565b5b50919050565b60006040820190506131f86000830185612b4d565b6132056020830184612b4d565b9392505050565b60006060820190506132216000830186612b4d565b61322e6020830185612be3565b61323b6040830184612b4d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b50565b600061328d600083613272565b91506132988261327d565b600082019050919050565b60006132ae82613280565b9150819050919050565b7f4d7573742062652070726f706f736564206f776e657200000000000000000000600082015250565b60006132ee601683612a11565b91506132f9826132b8565b602082019050919050565b6000602082019050818103600083015261331d816132e1565b9050919050565b60006060820190506133396000830186612b4d565b6133466020830185612b4d565b6133536040830184612b4d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061339582612ab8565b91506133a083612ab8565b92508282019050808211156133b8576133b761335b565b5b92915050565b6000819050919050565b6133d1816133be565b82525050565b600061ffff82169050919050565b6133ee816133d7565b82525050565b600063ffffffff82169050919050565b61340d816133f4565b82525050565b600081519050919050565b600082825260208201905092915050565b600061343a82613413565b613444818561341e565b9350613454818560208601612a22565b61345d81612a4c565b840191505092915050565b600060c08301600083015161348060008601826133c8565b5060208301516134936020860182612d45565b5060408301516134a660408601826133e5565b5060608301516134b96060860182613404565b5060808301516134cc6080860182613404565b5060a083015184820360a08601526134e4828261342f565b9150508091505092915050565b6000602082019050818103600083015261350b8184613468565b905092915050565b60008151905061352281612ac2565b92915050565b60006020828403121561353e5761353d612941565b5b600061354c84828501613513565b91505092915050565b600081905092915050565b600061356b82612a06565b6135758185613555565b9350613585818560208601612a22565b80840191505092915050565b600061359d8285613560565b91506135a98284613560565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006135ef82612ab8565b91506135fa83612ab8565b92508261360a576136096135b5565b5b828206905092915050565b600060408201905061362a6000830185612f66565b6136376020830184612b4d565b9392505050565b7f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000600082015250565b6000613674601683612a11565b915061367f8261363e565b602082019050919050565b600060208201905081810360008301526136a381613667565b9050919050565b6136b3816129d0565b82525050565b6020820160008201516136cf60008501826136aa565b50505050565b60006020820190506136ea60008301846136b9565b92915050565b600082825260208201905092915050565b600061370c82613413565b61371681856136f0565b9350613726818560208601612a22565b61372f81612a4c565b840191505092915050565b600060808201905061374f6000830187612b4d565b61375c6020830186612b4d565b6137696040830185612be3565b818103606083015261377b8184613701565b905095945050505050565b60008151905061379581612977565b92915050565b6000602082840312156137b1576137b0612941565b5b60006137bf84828501613786565b91505092915050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b60006137fe601783612a11565b9150613809826137c8565b602082019050919050565b6000602082019050818103600083015261382d816137f1565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026138967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613859565b6138a08683613859565b95508019841693508086168417925050509392505050565b60006138d36138ce6138c984612ab8565b612e18565b612ab8565b9050919050565b6000819050919050565b6138ed836138b8565b6139016138f9826138da565b848454613866565b825550505050565b600090565b613916613909565b6139218184846138e4565b505050565b5b818110156139455761393a60008261390e565b600181019050613927565b5050565b601f82111561398a5761395b81613834565b61396484613849565b81016020851015613973578190505b61398761397f85613849565b830182613926565b50505b505050565b600082821c905092915050565b60006139ad6000198460080261398f565b1980831691505092915050565b60006139c6838361399c565b9150826002028217905092915050565b6139df82612a06565b67ffffffffffffffff8111156139f8576139f7612f95565b5b613a0282546131b2565b613a0d828285613949565b600060209050601f831160018114613a405760008415613a2e578287015190505b613a3885826139ba565b865550613aa0565b601f198416613a4e86613834565b60005b82811015613a7657848901518255600182019150602085019450602081019050613a51565b86831015613a935784890151613a8f601f89168261399c565b8355505b6001600288020188555050505b505050505050565b6000604082019050613abd6000830185612b4d565b613aca6020830184612be3565b939250505056fea264697066735822122019bb31d8d701c278bf43774ac02476af7597d2c354aa10b748897b65cc26a7e164736f6c634300081800330000000000000000000000009ddfaca8183c41ad55329bdeed9f6a8d53168b1b787d74caea10b2b357790d5b5247c2f63d1d91572a9846f780606e4d953677aee332b678d987043bdd3807f9477c545cb6d2dd370dab25d6c5ffbbf06ba1dfd2000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d61566b426e32744b6d6a62687068553765797a7462765351553545584464715279585a7452685347674a476f00000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d5951433561475a753250544838587a624a7262446e76686a33675673377961333348396d71554e765354336400000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d5a596d483569446244367633553269786f56416a696f537a76574a737a447a59646265434c7175475370566d0000000000000000000000
0x0000000000000000000000009ddfaca8183c41ad55329bdeed9f6a8d53168b1b787d74caea10b2b357790d5b5247c2f63d1d91572a9846f780606e4d953677aee332b678d987043bdd3807f9477c545cb6d2dd370dab25d6c5ffbbf06ba1dfd2000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d61566b426e32744b6d6a62687068553765797a7462765351553545584464715279585a7452685347674a476f00000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d5951433561475a753250544838587a624a7262446e76686a33675673377961333348396d71554e765354336400000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d5a596d483569446244367633553269786f56416a696f537a76574a737a447a59646265434c7175475370566d0000000000000000000000
----Decoded View------------Arg [0] : vrfCoordinator (address): 0x9DdfaCa8183c41ad55329BdeeD9F6A8d53168B1BArg [1] : gasLane (bytes32): 0x787d74caea10b2b357790d5b5247c2f63d1d91572a9846f780606e4d953677aeArg [2] : subscriptionId (uint256): 102764618357577415192321788315192347422620231223760019320611939924705533878226Arg [3] : callbackGasLimit (uint32): 500000Arg [4] : dogTokenUris (string[3]): Arg [5] : mintFee (uint256): 10000000000000000
----Encoded View------------Arg [0] : 0x0000000000000000000000009ddfaca8183c41ad55329bdeed9f6a8d53168b1bArg [1] : 0x787d74caea10b2b357790d5b5247c2f63d1d91572a9846f780606e4d953677aeArg [2] : 0xe332b678d987043bdd3807f9477c545cb6d2dd370dab25d6c5ffbbf06ba1dfd2Arg [3] : 0x000000000000000000000000000000000000000000000000000000000007a120Arg [4] : 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d61566b426e32744b6d6a62687068553765797a7462765351553545584464715279585a7452685347674a476f00000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d5951433561475a753250544838587a624a7262446e76686a33675673377961333348396d71554e765354336400000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d5a596d483569446244367633553269786f56416a696f537a76574a737a447a59646265434c7175475370566d0000000000000000000000Arg [5] : 0x000000000000000000000000000000000000000000000000002386f26fc10000