48 txs
69 calls
constructor
constructor(address owner, address _treasuryAddress, address _backendSigner, address _tournamentPass, address _lootcrateReward, address _tournamentAssetManager) payable
functions
backendSigner
viewfunction backendSigner() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
erc20
viewfunction erc20() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hashMessage
purefunction hashMessage(uint256 tournamentId, uint256 amount, address user, address tokenAddress, uint256 timestamp, uint256 characterId) pure returns (bytes32)
hasPaid
viewfunction hasPaid(address userAddr, uint256 tournamentId) view returns (bool)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isSupportedToken
viewfunction isSupportedToken(address _address) view returns (bool)
lootcrateReward
viewfunction lootcrateReward() view returns (address)
recoverSigner
purefunction recoverSigner(uint256 tournamentId, uint256 amount, address user, bytes32 r, bytes32 s, uint8 v, address tokenAddress, uint256 timestamp, uint256 characterId) pure returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tournamentAccumulatedAmount
viewfunction tournamentAccumulatedAmount(uint256, address) view returns (uint256)
tournamentAssetManager
viewfunction tournamentAssetManager() view returns (address)
tournamentPass
viewfunction tournamentPass() view returns (address)
tournamentPassId
viewfunction tournamentPassId(uint256) view returns (uint256)
treasuryAddress
viewfunction treasuryAddress() view returns (address)
addSupportedTokens
nonpayablefunction addSupportedTokens(address _address)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
joinWithTournamentPass
nonpayablefunction joinWithTournamentPass(uint256 tournamentId, uint256 characterId)
pay
nonpayablefunction pay(uint256 tournamentId, bytes32 _r, bytes32 _s, uint8 _v, address tokenAddress, uint256 amount, uint256 timestamp, uint256 characterId)
pay
payablefunction pay(uint256 tournamentId, bytes32 _r, bytes32 _s, uint8 _v, uint256 timestamp, uint256 characterId) payable
removeSupportedAddress
nonpayablefunction removeSupportedAddress(address _address)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setBackendSigner
nonpayablefunction setBackendSigner(address _address)
setLootcrateId
nonpayablefunction setLootcrateId(uint256 _lootcrateId)
setLootcrateRewardAddress
nonpayablefunction setLootcrateRewardAddress(address _address)
setTournamentAssetManagerAddress
nonpayablefunction setTournamentAssetManagerAddress(address _tam)
setTournamentPassAddress
nonpayablefunction setTournamentPassAddress(address _address)
setTournamentPassId
nonpayablefunction setTournamentPassId(uint256 tournamentId, uint256 passId)
setTreasuryAddress
nonpayablefunction setTreasuryAddress(address _address)
withdrawToken
nonpayablefunction withdrawToken(address tokenAddress)
events
PaymentReceived
event PaymentReceived(uint256 indexed amount, address indexed from, uint256 indexed tournamentId, address tokenAddress, uint256 characterId)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
InvalidLootBoxId
error InvalidLootBoxId()
NotASupportedToken
error NotASupportedToken()
NoTournamentPass
error NoTournamentPass()
SignatureExpired
error SignatureExpired()
TournamentAlreadyStarted
error TournamentAlreadyStarted()
creation bytecode
0x60806040526001600a5560405162002ad538038062002ad58339810160408190526200002b916200021d565b62000038600087620000fc565b620000647fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177586620000fc565b600180546001600160a01b03199081166001600160a01b03978816178255600280548216968816969096179095556000805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df805460ff191690911790556003805485169386169390931790925560048054841691851691909117905560058054909216921691909117905550620002b5565b6200010882826200010c565b5050565b62000118828262000194565b62000108576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001503390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff165b92915050565b60006001600160a01b038216620001b9565b620001dc81620001bf565b8114620001e857600080fd5b50565b8051620001b981620001d1565b6000620001b982620001bf565b620001dc81620001f8565b8051620001b98162000205565b60008060008060008060c087890312156200023b576200023b600080fd5b6000620002498989620001eb565b96505060206200025c89828a01620001eb565b95505060406200026f89828a01620001eb565b94505060606200028289828a0162000210565b93505060806200029589828a0162000210565b92505060a0620002a889828a0162000210565b9150509295509295509295565b61281080620002c56000396000f3fe6080604052600436106101e35760003560e01c80638a9d037511610102578063c5f956af11610095578063e96da99f11610064578063e96da99f146105d2578063f00a9d2b146105e5578063f0f8d5991461061d578063f36802b51461063d57600080fd5b8063c5f956af14610552578063d1d497ac14610572578063d2d1aefd14610592578063d547741f146105b257600080fd5b80639dc9fc20116100d15780639dc9fc20146104dd578063a217fddf146104fd578063a6e35ac214610512578063b4a5c9101461053257600080fd5b80638a9d03751461045057806391d14854146104705780639327650a1461049057806393ec52e5146104b057600080fd5b806362a2f9cc1161017a57806373ce77d61161014957806373ce77d6146103d057806376beffad146103f0578063785e9e8614610410578063894760691461043057600080fd5b806362a2f9cc1461034357806365d65e86146103635780636605bfda146103905780636feba684146103b057600080fd5b80632f2ff15d116101b65780632f2ff15d146102b657806336568abe146102d657806336f95670146102f6578063563a19911461031657600080fd5b806301ffc9a7146101e857806319685d241461021e578063240028e814610240578063248a9ca314610279575b600080fd5b3480156101f457600080fd5b50610208610203366004611975565b61065d565b60405161021591906119a8565b60405180910390f35b34801561022a57600080fd5b5061023e6102393660046119e6565b610694565b005b34801561024c57600080fd5b5061020861025b366004611a1b565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561028557600080fd5b506102a9610294366004611a4d565b60009081526020819052604090206001015490565b6040516102159190611a74565b3480156102c257600080fd5b5061023e6102d1366004611a82565b610737565b3480156102e257600080fd5b5061023e6102f1366004611a82565b610761565b34801561030257600080fd5b5061023e610311366004611a1b565b610797565b34801561032257600080fd5b50600354610336906001600160a01b031681565b6040516102159190611b01565b34801561034f57600080fd5b5061023e61035e366004611a1b565b610800565b34801561036f57600080fd5b50600254610383906001600160a01b031681565b6040516102159190611b18565b34801561039c57600080fd5b5061023e6103ab366004611a1b565b61085f565b3480156103bc57600080fd5b5061023e6103cb3660046119e6565b6108cb565b3480156103dc57600080fd5b5061023e6103eb366004611b3a565b610937565b3480156103fc57600080fd5b5061020861040b366004611bed565b6109e4565b34801561041c57600080fd5b50600c54610336906001600160a01b031681565b34801561043c57600080fd5b5061023e61044b366004611a1b565b610a0f565b34801561045c57600080fd5b50600554610336906001600160a01b031681565b34801561047c57600080fd5b5061020861048b366004611a82565b610ba8565b34801561049c57600080fd5b506102a96104ab366004611c20565b610bd1565b3480156104bc57600080fd5b506102a96104cb366004611a4d565b600b6020526000908152604090205481565b3480156104e957600080fd5b5061023e6104f8366004611a4d565b610c13565b34801561050957600080fd5b506102a9600081565b34801561051e57600080fd5b5061038361052d366004611caa565b610c74565b34801561053e57600080fd5b5061023e61054d3660046119e6565b610d0c565b34801561055e57600080fd5b50600154610383906001600160a01b031681565b34801561057e57600080fd5b5061023e61058d366004611d71565b610d78565b34801561059e57600080fd5b5061023e6105ad366004611d71565b610fc1565b3480156105be57600080fd5b5061023e6105cd366004611a82565b610ffd565b61023e6105e0366004611d93565b611022565b3480156105f157600080fd5b506102a9610600366004611a82565b600860209081526000928352604080842090915290825290205481565b34801561062957600080fd5b5061023e610638366004611a1b565b61103d565b34801561064957600080fd5b50600454610336906001600160a01b031681565b60006001600160e01b03198216637965db0b60e01b148061068e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000805160206127bb8339815191526106ac81611077565b6005546001600160a01b039081169083166106e25760405162461bcd60e51b81526004016106d990611e16565b60405180910390fd5b806001600160a01b0316836001600160a01b0316036107135760405162461bcd60e51b81526004016106d990611e51565b5050600580546001600160a01b0319166001600160a01b0392909216919091179055565b60008281526020819052604090206001015461075281611077565b61075c8383611084565b505050565b6001600160a01b03811633146107895760405162461bcd60e51b81526004016106d990611e61565b6107938282611108565b5050565b6000805160206127bb8339815191526107af81611077565b6002546001600160a01b03908116908316036107dd5760405162461bcd60e51b81526004016106d990611e51565b50600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000805160206127bb83398151915261081881611077565b6001600160a01b03821660009081526007602052604090205460ff16610793576001600160a01b0382166000908152600760205260409020805460ff191660011790555050565b6000805160206127bb83398151915261087781611077565b6001546001600160a01b039081169083168190036108a75760405162461bcd60e51b81526004016106d990611e51565b5050600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000805160206127bb8339815191526108e381611077565b6003546001600160a01b039081169083168190036109135760405162461bcd60e51b81526004016106d990611e51565b5050600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001546040516323b872dd60e01b81526001600160a01b03808716926323b872dd9261096b92339216908890600401611eb4565b6020604051808303816000875af115801561098a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ae9190611eef565b6109ca5760405162461bcd60e51b81526004016106d990611f3d565b6109da888888888888888861116d565b5050505050505050565b6001600160a01b03919091166000908152600660209081526040808320938352929052205460ff1690565b6000805160206127bb833981519152610a2781611077565b6001600160a01b038216610a615760405133904780156108fc02916000818181858888f1935050505015801561075c573d6000803e3d6000fd5b6001600160a01b03821660009081526007602052604090205460ff1615610b8f576040516370a0823160e01b815282906000906001600160a01b038316906370a0823190610ab3903090600401611b18565b602060405180830381865afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af49190611f58565b90508015610b895760405163a9059cbb60e01b81526001600160a01b0383169063a9059cbb90610b2a9033908590600401611f79565b6020604051808303816000875af1158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d9190611eef565b610b895760405162461bcd60e51b81526004016106d990611fc0565b50505050565b604051633df81df960e11b815260040160405180910390fd5b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600080878787878787604051602001610bef96959493929190611ff8565b60408051808303601f19018152919052805160209091012098975050505050505050565b6000805160206127bb833981519152610c2b81611077565b600a54808303610c4d5760405162461bcd60e51b81526004016106d990612086565b82600003610c6d5760405162461bcd60e51b81526004016106d9906120bf565b5050600a55565b600080610c858b8b8b888888610bd1565b604051602001610c9591906120cf565b604051602081830303815290604052805190602001209050600181878a8a60405160008152602001604052604051610cd09493929190612113565b6020604051602081039080840390855afa158015610cf2573d6000803e3d6000fd5b5050604051601f1901519c9b505050505050505050505050565b6000805160206127bb833981519152610d2481611077565b6004546001600160a01b03908116908316819003610d545760405162461bcd60e51b81526004016106d990611e51565b5050600480546001600160a01b0319166001600160a01b0392909216919091179055565b33610d8381846109e4565b15610da05760405162461bcd60e51b81526004016106d990612185565b600554604051634cef637d60e01b81526000916001600160a01b031690634cef637d90610dd1908790600401611a74565b602060405180830381865afa158015610dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e129190611f58565b905080421115610e355760405163e610054d60e01b815260040160405180910390fd5b6001600160a01b0380831660009081526006602090815260408083208884528252808320805460ff19166001179055600b909152808220546003549151627eeac760e11b81529093919091169062fdd58e90610e979087908690600401611f79565b602060405180830381865afa158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed89190611f58565b905080600003610efb57604051637397c32560e01b815260040160405180910390fd5b60035460405163124d91e560e01b81526001600160a01b039091169063124d91e590610f3090879086906001906004016121aa565b600060405180830381600087803b158015610f4a57600080fd5b505af1158015610f5e573d6000803e3d6000fd5b50505050610f6a611381565b60035460405187916001600160a01b03808816926000927f1b62b14661c6170c14c2685790bd2455ff1bd1e1dd393515cc6940008801022892610fb1929116908b90611f79565b60405180910390a4505050505050565b6005546001600160a01b03163314610feb5760405162461bcd60e51b81526004016106d9906121f6565b6000918252600b602052604090912055565b60008281526020819052604090206001015461101881611077565b61075c8383611108565b6000611034878787878534898961116d565b50505050505050565b6000805160206127bb83398151915261105581611077565b506001600160a01b03166000908152600760205260409020805460ff19169055565b6110818133611775565b50565b61108e8282610ba8565b610793576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556110c43390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111128282610ba8565b15610793576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b3360006111818a86848c8c8c8c8b8b610c74565b6002549091506001600160a01b038083169116146111b15760405162461bcd60e51b81526004016106d990612231565b6111bd84610258612257565b42106111dc57604051630819bdcd60e01b815260040160405180910390fd5b600554604051634cef637d60e01b81526000916001600160a01b031690634cef637d9061120d908e90600401611a74565b602060405180830381865afa15801561122a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124e9190611f58565b90508042106112705760405163e610054d60e01b815260040160405180910390fd5b6001600160a01b03871660009081526007602052604090205460ff166112a957604051633df81df960e11b815260040160405180910390fd5b6112b3838c6109e4565b156112d05760405162461bcd60e51b81526004016106d990612185565b6001600160a01b0380841660009081526006602090815260408083208f84528252808320805460ff1916600117905560088252808320938b1683529290529081208054889290611321908490612257565b9091555061132f9050611381565b8a836001600160a01b0316877f1b62b14661c6170c14c2685790bd2455ff1bd1e1dd393515cc694000880102288a8860405161136c929190611f79565b60405180910390a45050505050505050505050565b600a5460008190036113a657604051631928e26f60e11b815260040160405180910390fd5b600480546040805163266f190560e21b815290516001600160a01b03909216926399bc64149282820192602092908290030181865afa1580156113ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114119190611f58565b61141c906001612257565b811061143b57604051631928e26f60e11b815260040160405180910390fd5b6004805460405163020830ab60e41b81526000926001600160a01b03909216916320830ab09161146d91869101611a74565b600060405180830381865afa15801561148a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114b291908101906123bd565b80519091506000805b8281101561176e5760008482815181106114d7576114d76123f8565b60209081029190910181015190810151815160048054604051634db144ab60e01b8152949550929391926000926001600160a01b0390911691634db144ab9161152291869101611a74565b600060405180830381865afa15801561153f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115679190810190612483565b8051600454604051929350909160009182916001600160a01b0390911690611593908790602401611a74565b60408051601f198184030181529181526020820180516001600160e01b0316637fd5760b60e01b179052516115c89190612504565b6000604051808303816000865af19150503d8060008114611605576040519150601f19603f3d011682016040523d82523d6000602084013e61160a565b606091505b50915091508161162c5760405162461bcd60e51b81526004016106d99061253d565b805160601461164d5760405162461bcd60e51b81526004016106d990612575565b600080828060200190518101906116649190612590565b9250925050819a5060005b888110156117595760004233468e4386888a60095460405160200161169c999897969594939291906125e0565b60408051601f198184030181529190528051602090910120905060006116c28483612693565b90508781101561174f5760008982815181106116e0576116e06123f8565b602002602001015190508e6001600160a01b031663156e29f6338360016040518463ffffffff1660e01b815260040161171b939291906121aa565b600060405180830381600087803b15801561173557600080fd5b505af1158015611749573d6000803e3d6000fd5b50505050505b505060010161166f565b508960010199505050505050505050506114bb565b5050505050565b61177f8282610ba8565b6107935761178c816117ce565b6117978360206117e0565b6040516020016117a89291906126a7565b60408051601f198184030181529082905262461bcd60e51b82526106d991600401612731565b606061068e6001600160a01b03831660145b606060006117ef836002612742565b6117fa906002612257565b67ffffffffffffffff8111156118125761181261226a565b6040519080825280601f01601f19166020018201604052801561183c576020820181803683370190505b509050600360fc1b81600081518110611857576118576123f8565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611886576118866123f8565b60200101906001600160f81b031916908160001a90535060006118aa846002612742565b6118b5906001612257565b90505b600181111561192d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106118e9576118e96123f8565b1a60f81b8282815181106118ff576118ff6123f8565b60200101906001600160f81b031916908160001a90535060049490941c9361192681612761565b90506118b8565b50831561194c5760405162461bcd60e51b81526004016106d9906127aa565b9392505050565b6001600160e01b031981165b811461108157600080fd5b803561068e81611953565b60006020828403121561198a5761198a600080fd5b6000611996848461196a565b949350505050565b8015155b82525050565b6020810161068e828461199e565b60006001600160a01b03821661068e565b600061068e826119b6565b61195f816119c7565b803561068e816119d2565b6000602082840312156119fb576119fb600080fd5b600061199684846119db565b61195f816119b6565b803561068e81611a07565b600060208284031215611a3057611a30600080fd5b60006119968484611a10565b8061195f565b803561068e81611a3c565b600060208284031215611a6257611a62600080fd5b60006119968484611a42565b806119a2565b6020810161068e8284611a6e565b60008060408385031215611a9857611a98600080fd5b6000611aa48585611a42565b9250506020611ab585828601611a10565b9150509250929050565b600061068e6001600160a01b038316611ad6565b90565b6001600160a01b031690565b600061068e82611abf565b600061068e82611ae2565b6119a281611aed565b6020810161068e8284611af8565b6119a2816119b6565b6020810161068e8284611b0f565b60ff811661195f565b803561068e81611b26565b600080600080600080600080610100898b031215611b5a57611b5a600080fd5b6000611b668b8b611a42565b9850506020611b778b828c01611a42565b9750506040611b888b828c01611a42565b9650506060611b998b828c01611b2f565b9550506080611baa8b828c01611a10565b94505060a0611bbb8b828c01611a42565b93505060c0611bcc8b828c01611a42565b92505060e0611bdd8b828c01611a42565b9150509295985092959890939650565b60008060408385031215611c0357611c03600080fd5b6000611c0f8585611a10565b9250506020611ab585828601611a42565b60008060008060008060c08789031215611c3c57611c3c600080fd5b6000611c488989611a42565b9650506020611c5989828a01611a42565b9550506040611c6a89828a01611a10565b9450506060611c7b89828a01611a10565b9350506080611c8c89828a01611a42565b92505060a0611c9d89828a01611a42565b9150509295509295509295565b60008060008060008060008060006101208a8c031215611ccc57611ccc600080fd5b6000611cd88c8c611a42565b9950506020611ce98c828d01611a42565b9850506040611cfa8c828d01611a10565b9750506060611d0b8c828d01611a42565b9650506080611d1c8c828d01611a42565b95505060a0611d2d8c828d01611b2f565b94505060c0611d3e8c828d01611a10565b93505060e0611d4f8c828d01611a42565b925050610100611d618c828d01611a42565b9150509295985092959850929598565b60008060408385031215611d8757611d87600080fd5b6000611c0f8585611a42565b60008060008060008060c08789031215611daf57611daf600080fd5b6000611dbb8989611a42565b9650506020611dcc89828a01611a42565b9550506040611ddd89828a01611a42565b9450506060611c7b89828a01611b2f565b600e81526000602082016d496e76616c69644164647265737360901b815291505b5060200190565b6020808252810161068e81611dee565b601481526000602082017373616d65417343757272656e744164647265737360601b81529150611e0f565b6020808252810161068e81611e26565b6020808252810161068e81602f81527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560208201526e103937b632b9903337b91039b2b63360891b604082015260600190565b60608101611ec28286611b0f565b611ecf6020830185611b0f565b6119966040830184611a6e565b80151561195f565b805161068e81611edc565b600060208284031215611f0457611f04600080fd5b60006119968484611ee4565b60168152600060208201754572726f724f6e5472616e7366657272696e6746656560501b81529150611e0f565b6020808252810161068e81611f10565b805161068e81611a3c565b600060208284031215611f6d57611f6d600080fd5b60006119968484611f4d565b60408101611f878285611b0f565b61194c6020830184611a6e565b6015815260006020820174151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b81529150611e0f565b6020808252810161068e81611f94565b600061068e8260601b90565b600061068e82611fd0565b6119a2611ff3826119b6565b611fdc565b60006120048289611a6e565b6020820191506120148288611a6e565b6020820191506120248287611fe7565b6014820191506120348286611fe7565b6014820191506120448285611a6e565b6020820191506120548284611a6e565b506020019695505050505050565b600d81526000602082016c1cd85b59505cd0dd5c9c995b9d609a1b81529150611e0f565b6020808252810161068e81612062565b6012815260006020820171125b9d985b1a59131bdbdd18dc985d19525960721b81529150611e0f565b6020808252810161068e81612096565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c0160006121018284611a6e565b50602001919050565b60ff81166119a2565b608081016121218287611a6e565b61212e602083018661210a565b61213b6040830185611a6e565b6121486060830184611a6e565b95945050505050565b601c81526000602082017f416c726561647950616964466f7254686973546f75726e616d656e740000000081529150611e0f565b6020808252810161068e81612151565b600061068e611ad38381565b6119a281612195565b606081016121b88286611b0f565b6121c56020830185611a6e565b61199660408301846121a1565b600d81526000602082016c24b73b30b634b221b0b63632b960991b81529150611e0f565b6020808252810161068e816121d2565b601481526000602082017324b73b30b634b22130b1b5b2b73229b4b3b732b960611b81529150611e0f565b6020808252810161068e81612206565b634e487b7160e01b600052601160045260246000fd5b8082018082111561068e5761068e612241565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff821117156122a6576122a661226a565b6040525050565b60006122b860405190565b90506122c48282612280565b919050565b600067ffffffffffffffff8211156122e3576122e361226a565b5060209081020190565b60006040828403121561230257612302600080fd5b61230c60406122ad565b9050600061231a8484611f4d565b825250602061232b84848301611f4d565b60208301525092915050565b600061234a612345846122c9565b6122ad565b8381529050602081016040840283018581111561236957612369600080fd5b835b8181101561238f578061237e88826122ed565b84525060209092019160400161236b565b5050509392505050565b600082601f8301126123ad576123ad600080fd5b8151611996848260208601612337565b6000602082840312156123d2576123d2600080fd5b815167ffffffffffffffff8111156123ec576123ec600080fd5b61199684828501612399565b634e487b7160e01b600052603260045260246000fd5b600061241c612345846122c9565b8381529050602080820190840283018581111561243b5761243b600080fd5b835b8181101561238f57806124508882611f4d565b8452506020928301920161243d565b600082601f83011261247357612473600080fd5b815161199684826020860161240e565b60006020828403121561249857612498600080fd5b815167ffffffffffffffff8111156124b2576124b2600080fd5b6119968482850161245f565b60005b838110156124d95781810151838201526020016124c1565b50506000910152565b60006124ec825190565b6124fa8185602086016124be565b9290920192915050565b600061194c82846124e2565b60168152600060208201754661696c6564546f466574636844726f705461626c6560501b81529150611e0f565b6020808252810161068e81612510565b6011815260006020820170092dcecc2d8d2c888c2e8c298cadccee8d607b1b81529150611e0f565b6020808252810161068e8161254d565b805161068e81611a07565b6000806000606084860312156125a8576125a8600080fd5b60006125b48686611f4d565b93505060206125c586828701612585565b92505060406125d686828701611f4d565b9150509250925092565b60006125ec828c611a6e565b6020820191506125fc828b611fe7565b60148201915061260c828a611a6e565b60208201915061261c8289611a6e565b60208201915061262c8288611a6e565b60208201915061263c8287611a6e565b60208201915061264c8286611a6e565b60208201915061265c8285611fe7565b60148201915061266c8284611a6e565b506020019998505050505050505050565b634e487b7160e01b600052601260045260246000fd5b6000826126a2576126a261267d565b500690565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260170160006126d982856124e2565b7001034b99036b4b9b9b4b733903937b6329607d1b8152601101915061199682846124e2565b6000612709825190565b8084526020840193506127208185602086016124be565b601f01601f19169290920192915050565b6020808252810161194c81846126ff565b81810280821583820485141761275a5761275a612241565b5092915050565b60008161277057612770612241565b506000190190565b60208082527f537472696e67733a20686578206c656e67746820696e73756666696369656e7491019081526000611e0f565b6020808252810161068e8161277856fea49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a264697066735822122053ee95e46e385f572116643c211041d92d92b5869d411f880509422d1072a89564736f6c634300081300330000000000000000000000002472d36f785ca4cfad266269081cbb7fca8e31fe000000000000000000000000d960dd5d7aa13d9d523693f990a8c426ef186660000000000000000000000000d960dd5d7aa13d9d523693f990a8c426ef1866600000000000000000000000007ce59d204d4f6649557362a0fdb1aa08486552c200000000000000000000000041faaa5335f05f616dac62b5f8b836b5444b7b1300000000000000000000000077645e2b1ca840c2ffc7ab43c4267b0f0fd54eea