[ { "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": "MAX_MINTS_PER_ADDRESS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TOKEN_LIMIT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_feeAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_tokenIds", "outputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "addressMintAvailable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "calculatePrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "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" } ], "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": "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": "baseURI", "type": "string" } ], "name": "setBaseURI", "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": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "tokensOfOwner", "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": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "updateFeeAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6080604052733b7631f8e3428deab77634bf799b622ce412e9ea600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006657600080fd5b506040518060400160405280601b81526020017f536865727061204e465420436c696d6220546f2054686520546f7000000000008152506040518060400160405280600e81526020017f5348455250414e4654434c494d42000000000000000000000000000000000000815250620001047f01ffc9a7000000000000000000000000000000000000000000000000000000006200030f60201b60201c565b81600690805190602001906200011c929190620004d8565b50806007908051906020019062000135929190620004d8565b50620001677f80ac58cd000000000000000000000000000000000000000000000000000000006200030f60201b60201c565b620001987f5b5e139f000000000000000000000000000000000000000000000000000000006200030f60201b60201c565b620001c97f780e9d63000000000000000000000000000000000000000000000000000000006200030f60201b60201c565b50506000620001dd620003e760201b60201c565b905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003096040518060600160405280602e815260200162004814602e9139620003ef60201b60201c565b620006e2565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156200037b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200037290620005d6565b60405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b620003ff620003e760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620004256200049260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200047e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200047590620005f8565b60405180910390fd5b6200048f81620004bc60201b60201c565b50565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8060099080519060200190620004d4929190620004d8565b5050565b828054620004e6906200062b565b90600052602060002090601f0160209004810192826200050a576000855562000556565b82601f106200052557805160ff191683800117855562000556565b8280016001018555821562000556579182015b828111156200055557825182559160200191906001019062000538565b5b50905062000565919062000569565b5090565b5b80821115620005845760008160009055506001016200056a565b5090565b600062000597601c836200061a565b9150620005a48262000690565b602082019050919050565b6000620005be6020836200061a565b9150620005cb82620006b9565b602082019050919050565b60006020820190508181036000830152620005f18162000588565b9050919050565b600060208201905081810360008301526200061381620005af565b9050919050565b600082825260208201905092915050565b600060028204905060018216806200064457607f821691505b602082108114156200065b576200065a62000661565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4552433136353a20696e76616c696420696e7465726661636520696400000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b61412280620006f26000396000f3fe6080604052600436106101d85760003560e01c80636c0360eb11610102578063b874ff4311610095578063d348b40911610064578063d348b409146106c3578063e1fb6f7c146106ee578063e985e9c51461072b578063f2fde38b14610768576101d8565b8063b874ff4314610609578063b88d4fde14610634578063bbcaac381461065d578063c87b56dd14610686576101d8565b80638da5cb5b116100d15780638da5cb5b1461055f57806395d89b411461058a578063a22cb465146105b5578063aa46a400146105de576101d8565b80636c0360eb146104a357806370a08231146104ce578063715018a61461050b5780638462151c14610522576101d8565b80631e3bcc8e1161017a5780634f6ccce7116101495780634f6ccce7146103e457806355f804b3146104215780636352211e1461044a5780636a62784214610487576101d8565b80631e3bcc8e1461032c57806323b872dd146103555780632f745c591461037e57806342842e0e146103bb576101d8565b806306fdde03116101b657806306fdde0314610270578063081812fc1461029b578063095ea7b3146102d857806318160ddd14610301576101d8565b80630135f740146101dd57806301ffc9a714610208578063031bd4c414610245575b600080fd5b3480156101e957600080fd5b506101f2610791565b6040516101ff9190613359565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612e77565b6107b7565b60405161023c91906133e2565b60405180910390f35b34801561025157600080fd5b5061025a61081e565b604051610267919061367f565b60405180910390f35b34801561027c57600080fd5b50610285610824565b60405161029291906133fd565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190612f1a565b6108b6565b6040516102cf9190613359565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa9190612e37565b61093b565b005b34801561030d57600080fd5b50610316610a53565b604051610323919061367f565b60405180910390f35b34801561033857600080fd5b50610353600480360381019061034e9190612cb4565b610a64565b005b34801561036157600080fd5b5061037c60048036038101906103779190612d21565b610c03565b005b34801561038a57600080fd5b506103a560048036038101906103a09190612e37565b610c63565b6040516103b2919061367f565b60405180910390f35b3480156103c757600080fd5b506103e260048036038101906103dd9190612d21565b610cbe565b005b3480156103f057600080fd5b5061040b60048036038101906104069190612f1a565b610cde565b604051610418919061367f565b60405180910390f35b34801561042d57600080fd5b5061044860048036038101906104439190612ed1565b610d01565b005b34801561045657600080fd5b50610471600480360381019061046c9190612f1a565b610d89565b60405161047e9190613359565b60405180910390f35b6104a1600480360381019061049c9190612cb4565b610dc0565b005b3480156104af57600080fd5b506104b8611002565b6040516104c591906133fd565b60405180910390f35b3480156104da57600080fd5b506104f560048036038101906104f09190612cb4565b611094565b604051610502919061367f565b60405180910390f35b34801561051757600080fd5b50610520611153565b005b34801561052e57600080fd5b5061054960048036038101906105449190612cb4565b611290565b60405161055691906133c0565b60405180910390f35b34801561056b57600080fd5b5061057461139a565b6040516105819190613359565b60405180910390f35b34801561059657600080fd5b5061059f6113c4565b6040516105ac91906133fd565b60405180910390f35b3480156105c157600080fd5b506105dc60048036038101906105d79190612df7565b611456565b005b3480156105ea57600080fd5b506105f36115d7565b604051610600919061367f565b60405180910390f35b34801561061557600080fd5b5061061e6115e3565b60405161062b919061367f565b60405180910390f35b34801561064057600080fd5b5061065b60048036038101906106569190612d74565b6115e8565b005b34801561066957600080fd5b50610684600480360381019061067f9190612cb4565b61164a565b005b34801561069257600080fd5b506106ad60048036038101906106a89190612f1a565b61176d565b6040516106ba91906133fd565b60405180910390f35b3480156106cf57600080fd5b506106d86118e0565b6040516106e5919061367f565b60405180910390f35b3480156106fa57600080fd5b5061071560048036038101906107109190612cb4565b611994565b60405161072291906133e2565b60405180910390f35b34801561073757600080fd5b50610752600480360381019061074d9190612ce1565b6119f0565b60405161075f91906133e2565b60405180910390f35b34801561077457600080fd5b5061078f600480360381019061078a9190612cb4565b611a84565b005b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b61012c81565b60606006805461083390613952565b80601f016020809104026020016040519081016040528092919081815260200182805461085f90613952565b80156108ac5780601f10610881576101008083540402835291602001916108ac565b820191906000526020600020905b81548152906001019060200180831161088f57829003601f168201915b5050505050905090565b60006108c182611c30565b610900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f7906135bf565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061094682610d89565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ae9061363f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109d6611c4d565b73ffffffffffffffffffffffffffffffffffffffff161480610a055750610a04816109ff611c4d565b6119f0565b5b610a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3b9061353f565b60405180910390fd5b610a4e8383611c55565b505050565b6000610a5f6002611d0e565b905090565b610a6c611c4d565b73ffffffffffffffffffffffffffffffffffffffff16610a8a61139a565b73ffffffffffffffffffffffffffffffffffffffff1614610ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad7906135df565b60405180910390fd5b61012c610aed600b611d23565b10610b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b249061351f565b60405180910390fd5b6000610b39600b611d23565b9050610b458282611d31565b610b4f600b611ebf565b6001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ba891906137f3565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055505050565b610c14610c0e611c4d565b82611ed5565b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a9061365f565b60405180910390fd5b610c5e838383611fb3565b505050565b6000610cb682600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206121ca90919063ffffffff16565b905092915050565b610cd9838383604051806020016040528060008152506115e8565b505050565b600080610cf58360026121e490919063ffffffff16565b50905080915050919050565b610d09611c4d565b73ffffffffffffffffffffffffffffffffffffffff16610d2761139a565b73ffffffffffffffffffffffffffffffffffffffff1614610d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d74906135df565b60405180910390fd5b610d8681612210565b50565b6000610db9826040518060600160405280602981526020016140c460299139600261222a9092919063ffffffff16565b9050919050565b61012c610dcd600b611d23565b10610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e049061351f565b60405180910390fd5b6005600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff1610610e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e969061343f565b60405180910390fd5b6000610ea96118e0565b905080341015610eb857600080fd5b6000341115610f2b57600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610f29573d6000803e3d6000fd5b505b6000610f37600b611d23565b9050610f438382611d31565b610f4d600b611ebf565b6001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610fa691906137f3565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff160217905550505050565b60606009805461101190613952565b80601f016020809104026020016040519081016040528092919081815260200182805461103d90613952565b801561108a5780601f1061105f5761010080835404028352916020019161108a565b820191906000526020600020905b81548152906001019060200180831161106d57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc9061355f565b60405180910390fd5b61114c600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612249565b9050919050565b61115b611c4d565b73ffffffffffffffffffffffffffffffffffffffff1661117961139a565b73ffffffffffffffffffffffffffffffffffffffff16146111cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c6906135df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6060600061129d83611094565b905060008114156112fa57600067ffffffffffffffff8111156112c3576112c2613b1a565b5b6040519080825280602002602001820160405280156112f15781602001602082028036833780820191505090505b50915050611395565b60008167ffffffffffffffff81111561131657611315613b1a565b5b6040519080825280602002602001820160405280156113445781602001602082028036833780820191505090505b50905060005b8281101561138e5761135c8582610c63565b82828151811061136f5761136e613aeb565b5b6020026020010181815250508080611386906139b5565b91505061134a565b8193505050505b919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600780546113d390613952565b80601f01602080910402602001604051908101604052809291908181526020018280546113ff90613952565b801561144c5780601f106114215761010080835404028352916020019161144c565b820191906000526020600020905b81548152906001019060200180831161142f57829003601f168201915b5050505050905090565b61145e611c4d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c3906134df565b60405180910390fd5b80600560006114d9611c4d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611586611c4d565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115cb91906133e2565b60405180910390a35050565b600b8060000154905081565b600581565b6115f96115f3611c4d565b83611ed5565b611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162f9061365f565b60405180910390fd5b6116448484848461225e565b50505050565b611652611c4d565b73ffffffffffffffffffffffffffffffffffffffff1661167061139a565b73ffffffffffffffffffffffffffffffffffffffff16146116c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bd906135df565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606061177882611c30565b6117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae9061361f565b60405180910390fd5b60006008600084815260200190815260200160002080546117d790613952565b80601f016020809104026020016040519081016040528092919081815260200182805461180390613952565b80156118505780601f1061182557610100808354040283529160200191611850565b820191906000526020600020905b81548152906001019060200180831161183357829003601f168201915b505050505090506000611861611002565b90506000815114156118775781925050506118db565b6000825111156118ac578082604051602001611894929190613335565b604051602081830303815290604052925050506118db565b806118b6856122ba565b6040516020016118c7929190613335565b604051602081830303815290604052925050505b919050565b6000806118eb610a53565b9050610122811061190757674563918244f40000915050611991565b60fa8110611920576722b1c8c1227a0000915050611991565b60c8811061193957671bc16d674ec80000915050611991565b60968110611952576714d1120d7b160000915050611991565b6064811061196b57670de0b6b3a7640000915050611991565b6032811061198457670b1a2bc2ec500000915050611991565b6706f05b59d3b200009150505b90565b60006005600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16109050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611a8c611c4d565b73ffffffffffffffffffffffffffffffffffffffff16611aaa61139a565b73ffffffffffffffffffffffffffffffffffffffff1614611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af7906135df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b679061347f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611c4682600261241b90919063ffffffff16565b9050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611cc883610d89565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611d1c82600001612435565b9050919050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d989061359f565b60405180910390fd5b611daa81611c30565b15611dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de19061349f565b60405180910390fd5b611df660008383612446565b611e4781600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061244b90919063ffffffff16565b50611e5e818360026124659092919063ffffffff16565b50808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6001816000016000828254019250508190555050565b6000611ee082611c30565b611f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f16906134ff565b60405180910390fd5b6000611f2a83610d89565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611f9957508373ffffffffffffffffffffffffffffffffffffffff16611f81846108b6565b73ffffffffffffffffffffffffffffffffffffffff16145b80611faa5750611fa981856119f0565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611fd382610d89565b73ffffffffffffffffffffffffffffffffffffffff1614612029576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612020906135ff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612099576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612090906134bf565b60405180910390fd5b6120a4838383612446565b6120af600082611c55565b61210081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061249a90919063ffffffff16565b5061215281600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061244b90919063ffffffff16565b50612169818360026124659092919063ffffffff16565b50808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006121d983600001836124b4565b60001c905092915050565b6000806000806121f78660000186612528565b915091508160001c8160001c9350935050509250929050565b8060099080519060200190612226929190612ac8565b5050565b600061223d846000018460001b846125b2565b60001c90509392505050565b600061225782600001612653565b9050919050565b612269848484611fb3565b61227584848484612664565b6122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ab9061345f565b60405180910390fd5b50505050565b60606000821415612302576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612416565b600082905060005b6000821461233457808061231d906139b5565b915050600a8261232d919061382a565b915061230a565b60008167ffffffffffffffff8111156123505761234f613b1a565b5b6040519080825280601f01601f1916602001820160405280156123825781602001600182028036833780820191505090505b5090505b6000851461240f5760018261239b919061385b565b9150600a856123aa91906139fe565b60306123b6919061379d565b60f81b8183815181106123cc576123cb613aeb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612408919061382a565b9450612386565b8093505050505b919050565b600061242d836000018360001b6127fb565b905092915050565b600081600001805490509050919050565b505050565b600061245d836000018360001b61281e565b905092915050565b6000612491846000018460001b8473ffffffffffffffffffffffffffffffffffffffff1660001b61288e565b90509392505050565b60006124ac836000018360001b61297a565b905092915050565b6000818360000180549050116124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f69061341f565b60405180910390fd5b82600001828154811061251557612514613aeb565b5b9060005260206000200154905092915050565b60008082846000018054905011612574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256b9061357f565b60405180910390fd5b600084600001848154811061258c5761258b613aeb565b5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008084600101600085815260200190815260200160002054905060008114158390612614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260b91906133fd565b60405180910390fd5b5084600001600182612626919061385b565b8154811061263757612636613aeb565b5b9060005260206000209060020201600101549150509392505050565b600081600001805490509050919050565b60006126858473ffffffffffffffffffffffffffffffffffffffff16612a92565b156127ee578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026126ae611c4d565b8786866040518563ffffffff1660e01b81526004016126d09493929190613374565b602060405180830381600087803b1580156126ea57600080fd5b505af192505050801561271b57506040513d601f19601f820116820180604052508101906127189190612ea4565b60015b61279e573d806000811461274b576040519150601f19603f3d011682016040523d82523d6000602084013e612750565b606091505b50600081511415612796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278d9061345f565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506127f3565b600190505b949350505050565b600080836001016000848152602001908152602001600020541415905092915050565b600061282a8383612aa5565b612883578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612888565b600090505b92915050565b600080846001016000858152602001908152602001600020549050600081141561293557846000016040518060400160405280868152602001858152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550508460000180549050856001016000868152602001908152602001600020819055506001915050612973565b8285600001600183612947919061385b565b8154811061295857612957613aeb565b5b90600052602060002090600202016001018190555060009150505b9392505050565b60008083600101600084815260200190815260200160002054905060008114612a865760006001826129ac919061385b565b90506000600186600001805490506129c4919061385b565b905060008660000182815481106129de576129dd613aeb565b5b9060005260206000200154905080876000018481548110612a0257612a01613aeb565b5b9060005260206000200181905550600183612a1d919061379d565b8760010160008381526020019081526020016000208190555086600001805480612a4a57612a49613abc565b5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050612a8c565b60009150505b92915050565b600080823b905060008111915050919050565b600080836001016000848152602001908152602001600020541415905092915050565b828054612ad490613952565b90600052602060002090601f016020900481019282612af65760008555612b3d565b82601f10612b0f57805160ff1916838001178555612b3d565b82800160010185558215612b3d579182015b82811115612b3c578251825591602001919060010190612b21565b5b509050612b4a9190612b4e565b5090565b5b80821115612b67576000816000905550600101612b4f565b5090565b6000612b7e612b79846136bf565b61369a565b905082815260208101848484011115612b9a57612b99613b4e565b5b612ba5848285613910565b509392505050565b6000612bc0612bbb846136f0565b61369a565b905082815260208101848484011115612bdc57612bdb613b4e565b5b612be7848285613910565b509392505050565b600081359050612bfe81614067565b92915050565b600081359050612c138161407e565b92915050565b600081359050612c2881614095565b92915050565b600081519050612c3d81614095565b92915050565b600082601f830112612c5857612c57613b49565b5b8135612c68848260208601612b6b565b91505092915050565b600082601f830112612c8657612c85613b49565b5b8135612c96848260208601612bad565b91505092915050565b600081359050612cae816140ac565b92915050565b600060208284031215612cca57612cc9613b58565b5b6000612cd884828501612bef565b91505092915050565b60008060408385031215612cf857612cf7613b58565b5b6000612d0685828601612bef565b9250506020612d1785828601612bef565b9150509250929050565b600080600060608486031215612d3a57612d39613b58565b5b6000612d4886828701612bef565b9350506020612d5986828701612bef565b9250506040612d6a86828701612c9f565b9150509250925092565b60008060008060808587031215612d8e57612d8d613b58565b5b6000612d9c87828801612bef565b9450506020612dad87828801612bef565b9350506040612dbe87828801612c9f565b925050606085013567ffffffffffffffff811115612ddf57612dde613b53565b5b612deb87828801612c43565b91505092959194509250565b60008060408385031215612e0e57612e0d613b58565b5b6000612e1c85828601612bef565b9250506020612e2d85828601612c04565b9150509250929050565b60008060408385031215612e4e57612e4d613b58565b5b6000612e5c85828601612bef565b9250506020612e6d85828601612c9f565b9150509250929050565b600060208284031215612e8d57612e8c613b58565b5b6000612e9b84828501612c19565b91505092915050565b600060208284031215612eba57612eb9613b58565b5b6000612ec884828501612c2e565b91505092915050565b600060208284031215612ee757612ee6613b58565b5b600082013567ffffffffffffffff811115612f0557612f04613b53565b5b612f1184828501612c71565b91505092915050565b600060208284031215612f3057612f2f613b58565b5b6000612f3e84828501612c9f565b91505092915050565b6000612f538383613317565b60208301905092915050565b612f688161388f565b82525050565b6000612f7982613731565b612f83818561375f565b9350612f8e83613721565b8060005b83811015612fbf578151612fa68882612f47565b9750612fb183613752565b925050600181019050612f92565b5085935050505092915050565b612fd5816138a1565b82525050565b6000612fe68261373c565b612ff08185613770565b935061300081856020860161391f565b61300981613b5d565b840191505092915050565b600061301f82613747565b6130298185613781565b935061303981856020860161391f565b61304281613b5d565b840191505092915050565b600061305882613747565b6130628185613792565b935061307281856020860161391f565b80840191505092915050565b600061308b602283613781565b915061309682613b6e565b604082019050919050565b60006130ae601f83613781565b91506130b982613bbd565b602082019050919050565b60006130d1603283613781565b91506130dc82613be6565b604082019050919050565b60006130f4602683613781565b91506130ff82613c35565b604082019050919050565b6000613117601c83613781565b915061312282613c84565b602082019050919050565b600061313a602483613781565b915061314582613cad565b604082019050919050565b600061315d601983613781565b915061316882613cfc565b602082019050919050565b6000613180602c83613781565b915061318b82613d25565b604082019050919050565b60006131a3601383613781565b91506131ae82613d74565b602082019050919050565b60006131c6603883613781565b91506131d182613d9d565b604082019050919050565b60006131e9602a83613781565b91506131f482613dec565b604082019050919050565b600061320c602283613781565b915061321782613e3b565b604082019050919050565b600061322f602083613781565b915061323a82613e8a565b602082019050919050565b6000613252602c83613781565b915061325d82613eb3565b604082019050919050565b6000613275602083613781565b915061328082613f02565b602082019050919050565b6000613298602983613781565b91506132a382613f2b565b604082019050919050565b60006132bb602f83613781565b91506132c682613f7a565b604082019050919050565b60006132de602183613781565b91506132e982613fc9565b604082019050919050565b6000613301603183613781565b915061330c82614018565b604082019050919050565b613320816138f9565b82525050565b61332f816138f9565b82525050565b6000613341828561304d565b915061334d828461304d565b91508190509392505050565b600060208201905061336e6000830184612f5f565b92915050565b60006080820190506133896000830187612f5f565b6133966020830186612f5f565b6133a36040830185613326565b81810360608301526133b58184612fdb565b905095945050505050565b600060208201905081810360008301526133da8184612f6e565b905092915050565b60006020820190506133f76000830184612fcc565b92915050565b600060208201905081810360008301526134178184613014565b905092915050565b600060208201905081810360008301526134388161307e565b9050919050565b60006020820190508181036000830152613458816130a1565b9050919050565b60006020820190508181036000830152613478816130c4565b9050919050565b60006020820190508181036000830152613498816130e7565b9050919050565b600060208201905081810360008301526134b88161310a565b9050919050565b600060208201905081810360008301526134d88161312d565b9050919050565b600060208201905081810360008301526134f881613150565b9050919050565b6000602082019050818103600083015261351881613173565b9050919050565b6000602082019050818103600083015261353881613196565b9050919050565b60006020820190508181036000830152613558816131b9565b9050919050565b60006020820190508181036000830152613578816131dc565b9050919050565b60006020820190508181036000830152613598816131ff565b9050919050565b600060208201905081810360008301526135b881613222565b9050919050565b600060208201905081810360008301526135d881613245565b9050919050565b600060208201905081810360008301526135f881613268565b9050919050565b600060208201905081810360008301526136188161328b565b9050919050565b60006020820190508181036000830152613638816132ae565b9050919050565b60006020820190508181036000830152613658816132d1565b9050919050565b60006020820190508181036000830152613678816132f4565b9050919050565b60006020820190506136946000830184613326565b92915050565b60006136a46136b5565b90506136b08282613984565b919050565b6000604051905090565b600067ffffffffffffffff8211156136da576136d9613b1a565b5b6136e382613b5d565b9050602081019050919050565b600067ffffffffffffffff82111561370b5761370a613b1a565b5b61371482613b5d565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006137a8826138f9565b91506137b3836138f9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137e8576137e7613a2f565b5b828201905092915050565b60006137fe82613903565b915061380983613903565b92508260ff0382111561381f5761381e613a2f565b5b828201905092915050565b6000613835826138f9565b9150613840836138f9565b9250826138505761384f613a5e565b5b828204905092915050565b6000613866826138f9565b9150613871836138f9565b92508282101561388457613883613a2f565b5b828203905092915050565b600061389a826138d9565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561393d578082015181840152602081019050613922565b8381111561394c576000848401525b50505050565b6000600282049050600182168061396a57607f821691505b6020821081141561397e5761397d613a8d565b5b50919050565b61398d82613b5d565b810181811067ffffffffffffffff821117156139ac576139ab613b1a565b5b80604052505050565b60006139c0826138f9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156139f3576139f2613a2f565b5b600182019050919050565b6000613a09826138f9565b9150613a14836138f9565b925082613a2457613a23613a5e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b7f6d696e74206c696d697420706572206164647265737320726561636865642100600082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f6d696e74206c696d697420726561636865642100000000000000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6140708161388f565b811461407b57600080fd5b50565b614087816138a1565b811461409257600080fd5b50565b61409e816138ad565b81146140a957600080fd5b50565b6140b5816138f9565b81146140c057600080fd5b5056fe4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656ea26469706673582212204428986ab103eec38b85e4cfc03b52619d748921b86facd37bd88672fd744a8c64736f6c6343000807003368747470733a2f2f6170692e736e6f7762616c6c2e6e6574776f726b2f6e66742f7368657270615f636c696d622f