[ { "inputs": [ { "internalType": "address", "name": "token_", "type": "address" }, { "internalType": "address", "name": "reward_", "type": "address" }, { "internalType": "address", "name": "NFT_", "type": "address" }, { "internalType": "uint256", "name": "lockTime_", "type": "uint256" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "LockTime", "type": "uint256" } ], "name": "SetLockTime", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "NFT", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "changeOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claimRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "max", "type": "uint256" } ], "name": "clamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "depositRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "numTokens", "type": "uint256" }, { "internalType": "uint16", "name": "numRare", "type": "uint16" }, { "internalType": "uint16", "name": "numStandard", "type": "uint16" } ], "name": "determineRewardAmount", "outputs": [ { "internalType": "uint256", "name": "rewardPoints", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" } ], "name": "fetchRarities", "outputs": [ { "internalType": "uint16", "name": "numRare", "type": "uint16" }, { "internalType": "uint16", "name": "numStandard", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "getNFTsStaked", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "getUserInfo", "outputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "rewardAmount", "type": "uint256" }, { "internalType": "uint256", "name": "unlockTime", "type": "uint256" }, { "internalType": "uint256", "name": "totalExcluded", "type": "uint256" }, { "internalType": "uint256[]", "name": "nftsStaked", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "ownerOfTokenId", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "shareholder", "type": "address" } ], "name": "pendingRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reward", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLockTime", "type": "uint256" } ], "name": "setLockTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newNFT", "type": "address" } ], "name": "setNFT", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" } ], "name": "stake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "timeUntilUnlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalRewardAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalRewards", "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": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256[]", "name": "nftIds", "type": "uint256[]" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token_", "type": "address" } ], "name": "withdrawForeignToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e06040523480156200001157600080fd5b506040516200288d3803806200288d8339810160408190526200003491620002cb565b600080546001600160a01b0319163390811782556040519091907f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a735908290a3600180556001600160a01b038616158015906200009857506001600160a01b03851615155b8015620000ad57506001600160a01b03841615155b620000ed5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640160405180910390fd5b6001600160a01b0386811660a05285811660c052600580546001600160a01b031916918616919091179055600483905560026200012b838262000405565b5060036200013a828262000405565b50856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a09190620004d1565b60ff16608052604051600080825233917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050620004fd565b80516001600160a01b03811681146200020157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200022e57600080fd5b81516001600160401b03808211156200024b576200024b62000206565b604051601f8301601f19908116603f0116810190828211818310171562000276576200027662000206565b816040528381526020925086838588010111156200029357600080fd5b600091505b83821015620002b7578582018301518183018401529082019062000298565b600093810190920192909252949350505050565b60008060008060008060c08789031215620002e557600080fd5b620002f087620001e9565b95506200030060208801620001e9565b94506200031060408801620001e9565b6060880151608089015191955093506001600160401b03808211156200033557600080fd5b620003438a838b016200021c565b935060a08901519150808211156200035a57600080fd5b506200036989828a016200021c565b9150509295509295509295565b600181811c908216806200038b57607f821691505b602082108103620003ac57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200040057600081815260208120601f850160051c81016020861015620003db5750805b601f850160051c820191505b81811015620003fc57828155600101620003e7565b5050505b505050565b81516001600160401b0381111562000421576200042162000206565b620004398162000432845462000376565b84620003b2565b602080601f831160018114620004715760008415620004585750858301515b600019600386901b1c1916600185901b178555620003fc565b600085815260208120601f198616915b82811015620004a25788860151825594840194600190910190840162000481565b5085821015620004c15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620004e457600080fd5b815160ff81168114620004f657600080fd5b9392505050565b60805160a05160c05161233d62000550600039600081816102f00152818161169c01526119df0152600081816105c2015281816109ba015281816112eb01526114c101526000610361015261233d6000f3fe6080604052600436106101bb5760003560e01c806370a08231116100ec57806395d89b411161008a578063d0228e8f11610064578063d0228e8f14610550578063d63a4d5c14610570578063f56e9c6614610590578063fc0c546a146105b057600080fd5b806395d89b41146104fb578063a6f9dae114610510578063ae04d45d1461053057600080fd5b8063885a4cd0116100c6578063885a4cd014610487578063893d20e8146104a75780638bdf67f2146104c55780638e73064f146104e557600080fd5b806370a082311461041157806372af35ff146104475780637c0b8de21461046757600080fd5b8063228cb7331161015957806331d7a2621161013357806331d7a2621461038b578063372500ab146103ab5780635915d806146103c05780636386c1c7146103e057600080fd5b8063228cb733146102de57806323e0798614610312578063313ce5671461034d57600080fd5b806312e8ac061161019557806312e8ac061461022c57806316f605571461027a57806318160ddd1461029c5780631e9f1fa8146102b157600080fd5b806306fdde03146101c75780630d668087146101f25780630e15561a1461021657600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6105e4565b6040516101e99190611e47565b60405180910390f35b3480156101fe57600080fd5b5061020860045481565b6040519081526020016101e9565b34801561022257600080fd5b5061020860075481565b34801561023857600080fd5b50610262610247366004611e95565b600b602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561028657600080fd5b5061029a610295366004611eae565b610676565b005b3480156102a857600080fd5b50600854610208565b3480156102bd57600080fd5b506102d16102cc366004611f42565b610b25565b6040516101e99190611f9a565b3480156102ea57600080fd5b506102627f000000000000000000000000000000000000000000000000000000000000000081565b34801561031e57600080fd5b5061033261032d366004611fc3565b610b52565b6040805161ffff9384168152929091166020830152016101e9565b34801561035957600080fd5b5060405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101e9565b34801561039757600080fd5b506102086103a6366004611f42565b610c19565b3480156103b757600080fd5b5061029a610cba565b3480156103cc57600080fd5b5061029a6103db366004611eae565b610cf0565b3480156103ec57600080fd5b506104006103fb366004611f42565b6113f2565b6040516101e9959493929190612081565b34801561041d57600080fd5b5061020861042c366004611f42565b6001600160a01b031660009081526006602052604090205490565b34801561045357600080fd5b506102086104623660046120ce565b611446565b34801561047357600080fd5b50600554610262906001600160a01b031681565b34801561049357600080fd5b5061029a6104a2366004611f42565b61148b565b3480156104b357600080fd5b506000546001600160a01b0316610262565b3480156104d157600080fd5b5061029a6104e0366004611e95565b611666565b3480156104f157600080fd5b5061020860095481565b34801561050757600080fd5b506101dc6116fd565b34801561051c57600080fd5b5061029a61052b366004611f42565b61170c565b34801561053c57600080fd5b5061029a61054b366004611e95565b611791565b34801561055c57600080fd5b5061020861056b366004611f42565b61183e565b34801561057c57600080fd5b5061020861058b36600461210a565b611894565b34801561059c57600080fd5b5061029a6105ab366004611f42565b6118ac565b3480156105bc57600080fd5b506102627f000000000000000000000000000000000000000000000000000000000000000081565b6060600280546105f39061212c565b80601f016020809104026020016040519081016040528092919081815260200182805461061f9061212c565b801561066c5780601f106106415761010080835404028352916020019161066c565b820191906000526020600020905b81548152906001019060200180831161064f57829003601f168201915b5050505050905090565b6002600154036106a15760405162461bcd60e51b815260040161069890612166565b60405180910390fd5b600260019081553360009081526006602052604090200154156106c7576106c73361193d565b8060005b818110156109b25760055433906001600160a01b0316636352211e8686858181106106f8576106f861219d565b905060200201356040518263ffffffff1660e01b815260040161071d91815260200190565b602060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e91906121b3565b6001600160a01b0316146107a65760405162461bcd60e51b815260206004820152600f60248201526e2737ba102a37b5b2b71027bbb732b960891b6044820152606401610698565b6005546001600160a01b03166323b872dd33308787868181106107cb576107cb61219d565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801561082257600080fd5b505af1158015610836573d6000803e3d6000fd5b50506005543092506001600160a01b03169050636352211e8686858181106108605761086061219d565b905060200201356040518263ffffffff1660e01b815260040161088591815260200190565b602060405180830381865afa1580156108a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c691906121b3565b6001600160a01b0316146109105760405162461bcd60e51b815260206004820152601160248201527022b93937b91037b7102a3930b739b332b960791b6044820152606401610698565b33600b60008686858181106109275761092761219d565b90506020020135815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506109a960066000336001600160a01b03166001600160a01b0316815260200190815260200160002060040185858481811061099d5761099d61219d565b90506020020135611a95565b506001016106cb565b5060006109df7f000000000000000000000000000000000000000000000000000000000000000086611aa1565b6008805482019055336000908152600660205260408120805483018155600480544201600283015592935090918291610a1c9161032d9101611c4e565b3360009081526006602052604081205492945090925090610a3e908484611446565b33600090815260066020526040902060010154909150811115610a83573360009081526006602052604090206001018054600980549184039091019055819055610aa8565b3360009081526006602052604090206001018054600980549184900390910390558190555b33600090815260066020526040902060010154610ac490611c5b565b336000818152600660205260408082206003019390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b0f908c815260200190565b60405180910390a3505060018055505050505050565b6001600160a01b0381166000908152600660205260409020606090610b4c90600401611c4e565b92915050565b80516000908190815b81811015610c125760055485516001600160a01b0390911690631fe09da390879084908110610b8c57610b8c61219d565b60200260200101516040518263ffffffff1660e01b8152600401610bb291815260200190565b602060405180830381865afa158015610bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf391906121d0565b15610c0357836001019350610c0a565b8260010192505b600101610b5b565b5050915091565b6001600160a01b0381166000908152600660205260408120600101548103610c4357506000919050565b6001600160a01b038216600090815260066020526040812060010154610c6890611c5b565b6001600160a01b038416600090815260066020526040902060030154909150808211610c98575060009392505050565b80821115610caf57610caa8183612208565b610cb2565b60005b949350505050565b600260015403610cdc5760405162461bcd60e51b815260040161069890612166565b6002600155610cea3361193d565b60018055565b600260015403610d125760405162461bcd60e51b815260040161069890612166565b600260015533600090815260066020526040902054831115610d6c5760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b6044820152606401610698565b60008311610daa5760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8105b5bdd5b9d60aa1b6044820152606401610698565b610db33361193d565b8260086000828254610dc59190612208565b90915550503360009081526006602052604081208054859290610de9908490612208565b9091555081905060005b818110156111a65760055430906001600160a01b0316636352211e868685818110610e2057610e2061219d565b905060200201356040518263ffffffff1660e01b8152600401610e4591815260200190565b602060405180830381865afa158015610e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8691906121b3565b6001600160a01b031614610ec95760405162461bcd60e51b815260206004820152600a602482015269139bdd0814dd185ad95960b21b6044820152606401610698565b33600b6000868685818110610ee057610ee061219d565b60209081029290920135835250810191909152604001600020546001600160a01b031614610f425760405162461bcd60e51b815260206004820152600f60248201526e2737ba102a37b5b2b71027bbb732b960891b6044820152606401610698565b336000908152600660205260409020610f7690600401858584818110610f6a57610f6a61219d565b90506020020135611c7e565b610fc25760405162461bcd60e51b815260206004820152601a60248201527f4e6f74205265676973746572656420496e20436f6e74726163740000000000006044820152606401610698565b336000908152600660205260409020610ff690600401858584818110610fea57610fea61219d565b90506020020135611c96565b50600b600085858481811061100d5761100d61219d565b6020908102929092013583525081019190915260400160002080546001600160a01b03191690556005546001600160a01b03166323b872dd30338787868181106110595761105961219d565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b1580156110b057600080fd5b505af11580156110c4573d6000803e3d6000fd5b50506005543092506001600160a01b03169050636352211e8686858181106110ee576110ee61219d565b905060200201356040518263ffffffff1660e01b815260040161111391815260200190565b602060405180830381865afa158015611130573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115491906121b3565b6001600160a01b03160361119e5760405162461bcd60e51b815260206004820152601160248201527022b93937b91037b7102a3930b739b332b960791b6044820152606401610698565b600101610df3565b503360009081526006602052604081205490036111e15733600090815260066020526040812060010180546009805491909103905555611292565b33600090815260066020526040812081906112029061032d90600401611c4e565b3360009081526006602052604081205492945090925090611224908484611446565b3360009081526006602052604090206001015490915081111561126957336000908152600660205260409020600101805460098054918403909101905581905561128e565b3360009081526006602052604090206001018054600980549184900390910390558190555b5050505b336000908152600660205260409020600101546112ae90611c5b565b336000818152600660205260409081902060030192909255905163a9059cbb60e01b81526004810191909152602481018590526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611334573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135891906121d0565b6113b05760405162461bcd60e51b815260206004820152602360248201527f4661696c757265204f6e20546f6b656e205472616e7366657220546f2053656e6044820152623232b960e91b6064820152608401610698565b60405184815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050600180555050565b6001600160a01b038116600090815260066020526040812080546001820154600283015460038401548594859485946060949193909261143490600401611c4e565b939a9299509097509550909350915050565b600061148161145683600c61221b565b61146185601861221b565b61146c906004612241565b6114769190612241565b61ffff166064611894565b610cb2908561225c565b6000546001600160a01b031633146114b55760405162461bcd60e51b815260040161069890612273565b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316036115365760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74205769746864726177205374616b656420546f6b656e000000006044820152606401610698565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015611584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a891906122a0565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156115f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161791906121d0565b6116635760405162461bcd60e51b815260206004820152601960248201527f4661696c757265204f6e20546f6b656e205769746864726177000000000000006044820152606401610698565b50565b6002600154036116885760405162461bcd60e51b815260040161069890612166565b6002600155600954156116f65760006116c17f000000000000000000000000000000000000000000000000000000000000000083611aa1565b9050600954670de0b6b3a76400008202816116de576116de6122b9565b600a8054929091049190910190556007805490910190555b5060018055565b6060600380546105f39061212c565b6000546001600160a01b031633146117365760405162461bcd60e51b815260040161069890612273565b600080546040516001600160a01b03808516939216917f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73591a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146117bb5760405162461bcd60e51b815260040161069890612273565b629896808111156118035760405162461bcd60e51b81526020600482015260126024820152714c6f636b2054696d6520546f6f204c6f6e6760701b6044820152606401610698565b60048190556040518181527fc086f5f6e9e89874e8a7189be0f242117750ec05ebe4fe22a4d33e5668acdbc09060200160405180910390a150565b6001600160a01b038116600090815260066020526040812060020154421161188c576001600160a01b038216600090815260066020526040902060020154611887904290612208565b610b4c565b600092915050565b60008183116118a357826118a5565b815b9392505050565b6000546001600160a01b031633146118d65760405162461bcd60e51b815260040161069890612273565b6001600160a01b03811661191b5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b6044820152606401610698565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811660009081526006602052604081206001015490036119625750565b600061196d82610c19565b90508060000361197b575050565b6001600160a01b0382166000908152600660205260409020600101546119a090611c5b565b6001600160a01b038381166000818152600660205260409081902060030193909355915163a9059cbb60e01b81526004810192909252602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4c91906121d0565b611a915760405162461bcd60e51b81526020600482015260166024820152754661696c757265204f6e20546f6b656e20436c61696d60501b6044820152606401610698565b5050565b60006118a58383611ca2565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015611aea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0e91906122a0565b6040516323b872dd60e01b8152336004820152306024820152604481018590529091506001600160a01b038516906323b872dd906064016020604051808303816000875af1158015611b64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8891906121d0565b506040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015611bd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf491906122a0565b9050818111611c3b5760405162461bcd60e51b815260206004820152601360248201527222b93937b91027b7102a3930b739b332b924b760691b6044820152606401610698565b611c458282612208565b95945050505050565b606060006118a583611cf1565b6000670de0b6b3a7640000600a5483611c74919061225c565b610b4c91906122cf565b600081815260018301602052604081205415156118a5565b60006118a58383611d4d565b6000818152600183016020526040812054611ce957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b4c565b506000610b4c565b606081600001805480602002602001604051908101604052809291908181526020018280548015611d4157602002820191906000526020600020905b815481526020019060010190808311611d2d575b50505050509050919050565b60008181526001830160205260408120548015611e36576000611d71600183612208565b8554909150600090611d8590600190612208565b9050808214611dea576000866000018281548110611da557611da561219d565b9060005260206000200154905080876000018481548110611dc857611dc861219d565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611dfb57611dfb6122f1565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b4c565b6000915050610b4c565b5092915050565b600060208083528351808285015260005b81811015611e7457858101830151858201604001528201611e58565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215611ea757600080fd5b5035919050565b600080600060408486031215611ec357600080fd5b83359250602084013567ffffffffffffffff80821115611ee257600080fd5b818601915086601f830112611ef657600080fd5b813581811115611f0557600080fd5b8760208260051b8501011115611f1a57600080fd5b6020830194508093505050509250925092565b6001600160a01b038116811461166357600080fd5b600060208284031215611f5457600080fd5b81356118a581611f2d565b600081518084526020808501945080840160005b83811015611f8f57815187529582019590820190600101611f73565b509495945050505050565b6020815260006118a56020830184611f5f565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611fd657600080fd5b823567ffffffffffffffff80821115611fee57600080fd5b818501915085601f83011261200257600080fd5b81358181111561201457612014611fad565b8060051b604051601f19603f8301168101818110858211171561203957612039611fad565b60405291825284820192508381018501918883111561205757600080fd5b938501935b828510156120755784358452938501939285019261205c565b98975050505050505050565b85815284602082015283604082015282606082015260a0608082015260006120ac60a0830184611f5f565b979650505050505050565b803561ffff811681146120c957600080fd5b919050565b6000806000606084860312156120e357600080fd5b833592506120f3602085016120b7565b9150612101604085016120b7565b90509250925092565b6000806040838503121561211d57600080fd5b50508035926020909101359150565b600181811c9082168061214057607f821691505b60208210810361216057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156121c557600080fd5b81516118a581611f2d565b6000602082840312156121e257600080fd5b815180151581146118a557600080fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610b4c57610b4c6121f2565b61ffff818116838216028082169190828114612239576122396121f2565b505092915050565b61ffff818116838216019080821115611e4057611e406121f2565b8082028115828204841417610b4c57610b4c6121f2565b60208082526013908201527221b0b63632b91034b9903737ba1037bbb732b960691b604082015260600190565b6000602082840312156122b257600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b6000826122ec57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfea26469706673582212202e9261effc6633aeac313e4182dd172a008785cedff1098cd7a96b9ca8c18cb564736f6c6343000814003300000000000000000000000096b1599f6d6b542a85dedab026f1d0b9b5d8611000000000000000000000000096b1599f6d6b542a85dedab026f1d0b9b5d86110000000000000000000000000d024f7df7506310614792f562356505a1aafd45d000000000000000000000000000000000000000000000000000000000013c68000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000145374616b656420534c4159202831352044617929000000000000000000000000000000000000000000000000000000000000000000000000000000000000000553534c4159000000000000000000000000000000000000000000000000000000