[ { "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": false, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "quantity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "level", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "coupon", "type": "string" } ], "name": "Buy", "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": [ { "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": "uint256", "name": "quantity", "type": "uint256" }, { "internalType": "uint256", "name": "level", "type": "uint256" } ], "name": "buy", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "description", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getBuyInfo", "outputs": [ { "internalType": "uint256", "name": "platinumMint", "type": "uint256" }, { "internalType": "uint256", "name": "platinumMax", "type": "uint256" }, { "internalType": "uint256", "name": "platinumPrice", "type": "uint256" }, { "internalType": "uint256", "name": "platinumPerAddPrice", "type": "uint256" }, { "internalType": "uint256", "name": "platinumPeriodNum", "type": "uint256" }, { "internalType": "uint256", "name": "goldMint", "type": "uint256" }, { "internalType": "uint256", "name": "goldMax", "type": "uint256" }, { "internalType": "uint256", "name": "goldPrice", "type": "uint256" }, { "internalType": "uint256", "name": "goldPerAddPrice", "type": "uint256" }, { "internalType": "uint256", "name": "goldPeriodNum", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "level", "type": "uint256" } ], "name": "getCurrentPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "level", "type": "uint256" }, { "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "getPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "goldCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "goldMaxNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "image", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "maxBuy", "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": [], "name": "perPeriodAddPriceGold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "perPeriodAddPricePlatinum", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "periodGold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "periodPlatinum", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "platinumCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "platinumMaxNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "_baseURIPrefix", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "level", "type": "uint256" }, { "internalType": "string", "name": "_description", "type": "string" }, { "internalType": "string", "name": "_image", "type": "string" } ], "name": "setMetadata", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startPriceGold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "startPricePlatinum", "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "tokensOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "start", "type": "uint256" }, { "internalType": "uint256", "name": "stop", "type": "uint256" } ], "name": "tokensOfOwnerIn", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "treasuryAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
6706789848d451200060075567014b5379d3c0c00060085566616a583fbdc00060095566137807ed5e8000600a556064600b556101f4600c55601e600d556000600f8190556103e860105560a0604052608090815260119062000063908262000218565b503480156200007157600080fd5b506040518060400160405280600e81526020016d42656e63686d61726b205061737360901b81525060405180604001604052806002815260200161042560f41b8152508160009081620000c5919062000218565b506001620000d4828262000218565b505050620000f1620000eb6200011d60201b60201c565b62000121565b600e80546001600160a01b031916735650c7939a14e1321aa11d97a236161ab31acb36179055620002e4565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b0381111562000234576200023462000173565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612b3c80620002f46000396000f3fe60806040526004361061023b5760003560e01c80638462151c1161012e578063bf15b558116100ab578063d6febde81161006f578063d6febde8146106a3578063ddb2139d146106b6578063ddc1044a146106cc578063e985e9c5146106e2578063f2fde38b1461072b57600080fd5b8063bf15b55814610617578063c176fe211461062d578063c5f956af14610643578063c79178c614610663578063c87b56dd1461068357600080fd5b806399a2557a116100f257806399a2557a1461058b578063a090b493146105ab578063a22cb465146105c1578063af3f44fa146105e1578063b88d4fde146105f757600080fd5b80638462151c146104ff57806385b404e81461052c5780638da5cb5b146105425780639135fdb91461056057806395d89b411461057657600080fd5b80633008dba9116101bc5780636352211e116101805780636352211e1461047f5780636c0360eb1461049f57806370a08231146104b457806370db69d6146104d4578063715018a6146104ea57600080fd5b80633008dba9146103e957806342842e0e146103ff57806355f804b31461041f57806359f9f50f1461043f5780635cf4ee911461045f57600080fd5b806318160ddd1161020357806318160ddd146103155780631aa7c1ce1461032a57806322684db01461038957806323b872dd146103a95780632c5f13e0146103c957600080fd5b806301ffc9a71461024057806306fdde0314610275578063081812fc14610297578063095ea7b3146102cf5780630e462ef8146102f1575b600080fd5b34801561024c57600080fd5b5061026061025b366004611ffb565b61074b565b60405190151581526020015b60405180910390f35b34801561028157600080fd5b5061028a61079d565b60405161026c9190612068565b3480156102a357600080fd5b506102b76102b236600461207b565b61082f565b6040516001600160a01b03909116815260200161026c565b3480156102db57600080fd5b506102ef6102ea3660046120ab565b610856565b005b3480156102fd57600080fd5b50610307600c5481565b60405190815260200161026c565b34801561032157600080fd5b50610307610970565b34801561033657600080fd5b5061033f610994565b604080519a8b5260208b0199909952978901969096526060880194909452608087019290925260a086015260c085015260e08401526101008301526101208201526101400161026c565b34801561039557600080fd5b506103076103a436600461207b565b610a6a565b3480156103b557600080fd5b506102ef6103c43660046120d5565b610aa6565b3480156103d557600080fd5b5061028a6103e436600461207b565b610ad7565b3480156103f557600080fd5b5061030760095481565b34801561040b57600080fd5b506102ef61041a3660046120d5565b610b71565b34801561042b57600080fd5b506102ef61043a366004612111565b610b8c565b34801561044b57600080fd5b506102ef61045a36600461222f565b610ba1565b34801561046b57600080fd5b5061030761047a36600461229c565b610be0565b34801561048b57600080fd5b506102b761049a36600461207b565b610dda565b3480156104ab57600080fd5b5061028a610e3a565b3480156104c057600080fd5b506103076104cf3660046122be565b610e47565b3480156104e057600080fd5b50610307600d5481565b3480156104f657600080fd5b506102ef610ecd565b34801561050b57600080fd5b5061051f61051a3660046122be565b610ee1565b60405161026c91906122d9565b34801561053857600080fd5b5061030760085481565b34801561054e57600080fd5b506006546001600160a01b03166102b7565b34801561056c57600080fd5b5061030760075481565b34801561058257600080fd5b5061028a610fbf565b34801561059757600080fd5b5061051f6105a636600461231d565b610fce565b3480156105b757600080fd5b50610307600f5481565b3480156105cd57600080fd5b506102ef6105dc366004612350565b611141565b3480156105ed57600080fd5b5061030761177081565b34801561060357600080fd5b506102ef61061236600461238c565b611150565b34801561062357600080fd5b506103076103e881565b34801561063957600080fd5b50610307600a5481565b34801561064f57600080fd5b50600e546102b7906001600160a01b031681565b34801561066f57600080fd5b5061028a61067e36600461207b565b611182565b34801561068f57600080fd5b5061028a61069e36600461207b565b61119b565b6102ef6106b136600461229c565b611293565b3480156106c257600080fd5b5061030760105481565b3480156106d857600080fd5b50610307600b5481565b3480156106ee57600080fd5b506102606106fd366004612408565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561073757600080fd5b506102ef6107463660046122be565b611432565b60006001600160e01b031982166380ac58cd60e01b148061077c57506001600160e01b03198216635b5e139f60e01b145b8061079757506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546107ac9061243b565b80601f01602080910402602001604051908101604052809291908181526020018280546107d89061243b565b80156108255780601f106107fa57610100808354040283529160200191610825565b820191906000526020600020905b81548152906001019060200180831161080857829003601f168201915b5050505050905090565b600061083a826114ab565b506000908152600460205260409020546001600160a01b031690565b600061086182610dda565b9050806001600160a01b0316836001600160a01b0316036108d35760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806108ef57506108ef81336106fd565b6109615760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016108ca565b61096b838361150a565b505050565b60006103e8601054600f54610985919061248b565b61098f919061249e565b905090565b600f546103e86000808080808080806109ae816001610be0565b60095490985096506109c46103e861177061249e565b93506103e86010546109d6919061249e565b94506109e3600180610be0565b9250600a54915060006109f66000610a6a565b90506000610a046001610a6a565b90506000600b54836001610a18919061248b565b610a2291906124b1565b90506000600c54836001610a36919061248b565b610a4091906124b1565b9050610a4c8e8361249e565b9950610a58898261249e565b94505050505090919293949596979899565b600081600103610a9157600c546103e8601054610a87919061249e565b61079791906124c8565b600b54600f5461079791906124c8565b919050565b610ab03382611578565b610acc5760405162461bcd60e51b81526004016108ca906124ea565b61096b8383836115f7565b60126020526000908152604090208054610af09061243b565b80601f0160208091040260200160405190810160405280929190818152602001828054610b1c9061243b565b8015610b695780601f10610b3e57610100808354040283529160200191610b69565b820191906000526020600020905b815481529060010190602001808311610b4c57829003601f168201915b505050505081565b61096b83838360405180602001604052806000815250611150565b610b9461175b565b601161096b828483612585565b610ba961175b565b6000838152601260205260409020610bc18382612646565b506000838152601360205260409020610bda8282612646565b50505050565b6000600d54821115610c275760405162461bcd60e51b815260206004820152601060248201526f696e76616c6964207175616e7469747960801b60448201526064016108ca565b6000610c3284610a6a565b905083600103610d0d576000600a5482610c4c91906124b1565b600854610c59919061248b565b90506000600a5482610c6b919061248b565b90506000600c54846001610c7f919061248b565b610c8991906124b1565b905060006103e8601054610c9d919061249e565b905081610caa888361248b565b11610cc557610cb984886124b1565b95505050505050610797565b6000610cd1828461249e565b90506000610cdf828a61249e565b9050610ceb85826124b1565b610cf587846124b1565b610cff919061248b565b975050505050505050610797565b600060095482610d1d91906124b1565b600754610d2a919061248b565b9050600060095482610d3c919061248b565b90506000600b54846001610d50919061248b565b610d5a91906124b1565b90508086600f54610d6b919061248b565b11610d8557610d7a83876124b1565b945050505050610797565b6000600f5482610d95919061249e565b90506000610da3828961249e565b9050610daf84826124b1565b610db986846124b1565b610dc3919061248b565b9650505050505050610797565b5050505092915050565b6000818152600260205260408120546001600160a01b0316806107975760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108ca565b60118054610af09061243b565b60006001600160a01b038216610eb15760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016108ca565b506001600160a01b031660009081526003602052604090205490565b610ed561175b565b610edf60006117b5565b565b60606000610eee83610e47565b905060008167ffffffffffffffff811115610f0b57610f0b612183565b604051908082528060200260200182016040528015610f34578160200160208202803683370190505b509050600160006117705b8482108015610f4e5750808311155b15610fb4576000838152600260205260409020546001600160a01b039081169088168103610fa157838584610f8281612706565b955081518110610f9457610f9461271f565b6020026020010181815250505b83610fab81612706565b94505050610f3f565b509195945050505050565b6060600180546107ac9061243b565b60608183106110135760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964517565727952616e676560781b60448201526064016108ca565b600183101561102157600192505b61177080831115611030578092505b600061103b86610e47565b905083851015611070576000611051868661249e565b61105c90600161248b565b90508181101561106a578091505b50611074565b5060005b60008167ffffffffffffffff81111561108f5761108f612183565b6040519080825280602002602001820160405280156110b8578160200160208202803683370190505b5090508560005b83811080156110ce5750868211155b15611134576000828152600260205260409020546001600160a01b03908116908a1681036111215782848361110281612706565b9450815181106111145761111461271f565b6020026020010181815250505b8261112b81612706565b935050506110bf565b8252509695505050505050565b61114c338383611807565b5050565b61115a3383611578565b6111765760405162461bcd60e51b81526004016108ca906124ea565b610bda848484846118d5565b60136020526000908152604090208054610af09061243b565b60606000601180546111ac9061243b565b905011156111bd5761079782611908565b6111c6826114ab565b604080518082019091526008815267706c6174696e756d60c01b60208201526000906103e884111561121357505060408051808201909152600481526319dbdb1960e21b60208201526001905b600061121e8561196f565b61122661079d565b600085815260136020908152604080832060128352928190209051611250959493928891016127c1565b604051602081830303815290604052905061126a81611a02565b60405160200161127a9190612904565b6040516020818303038152906040529350505050919050565b60018111156112d45760405162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081b195d995b609a1b60448201526064016108ca565b60006112e08284610be0565b9050803410156113325760405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e74207061796d656e7420616d6f756e74000000000060448201526064016108ca565b600e546040516000916001600160a01b03169083908381818185875af1925050503d806000811461137f576040519150601f19603f3d011682016040523d82523d6000602084013e611384565b606091505b50509050806113a55760405162461bcd60e51b81526004016108ca90612949565b813411156114275760006113b9833461249e565b604051909150600090339083908381818185875af1925050503d80600081146113fe576040519150601f19603f3d011682016040523d82523d6000602084013e611403565b606091505b50509050806114245760405162461bcd60e51b81526004016108ca90612949565b50505b610bda338585611b54565b61143a61175b565b6001600160a01b03811661149f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108ca565b6114a8816117b5565b50565b6000818152600260205260409020546001600160a01b03166114a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108ca565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061153f82610dda565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061158483610dda565b9050806001600160a01b0316846001600160a01b031614806115cb57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806115ef5750836001600160a01b03166115e48461082f565b6001600160a01b0316145b949350505050565b826001600160a01b031661160a82610dda565b6001600160a01b0316146116305760405162461bcd60e51b81526004016108ca906129a6565b6001600160a01b0382166116925760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016108ca565b826001600160a01b03166116a582610dda565b6001600160a01b0316146116cb5760405162461bcd60e51b81526004016108ca906129a6565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6006546001600160a01b03163314610edf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108ca565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036118685760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108ca565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6118e08484846115f7565b6118ec84848484611c72565b610bda5760405162461bcd60e51b81526004016108ca906129eb565b6060611913826114ab565b600061191d611d73565b9050600081511161193d5760405180602001604052806000815250611968565b806119478461196f565b604051602001611958929190612a3d565b6040516020818303038152906040525b9392505050565b6060600061197c83611d82565b600101905060008167ffffffffffffffff81111561199c5761199c612183565b6040519080825280601f01601f1916602001820160405280156119c6576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846119d057509392505050565b60608151600003611a2157505060408051602081019091526000815290565b6000604051806060016040528060408152602001612ac76040913990506000600384516002611a50919061248b565b611a5a91906124c8565b611a659060046124b1565b67ffffffffffffffff811115611a7d57611a7d612183565b6040519080825280601f01601f191660200182016040528015611aa7576020820181803683370190505b509050600182016020820185865187015b80821015611b13576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250611ab8565b5050600386510660018114611b2f5760028114611b4257610fb4565b603d6001830353603d6002830353610fb4565b603d6001830353509195945050505050565b80600103611be557601054611770611b6c848361248b565b1115611bac5760405162461bcd60e51b815260206004820152600f60248201526e6d617820676f6c6420737570706c7960881b60448201526064016108ca565b60005b83811015611bdc57611bc082612706565b9150611bcc8583611e5a565b611bd581612706565b9050611baf565b50601055505050565b600f546103e8611bf5848361248b565b1115611c395760405162461bcd60e51b81526020600482015260136024820152726d617820706c6174696e756d20737570706c7960681b60448201526064016108ca565b60005b83811015611c6957611c4d82612706565b9150611c598583611e5a565b611c6281612706565b9050611c3c565b50600f55505050565b60006001600160a01b0384163b15611d6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611cb6903390899088908890600401612a6c565b6020604051808303816000875af1925050508015611cf1575060408051601f3d908101601f19168201909252611cee91810190612aa9565b60015b611d4e573d808015611d1f576040519150601f19603f3d011682016040523d82523d6000602084013e611d24565b606091505b508051600003611d465760405162461bcd60e51b81526004016108ca906129eb565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506115ef565b506001949350505050565b6060601180546107ac9061243b565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611dc15772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611ded576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611e0b57662386f26fc10000830492506010015b6305f5e1008310611e23576305f5e100830492506008015b6127108310611e3757612710830492506004015b60648310611e49576064830492506002015b600a83106107975760010192915050565b6001600160a01b038216611eb05760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108ca565b6000818152600260205260409020546001600160a01b031615611f155760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108ca565b6000818152600260205260409020546001600160a01b031615611f7a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108ca565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b0319811681146114a857600080fd5b60006020828403121561200d57600080fd5b813561196881611fe5565b60005b8381101561203357818101518382015260200161201b565b50506000910152565b60008151808452612054816020860160208601612018565b601f01601f19169290920160200192915050565b602081526000611968602083018461203c565b60006020828403121561208d57600080fd5b5035919050565b80356001600160a01b0381168114610aa157600080fd5b600080604083850312156120be57600080fd5b6120c783612094565b946020939093013593505050565b6000806000606084860312156120ea57600080fd5b6120f384612094565b925061210160208501612094565b9150604084013590509250925092565b6000806020838503121561212457600080fd5b823567ffffffffffffffff8082111561213c57600080fd5b818501915085601f83011261215057600080fd5b81358181111561215f57600080fd5b86602082850101111561217157600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156121b4576121b4612183565b604051601f8501601f19908116603f011681019082821181831017156121dc576121dc612183565b816040528093508581528686860111156121f557600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261222057600080fd5b61196883833560208501612199565b60008060006060848603121561224457600080fd5b83359250602084013567ffffffffffffffff8082111561226357600080fd5b61226f8783880161220f565b9350604086013591508082111561228557600080fd5b506122928682870161220f565b9150509250925092565b600080604083850312156122af57600080fd5b50508035926020909101359150565b6000602082840312156122d057600080fd5b61196882612094565b6020808252825182820181905260009190848201906040850190845b81811015612311578351835292840192918401916001016122f5565b50909695505050505050565b60008060006060848603121561233257600080fd5b61233b84612094565b95602085013595506040909401359392505050565b6000806040838503121561236357600080fd5b61236c83612094565b91506020830135801515811461238157600080fd5b809150509250929050565b600080600080608085870312156123a257600080fd5b6123ab85612094565b93506123b960208601612094565b925060408501359150606085013567ffffffffffffffff8111156123dc57600080fd5b8501601f810187136123ed57600080fd5b6123fc87823560208401612199565b91505092959194509250565b6000806040838503121561241b57600080fd5b61242483612094565b915061243260208401612094565b90509250929050565b600181811c9082168061244f57607f821691505b60208210810361246f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561079757610797612475565b8181038181111561079757610797612475565b808202811582820484141761079757610797612475565b6000826124e557634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b601f82111561096b57600081815260208120601f850160051c8101602086101561255e5750805b601f850160051c820191505b8181101561257d5782815560010161256a565b505050505050565b67ffffffffffffffff83111561259d5761259d612183565b6125b1836125ab835461243b565b83612537565b6000601f8411600181146125e557600085156125cd5750838201355b600019600387901b1c1916600186901b17835561263f565b600083815260209020601f19861690835b8281101561261657868501358255602094850194600190920191016125f6565b50868210156126335760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b815167ffffffffffffffff81111561266057612660612183565b6126748161266e845461243b565b84612537565b602080601f8311600181146126a957600084156126915750858301515b600019600386901b1c1916600185901b17855561257d565b600085815260208120601f198616915b828110156126d8578886015182559484019460019091019084016126b9565b50858210156126f65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161271857612718612475565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60008151612747818560208601612018565b9290920192915050565b6000815461275e8161243b565b60018281168015612776576001811461278b57610dd0565b60ff1984168752821515830287019450610dd0565b8560005260208060002060005b858110156127b15781548a820152908401908201612798565b5050509590910195945050505050565b607b60f81b81526a113a37b5b2b724b2111d1160a91b600182015285516000906127f281600c850160208b01612018565b61088b60f21b600c91840191820181905267113730b6b2911d1160c11b600e8301528751612827816016850160208c01612018565b60169201918201819052681134b6b0b3b2911d1160b91b60188301526128506021830188612751565b9081526e113232b9b1b934b83a34b7b7111d1160891b600282015290506128f86128eb6128dc6128d6612897612889601187018b612751565b61088b60f21b815260020190565b7f2261747472696275746573223a5b7b2274726169745f74797065223a226c657681526c32b61116113b30b63ab2911d1160991b6020820152602d0190565b87612735565b62227d5d60e81b815260030190565b607d60f81b815260010190565b98975050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161293c81601d850160208701612018565b91909101601d0192915050565b6020808252603a908201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260408201527f6563697069656e74206d61792068617665207265766572746564000000000000606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351612a4f818460208801612018565b835190830190612a63818360208801612018565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612a9f9083018461203c565b9695505050505050565b600060208284031215612abb57600080fd5b815161196881611fe556fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa26469706673582212200718f1387a995d69758d29b7ffef5a11f7cfe2ee518f551b67a98e0c994afd7664736f6c63430008140033