[ { "inputs": [ { "internalType": "string", "name": "nftName", "type": "string" }, { "internalType": "string", "name": "nftSymbol", "type": "string" }, { "internalType": "string", "name": "baseTokenURI", "type": "string" }, { "internalType": "address", "name": "_royaltyRecipient", "type": "address" }, { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "_startAt", "type": "uint256" }, { "internalType": "uint256", "name": "_WLstartAt", "type": "uint256" } ], "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": "uint256", "name": "_id", "type": "uint256" } ], "name": "Claim", "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" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [ { "internalType": "address", "name": "_whitelistedAddress", "type": "address" } ], "name": "EarlyMinterMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_EARLY_CLAIM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_MINTABLE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_PER_CLAIM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_PUBLIC_CLAIM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MintIsOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ROYALTY_VALUE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WLstartAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "n", "type": "uint256" } ], "name": "claim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "n", "type": "uint256" }, { "internalType": "bytes32[]", "name": "_proof", "type": "bytes32[]" } ], "name": "earlyClaim", "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": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_whitelistedAddress", "type": "address" }, { "internalType": "bytes32[]", "name": "_proof", "type": "bytes32[]" } ], "name": "isEarlyMinter", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "merkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minted", "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": "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": "address", "name": "", "type": "address" } ], "name": "publicMintedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addressToWhitelist", "type": "address" } ], "name": "removeEarlyUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "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": "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": "_addr", "type": "address[]" } ], "name": "setAdmins", "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": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "uint256", "name": "allowedToMint", "type": "uint256" } ], "name": "setEarlyMinters", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_root", "type": "bytes32" } ], "name": "setMerkleRoot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_royaltyRecipient", "type": "address" } ], "name": "setRoyaltyAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_startAt", "type": "uint256" } ], "name": "setStartAt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_WLstartAt", "type": "uint256" } ], "name": "setWLstartAt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startAt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [], "name": "toggleMint", "outputs": [], "stateMutability": "nonpayable", "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": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a06040819052600060808190526200001b916012916200014f565b50600160138190556014805460ff1916909117905560006015553480156200004257600080fd5b5060405162003493380380620034938339810160408190526200006591620002a8565b8651879087906200007e9060009060208501906200014f565b508051620000949060019060208401906200014f565b505050620000b1620000ab620000f960201b60201c565b620000fd565b601680546001600160a01b0319166001600160a01b0386161790558451620000e19060129060208801906200014f565b50600e92909255600c55600d5550620003c892505050565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200015d9062000375565b90600052602060002090601f016020900481019282620001815760008555620001cc565b82601f106200019c57805160ff1916838001178555620001cc565b82800160010185558215620001cc579182015b82811115620001cc578251825591602001919060010190620001af565b50620001da929150620001de565b5090565b5b80821115620001da5760008155600101620001df565b600082601f83011262000206578081fd5b81516001600160401b0380821115620002235762000223620003b2565b604051601f8301601f19908116603f011681019082821181831017156200024e576200024e620003b2565b816040528381526020925086838588010111156200026a578485fd5b8491505b838210156200028d57858201830151818301840152908201906200026e565b838211156200029e57848385830101525b9695505050505050565b600080600080600080600060e0888a031215620002c3578283fd5b87516001600160401b0380821115620002da578485fd5b620002e88b838c01620001f5565b985060208a0151915080821115620002fe578485fd5b6200030c8b838c01620001f5565b975060408a015191508082111562000322578485fd5b50620003318a828b01620001f5565b60608a015190965090506001600160a01b038116811462000350578384fd5b809450506080880151925060a0880151915060c0880151905092959891949750929550565b6002810460018216806200038a57607f821691505b60208210811415620003ac57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6130bb80620003d86000396000f3fe6080604052600436106102765760003560e01c80636d68b20b1161014f578063a60118e8116100c1578063e985e9c51161007a578063e985e9c5146106e5578063ead29d4e14610705578063f2c64ad214610344578063f2fde38b14610725578063f3a133a914610745578063fc68e62d146107655761027d565b8063a60118e81461063b578063accc1d5e1461065b578063b88d4fde1461067b578063c74465651461069b578063c87b56dd146106b0578063d3dd5fe0146106d05761027d565b80638da5cb5b116101135780638da5cb5b146105a757806393791b03146105bc57806395d89b41146105d1578063a0bcfc7f146105e6578063a22cb46514610606578063a28cf772146106265761027d565b80636d68b20b1461051257806370a0823114610532578063715018a6146105525780637cb647591461056757806386063f71146105875761027d565b80632f745c59116101e857806342842e0e116101ac57806342842e0e146104885780634f02c420146104a85780634f6ccce7146104bd5780635471f49f146103445780636352211e146104dd5780636b907eba146104fd5761027d565b80632f745c59146103fe578063379607f51461041e5780633ccfd60b1461043e5780633f879faf1461045357806340b89806146104685761027d565b806315147aee1161023a57806315147aee1461034457806318160ddd146103665780631b4f7f351461037b57806323b872dd1461039b5780632a55205a146103bb5780632eb4a7ab146103e95761027d565b806301ffc9a71461027f57806306d254da146102b557806306fdde03146102d5578063081812fc146102f7578063095ea7b3146103245761027d565b3661027d57005b005b34801561028b57600080fd5b5061029f61029a36600461254a565b610785565b6040516102ac919061270c565b60405180910390f35b3480156102c157600080fd5b5061027d6102d03660046122f4565b610798565b3480156102e157600080fd5b506102ea610802565b6040516102ac9190612720565b34801561030357600080fd5b50610317610312366004612532565b610894565b6040516102ac91906126a2565b34801561033057600080fd5b5061027d61033f36600461247f565b6108d7565b34801561035057600080fd5b5061035961096f565b6040516102ac9190612717565b34801561037257600080fd5b50610359610974565b34801561038757600080fd5b5061029f6103963660046123f4565b61097a565b3480156103a757600080fd5b5061027d6103b6366004612340565b6109f0565b3480156103c757600080fd5b506103db6103d63660046125f9565b610a28565b6040516102ac9291906126f3565b3480156103f557600080fd5b50610359610a86565b34801561040a57600080fd5b5061035961041936600461247f565b610a8c565b34801561042a57600080fd5b5061027d610439366004612532565b610ade565b34801561044a57600080fd5b5061027d610cb8565b34801561045f57600080fd5b50610359610d65565b34801561047457600080fd5b5061027d6104833660046122f4565b610d6a565b34801561049457600080fd5b5061027d6104a3366004612340565b610dc3565b3480156104b457600080fd5b50610359610dde565b3480156104c957600080fd5b506103596104d8366004612532565b610de4565b3480156104e957600080fd5b506103176104f8366004612532565b610e3f565b34801561050957600080fd5b5061029f610e74565b34801561051e57600080fd5b5061027d61052d366004612532565b610e7d565b34801561053e57600080fd5b5061035961054d3660046122f4565b610ec1565b34801561055e57600080fd5b5061027d610f05565b34801561057357600080fd5b5061027d610582366004612532565b610f50565b34801561059357600080fd5b5061027d6105a23660046125c8565b610f94565b3480156105b357600080fd5b50610317611213565b3480156105c857600080fd5b50610359611222565b3480156105dd57600080fd5b506102ea611228565b3480156105f257600080fd5b5061027d610601366004612582565b611237565b34801561061257600080fd5b5061027d610621366004612445565b611289565b34801561063257600080fd5b5061035961129b565b34801561064757600080fd5b506103596106563660046122f4565b6112a1565b34801561066757600080fd5b5061027d6106763660046124a8565b6112bc565b34801561068757600080fd5b5061027d61069636600461237b565b61137b565b3480156106a757600080fd5b506103596113ba565b3480156106bc57600080fd5b506102ea6106cb366004612532565b6113c0565b3480156106dc57600080fd5b5061027d611443565b3480156106f157600080fd5b5061029f61070036600461230e565b611496565b34801561071157600080fd5b506103596107203660046122f4565b6114c4565b34801561073157600080fd5b5061027d6107403660046122f4565b6114d6565b34801561075157600080fd5b5061027d610760366004612532565b611544565b34801561077157600080fd5b5061027d6107803660046124e8565b611588565b600061079082611638565b90505b919050565b6107a061165d565b6001600160a01b03166107b1611213565b6001600160a01b0316146107e05760405162461bcd60e51b81526004016107d790612cef565b60405180910390fd5b601680546001600160a01b0319166001600160a01b0392909216919091179055565b60606000805461081190612fc3565b80601f016020809104026020016040519081016040528092919081815260200182805461083d90612fc3565b801561088a5780601f1061085f5761010080835404028352916020019161088a565b820191906000526020600020905b81548152906001019060200180831161086d57829003601f168201915b5050505050905090565b600061089f82611661565b6108bb5760405162461bcd60e51b81526004016107d790612ca3565b506000908152600460205260409020546001600160a01b031690565b60006108e282610e3f565b9050806001600160a01b0316836001600160a01b031614156109165760405162461bcd60e51b81526004016107d790612df9565b806001600160a01b031661092861165d565b6001600160a01b0316148061094457506109448161070061165d565b6109605760405162461bcd60e51b81526004016107d790612b05565b61096a838361167e565b505050565b600181565b60085490565b6000808460405160200161098e9190612646565b6040516020818303038152906040528051906020012090506109e784848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600e5491508490506116ec565b95945050505050565b610a016109fb61165d565b82611702565b610a1d5760405162461bcd60e51b81526004016107d790612e3a565b61096a838383611787565b6000828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b90910462ffffff16928201839052929161271090610a729086612f61565b610a7c9190612f4d565b9150509250929050565b600e5481565b6000610a9783610ec1565b8210610ab55760405162461bcd60e51b81526004016107d790612812565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60145460ff16610b005760405162461bcd60e51b81526004016107d7906127a1565b600c54421015610b225760405162461bcd60e51b81526004016107d790612ed7565b60de610b2c610974565b610b369083612f35565b1115610b545760405162461bcd60e51b81526004016107d790612733565b60008111610b745760405162461bcd60e51b81526004016107d790612a9e565b6001811115610b955760405162461bcd60e51b81526004016107d790612bf5565b33600090815260106020526040902054600111610bc45760405162461bcd60e51b81526004016107d790612f00565b33600090815260106020526040902054600190610be19083612f35565b1115610bff5760405162461bcd60e51b81526004016107d790612c6c565b3360009081526010602052604081208054839290610c1e908490612f35565b90915550600090505b81811015610cb457610c42610c3a61165d565b6013546118ba565b601354601654610c5e91906001600160a01b03166103206118d4565b600160136000828254610c719190612f35565b90915550506013546040517f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f790600090a280610cac81612ffe565b915050610c27565b5050565b60116000610cc461165d565b6001600160a01b0316815260208101919091526040016000205460ff161515600114610d025760405162461bcd60e51b81526004016107d790612ad5565b60004711610d225760405162461bcd60e51b81526004016107d7906127e5565b610d2a61165d565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015610d62573d6000803e3d6000fd5b50565b60de81565b610d7261165d565b6001600160a01b0316610d83611213565b6001600160a01b031614610da95760405162461bcd60e51b81526004016107d790612cef565b6001600160a01b03166000908152600f6020526040812055565b61096a8383836040518060200160405280600081525061137b565b60135481565b6000610dee610974565b8210610e0c5760405162461bcd60e51b81526004016107d790612e8b565b60088281548110610e2d57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806107905760405162461bcd60e51b81526004016107d790612bac565b60145460ff1681565b610e8561165d565b6001600160a01b0316610e96611213565b6001600160a01b031614610ebc5760405162461bcd60e51b81526004016107d790612cef565b600d55565b60006001600160a01b038216610ee95760405162461bcd60e51b81526004016107d790612b62565b506001600160a01b031660009081526003602052604090205490565b610f0d61165d565b6001600160a01b0316610f1e611213565b6001600160a01b031614610f445760405162461bcd60e51b81526004016107d790612cef565b610f4e6000611956565b565b610f5861165d565b6001600160a01b0316610f69611213565b6001600160a01b031614610f8f5760405162461bcd60e51b81526004016107d790612cef565b600e55565b60145460ff16610fb65760405162461bcd60e51b81526004016107d7906127a1565b600d54421015610fd85760405162461bcd60e51b81526004016107d790612ed7565b600c544210610ff95760405162461bcd60e51b81526004016107d790612d5b565b60de611003610974565b61100d9085612f35565b111561102b5760405162461bcd60e51b81526004016107d790612733565b600183111561104c5760405162461bcd60e51b81526004016107d790612bf5565b336000908152600f60205260409020546001101561107c5760405162461bcd60e51b81526004016107d790612971565b60003360405160200161108f9190612646565b6040516020818303038152906040528051906020012090506110e883838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600e5491508490506116ec565b6111045760405162461bcd60e51b81526004016107d790612a23565b600084116111245760405162461bcd60e51b81526004016107d790612a9e565b336000908152600f60205260409020546001906111419086612f35565b111561115f5760405162461bcd60e51b81526004016107d790612d24565b336000908152600f60205260408120805486929061117e908490612f35565b90915550600090505b8481101561120c5761119a610c3a61165d565b6013546016546111b691906001600160a01b03166103206118d4565b6001601360008282546111c99190612f35565b90915550506013546040517f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f790600090a28061120481612ffe565b915050611187565b5050505050565b600a546001600160a01b031690565b61032081565b60606001805461081190612fc3565b61123f61165d565b6001600160a01b0316611250611213565b6001600160a01b0316146112765760405162461bcd60e51b81526004016107d790612cef565b8051610cb4906012906020840190612185565b610cb461129461165d565b83836119a8565b600d5481565b6001600160a01b03166000908152600f602052604090205490565b6112c461165d565b6001600160a01b03166112d5611213565b6001600160a01b0316146112fb5760405162461bcd60e51b81526004016107d790612cef565b60005b8181101561096a5760016011600085858581811061132c57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061134191906122f4565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061137381612ffe565b9150506112fe565b61138c61138661165d565b83611702565b6113a85760405162461bcd60e51b81526004016107d790612e3a565b6113b484848484611a4b565b50505050565b600c5481565b60606113cb82611661565b6113e75760405162461bcd60e51b81526004016107d790612daa565b60006113f1611a7e565b90506000815111611411576040518060200160405280600081525061143c565b8061141b84611a8d565b60405160200161142c929190612663565b6040516020818303038152906040525b9392505050565b61144b61165d565b6001600160a01b031661145c611213565b6001600160a01b0316146114825760405162461bcd60e51b81526004016107d790612cef565b6014805460ff19811660ff90911615179055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60106020526000908152604090205481565b6114de61165d565b6001600160a01b03166114ef611213565b6001600160a01b0316146115155760405162461bcd60e51b81526004016107d790612cef565b6001600160a01b03811661153b5760405162461bcd60e51b81526004016107d7906128af565b610d6281611956565b61154c61165d565b6001600160a01b031661155d611213565b6001600160a01b0316146115835760405162461bcd60e51b81526004016107d790612cef565b600c55565b61159061165d565b6001600160a01b03166115a1611213565b6001600160a01b0316146115c75760405162461bcd60e51b81526004016107d790612cef565b60005b828110156113b45781600f60008686858181106115f757634e487b7160e01b600052603260045260246000fd5b905060200201602081019061160c91906122f4565b6001600160a01b031681526020810191909152604001600020558061163081612ffe565b9150506115ca565b60006001600160e01b0319821663152a902d60e11b1480610790575061079082611ba8565b3390565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906116b382610e3f565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000826116f98584611bcd565b14949350505050565b600061170d82611661565b6117295760405162461bcd60e51b81526004016107d790612a52565b600061173483610e3f565b9050806001600160a01b0316846001600160a01b0316148061175b575061175b8185611496565b8061177f5750836001600160a01b031661177484610894565b6001600160a01b0316145b949350505050565b826001600160a01b031661179a82610e3f565b6001600160a01b0316146117c05760405162461bcd60e51b81526004016107d7906128f5565b6001600160a01b0382166117e65760405162461bcd60e51b81526004016107d7906129a8565b6117f1838383611c47565b6117fc60008261167e565b6001600160a01b0383166000908152600360205260408120805460019290611825908490612f80565b90915550506001600160a01b0382166000908152600360205260408120805460019290611853908490612f35565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a461096a83838361096a565b610cb4828260405180602001604052806000815250611c52565b6127108111156118f65760405162461bcd60e51b81526004016107d79061276a565b6040805180820182526001600160a01b03938416815262ffffff92831660208083019182526000968752600b905291909420935184549151909216600160a01b0262ffffff60a01b19929093166001600160a01b03199091161716179055565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031614156119da5760405162461bcd60e51b81526004016107d7906129ec565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611a3e90859061270c565b60405180910390a3505050565b611a56848484611787565b611a6284848484611c85565b6113b45760405162461bcd60e51b81526004016107d79061285d565b60606012805461081190612fc3565b606081611ab257506040805180820190915260018152600360fc1b6020820152610793565b8160005b8115611adc5780611ac681612ffe565b9150611ad59050600a83612f4d565b9150611ab6565b60008167ffffffffffffffff811115611b0557634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611b2f576020820181803683370190505b5090505b841561177f57611b44600183612f80565b9150611b51600a86613019565b611b5c906030612f35565b60f81b818381518110611b7f57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611ba1600a86612f4d565b9450611b33565b60006001600160e01b0319821663780e9d6360e01b1480610790575061079082611da0565b600081815b8451811015611c3f576000858281518110611bfd57634e487b7160e01b600052603260045260246000fd5b60200260200101519050808311611c1f57611c188382611de0565b9250611c2c565b611c298184611de0565b92505b5080611c3781612ffe565b915050611bd2565b509392505050565b61096a838383611def565b611c5c8383611e78565b611c696000848484611c85565b61096a5760405162461bcd60e51b81526004016107d79061285d565b6000611c99846001600160a01b0316611f5f565b15611d9557836001600160a01b031663150b7a02611cb561165d565b8786866040518563ffffffff1660e01b8152600401611cd794939291906126b6565b602060405180830381600087803b158015611cf157600080fd5b505af1925050508015611d21575060408051601f3d908101601f19168201909252611d1e91810190612566565b60015b611d7b573d808015611d4f576040519150601f19603f3d011682016040523d82523d6000602084013e611d54565b606091505b508051611d735760405162461bcd60e51b81526004016107d79061285d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061177f565b506001949350505050565b60006001600160e01b031982166380ac58cd60e01b1480611dd157506001600160e01b03198216635b5e139f60e01b145b80610790575061079082611f6e565b60009182526020526040902090565b611dfa83838361096a565b6001600160a01b038316611e1657611e1181611f87565b611e39565b816001600160a01b0316836001600160a01b031614611e3957611e398382611fcb565b6001600160a01b038216611e5557611e5081612068565b61096a565b826001600160a01b0316826001600160a01b03161461096a5761096a8282612141565b6001600160a01b038216611e9e5760405162461bcd60e51b81526004016107d790612c37565b611ea781611661565b15611ec45760405162461bcd60e51b81526004016107d79061293a565b611ed060008383611c47565b6001600160a01b0382166000908152600360205260408120805460019290611ef9908490612f35565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610cb46000838361096a565b6001600160a01b03163b151590565b6001600160e01b031981166301ffc9a760e01b14919050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b60006001611fd884610ec1565b611fe29190612f80565b600083815260076020526040902054909150808214612035576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061207a90600190612f80565b600083815260096020526040812054600880549394509092849081106120b057634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600883815481106120df57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061212557634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061214c83610ec1565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b82805461219190612fc3565b90600052602060002090601f0160209004810192826121b357600085556121f9565b82601f106121cc57805160ff19168380011785556121f9565b828001600101855582156121f9579182015b828111156121f95782518255916020019190600101906121de565b50612205929150612209565b5090565b5b80821115612205576000815560010161220a565b600067ffffffffffffffff8084111561223957612239613059565b604051601f8501601f19908116603f0116810190828211818310171561226157612261613059565b8160405280935085815286868601111561227a57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461079357600080fd5b60008083601f8401126122bc578081fd5b50813567ffffffffffffffff8111156122d3578182fd5b60208301915083602080830285010111156122ed57600080fd5b9250929050565b600060208284031215612305578081fd5b61143c82612294565b60008060408385031215612320578081fd5b61232983612294565b915061233760208401612294565b90509250929050565b600080600060608486031215612354578081fd5b61235d84612294565b925061236b60208501612294565b9150604084013590509250925092565b60008060008060808587031215612390578081fd5b61239985612294565b93506123a760208601612294565b925060408501359150606085013567ffffffffffffffff8111156123c9578182fd5b8501601f810187136123d9578182fd5b6123e88782356020840161221e565b91505092959194509250565b600080600060408486031215612408578283fd5b61241184612294565b9250602084013567ffffffffffffffff81111561242c578283fd5b612438868287016122ab565b9497909650939450505050565b60008060408385031215612457578182fd5b61246083612294565b915060208301358015158114612474578182fd5b809150509250929050565b60008060408385031215612491578182fd5b61249a83612294565b946020939093013593505050565b600080602083850312156124ba578182fd5b823567ffffffffffffffff8111156124d0578283fd5b6124dc858286016122ab565b90969095509350505050565b6000806000604084860312156124fc578283fd5b833567ffffffffffffffff811115612512578384fd5b61251e868287016122ab565b909790965060209590950135949350505050565b600060208284031215612543578081fd5b5035919050565b60006020828403121561255b578081fd5b813561143c8161306f565b600060208284031215612577578081fd5b815161143c8161306f565b600060208284031215612593578081fd5b813567ffffffffffffffff8111156125a9578182fd5b8201601f810184136125b9578182fd5b61177f8482356020840161221e565b6000806000604084860312156125dc578081fd5b83359250602084013567ffffffffffffffff81111561242c578182fd5b6000806040838503121561260b578182fd5b50508035926020909101359150565b60008151808452612632816020860160208601612f97565b601f01601f19169290920160200192915050565b60609190911b6bffffffffffffffffffffffff1916815260140190565b60008351612675818460208801612f97565b835190830190612689818360208801612f97565b64173539b7b760d91b9101908152600501949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906126e99083018461261a565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b60006020825261143c602083018461261a565b60208082526018908201527f4e6f7420656e6f756768206c65667420746f206d696e742e0000000000000000604082015260600190565b6020808252601a908201527f45524332393831526f79616c746965733a20546f6f2068696768000000000000604082015260600190565b60208082526024908201527f49742773206e6f7420706f737369626c6520746f20636c61696d206a757374206040820152633cb2ba1760e11b606082015260800190565b6020808252601390820152724e6f7468696e6720746f20776974686472617760681b604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b6020808252601d908201527f596f752063616e2774206561726c7920636c61696d20616e796d6f7265000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b60208082526015908201527424b73b30b634b21026b2b935b63290283937b7b31760591b604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252601f908201527f4e756d626572206e65656420746f20626520686967686572207468616e203000604082015260600190565b6020808252601690820152752cb7bab91030b932903737ba103a34329037bbb732b960511b604082015260600190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b60208082526022908201527f796f752063616e277420636c61696d2074686174206d756368206174206f756e604082015261636560f01b606082015260800190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526019908201527f796f752063616e277420636c61696d2074686174206d75636800000000000000604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f796f752063616e2774206561726c7920636c61696d2074686174206d75636800604082015260600190565b6020808252602f908201527f5075626c6963206d696e74206973206f70656e2c207468652077686974656c6960408201526e39ba1036b4b73a1034b99037bb32b960891b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b6020808252600f908201526e139bdd081cdd185c9d1959081e595d608a1b604082015260600190565b6020808252818101527f6578636565647320746865207075626c6963206d696e74696e67206c696d6974604082015260600190565b60008219821115612f4857612f4861302d565b500190565b600082612f5c57612f5c613043565b500490565b6000816000190483118215151615612f7b57612f7b61302d565b500290565b600082821015612f9257612f9261302d565b500390565b60005b83811015612fb2578181015183820152602001612f9a565b838111156113b45750506000910152565b600281046001821680612fd757607f821691505b60208210811415612ff857634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156130125761301261302d565b5060010190565b60008261302857613028613043565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610d6257600080fdfea26469706673582212205426d3c859440747fc36805e9726c1e281c672efd0368f001a61339a744b410064736f6c6343000801003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000092f699eeb1dce0ef69756ac1011c818bdeadad861f42bf82bde1713b921973c63b95483607808334a56d12000ed1f2fcd1128e420000000000000000000000000000000000000000000000000000000062f566c80000000000000000000000000000000000000000000000000000000062f55fc0000000000000000000000000000000000000000000000000000000000000000b536d6f6c20476f626c696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000453474f42000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d59726153656b44357456637843685458786932324a6d376673683976784e6f3763543145786443734c7172632f00000000000000000000