{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"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":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","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":"tokenId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"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":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"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":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ApprovalCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"ApprovalQueryForNonexistentToken","inputs":[]},{"type":"error","name":"BalanceQueryForZeroAddress","inputs":[]},{"type":"error","name":"MintERC2309QuantityExceedsLimit","inputs":[]},{"type":"error","name":"MintToZeroAddress","inputs":[]},{"type":"error","name":"MintZeroQuantity","inputs":[]},{"type":"error","name":"NotCompatibleWithSpotMints","inputs":[]},{"type":"error","name":"OwnerQueryForNonexistentToken","inputs":[]},{"type":"error","name":"OwnershipNotInitializedForExtraData","inputs":[]},{"type":"error","name":"SequentialMintExceedsLimit","inputs":[]},{"type":"error","name":"SequentialUpToTooSmall","inputs":[]},{"type":"error","name":"SpotMintTokenIdTooSmall","inputs":[]},{"type":"error","name":"TokenAlreadyExists","inputs":[]},{"type":"error","name":"TransferCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"TransferFromIncorrectOwner","inputs":[]},{"type":"error","name":"TransferToNonERC721ReceiverImplementer","inputs":[]},{"type":"error","name":"TransferToZeroAddress","inputs":[]},{"type":"error","name":"URIQueryForNonexistentToken","inputs":[]}],"bytecode":{"object":"0x60806040523461007f576114868038038061001981610097565b92833981019060408183031261007f5780516001600160401b03811161007f57826100459183016100c1565b6020820151929091906001600160401b03841161007f576100709361006a92016100c1565b906102ce565b6040516110cb90816103bb8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100bc57604052565b610083565b81601f8201121561007f578051906001600160401b0382116100bc576100f0601f8301601f1916602001610097565b928284526020838301011161007f57815f9260208093018386015e8301015290565b90600182811c92168015610140575b602083101461012c57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610121565b601f8111610156575050565b60025f5260205f20906020601f840160051c83019310610190575b601f0160051c01905b818110610185575050565b5f815560010161017a565b9091508190610171565b601f82116101a757505050565b5f5260205f20906020601f840160051c830193106101df575b601f0160051c01905b8181106101d4575050565b5f81556001016101c9565b90915081906101c0565b80519091906001600160401b0381116100bc576102128161020b600354610112565b600361019a565b602092601f821160011461025257610242929382915f92610247575b50508160011b915f199060031b1c19161790565b600355565b015190505f8061022e565b60035f52601f198216937fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f5b8681106102b6575083600195961061029e575b505050811b01600355565b01515f1960f88460031b161c191690555f8080610293565b91926020600181928685015181550194019201610280565b8051906001600160401b0382116100bc576102f3826102ee600254610112565b61014a565b602090601f83116001146103335791806103269261032e95945f926102475750508160011b915f199060031b1c19161790565b6002556101e9565b5f8055565b60025f52601f19831691907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace925f5b8181106103a2575091600193918561032e9796941061038a575b505050811b016002556101e9565b01515f1960f88460031b161c191690555f808061037c565b9293602060018192878601518155019501930161036256fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146100f457806306fdde03146100ef578063081812fc146100ea578063095ea7b3146100e557806318160ddd146100e057806323b872dd146100db57806342842e0e146100d65780636352211e146100d157806370a08231146100cc57806395d89b41146100c7578063a22cb465146100c2578063b88d4fde146100bd578063c87b56dd146100b85763e985e9c5146100b3575f80fd5b610a04565b610983565b610900565b610788565b6106d3565b610656565b61061a565b6105f6565b6105e2565b61056d565b610436565b61037a565b610250565b610127565b7fffffffff0000000000000000000000000000000000000000000000000000000081160361012357565b5f80fd5b346101235760206003193601126101235760207fffffffff00000000000000000000000000000000000000000000000000000000600435610167816100f9565b167f01ffc9a70000000000000000000000000000000000000000000000000000000081149081156101cf575b81156101a5575b506040519015158152f35b7f5b5e139f000000000000000000000000000000000000000000000000000000009150145f61019a565b7f80ac58cd0000000000000000000000000000000000000000000000000000000081149150610193565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602061024d9281815201906101f9565b90565b34610123575f600319360112610123576040515f6002548060011c9060018116908115610370575b60208310821461034357828552602085019190811561030c57506001146102ba575b6102b6846102aa81860382610880565b6040519182918261023c565b0390f35b60025f9081529250907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b8184106102f8575050016102aa8261029a565b8054848401526020909301926001016102e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682525090151560051b0190506102aa8261029a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610278565b346101235760206003193601126101235760043561039781610d32565b156103c8575f526006602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b7fcf4700e4000000000000000000000000000000000000000000000000000000005f5260045ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012357565b60406003193601126101235761044a6103f0565b6024359073ffffffffffffffffffffffffffffffffffffffff61046c83610e57565b169081330361050a575b806104e273ffffffffffffffffffffffffffffffffffffffff926104a2865f52600660205260405f2090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b16907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4005b815f52600760205260ff61053f3360405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b5416610476577fcfb3b942000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610123575f6003193601126101235760205f546001549003604051908152f35b60031960609101126101235760043573ffffffffffffffffffffffffffffffffffffffff81168103610123579060243573ffffffffffffffffffffffffffffffffffffffff81168103610123579060443590565b6105f46105ee3661058e565b91610a7c565b005b6105f46106023661058e565b9060405192610612602085610880565b5f8452610cd8565b3461012357602060031936011261012357602073ffffffffffffffffffffffffffffffffffffffff61064d600435610e57565b16604051908152f35b346101235760206003193601126101235773ffffffffffffffffffffffffffffffffffffffff6106846103f0565b1680156106ab575f526005602052602067ffffffffffffffff60405f205416604051908152f35b7f8f4eb604000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610123575f600319360112610123576040515f6003548060011c906001811690811561077e575b60208310821461034357828552602085019190811561030c575060011461072c576102b6846102aa81860382610880565b60035f9081529250907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81841061076a575050016102aa8261029a565b805484840152602090930192600101610757565b91607f16916106fb565b34610123576040600319360112610123576107a16103f0565b602435908115158092036101235773ffffffffffffffffffffffffffffffffffffffff90335f5260076020526107f88160405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff851617905560405192835216907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176108c157604052565b610853565b67ffffffffffffffff81116108c157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6080600319360112610123576109146103f0565b61091c610413565b906044356064359267ffffffffffffffff841161012357366023850112156101235783600401359261094d846108c6565b9361095b6040519586610880565b8085523660248288010111610123576020815f9260246105f499018389013786010152610cd8565b346101235760206003193601126101235761099f600435610d32565b156109dc575f6040516109b3602082610880565b526102b66040516109c5602082610880565b5f81526040519182916020835260208301906101f9565b7fa14c4b50000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461012357604060031936011261012357602060ff610a70610a246103f0565b73ffffffffffffffffffffffffffffffffffffffff610a41610413565b91165f526007845260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54166040519015158152f35b91909173ffffffffffffffffffffffffffffffffffffffff610a9d83610e57565b9116928373ffffffffffffffffffffffffffffffffffffffff831603610cd3575f83815260066020526040902080549290610af873ffffffffffffffffffffffffffffffffffffffff871633908114908614171590565b1590565b610c6d575b73ffffffffffffffffffffffffffffffffffffffff93610c64575b50610b418573ffffffffffffffffffffffffffffffffffffffff165f52600560205260405f2090565b80545f19019055610b708273ffffffffffffffffffffffffffffffffffffffff165f52600560205260405f2090565b8054600101905573ffffffffffffffffffffffffffffffffffffffff82164260a01b177c020000000000000000000000000000000000000000000000000000000017610bc4855f52600460205260405f2090565b557c0200000000000000000000000000000000000000000000000000000000811615610c1f575b501680927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a415610c1a57565b610e07565b60018401610c35815f52600460205260405f2090565b5415610c42575b50610beb565b5f548114610c3c57610c5c905f52600460205260405f2090565b555f80610c3c565b5f90555f610b18565b610cc9610af4610cc233610c9f8a73ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2090565b9073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b5460ff1690565b15610afd57610ddf565b610db7565b929190610ce6828286610a7c565b803b610cf3575b50505050565b610cfc93610f99565b15610d0a575f808080610ced565b7fd1a57ed6000000000000000000000000000000000000000000000000000000005f5260045ffd5b905f915f548110610d405750565b9091505b805f52600460205260405f205480610d9257508015610d65575f1901610d44565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7c01000000000000000000000000000000000000000000000000000000009150161590565b7fa1148100000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f59c896be000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fea553b34000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fdf2d9b42000000000000000000000000000000000000000000000000000000005f5260045ffd5b610e69815f52600460205260405f2090565b54908115610e9957507c01000000000000000000000000000000000000000000000000000000008116610e2f5790565b90505f54811015610e2f575f19905b01610ebb815f52600460205260405f2090565b54908115610f1157507c010000000000000000000000000000000000000000000000000000000081161561024d577fdf2d9b42000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f199150610ea8565b90816020910312610123575161024d816100f9565b909273ffffffffffffffffffffffffffffffffffffffff6080938161024d9796168452166020830152604082015281606082015201906101f9565b3d15610f94573d90610f7b826108c6565b91610f896040519384610880565b82523d5f602084013e565b606090565b906020925f73ffffffffffffffffffffffffffffffffffffffff610fef9694604051978896879586937f150b7a020000000000000000000000000000000000000000000000000000000085523360048601610f2f565b0393165af15f9181611064575b5061101d57611009610f6a565b80511561101857805190602001fd5b610d0a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490565b61108791925060203d60201161108e575b61107f8183610880565b810190610f1a565b905f610ffc565b503d61107556fea26469706673582212204e4f1c11a60373288dd14b67165d210a77865dc491854773af043a97b45fcc8364736f6c634300081b0033","sourceMap":"1053:48812:35:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1053:48812:35;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1053:48812:35;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;1053:48812:35;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1053:48812:35;;;-1:-1:-1;;;;;1053:48812:35;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1053:48812:35;;;;;;;;-1:-1:-1;;1053:48812:35;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;1053:48812:35;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;5327:13;-1:-1:-1;1053:48812:35;;-1:-1:-1;1053:48812:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1053:48812:35;;;;;;;;;-1:-1:-1;1053:48812:35;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1053:48812:35;;-1:-1:-1;1053:48812:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1053:48812:35;;;;;;;;;-1:-1:-1;1053:48812:35;;;;;;;;;;-1:-1:-1;;;;;1053:48812:35;;;;;;;5350:17;1053:48812;;:::i;:::-;5350:17;1053:48812;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5350:17;1053:48812;:::o;:::-;;;;-1:-1:-1;1053:48812:35;;;;;5350:17;1053:48812;;-1:-1:-1;;1053:48812:35;;;;;;;;;;;;;;;;;;;;;;;;;;;5350:17;1053:48812;:::o;:::-;;;;;;;5350:17;1053:48812;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5261:246;1053:48812;;;-1:-1:-1;;;;;1053:48812:35;;;;;;;5327:13;1053:48812;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5327:13;1053:48812;;:::i;:::-;;;;5261:246::o;1053:48812::-;5327:13;1053:48812;;-1:-1:-1;;1053:48812:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5327:13;1053:48812;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146100f457806306fdde03146100ef578063081812fc146100ea578063095ea7b3146100e557806318160ddd146100e057806323b872dd146100db57806342842e0e146100d65780636352211e146100d157806370a08231146100cc57806395d89b41146100c7578063a22cb465146100c2578063b88d4fde146100bd578063c87b56dd146100b85763e985e9c5146100b3575f80fd5b610a04565b610983565b610900565b610788565b6106d3565b610656565b61061a565b6105f6565b6105e2565b61056d565b610436565b61037a565b610250565b610127565b7fffffffff0000000000000000000000000000000000000000000000000000000081160361012357565b5f80fd5b346101235760206003193601126101235760207fffffffff00000000000000000000000000000000000000000000000000000000600435610167816100f9565b167f01ffc9a70000000000000000000000000000000000000000000000000000000081149081156101cf575b81156101a5575b506040519015158152f35b7f5b5e139f000000000000000000000000000000000000000000000000000000009150145f61019a565b7f80ac58cd0000000000000000000000000000000000000000000000000000000081149150610193565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602061024d9281815201906101f9565b90565b34610123575f600319360112610123576040515f6002548060011c9060018116908115610370575b60208310821461034357828552602085019190811561030c57506001146102ba575b6102b6846102aa81860382610880565b6040519182918261023c565b0390f35b60025f9081529250907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b8184106102f8575050016102aa8261029a565b8054848401526020909301926001016102e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682525090151560051b0190506102aa8261029a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610278565b346101235760206003193601126101235760043561039781610d32565b156103c8575f526006602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b7fcf4700e4000000000000000000000000000000000000000000000000000000005f5260045ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012357565b60406003193601126101235761044a6103f0565b6024359073ffffffffffffffffffffffffffffffffffffffff61046c83610e57565b169081330361050a575b806104e273ffffffffffffffffffffffffffffffffffffffff926104a2865f52600660205260405f2090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b16907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4005b815f52600760205260ff61053f3360405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b5416610476577fcfb3b942000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610123575f6003193601126101235760205f546001549003604051908152f35b60031960609101126101235760043573ffffffffffffffffffffffffffffffffffffffff81168103610123579060243573ffffffffffffffffffffffffffffffffffffffff81168103610123579060443590565b6105f46105ee3661058e565b91610a7c565b005b6105f46106023661058e565b9060405192610612602085610880565b5f8452610cd8565b3461012357602060031936011261012357602073ffffffffffffffffffffffffffffffffffffffff61064d600435610e57565b16604051908152f35b346101235760206003193601126101235773ffffffffffffffffffffffffffffffffffffffff6106846103f0565b1680156106ab575f526005602052602067ffffffffffffffff60405f205416604051908152f35b7f8f4eb604000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610123575f600319360112610123576040515f6003548060011c906001811690811561077e575b60208310821461034357828552602085019190811561030c575060011461072c576102b6846102aa81860382610880565b60035f9081529250907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81841061076a575050016102aa8261029a565b805484840152602090930192600101610757565b91607f16916106fb565b34610123576040600319360112610123576107a16103f0565b602435908115158092036101235773ffffffffffffffffffffffffffffffffffffffff90335f5260076020526107f88160405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff851617905560405192835216907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176108c157604052565b610853565b67ffffffffffffffff81116108c157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6080600319360112610123576109146103f0565b61091c610413565b906044356064359267ffffffffffffffff841161012357366023850112156101235783600401359261094d846108c6565b9361095b6040519586610880565b8085523660248288010111610123576020815f9260246105f499018389013786010152610cd8565b346101235760206003193601126101235761099f600435610d32565b156109dc575f6040516109b3602082610880565b526102b66040516109c5602082610880565b5f81526040519182916020835260208301906101f9565b7fa14c4b50000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461012357604060031936011261012357602060ff610a70610a246103f0565b73ffffffffffffffffffffffffffffffffffffffff610a41610413565b91165f526007845260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54166040519015158152f35b91909173ffffffffffffffffffffffffffffffffffffffff610a9d83610e57565b9116928373ffffffffffffffffffffffffffffffffffffffff831603610cd3575f83815260066020526040902080549290610af873ffffffffffffffffffffffffffffffffffffffff871633908114908614171590565b1590565b610c6d575b73ffffffffffffffffffffffffffffffffffffffff93610c64575b50610b418573ffffffffffffffffffffffffffffffffffffffff165f52600560205260405f2090565b80545f19019055610b708273ffffffffffffffffffffffffffffffffffffffff165f52600560205260405f2090565b8054600101905573ffffffffffffffffffffffffffffffffffffffff82164260a01b177c020000000000000000000000000000000000000000000000000000000017610bc4855f52600460205260405f2090565b557c0200000000000000000000000000000000000000000000000000000000811615610c1f575b501680927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a415610c1a57565b610e07565b60018401610c35815f52600460205260405f2090565b5415610c42575b50610beb565b5f548114610c3c57610c5c905f52600460205260405f2090565b555f80610c3c565b5f90555f610b18565b610cc9610af4610cc233610c9f8a73ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2090565b9073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b5460ff1690565b15610afd57610ddf565b610db7565b929190610ce6828286610a7c565b803b610cf3575b50505050565b610cfc93610f99565b15610d0a575f808080610ced565b7fd1a57ed6000000000000000000000000000000000000000000000000000000005f5260045ffd5b905f915f548110610d405750565b9091505b805f52600460205260405f205480610d9257508015610d65575f1901610d44565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7c01000000000000000000000000000000000000000000000000000000009150161590565b7fa1148100000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f59c896be000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fea553b34000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fdf2d9b42000000000000000000000000000000000000000000000000000000005f5260045ffd5b610e69815f52600460205260405f2090565b54908115610e9957507c01000000000000000000000000000000000000000000000000000000008116610e2f5790565b90505f54811015610e2f575f19905b01610ebb815f52600460205260405f2090565b54908115610f1157507c010000000000000000000000000000000000000000000000000000000081161561024d577fdf2d9b42000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f199150610ea8565b90816020910312610123575161024d816100f9565b909273ffffffffffffffffffffffffffffffffffffffff6080938161024d9796168452166020830152604082015281606082015201906101f9565b3d15610f94573d90610f7b826108c6565b91610f896040519384610880565b82523d5f602084013e565b606090565b906020925f73ffffffffffffffffffffffffffffffffffffffff610fef9694604051978896879586937f150b7a020000000000000000000000000000000000000000000000000000000085523360048601610f2f565b0393165af15f9181611064575b5061101d57611009610f6a565b80511561101857805190602001fd5b610d0a565b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490565b61108791925060203d60201161108e575b61107f8183610880565b810190610f1a565b905f610ffc565b503d61107556fea26469706673582212204e4f1c11a60373288dd14b67165d210a77865dc491854773af043a97b45fcc8364736f6c634300081b0033","sourceMap":"1053:48812:35:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;1053:48812:35;;;;;;;;;;;;:::i;:::-;;;11092:25;;:101;;;;;1053:48812;11092:177;;;;1053:48812;;;;;;;;;;11092:177;1053:48812;11244:25;;;11092:177;;;:101;1053:48812;11168:25;;;-1:-1:-1;11092:101:35;;1053:48812;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1053:48812:35;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;-1:-1:-1;;1053:48812:35;;;;;;;;11659:5;1053:48812;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;11659:5;1053:48812;;;;;-1:-1:-1;1053:48812:35;;;;;;;;-1:-1:-1;;1053:48812:35;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1053:48812:35;;;;;;;-1:-1:-1;1053:48812:35;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1053:48812:35;;;;;;;18736:16;;;:::i;:::-;18735:17;18731:73;;-1:-1:-1;1053:48812:35;18822:15;1053:48812;;;;;-1:-1:-1;1053:48812:35;;;;;;;;;18731:73;18762:41;-1:-1:-1;49766:91:35;1053:48812;-1:-1:-1;49766:91:35;1053:48812;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;1053:48812:35;;;;;;;:::i;:::-;;;13048:27;1053:48812;13048:27;;;:::i;:::-;1053:48812;47819:10;;;41521:28;41500:198;;1053:48812;41708:24;:35;1053:48812;41708:24;;;1053:48812;;41708:15;1053:48812;;;;;;;41708:24;1053:48812;;;;;;;;;;;41708:35;1053:48812;41758:28;;-1:-1:-1;41758:28:35;;1053:48812;41500:198;2943:14;-1:-1:-1;2943:14:35;19687:18;1053:48812;2943:14;1053:48812;19687:35;47819:10;1053:48812;-1:-1:-1;2943:14:35;;1053:48812;;2943:14;;;;;;;;;19687:35;1053:48812;;41500:198;41563:135;41640:42;49766:91;;;;;1053:48812;;;;;-1:-1:-1;;1053:48812:35;;;;;;;;7328:12;1053:48812;;;;;;;;;;-1:-1:-1;;1053:48812:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;:::i;:::-;;;26475:39;1053:48812;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;26475:39;:::i;1053:48812::-;;;;;-1:-1:-1;;1053:48812:35;;;;;;;13048:27;1053:48812;;13048:27;:::i;:::-;1053:48812;;;;;;;;;;;;-1:-1:-1;;1053:48812:35;;;;;;;;:::i;:::-;;8665:19;;8661:69;;-1:-1:-1;2943:14:35;8747:18;1053:48812;2943:14;1053:48812;1518:13;2943:14;-1:-1:-1;2943:14:35;1053:48812;8747:55;2943:14;1053:48812;;;;;8661:69;8694:35;-1:-1:-1;49766:91:35;1053:48812;-1:-1:-1;49766:91:35;1053:48812;;;;;-1:-1:-1;;1053:48812:35;;;;;;;;11830:7;1053:48812;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11830:7;1053:48812;;;;;-1:-1:-1;1053:48812:35;;;;;;;;-1:-1:-1;;1053:48812:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1053:48812:35;;;;;;;:::i;:::-;;;;;;;;;;;;;47819:10;;-1:-1:-1;2943:14:35;19280:18;1053:48812;2943:14;19280:49;2943:14;1053:48812;-1:-1:-1;2943:14:35;;1053:48812;;2943:14;;;;;;;;;19280:49;1053:48812;;;;;;;;;;;;;;;;47819:10;19355:55;1053:48812;47819:10;19355:55;;1053:48812;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;1053:48812:35;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;1053:48812:35;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;1053:48812:35;;;;;12048:16;1053:48812;;12048:16;:::i;:::-;12047:17;12043:68;;-1:-1:-1;1053:48812:35;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;12173:87;1053:48812;;;;;;;;;;;;;;;:::i;12043:68::-;12074:36;-1:-1:-1;49766:91:35;1053:48812;-1:-1:-1;49766:91:35;1053:48812;;;;;-1:-1:-1;;1053:48812:35;;;;;;;19687:35;1053:48812;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;2943:14:35;19687:18;2943:14;;1053:48812;-1:-1:-1;2943:14:35;;1053:48812;;2943:14;;;;;;;;;19687:35;1053:48812;;;;;;;;;;22796:3447;;;;1053:48812;22963:27;;;:::i;:::-;1053:48812;;;;;;;23173:45;23169:95;;-1:-1:-1;1053:48812:35;;;21929:15;1053:48812;;;;;22057:132;;47819:10;;23463:69;21135:472;;;47819:10;21135:472;;;;;;;23463:69;;1053:48812;23464:68;23463:69;;1053:48812;23463:69;23459:188;;22796:3447;1053:48812;23764:190;;;22796:3447;24316:24;;;1053:48812;;2943:14;;24316:18;2943:14;;;;;;;24316:24;1053:48812;;-1:-1:-1;;2943:14:35;;;24384:22;;1053:48812;;2943:14;;24316:18;2943:14;;;;;;;24384:22;1053:48812;;2943:14;;;;17192:331;;;;;;;2550:8;17192:331;24670:26;;1053:48812;;24670:17;1053:48812;;;;;;;24670:26;2943:14;2550:8;24959:47;;:52;24955:617;;22796:3447;1053:48812;;25749:367;;;-1:-1:-1;25749:367:35;;26129:13;26125:58;;22796:3447::o;26125:58::-;26152:30;:::i;24955:617::-;25063:1;1053:48812;;25184:30;;1053:48812;;24670:17;1053:48812;;;;;;;25184:30;1053:48812;25184:35;25180:378;;24955:617;;;;25180:378;-1:-1:-1;1053:48812:35;25301:239;;25180:378;25301:239;25465:30;;1053:48812;;24670:17;1053:48812;;;;;;;25465:30;2943:14;25301:239;;25180:378;;23764:190;;;;;;;23459:188;23550:44;19687:35;;47819:10;19687:25;;1053:48812;;2943:14;;19687:18;2943:14;;;;;;;19687:25;2943:14;1053:48812;;2943:14;;;;;;;;;19687:35;1053:48812;;;;;23550:44;23546:101;23459:188;23546:101;23604:42;:::i;23169:95::-;23228:35;:::i;27102:405::-;;;;27294:7;;;;;:::i;:::-;27316:14;;27312:189;;27102:405;;;;;:::o;27312:189::-;27354:56;;;:::i;:::-;27353:57;27349:152;;27312:189;;;;;;27349:152;27438:47;27334:1;49766:91;;27334:1;49766:91;19978:465;;1053:48812;;;;20221:23;;20217:210;;19978:465;:::o;20217:210::-;20264:14;;;20296:60;1053:48812;;;20313:17;1053:48812;;;;;;20303:42;;;20347:9;1053:48812;;;;-1:-1:-1;;1053:48812:35;20296:60;;1053:48812;;;;;20313:17;1053:48812;;;;20303:42;2276:8;20303:42;;20383:24;:29;20217:210;19978:465::o;49703:160::-;23228:35;49766:91;;;;;49703:160;23604:42;49766:91;;;;;49703:160;26152:30;49766:91;;;;;49703:160;14916:38;49766:91;;;;;14380:2173;14528:26;;1053:48812;;24670:17;1053:48812;;;;;;;14528:26;1053:48812;14847:11;;;14843:1270;;16435:24;2276:8;16435:24;;16507:38;16431:48;16466:13;:::o;14843:1270::-;1053:48812;;;;14882:24;;;14878:77;;-1:-1:-1;;15502:597:35;;2943:14;15578:28;;1053:48812;;24670:17;1053:48812;;;;;;;15578:28;1053:48812;15654:11;;;15650:25;;15701:24;2276:8;15701:24;;:29;15697:48;;14916:38;49766:91;;;;;15650:25;-1:-1:-1;;6488:17:35;-1:-1:-1;15502:597:35;;1053:48812;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1053:48812:35;;;;:::o;:::-;;;:::o;29533:673::-;;29711:88;29533:673;1053:48812;;29711:88;29533:673;;1053:48812;;29711:88;;;;;;;1053:48812;29711:88;;47819:10;29711:88;;;;:::i;:::-;;1053:48812;;29711:88;;1053:48812;;29711:88;;;29533:673;-1:-1:-1;29707:493:35;;29943:257;;:::i;:::-;1053:48812;;29989:18;29985:113;;30111:79;;;29711:88;30111:79;;29985:113;30035:47;:::i;29707:493::-;1053:48812;;;29867:64;;29860:71::o;29711:88::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ApprovalCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ApprovalQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BalanceQueryForZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintERC2309QuantityExceedsLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MintZeroQuantity\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotCompatibleWithSpotMints\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerQueryForNonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnershipNotInitializedForExtraData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequentialMintExceedsLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequentialUpToTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpotMintTokenIdTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferCallerNotOwnerNorApproved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFromIncorrectOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToNonERC721ReceiverImplementer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferToZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"URIQueryForNonexistentToken\",\"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\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":\"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\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"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\":\"payable\",\"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\":\"payable\",\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the [ERC721](https://eips.ethereum.org/EIPS/eip-721) Non-Fungible Token Standard, including the Metadata extension. Optimized for lower gas during batch mints. Token IDs are minted in sequential order (e.g. 0, 1, 2, 3, ...) starting from `_startTokenId()`. The `_sequentialUpTo()` function can be overriden to enable spot mints (i.e. non-consecutive mints) for `tokenId`s greater than `_sequentialUpTo()`. Assumptions: - An owner cannot have more than 2**64 - 1 (max value of uint64) of supply. - The maximum token ID cannot exceed 2**256 - 1 (max value of uint256).\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"ConsecutiveTransfer(uint256,uint256,address,address)\":{\"details\":\"Emitted when tokens in `fromTokenId` to `toTokenId` (inclusive) is transferred from `from` to `to`, as defined in the [ERC2309](https://eips.ethereum.org/EIPS/eip-2309) standard. See {_mintERC2309} for more details.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. See {ERC721A-_approve}. Requirements: - The caller must own the token or be an approved operator.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in `owner`'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}.\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Equivalent to `safeTransferFrom(from, to, tokenId, '')`.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. This function call must use less than 30000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"totalSupply()\":{\"details\":\"Returns the total number of tokens in existence. Burned tokens will reduce the count. To get the total number of tokens minted, please see {_totalMinted}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC721A\",\"version\":1},\"userdoc\":{\"errors\":{\"ApprovalCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"ApprovalQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"BalanceQueryForZeroAddress()\":[{\"notice\":\"Cannot query the balance for the zero address.\"}],\"MintERC2309QuantityExceedsLimit()\":[{\"notice\":\"The `quantity` minted with ERC2309 exceeds the safety limit.\"}],\"MintToZeroAddress()\":[{\"notice\":\"Cannot mint to the zero address.\"}],\"MintZeroQuantity()\":[{\"notice\":\"The quantity of tokens minted must be more than zero.\"}],\"NotCompatibleWithSpotMints()\":[{\"notice\":\"The feature is not compatible with spot mints.\"}],\"OwnerQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}],\"OwnershipNotInitializedForExtraData()\":[{\"notice\":\"The `extraData` cannot be set on an unintialized ownership slot.\"}],\"SequentialMintExceedsLimit()\":[{\"notice\":\"The `tokenId` of a sequential mint exceeds `_sequentialUpTo()`.\"}],\"SequentialUpToTooSmall()\":[{\"notice\":\"`_sequentialUpTo()` must be greater than `_startTokenId()`.\"}],\"SpotMintTokenIdTooSmall()\":[{\"notice\":\"Spot minting requires a `tokenId` greater than `_sequentialUpTo()`.\"}],\"TokenAlreadyExists()\":[{\"notice\":\"Cannot mint over a token that already exists.\"}],\"TransferCallerNotOwnerNorApproved()\":[{\"notice\":\"The caller must own the token or be an approved operator.\"}],\"TransferFromIncorrectOwner()\":[{\"notice\":\"The token must be owned by `from`.\"}],\"TransferToNonERC721ReceiverImplementer()\":[{\"notice\":\"Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.\"}],\"TransferToZeroAddress()\":[{\"notice\":\"Cannot transfer to the zero address.\"}],\"URIQueryForNonexistentToken()\":[{\"notice\":\"The token does not exist.\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/erc721a/contracts/ERC721A.sol\":\"ERC721A\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":erc721a/=node_modules/erc721a/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"node_modules/erc721a/contracts/ERC721A.sol\":{\"keccak256\":\"0xede758d13ccce2f54a4bcd16816456109b290759d43988205539cf632f4c8a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b63befef8f79ec44ebe5db096767cab6772485c2b01a431759e7fcdcf7fd0bb1\",\"dweb:/ipfs/QmV45KT2ai7PnVRhpJKjB29A15VGnhsvxxBFrrUSwhe2fr\"]},\"node_modules/erc721a/contracts/IERC721A.sol\":{\"keccak256\":\"0xc9a2a00612e0d121aef3f716877ada17177d5b2d5a4c780d22cade46da2ff294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1435542fc553d2fb9181191f126a1f97e2cc5570c2459c862f54ba415a22bf02\",\"dweb:/ipfs/QmaQJ14ajkHgymY5TtoxHnpiN5u4TpwXCqKr2B6DM8SHkn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"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":"ApprovalCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"ApprovalQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"BalanceQueryForZeroAddress"},{"inputs":[],"type":"error","name":"MintERC2309QuantityExceedsLimit"},{"inputs":[],"type":"error","name":"MintToZeroAddress"},{"inputs":[],"type":"error","name":"MintZeroQuantity"},{"inputs":[],"type":"error","name":"NotCompatibleWithSpotMints"},{"inputs":[],"type":"error","name":"OwnerQueryForNonexistentToken"},{"inputs":[],"type":"error","name":"OwnershipNotInitializedForExtraData"},{"inputs":[],"type":"error","name":"SequentialMintExceedsLimit"},{"inputs":[],"type":"error","name":"SequentialUpToTooSmall"},{"inputs":[],"type":"error","name":"SpotMintTokenIdTooSmall"},{"inputs":[],"type":"error","name":"TokenAlreadyExists"},{"inputs":[],"type":"error","name":"TransferCallerNotOwnerNorApproved"},{"inputs":[],"type":"error","name":"TransferFromIncorrectOwner"},{"inputs":[],"type":"error","name":"TransferToNonERC721ReceiverImplementer"},{"inputs":[],"type":"error","name":"TransferToZeroAddress"},{"inputs":[],"type":"error","name":"URIQueryForNonexistentToken"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","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":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","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":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"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"}],"stateMutability":"payable","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":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Gives permission to `to` to transfer `tokenId` token to another account. See {ERC721A-_approve}. Requirements: - The caller must own the token or be an approved operator."},"balanceOf(address)":{"details":"Returns the number of tokens in `owner`'s account."},"getApproved(uint256)":{"details":"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."},"isApprovedForAll(address,address)":{"details":"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}."},"name()":{"details":"Returns the token collection name."},"ownerOf(uint256)":{"details":"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."},"safeTransferFrom(address,address,uint256)":{"details":"Equivalent to `safeTransferFrom(from, to, tokenId, '')`."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"setApprovalForAll(address,bool)":{"details":"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. This function call must use less than 30000 gas."},"symbol()":{"details":"Returns the token collection symbol."},"tokenURI(uint256)":{"details":"Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"totalSupply()":{"details":"Returns the total number of tokens in existence. Burned tokens will reduce the count. To get the total number of tokens minted, please see {_totalMinted}."},"transferFrom(address,address,uint256)":{"details":"Transfers `tokenId` from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","erc721a/=node_modules/erc721a/","eth-gas-reporter/=node_modules/eth-gas-reporter/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/"],"optimizer":{"enabled":true,"runs":10000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/erc721a/contracts/ERC721A.sol":"ERC721A"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"node_modules/erc721a/contracts/ERC721A.sol":{"keccak256":"0xede758d13ccce2f54a4bcd16816456109b290759d43988205539cf632f4c8a55","urls":["bzz-raw://b63befef8f79ec44ebe5db096767cab6772485c2b01a431759e7fcdcf7fd0bb1","dweb:/ipfs/QmV45KT2ai7PnVRhpJKjB29A15VGnhsvxxBFrrUSwhe2fr"],"license":"MIT"},"node_modules/erc721a/contracts/IERC721A.sol":{"keccak256":"0xc9a2a00612e0d121aef3f716877ada17177d5b2d5a4c780d22cade46da2ff294","urls":["bzz-raw://1435542fc553d2fb9181191f126a1f97e2cc5570c2459c862f54ba415a22bf02","dweb:/ipfs/QmaQJ14ajkHgymY5TtoxHnpiN5u4TpwXCqKr2B6DM8SHkn"],"license":"MIT"}},"version":1},"id":35}