[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "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": "Sweep", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addresses", "type": "address[]" } ], "name": "addFreeMinters", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenID", "type": "uint256" } ], "name": "adminMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" } ], "name": "freeMint", "outputs": [], "stateMutability": "nonpayable", "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": "_address", "type": "address" } ], "name": "hasFreeMint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "hasMintedFreeNFT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "isMinting", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mintPerTransactionLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mintPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mintStartTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nextMintID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_paused", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "placeholderURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addresses", "type": "address[]" } ], "name": "removeFreeMinters", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "setMintPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "startTime", "type": "uint256" } ], "name": "setMintStartTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_nextMintID", "type": "uint256" } ], "name": "setNextMintID", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setPlaceholderURI", "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": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "", "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": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "updateMintLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6361fb0cf0600b55611b39600c55600a600d556705d697537a8f2000600e556000600f81905560016010556011805460ff1916905560a0604081905260808290526200004f916012919062000161565b50604080516020810191829052600090819052620000709160139162000161565b503480156200007e57600080fd5b50604080518082018252600d81526c11985d0811d85a5b9688139195609a1b6020808301918252835180850190945260068452652323a0a4a72d60d11b908401528151919291620000d29160009162000161565b508051620000e890600190602084019062000161565b50505062000105620000ff6200010b60201b60201c565b6200010f565b62000244565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200016f9062000207565b90600052602060002090601f016020900481019282620001935760008555620001de565b82601f10620001ae57805160ff1916838001178555620001de565b82800160010185558215620001de579182015b82811115620001de578251825591602001919060010190620001c1565b50620001ec929150620001f0565b5090565b5b80821115620001ec5760008155600101620001f1565b600181811c908216806200021c57607f821691505b602082108114156200023e57634e487b7160e01b600052602260045260246000fd5b50919050565b612b7d80620002546000396000f3fe6080604052600436106102675760003560e01c80637088fb7f11610144578063d52079b4116100b6578063e985e9c51161007a578063e985e9c5146106cd578063f0ff936c14610716578063f2fde38b14610746578063f440798614610766578063f4a0a52814610786578063fa07ce1d146107a657600080fd5b8063d52079b414610637578063d5b3621b1461064d578063d5cde1f21461066d578063e01d55c51461068d578063e58306f9146106ad57600080fd5b8063931e2e4911610108578063931e2e491461059657806395d89b41146105ac578063996517cf146105c1578063a22cb465146105d7578063b88d4fde146105f7578063c87b56dd1461061757600080fd5b80637088fb7f1461051957806370a082311461052e578063715018a61461054e5780637313cba9146105635780638da5cb5b1461057857600080fd5b80633574a2dd116101dd5780634f6ccce7116101a15780634f6ccce71461047457806355f804b3146104945780635c975abb146104b45780636352211e146104ce5780636817c76c146104ee5780636c0360eb1461050457600080fd5b80633574a2dd146103e15780633bbd9e65146104015780633d89b1331461042157806340c10f191461044157806342842e0e1461045457600080fd5b80630cc8b19d1161022f5780630cc8b19d1461033d57806318160ddd1461036157806323b872dd146103765780632a8092df146103965780632c049c70146103ab5780632f745c59146103c157600080fd5b806301ffc9a71461026c57806302329a29146102a157806306fdde03146102c3578063081812fc146102e5578063095ea7b31461031d575b600080fd5b34801561027857600080fd5b5061028c610287366004612706565b6107c6565b60405190151581526020015b60405180910390f35b3480156102ad57600080fd5b506102c16102bc3660046126ec565b6107f1565b005b3480156102cf57600080fd5b506102d8610837565b60405161029891906128db565b3480156102f157600080fd5b50610305610300366004612784565b6108c9565b6040516001600160a01b039091168152602001610298565b34801561032957600080fd5b506102c1610338366004612614565b61095e565b34801561034957600080fd5b5061035360105481565b604051908152602001610298565b34801561036d57600080fd5b50600854610353565b34801561038257600080fd5b506102c1610391366004612537565b610a74565b3480156103a257600080fd5b5061028c610aa5565b3480156103b757600080fd5b50610353600d5481565b3480156103cd57600080fd5b506103536103dc366004612614565b610ad1565b3480156103ed57600080fd5b506102c16103fc36600461273e565b610b67565b34801561040d57600080fd5b506102c161041c36600461263d565b610ba8565b34801561042d57600080fd5b506102c161043c36600461263d565b610c2c565b6102c161044f366004612614565b610cb0565b34801561046057600080fd5b506102c161046f366004612537565b610eca565b34801561048057600080fd5b5061035361048f366004612784565b610ee5565b3480156104a057600080fd5b506102c16104af36600461273e565b610f86565b3480156104c057600080fd5b5060115461028c9060ff1681565b3480156104da57600080fd5b506103056104e9366004612784565b610fc3565b3480156104fa57600080fd5b50610353600e5481565b34801561051057600080fd5b506102d861103a565b34801561052557600080fd5b506102c16110c8565b34801561053a57600080fd5b506103536105493660046124eb565b611121565b34801561055a57600080fd5b506102c16111a8565b34801561056f57600080fd5b506102d86111de565b34801561058457600080fd5b50600a546001600160a01b0316610305565b3480156105a257600080fd5b50610353600b5481565b3480156105b857600080fd5b506102d86111eb565b3480156105cd57600080fd5b50610353600c5481565b3480156105e357600080fd5b506102c16105f23660046125eb565b6111fa565b34801561060357600080fd5b506102c1610612366004612572565b6112bf565b34801561062357600080fd5b506102d8610632366004612784565b6112f7565b34801561064357600080fd5b50610353600f5481565b34801561065957600080fd5b506102c1610668366004612784565b611435565b34801561067957600080fd5b5061028c6106883660046124eb565b611464565b34801561069957600080fd5b506102c16106a8366004612784565b6114ab565b3480156106b957600080fd5b506102c16106c8366004612614565b611541565b3480156106d957600080fd5b5061028c6106e8366004612505565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561072257600080fd5b5061028c6107313660046124eb565b60166020526000908152604090205460ff1681565b34801561075257600080fd5b506102c16107613660046124eb565b6115ef565b34801561077257600080fd5b506102c1610781366004612784565b61168a565b34801561079257600080fd5b506102c16107a1366004612784565b6116b9565b3480156107b257600080fd5b506102c16107c13660046124eb565b6116e8565b60006001600160e01b0319821663780e9d6360e01b14806107eb57506107eb826117f6565b92915050565b600a546001600160a01b031633146108245760405162461bcd60e51b815260040161081b90612940565b60405180910390fd5b6011805460ff1916911515919091179055565b60606000805461084690612a85565b80601f016020809104026020016040519081016040528092919081815260200182805461087290612a85565b80156108bf5780601f10610894576101008083540402835291602001916108bf565b820191906000526020600020905b8154815290600101906020018083116108a257829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166109425760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161081b565b506000908152600460205260409020546001600160a01b031690565b600061096982610fc3565b9050806001600160a01b0316836001600160a01b031614156109d75760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161081b565b336001600160a01b03821614806109f357506109f381336106e8565b610a655760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161081b565b610a6f8383611846565b505050565b610a7e33826118b4565b610a9a5760405162461bcd60e51b815260040161081b90612975565b610a6f8383836119ab565b60115460009060ff16158015610abd5750600b544210155b8015610acc5750600c54600f54105b905090565b6000610adc83611121565b8210610b3e5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161081b565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b600a546001600160a01b03163314610b915760405162461bcd60e51b815260040161081b90612940565b8051610ba49060139060208401906123ce565b5050565b600a546001600160a01b03163314610bd25760405162461bcd60e51b815260040161081b90612940565b60005b8151811015610ba457610c19828281518110610c0157634e487b7160e01b600052603260045260246000fd5b60200260200101516014611b5690919063ffffffff16565b5080610c2481612ac0565b915050610bd5565b600a546001600160a01b03163314610c565760405162461bcd60e51b815260040161081b90612940565b60005b8151811015610ba457610c9d828281518110610c8557634e487b7160e01b600052603260045260246000fd5b60200260200101516014611b7290919063ffffffff16565b5080610ca881612ac0565b915050610c59565b610cb8610aa5565b610cfd5760405162461bcd60e51b8152602060048201526016602482015275135a5b9d1a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161081b565b600c54600182601054610d1091906129f7565b610d1a9190612a42565b1115610d685760405162461bcd60e51b815260206004820152601a60248201527f4e6f7420656e6f756768206d696e74732072656d61696e696e67000000000000604482015260640161081b565b600d54811115610dc45760405162461bcd60e51b815260206004820152602160248201527f546f6f206d616e79206d696e747320696e206f6e65207472616e73616374696f6044820152603760f91b606482015260840161081b565b60008111610e235760405162461bcd60e51b815260206004820152602660248201527f4e756d626572206f66206d696e7473206d75737420626520677265617465722060448201526507468616e20360d41b606482015260840161081b565b600e54610e309082612a23565b341015610e765760405162461bcd60e51b8152602060048201526014602482015273139bdd08195b9bdd59da0810559056081cd95b9d60621b604482015260640161081b565b60005b81811015610a6f57610e8d83601054611b87565b60108054906000610e9d83612ac0565b9091555050600f8054906000610eb283612ac0565b91905055508080610ec290612ac0565b915050610e79565b610a6f838383604051806020016040528060008152506112bf565b6000610ef060085490565b8210610f535760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161081b565b60088281548110610f7457634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600a546001600160a01b03163314610fb05760405162461bcd60e51b815260040161081b90612940565b8051610ba49060129060208401906123ce565b6000818152600260205260408120546001600160a01b0316806107eb5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161081b565b6012805461104790612a85565b80601f016020809104026020016040519081016040528092919081815260200182805461107390612a85565b80156110c05780601f10611095576101008083540402835291602001916110c0565b820191906000526020600020905b8154815290600101906020018083116110a357829003601f168201915b505050505081565b600a546001600160a01b031633146110f25760405162461bcd60e51b815260040161081b90612940565b6040514790339082156108fc029083906000818181858888f19350505050158015610ba4573d6000803e3d6000fd5b60006001600160a01b03821661118c5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b606482015260840161081b565b506001600160a01b031660009081526003602052604090205490565b600a546001600160a01b031633146111d25760405162461bcd60e51b815260040161081b90612940565b6111dc6000611ba1565b565b6013805461104790612a85565b60606001805461084690612a85565b6001600160a01b0382163314156112535760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161081b565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6112c933836118b4565b6112e55760405162461bcd60e51b815260040161081b90612975565b6112f184848484611bf3565b50505050565b6000818152600260205260409020546060906001600160a01b031661135e5760405162461bcd60e51b815260206004820152601f60248201527f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00604482015260640161081b565b60006012805461136d90612a85565b905011611404576013805461138190612a85565b80601f01602080910402602001604051908101604052809291908181526020018280546113ad90612a85565b80156113fa5780601f106113cf576101008083540402835291602001916113fa565b820191906000526020600020905b8154815290600101906020018083116113dd57829003601f168201915b50505050506107eb565b601261140f83611c26565b6040516020016114209291906127e4565b60405160208183030381529060405292915050565b600a546001600160a01b0316331461145f5760405162461bcd60e51b815260040161081b90612940565b600b55565b6000611471601483611d40565b801561149657506001600160a01b03821660009081526016602052604090205460ff16155b80156107eb5750600c54601054111592915050565b600a546001600160a01b031633146114d55760405162461bcd60e51b815260040161081b90612940565b60105481101561153c5760405162461bcd60e51b815260206004820152602c60248201527f4e6577206d696e74206c696d6974206d7573742062652061732068696768206160448201526b1cc81b995e1d135a5b9d125160a21b606482015260840161081b565b600c55565b600a546001600160a01b0316331461156b5760405162461bcd60e51b815260040161081b90612940565b600061157682610fc3565b6001600160a01b0316146115cc5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e2068617320616c7265616479206265656e206d696e746564000000604482015260640161081b565b6115d68282611b87565b600f80549060006115e683612ac0565b91905055505050565b600a546001600160a01b031633146116195760405162461bcd60e51b815260040161081b90612940565b6001600160a01b03811661167e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161081b565b61168781611ba1565b50565b600a546001600160a01b031633146116b45760405162461bcd60e51b815260040161081b90612940565b601055565b600a546001600160a01b031633146116e35760405162461bcd60e51b815260040161081b90612940565b600e55565b6116f0610aa5565b6117355760405162461bcd60e51b8152602060048201526016602482015275135a5b9d1a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161081b565b61173e33611464565b6117a55760405162461bcd60e51b815260206004820152603260248201527f596f7520617265206e6f7420656c696769626c6520666f72206120667265652060448201527136b4b73a1030ba103a3434b9903a34b6b29760711b606482015260840161081b565b336000908152601660205260408120805460ff19166001179055600f8054916117cd83612ac0565b91905055506117de81601054611b87565b601080549060006117ee83612ac0565b919050555050565b60006001600160e01b031982166380ac58cd60e01b148061182757506001600160e01b03198216635b5e139f60e01b145b806107eb57506301ffc9a760e01b6001600160e01b03198316146107eb565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061187b82610fc3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b031661192d5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161081b565b600061193883610fc3565b9050806001600160a01b0316846001600160a01b031614806119735750836001600160a01b0316611968846108c9565b6001600160a01b0316145b806119a357506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166119be82610fc3565b6001600160a01b031614611a265760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b606482015260840161081b565b6001600160a01b038216611a885760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161081b565b611a93838383611d62565b611a9e600082611846565b6001600160a01b0383166000908152600360205260408120805460019290611ac7908490612a42565b90915550506001600160a01b0382166000908152600360205260408120805460019290611af59084906129f7565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611b6b836001600160a01b038416611e1a565b9392505050565b6000611b6b836001600160a01b038416611f37565b610ba4828260405180602001604052806000815250611f86565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611bfe8484846119ab565b611c0a84848484611fb9565b6112f15760405162461bcd60e51b815260040161081b906128ee565b606081611c4a5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611c745780611c5e81612ac0565b9150611c6d9050600a83612a0f565b9150611c4e565b60008167ffffffffffffffff811115611c9d57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611cc7576020820181803683370190505b5090505b84156119a357611cdc600183612a42565b9150611ce9600a86612adb565b611cf49060306129f7565b60f81b818381518110611d1757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611d39600a86612a0f565b9450611ccb565b6001600160a01b03811660009081526001830160205260408120541515611b6b565b6001600160a01b038316611dbd57611db881600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611de0565b816001600160a01b0316836001600160a01b031614611de057611de083826120c6565b6001600160a01b038216611df757610a6f81612163565b826001600160a01b0316826001600160a01b031614610a6f57610a6f828261223c565b60008181526001830160205260408120548015611f2d576000611e3e600183612a42565b8554909150600090611e5290600190612a42565b9050818114611ed3576000866000018281548110611e8057634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080876000018481548110611eb157634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611ef257634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506107eb565b60009150506107eb565b6000818152600183016020526040812054611f7e575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107eb565b5060006107eb565b611f908383612280565b611f9d6000848484611fb9565b610a6f5760405162461bcd60e51b815260040161081b906128ee565b60006001600160a01b0384163b156120bb57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ffd90339089908890889060040161289e565b602060405180830381600087803b15801561201757600080fd5b505af1925050508015612047575060408051601f3d908101601f1916820190925261204491810190612722565b60015b6120a1573d808015612075576040519150601f19603f3d011682016040523d82523d6000602084013e61207a565b606091505b5080516120995760405162461bcd60e51b815260040161081b906128ee565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506119a3565b506001949350505050565b600060016120d384611121565b6120dd9190612a42565b600083815260076020526040902054909150808214612130576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061217590600190612a42565b600083815260096020526040812054600880549394509092849081106121ab57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600883815481106121da57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061222057634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061224783611121565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b0382166122d65760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161081b565b6000818152600260205260409020546001600160a01b03161561233b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161081b565b61234760008383611d62565b6001600160a01b03821660009081526003602052604081208054600192906123709084906129f7565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546123da90612a85565b90600052602060002090601f0160209004810192826123fc5760008555612442565b82601f1061241557805160ff1916838001178555612442565b82800160010185558215612442579182015b82811115612442578251825591602001919060010190612427565b5061244e929150612452565b5090565b5b8082111561244e5760008155600101612453565b600067ffffffffffffffff83111561248157612481612b1b565b612494601f8401601f19166020016129c6565b90508281528383830111156124a857600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b03811681146124d657600080fd5b919050565b803580151581146124d657600080fd5b6000602082840312156124fc578081fd5b611b6b826124bf565b60008060408385031215612517578081fd5b612520836124bf565b915061252e602084016124bf565b90509250929050565b60008060006060848603121561254b578081fd5b612554846124bf565b9250612562602085016124bf565b9150604084013590509250925092565b60008060008060808587031215612587578081fd5b612590856124bf565b935061259e602086016124bf565b925060408501359150606085013567ffffffffffffffff8111156125c0578182fd5b8501601f810187136125d0578182fd5b6125df87823560208401612467565b91505092959194509250565b600080604083850312156125fd578182fd5b612606836124bf565b915061252e602084016124db565b60008060408385031215612626578182fd5b61262f836124bf565b946020939093013593505050565b6000602080838503121561264f578182fd5b823567ffffffffffffffff80821115612666578384fd5b818501915085601f830112612679578384fd5b81358181111561268b5761268b612b1b565b8060051b915061269c8483016129c6565b8181528481019084860184860187018a10156126b6578788fd5b8795505b838610156126df576126cb816124bf565b8352600195909501949186019186016126ba565b5098975050505050505050565b6000602082840312156126fd578081fd5b611b6b826124db565b600060208284031215612717578081fd5b8135611b6b81612b31565b600060208284031215612733578081fd5b8151611b6b81612b31565b60006020828403121561274f578081fd5b813567ffffffffffffffff811115612765578182fd5b8201601f81018413612775578182fd5b6119a384823560208401612467565b600060208284031215612795578081fd5b5035919050565b600081518084526127b4816020860160208601612a59565b601f01601f19169290920160200192915050565b600081516127da818560208601612a59565b9290920192915050565b600080845482600182811c91508083168061280057607f831692505b602080841082141561282057634e487b7160e01b87526022600452602487fd5b818015612834576001811461284557612871565b60ff19861689528489019650612871565b60008b815260209020885b868110156128695781548b820152908501908301612850565b505084890196505b50505050505061289561288482866127c8565b64173539b7b760d91b815260050190565b95945050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906128d19083018461279c565b9695505050505050565b602081526000611b6b602083018461279c565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff811182821017156129ef576129ef612b1b565b604052919050565b60008219821115612a0a57612a0a612aef565b500190565b600082612a1e57612a1e612b05565b500490565b6000816000190483118215151615612a3d57612a3d612aef565b500290565b600082821015612a5457612a54612aef565b500390565b60005b83811015612a74578181015183820152602001612a5c565b838111156112f15750506000910152565b600181811c90821680612a9957607f821691505b60208210811415612aba57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612ad457612ad4612aef565b5060010190565b600082612aea57612aea612b05565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461168757600080fdfea26469706673582212208830bd8130dedeb476e5e2ca451913020f3e5ee77a76f46bd40180514882de9964736f6c63430008040033