[ { "inputs": [ { "internalType": "address", "name": "_usdc", "type": "address" }, { "internalType": "address", "name": "_feed", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "InvalidQueryRange", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "_usdPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disablePublicMinting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "distribute", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enablePublicMinting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "explicitOwnershipOf", "outputs": [ { "components": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "uint64", "name": "startTimestamp", "type": "uint64" }, { "internalType": "bool", "name": "burned", "type": "bool" }, { "internalType": "uint24", "name": "extraData", "type": "uint24" } ], "internalType": "struct IERC721A.TokenOwnership", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" } ], "name": "explicitOwnershipsOf", "outputs": [ { "components": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "uint64", "name": "startTimestamp", "type": "uint64" }, { "internalType": "bool", "name": "burned", "type": "bool" }, { "internalType": "uint24", "name": "extraData", "type": "uint24" } ], "internalType": "struct IERC721A.TokenOwnership[]", "name": "", "type": "tuple[]" } ], "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" } ], "name": "getAux", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "ownerMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "publicMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "publicMintingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "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": "address", "name": "owner", "type": "address" }, { "internalType": "uint64", "name": "aux", "type": "uint64" } ], "name": "setAux", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newExtention", "type": "string" } ], "name": "setURIExtention", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newPrice", "type": "uint256" } ], "name": "setUSDPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "tokensOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "start", "type": "uint256" }, { "internalType": "uint256", "name": "stop", "type": "uint256" } ], "name": "tokensOfOwnerIn", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "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" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
600f805460ff19169055610100604052600460c09081526375726c2f60e01b60e052601090620000309082620003c6565b50604080518082019091526005815264173539b7b760d91b60208201526011906200005c9082620003c6565b503480156200006a57600080fd5b506040516200400f3803806200400f8339810160408190526200008d91620004af565b6040518060400160405280600981526020016812185b185b185b999d60ba1b815250604051806040016040528060048152602001631213919560e21b8152508160039081620000dd9190620003c6565b506004620000ec8282620003c6565b50506001805550620000fe33620001ac565b6001600d556001600160a01b03808316608052811660a08190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa15801562000154573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017a9190620004e7565b6200018790600a62000628565b620001949060c762000639565b600e55620001a43360fa620001ca565b505062000653565b600a80546001600160a01b0319169055620001c781620002cf565b50565b6127106001600160601b03821611156200023e5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b038216620002965760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c696420726563656976657200000000000000604482015260640162000235565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200034c57607f821691505b6020821081036200036d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003c157600081815260208120601f850160051c810160208610156200039c5750805b601f850160051c820191505b81811015620003bd57828155600101620003a8565b5050505b505050565b81516001600160401b03811115620003e257620003e262000321565b620003fa81620003f3845462000337565b8462000373565b602080601f831160018114620004325760008415620004195750858301515b600019600386901b1c1916600185901b178555620003bd565b600085815260208120601f198616915b82811015620004635788860151825594840194600190910190840162000442565b5085821015620004825787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80516001600160a01b0381168114620004aa57600080fd5b919050565b60008060408385031215620004c357600080fd5b620004ce8362000492565b9150620004de6020840162000492565b90509250929050565b600060208284031215620004fa57600080fd5b815160ff811681146200050c57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200056a5781600019048211156200054e576200054e62000513565b808516156200055c57918102915b93841c93908002906200052e565b509250929050565b600082620005835750600162000622565b81620005925750600062000622565b8160018114620005ab5760028114620005b657620005d6565b600191505062000622565b60ff841115620005ca57620005ca62000513565b50506001821b62000622565b5060208310610133831016604e8410600b8410161715620005fb575081810a62000622565b62000607838362000529565b80600019048211156200061e576200061e62000513565b0290505b92915050565b60006200050c60ff84168362000572565b808202811582820484141762000622576200062262000513565b60805160a051613965620006aa60003960008181610b090152611b850152600081816120440152818161218d01528181612644015281816127da015281816128a6015281816129720152612a3e01526139656000f3fe60806040526004361061026a5760003560e01c8063715018a611610153578063b88d4fde116100cb578063e4fc6b6d1161007f578063eb91d37e11610064578063eb91d37e14610742578063f2fde38b14610757578063f7beb98a1461077757600080fd5b8063e4fc6b6d146106d7578063e985e9c5146106ec57600080fd5b8063c23dc68f116100b0578063c23dc68f1461065f578063c87b56dd1461068c578063e30c3978146106ac57600080fd5b8063b88d4fde14610613578063bf0b175e1461062657600080fd5b80638dec9f7a1161012257806395d89b411161010757806395d89b41146105be57806399a2557a146105d3578063a22cb465146105f357600080fd5b80638dec9f7a1461058f5780639190ad47146105a957600080fd5b8063715018a61461050d57806379ba5097146105225780638462151c146105375780638da5cb5b1461056457600080fd5b80632db11544116101e6578063484b973c116101b55780635bbb21771161019a5780635bbb2177146104a05780636352211e146104cd57806370a08231146104ed57600080fd5b8063484b973c1461046057806355f804b31461048057600080fd5b80632db11544146103fa57806342842e0e1461040d5780634408a04614610420578063453ab1411461044057600080fd5b8063147d959a1161023d5780631a16aacd116102225780631a16aacd1461038557806323b872dd1461039b5780632a55205a146103ae57600080fd5b8063147d959a1461032057806318160ddd1461034057600080fd5b806301ffc9a71461026f57806306fdde03146102a4578063081812fc146102c6578063095ea7b31461030b575b600080fd5b34801561027b57600080fd5b5061028f61028a366004612e17565b61078c565b60405190151581526020015b60405180910390f35b3480156102b057600080fd5b506102b9610918565b60405161029b9190612ea2565b3480156102d257600080fd5b506102e66102e1366004612eb5565b6109aa565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161029b565b61031e610319366004612ef7565b610a14565b005b34801561032c57600080fd5b5061031e61033b366004612eb5565b610aff565b34801561034c57600080fd5b50600254600154037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b60405190815260200161029b565b34801561039157600080fd5b50610377600e5481565b61031e6103a9366004612f21565b610bb1565b3480156103ba57600080fd5b506103ce6103c9366004612f5d565b610e41565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161029b565b61031e610408366004612eb5565b610f38565b61031e61041b366004612f21565b61129b565b34801561042c57600080fd5b5061031e61043b366004612f7f565b6112bb565b34801561044c57600080fd5b5061031e61045b366004612ff1565b6112d0565b34801561046c57600080fd5b5061031e61047b366004612ef7565b611327565b34801561048c57600080fd5b5061031e61049b366004612f7f565b611339565b3480156104ac57600080fd5b506104c06104bb366004613035565b61134e565b60405161029b9190613098565b3480156104d957600080fd5b506102e66104e8366004612eb5565b611438565b3480156104f957600080fd5b50610377610508366004613122565b611443565b34801561051957600080fd5b5061031e6114c5565b34801561052e57600080fd5b5061031e611529565b34801561054357600080fd5b50610557610552366004613122565b6115de565b60405161029b919061313d565b34801561057057600080fd5b5060095473ffffffffffffffffffffffffffffffffffffffff166102e6565b34801561059b57600080fd5b50600f5461028f9060ff1681565b3480156105b557600080fd5b5061031e611709565b3480156105ca57600080fd5b506102b961173b565b3480156105df57600080fd5b506105576105ee366004613175565b61174a565b3480156105ff57600080fd5b5061031e61060e3660046131b6565b611912565b61031e610621366004613211565b6119a9565b34801561063257600080fd5b50610646610641366004613122565b611a19565b60405167ffffffffffffffff909116815260200161029b565b34801561066b57600080fd5b5061067f61067a366004612eb5565b611a47565b60405161029b919061330b565b34801561069857600080fd5b506102b96106a7366004612eb5565b611acf565b3480156106b857600080fd5b50600a5473ffffffffffffffffffffffffffffffffffffffff166102e6565b3480156106e357600080fd5b5061031e611b6e565b3480156106f857600080fd5b5061028f61070736600461335d565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260086020908152604080832093909416825291909152205460ff1690565b34801561074e57600080fd5b50610377611b7e565b34801561076357600080fd5b5061031e610772366004613122565b611d45565b34801561078357600080fd5b5061031e611df5565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f8446a79e00000000000000000000000000000000000000000000000000000000148061081f57507fffffffff0000000000000000000000000000000000000000000000000000000082167fc21b8f2800000000000000000000000000000000000000000000000000000000145b8061086b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f36372b0700000000000000000000000000000000000000000000000000000000145b806108b757507fffffffff0000000000000000000000000000000000000000000000000000000082167f2baae9fd00000000000000000000000000000000000000000000000000000000145b8061090357507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b80610912575061091282611e2a565b92915050565b60606003805461092790613390565b80601f016020809104026020016040519081016040528092919081815260200182805461095390613390565b80156109a05780601f10610975576101008083540402835291602001916109a0565b820191906000526020600020905b81548152906001019060200180831161098357829003601f168201915b5050505050905090565b60006109b582611e80565b6109eb576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526007602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000610a1f82611438565b90503373ffffffffffffffffffffffffffffffffffffffff821614610a7e57610a488133610707565b610a7e576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b610b07611ece565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9691906133e3565b610ba190600a613555565b610bab9082613564565b600e5550565b6000610bbc82611f4f565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c23576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260076020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417610c9657610c608633610707565b610c96576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610ce3576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610cee57600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600560205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610ddd57600184016000818152600560205260408120549003610ddb576001548114610ddb5760008181526005602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b6000828152600c6020908152604080832081518083019092525473ffffffffffffffffffffffffffffffffffffffff8116808352740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff16928201929092528291610efc575060408051808201909152600b5473ffffffffffffffffffffffffffffffffffffffff811682527401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1660208201525b602081015160009061271090610f20906bffffffffffffffffffffffff1687613564565b610f2a919061357b565b915196919550909350505050565b333214610fa6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7075626c69633a20626f74206973206e6f7420616c6c6f77656400000000000060448201526064015b60405180910390fd5b600254600154610bb99190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011061103b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f7075626c69633a20737570706c792065786365656465640000000000000000006044820152606401610f9d565b600681106110cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f7075626c69633a2063616e6e6f74206d696e746564206d6f7265207468616e2060448201527f35000000000000000000000000000000000000000000000000000000000000006064820152608401610f9d565b600f5460ff16611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f7075626c69633a206d696e74696e67206973206e6f7420656e61626c656400006044820152606401610f9d565b6002546001546101b99190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01101561120b576002546001546101b9918391037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016111a491906135b6565b1061120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d696e7420457863656564732050726573616c6520416c6c6f77616e636500006044820152606401610f9d565b6000611215611b7e565b90506112296112248383613564565b61200e565b611233338361229b565b61124060016101b96135c9565b600254600154037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff010361129757600f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b5050565b6112b6838383604051806020016040528060008152506119a9565b505050565b6112c3611ece565b60116112b6828483613622565b6112d8611ece565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600660205260409020805460c083901b77ffffffffffffffffffffffffffffffffffffffffffffffff9091161790555050565b61132f611ece565b611297828261229b565b611341611ece565b60106112b6828483613622565b60608160008167ffffffffffffffff81111561136c5761136c6131e2565b6040519080825280602002602001820160405280156113dc57816020015b6040805160808101825260008082526020808301829052928201819052606082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161138a5790505b50905060005b82811461142f5761140a8686838181106113fe576113fe61373c565b90506020020135611a47565b82828151811061141c5761141c61373c565b60209081029190910101526001016113e2565b50949350505050565b600061091282611f4f565b600073ffffffffffffffffffffffffffffffffffffffff8216611492576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205467ffffffffffffffff1690565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f63616e6e6f742072656e6f756e636500000000000000000000000000000000006044820152606401610f9d565b565b600a54339073ffffffffffffffffffffffffffffffffffffffff1681146115d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152608401610f9d565b6115db816122b5565b50565b606060008060006115ee85611443565b905060008167ffffffffffffffff81111561160b5761160b6131e2565b604051908082528060200260200182016040528015611634578160200160208202803683370190505b5060408051608081018252600080825260208201819052918101829052606081019190915290915060015b8386146116fd5761166f816122e6565b915081604001516116f557815173ffffffffffffffffffffffffffffffffffffffff161561169c57815194505b8773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036116f557808387806001019850815181106116e8576116e861373c565b6020026020010181815250505b60010161165f565b50909695505050505050565b611711611ece565b600f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60606004805461092790613390565b6060818310611785576040517f32c1995a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061179160015490565b905060018510156117a157600194505b808411156117ad578093505b60006117b887611443565b9050848610156117d757858503818110156117d1578091505b506117db565b5060005b60008167ffffffffffffffff8111156117f6576117f66131e2565b60405190808252806020026020018201604052801561181f578160200160208202803683370190505b5090508160000361183557935061190b92505050565b600061184088611a47565b905060008160400151611851575080515b885b8881141580156118635750848714155b156118ff57611871816122e6565b925082604001516118f757825173ffffffffffffffffffffffffffffffffffffffff161561189e57825191505b8a73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118f757808488806001019950815181106118ea576118ea61373c565b6020026020010181815250505b600101611853565b50505092835250909150505b9392505050565b33600081815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6119b4848484610bb1565b73ffffffffffffffffffffffffffffffffffffffff83163b15611a13576119dd8484848461238b565b611a13576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526006602052604081205460c01c610912565b6040805160808101825260008082526020820181905291810182905260608101919091526040805160808101825260008082526020820181905291810182905260608101919091526001831080611aa057506001548310155b15611aab5792915050565b611ab4836122e6565b9050806040015115611ac65792915050565b61190b83612504565b6060611ada82611e80565b611b10576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611b1a6125a2565b90508051600003611b3a576040518060200160405280600081525061190b565b80611b44846125b1565b6011604051602001611b589392919061376b565b6040516020818303038152906040529392505050565b611b76611ece565b611527612613565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c129190613843565b5093505092505060008213611ca9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f466565642070726963652073686f756c6420626520677265617465722074686160448201527f6e203000000000000000000000000000000000000000000000000000000000006064820152608401610f9d565b611cb662015180426135c9565b8111611d1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f5374616c652050726963650000000000000000000000000000000000000000006044820152606401610f9d565b600082600e54611d2e919061357b565b9050611d3d81620f4240613564565b935050505090565b611d4d611ece565b600a805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611db060095473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b611dfd611ece565b600f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2a55205a000000000000000000000000000000000000000000000000000000001480610912575061091282612ac0565b600081600111158015611e94575060015482105b80156109125750506000908152600560205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b60095473ffffffffffffffffffffffffffffffffffffffff163314611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f9d565b60008180600111611fdc57600154811015611fdc57600081815260056020526040812054907c010000000000000000000000000000000000000000000000000000000082169003611fda575b8060000361190b57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01600081815260056020526040902054611f9b565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015281907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063dd62ed3e90604401602060405180830381865afa1580156120a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c49190613893565b1015612152576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f7472616e73666572496e3a20696e73756666696369656e7420616c6c6f77616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610f9d565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd906064016020604051808303816000875af11580156121eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220f91906138ac565b6115db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f7472616e7366657246726f6d3a2063616e6e6f74207472616e7366657220746f60448201527f6b656e00000000000000000000000000000000000000000000000000000000006064820152608401610f9d565b611297828260405180602001604052806000815250612ba1565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556115db81612c34565b604080516080810182526000808252602082018190529181018290526060810191909152600082815260056020526040902054610912906040805160808101825273ffffffffffffffffffffffffffffffffffffffff8316815260a083901c67ffffffffffffffff1660208201527c0100000000000000000000000000000000000000000000000000000000831615159181019190915260e89190911c606082015290565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906123e69033908990889088906004016138c9565b6020604051808303816000875af192505050801561243f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261243c91810190613912565b60015b6124b6573d80801561246d576040519150601f19603f3d011682016040523d82523d6000602084013e612472565b606091505b5080516000036124ae576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915261091261253483611f4f565b6040805160808101825273ffffffffffffffffffffffffffffffffffffffff8316815260a083901c67ffffffffffffffff1660208201527c0100000000000000000000000000000000000000000000000000000000831615159181019190915260e89190911c606082015290565b60606010805461092790613390565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a9004806125cb57508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156126a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126c49190613893565b905060008111612730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f205553444320746f206469737472696275746500000000000000000000006044820152606401610f9d565b6000600561273f836003613564565b612749919061357b565b90506000612758600a8461357b565b905060006014612769856003613564565b612773919061357b565b905060006014612784866003613564565b61278e919061357b565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273b85885977d5daf4d6768afc670c14a5fc209b8e96004820152602481018690529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af1158015612838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061285c91906138ac565b506040517fa9059cbb000000000000000000000000000000000000000000000000000000008152736a07f68a60eb5890947a5af40f3ea928447d55276004820152602481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af1158015612904573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292891906138ac565b506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081527342ef5475eb5951b92ce28dccecb720654623fcb26004820152602481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af11580156129d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f491906138ac565b506040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273742a1b678a34f9e79ff4468968ffed99676ad3dc6004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af1158015612a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3991906138ac565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480612b5357507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806109125750507fffffffff00000000000000000000000000000000000000000000000000000000167f5b5e139f000000000000000000000000000000000000000000000000000000001490565b612bab8383612cab565b73ffffffffffffffffffffffffffffffffffffffff83163b156112b6576001548281035b612be2600086838060010194508661238b565b612c18576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110612bcf578160015414612c2d57600080fd5b5050505050565b6009805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001546000829003612ce9576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831660008181526006602090815260408083208054680100000000000000018802019055848352600590915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114612da557808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101612d6d565b5081600003612de0576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015550505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146115db57600080fd5b600060208284031215612e2957600080fd5b813561190b81612de9565b60005b83811015612e4f578181015183820152602001612e37565b50506000910152565b60008151808452612e70816020860160208601612e34565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061190b6020830184612e58565b600060208284031215612ec757600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612ef257600080fd5b919050565b60008060408385031215612f0a57600080fd5b612f1383612ece565b946020939093013593505050565b600080600060608486031215612f3657600080fd5b612f3f84612ece565b9250612f4d60208501612ece565b9150604084013590509250925092565b60008060408385031215612f7057600080fd5b50508035926020909101359150565b60008060208385031215612f9257600080fd5b823567ffffffffffffffff80821115612faa57600080fd5b818501915085601f830112612fbe57600080fd5b813581811115612fcd57600080fd5b866020828501011115612fdf57600080fd5b60209290920196919550909350505050565b6000806040838503121561300457600080fd5b61300d83612ece565b9150602083013567ffffffffffffffff8116811461302a57600080fd5b809150509250929050565b6000806020838503121561304857600080fd5b823567ffffffffffffffff8082111561306057600080fd5b818501915085601f83011261307457600080fd5b81358181111561308357600080fd5b8660208260051b8501011115612fdf57600080fd5b6020808252825182820181905260009190848201906040850190845b818110156116fd5761310f83855173ffffffffffffffffffffffffffffffffffffffff815116825267ffffffffffffffff602082015116602083015260408101511515604083015262ffffff60608201511660608301525050565b92840192608092909201916001016130b4565b60006020828403121561313457600080fd5b61190b82612ece565b6020808252825182820181905260009190848201906040850190845b818110156116fd57835183529284019291840191600101613159565b60008060006060848603121561318a57600080fd5b61319384612ece565b95602085013595506040909401359392505050565b80151581146115db57600080fd5b600080604083850312156131c957600080fd5b6131d283612ece565b9150602083013561302a816131a8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561322757600080fd5b61323085612ece565b935061323e60208601612ece565b925060408501359150606085013567ffffffffffffffff8082111561326257600080fd5b818701915087601f83011261327657600080fd5b813581811115613288576132886131e2565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156132ce576132ce6131e2565b816040528281528a60208487010111156132e757600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b815173ffffffffffffffffffffffffffffffffffffffff16815260208083015167ffffffffffffffff169082015260408083015115159082015260608083015162ffffff169082015260808101610912565b6000806040838503121561337057600080fd5b61337983612ece565b915061338760208401612ece565b90509250929050565b600181811c908216806133a457607f821691505b6020821081036133dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000602082840312156133f557600080fd5b815160ff8116811461190b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b8085111561348e57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561347457613474613406565b8085161561348157918102915b93841c939080029061343a565b509250929050565b6000826134a557506001610912565b816134b257506000610912565b81600181146134c857600281146134d2576134ee565b6001915050610912565b60ff8411156134e3576134e3613406565b50506001821b610912565b5060208310610133831016604e8410600b8410161715613511575081810a610912565b61351b8383613435565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561354d5761354d613406565b029392505050565b600061190b60ff841683613496565b808202811582820484141761091257610912613406565b6000826135b1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8082018082111561091257610912613406565b8181038181111561091257610912613406565b601f8211156112b657600081815260208120601f850160051c810160208610156136035750805b601f850160051c820191505b81811015610e395782815560010161360f565b67ffffffffffffffff83111561363a5761363a6131e2565b61364e836136488354613390565b836135dc565b6000601f8411600181146136a0576000851561366a5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355612c2d565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156136ef57868501358255602094850194600190920191016136cf565b508682101561372a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008451602061377e8285838a01612e34565b8551918401916137918184848a01612e34565b85549201916000906137a281613390565b600182811680156137ba57600181146137ed57613819565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450613819565b896000528560002060005b84811015613811578154898201529083019087016137f8565b505082870194505b50929a9950505050505050505050565b805169ffffffffffffffffffff81168114612ef257600080fd5b600080600080600060a0868803121561385b57600080fd5b61386486613829565b945060208601519350604086015192506060860151915061388760808701613829565b90509295509295909350565b6000602082840312156138a557600080fd5b5051919050565b6000602082840312156138be57600080fd5b815161190b816131a8565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526139086080830184612e58565b9695505050505050565b60006020828403121561392457600080fd5b815161190b81612de956fea26469706673582212208d178a10f618cd273038998402545fdbd2b685c03a9274ef6524a17f4ac2a79864736f6c63430008130033000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e000000000000000000000000f096872672f44d6eba71458d74fe67f9a77a23b9