0 txs
0 calls
constructor
No constructor.
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
assetManager
viewfunction assetManager() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
erc20PaymentAddress
viewfunction erc20PaymentAddress() view returns (address)
ethPaymentAddress
viewfunction ethPaymentAddress() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getSimulation
viewfunction getSimulation(uint256 id) view returns (tuple)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
lastSimulationId
viewfunction lastSimulationId() view returns (uint256)
lootcrateNft
viewfunction lootcrateNft() view returns (address)
maxParticipant
viewfunction maxParticipant() view returns (uint256)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
SCHEDULER_ROLE
viewfunction SCHEDULER_ROLE() view returns (bytes32)
simulationMap
viewfunction simulationMap(uint256) view returns (uint256 id, uint256 maxPlayer, uint8 paymentMethod, uint256 fee, uint256 startTime, uint256 period, uint256 endTime, string url, uint8 status, string cancellationMessage, address tokenAddress, address scheduler)
simulationParticipation
viewfunction simulationParticipation() view returns (address)
simulationRewardInfo
viewfunction simulationRewardInfo(uint256) view returns (uint256 id, uint8 winnerTeam, uint256 lootBoxId, uint256 hddLootBoxId, address hddLootBoxWinnerAddress, uint256 hhLootBoxId, address hhLootBoxWinnerAddress, uint256 mvpLootBoxId, address mvpLootBoxWinnerAddress)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
SYNC_ROLE
viewfunction SYNC_ROLE() view returns (bytes32)
cancelSimulation
nonpayablefunction cancelSimulation(uint256 _simulationId, string _reason)
endSimulation
nonpayablefunction endSimulation(tuple _data)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address owner, address _simulationParticipation, address _lootcrateNft, address _ethPaymentAddress, address _erc20PaymentAddress)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
scheduleSimulation
nonpayablefunction scheduleSimulation(tuple _data)
setAssetManagerAddress
nonpayablefunction setAssetManagerAddress(address _address)
setErc20PaymentAddress
nonpayablefunction setErc20PaymentAddress(address _erc20PaymentAddress)
setEthPaymentAddress
nonpayablefunction setEthPaymentAddress(address _ethPaymentAddress)
setMaxParticipant
nonpayablefunction setMaxParticipant(uint256 _maxParticipant)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
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)
SimulationCancelled
event SimulationCancelled(uint256 indexed simulationId)
SimulationCompleted
event SimulationCompleted(uint256 indexed simulationId, string winnerTeam, string logsUrl)
SimulationScheduled
event SimulationScheduled(uint256 indexed simulationId, address _address, address tokenAddress)
Upgraded
event Upgraded(address indexed implementation)
errors
IncompleteParticipantsData
error IncompleteParticipantsData()
InvalidFee
error InvalidFee()
InvalidPaymentType
error InvalidPaymentType()
NotASupportedToken
error NotASupportedToken()
SimulationAlreadyCancelled
error SimulationAlreadyCancelled()
SimulationAlreadySynced
error SimulationAlreadySynced()
SimulationNotScheduled
error SimulationNotScheduled()
creation bytecode
0x60a06040523060805234801561001457600080fd5b506080516141b061004c60003960008181610c1101528181610c510152818161106e015281816110ae015261113d01526141b06000f3fe6080604052600436106101d85760003560e01c806359cb711d11610102578063c8ad179c11610095578063e364e5d811610064578063e364e5d814610614578063e3bf44b914610634578063f66f84d714610654578063fe8e99431461067457600080fd5b8063c8ad179c14610527578063cca7f32e14610547578063d547741f14610568578063e10b967e1461058857600080fd5b806391d14854116100d157806391d14854146104b157806394217ad1146104d1578063a217fddf146104f2578063bbc7bb111461050757600080fd5b806359cb711d146104175780635c8ab63d1461044557806375b238fc146104795780639094836a1461049b57600080fd5b806325cf7c291161017a5780633a9b1828116101495780633a9b1828146103af5780633be76910146103cf5780634f1ef286146103ef57806352d1902d1461040257600080fd5b806325cf7c291461031b5780632f2ff15d1461034f57806336568abe1461036f5780633659cfe61461038f57600080fd5b806313fa7980116101b657806313fa7980146102785780631459457a146102a65780631e4f2479146102c8578063248a9ca3146102eb57600080fd5b8063018bb035146101dd57806301ffc9a71461021e578063106098261461024b575b600080fd5b3480156101e957600080fd5b506101fd6101f8366004612af7565b610694565b6040516102159c9b9a99989796959493929190612c07565b60405180910390f35b34801561022a57600080fd5b5061023e610239366004612ce3565b61081d565b6040516102159190612d0c565b34801561025757600080fd5b5061026b610266366004612af7565b610854565b6040516102159190612e1e565b34801561028457600080fd5b5061010154610299906001600160a01b031681565b6040516102159190612e71565b3480156102b257600080fd5b506102c66102c1366004612eb2565b610a65565b005b3480156102d457600080fd5b506102de60fd5481565b6040516102159190612f2a565b3480156102f757600080fd5b506102de610306366004612af7565b60009081526065602052604090206001015490565b34801561032757600080fd5b506102de7fbb1ef2b79fa8154a13ffa50bd30e5f91ed93ff9b924bd04be671240cbc9d4b7181565b34801561035b57600080fd5b506102c661036a366004612f38565b610ba7565b34801561037b57600080fd5b506102c661038a366004612f38565b610bd1565b34801561039b57600080fd5b506102c66103aa366004612f75565b610c07565b3480156103bb57600080fd5b506102c66103ca366004612fe7565b610ce6565b3480156103db57600080fd5b506102c66103ea366004612f75565b611028565b6102c66103fd36600461312e565b611064565b34801561040e57600080fd5b506102de611130565b34801561042357600080fd5b5061010254610438906001600160a01b031681565b604051610215919061317b565b34801561045157600080fd5b506102de7f2c0e86ef42968f843b5fc3a6f6d421401da96923e1a6a2299b016956535a3b8281565b34801561048557600080fd5b506102de60008051602061415b83398151915281565b3480156104a757600080fd5b506102de60fb5481565b3480156104bd57600080fd5b5061023e6104cc366004612f38565b61118d565b3480156104dd57600080fd5b5061010054610299906001600160a01b031681565b3480156104fe57600080fd5b506102de600081565b34801561051357600080fd5b506102c66105223660046131a5565b6111b8565b34801561053357600080fd5b506102c6610542366004612af7565b611c29565b34801561055357600080fd5b5061010354610438906001600160a01b031681565b34801561057457600080fd5b506102c6610583366004612f38565b611c47565b34801561059457600080fd5b506105ff6105a3366004612af7565b60fe60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600890980154969760ff90961696949593946001600160a01b0393841694929391821692911689565b6040516102159998979695949392919061320d565b34801561062057600080fd5b5060ff54610299906001600160a01b031681565b34801561064057600080fd5b506102c661064f366004612f75565b611c6c565b34801561066057600080fd5b506102c661066f3660046133b1565b611ca8565b34801561068057600080fd5b506102c661068f366004612f75565b6121a3565b60fc60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880180549798969760ff909616969495939492939192916106e4906133e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610710906133e9565b801561075d5780601f106107325761010080835404028352916020019161075d565b820191906000526020600020905b81548152906001019060200180831161074057829003601f168201915b5050506008840154600985018054949560ff909216949193509150610781906133e9565b80601f01602080910402602001604051908101604052809291908181526020018280546107ad906133e9565b80156107fa5780601f106107cf576101008083540402835291602001916107fa565b820191906000526020600020905b8154815290600101906020018083116107dd57829003601f168201915b50505050600a830154600b9093015491926001600160a01b03908116921690508c565b60006001600160e01b03198216637965db0b60e01b148061084e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b61085c612a5d565b600082815260fc602090815260409182902082516101808101845281548152600182015492810192909252600280820154929391929184019160ff16908111156108a8576108a8612b20565b60028111156108b9576108b9612b20565b8152602001600382015481526020016004820154815260200160058201548152602001600682015481526020016007820180546108f5906133e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610921906133e9565b801561096e5780601f106109435761010080835404028352916020019161096e565b820191906000526020600020905b81548152906001019060200180831161095157829003601f168201915b5050509183525050600882015460209091019060ff16600581111561099557610995612b20565b60058111156109a6576109a6612b20565b81526020016009820180546109ba906133e9565b80601f01602080910402602001604051908101604052809291908181526020018280546109e6906133e9565b8015610a335780601f10610a0857610100808354040283529160200191610a33565b820191906000526020600020905b815481529060010190602001808311610a1657829003601f168201915b5050509183525050600a8201546001600160a01b039081166020830152600b9092015490911660409091015292915050565b600054610100900460ff1615808015610a855750600054600160ff909116105b80610a9f5750303b158015610a9f575060005460ff166001145b610ac45760405162461bcd60e51b8152600401610abb9061345d565b60405180910390fd5b6000805460ff191660011790558015610ae7576000805461ff0019166101001790555b610af26000876121df565b600a60fd5560ff80546001600160a01b038088166001600160a01b03199283161790925561010180548784169083161790556101028054868416908316179055610103805492851692909116919091179055610b4c6121e9565b610b546121e9565b8015610b9f576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610b9690600190613481565b60405180910390a15b505050505050565b600082815260656020526040902060010154610bc281612212565b610bcc838361221c565b505050565b6001600160a01b0381163314610bf95760405162461bcd60e51b8152600401610abb906134db565b610c0382826122a2565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c4f5760405162461bcd60e51b8152600401610abb90613534565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c98600080516020614114833981519152546001600160a01b031690565b6001600160a01b031614610cbe5760405162461bcd60e51b8152600401610abb9061358d565b610cc781612309565b60408051600080825260208201909252610ce391839190612330565b50565b7fbb1ef2b79fa8154a13ffa50bd30e5f91ed93ff9b924bd04be671240cbc9d4b71610d1081612212565b600084815260fc60205260408120549003610d3e57604051636b58927760e01b815260040160405180910390fd5b600084815260fc602052604090206002600882015460ff166005811115610d6757610d67612b20565b03610d855760405163d8c837cd60e01b815260040160405180910390fd5b6001600882015460ff166005811115610da057610da0612b20565b03610dbe5760405163017bd87b60e01b815260040160405180910390fd5b60098101610dcd84868361363a565b5042600682015560088101805460ff1916600117905560ff546040516308e2bd6d60e01b81526001600160a01b03909116906308e2bd6d90610e13908890600401612f2a565b600060405180830381600087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b5050610100546040516328f755a360e11b81526001600160a01b0390911692506351eeab469150610e799088906000906004016136fd565b600060405180830381600087803b158015610e9357600080fd5b505af1158015610ea7573d6000803e3d6000fd5b505060ff54604051633a649fd560e11b8152600093508392506001600160a01b03909116906374c93faa90610ee0908a90600401612f2a565b602060405180830381865afa158015610efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f219190613723565b1115610ff557600160028084015460ff1690811115610f4257610f42612b20565b03610f5a5750610102546001600160a01b0316610f87565b60028281015460ff1681811115610f7357610f73612b20565b03610f875750610103546001600160a01b03165b600a82015460038301546040516366ff33d760e01b81526001600160a01b03848116936366ff33d793610fc2938c9390921691600401613744565b600060405180830381600087803b158015610fdc57600080fd5b505af1158015610ff0573d6000803e3d6000fd5b505050505b60405186907fad83b84c2df1b341580797619012ce8cd157501989c86e71b373759989a7a30290600090a2505050505050565b60008051602061415b83398151915261104081612212565b5061010380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036110ac5760405162461bcd60e51b8152600401610abb90613534565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110f5600080516020614114833981519152546001600160a01b031690565b6001600160a01b03161461111b5760405162461bcd60e51b8152600401610abb9061358d565b61112482612309565b610c0382826001612330565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461117a5760405162461bcd60e51b8152600401610abb906137c6565b5060008051602061411483398151915290565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b7fbb1ef2b79fa8154a13ffa50bd30e5f91ed93ff9b924bd04be671240cbc9d4b716111e281612212565b8135600081815260fc6020526040812054900361121257604051636b58927760e01b815260040160405180910390fd5b600081815260fc602052604090206002600882015460ff16600581111561123b5761123b612b20565b036112595760405163d8c837cd60e01b815260040160405180910390fd5b6001600882015460ff16600581111561127457611274612b20565b036112925760405163017bd87b60e01b815260040160405180910390fd5b600082815260fe602052604080822060ff549151623bdf6f60e21b81529092916001600160a01b03169062ef7dbc906112cf908790600401612f2a565b600060405180830381865afa1580156112ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113149190810190613878565b805190915061132660608801886138b2565b905014611346576040516313f4781160e21b815260040160405180910390fd5b60ff546040516323d2a82960e01b81526000916001600160a01b0316906323d2a82990611377908890600401612f2a565b6000604051808303816000875af1158015611396573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113be9190810190613878565b60ff5460405163078b3a6160e11b81529192506000916001600160a01b0390911690630f1674c2906113f4908990600401612f2a565b6000604051808303816000875af1158015611413573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261143b9190810190613878565b60408051600080825260208201909252919250506000600261146360608c0160408d01613928565b600381111561147457611474612b20565b146116285760008061148c60608d0160408e01613928565b600381111561149d5761149d612b20565b146114a857836114aa565b845b8051909150806001600160401b038111156114c7576114c7613042565b6040519080825280602002602001820160405280156114f0578160200160208202803683370190505b50935060005b818110156115ed57600083828151811061151257611512613949565b60200260200101519050600060ff60009054906101000a90046001600160a01b03166001600160a01b031663fb2314638e846040518363ffffffff1660e01b815260040161156192919061395f565b602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190613985565b9050808784815181106115b7576115b7613949565b6001600160a01b03928316602091820292909201015281166115d857600195505b505080806115e5906139bc565b9150506114f6565b506115fe60608d0160408e01613928565b6001808a018054909160ff199091169083600381111561162057611620612b20565b021790555050505b60006040518060c001604052808860050154815260200160ff60009054906101000a90046001600160a01b03166001600160a01b031663fb2314638c8f60e001356040518363ffffffff1660e01b815260040161168692919061395f565b602060405180830381865afa1580156116a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c79190613985565b6001600160a01b031681526020018860030154815260200160ff60009054906101000a90046001600160a01b03166001600160a01b031663fb2314638c8f61010001356040518363ffffffff1660e01b815260040161172792919061395f565b602060405180830381865afa158015611744573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117689190613985565b6001600160a01b031681526020018860070154815260200160ff60009054906101000a90046001600160a01b03166001600160a01b031663fb2314638c8f60c001356040518363ffffffff1660e01b81526004016117c792919061395f565b602060405180830381865afa1580156117e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118089190613985565b6001600160a01b03169052905061182260208c018c6139d6565b60078a019161183291908361363a565b5042600689015560088801805460ff1916600217905561185860608c0160408d01613928565b60018089018054909160ff199091169083600381111561187a5761187a612b20565b021790555080516005880155604081015160038801556080810151600788015560208101516006880180546001600160a01b03199081166001600160a01b039384161790915560608084015160048b018054841691851691909117905560a084015160088b0180549093169084161790915560ff54909116906385b4cfd3908b90611907908f018f6138b2565b6040518463ffffffff1660e01b815260040161192593929190613adc565b600060405180830381600087803b15801561193f57600080fd5b505af1158015611953573d6000803e3d6000fd5b5050610100546040516328f755a360e11b81526001600160a01b0390911692506351eeab46915061198b908c906001906004016136fd565b600060405180830381600087803b1580156119a557600080fd5b505af11580156119b9573d6000803e3d6000fd5b5050610100546001600160a01b031691506368d47be590506119de60808e018e6138b2565b6040518363ffffffff1660e01b81526004016119fb929190613b88565b600060405180830381600087803b158015611a1557600080fd5b505af1158015611a29573d6000803e3d6000fd5b5050610100546001600160a01b0316915063829bc6cd9050611a4e60a08e018e6138b2565b6040518363ffffffff1660e01b8152600401611a6b929190613c28565b600060405180830381600087803b158015611a8557600080fd5b505af1158015611a99573d6000803e3d6000fd5b50505050611aac87600201548483612412565b60ff54604051633a649fd560e11b81526000916001600160a01b0316906374c93faa90611add908d90600401612f2a565b602060405180830381865afa158015611afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1e9190613723565b1115611c1c57600060016002808b015460ff1690811115611b4157611b41612b20565b03611b595750610102546001600160a01b0316611b86565b60028981015460ff1681811115611b7257611b72612b20565b03611b865750610103546001600160a01b03165b806001600160a01b03166309294b928b868c600a0160009054906101000a90046001600160a01b0316878e600b0160009054906101000a90046001600160a01b03166040518663ffffffff1660e01b8152600401611be8959493929190613c8c565b600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050505b5050505050505050505050565b60008051602061415b833981519152611c4181612212565b5060fd55565b600082815260656020526040902060010154611c6281612212565b610bcc83836122a2565b60008051602061415b833981519152611c8481612212565b5061010080546001600160a01b0319166001600160a01b0392909216919091179055565b7f2c0e86ef42968f843b5fc3a6f6d421401da96923e1a6a2299b016956535a3b82611cd281612212565b600082602001516002811115611cea57611cea612b20565b03611d1757604082015115611d12576040516358d620b360e01b815260040160405180910390fd5b611d93565b600182602001516002811115611d2f57611d2f612b20565b1480611d505750600282602001516002811115611d4e57611d4e612b20565b145b15611d7a576000826040015111611d12576040516358d620b360e01b815260040160405180910390fd5b604051630e5525c360e31b815260040160405180910390fd5b60ff54610120830151604051630480051d60e31b81526001600160a01b039092169163240028e891611dc79160040161317b565b602060405180830381865afa158015611de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e089190613ce8565b611e2557604051633df81df960e11b815260040160405180910390fd5b60fb54611e33906001613d09565b60fb55815160009015611e47578251611e4b565b60fd545b905060405180610180016040528060fb54815260200182815260200184602001516002811115611e7d57611e7d612b20565b815260200184604001518152602001846060015181526020018460800151815260200184608001518560600151611eb49190613d09565b815260408051602081810183526000825283015201600581526020016040518060200160405280600081525081526020018461012001516001600160a01b031681526020018461014001516001600160a01b031681525060fc600060fb548152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836002811115611f5e57611f5e612b20565b0217905550606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e08201516007820190611f9f9082613d1c565b5061010082015160088201805460ff19166001836005811115611fc457611fc4612b20565b02179055506101208201516009820190611fde9082613d1c565b50610140820151600a820180546001600160a01b03199081166001600160a01b039384161790915561016090930151600b9092018054909316911617905560408051610120810190915260fb54815260208101600381526020018460a0015181526020018460c00151815260200160006001600160a01b031681526020018460e00151815260200160006001600160a01b03168152602001846101000151815260200160006001600160a01b031681525060fe600060fb5481526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908360038111156120d8576120d8612b20565b021790555060408281015160028301556060830151600383015560808301516004830180546001600160a01b03199081166001600160a01b039384161790915560a0850151600585015560c0850151600685018054831691841691909117905560e08501516007850155610100909401516008909301805490941692169190911790915560fb54610120850151915190917f4a66f16088f303fe143b4d55f993d67f21dc3e6eb80626bd5f9311b16fb026de91612196913391613dde565b60405180910390a2505050565b60008051602061415b8339815191526121bb81612212565b5061010280546001600160a01b0319166001600160a01b0392909216919091179055565b610c03828261221c565b600054610100900460ff166122105760405162461bcd60e51b8152600401610abb90613e41565b565b610ce381336126b2565b612226828261118d565b610c035760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561225e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6122ac828261118d565b15610c035760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b61231460003361118d565b610ce35760405162461bcd60e51b8152600401610abb90613e74565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561236357610bcc8361270b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156123bd575060408051601f3d908101601f191682019092526123ba91810190613723565b60015b6123d95760405162461bcd60e51b8152600401610abb90613ecf565b60008051602061411483398151915281146124065760405162461bcd60e51b8152600401610abb90613f25565b50610bcc838383612761565b815160005b818110156124f25761244a84828151811061243457612434613949565b60200260200101516001600160a01b0316151590565b801561245557508415155b156124e0576101015484516001600160a01b0390911690632baf2acb9086908490811061248457612484613949565b60200260200101518760016040518463ffffffff1660e01b81526004016124ad93929190613f3e565b600060405180830381600087803b1580156124c757600080fd5b505af11580156124db573d6000803e3d6000fd5b505050505b806124ea816139bc565b915050612417565b5060208201516001600160a01b03161515801561250f5750815115155b15612582576101015460208301518351604051632baf2acb60e01b81526001600160a01b0390931692632baf2acb9261254f929091600190600401613f3e565b600060405180830381600087803b15801561256957600080fd5b505af115801561257d573d6000803e3d6000fd5b505050505b60608201516001600160a01b0316151580156125a15750604082015115155b15612617576101015460608301516040808501519051632baf2acb60e01b81526001600160a01b0390931692632baf2acb926125e4929091600190600401613f3e565b600060405180830381600087803b1580156125fe57600080fd5b505af1158015612612573d6000803e3d6000fd5b505050505b60a08201516001600160a01b0316151580156126365750608082015115155b156126ac576101015460a08301516080840151604051632baf2acb60e01b81526001600160a01b0390931692632baf2acb92612679929091600190600401613f3e565b600060405180830381600087803b15801561269357600080fd5b505af11580156126a7573d6000803e3d6000fd5b505050505b50505050565b6126bc828261118d565b610c03576126c981612786565b6126d4836020612798565b6040516020016126e5929190613f88565b60408051601f198184030181529082905262461bcd60e51b8252610abb91600401613fe0565b6001600160a01b0381163b6127325760405162461bcd60e51b8152600401610abb9061403b565b60008051602061411483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61276a8361290a565b6000825111806127775750805b15610bcc576126ac838361294a565b606061084e6001600160a01b03831660145b606060006127a783600261404b565b6127b2906002613d09565b6001600160401b038111156127c9576127c9613042565b6040519080825280601f01601f1916602001820160405280156127f3576020820181803683370190505b509050600360fc1b8160008151811061280e5761280e613949565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061283d5761283d613949565b60200101906001600160f81b031916908160001a905350600061286184600261404b565b61286c906001613d09565b90505b60018111156128e4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106128a0576128a0613949565b1a60f81b8282815181106128b6576128b6613949565b60200101906001600160f81b031916908160001a90535060049490941c936128dd8161406a565b905061286f565b5083156129035760405162461bcd60e51b8152600401610abb906140b3565b9392505050565b6129138161270b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606129038383604051806060016040528060278152602001614134602791396060600080856001600160a01b03168560405161298791906140c3565b600060405180830381855af49150503d80600081146129c2576040519150601f19603f3d011682016040523d82523d6000602084013e6129c7565b606091505b50915091506129d8868383876129e2565b9695505050505050565b60608315612a21578251600003612a1a576001600160a01b0385163b612a1a5760405162461bcd60e51b8152600401610abb90614103565b5081612a2b565b612a2b8383612a33565b949350505050565b815115612a435781518083602001fd5b8060405162461bcd60e51b8152600401610abb9190613fe0565b604051806101800160405280600081526020016000815260200160006002811115612a8a57612a8a612b20565b8152602001600081526020016000815260200160008152602001600081526020016060815260200160006005811115612ac557612ac5612b20565b815260606020820181905260006040830181905291015290565b805b8114610ce357600080fd5b803561084e81612adf565b600060208284031215612b0c57612b0c600080fd5b6000612a2b8484612aec565b805b82525050565b634e487b7160e01b600052602160045260246000fd5b60038110610ce357610ce3612b20565b80612b5081612b36565b919050565b600061084e82612b46565b612b1a81612b55565b60005b83811015612b84578181015183820152602001612b6c565b50506000910152565b6000612b97825190565b808452602084019350612bae818560208601612b69565b601f01601f19169290920192915050565b60068110610ce357610ce3612b20565b80612b5081612bbf565b600061084e82612bcf565b612b1a81612bd9565b60006001600160a01b03821661084e565b612b1a81612bed565b6101808101612c16828f612b18565b612c23602083018e612b18565b612c30604083018d612b60565b612c3d606083018c612b18565b612c4a608083018b612b18565b612c5760a083018a612b18565b612c6460c0830189612b18565b81810360e0830152612c768188612b8d565b9050612c86610100830187612be4565b818103610120830152612c998186612b8d565b9050612ca9610140830185612bfe565b612cb7610160830184612bfe565b9d9c50505050505050505050505050565b6001600160e01b03198116612ae1565b803561084e81612cc8565b600060208284031215612cf857612cf8600080fd5b6000612a2b8484612cd8565b801515612b1a565b6020810161084e8284612d04565b8051600090610180840190612d2f8582612b18565b506020830151612d426020860182612b18565b506040830151612d556040860182612b60565b506060830151612d686060860182612b18565b506080830151612d7b6080860182612b18565b5060a0830151612d8e60a0860182612b18565b5060c0830151612da160c0860182612b18565b5060e083015184820360e0860152612db98282612b8d565b915050610100830151612dd0610100860182612be4565b50610120830151848203610120860152612dea8282612b8d565b915050610140830151612e01610140860182612bfe565b50610160830151612e16610160860182612bfe565b509392505050565b602080825281016129038184612d1a565b600061084e6001600160a01b038316612e46565b90565b6001600160a01b031690565b600061084e82612e2f565b600061084e82612e52565b612b1a81612e5d565b6020810161084e8284612e68565b612ae181612bed565b803561084e81612e7f565b600061084e82612bed565b612ae181612e93565b803561084e81612e9e565b600080600080600060a08688031215612ecd57612ecd600080fd5b6000612ed98888612e88565b9550506020612eea88828901612ea7565b9450506040612efb88828901612ea7565b9350506060612f0c88828901612e88565b9250506080612f1d88828901612e88565b9150509295509295909350565b6020810161084e8284612b18565b60008060408385031215612f4e57612f4e600080fd5b6000612f5a8585612aec565b9250506020612f6b85828601612e88565b9150509250929050565b600060208284031215612f8a57612f8a600080fd5b6000612a2b8484612e88565b60008083601f840112612fab57612fab600080fd5b5081356001600160401b03811115612fc557612fc5600080fd5b602083019150836001820283011115612fe057612fe0600080fd5b9250929050565b600080600060408486031215612fff57612fff600080fd5b600061300b8686612aec565b93505060208401356001600160401b0381111561302a5761302a600080fd5b61303686828701612f96565b92509250509250925092565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171561307d5761307d613042565b6040525050565b600061308f60405190565b9050612b508282613058565b60006001600160401b038211156130b4576130b4613042565b601f19601f83011660200192915050565b82818337506000910152565b60006130e46130df8461309b565b613084565b9050828152602081018484840111156130ff576130ff600080fd5b612e168482856130c5565b600082601f83011261311e5761311e600080fd5b8135612a2b8482602086016130d1565b6000806040838503121561314457613144600080fd5b60006131508585612e88565b92505060208301356001600160401b0381111561316f5761316f600080fd5b612f6b8582860161310a565b6020810161084e8284612bfe565b6000610120828403121561319f5761319f600080fd5b50919050565b6000602082840312156131ba576131ba600080fd5b81356001600160401b038111156131d3576131d3600080fd5b612a2b84828501613189565b60048110610ce357610ce3612b20565b80612b50816131df565b600061084e826131ef565b612b1a816131f9565b610120810161321c828c612b18565b613229602083018b613204565b613236604083018a612b18565b6132436060830189612b18565b6132506080830188612bfe565b61325d60a0830187612b18565b61326a60c0830186612bfe565b61327760e0830185612b18565b613285610100830184612bfe565b9a9950505050505050505050565b60038110610ce357600080fd5b803561084e81613293565b600061016082840312156132c1576132c1600080fd5b6132cc610160613084565b905060006132da8484612aec565b82525060206132eb848483016132a0565b60208301525060406132ff84828501612aec565b604083015250606061331384828501612aec565b606083015250608061332784828501612aec565b60808301525060a061333b84828501612aec565b60a08301525060c061334f84828501612aec565b60c08301525060e061336384828501612aec565b60e08301525061010061337884828501612aec565b6101008301525061012061338e84828501612e88565b610120830152506101406133a484828501612e88565b6101408301525092915050565b600061016082840312156133c7576133c7600080fd5b6000612a2b84846132ab565b634e487b7160e01b600052602260045260246000fd5b6002810460018216806133fd57607f821691505b60208210810361319f5761319f6133d3565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b602082015291505b5060400190565b6020808252810161084e8161340f565b600060ff821661084e565b612b1a8161346d565b6020810161084e8284613478565b602f81526000602082017f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636581526e103937b632b9903337b91039b2b63360891b60208201529150613456565b6020808252810161084e8161348f565b602c81526000602082017f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682081526b19195b1959d85d1958d85b1b60a21b60208201529150613456565b6020808252810161084e816134eb565b602c81526000602082017f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682081526b6163746976652070726f787960a01b60208201529150613456565b6020808252810161084e81613544565b600061084e612e438381565b6135b28361359d565b81546008840282811b60001990911b908116901990911617825550505050565b6000610bcc8184846135a9565b81811015610c03576135f26000826135d2565b6001016135df565b601f821115610bcc576000818152602090206020601f850104810160208510156136215750805b6136336020601f8601048301826135df565b5050505050565b826001600160401b0381111561365257613652613042565b61365c82546133e9565b6136678282856135fa565b6000601f83116001811461369b57600084156136835750858201355b600019600886021c19811660028602178655506136f4565b600085815260208120601f198616915b828110156136cb57888501358255602094850194600190920191016136ab565b868310156136e757600019601f88166008021c19858a01351682555b6001600288020188555050505b50505050505050565b6040810161370b8285612b18565b6129036020830184612d04565b805161084e81612adf565b60006020828403121561373857613738600080fd5b6000612a2b8484613718565b606081016137528286612b18565b61375f6020830185612bfe565b612a2b6040830184612b18565b603881526000602082017f555550535570677261646561626c653a206d757374206e6f742062652063616c81527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060208201529150613456565b6020808252810161084e8161376c565b60006001600160401b038211156137ef576137ef613042565b5060209081020190565b60006138076130df846137d6565b8381529050602080820190840283018581111561382657613826600080fd5b835b8181101561384a578061383b8882613718565b84525060209283019201613828565b5050509392505050565b600082601f83011261386857613868600080fd5b8151612a2b8482602086016137f9565b60006020828403121561388d5761388d600080fd5b81516001600160401b038111156138a6576138a6600080fd5b612a2b84828501613854565b6000808335601e19368590030181126138cd576138cd600080fd5b8084019250823591506001600160401b038211156138ed576138ed600080fd5b60208301925060608202360383131561390857613908600080fd5b509250929050565b60048110610ce357600080fd5b803561084e81613910565b60006020828403121561393d5761393d600080fd5b6000612a2b848461391d565b634e487b7160e01b600052603260045260246000fd5b6040810161396d8285612b18565b6129036020830184612b18565b805161084e81612e7f565b60006020828403121561399a5761399a600080fd5b6000612a2b848461397a565b634e487b7160e01b600052601160045260246000fd5b600060001982036139cf576139cf6139a6565b5060010190565b6000808335601e19368590030181126139f1576139f1600080fd5b8084019250823591506001600160401b03821115613a1157613a11600080fd5b60208301925060018202360383131561390857613908600080fd5b60006129036020840184612aec565b60608201613a498280613a2c565b613a538482612b18565b50613a616020830183613a2c565b613a6e6020850182612b18565b50613a7c6040830183613a2c565b6126ac6040850182612b18565b6000613a958383613a3b565b505060600190565b8183526000602084019350818060005b85811015613ad15781613ac08882613a89565b975060608301925050600101613aad565b509495945050505050565b60408101613aea8286612b18565b8181036020830152613afd818486613a9d565b95945050505050565b60006129036020840184612e88565b60608201613b238280613a2c565b613b2d8482612b18565b50613b3b6020830183613b06565b613a6e6020850182612bfe565b6000613a958383613b15565b8183526000602084019350818060005b85811015613ad15781613b778882613b48565b975060608301925050600101613b64565b60208082528101612a2b818486613b54565b60608201613ba88280613a2c565b613bb28482612b18565b50613bc06020830183613a2c565b613bcd6020850182612b18565b50613bdb6040830183613b06565b6126ac6040850182612bfe565b6000613a958383613b9a565b8183526000602084019350818060005b85811015613ad15781613c178882613be8565b975060608301925050600101613c04565b60208082528101612a2b818486613bf4565b6000613c468383612bfe565b505060200190565b6000613c58825190565b80845260209384019383018060005b83811015613ad1578151613c7b8882613c3a565b975060208301925050600101613c67565b60a08101613c9a8288612b18565b8181036020830152613cac8187613c4e565b9050613cbb6040830186612bfe565b613cc86060830185612d04565b6129d86080830184612bfe565b801515612ae1565b805161084e81613cd5565b600060208284031215613cfd57613cfd600080fd5b6000612a2b8484613cdd565b8082018082111561084e5761084e6139a6565b81516001600160401b03811115613d3557613d35613042565b613d3f82546133e9565b613d4a8282856135fa565b6020601f831160018114613d7e5760008415613d665750858201515b600019600886021c1981166002860217865550610b9f565b600085815260208120601f198616915b82811015613dae5788850151825560209485019460019092019101613d8e565b86831015613dca5784890151600019601f89166008021c191682555b600160028802018855505050505050505050565b60408101613dec8285612bfe565b6129036020830184612bfe565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150613456565b6020808252810161084e81613df9565b60098152600060208201682727aa2fa7aba722a960b91b815291505b5060200190565b6020808252810161084e81613e51565b602e81526000602082017f45524331393637557067726164653a206e657720696d706c656d656e7461746981526d6f6e206973206e6f74205555505360901b60208201529150613456565b6020808252810161084e81613e84565b602981526000602082017f45524331393637557067726164653a20756e737570706f727465642070726f788152681a58589b195555525160ba1b60208201529150613456565b6020808252810161084e81613edf565b612b1a8161359d565b60608101613f4c8286612bfe565b613f596020830185612b18565b612a2b6040830184613f35565b6000613f70825190565b613f7e818560208601612b69565b9290920192915050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526017016000613fba8285613f66565b7001034b99036b4b9b9b4b733903937b6329607d1b81526011019150612a2b8284613f66565b602080825281016129038184612b8d565b602d81526000602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b60208201529150613456565b6020808252810161084e81613ff1565b818102808215838204851417614063576140636139a6565b5092915050565b600081614079576140796139a6565b506000190190565b60208082527f537472696e67733a20686578206c656e67746820696e73756666696369656e7491019081526000613e6d565b6020808252810161084e81614081565b60006129038284613f66565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081529150613e6d565b6020808252810161084e816140cf56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220c06420b17c89b8852214c6a63b935bcb403c60842e2617e3fbd1f65862054d0164736f6c63430008110033