{"abi":[{"type":"constructor","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lastTokenId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[],"outputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"word","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bitmap","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"permitForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeNonce","inputs":[{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"InvalidContractSignature","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidSignatureLength","inputs":[]},{"type":"error","name":"InvalidSigner","inputs":[]},{"type":"error","name":"NoSelfPermit","inputs":[]},{"type":"error","name":"NonceAlreadyUsed","inputs":[]},{"type":"error","name":"SignatureDeadlineExpired","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x60e060405234801561000f575f80fd5b50604051611f70380380611f7083398101604081905261002e9161016a565b81818180825f61003e8382610253565b50600161004b8282610253565b50508151602083012060c052504660a0526100bf60c051604080517f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8666020820152908101919091524660608201523060808201525f9060a00160405160208183030381529060405280519060200120905090565b6080525061030d9350505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126100f0575f80fd5b81516001600160401b03811115610109576101096100cd565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610137576101376100cd565b60405281815283820160200185101561014e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f806040838503121561017b575f80fd5b82516001600160401b03811115610190575f80fd5b61019c858286016100e1565b602085015190935090506001600160401b038111156101b9575f80fd5b6101c5858286016100e1565b9150509250929050565b600181811c908216806101e357607f821691505b60208210810361020157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561024e57805f5260205f20601f840160051c8101602085101561022c5750805b601f840160051c820191505b8181101561024b575f8155600101610238565b50505b505050565b81516001600160401b0381111561026c5761026c6100cd565b6102808161027a84546101cf565b84610207565b6020601f8211600181146102b2575f831561029b5750848201515b5f19600385901b1c1916600184901b17845561024b565b5f84815260208120601f198516915b828110156102e157878501518255602094850194600190920191016102c1565b50848210156102fe57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c051611c396103375f395f610aa501525f610a5101525f610aff0152611c395ff3fe608060405260043610610157575f3560e01c806342842e0e116100bb578063a22cb46511610071578063c87b56dd11610057578063c87b56dd146103aa578063e985e9c5146103fc578063f84ddf0b14610435575f80fd5b8063a22cb4651461036c578063b88d4fde1461038b575f80fd5b80636352211e116100a15780636352211e1461031a57806370a082311461033957806395d89b4114610358575f80fd5b806342842e0e146102c5578063502e1a16146102e4575f80fd5b80630f5730f11161011057806323b872dd116100f657806323b872dd1461027f5780633644e5151461029e5780633aea60f0146102b2575f80fd5b80630f5730f11461024a5780631249c58b1461025d575f80fd5b806306fdde031161014057806306fdde03146101a4578063081812fc146101c5578063095ea7b31461022b575f80fd5b806301ffc9a71461015b57806305c1ee201461018f575b5f80fd5b348015610166575f80fd5b5061017a610175366004611701565b61044a565b60405190151581526020015b60405180910390f35b6101a261019d366004611723565b61052e565b005b3480156101af575f80fd5b506101b861053b565b604051610186919061173a565b3480156101d0575f80fd5b506102066101df366004611723565b60046020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b348015610236575f80fd5b506101a26102453660046117b0565b6105c6565b6101a261025836600461181d565b610671565b348015610268575f80fd5b50610271610763565b604051908152602001610186565b34801561028a575f80fd5b506101a2610299366004611889565b610786565b3480156102a9575f80fd5b50610271610a4e565b6101a26102c03660046118d2565b610b21565b3480156102d0575f80fd5b506101a26102df366004611889565b610bfa565b3480156102ef575f80fd5b506102716102fe3660046117b0565b600660209081525f928352604080842090915290825290205481565b348015610325575f80fd5b50610206610334366004611723565b610d5b565b348015610344575f80fd5b50610271610353366004611955565b610deb565b348015610363575f80fd5b506101b8610e91565b348015610377575f80fd5b506101a261038636600461196e565b610e9e565b348015610396575f80fd5b506101a26103a536600461199f565b610ead565b3480156103b5575f80fd5b506101b86103c4366004611723565b5060408051808201909152600481527f6d6f636b00000000000000000000000000000000000000000000000000000000602082015290565b348015610407575f80fd5b5061017a610416366004611a09565b600560209081525f928352604080842090915290825290205460ff1681565b348015610440575f80fd5b5061027160075481565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614806104dc57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061052857507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6105383382611004565b50565b5f805461054790611a31565b80601f016020809104026020016040519081016040528092919081815260200182805461057390611a31565b80156105be5780601f10610595576101008083540402835291602001916105be565b820191905f5260205f20905b8154815290600101906020018083116105a157829003601f168201915b505050505081565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1633811480159061062a575073ffffffffffffffffffffffffffffffffffffffff81165f90815260056020908152604080832033845290915290205460ff16155b15610661576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61066c818484611091565b505050565b83804211156106ac576040517f5a9165ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8681526002602090815260408083205481517f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad815273ffffffffffffffffffffffffffffffffffffffff8c81169482019485529281018b8152606082018a8152608083018c815260a0842093889052958790529086905285905293909252169061074361073982611111565b869086908561116b565b61074d8287611004565b610758828a8a611091565b505050505050505050565b5f60075f815461077290611aaf565b9182905550905061078333826114a6565b90565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff84811691161461081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610811565b3373ffffffffffffffffffffffffffffffffffffffff841614806108ea575073ffffffffffffffffffffffffffffffffffffffff83165f90815260056020908152604080832033845290915290205460ff165b8061091757505f8181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b61097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610811565b73ffffffffffffffffffffffffffffffffffffffff8084165f81815260036020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055938616808352848320805460010190558583526002825284832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610afc57610af7604080517f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86660208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091524660608201523060808201525f9060a00160405160208183030381529060405280519060200120905090565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b8380421115610b5c576040517f5a9165ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f6673cb397ee2a50b6b8401653d3638b4ac8b3db9c28aa6870ffceb7574ec2f76815273ffffffffffffffffffffffffffffffffffffffff89166020820190815260018916928201928352606082018781526080830189815260a084205f9485905292849052938390528290529152610be5610bdb82611111565b859085908c61116b565b610bef8986611004565b61075889898961163d565b610c05838383610786565b73ffffffffffffffffffffffffffffffffffffffff82163b1580610cf557506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af1158015610cad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd19190611ae6565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b61066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610811565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610de6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e544544000000000000000000000000000000000000000000006044820152606401610811565b919050565b5f73ffffffffffffffffffffffffffffffffffffffff8216610e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152606401610811565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526003602052604090205490565b6001805461054790611a31565b610ea933838361163d565b5050565b610eb8858585610786565b73ffffffffffffffffffffffffffffffffffffffff84163b1580610f9757506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff86169063150b7a0290610f339033908a90899089908990600401611b48565b6020604051808303815f875af1158015610f4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f739190611ae6565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610ffd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610811565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff82165f908152600660209081526040808320600885901c808552925282208054600160ff861690811b9182189283905592939091908183169003611089576040517f1fb09b8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b5f8181526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f8061111b610a4e565b90506040517f190100000000000000000000000000000000000000000000000000000000000081528160028201528360228201526042812092505f81525f60208201525f60408201525050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff163b5f036113875760418690036111ca576111a186880188611ba4565b9093509150868660408181106111b9576111b9611bc4565b919091013560f81c91506112539050565b6040869003611221575f6111e087890189611ba4565b9094507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81169350905061121960ff82901c601b611bf1565b915050611253565b6040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080515f8082526020820180845288905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156112a4573d5f803e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661131c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611381576040517f815e1d6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5061149d565b6040517f1626ba7e0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff861690631626ba7e906113df9089908c908c90600401611c0a565b602060405180830381865afa1580156113fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061141e9190611ae6565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f1626ba7e000000000000000000000000000000000000000000000000000000001461149b576040517fb0669cbc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216611523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610811565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f414c52454144595f4d494e5445440000000000000000000000000000000000006044820152606401610811565b73ffffffffffffffffffffffffffffffffffffffff82165f81815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610538575f80fd5b5f60208284031215611711575f80fd5b813561171c816116d4565b9392505050565b5f60208284031215611733575f80fd5b5035919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610de6575f80fd5b5f80604083850312156117c1575f80fd5b6117ca8361178d565b946020939093013593505050565b5f8083601f8401126117e8575f80fd5b50813567ffffffffffffffff8111156117ff575f80fd5b602083019150836020828501011115611816575f80fd5b9250929050565b5f805f805f8060a08789031215611832575f80fd5b61183b8761178d565b9550602087013594506040870135935060608701359250608087013567ffffffffffffffff81111561186b575f80fd5b61187789828a016117d8565b979a9699509497509295939492505050565b5f805f6060848603121561189b575f80fd5b6118a48461178d565b92506118b26020850161178d565b929592945050506040919091013590565b80358015158114610de6575f80fd5b5f805f805f805f60c0888a0312156118e8575f80fd5b6118f18861178d565b96506118ff6020890161178d565b955061190d604089016118c3565b9450606088013593506080880135925060a088013567ffffffffffffffff811115611936575f80fd5b6119428a828b016117d8565b989b979a50959850939692959293505050565b5f60208284031215611965575f80fd5b61171c8261178d565b5f806040838503121561197f575f80fd5b6119888361178d565b9150611996602084016118c3565b90509250929050565b5f805f805f608086880312156119b3575f80fd5b6119bc8661178d565b94506119ca6020870161178d565b935060408601359250606086013567ffffffffffffffff8111156119ec575f80fd5b6119f8888289016117d8565b969995985093965092949392505050565b5f8060408385031215611a1a575f80fd5b611a238361178d565b91506119966020840161178d565b600181811c90821680611a4557607f821691505b602082108103611a7c577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611adf57611adf611a82565b5060010190565b5f60208284031215611af6575f80fd5b815161171c816116d4565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff8616815273ffffffffffffffffffffffffffffffffffffffff85166020820152836040820152608060608201525f611b99608083018486611b01565b979650505050505050565b5f8060408385031215611bb5575f80fd5b50508035926020909101359150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b60ff818116838216019081111561052857610528611a82565b838152604060208201525f611c23604083018486611b01565b9594505050505056fea164736f6c634300081a000a","sourceMap":"127:413:221:-:0;;;211:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;281:4;287:6;281:4;;287:6;2220:4:63;:12;281:4:221;2220::63;:12;:::i;:::-;-1:-1:-1;2242:6:63;:16;2251:7;2242:6;:16;:::i;:::-;-1:-1:-1;;1219:22:142;;;;;;1204:37;;-1:-1:-1;1271:13:142;1252:32;;1321:23;1839:12;;1816:66;;;1075:80;1816:66;;;4176:25:262;4217:18;;;4210:34;;;;1853:13:142;4260:18:262;;;4253:34;1876:4:142;4303:18:262;;;4296:60;1780:7:142;;4148:19:262;;1816:66:142;;;;;;;;;;;;1806:77;;;;;;1799:84;;1725:165;;1321:23;1294:50;;-1:-1:-1;127:413:221;;-1:-1:-1;;;;127:413:221;14:127:262;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:723;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;298:13;;-1:-1:-1;;;;;323:30:262;;320:56;;;356:18;;:::i;:::-;405:2;399:9;497:2;459:17;;-1:-1:-1;;455:31:262;;;488:2;451:40;447:54;435:67;;-1:-1:-1;;;;;517:34:262;;553:22;;;514:62;511:88;;;579:18;;:::i;:::-;615:2;608:22;639;;;680:19;;;701:4;676:30;673:39;-1:-1:-1;670:59:262;;;725:1;722;715:12;670:59;782:6;775:4;767:6;763:17;756:4;748:6;744:17;738:51;837:1;809:19;;;830:4;805:30;798:41;;;;813:6;146:723;-1:-1:-1;;;146:723:262:o;874:557::-;973:6;981;1034:2;1022:9;1013:7;1009:23;1005:32;1002:52;;;1050:1;1047;1040:12;1002:52;1077:16;;-1:-1:-1;;;;;1105:30:262;;1102:50;;;1148:1;1145;1138:12;1102:50;1171:61;1224:7;1215:6;1204:9;1200:22;1171:61;:::i;:::-;1278:2;1263:18;;1257:25;1161:71;;-1:-1:-1;1257:25:262;-1:-1:-1;;;;;;1294:32:262;;1291:52;;;1339:1;1336;1329:12;1291:52;1362:63;1417:7;1406:8;1395:9;1391:24;1362:63;:::i;:::-;1352:73;;;874:557;;;;;:::o;1436:380::-;1515:1;1511:12;;;;1558;;;1579:61;;1633:4;1625:6;1621:17;1611:27;;1579:61;1686:2;1678:6;1675:14;1655:18;1652:38;1649:161;;1732:10;1727:3;1723:20;1720:1;1713:31;1767:4;1764:1;1757:15;1795:4;1792:1;1785:15;1649:161;;1436:380;;;:::o;1947:518::-;2049:2;2044:3;2041:11;2038:421;;;2085:5;2082:1;2075:16;2129:4;2126:1;2116:18;2199:2;2187:10;2183:19;2180:1;2176:27;2170:4;2166:38;2235:4;2223:10;2220:20;2217:47;;;-1:-1:-1;2258:4:262;2217:47;2313:2;2308:3;2304:12;2301:1;2297:20;2291:4;2287:31;2277:41;;2368:81;2386:2;2379:5;2376:13;2368:81;;;2445:1;2431:16;;2412:1;2401:13;2368:81;;;2372:3;;2038:421;1947:518;;;:::o;2641:1299::-;2761:10;;-1:-1:-1;;;;;2783:30:262;;2780:56;;;2816:18;;:::i;:::-;2845:97;2935:6;2895:38;2927:4;2921:11;2895:38;:::i;:::-;2889:4;2845:97;:::i;:::-;2991:4;3022:2;3011:14;;3039:1;3034:649;;;;3727:1;3744:6;3741:89;;;-1:-1:-1;3796:19:262;;;3790:26;3741:89;-1:-1:-1;;2598:1:262;2594:11;;;2590:24;2586:29;2576:40;2622:1;2618:11;;;2573:57;3843:81;;3004:930;;3034:649;1894:1;1887:14;;;1931:4;1918:18;;-1:-1:-1;;3070:20:262;;;3188:222;3202:7;3199:1;3196:14;3188:222;;;3284:19;;;3278:26;3263:42;;3391:4;3376:20;;;;3344:1;3332:14;;;;3218:12;3188:222;;;3192:3;3438:6;3429:7;3426:19;3423:201;;;3499:19;;;3493:26;-1:-1:-1;;3582:1:262;3578:14;;;3594:3;3574:24;3570:37;3566:42;3551:58;3536:74;;3423:201;-1:-1:-1;;;;3670:1:262;3654:14;;;3650:22;3637:36;;-1:-1:-1;2641:1299:262:o;3945:417::-;127:413:221;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610157575f3560e01c806342842e0e116100bb578063a22cb46511610071578063c87b56dd11610057578063c87b56dd146103aa578063e985e9c5146103fc578063f84ddf0b14610435575f80fd5b8063a22cb4651461036c578063b88d4fde1461038b575f80fd5b80636352211e116100a15780636352211e1461031a57806370a082311461033957806395d89b4114610358575f80fd5b806342842e0e146102c5578063502e1a16146102e4575f80fd5b80630f5730f11161011057806323b872dd116100f657806323b872dd1461027f5780633644e5151461029e5780633aea60f0146102b2575f80fd5b80630f5730f11461024a5780631249c58b1461025d575f80fd5b806306fdde031161014057806306fdde03146101a4578063081812fc146101c5578063095ea7b31461022b575f80fd5b806301ffc9a71461015b57806305c1ee201461018f575b5f80fd5b348015610166575f80fd5b5061017a610175366004611701565b61044a565b60405190151581526020015b60405180910390f35b6101a261019d366004611723565b61052e565b005b3480156101af575f80fd5b506101b861053b565b604051610186919061173a565b3480156101d0575f80fd5b506102066101df366004611723565b60046020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b348015610236575f80fd5b506101a26102453660046117b0565b6105c6565b6101a261025836600461181d565b610671565b348015610268575f80fd5b50610271610763565b604051908152602001610186565b34801561028a575f80fd5b506101a2610299366004611889565b610786565b3480156102a9575f80fd5b50610271610a4e565b6101a26102c03660046118d2565b610b21565b3480156102d0575f80fd5b506101a26102df366004611889565b610bfa565b3480156102ef575f80fd5b506102716102fe3660046117b0565b600660209081525f928352604080842090915290825290205481565b348015610325575f80fd5b50610206610334366004611723565b610d5b565b348015610344575f80fd5b50610271610353366004611955565b610deb565b348015610363575f80fd5b506101b8610e91565b348015610377575f80fd5b506101a261038636600461196e565b610e9e565b348015610396575f80fd5b506101a26103a536600461199f565b610ead565b3480156103b5575f80fd5b506101b86103c4366004611723565b5060408051808201909152600481527f6d6f636b00000000000000000000000000000000000000000000000000000000602082015290565b348015610407575f80fd5b5061017a610416366004611a09565b600560209081525f928352604080842090915290825290205460ff1681565b348015610440575f80fd5b5061027160075481565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614806104dc57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061052857507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6105383382611004565b50565b5f805461054790611a31565b80601f016020809104026020016040519081016040528092919081815260200182805461057390611a31565b80156105be5780601f10610595576101008083540402835291602001916105be565b820191905f5260205f20905b8154815290600101906020018083116105a157829003601f168201915b505050505081565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1633811480159061062a575073ffffffffffffffffffffffffffffffffffffffff81165f90815260056020908152604080832033845290915290205460ff16155b15610661576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61066c818484611091565b505050565b83804211156106ac576040517f5a9165ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8681526002602090815260408083205481517f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad815273ffffffffffffffffffffffffffffffffffffffff8c81169482019485529281018b8152606082018a8152608083018c815260a0842093889052958790529086905285905293909252169061074361073982611111565b869086908561116b565b61074d8287611004565b610758828a8a611091565b505050505050505050565b5f60075f815461077290611aaf565b9182905550905061078333826114a6565b90565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff84811691161461081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610811565b3373ffffffffffffffffffffffffffffffffffffffff841614806108ea575073ffffffffffffffffffffffffffffffffffffffff83165f90815260056020908152604080832033845290915290205460ff165b8061091757505f8181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b61097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610811565b73ffffffffffffffffffffffffffffffffffffffff8084165f81815260036020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055938616808352848320805460010190558583526002825284832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610afc57610af7604080517f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86660208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091524660608201523060808201525f9060a00160405160208183030381529060405280519060200120905090565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b8380421115610b5c576040517f5a9165ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f6673cb397ee2a50b6b8401653d3638b4ac8b3db9c28aa6870ffceb7574ec2f76815273ffffffffffffffffffffffffffffffffffffffff89166020820190815260018916928201928352606082018781526080830189815260a084205f9485905292849052938390528290529152610be5610bdb82611111565b859085908c61116b565b610bef8986611004565b61075889898961163d565b610c05838383610786565b73ffffffffffffffffffffffffffffffffffffffff82163b1580610cf557506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af1158015610cad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd19190611ae6565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b61066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610811565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610de6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e544544000000000000000000000000000000000000000000006044820152606401610811565b919050565b5f73ffffffffffffffffffffffffffffffffffffffff8216610e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152606401610811565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526003602052604090205490565b6001805461054790611a31565b610ea933838361163d565b5050565b610eb8858585610786565b73ffffffffffffffffffffffffffffffffffffffff84163b1580610f9757506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff86169063150b7a0290610f339033908a90899089908990600401611b48565b6020604051808303815f875af1158015610f4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f739190611ae6565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610ffd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610811565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff82165f908152600660209081526040808320600885901c808552925282208054600160ff861690811b9182189283905592939091908183169003611089576040517f1fb09b8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b5f8181526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f8061111b610a4e565b90506040517f190100000000000000000000000000000000000000000000000000000000000081528160028201528360228201526042812092505f81525f60208201525f60408201525050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff163b5f036113875760418690036111ca576111a186880188611ba4565b9093509150868660408181106111b9576111b9611bc4565b919091013560f81c91506112539050565b6040869003611221575f6111e087890189611ba4565b9094507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81169350905061121960ff82901c601b611bf1565b915050611253565b6040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080515f8082526020820180845288905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156112a4573d5f803e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661131c576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611381576040517f815e1d6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5061149d565b6040517f1626ba7e0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff861690631626ba7e906113df9089908c908c90600401611c0a565b602060405180830381865afa1580156113fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061141e9190611ae6565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f1626ba7e000000000000000000000000000000000000000000000000000000001461149b576040517fb0669cbc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216611523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610811565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16156115ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f414c52454144595f4d494e5445440000000000000000000000000000000000006044820152606401610811565b73ffffffffffffffffffffffffffffffffffffffff82165f81815260036020908152604080832080546001019055848352600290915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610538575f80fd5b5f60208284031215611711575f80fd5b813561171c816116d4565b9392505050565b5f60208284031215611733575f80fd5b5035919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610de6575f80fd5b5f80604083850312156117c1575f80fd5b6117ca8361178d565b946020939093013593505050565b5f8083601f8401126117e8575f80fd5b50813567ffffffffffffffff8111156117ff575f80fd5b602083019150836020828501011115611816575f80fd5b9250929050565b5f805f805f8060a08789031215611832575f80fd5b61183b8761178d565b9550602087013594506040870135935060608701359250608087013567ffffffffffffffff81111561186b575f80fd5b61187789828a016117d8565b979a9699509497509295939492505050565b5f805f6060848603121561189b575f80fd5b6118a48461178d565b92506118b26020850161178d565b929592945050506040919091013590565b80358015158114610de6575f80fd5b5f805f805f805f60c0888a0312156118e8575f80fd5b6118f18861178d565b96506118ff6020890161178d565b955061190d604089016118c3565b9450606088013593506080880135925060a088013567ffffffffffffffff811115611936575f80fd5b6119428a828b016117d8565b989b979a50959850939692959293505050565b5f60208284031215611965575f80fd5b61171c8261178d565b5f806040838503121561197f575f80fd5b6119888361178d565b9150611996602084016118c3565b90509250929050565b5f805f805f608086880312156119b3575f80fd5b6119bc8661178d565b94506119ca6020870161178d565b935060408601359250606086013567ffffffffffffffff8111156119ec575f80fd5b6119f8888289016117d8565b969995985093965092949392505050565b5f8060408385031215611a1a575f80fd5b611a238361178d565b91506119966020840161178d565b600181811c90821680611a4557607f821691505b602082108103611a7c577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611adf57611adf611a82565b5060010190565b5f60208284031215611af6575f80fd5b815161171c816116d4565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff8616815273ffffffffffffffffffffffffffffffffffffffff85166020820152836040820152608060608201525f611b99608083018486611b01565b979650505050505050565b5f8060408385031215611bb5575f80fd5b50508035926020909101359150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b60ff818116838216019081111561052857610528611a82565b838152604060208201525f611c23604083018486611b01565b9594505050505056fea164736f6c634300081a000a","sourceMap":"127:413:221:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4714:335:63;;;;;;;;;;-1:-1:-1;4714:335:63;;;;;:::i;:::-;;:::i;:::-;;;611:14:262;;604:22;586:41;;574:2;559:18;4714:335:63;;;;;;;;1006:107:149;;;;;;:::i;:::-;;:::i;:::-;;899:18:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1844:46::-;;;;;;;;;;-1:-1:-1;1844:46:63;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1527:42:262;1515:55;;;1497:74;;1485:2;1470:18;1844:46:63;1351:226:262;3519:243:143;;;;;;;;;;-1:-1:-1;3519:243:143;;;;;:::i;:::-;;:::i;1109:528::-;;;;;;:::i;:::-;;:::i;303:127:221:-;;;;;;;;;;;;;:::i;:::-;;;3430:25:262;;;3418:2;3403:18;303:127:221;3284:177:262;2950:741:63;;;;;;;;;;-1:-1:-1;2950:741:63;;;;;:::i;:::-;;:::i;1388:241:142:-;;;;;;;;;;;;;:::i;1680:488:143:-;;;;;;:::i;:::-;;:::i;3697:396:63:-;;;;;;;;;;-1:-1:-1;3697:396:63;;;;;:::i;:::-;;:::i;317:79:149:-;;;;;;;;;;-1:-1:-1;317:79:149;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1327:149:63;;;;;;;;;;-1:-1:-1;1327:149:63;;;;;:::i;:::-;;:::i;1482:168::-;;;;;;;;;;-1:-1:-1;1482:168:63;;;;;:::i;:::-;;:::i;924:20::-;;;;;;;;;;;;;:::i;2684:139:143:-;;;;;;;;;;-1:-1:-1;2684:139:143;;;;;:::i;:::-;;:::i;4099:427:63:-;;;;;;;;;;-1:-1:-1;4099:427:63;;;;;:::i;:::-;;:::i;436:102:221:-;;;;;;;;;;-1:-1:-1;436:102:221;;;;;:::i;:::-;-1:-1:-1;518:13:221;;;;;;;;;;;;;;;;;;436:102;1897:68:63;;;;;;;;;;-1:-1:-1;1897:68:63;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;178:26:221;;;;;;;;;;;;;;;;4714:335:63;4790:4;4825:25;;;;;;:100;;-1:-1:-1;4900:25:63;;;;;4825:100;:175;;;-1:-1:-1;4975:25:63;;;;;4825:175;4806:194;4714:335;-1:-1:-1;;4714:335:63:o;1006:107:149:-;1069:37;1088:10;1100:5;1069:18;:37::i;:::-;1006:107;:::o;899:18:63:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3519:243:143:-;3591:13;3607:12;;;:8;:12;;;;;;;;3634:10;:19;;;;;:59;;-1:-1:-1;3658:23:143;;;;;;;:16;:23;;;;;;;;3682:10;3658:35;;;;;;;;;;3657:36;3634:59;3630:86;;;3702:14;;;;;;;;;;;;;;3630:86;3727:28;3736:5;3743:7;3752:2;3727:8;:28::i;:::-;3581:181;3519:243;;:::o;1109:528::-;1282:8;1005;987:15;:26;983:65;;;1022:26;;;;;;;;;;;;;;983:65;1364:13:::1;1380:17:::0;;;:8:::1;:17;::::0;;;;;;;;1396:11:179;;1432:15;1420:28;;1380:17:143::1;1484:56:179::0;;;1468:14;;;1461:80;;;1561:14;;;1554:31;;;1614:4;1605:14;;1598:29;;;1656:4;1647:14;;1640:32;;;1710:4;1695:20;;1773:14;;;;1828:25;;;;1891;;;;1954;;;2015;;;;1380:17:143::1;::::0;1497:47:::1;1514:22;1695:20:179::0;1514:14:143::1;:22::i;:::-;1497:9:::0;;;;1538:5;1497:16:::1;:47::i;:::-;1555:32;1574:5;1581;1555:18;:32::i;:::-;1597:33;1606:5;1613:7;1622;1597:8;:33::i;:::-;1296:341;;1109:528:::0;;;;;;;:::o;303:127:221:-;337:15;376:11;;374:13;;;;;:::i;:::-;;;;;-1:-1:-1;374:13:221;-1:-1:-1;397:26:221;403:10;374:13;397:5;:26::i;:::-;303:127;:::o;2950:741:63:-;3081:12;;;;:8;:12;;;;;;;3073:20;;;3081:12;;3073:20;3065:43;;;;;;;7484:2:262;3065:43:63;;;7466:21:262;7523:2;7503:18;;;7496:30;7562:12;7542:18;;;7535:40;7592:18;;3065:43:63;;;;;;;;;3127:16;;;3119:46;;;;;;;7823:2:262;3119:46:63;;;7805:21:262;7862:2;7842:18;;;7835:30;7901:19;7881:18;;;7874:47;7938:18;;3119:46:63;7621:341:262;3119:46:63;3197:10;:18;;;;;:56;;-1:-1:-1;3219:22:63;;;;;;;:16;:22;;;;;;;;3242:10;3219:34;;;;;;;;;;3197:56;:89;;;-1:-1:-1;3271:15:63;;;;:11;:15;;;;;;;;3257:10;:29;3197:89;3176:150;;;;;;;8169:2:262;3176:150:63;;;8151:21:262;8208:2;8188:18;;;8181:30;8247:16;8227:18;;;8220:44;8281:18;;3176:150:63;7967:338:262;3176:150:63;3526:16;;;;;;;;:10;:16;;;;;;;;:18;;;;;;3559:14;;;;;;;;;:16;;3526:18;3559:16;;;3596:12;;;:8;:12;;;;;:17;;;;;;;;;;;3631:11;:15;;;;;;3624:22;;;;;;;;3662;;3605:2;;3559:14;3526:16;3662:22;;;2950:741;;;:::o;1388:241:142:-;1437:7;1553:16;1536:13;:33;:86;;1599:23;1816:66;;;1075:80;1816:66;;;13073:25:262;1839:12:142;13114:18:262;;;13107:34;;;;1853:13:142;13157:18:262;;;13150:34;1876:4:142;13200:18:262;;;13193:83;1780:7:142;;13045:19:262;;1816:66:142;;;;;;;;;;;;1806:77;;;;;;1799:84;;1725:165;;1599:23;1529:93;;1388:241;:::o;1536:86::-;-1:-1:-1;1572:24:142;;1388:241::o;1680:488:143:-;1903:8;1005;987:15;:26;983:65;;;1022:26;;;;;;;;;;;;;;983:65;3019:4:179;3013:11;;3049:23;3037:36;;3123:42;3109:57;;3102:4;3093:14;;3086:81;;;3217:3;3203:18;;3187:14;;;3180:42;;;3251:4;3242:14;;3235:29;;;3293:4;3284:14;;3277:32;;;3347:4;3332:20;;-1:-1:-1;3410:14:179;;;;3473:25;;;;3537;;;;3601;;;3662;;2020:47:143::1;2037:22;3332:20:179::0;2037:14:143::1;:22::i;:::-;2020:9:::0;;;;2061:5;2020:16:::1;:47::i;:::-;2078:32;2097:5;2104;2078:18;:32::i;:::-;2120:41;2135:5;2142:8;2152;2120:14;:41::i;3697:396:63:-:0;3816:26;3829:4;3835:2;3839;3816:12;:26::i;:::-;3874:14;;;;:19;;:170;;-1:-1:-1;3913:66:63;;3999:45;3913:66;;;3954:10;3913:66;;;8577:74:262;3913:40:63;8687:55:262;;;8667:18;;;8660:83;8759:18;;;8752:34;;;8822:3;8802:18;;;8795:31;-1:-1:-1;8842:19:262;;;8835:30;3999:45:63;;3913:40;;;;3999:45;;8882:19:262;;3913:66:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:131;;;3874:170;3853:233;;;;;;;9368:2:262;3853:233:63;;;9350:21:262;9407:2;9387:18;;;9380:30;9446:18;9426;;;9419:46;9482:18;;3853:233:63;9166:340:262;1327:149:63;1385:13;1427:12;;;:8;:12;;;;;;1418:36;1427:12;;1410:59;;;;;;;9713:2:262;1410:59:63;;;9695:21:262;9752:2;9732:18;;;9725:30;9791:12;9771:18;;;9764:40;9821:18;;1410:59:63;9511:334:262;1410:59:63;1327:149;;;:::o;1482:168::-;1545:7;1572:19;;;1564:44;;;;;;;10052:2:262;1564:44:63;;;10034:21:262;10091:2;10071:18;;;10064:30;10130:14;10110:18;;;10103:42;10162:18;;1564:44:63;9850:336:262;1564:44:63;-1:-1:-1;1626:17:63;;;;;;:10;:17;;;;;;;1482:168::o;924:20::-;;;;;;;:::i;2684:139:143:-;2770:46;2785:10;2797:8;2807;2770:14;:46::i;:::-;2684:139;;:::o;4099:427:63:-;4247:26;4260:4;4266:2;4270;4247:12;:26::i;:::-;4305:14;;;;:19;;:172;;-1:-1:-1;4344:68:63;;4432:45;4344:68;;;4432:45;4344:40;;;;4432:45;;4344:68;;4385:10;;4397:4;;4403:2;;4407:4;;;;4344:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:133;;;4305:172;4284:235;;;;;;;9368:2:262;4284:235:63;;;9350:21:262;9407:2;9387:18;;;9380:30;9446:18;9426;;;9419:46;9482:18;;4284:235:63;9166:340:262;4284:235:63;4099:427;;;;;:::o;661:303:149:-;869:13;;;738:15;869:13;;;:6;:13;;;;;;;;765:1;756:10;;;869:22;;;;;;;:29;;830:1;776:29;;;830:11;;;869:29;;;;;;;756:10;;830:11;;869:29;912:13;;;:18;;908:49;;939:18;;;;;;;;;;;;;;908:49;728:236;;;;661:303;;:::o;3768:156:143:-;3849:15;;;;:11;:15;;;;;;:25;;;;;;;;;;;;;;3889:28;;3849:15;;3889:28;;;;;;;3768:156;;;:::o;1947:745:142:-;2012:14;2129:23;2155:18;:16;:18::i;:::-;2129:44;;2239:4;2233:11;2269:9;2264:3;2257:22;2315:15;2308:4;2303:3;2299:14;2292:39;2367:8;2360:4;2355:3;2351:14;2344:32;2414:4;2409:3;2399:20;2389:30;;2489:1;2484:3;2477:14;2567:1;2560:4;2555:3;2551:14;2544:25;2648:1;2641:4;2636:3;2632:14;2625:25;;2208:478;1947:745;;;:::o;700:1109:4:-;803:9;822;841:7;863:13;:25;;;892:1;863:30;859:944;;933:2;913:22;;;909:490;;964:41;;;;975:9;964:41;:::i;:::-;955:50;;-1:-1:-1;955:50:4;-1:-1:-1;1033:9:4;;1043:2;1033:13;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;909:490:4;;-1:-1:-1;909:490:4;;1092:2;1072:22;;;1068:331;;1142:10;1180:41;;;;1191:9;1180:41;:::i;:::-;1170:51;;-1:-1:-1;626:66:4;1243:19;;;-1:-1:-1;1170:51:4;-1:-1:-1;1284:30:4;1304:3;1298:9;;;1312:2;1284:30;:::i;:::-;1280:34;;1096:233;1068:331;;;1360:24;;;;;;;;;;;;;;1068:331;1429:24;;;1412:14;1429:24;;;;;;;;;12003:25:262;;;12076:4;12064:17;;12044:18;;;12037:45;;;;12098:18;;;12091:34;;;12141:18;;;12134:34;;;1429:24:4;;11975:19:262;;1429:24:4;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1429:24:4;;;;;;-1:-1:-1;;1471:20:4;;;1467:51;;1500:18;;;;;;;;;;;;;;1467:51;1546:13;1536:23;;:6;:23;;;1532:51;;1568:15;;;;;;;;;;;;;;1532:51;895:699;859:944;;;1634:57;;;;;1614:17;;1634:40;;;;;;:57;;1675:4;;1681:9;;;;1634:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1614:77;-1:-1:-1;1709:48:4;;;1723:34;1709:48;1705:87;;1766:26;;;;;;;;;;;;;;1705:87;1600:203;859:944;793:1016;;;700:1109;;;;:::o;5243:371:63:-;5317:16;;;5309:46;;;;;;;7823:2:262;5309:46:63;;;7805:21:262;7862:2;7842:18;;;7835:30;7901:19;7881:18;;;7874:47;7938:18;;5309:46:63;7621:341:262;5309:46:63;5398:1;5374:12;;;:8;:12;;;;;;:26;:12;:26;5366:53;;;;;;;12701:2:262;5366:53:63;;;12683:21:262;12740:2;12720:18;;;12713:30;12779:16;12759:18;;;12752:44;12813:18;;5366:53:63;12499:338:262;5366:53:63;5509:14;;;;;;;:10;:14;;;;;;;;:16;;;;;;5546:12;;;:8;:12;;;;;;:17;;;;;;;;5579:28;5555:2;;5509:14;;5579:28;;5509:14;;5579:28;5243:371;;:::o;2829:198:143:-;2920:23;;;;;;;;:16;:23;;;;;;;;:33;;;;;;;;;;;;;:44;;;;;;;;;;;;;2979:41;;586::262;;;2979::143;;559:18:262;2979:41:143;;;;;;;2829:198;;;:::o;14:177:262:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:262:o;638:226::-;697:6;750:2;738:9;729:7;725:23;721:32;718:52;;;766:1;763;756:12;718:52;-1:-1:-1;811:23:262;;638:226;-1:-1:-1;638:226:262:o;869:477::-;1018:2;1007:9;1000:21;981:4;1050:6;1044:13;1093:6;1088:2;1077:9;1073:18;1066:34;1152:6;1147:2;1139:6;1135:15;1130:2;1119:9;1115:18;1109:50;1208:1;1203:2;1194:6;1183:9;1179:22;1175:31;1168:42;1337:2;1267:66;1262:2;1254:6;1250:15;1246:88;1235:9;1231:104;1227:113;1219:121;;;869:477;;;;:::o;1582:196::-;1650:20;;1710:42;1699:54;;1689:65;;1679:93;;1768:1;1765;1758:12;1783:300;1851:6;1859;1912:2;1900:9;1891:7;1887:23;1883:32;1880:52;;;1928:1;1925;1918:12;1880:52;1951:29;1970:9;1951:29;:::i;:::-;1941:39;2049:2;2034:18;;;;2021:32;;-1:-1:-1;;;1783:300:262:o;2088:347::-;2139:8;2149:6;2203:3;2196:4;2188:6;2184:17;2180:27;2170:55;;2221:1;2218;2211:12;2170:55;-1:-1:-1;2244:20:262;;2287:18;2276:30;;2273:50;;;2319:1;2316;2309:12;2273:50;2356:4;2348:6;2344:17;2332:29;;2408:3;2401:4;2392:6;2384;2380:19;2376:30;2373:39;2370:59;;;2425:1;2422;2415:12;2370:59;2088:347;;;;;:::o;2440:839::-;2546:6;2554;2562;2570;2578;2586;2639:3;2627:9;2618:7;2614:23;2610:33;2607:53;;;2656:1;2653;2646:12;2607:53;2679:29;2698:9;2679:29;:::i;:::-;2669:39;-1:-1:-1;2777:2:262;2762:18;;2749:32;;-1:-1:-1;2878:2:262;2863:18;;2850:32;;-1:-1:-1;2981:2:262;2966:18;;2953:32;;-1:-1:-1;3062:3:262;3047:19;;3034:33;3090:18;3079:30;;3076:50;;;3122:1;3119;3112:12;3076:50;3161:58;3211:7;3202:6;3191:9;3187:22;3161:58;:::i;:::-;2440:839;;;;-1:-1:-1;2440:839:262;;-1:-1:-1;2440:839:262;;3238:8;;2440:839;-1:-1:-1;;;2440:839:262:o;3466:374::-;3543:6;3551;3559;3612:2;3600:9;3591:7;3587:23;3583:32;3580:52;;;3628:1;3625;3618:12;3580:52;3651:29;3670:9;3651:29;:::i;:::-;3641:39;;3699:38;3733:2;3722:9;3718:18;3699:38;:::i;:::-;3466:374;;3689:48;;-1:-1:-1;;;3806:2:262;3791:18;;;;3778:32;;3466:374::o;4027:160::-;4092:20;;4148:13;;4141:21;4131:32;;4121:60;;4177:1;4174;4167:12;4192:862;4304:6;4312;4320;4328;4336;4344;4352;4405:3;4393:9;4384:7;4380:23;4376:33;4373:53;;;4422:1;4419;4412:12;4373:53;4445:29;4464:9;4445:29;:::i;:::-;4435:39;;4493:38;4527:2;4516:9;4512:18;4493:38;:::i;:::-;4483:48;;4550:35;4581:2;4570:9;4566:18;4550:35;:::i;:::-;4540:45;-1:-1:-1;4654:2:262;4639:18;;4626:32;;-1:-1:-1;4755:3:262;4740:19;;4727:33;;-1:-1:-1;4837:3:262;4822:19;;4809:33;4865:18;4854:30;;4851:50;;;4897:1;4894;4887:12;4851:50;4936:58;4986:7;4977:6;4966:9;4962:22;4936:58;:::i;:::-;4192:862;;;;-1:-1:-1;4192:862:262;;-1:-1:-1;4192:862:262;;;;4910:84;;-1:-1:-1;;;4192:862:262:o;5059:186::-;5118:6;5171:2;5159:9;5150:7;5146:23;5142:32;5139:52;;;5187:1;5184;5177:12;5139:52;5210:29;5229:9;5210:29;:::i;5250:254::-;5315:6;5323;5376:2;5364:9;5355:7;5351:23;5347:32;5344:52;;;5392:1;5389;5382:12;5344:52;5415:29;5434:9;5415:29;:::i;:::-;5405:39;;5463:35;5494:2;5483:9;5479:18;5463:35;:::i;:::-;5453:45;;5250:254;;;;;:::o;5509:672::-;5606:6;5614;5622;5630;5638;5691:3;5679:9;5670:7;5666:23;5662:33;5659:53;;;5708:1;5705;5698:12;5659:53;5731:29;5750:9;5731:29;:::i;:::-;5721:39;;5779:38;5813:2;5802:9;5798:18;5779:38;:::i;:::-;5769:48;-1:-1:-1;5886:2:262;5871:18;;5858:32;;-1:-1:-1;5965:2:262;5950:18;;5937:32;5992:18;5981:30;;5978:50;;;6024:1;6021;6014:12;5978:50;6063:58;6113:7;6104:6;6093:9;6089:22;6063:58;:::i;:::-;5509:672;;;;-1:-1:-1;5509:672:262;;-1:-1:-1;6140:8:262;;6037:84;5509:672;-1:-1:-1;;;5509:672:262:o;6186:260::-;6254:6;6262;6315:2;6303:9;6294:7;6290:23;6286:32;6283:52;;;6331:1;6328;6321:12;6283:52;6354:29;6373:9;6354:29;:::i;:::-;6344:39;;6402:38;6436:2;6425:9;6421:18;6402:38;:::i;6451:437::-;6530:1;6526:12;;;;6573;;;6594:61;;6648:4;6640:6;6636:17;6626:27;;6594:61;6701:2;6693:6;6690:14;6670:18;6667:38;6664:218;;6738:77;6735:1;6728:88;6839:4;6836:1;6829:15;6867:4;6864:1;6857:15;6664:218;;6451:437;;;:::o;6893:184::-;6945:77;6942:1;6935:88;7042:4;7039:1;7032:15;7066:4;7063:1;7056:15;7082:195;7121:3;7152:66;7145:5;7142:77;7139:103;;7222:18;;:::i;:::-;-1:-1:-1;7269:1:262;7258:13;;7082:195::o;8912:249::-;8981:6;9034:2;9022:9;9013:7;9009:23;9005:32;9002:52;;;9050:1;9047;9040:12;9002:52;9082:9;9076:16;9101:30;9125:5;9101:30;:::i;10191:325::-;10279:6;10274:3;10267:19;10331:6;10324:5;10317:4;10312:3;10308:14;10295:43;;10383:1;10376:4;10367:6;10362:3;10358:16;10354:27;10347:38;10249:3;10505:4;10435:66;10430:2;10422:6;10418:15;10414:88;10409:3;10405:98;10401:109;10394:116;;10191:325;;;;:::o;10521:557::-;10774:42;10766:6;10762:55;10751:9;10744:74;10866:42;10858:6;10854:55;10849:2;10838:9;10834:18;10827:83;10946:6;10941:2;10930:9;10926:18;10919:34;10989:3;10984:2;10973:9;10969:18;10962:31;10725:4;11010:62;11067:3;11056:9;11052:19;11044:6;11036;11010:62;:::i;:::-;11002:70;10521:557;-1:-1:-1;;;;;;;10521:557:262:o;11083:346::-;11151:6;11159;11212:2;11200:9;11191:7;11187:23;11183:32;11180:52;;;11228:1;11225;11218:12;11180:52;-1:-1:-1;;11273:23:262;;;11393:2;11378:18;;;11365:32;;-1:-1:-1;11083:346:262:o;11434:184::-;11486:77;11483:1;11476:88;11583:4;11580:1;11573:15;11607:4;11604:1;11597:15;11623:148;11711:4;11690:12;;;11704;;;11686:31;;11729:13;;11726:39;;;11745:18;;:::i;12179:315::-;12364:6;12353:9;12346:25;12407:2;12402;12391:9;12387:18;12380:30;12327:4;12427:61;12484:2;12473:9;12469:18;12461:6;12453;12427:61;:::i;:::-;12419:69;12179:315;-1:-1:-1;;;;;12179:315:262:o","linkReferences":{},"immutableReferences":{"65760":[{"start":2815,"length":32}],"65762":[{"start":2641,"length":32}],"65764":[{"start":2725,"length":32}]}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","lastTokenId()":"f84ddf0b","mint()":"1249c58b","name()":"06fdde03","nonces(address,uint256)":"502e1a16","ownerOf(uint256)":"6352211e","permit(address,uint256,uint256,uint256,bytes)":"0f5730f1","permitForAll(address,address,bool,uint256,uint256,bytes)":"3aea60f0","revokeNonce(uint256)":"05c1ee20","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidContractSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSigner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoSelfPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonceAlreadyUsed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SignatureDeadlineExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"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\":\"\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"word\",\"type\":\"uint256\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bitmap\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitForAll\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"revokeNonce\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"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\":\"id\",\"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\":\"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\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"returns\":{\"_0\":\"bytes32 The domain separator\"}},\"approve(address,uint256)\":{\"details\":\"override Solmate's ERC721 approve so approve() and permit() share the _approve method Passing a spender address of zero can be used to remove any outstanding approvals Throws error unless `msg.sender` is the current NFT owner, or an authorized operator of the current owner.\",\"params\":{\"id\":\"The tokenId of the NFT to approve\",\"spender\":\"The new approved NFT controller\"}},\"permit(address,uint256,uint256,uint256,bytes)\":{\"details\":\"payable so it can be multicalled with NATIVE related actions\",\"params\":{\"deadline\":\"The deadline timestamp by which the call must be mined for the approve to work\",\"nonce\":\"a unique value, for an owner, to prevent replay attacks; an unordered nonce where the top 248 bits correspond to a word and the bottom 8 bits calculate the bit position of the word\",\"signature\":\"Concatenated data from a valid secp256k1 signature from the holder, i.e. abi.encodePacked(r, s, v)\",\"spender\":\"The account that is being approved\",\"tokenId\":\"The ID of the token that is being approved for spending\"}},\"permitForAll(address,address,bool,uint256,uint256,bytes)\":{\"details\":\"payable so it can be multicalled with NATIVE related actions\",\"params\":{\"approved\":\"The permission to set on the operator\",\"deadline\":\"The deadline timestamp by which the call must be mined for the approve to work\",\"nonce\":\"a unique value, for an owner, to prevent replay attacks; an unordered nonce where the top 248 bits correspond to a word and the bottom 8 bits calculate the bit position of the word\",\"operator\":\"The address that will be set as an operator for the owner\",\"owner\":\"The address that is setting the operator\",\"signature\":\"Concatenated data from a valid secp256k1 signature from the holder, i.e. abi.encodePacked(r, s, v)\"}},\"revokeNonce(uint256)\":{\"details\":\"Used in cases where a valid nonce has not been broadcasted onchain, and the owner wants to revoke the validity of the noncepayable so it can be multicalled with native-token related actions\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Emits the ApprovalForAll event. The contract MUST allow multiple operators per owner.Override Solmate's ERC721 setApprovalForAll so setApprovalForAll() and permit() share the _approveForAll method\",\"params\":{\"approved\":\"True if the operator is approved, false to revoke approval\",\"operator\":\"Address to add to the set of authorized operators\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"InvalidContractSignature()\":[{\"notice\":\"Thrown when the recovered contract signature is incorrect\"}],\"InvalidSignature()\":[{\"notice\":\"Thrown when the recovered signer is equal to the zero address\"}],\"InvalidSignatureLength()\":[{\"notice\":\"Thrown when the passed in signature is not a valid length\"}],\"InvalidSigner()\":[{\"notice\":\"Thrown when the recovered signer does not equal the claimedSigner\"}]},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"Returns the domain separator for the current chain.\"},\"approve(address,uint256)\":{\"notice\":\"Change or reaffirm the approved address for an NFT\"},\"nonces(address,uint256)\":{\"notice\":\"mapping of nonces consumed by each address, where a nonce is a single bit on the 256-bit bitmap\"},\"permit(address,uint256,uint256,uint256,bytes)\":{\"notice\":\"Approve of a specific token ID for spending by spender via signature\"},\"permitForAll(address,address,bool,uint256,uint256,bytes)\":{\"notice\":\"Set an operator with full permission to an owner's tokens via signature\"},\"revokeNonce(uint256)\":{\"notice\":\"Revoke a nonce by spending it, preventing it from being used again\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of `msg.sender`'s assets\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockERC721Permit.sol\":\"MockERC721Permit\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/\",\":@uniswap/v4-core/=lib/v4-core/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/v4-core/lib/forge-std/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/src/\"]},\"sources\":{\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x0a546b8535127fb4a49d36d5f306fd5a8bbe6125a1852f935b9bb85a04c1acef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4b99651e2df98e283a97c46d8d1ac4eff0d6a3618e25f7f85294472a670b541c\",\"dweb:/ipfs/QmYRy5G8fXE8BfmyvGEbESEYZPPg3zJEFxHzR5GJZEMMTk\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/v4-core/lib/solmate/src/tokens/ERC721.sol\":{\"keccak256\":\"0x04af19f16f00ba65ae168d6d10da5210dc18da6bcec6974dccf984ba388aa22d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://098e69f22b67da6927e03203c12ebfda5b0490518f6d9cce7853001ac5ad8403\",\"dweb:/ipfs/QmYyzfurQe88PsVjRNfutV3gS7Vi68f7zgtVZVtLfd4ViK\"]},\"src/base/EIP712_v4.sol\":{\"keccak256\":\"0x151e85890822c1b0fe85ec3c021826cb42f615e2b9d6fcdd79019681a6ee5588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5df84221ba4fe59c8223e94bec954b7f7602d4ad81d2f0c046a67c21c1d24be\",\"dweb:/ipfs/QmbTUqqHxRxEDyrMPApozbC6DEYMZGa27dWu3KodNACiLy\"]},\"src/base/ERC721Permit_v4.sol\":{\"keccak256\":\"0xb1c3d4cc1fa0c7f9562674917d9ffdd119a1ccdb3adca44b2832d5c91c068125\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://752a8a679a9cc9e56a8e95fc1fa1d8c39a951a479b6c0b1109238f73520045df\",\"dweb:/ipfs/QmRzLo9KRcJH38Fx2xvweVmvMbTRKzyDR7R7Fui4Ca9cma\"]},\"src/base/UnorderedNonce.sol\":{\"keccak256\":\"0x0ec175bf2213d75606ebb770227e8622ae9666fbde8ff2d1682d85890b81676e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://079952902a4be56b5e963585349988fcbea853bf8271a5cb88e7629cafb06bcf\",\"dweb:/ipfs/Qmere81cd2Wq9Vq4rL5G1nW4Jv54YJeMr1oaej7468xrgi\"]},\"src/interfaces/IEIP712_v4.sol\":{\"keccak256\":\"0xd7f7115476e307a0bfc32a0f0a0f5434e9e5ca62a6c5af1e18b75e48161bb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1600b953556da38a7adc5ad2a2925ec5fb138fecf8eec48743646543195b736\",\"dweb:/ipfs/QmarZi2aiLVAfHXgnDWV1cCFiZk2DdPW7KJnWHqzuRChJR\"]},\"src/interfaces/IERC721Permit_v4.sol\":{\"keccak256\":\"0x103adbba724ef536abc536fe8a4d7dc12880724c562109b69f2adce4a91fa017\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f51b5a5a218e0bc866a83e7821be53c9db9de0ca921f16abd3d13ea0eab69d\",\"dweb:/ipfs/QmbnhLy992hpQZyphTkj7fpr6jKKVva2AzfmLiDZEuqHAk\"]},\"src/interfaces/IUnorderedNonce.sol\":{\"keccak256\":\"0xd7f32fee74dc7d1a3b078ca1263961baccaa6bf434c79e8fe0e092e30c3e0ec3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7d1e92d89d5f49c84aa82f3b259678c2c97a4473b22d753ca4411a6b0cec36d\",\"dweb:/ipfs/QmNZoQyminStaAdaLqoDLoWaBU5QWrWjXFjmBm4aFhzL8i\"]},\"src/libraries/ERC721PermitHash.sol\":{\"keccak256\":\"0xd8024f516738a1f968169875efd4ba803049c933cf6ea5e36189df9915f4e3f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58b45295f87c31f516a727a2a40ba2f34ac57ebd5520c42ea59946d2ffc0f5df\",\"dweb:/ipfs/QmW8xC2xS18r4yhGbhSJTN1DfCgPT6oKHxwwszutn2sPuz\"]},\"test/mocks/MockERC721Permit.sol\":{\"keccak256\":\"0x17483911e8a7ff9efd4259208ba0a90cce6ae20c59ebf06d60113ae7c041af17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b50dd69c1a3e8d621307395a70f66cf4c23454a52bafff3ea12ab80d409621b2\",\"dweb:/ipfs/QmSyobbJMSaFFcJG9uvvj7jVpBR6wgr6vmZYgYfmAA73hL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"InvalidContractSignature"},{"inputs":[],"type":"error","name":"InvalidSignature"},{"inputs":[],"type":"error","name":"InvalidSignatureLength"},{"inputs":[],"type":"error","name":"InvalidSigner"},{"inputs":[],"type":"error","name":"NoSelfPermit"},{"inputs":[],"type":"error","name":"NonceAlreadyUsed"},{"inputs":[],"type":"error","name":"SignatureDeadlineExpired"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"id","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"id","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lastTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"mint","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"word","type":"uint256"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"bitmap","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"stateMutability":"payable","type":"function","name":"permit"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"stateMutability":"payable","type":"function","name":"permitForAll"},{"inputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"stateMutability":"payable","type":"function","name":"revokeNonce"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"returns":{"_0":"bytes32 The domain separator"}},"approve(address,uint256)":{"details":"override Solmate's ERC721 approve so approve() and permit() share the _approve method Passing a spender address of zero can be used to remove any outstanding approvals Throws error unless `msg.sender` is the current NFT owner, or an authorized operator of the current owner.","params":{"id":"The tokenId of the NFT to approve","spender":"The new approved NFT controller"}},"permit(address,uint256,uint256,uint256,bytes)":{"details":"payable so it can be multicalled with NATIVE related actions","params":{"deadline":"The deadline timestamp by which the call must be mined for the approve to work","nonce":"a unique value, for an owner, to prevent replay attacks; an unordered nonce where the top 248 bits correspond to a word and the bottom 8 bits calculate the bit position of the word","signature":"Concatenated data from a valid secp256k1 signature from the holder, i.e. abi.encodePacked(r, s, v)","spender":"The account that is being approved","tokenId":"The ID of the token that is being approved for spending"}},"permitForAll(address,address,bool,uint256,uint256,bytes)":{"details":"payable so it can be multicalled with NATIVE related actions","params":{"approved":"The permission to set on the operator","deadline":"The deadline timestamp by which the call must be mined for the approve to work","nonce":"a unique value, for an owner, to prevent replay attacks; an unordered nonce where the top 248 bits correspond to a word and the bottom 8 bits calculate the bit position of the word","operator":"The address that will be set as an operator for the owner","owner":"The address that is setting the operator","signature":"Concatenated data from a valid secp256k1 signature from the holder, i.e. abi.encodePacked(r, s, v)"}},"revokeNonce(uint256)":{"details":"Used in cases where a valid nonce has not been broadcasted onchain, and the owner wants to revoke the validity of the noncepayable so it can be multicalled with native-token related actions"},"setApprovalForAll(address,bool)":{"details":"Emits the ApprovalForAll event. The contract MUST allow multiple operators per owner.Override Solmate's ERC721 setApprovalForAll so setApprovalForAll() and permit() share the _approveForAll method","params":{"approved":"True if the operator is approved, false to revoke approval","operator":"Address to add to the set of authorized operators"}}},"version":1},"userdoc":{"kind":"user","methods":{"DOMAIN_SEPARATOR()":{"notice":"Returns the domain separator for the current chain."},"approve(address,uint256)":{"notice":"Change or reaffirm the approved address for an NFT"},"nonces(address,uint256)":{"notice":"mapping of nonces consumed by each address, where a nonce is a single bit on the 256-bit bitmap"},"permit(address,uint256,uint256,uint256,bytes)":{"notice":"Approve of a specific token ID for spending by spender via signature"},"permitForAll(address,address,bool,uint256,uint256,bytes)":{"notice":"Set an operator with full permission to an owner's tokens via signature"},"revokeNonce(uint256)":{"notice":"Revoke a nonce by spending it, preventing it from being used again"},"setApprovalForAll(address,bool)":{"notice":"Enable or disable approval for a third party (\"operator\") to manage all of `msg.sender`'s assets"}},"version":1}},"settings":{"remappings":["@ensdomains/=lib/v4-core/node_modules/@ensdomains/","@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/","@uniswap/v4-core/=lib/v4-core/","ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/v4-core/lib/forge-std/src/","hardhat/=lib/v4-core/node_modules/hardhat/","openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/","permit2/=lib/permit2/","solmate/=lib/v4-core/lib/solmate/","v4-core/=lib/v4-core/src/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"test/mocks/MockERC721Permit.sol":"MockERC721Permit"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/permit2/src/interfaces/IERC1271.sol":{"keccak256":"0x0a546b8535127fb4a49d36d5f306fd5a8bbe6125a1852f935b9bb85a04c1acef","urls":["bzz-raw://4b99651e2df98e283a97c46d8d1ac4eff0d6a3618e25f7f85294472a670b541c","dweb:/ipfs/QmYRy5G8fXE8BfmyvGEbESEYZPPg3zJEFxHzR5GJZEMMTk"],"license":"MIT"},"lib/permit2/src/libraries/SignatureVerification.sol":{"keccak256":"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30","urls":["bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab","dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i"],"license":"MIT"},"lib/v4-core/lib/solmate/src/tokens/ERC721.sol":{"keccak256":"0x04af19f16f00ba65ae168d6d10da5210dc18da6bcec6974dccf984ba388aa22d","urls":["bzz-raw://098e69f22b67da6927e03203c12ebfda5b0490518f6d9cce7853001ac5ad8403","dweb:/ipfs/QmYyzfurQe88PsVjRNfutV3gS7Vi68f7zgtVZVtLfd4ViK"],"license":"AGPL-3.0-only"},"src/base/EIP712_v4.sol":{"keccak256":"0x151e85890822c1b0fe85ec3c021826cb42f615e2b9d6fcdd79019681a6ee5588","urls":["bzz-raw://c5df84221ba4fe59c8223e94bec954b7f7602d4ad81d2f0c046a67c21c1d24be","dweb:/ipfs/QmbTUqqHxRxEDyrMPApozbC6DEYMZGa27dWu3KodNACiLy"],"license":"MIT"},"src/base/ERC721Permit_v4.sol":{"keccak256":"0xb1c3d4cc1fa0c7f9562674917d9ffdd119a1ccdb3adca44b2832d5c91c068125","urls":["bzz-raw://752a8a679a9cc9e56a8e95fc1fa1d8c39a951a479b6c0b1109238f73520045df","dweb:/ipfs/QmRzLo9KRcJH38Fx2xvweVmvMbTRKzyDR7R7Fui4Ca9cma"],"license":"MIT"},"src/base/UnorderedNonce.sol":{"keccak256":"0x0ec175bf2213d75606ebb770227e8622ae9666fbde8ff2d1682d85890b81676e","urls":["bzz-raw://079952902a4be56b5e963585349988fcbea853bf8271a5cb88e7629cafb06bcf","dweb:/ipfs/Qmere81cd2Wq9Vq4rL5G1nW4Jv54YJeMr1oaej7468xrgi"],"license":"MIT"},"src/interfaces/IEIP712_v4.sol":{"keccak256":"0xd7f7115476e307a0bfc32a0f0a0f5434e9e5ca62a6c5af1e18b75e48161bb408","urls":["bzz-raw://b1600b953556da38a7adc5ad2a2925ec5fb138fecf8eec48743646543195b736","dweb:/ipfs/QmarZi2aiLVAfHXgnDWV1cCFiZk2DdPW7KJnWHqzuRChJR"],"license":"MIT"},"src/interfaces/IERC721Permit_v4.sol":{"keccak256":"0x103adbba724ef536abc536fe8a4d7dc12880724c562109b69f2adce4a91fa017","urls":["bzz-raw://06f51b5a5a218e0bc866a83e7821be53c9db9de0ca921f16abd3d13ea0eab69d","dweb:/ipfs/QmbnhLy992hpQZyphTkj7fpr6jKKVva2AzfmLiDZEuqHAk"],"license":"MIT"},"src/interfaces/IUnorderedNonce.sol":{"keccak256":"0xd7f32fee74dc7d1a3b078ca1263961baccaa6bf434c79e8fe0e092e30c3e0ec3","urls":["bzz-raw://e7d1e92d89d5f49c84aa82f3b259678c2c97a4473b22d753ca4411a6b0cec36d","dweb:/ipfs/QmNZoQyminStaAdaLqoDLoWaBU5QWrWjXFjmBm4aFhzL8i"],"license":"MIT"},"src/libraries/ERC721PermitHash.sol":{"keccak256":"0xd8024f516738a1f968169875efd4ba803049c933cf6ea5e36189df9915f4e3f2","urls":["bzz-raw://58b45295f87c31f516a727a2a40ba2f34ac57ebd5520c42ea59946d2ffc0f5df","dweb:/ipfs/QmW8xC2xS18r4yhGbhSJTN1DfCgPT6oKHxwwszutn2sPuz"],"license":"MIT"},"test/mocks/MockERC721Permit.sol":{"keccak256":"0x17483911e8a7ff9efd4259208ba0a90cce6ae20c59ebf06d60113ae7c041af17","urls":["bzz-raw://b50dd69c1a3e8d621307395a70f66cf4c23454a52bafff3ea12ab80d409621b2","dweb:/ipfs/QmSyobbJMSaFFcJG9uvvj7jVpBR6wgr6vmZYgYfmAA73hL"],"license":"MIT"}},"version":1},"id":221}