@latticexyz/world-modules 2.0.0-main-44236041 → 2.0.0-main-2e288aa7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/out/AccessControl.sol/AccessControl.json +1 -1
  2. package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
  3. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  4. package/out/AddressArray.sol/AddressArray.json +1 -1
  5. package/out/Allowances.sol/Allowances.json +1 -1
  6. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  7. package/out/Balances.sol/Balances.json +1 -1
  8. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  9. package/out/Bool.sol/Bool.json +1 -1
  10. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  11. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  12. package/out/DecodeSlice.sol/DecodeSlice.json +1 -1
  13. package/out/Delegation.sol/Delegation.json +1 -1
  14. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  15. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  16. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  17. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  18. package/out/ERC20Module.sol/ERC20Module.abi.json +9 -9
  19. package/out/ERC20Module.sol/ERC20Module.abi.json.d.ts +9 -9
  20. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  21. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json +9 -9
  22. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json.d.ts +9 -9
  23. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  24. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  25. package/out/ERC20System.sol/ERC20System.json +1 -1
  26. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  27. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  28. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  29. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  30. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  31. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  32. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  33. package/out/ERC721Module.sol/ERC721Module.abi.json +9 -9
  34. package/out/ERC721Module.sol/ERC721Module.abi.json.d.ts +9 -9
  35. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  36. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json +9 -9
  37. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json.d.ts +9 -9
  38. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  39. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  40. package/out/ERC721System.sol/ERC721System.json +1 -1
  41. package/out/EchoSubscriber.sol/EchoSubscriber.abi.json +5 -0
  42. package/out/EchoSubscriber.sol/EchoSubscriber.abi.json.d.ts +5 -0
  43. package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
  44. package/out/EncodeArray.sol/EncodeArray.json +1 -1
  45. package/out/FieldLayout.sol/FieldLayoutInstance.json +1 -1
  46. package/out/FieldLayout.sol/FieldLayoutLib.abi.json +88 -1
  47. package/out/FieldLayout.sol/FieldLayoutLib.abi.json.d.ts +88 -0
  48. package/out/FieldLayout.sol/FieldLayoutLib.json +1 -1
  49. package/out/FieldLayoutEncodeHelper.sol/FieldLayoutEncodeHelper.json +1 -1
  50. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  51. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  52. package/out/Hook.sol/HookInstance.json +1 -1
  53. package/out/Hook.sol/HookLib.json +1 -1
  54. package/out/Hooks.sol/Hooks.json +1 -1
  55. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  56. package/out/IStore.sol/IStore.json +1 -1
  57. package/out/IStoreData.sol/IStoreData.json +1 -1
  58. package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
  59. package/out/IStoreHook.sol/IStoreHook.abi.json +5 -0
  60. package/out/IStoreHook.sol/IStoreHook.abi.json.d.ts +5 -0
  61. package/out/IStoreHook.sol/IStoreHook.json +1 -1
  62. package/out/IStoreRead.sol/IStoreRead.json +1 -1
  63. package/out/IStoreRegistration.sol/IStoreRegistration.json +1 -1
  64. package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
  65. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  66. package/out/InitModule.sol/InitModule.abi.json +9 -9
  67. package/out/InitModule.sol/InitModule.abi.json.d.ts +9 -9
  68. package/out/InitModule.sol/InitModule.json +1 -1
  69. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  70. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  71. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  72. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  73. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +2 -2
  74. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +2 -2
  75. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  76. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json +6 -6
  77. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json.d.ts +6 -6
  78. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  79. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  80. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  81. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +2 -2
  82. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +2 -2
  83. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  84. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json +6 -6
  85. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json.d.ts +6 -6
  86. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  87. package/out/Module.sol/Module.json +1 -1
  88. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  89. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  90. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  91. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  92. package/out/Owners.sol/Owners.json +1 -1
  93. package/out/PackedCounter.sol/PackedCounterInstance.abi.json +13 -1
  94. package/out/PackedCounter.sol/PackedCounterInstance.abi.json.d.ts +13 -0
  95. package/out/PackedCounter.sol/PackedCounterInstance.json +1 -1
  96. package/out/PackedCounter.sol/PackedCounterLib.json +1 -1
  97. package/out/Puppet.sol/Puppet.json +1 -1
  98. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  99. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  100. package/out/PuppetMaster.sol/PuppetMaster.abi.json +18 -1
  101. package/out/PuppetMaster.sol/PuppetMaster.abi.json.d.ts +18 -0
  102. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  103. package/out/PuppetModule.sol/PuppetModule.abi.json +9 -9
  104. package/out/PuppetModule.sol/PuppetModule.abi.json.d.ts +9 -9
  105. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  106. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  107. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  108. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  109. package/out/RegistrationSystem.sol/RegistrationSystem.abi.json +9 -9
  110. package/out/RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts +9 -9
  111. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  112. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  113. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  114. package/out/RevertSubscriber.sol/RevertSubscriber.abi.json +5 -0
  115. package/out/RevertSubscriber.sol/RevertSubscriber.abi.json.d.ts +5 -0
  116. package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
  117. package/out/Schema.sol/SchemaInstance.json +1 -1
  118. package/out/Schema.sol/SchemaLib.abi.json +18 -1
  119. package/out/Schema.sol/SchemaLib.abi.json.d.ts +18 -0
  120. package/out/Schema.sol/SchemaLib.json +1 -1
  121. package/out/SchemaEncodeHelper.sol/SchemaEncodeHelper.json +1 -1
  122. package/out/Slice.sol/SliceInstance.json +1 -1
  123. package/out/Slice.sol/SliceLib.abi.json +23 -1
  124. package/out/Slice.sol/SliceLib.abi.json.d.ts +23 -0
  125. package/out/Slice.sol/SliceLib.json +1 -1
  126. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json +9 -9
  127. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json.d.ts +9 -9
  128. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  129. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  130. package/out/StoreCore.sol/StoreCore.json +1 -1
  131. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  132. package/out/StoreData.sol/StoreData.json +1 -1
  133. package/out/StoreHook.sol/StoreHook.json +1 -1
  134. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  135. package/out/StoreRead.sol/StoreRead.json +1 -1
  136. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +9 -9
  137. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +9 -9
  138. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  139. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  140. package/out/System.sol/System.json +1 -1
  141. package/out/SystemCall.sol/SystemCall.json +1 -1
  142. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  143. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  144. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  145. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  146. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +2 -2
  147. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +2 -2
  148. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  149. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  150. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  151. package/out/Systems.sol/Systems.json +1 -1
  152. package/out/Tables.sol/Tables.json +1 -1
  153. package/out/TightCoder.sol/TightCoder.json +1 -1
  154. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  155. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  156. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  157. package/out/TokenURI.sol/TokenURI.json +1 -1
  158. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  159. package/out/TwoFields.sol/TwoFields.json +1 -1
  160. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  161. package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json +9 -9
  162. package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json.d.ts +9 -9
  163. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  164. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  165. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  166. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  167. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  168. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  169. package/out/World.sol/World.json +1 -1
  170. package/out/World.t.sol/EchoSystemHook.json +1 -1
  171. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  172. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  173. package/out/World.t.sol/RevertSystemHook.json +1 -1
  174. package/out/World.t.sol/WorldTest.abi.json +6 -6
  175. package/out/World.t.sol/WorldTest.abi.json.d.ts +6 -6
  176. package/out/World.t.sol/WorldTest.json +1 -1
  177. package/out/World.t.sol/WorldTestSystem.json +1 -1
  178. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  179. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  180. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  181. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  182. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  183. package/out/query.t.sol/QueryTest.abi.json +6 -6
  184. package/out/query.t.sol/QueryTest.abi.json.d.ts +6 -6
  185. package/out/query.t.sol/QueryTest.json +1 -1
  186. package/out/tables/Balances.sol/Balances.json +1 -1
  187. package/package.json +8 -8
  188. package/src/modules/erc20-puppet/ERC20Module.sol +2 -2
  189. package/src/modules/erc721-puppet/ERC721Module.sol +2 -2
  190. package/src/modules/puppet/Puppet.sol +2 -2
  191. package/src/modules/puppet/PuppetMaster.sol +2 -2
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSelector","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516148be6100306000396000610a2a01526148be6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2160:12847:91:-:0;;;915:4:82;872:48;;2160:12847:91;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2160:12847:91:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:198:58;;;;;;:::i;:::-;;:::i;:::-;;;592:14:208;;585:22;567:41;;555:2;540:18;2265:198:58;;;;;;;;1196:113;;;:::i;:::-;;;-1:-1:-1;;;;;783:55:208;;;765:74;;753:2;738:18;1196:113:58;619:226:208;11552:932:91;;;;;;:::i;:::-;;:::i;:::-;;8313:1508;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;3126:79:208;;;3108:98;;3096:2;3081:18;8313:1508:91;2964:248:208;5742:2236:91;;;;;;:::i;:::-;;:::i;1550:110:58:-;;;-1:-1:-1;;3551:14:58;3547:25;3534:39;3899:25:208;;3887:2;3872:18;1550:110:58;3753:177:208;10225:997:91;;;;;;:::i;:::-;;:::i;4676:388::-;;;;;;:::i;:::-;;:::i;14539:466::-;;;;;;:::i;:::-;;:::i;2470:736::-;;;;;;:::i;:::-;;:::i;13210:1145::-;;;;;;:::i;:::-;;:::i;12669:223::-;;;;;;:::i;:::-;;:::i;3510:936::-;;;;;;:::i;:::-;;:::i;1876:98:58:-;;;:::i;2265:198::-;2341:4;-1:-1:-1;;;;;;2360:54:58;;2375:39;2360:54;;:98;;-1:-1:-1;;;;;;;2418:40:58;;2433:25;2418:40;2360:98;2353:105;2265:198;-1:-1:-1;;2265:198:58:o;1196:113::-;1239:14;1268:36;:34;:36::i;:::-;1261:43;;1196:113;:::o;11552:932:91:-;995:20:82;:18;:20::i;:::-;11757:141:91::1;11803:12;:10;:12::i;:::-;11834:9;11872:19;11757:26;:141::i;:::-;11948:41;11969:19;11948:20;:41::i;:::-;11944:536;;;12093:25;12121:39;12140:19;12121:18;:39::i;:::-;12093:67;;12168:73;12185:17;12204:36;12168:16;:73::i;:::-;12312:161;12363:12;:10;:12::i;:::-;12395:19;12434:12;12463:1;12312:32;:161::i;:::-;;11991:489;11944:536;11552:932:::0;;;:::o;8313:1508::-;8452:28;995:20:82;:18;:20::i;:::-;-1:-1:-1;;;8559:8:91;:37;::::1;;8555:138;;-1:-1:-1::0;;;8656:8:91::1;8666:19;:8;:17;:19::i;:::-;8613:73;;;;;;;;;;;;;:::i;:::-;;;;;;;;8555:138;8736:40;8767:8;8736:30;:40::i;:::-;8830:50;8857:8;8867:12;:10;:12::i;:::-;8830:26;:50::i;:::-;8927:29;8959:59;8994:23;:8;385:5:15::0;2502:44:59;;2404:148;8994:23:91::1;-1:-1:-1::0;;8959:59:91::1;:34;:59::i;:::-;8927:91;;9024:35;9079:15;9102:23;9062:64;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9024:102;;9173:22;9163:33;;;;;;9132:65;;9263:27;9293:53;9324:21;9293:30;:53::i;:::-;9263:83:::0;-1:-1:-1;9357:40:91;;9353:111:::1;;9406:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:208;;9406:58:91::1;::::0;::::1;3108:98:208::0;3081:18;;9406:58:91::1;2964:248:208::0;9353:111:91::1;9548:41:::0;;::::1;::::0;::::1;::::0;9596:79:::1;9619:21:::0;9642:8;9548:41;9596:22:::1;:79::i;:::-;9738:78;9762:21;9792:22;9738:23;:78::i;:::-;8482:1339;;;;8313:1508:::0;;;;:::o;5742:2236::-;995:20:82;:18;:20::i;:::-;-1:-1:-1;;;5930:8:91;:37;::::1;;5926:138;;-1:-1:-1::0;;;6027:8:91::1;6037:19;:8;:17;:19::i;5926:138::-;578:36:59::0;2820:46;;-1:-1:-1;;;2819:74:59;6173:43:91::1;2819:74:59::0;6173:30:91::1;:43::i;:::-;6270:53;6297:11;6310:12;:10;:12::i;6270:53::-;6414:74;6439:6;6448:39;6414:16;:74::i;:::-;6581:9;6559:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6559:31:91::1;::::0;6555:98:::1;;6623:8;6633:19;:8;:17;:19::i;:::-;6599:54;;;;;;;;;;;;:::i;6555:98::-;6737:27;6767:36;6795:6;6767:19;:36::i;:::-;6737:66:::0;-1:-1:-1;6820:40:91;;;::::1;::::0;:110:::1;;;6921:8;6882:16;6864:66;;6820:110;6809:192;;;6952:42;::::0;::::1;::::0;;-1:-1:-1;;;;;783:55:208;;6952:42:91::1;::::0;::::1;765:74:208::0;738:18;;6952:42:91::1;619:226:208::0;6809:192:91::1;7065:22;7090:28;7109:8;7090:18;:28::i;:::-;7065:53:::0;-1:-1:-1;;;;;;7198:28:91;::::1;::::0;7194:411:::1;;7297:44;7326:14;7297:28;:44::i;:::-;7412:57;7441:11;7454:14;7412:28;:57::i;:::-;7194:411;;;7560:38;7583:8;7593:4;7560:22;:38::i;:::-;7692:53;7705:8;7723:6;7732:12;7692;:53::i;:::-;7817:46;7845:6;7854:8;7817:19;:46::i;:::-;7918:55;7938:11;7959:6;7968:4;7918:19;:55::i;:::-;5853:2125;;;5742:2236:::0;;;:::o;10225:997::-;10402:28;995:20:82;:18;:20::i;:::-;625:63:80::1;::::0;;-1:-1:-1;;;625:63:80::1;::::0;::::1;8547:92:208::0;662:14:80::1;8655:11:208::0;;;8648:100;;;8764:12;;;8757:101;10490:59:91::1;::::0;8874:12:208;625:63:80::1;;;;;;;;;;;;617:72;;;:::i;:::-;10536:12:91;:10;:12::i;10490:59::-;-1:-1:-1::0;10652:40:91;;::::1;::::0;::::1;::::0;10759:27:::1;10789:53;10652:40:::0;10789:30:::1;:53::i;:::-;10759:83:::0;-1:-1:-1;10853:40:91;;10849:111:::1;;10902:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:208;;10902:58:91::1;::::0;::::1;3108:98:208::0;3081:18;;10902:58:91::1;2964:248:208::0;10849:111:91::1;11005:79;11028:21;11051:8;11061:22;11005;:79::i;:::-;11147:70;11171:21;11194:22;11147:23;:70::i;:::-;10432:790;10225:997:::0;;;;;:::o;4676:388::-;995:20:82;:18;:20::i;:::-;4833:50:91::1;4860:8;4870:12;:10;:12::i;4833:50::-;4978:81;1292:66:76;5028:8:91::0;5046:11;4978:27:::1;:81::i;:::-;4676:388:::0;;:::o;14539:466::-;995:20:82;:18;:20::i;:::-;14680:29:91::1;14697:11;14680:16;:29::i;:::-;14754:43;14785:11;14754:30;:43::i;:::-;14851:53;14878:11;14891:12;:10;:12::i;14851:53::-;14948:52;14988:11;14948:39;:52::i;:::-;14539:466:::0;:::o;2470:736::-;995:20:82;:18;:20::i;:::-;2607:29:91::1;2624:11;2607:16;:29::i;:::-;2701:34;2723:11;2701:21;:34::i;:::-;2788:35;2811:11;2788:22;:35::i;:::-;2784:127;;;2868:11;2881:22;:11;:20;:22::i;:::-;2840:64;;;;;;;;;;;;:::i;2784:127::-;2955:41;2978:11;2991:4;2955:22;:41::i;:::-;3049:46;3069:11;3082:12;:10;:12::i;:::-;3049:19;:46::i;:::-;3149:52;3169:11;3182:12;:10;:12::i;:::-;3196:4;3149:19;:52::i;13210:1145::-:0;995:20:82;:18;:20::i;:::-;13424:29:91::1;13441:11;13424:16;:29::i;:::-;13515:41;13536:19;13515:20;:41::i;:::-;13510:107;;13573:37;;;;;;;;;;;;;;13510:107;13670:53;13697:11;13710:12;:10;:12::i;13670:53::-;13822:25;13850:39;13869:19;13850:18;:39::i;:::-;13822:67;;13895:73;13912:17;13931:36;13895:16;:73::i;:::-;14014:65;14046:11;14059:19;14014:31;:65::i;:::-;14150:19:::0;;:23;14146:205:::1;;14183:161;14234:12;:10;:12::i;14146:205::-;13370:985;13210:1145:::0;;;:::o;12669:223::-;995:20:82;:18;:20::i;:::-;12802:85:91::1;12850:12;:10;:12::i;:::-;12875:9;12802:34;:85::i;3510:936::-:0;995:20:82;:18;:20::i;:::-;-1:-1:-1;;;3735:8:91;:37;::::1;;3731:138;;-1:-1:-1::0;;;3832:8:91::1;3842:19;:8;:17;:19::i;3731:138::-;3950:69;3975:11;3989:29;3950:16;:69::i;:::-;4061:40;4092:8;4061:30;:40::i;:::-;4155:57;-1:-1:-1::0;;;578:36:59;2820:46;;2819:74;4155:30:91::1;:57::i;:::-;4262:50;4289:8;4299:12;:10;:12::i;4262:50::-;4344:97;4361:8:::0;-1:-1:-1;;987:20:4;;;;979:29;1011:30;;;;;;979:62;4344:16:91::1;:97::i;1876:98:58:-:0;1915:7;1937:32;:30;:32::i;2743:383::-;3029:34;3033:14;3029:34;3016:48;3010:4;3006:59;;3076:45;;-1:-1:-1;3111:10:58;3076:45;2743:383;:::o;1113:189:82:-;-1:-1:-1;;;;;1199:6:82;1182:23;1190:4;1182:23;1171:127;;1266:25;;;;;;;;;;;;;;1171:127;1113:189::o;6660:426:79:-;6788:16;;;6802:1;6788:16;;;;;;;;6759:26;;6788:16;;;;;;;;;;-1:-1:-1;6788:16:79;6759:45;;6849:9;-1:-1:-1;;;;;6833:27:79;6825:36;;6810:9;6820:1;6810:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6906:9;-1:-1:-1;;;;;6890:27:79;6882:36;;6867:9;6877:1;6867:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6925:156;1307:66;1291:83;;6973:9;6990:1;7034:19;6999:56;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;6999:56:79;;;;-1:-1:-1;;6999:56:79;;;;;;;;;-1:-1:-1;;;6925:24:79;:156::i;1443:162:43:-;1517:4;744:53;;;1536:64;;;;;1568:32;1580:19;1568:11;:32::i;:::-;1567:33;1529:71;1443:162;-1:-1:-1;;1443:162:43:o;3579:307:78:-;3694:16;;;3708:1;3694:16;;;;;;;;;3643:14;;;;3694:16;;;;;;;;;;;;-1:-1:-1;3694:16:78;3665:45;;3749:8;3716:9;3726:1;3716:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3765:13;3781:62;1284:66;3816:9;3765:13;1413:66;3781:24;:62::i;:::-;3857:23;;;3579:307;-1:-1:-1;;;;3579:307:78:o;879:238:93:-;964:61;996:15;1013:11;964:31;:61::i;:::-;959:156;;1040:70;;;;;-1:-1:-1;;;;;9825:55:208;;1040:70:93;;;9807:74:208;-1:-1:-1;;;;;;9917:79:208;;9897:18;;;9890:107;9780:18;;1040:70:93;9635:368:208;5192:401:55;5336:17;5362:12;5376:23;5403:115;5433:6;5477:8;5503;5454:5;5403:13;:115::i;:::-;5361:157;;;;5529:7;5524:41;;5538:27;5554:10;5538:15;:27::i;:::-;5578:10;5192:401;-1:-1:-1;;;;;;5192:401:55:o;3351:592:59:-;3415:13;3485:10;385:5:15;2502:44:59;;;3436:19;3583;3485:10;3583:7;:19::i;:::-;3560:42;-1:-1:-1;3665:12:59;-1:-1:-1;;3704:35:59;;;:102;;3753:53;-1:-1:-1;;3753:53:59;;:34;:53::i;:::-;3704:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3833:25:59;;;:87;;3872:48;3907:12;3872:34;:48::i;:::-;3833:87;;;;;;;;;;;;;;;;;;;;;3637:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3608:330;;;;;3351:592;;;:::o;2536:206:42:-;2610:34;2633:10;2610:22;:34::i;:::-;2605:133;;2697:10;2709:21;:10;:19;:21::i;:::-;2661:70;;;;;;;;;;;;:::i;2074:233::-;-1:-1:-1;;;;;2159:58:42;;:48;-1:-1:-1;;;578:36:59;2820:46;;2819:74;2159:19:42;:48::i;:::-;-1:-1:-1;;;;;2159:58:42;;2155:148;;2266:21;:10;:19;:21::i;:::-;2289:6;2234:62;;;;;;;;;;;;:::i;1796:322:59:-;1866:13;1887:14;1907:80;1923:2;1914:6;:11;1907:80;;;-1:-1:-1;;1941:34:59;;3152:1:2;3148:13;;3144:24;1941:39:59;;1937:50;1982:5;1937:50;1927:8;;1907:80;;;2023:30;;;-1:-1:-1;;11424:79:208;;2023:30:59;;;11412:92:208;2023:30:59;;11520:12:208;;;;2023:30:59;;;809:21:2;;;2023:30:59;2073:39;2059:54;1796:322;-1:-1:-1;;;;1796:322:59:o;3638::69:-;3764:16;;;3778:1;3764:16;;;;;;;;;3708:19;;;;3764:16;;;;;;;;;;;;-1:-1:-1;3764:16:69;3735:45;;3809:16;3801:25;;;3786:9;3796:1;3786:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3833:13;3849:62;1303:66;3884:9;3833:13;1432:66;3849:24;:62::i;7743:454::-;7849:24;7876:46;7889:8;7899:22;7876:12;:46::i;:::-;8025:16;;;8039:1;8025:16;;;;;;;;;7849:73;;-1:-1:-1;7929:29:69;;7964:25;;7929:29;;8025:16;;;;;;;;;;;;-1:-1:-1;8025:16:69;7996:45;;8070:16;8062:25;;;8047:9;8057:1;8047:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;8094:98;1303:66;8124:9;8135:11;8148:15;8165:12;1432:66;8094:19;:98::i;:::-;7843:354;;;;7743:454;;;:::o;3657:455:70:-;3744:24;3774:29;3806:32;3820:17;3806:13;:32::i;:::-;3774:64;;3844:25;3872:32;3886:17;3872:13;:32::i;:::-;3940:16;;;3954:1;3940:16;;;;;;;;;3844:60;;-1:-1:-1;3911:26:70;;3940:16;;;;;;;;;;;;-1:-1:-1;3940:16:70;3911:45;;3985:16;3977:25;;;3962:9;3972:1;3962:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;4009:98;1224:66;4039:9;4050:11;4063:15;4080:12;1353:66;4009:19;:98::i;3030:160:59:-;3093:7;3157:26;438:6;385:5:15;3157:26:59;:::i;:::-;3123:61;;;;;3030:160;-1:-1:-1;3030:160:59:o;4257:313:77:-;4366:16;;;4380:1;4366:16;;;;;;;;;4310:19;;;;4366:16;;;;;;;;;;;;-1:-1:-1;4366:16:77;4337:45;;4427:6;-1:-1:-1;;;;;4411:24:77;4403:33;;4388:9;4398:1;4388:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4443:13;4459:62;1298:66;4494:9;4443:13;-1:-1:-1;;;4459:24:77;:62::i;6235:222::-;6318:16;;;6332:1;6318:16;;;;;;;;;6289:26;;6318:16;;;;;;;;;;;-1:-1:-1;6318:16:77;6289:45;;6379:6;-1:-1:-1;;;;;6363:24:77;6355:33;;6340:9;6350:1;6340:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6395:57;1298:66;6428:9;-1:-1:-1;;;6395:22:77;:57::i;6795:295:75:-;6901:16;;;6915:1;6901:16;;;;;;;;6872:26;;6901:16;;;;;;;;;;-1:-1:-1;6901:16:75;6872:45;;6956:10;6923:9;6933:1;6923:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;7012:6;-1:-1:-1;;;;;6996:24:75;6988:33;;6973:9;6983:1;6973:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;7028:57;1298:66;7061:9;-1:-1:-1;;;7028:22:75;:57::i;4692:268:26:-;4792:16;;;4806:1;4792:16;;;;;;;;;4763:26;;4792:16;;;;;;;;;;;-1:-1:-1;4792:16:26;4763:45;;4847:10;4814:9;4824:1;4814:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4865:90;1102:66;1086:83;;4900:9;4911:1;4932:6;4914:26;;;;;;12013:14:208;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;4914:26:26;;;;-1:-1:-1;;4914:26:26;;;;;;;;;-1:-1:-1;;;4865:24:26;:90::i;7416:423:78:-;7501:24;7528:34;7541:6;7549:12;7528;:34::i;:::-;7665:16;;;7679:1;7665:16;;;;;;;;;7501:61;;-1:-1:-1;7569:29:78;;7604:25;;7569:29;;7665:16;;;;;;;;;;;;-1:-1:-1;7665:16:78;7636:45;;7720:8;7687:9;7697:1;7687:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7736:98;1284:66;7766:9;7777:11;7790:15;7807:12;1413:66;7736:19;:98::i;5618:286:77:-;5713:16;;;5727:1;5713:16;;;;;;;;;5684:26;;5713:16;;;;;;;;;;;-1:-1:-1;5713:16:77;5684:45;;5774:6;-1:-1:-1;;;;;5758:24:77;5750:33;;5735:9;5745:1;5735:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5790:109;1298:66;1282:83;;5825:9;5836:1;5874:8;5839:45;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;6059:332:75;6169:16;;;6183:1;6169:16;;;;;;;;6140:26;;6169:16;;;;;;;;;;-1:-1:-1;6169:16:75;6140:45;;6224:10;6191:9;6201:1;6191:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6280:6;-1:-1:-1;;;;;6264:24:75;6256:33;;6241:9;6251:1;6241:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;6296:90;1298:66;1282:83;;6331:9;6342:1;6363:6;6345:26;;;;;;12013:14:208;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;1408:1069:4;1551:29;1583:42;1594:11;1607:17;1583:10;:42::i;:::-;1551:74;;1743:25;1785:12;:19;1771:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1771:34:4;;1743:62;;1853:21;1903:25;1898:312;1950:12;:19;1930:17;:39;1898:312;;;2073:19;-1:-1:-1;;;;;2006:87:4;:55;2016:12;2029:17;2016:31;;;;;;;;:::i;:::-;;;;;;;2006:53;;;3404:35;;;3274:170;2006:55;-1:-1:-1;;;;;2006:87:4;;2002:200;;2133:12;2146:17;2133:31;;;;;;;;:::i;:::-;;;;;;;2107:8;2116:13;2107:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2176:15;;;;;2002:200;1971:19;;1898:312;;;;2363:13;2353:8;2346:31;2420:52;2431:11;2444:17;2463:8;2420:10;:52::i;521:401:94:-;-1:-1:-1;;;578:36:59;2820:46;;2819:74;746:10:94;728:79;724:196;;-1:-1:-1;;;881:10:94;893:21;:10;:19;:21::i;6443:214:73:-;6533:16;;;6547:1;6533:16;;;;;;;;;6504:26;;6533:16;;;;;;;;;;;-1:-1:-1;6533:16:73;6504:45;;6588:11;6555:9;6565:1;6555:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6607;1312:66;6642:9;6607:24;:45::i;573:770:95:-;701:17;721:25;:10;385:5:15;2502:44:59;;2404:148;721:25:95;701:45;-1:-1:-1;750:30:95;783:45;-1:-1:-1;;783:45:95;;:34;:45::i;:::-;865:30;;750:78;;-1:-1:-1;904:26:95;;900:441;;942:65;961:16;980:26;1005:1;980:22;:26;:::i;:::-;2636:27:2;2650:4;2636:27;2630:34;;2509:165;942:65:95;:72;;;;938:146;;1031:46;;;;;-1:-1:-1;;12365:79:208;;1031:46:95;;;12347:98:208;12320:18;;1031:46:95;12201:250:208;938:146:95;1095:9;1090:247;1110:26;1135:1;1110:22;:26;:::i;:::-;1106:1;:30;1090:247;;;2650:4:2;2636:27;;;;2630:34;1155:47:95;;;;;:102;;;;-1:-1:-1;1206:44:95;1225:16;1244:5;:1;1248;1244:5;:::i;1206:44::-;:51;;;;;1155:102;1151:180;;;1276:46;;;;;-1:-1:-1;;12365:79:208;;1276:46:95;;;12347:98:208;12320:18;;1276:46:95;12201:250:208;1151:180:95;1138:3;;1090:247;;3328:314:26;3442:16;;;3456:1;3442:16;;;;;;;;;3394:11;;;;3442:16;;;;;;;;;;;;-1:-1:-1;3442:16:26;3413:45;;3497:10;3464:9;3474:1;3464:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3515:13;3531:62;1102:66;3566:9;3515:13;-1:-1:-1;;;3531:24:26;:62::i;:::-;3515:78;;3607:29;3628:5;3615:20;;1452:10:15;1343:126;5493:265:74;5590:16;;;5604:1;5590:16;;;;;;;;;5561:26;;5590:16;;;;;;;;;;;-1:-1:-1;5590:16:74;5561:45;;5645:11;5612:9;5622:1;5612:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5664:89;1298:66;1282:83;;5699:9;5710:1;5731:5;5713:25;;;;;;;12605:2:208;12601:15;;;;-1:-1:-1;;12597:88:208;12585:101;;12711:2;12702:12;;12456:264;5713:25:74;;;;-1:-1:-1;;5713:25:74;;;;;;;;;1427:66;5664:24;:89::i;6033:349:73:-;6147:16;;;6161:1;6147:16;;;;;;;;;6118:26;;6147:16;;;;;;;;;;;-1:-1:-1;6147:16:73;6118:45;;6202:11;6169:9;6179:1;6169:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;6221:156;1312:66;1296:83;;6269:9;6286:1;6330:19;6295:56;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;7147:291:79;7251:16;;;7265:1;7251:16;;;;;;;;7222:26;;7251:16;;;;;;;;;;-1:-1:-1;7251:16:79;7222:45;;7312:9;-1:-1:-1;;;;;7296:27:79;7288:36;;7273:9;7283:1;7273:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;7369:9;-1:-1:-1;;;;;7353:27:79;7345:36;;7330:9;7340:1;7330:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;7388:45;1307:66;7423:9;7388:24;:45::i;10051:257:76:-;10148:16;;;10162:1;10148:16;;;;;;;;;10119:26;;10148:16;;;;;;;;;;;-1:-1:-1;10148:16:76;10119:45;;10203:8;10170:9;10180:1;10170:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;10219:84;1292:66;1276:83;;10260:9;10271:1;10292:8;10274:28;;;;;;;12878:66:208;12866:79;;;;12854:92;;12971:2;12962:12;;12725:255;10274:28:76;;;;;;;;;;;;;10219:30;:84::i;3799:97:58:-;3840:7;3862:29;:27;:29::i;24794:355:19:-;24966:178;25000:7;25025:8;25055:63;25094:11;25107:10;25055:38;:63::i;:::-;25133:4;24966:16;:178::i;1063:181:43:-;764:71:80;;;-1:-1:-1;;;764:71:80;;;8547:92:208;1139:4:43;8655:11:208;;;8648:100;;;814:20:80;8764:12:208;;;8757:101;1139:4:43;8874:12:208;764:71:80;;;;;;;;;;;;756:80;;;:::i;:::-;1158:81:43;;;;1063:181;-1:-1:-1;1063:181:43:o;37827:541:19:-;37984:7;38121:242;38165:59;38206:7;38215:8;38165:40;:59::i;:::-;38242:31;;;;4432:19:3;:27;537:1:29;4431:44:3;4397:79;;;4384:93;38291:63:19;38330:11;38343:10;38291:38;:63::i;:::-;38121:17;:242::i;:::-;38108:255;37827:541;-1:-1:-1;;;;;37827:541:19:o;1313:272:45:-;1400:4;1499:23;1514:7;1499:14;:23::i;:::-;:81;;;;;1526:54;1559:7;1568:11;1526:32;:54::i;:::-;1492:88;1313:272;-1:-1:-1;;;1313:272:45:o;3716:1003:55:-;3852:12;3866:17;3915:22;3940:26;3957:8;3940:16;:26::i;:::-;3915:51;;4043:9;4038:228;4058:5;:12;4054:1;:16;4038:228;;;4085:9;4107:5;4113:1;4107:8;;;;;;;;:::i;:::-;;;;;;;4085:31;;4128:34;392:6:97;4128:4:55;:14;;;;;:34;;;;:::i;:::-;4124:136;;;4174:77;;;;;3404:35:4;;;;;4174:49:55;;:77;;4224:6;;4232:8;;4242;;4174:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:136;-1:-1:-1;4072:3:55;;4038:228;;;;4341:78;4356:6;4371:5;4388:8;4408;4341:4;:78::i;:::-;4323:96;;-1:-1:-1;4323:96:55;-1:-1:-1;4494:9:55;4489:226;4509:5;:12;4505:1;:16;4489:226;;;4536:9;4558:5;4564:1;4558:8;;;;;;;;:::i;:::-;;;;;;;4536:31;;4579:33;520:6:97;4579:4:55;:14;;;;;:33;;;;:::i;:::-;4575:134;;;4624:76;;;;;3404:35:4;;;;;4624:48:55;;:76;;4673:6;;4681:8;;4691;;4624:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4575:134;-1:-1:-1;4523:3:55;;4489:226;;;;3885:834;3716:1003;;;;;;;:::o;501:217:96:-;704:6;698:13;691:4;683:6;679:17;672:40;4220:306:74;4331:16;;;4345:1;4331:16;;;;;;;;;4281:13;;;;4331:16;;;;;;;;;;;;-1:-1:-1;4331:16:74;4302:45;;4386:11;4353:9;4363:1;4353:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4405:13;4421:62;1298:66;4456:9;4405:13;1427:66;4421:24;:62::i;9649:179:69:-;9746:12;9790:8;9800:22;9773:50;;;;;;;;13616:19:208;;;-1:-1:-1;;;;;;13665:79:208;13660:2;13651:12;;13644:101;13770:2;13761:12;;13430:349;9773:50:69;;;;;;;;;;;;;9766:57;;9649:179;;;;:::o;14932:3138:19:-;15226:23;15205:7;:44;;;15201:198;;15319:7;15303:75;15328:8;15338:10;15350:14;15366:11;15303:75;;;;;;;;;:::i;:::-;;;;;;;;15386:7;;15201:198;15537:22;15562:24;15578:7;15562:15;:24::i;:::-;15537:49;;15597:9;15592:340;15612:5;:12;15608:1;:16;15592:340;;;15639:9;15661:5;15667:1;15661:8;;;;;;;;:::i;:::-;;;;;;;15639:31;;15682:33;343:6:32;15682:4:19;:14;;;;;:33;;;;:::i;:::-;15678:248;;;15727:190;;;;;3404:35:4;;;;;15727:47:19;;:190;;15786:7;;15805:8;;15825:10;;15847:14;;15873:11;;15896;;15727:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15678:248;-1:-1:-1;15626:3:19;;15592:340;;;;15996:7;15980:75;16005:8;16015:10;16027:14;16043:11;15980:75;;;;;;;;;:::i;:::-;;;;;;;;16119:26;16148:59;16189:7;16198:8;16148:40;:59::i;:::-;16119:88;-1:-1:-1;16213:21:19;828:4:13;818:15;;16213:54:19;;16273:149;16311:18;16345:1;16362:10;:17;16402:13;16273;:149::i;:::-;16522:1;16489:30;:11;:28;:30::i;:::-;:34;16485:1174;;;16608:33;16644:66;16692:7;16701:8;16644:47;:66::i;:::-;629:28:18;;;16608:102:19;-1:-1:-1;828:4:13;818:15;;16884:47:19;;17040:27;17075:25;17113:7;17108:545;17126:30;:11;:28;:30::i;:::-;17122:1;:34;;;17108:545;;;17192:63;17234:7;17243:8;17253:1;17192:41;:63::i;:::-;17170:85;-1:-1:-1;17285:25:19;:14;17308:1;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;17285:25:19;17265:45;;17320:170;17362:19;17401:1;17422:17;17466:13;17320;:170::i;:::-;17500:34;17517:17;17500:34;;:::i;:::-;;-1:-1:-1;17631:3:19;;17108:545;;;;16525:1134;;;16485:1174;17733:9;17728:338;17748:5;:12;17744:1;:16;17728:338;;;17775:9;17797:5;17803:1;17797:8;;;;;;;;:::i;:::-;;;;;;;17775:31;;17818:32;437:6:32;17818:4:19;:14;;;;;:32;;;;:::i;:::-;17814:246;;;17862:189;;;;;3404:35:4;;;;;17862:46:19;;:189;;17920:7;;17939:8;;17959:10;;17981:14;;18007:11;;18030;;17862:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17814:246;-1:-1:-1;17762:3:19;;17728:338;;;;15141:2929;;;14932:3138;;;;;;:::o;5751:304:70:-;5830:29;5990:54;6018:17;6012:31;834:16:14;1906:39;;;1888:58;;1749:263;6220:155:70;6299:12;6350:17;6326:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;6319:51;;6220:155;;;:::o;27982:1778:19:-;28170:23;28149:7;:44;;;28145:160;;28266:7;28247:37;28275:8;28247:37;;;;;;:::i;:::-;;;;;;;;27982:1778;;;:::o;28145:160::-;28446:22;28471:24;28487:7;28471:15;:24::i;:::-;28446:49;;28506:9;28501:235;28521:5;:12;28517:1;:16;28501:235;;;28548:9;28570:5;28576:1;28570:8;;;;;;;;:::i;:::-;;;;;;;28548:31;;28591:36;983:6:32;28591:4:19;:14;;;;;:36;;;;:::i;:::-;28587:143;;;28639:82;;;;;3404:35:4;;;;;28639:50:19;;:82;;28690:7;;28699:8;;28709:11;;28639:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28587:143;-1:-1:-1;28535:3:19;;28501:235;;;;28803:7;28784:37;28812:8;28784:37;;;;;;:::i;:::-;;;;;;;;28854:26;28883:59;28924:7;28933:8;28883:40;:59::i;:::-;28854:88;;28948:113;28980:18;29008:1;29027:30;:11;:28;:30::i;:::-;29017:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29017:41:19;;28948:13;:113::i;:::-;29280:1;29247:30;:11;:28;:30::i;:::-;:34;29243:236;;;29291:33;29327:66;29375:7;29384:8;29327:47;:66::i;:::-;29291:102;;29401:71;29432:25;29467:2;29401:12;:71::i;:::-;29283:196;29243:236;29528:9;29523:233;29543:5;:12;29539:1;:16;29523:233;;;29570:9;29592:5;29598:1;29592:8;;;;;;;;:::i;:::-;;;;;;;29570:31;;29613:35;1083:6:32;29613:4:19;:14;;;;;:35;;;;:::i;:::-;29609:141;;;29660:81;;;;;3404:35:4;;;;;29660:49:19;;:81;;29710:7;;29719:8;;29729:11;;29660:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29609:141;-1:-1:-1;29557:3:19;;29523:233;;9239:150:78;9346:38;;9319:12;17019:15:208;;;-1:-1:-1;;17015:88:208;9346:38:78;;;17003:101:208;17150:14;;17143:22;17138:3;17134:32;17120:12;;;17113:54;9319:12:78;17183::208;;9346:38:78;16852:349:208;4001:369:25;4141:16;;;4155:1;4141:16;;;;;;;;;4082:22;;4112:26;;4141:16;;;;;;;;;;;;-1:-1:-1;4141:16:25;4112:45;;4196:10;4163:9;4173:1;4163:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4214:18;4235:49;4261:8;4271:9;4282:1;4235:25;:49::i;:::-;4214:70;;4298:66;:44;4319:5;4326:1;4329:5;:12;4298:20;:44::i;:::-;:64;:66::i;5388:282::-;5514:16;;;5528:1;5514:16;;;;;;;;;5485:26;;5514:16;;;;;;;;;;;-1:-1:-1;5514:16:25;5485:45;;5569:10;5536:9;5546:1;5536:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5587:78;5613:8;5623:9;5634:1;5637:27;5657:5;5637:18;:27::i;:::-;5587:25;:78::i;13776:301:23:-;13860:21;13884:17;:15;:17::i;:::-;13860:41;-1:-1:-1;13936:4:23;-1:-1:-1;;;;;13911:30:23;;;13907:166;;13951:41;13974:7;13983:8;13951:22;:41::i;13907:166::-;14013:53;;;;;-1:-1:-1;;;;;14013:34:23;;;;;:53;;14048:7;;14057:8;;14013:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12274:451;12434:21;12458:17;:15;:17::i;:::-;12434:41;-1:-1:-1;12510:4:23;-1:-1:-1;;;;;12485:30:23;;;12481:240;;12525:78;12554:7;12563:8;12573:17;12592:10;12525:28;:78::i;:::-;12481:240;;;12624:90;;;;;-1:-1:-1;;;;;12624:40:23;;;;;:90;;12665:7;;12674:8;;12684:17;;12703:10;;12624:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12428:297;12274:451;;;;:::o;1766:227::-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:23;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:23:o;53342:242:19:-;53438:7;;;53477:84;53497:10;53493:14;;:1;:14;53477:84;;;53522:32;4384:93:3;4432:19;:27;;;537:1:29;4431:44:3;4397:79;;;4384:93;53522:32:19;;:::i;:::-;;-1:-1:-1;53509:3:19;;53477:84;;18706:1676;18906:23;18885:7;:44;;;18881:232;;19036:7;18992:100;19055:8;19072:5;19085:4;18992:100;;;;;;;;:::i;:::-;;;;;;;;19100:7;;18881:232;19119:16;19138:59;19179:7;19188:8;19138:40;:59::i;:::-;19119:78;;19343:22;19368:24;19384:7;19368:15;:24::i;:::-;19343:49;;19403:9;19398:328;19418:5;:12;19414:1;:16;19398:328;;;19445:9;19467:5;19473:1;19467:8;;;;;;;;:::i;:::-;;;;;;;19445:31;;19488:41;548:6:32;19488:4:19;:14;;;;;:41;;;;:::i;:::-;19484:236;;;19541:170;;;;;3404:35:4;;;;;19541:54:19;;:170;;19617:7;;19646:8;;19673:5;;19696:4;;19541:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19484:236;-1:-1:-1;19432:3:19;;19398:328;;;;19827:7;19783:100;19846:8;19863:5;19876:4;19783:100;;;;;;;;:::i;:::-;;;;;;;;19933:70;19965:8;19983:5;19933:70;;19996:4;19933:13;:70::i;:::-;20057:9;20052:326;20072:5;:12;20068:1;:16;20052:326;;;20099:9;20121:5;20127:1;20121:8;;;;;;;;:::i;:::-;;;;;;;20099:31;;20142:40;657:6:32;20142:4:19;:14;;;;;:40;;;;:::i;:::-;20138:234;;;20194:169;;;;;3404:35:4;;;;;20194:53:19;;:169;;20269:7;;20298:8;;20325:5;;20348:4;;20194:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20138:234;-1:-1:-1;20086:3:19;;20052:326;;52325:191;52427:7;52491;52500:8;52474:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52474:35:19;;;;;;;;;52464:46;;52474:35;52464:46;;;;43924:22;52457:53;;52325:191;-1:-1:-1;;;52325:191:19:o;8879:812:18:-;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:18;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;709:400:45:-;773:4;962:68;995:7;1004:25;962:32;:68::i;:::-;:142;;;;-1:-1:-1;1041:63:45;1074:7;-1:-1:-1;;;;;;4133:576:45;4296:56;;-1:-1:-1;;;;;;3126:79:208;;4296:56:45;;;3108:98:208;4235:4:45;;;;3081:18:208;;4296:56:45;;;-1:-1:-1;;4296:56:45;;;;;;;;;;;;;;;;;;;;;4534:20;;4296:56;;-1:-1:-1;;;;;;;4296:56:45;;-1:-1:-1;;4499:7:45;4492:5;4481:86;4470:97;;4588:16;4574:30;;4632:4;4626:11;4611:26;;4656:7;:29;;;;;4681:4;4667:10;:18;;4656:29;:48;;;;;4703:1;4689:11;:15;4656:48;4649:55;4133:576;-1:-1:-1;;;;;;;4133:576:45:o;4331:344:76:-;4448:16;;;4462:1;4448:16;;;;;;;;;4389:22;;4419:26;;4448:16;;;;;;;;;;;;-1:-1:-1;4448:16:76;4419:45;;4503:8;4470:9;4480:1;4470:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4519:18;4540:49;1292:66;4576:9;4519:18;4540:25;:49::i;:::-;4519:70;;4603:66;:44;4624:5;4631:1;4634:5;:12;4603:20;:44::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;1695:1386:55:-;1822:12;1836:17;1890:21;1913:17;1934:22;1947:8;1934:12;:22::i;:::-;1889:67;;-1:-1:-1;1889:67:55;-1:-1:-1;;;;;;2001:27:55;;1997:106;;2073:8;2083:19;:8;:17;:19::i;1997:106::-;2209:12;2204:64;;2223:45;2251:8;2261:6;2223:27;:45::i;:::-;2347:9;;2343:197;;578:36:59;2820:46;;-1:-1:-1;;;2819:74:59;2366:22:55;2449:26;2819:74:59;2449:13:55;:26::i;:::-;2424:51;-1:-1:-1;2483:50:55;2497:11;2510:22;2527:5;2424:51;2510:22;:::i;:::-;2483:13;:50::i;:::-;2358:182;;2343:197;2642:14;2615:23;:8;385:5:15;2502:44:59;;2404:148;2615:23:55;-1:-1:-1;;2615:41:55;;:461;;2916:160;2977:6;3003:5;3026:13;3059:8;2916:39;:160::i;:::-;2615:461;;;2739:168;2808:6;2834:5;2857:13;2890:8;2739:47;:168::i;:::-;2597:479;;;;-1:-1:-1;1695:1386:55;-1:-1:-1;;;;;;;1695:1386:55:o;4132:342:27:-;4248:16;;;4262:1;4248:16;;;;;;;;;4189:22;;4219:26;;4248:16;;;;;;;;;;;;-1:-1:-1;4248:16:27;4219:45;;4303:7;4270:9;4280:1;4270:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4318:18;4339:49;1100:66;4375:9;4318:18;4339:25;:49::i;1423:2340:18:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:29;738:25:31;;716:48;2142:18:18;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:18;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:18;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;3695:21:18;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:18;;;;:::o;5486:173:3:-;5560:7;537:1:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5596:11:3;5575:79;5588:65;;5575:79;;5486:173;-1:-1:-1;;5486:173:3:o;54890:230:19:-;55011:7;55095;55104:8;55078:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55078:35:19;;;;;;;;;55068:46;;55078:35;55068:46;;;;44087:40;55041:73;;54890:230;-1:-1:-1;;;54890:230:19:o;54261:274::-;54405:7;54510;54519:8;54493:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54483:46;;;;;;54462:17;54455:25;;54435:45;;;43996:34;54435:45;:94;54427:103;;54420:110;;54261:274;;;;;:::o;4707:171:3:-;4781:7;537:1:29;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4803:70:3;;;;;4707:171;-1:-1:-1;4707:171:3:o;900:162:18:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::13;818:15;;692:151;1032:24:18;989:5;:68::i;3966:370::-;4088:13;4137:2;4122:11;:6;4131:2;4122:11;:::i;:::-;4121:18;;;;:::i;:::-;4104:35;;:14;:35;:::i;:::-;4088:51;;4145:187;4169:5;4152:14;:22;4145:187;;;4267:1;4251:14;4244:25;4316:1;4300:14;4296:22;4278:40;;4145:187;;38836:522:19;38972:12;39096:257;39135:79;39177:7;39186:8;39196:17;39135:41;:79::i;:::-;39232:1;39251:93;39326:17;39251:66;39299:7;39308:8;39251:47;:66::i;:::-;:74;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;39251:93:19;39096:12;:257::i;1952:561:17:-;2043:5;2138:3;2130:5;:11;:32;;;;2151:4;:11;2145:3;:17;2130:32;2126:80;;;2189:4;2195:5;2202:3;2171:35;;;;;;;;;;;;;:::i;2126:80::-;2272:4;2262:15;;2319:16;2330:5;2262:15;2319:16;:::i;:::-;;-1:-1:-1;2341:12:17;2356:11;2362:5;2356:3;:11;:::i;:::-;641:17;2491:15;2483:3;2472:14;;;;2471:36;;;;;;-1:-1:-1;;;;;1952:561:17:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;39736:222:35:-;39800:12;39890:6;39914:39;39890:6;39947:2;39951:1;39914:17;:39::i;25839:737:19:-;26090:36;26129:66;26177:7;26186:8;26129:47;:66::i;:::-;26090:105;-1:-1:-1;26201:26:19;26237:49;26090:105;26268:17;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;26237:49:19;26201:86;;26294:277;26348:7;26373:8;26408:17;26451:1;26473:19;26506:4;26542:22;26294:36;:277::i;27238:145::-;27322:56;27335:7;27344:8;27354:23;27369:7;27354:14;:23::i;:::-;27322:12;:56::i;30424:790::-;30683:36;30722:66;30770:7;30779:8;30722:47;:66::i;:::-;30683:105;-1:-1:-1;30794:26:19;30830:49;30683:105;30861:17;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;30830:49:19;30794:86;;30918:291;30972:7;30997:8;31032:17;31082:19;31123:1;31138:10;31180:22;30918:36;:291::i;6430:432:78:-;6558:16;;;6572:1;6558:16;;;;;;;;;6488:14;;;;;;6558:16;;;;;;;;;;;-1:-1:-1;6558:16:78;6529:45;;6613:8;6580:9;6590:1;6580:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6630:24;;;6716:78;1284:66;6759:9;1413:66;6716:19;:78::i;:::-;-1:-1:-1;;2650:4:2;2636:27;;2630:34;2636:27;;;;2630:34;8063:32:78;;;;;;8127:30;;;;;;-1:-1:-1;6430:432:78;-1:-1:-1;;;;;;6430:432:78:o;1480:281:42:-;1642:29;1652:10;1664:6;1642:9;:29::i;:::-;1637:120;;1720:21;:10;:19;:21::i;4228:308:68:-;4341:16;;;4355:1;4341:16;;;;;;;;;4289:15;;;;4341:16;;;;;;;;;;;;-1:-1:-1;4341:16:68;4312:45;;4396:11;4363:9;4373:1;4363:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4415:13;4431:62;1286:66;4466:9;4415:13;-1:-1:-1;;;4431:24:68;:62::i;5527:269::-;5626:16;;;5640:1;5626:16;;;;;;;;;5597:26;;5626:16;;;;;;;;;;;-1:-1:-1;5626:16:68;5597:45;;5681:11;5648:9;5658:1;5648:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5700:91;1286:66;1270:83;;5735:9;5746:1;5767:7;5749:27;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;5279:317:58;5418:12;5432:17;5475:6;-1:-1:-1;;;;;5475:11:58;5495:1;5506:79;5532:8;5553:9;5574:8;5506:13;:79::i;:::-;5475:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5457:134:58;;;;-1:-1:-1;5279:317:58;-1:-1:-1;;;;;5279:317:58:o;6100:321::-;6247:12;6261:17;6304:6;-1:-1:-1;;;;;6304:19:58;6331:79;6357:8;6378:9;6399:8;6331:13;:79::i;:::-;6304:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55458:301:19;55579:13;55671:82;55702:48;55732:7;55741:8;55702:29;:48::i;:::-;4645:21:18;;4539:137;4976:669;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:18;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;2615:1129:36:-;2735:22;2765:21;2789;:11;2867:3:17;2845:25;;2771:104;2789:21:36;2765:45;-1:-1:-1;641:17:17;3108:38;;2816:20:36;2978:11;3108:38:17;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;764:1343::-;936:12;;889:17;;914:19;977:26;992:11;936:12;977:26;:::i;:::-;954:49;;1375:4;1369:11;;-1:-1:-1;1418:4:36;1408:15;;-1:-1:-1;;5307:16:18;1465:32:36;;;5307:16:18;5303:32;1437:4:36;1430:69;1541:12;1535:4;1528:26;1585:1;1655:4;1648:5;1644:16;1562:535;1675:11;1672:1;1669:18;1562:535;;;2068:19;;2047:41;;2025:64;;1941:31;;;;1762:1;1755:9;;;;;1854:4;1836:23;1562:535;;45817:3957:19;46235:14;46214:7;:35;;;46210:148;;46292:14;46308:7;46341;46324:25;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;46324:25:19;;;;-1:-1:-1;;46324:25:19;;;;;;;;;;46266:85;;;;;;;;;;:::i;46210:148::-;46364:27;46394:49;:22;46425:17;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;46394:49:19;46364:79;;46449:26;46514:4;:11;46500;46478:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46449:76;;46797:18;46774:19;:41;;:98;;;;-1:-1:-1;46853:19:19;46819:30;46838:11;46819:16;:30;:::i;:::-;:53;;;;46774:98;46770:205;;;46889:79;;;;;21761:12:208;21800:15;;;46889:79:19;;;21782:34:208;21852:15;;;21832:18;;;21825:43;21904:15;;21884:18;;;21877:43;21724:18;;46889:79:19;21555:371:208;46770:205:19;47081:19;47062:16;:38;;;47058:127;;;47117:61;;;;;;;;22104:25:208;;;22177:12;22165:25;;22145:18;;;22138:53;22077:18;;47117:61:19;21931:266:208;47058:127:19;47224:35;47262:72;:22;47296:17;47315:18;47262:33;:72::i;:::-;47224:110;;47481:22;47506:24;47522:7;47506:15;:24::i;:::-;47481:49;;47541:9;47536:486;47556:5;:12;47552:1;:16;47536:486;;;47583:9;47605:5;47611:1;47605:8;;;;;;;;:::i;:::-;;;;;;;47583:31;;47626:42;770:6:32;47626:4:19;:14;;;;;:42;;;;:::i;:::-;47622:394;;;3404:35:4;;;;-1:-1:-1;;;;;47680:55:19;;47757:7;47786:8;47825:17;47872:16;47913:11;47952:22;47992:4;47680:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47622:394;-1:-1:-1;47570:3:19;;47536:486;;;-1:-1:-1;48080:32:19;;;:13;48220:107;48238:17;48234:21;;:1;:21;;;48220:107;;;48283:33;:22;48314:1;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;48283:33:19;48274:42;;;;48257:3;;48220:107;;;;48449:7;48396:274;48476:8;48513:17;48554:5;48583:11;48620:21;48657:4;48396:274;;;;;;;;;;;:::i;:::-;;;;;;;;48028:649;48762:18;48739:19;:41;48735:248;;48790:31;48824:48;48854:7;48863:8;48824:29;:48::i;:::-;629:28:18;;;-1:-1:-1;48735:248:19;49040:27;49070:61;49094:7;49103:8;49113:17;49070:23;:61::i;:::-;49040:91;;49139:92;49171:19;49200:16;49139:92;;49224:4;49139:13;:92::i;:::-;49032:206;49292:9;49287:483;49307:5;:12;49303:1;:16;49287:483;;;49334:9;49356:5;49362:1;49356:8;;;;;;;;:::i;:::-;;;;;;;49334:31;;49377:41;881:6:32;49377:4:19;:14;;;;;:41;;;;:::i;:::-;49373:391;;;3404:35:4;;;;-1:-1:-1;;;;;49430:54:19;;49506:7;49535:8;49574:17;49621:16;49662:11;49701:21;49740:4;49430:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49373:391;-1:-1:-1;49321:3:19;;49287:483;;;;46060:3714;;;;45817:3957;;;;;;;:::o;6273:652::-;6340:11;6576:64;;;6572:111;;-1:-1:-1;1471:66:28;;6273:652:19;-1:-1:-1;6273:652:19:o;6572:111::-;6727:185;6773:85;1342:66:28;6849:7:19;6773:40;:85::i;:::-;6878:2;6900:1;6727:17;:185::i;34416:1314::-;34546:23;34571:28;34601:24;34667:20;34690:30;:11;:28;:30::i;:::-;34667:53;;34781:65;34814:7;34823:8;34833:12;34781:32;:65::i;:::-;34768:78;;34910:24;34937:30;:11;:28;:30::i;:::-;34910:57;-1:-1:-1;34977:20:19;;34973:753;;35070:66;35118:7;35127:8;35070:47;:66::i;:::-;35053:83;-1:-1:-1;6182:59:14;;;35188:33:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35188:33:19;-1:-1:-1;35174:47:19;-1:-1:-1;828:4:13;818:15;;35229:21:19;35293:427;35311:16;35307:1;:20;;;35293:427;;;35344:27;35374:63;35416:7;35425:8;35435:1;35374:41;:63::i;:::-;35344:93;-1:-1:-1;35447:14:19;35464:25;:14;35487:1;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;35464:25:19;35447:42;;35499:110;35530:19;35559:1;35570:6;35593:13;35499:12;:110::i;:::-;35688:23;35705:6;35688:23;;:::i;:::-;;;35334:386;;35329:3;;;;;:::i;:::-;;;;35293:427;;;;34999:727;34973:753;34627:1103;;34416:1314;;;;;;;:::o;889:327:42:-;970:4;1112:56;-1:-1:-1;;;578:36:59;2820:46;;2819:74;1161:6:42;1112:19;:56::i;:::-;:99;;;;1172:39;1192:10;1204:6;1172:19;:39::i;4582:201:58:-;4704:12;4748:8;4758:9;4769:8;4731:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4724:54;;4582:201;;;;;:::o;6010:2380:18:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:18;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:18;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;8323:20:18;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:18;;;;:::o;7195:1488:14:-;7321:13;1004:16;7346:25;;7342:97;;;7388:44;;;;;;;;3899:25:208;;;3872:18;;7388:44:14;3753:177:208;7342:97:14;7501:13;6182:59;;;6799:16;;;922;6799;834;6788:27;6748:68;;;6726:92;;7764:38;;;7760:192;;7847:19;7829:15;:37;7814:52;;;;7760:192;;;7928:15;7906:19;:37;7891:52;;;;7760:192;-1:-1:-1;8268:16:14;834;922;8135;;;;8124:27;8260:35;;;8574:5;8413:26;8394:45;;;;8393:61;;;8555:24;;;;8584:34;;;;;8554:65;;-1:-1:-1;7195:1488:14;;;;;:::o;52768:282:19:-;53013:30;;;;;;24801:19:208;;;24836:12;;;24829:28;;;52856:7:19;;24873:12:208;;53013:30:19;24613:278:208;50342:360:19;50468:12;50492:6;50502:1;50492:11;50488:26;;-1:-1:-1;50505:9:19;;;;;;;;;-1:-1:-1;50505:9:19;;;;50488:26;50555:16;50574:41;50597:7;50606:8;50574:22;:41::i;:::-;50555:60;;50628:69;50659:8;50677:1;50688:6;50628:12;:69::i;4507:378:75:-;4631:16;;;4645:1;4631:16;;;;;;;;4583:11;;;;4631:16;4645:1;4631:16;;;;;;;;;;-1:-1:-1;4631:16:75;4602:45;;4686:10;4653:9;4663:1;4653:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4742:6;-1:-1:-1;;;;;4726:24:75;4718:33;;4703:9;4713:1;4703:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4758:13;4774:62;1298:66;4809:9;4758:13;-1:-1:-1;;;4774:24:75;:62::i;:::-;4758:78;;4850:29;4871:5;4858:20;;1452:10:15;1343:126;14:219:208;81:20;;-1:-1:-1;;;;;;130:78:208;;120:89;;110:117;;223:1;220;213:12;238:184;296:6;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;388:28;406:9;388:28;:::i;850:154::-;-1:-1:-1;;;;;929:5:208;925:54;918:5;915:65;905:93;;994:1;991;984:12;1009:184;-1:-1:-1;;;1058:1:208;1051:88;1158:4;1155:1;1148:15;1182:4;1179:1;1172:15;1198:777;1240:5;1293:3;1286:4;1278:6;1274:17;1270:27;1260:55;;1311:1;1308;1301:12;1260:55;1347:6;1334:20;1373:18;1410:2;1406;1403:10;1400:36;;;1416:18;;:::i;:::-;1550:2;1544:9;1612:4;1604:13;;-1:-1:-1;;1600:22:208;;;1624:2;1596:31;1592:40;1580:53;;;1648:18;;;1668:22;;;1645:46;1642:72;;;1694:18;;:::i;:::-;1734:10;1730:2;1723:22;1769:2;1761:6;1754:18;1815:3;1808:4;1803:2;1795:6;1791:15;1787:26;1784:35;1781:55;;;1832:1;1829;1822:12;1781:55;1896:2;1889:4;1881:6;1877:17;1870:4;1862:6;1858:17;1845:54;1943:1;1936:4;1931:2;1923:6;1919:15;1915:26;1908:37;1963:6;1954:15;;;;;;1198:777;;;;:::o;1980:554::-;2097:6;2105;2113;2166:2;2154:9;2145:7;2141:23;2137:32;2134:52;;;2182:1;2179;2172:12;2134:52;2221:9;2208:23;2240:31;2265:5;2240:31;:::i;:::-;2290:5;-1:-1:-1;2342:2:208;2327:18;;2314:32;;-1:-1:-1;2397:2:208;2382:18;;2369:32;2424:18;2413:30;;2410:50;;;2456:1;2453;2446:12;2410:50;2479:49;2520:7;2511:6;2500:9;2496:22;2479:49;:::i;:::-;2469:59;;;1980:554;;;;;:::o;2539:420::-;2648:6;2656;2709:2;2697:9;2688:7;2684:23;2680:32;2677:52;;;2725:1;2722;2715:12;2677:52;2761:9;2748:23;2738:33;;2822:2;2811:9;2807:18;2794:32;2849:18;2841:6;2838:30;2835:50;;;2881:1;2878;2871:12;2835:50;2904:49;2945:7;2936:6;2925:9;2921:22;2904:49;:::i;:::-;2894:59;;;2539:420;;;;;:::o;3217:531::-;3338:6;3346;3354;3407:2;3395:9;3386:7;3382:23;3378:32;3375:52;;;3423:1;3420;3413:12;3375:52;3459:9;3446:23;3436:33;;3519:2;3508:9;3504:18;3491:32;3532:31;3557:5;3532:31;:::i;:::-;3582:5;-1:-1:-1;3639:2:208;3624:18;;3611:32;3681:15;;3674:23;3662:36;;3652:64;;3712:1;3709;3702:12;3652:64;3735:7;3725:17;;;3217:531;;;;;:::o;3935:492::-;4052:6;4060;4068;4121:2;4109:9;4100:7;4096:23;4092:32;4089:52;;;4137:1;4134;4127:12;4089:52;4173:9;4160:23;4150:33;;4234:2;4223:9;4219:18;4206:32;4261:18;4253:6;4250:30;4247:50;;;4293:1;4290;4283:12;4247:50;4316:49;4357:7;4348:6;4337:9;4333:22;4316:49;:::i;:::-;4306:59;;;4384:37;4417:2;4406:9;4402:18;4384:37;:::i;:::-;4374:47;;3935:492;;;;;:::o;4432:367::-;4552:6;4560;4613:2;4601:9;4592:7;4588:23;4584:32;4581:52;;;4629:1;4626;4619:12;4581:52;4665:9;4652:23;4642:33;;4725:2;4714:9;4710:18;4697:32;4738:31;4763:5;4738:31;:::i;:::-;4788:5;4778:15;;;4432:367;;;;;:::o;4804:211::-;4894:6;4947:2;4935:9;4926:7;4922:23;4918:32;4915:52;;;4963:1;4960;4953:12;4915:52;-1:-1:-1;4986:23:208;;4804:211;-1:-1:-1;4804:211:208:o;5020:518::-;5168:6;5176;5184;5237:2;5225:9;5216:7;5212:23;5208:32;5205:52;;;5253:1;5250;5243:12;5205:52;5289:9;5276:23;5266:33;;5346:2;5335:9;5331:18;5318:32;5308:42;;5401:2;5390:9;5386:18;5373:32;5428:18;5420:6;5417:30;5414:50;;;5460:1;5457;5450:12;5543:247;5602:6;5655:2;5643:9;5634:7;5630:23;5626:32;5623:52;;;5671:1;5668;5661:12;5623:52;5710:9;5697:23;5729:31;5754:5;5729:31;:::i;5795:532::-;5922:6;5930;5938;5991:2;5979:9;5970:7;5966:23;5962:32;5959:52;;;6007:1;6004;5997:12;5959:52;6043:9;6030:23;6020:33;;6103:2;6092:9;6088:18;6075:32;6116:31;6141:5;6116:31;:::i;:::-;6166:5;-1:-1:-1;6223:2:208;6208:18;;6195:32;6271:4;6258:18;;6246:31;;6236:59;;6291:1;6288;6281:12;6332:250;6417:1;6427:113;6441:6;6438:1;6435:13;6427:113;;;6517:11;;;6511:18;6498:11;;;6491:39;6463:2;6456:10;6427:113;;;-1:-1:-1;;6574:1:208;6556:16;;6549:27;6332:250::o;6587:330::-;6629:3;6667:5;6661:12;6694:6;6689:3;6682:19;6710:76;6779:6;6772:4;6767:3;6763:14;6756:4;6749:5;6745:16;6710:76;:::i;:::-;6831:2;6819:15;-1:-1:-1;;6815:88:208;6806:98;;;;6906:4;6802:109;;6587:330;-1:-1:-1;;6587:330:208:o;6922:464::-;7168:66;7160:6;7156:79;7145:9;7138:98;7272:6;7267:2;7256:9;7252:18;7245:34;7315:2;7310;7299:9;7295:18;7288:30;7119:4;7335:45;7376:2;7365:9;7361:18;7353:6;7335:45;:::i;7391:641::-;7671:3;7709:6;7703:13;7725:66;7784:6;7779:3;7772:4;7764:6;7760:17;7725:66;:::i;:::-;7852:4;7813:16;;;7838:19;;;7882:13;;7904:78;7882:13;7969:1;7958:13;;7951:4;7939:17;;7904:78;:::i;:::-;8002:20;8024:1;7998:28;;7391:641;-1:-1:-1;;;;7391:641:208:o;8037:322::-;8245:6;8234:9;8227:25;8288:2;8283;8272:9;8268:18;8261:30;8208:4;8308:45;8349:2;8338:9;8334:18;8326:6;8308:45;:::i;8897:357::-;9015:12;;9062:4;9051:16;;;9045:23;;9015:12;9080:16;;9077:171;;;-1:-1:-1;;9160:6:208;9154:4;9150:17;9147:1;9143:25;9139:98;9132:5;9128:110;9119:119;;9077:171;;8897:357;;;:::o;9259:184::-;-1:-1:-1;;;9308:1:208;9301:88;9408:4;9405:1;9398:15;9432:4;9429:1;9422:15;10008:925;10457:66;10449:6;10445:79;10440:3;10433:92;10415:3;10544;10576:2;10572:1;10567:3;10563:11;10556:23;10608:6;10602:13;10624:74;10691:6;10687:1;10682:3;10678:11;10671:4;10663:6;10659:17;10624:74;:::i;:::-;10726:6;10721:3;10717:16;10707:26;;10761:2;10757:1;10753:2;10749:10;10742:22;10795:6;10789:13;10773:29;;10811:75;10877:8;10873:1;10869:2;10865:10;10858:4;10850:6;10846:17;10811:75;:::i;:::-;10906:17;10925:1;10902:25;;10008:925;-1:-1:-1;;;;;10008:925:208:o;10938:340::-;11115:2;11104:9;11097:21;11078:4;11135:45;11176:2;11165:9;11161:18;11153:6;11135:45;:::i;:::-;11127:53;;-1:-1:-1;;;;;11220:6:208;11216:55;11211:2;11200:9;11196:18;11189:83;10938:340;;;;;:::o;11543:184::-;-1:-1:-1;;;11592:1:208;11585:88;11692:4;11689:1;11682:15;11716:4;11713:1;11706:15;11732:125;11797:9;;;11818:10;;;11815:36;;;11831:18;;:::i;12068:128::-;12135:9;;;12156:11;;;12153:37;;;12170:18;;:::i;12985:440::-;-1:-1:-1;;;;;13223:6:208;13219:55;13208:9;13201:74;13311:6;13306:2;13295:9;13291:18;13284:34;13354:2;13349;13338:9;13334:18;13327:30;13182:4;13374:45;13415:2;13404:9;13400:18;13392:6;13374:45;:::i;13784:439::-;13837:3;13875:5;13869:12;13902:6;13897:3;13890:19;13928:4;13957;13952:3;13948:14;13941:21;;13996:4;13989:5;13985:16;14019:1;14029:169;14043:6;14040:1;14037:13;14029:169;;;14104:13;;14092:26;;14138:12;;;;14173:15;;;;14065:1;14058:9;14029:169;;;-1:-1:-1;14214:3:208;;13784:439;-1:-1:-1;;;;;13784:439:208:o;14228:690::-;14561:3;14550:9;14543:22;14524:4;14588:57;14640:3;14629:9;14625:19;14617:6;14588:57;:::i;:::-;14693:9;14685:6;14681:22;14676:2;14665:9;14661:18;14654:50;14727:33;14753:6;14745;14727:33;:::i;:::-;14713:47;;14796:6;14791:2;14780:9;14776:18;14769:34;14851:9;14843:6;14839:22;14834:2;14823:9;14819:18;14812:50;14879:33;14905:6;14897;14879:33;:::i;14923:896::-;15374:6;15363:9;15356:25;15417:3;15412:2;15401:9;15397:18;15390:31;15337:4;15444:57;15496:3;15485:9;15481:19;15473:6;15444:57;:::i;:::-;15549:9;15541:6;15537:22;15532:2;15521:9;15517:18;15510:50;15583:33;15609:6;15601;15583:33;:::i;:::-;15569:47;;15652:6;15647:2;15636:9;15632:18;15625:34;15708:9;15700:6;15696:22;15690:3;15679:9;15675:19;15668:51;15736:33;15762:6;15754;15736:33;:::i;:::-;15728:41;;;15806:6;15800:3;15789:9;15785:19;15778:35;14923:896;;;;;;;;;:::o;15824:287::-;15953:3;15991:6;15985:13;16007:66;16066:6;16061:3;16054:4;16046:6;16042:17;16007:66;:::i;:::-;16089:16;;;;;15824:287;-1:-1:-1;;15824:287:208:o;16116:261::-;16295:2;16284:9;16277:21;16258:4;16315:56;16367:2;16356:9;16352:18;16344:6;16315:56;:::i;16382:465::-;16679:6;16668:9;16661:25;16722:2;16717;16706:9;16702:18;16695:30;16642:4;16742:56;16794:2;16783:9;16779:18;16771:6;16742:56;:::i;:::-;16734:64;;16834:6;16829:2;16818:9;16814:18;16807:34;16382:465;;;;;;:::o;17206:363::-;17444:6;17433:9;17426:25;17487:2;17482;17471:9;17467:18;17460:30;17407:4;17507:56;17559:2;17548:9;17544:18;17536:6;17507:56;:::i;17574:604::-;17882:6;17871:9;17864:25;17925:3;17920:2;17909:9;17905:18;17898:31;17845:4;17952:57;18004:3;17993:9;17989:19;17981:6;17952:57;:::i;:::-;18057:4;18049:6;18045:17;18040:2;18029:9;18025:18;18018:45;18111:9;18103:6;18099:22;18094:2;18083:9;18079:18;18072:50;18139:33;18165:6;18157;18139:33;:::i;18183:512::-;18434:2;18423:9;18416:21;18397:4;18460:56;18512:2;18501:9;18497:18;18489:6;18460:56;:::i;:::-;18564:14;18556:6;18552:27;18547:2;18536:9;18532:18;18525:55;18628:9;18620:6;18616:22;18611:2;18600:9;18596:18;18589:50;18656:33;18682:6;18674;18656:33;:::i;18700:616::-;19010:6;18999:9;18992:25;19053:3;19048:2;19037:9;19033:18;19026:31;18973:4;19080:57;19132:3;19121:9;19117:19;19109:6;19080:57;:::i;:::-;19185:14;19177:6;19173:27;19168:2;19157:9;19153:18;19146:55;19249:9;19241:6;19237:22;19232:2;19221:9;19217:18;19210:50;19277:33;19303:6;19295;19277:33;:::i;19321:639::-;19571:6;19566:3;19559:19;19541:3;19597:2;19630;19625:3;19621:12;19662:6;19656:13;19727:2;19719:6;19715:15;19748:1;19758:175;19772:6;19769:1;19766:13;19758:175;;;19835:13;;19821:28;;19871:14;;;;19908:15;;;;19794:1;19787:9;19758:175;;;-1:-1:-1;19949:5:208;;19321:639;-1:-1:-1;;;;;;;19321:639:208:o;19965:184::-;-1:-1:-1;;;20014:1:208;20007:88;20114:4;20111:1;20104:15;20138:4;20135:1;20128:15;20154:168;20227:9;;;20258;;20275:15;;;20269:22;;20255:37;20245:71;;20296:18;;:::i;20327:274::-;20367:1;20393;20383:189;;-1:-1:-1;;;20425:1:208;20418:88;20529:4;20526:1;20519:15;20557:4;20554:1;20547:15;20383:189;-1:-1:-1;20586:9:208;;20327:274::o;20606:360::-;20809:2;20798:9;20791:21;20772:4;20829:45;20870:2;20859:9;20855:18;20847:6;20829:45;:::i;:::-;20905:2;20890:18;;20883:34;;;;-1:-1:-1;20948:2:208;20933:18;20926:34;20821:53;20606:360;-1:-1:-1;20606:360:208:o;21376:174::-;21443:12;21475:10;;;21487;;;21471:27;;21510:11;;;21507:37;;;21524:18;;:::i;:::-;21507:37;21376:174;;;;:::o;22202:899::-;22624:6;22613:9;22606:25;22667:3;22662:2;22651:9;22647:18;22640:31;22587:4;22694:57;22746:3;22735:9;22731:19;22723:6;22694:57;:::i;:::-;22799:4;22787:17;;22782:2;22767:18;;22760:45;22824:12;22872:15;;;22867:2;22852:18;;22845:43;22925:15;;22919:3;22904:19;;22897:44;22972:3;22957:19;;22950:35;;;23022:22;;;23016:3;23001:19;;22994:51;23062:33;23026:6;23080;23062:33;:::i;:::-;23054:41;22202:899;-1:-1:-1;;;;;;;;;;22202:899:208:o;23106:787::-;23469:3;23458:9;23451:22;23432:4;23496:57;23548:3;23537:9;23533:19;23525:6;23496:57;:::i;:::-;23601:4;23593:6;23589:17;23584:2;23573:9;23569:18;23562:45;23655:14;23647:6;23643:27;23638:2;23627:9;23623:18;23616:55;23719:12;23711:6;23707:25;23702:2;23691:9;23687:18;23680:53;23770:6;23764:3;23753:9;23749:19;23742:35;23826:9;23818:6;23814:22;23808:3;23797:9;23793:19;23786:51;23854:33;23880:6;23872;23854:33;:::i;:::-;23846:41;23106:787;-1:-1:-1;;;;;;;;;23106:787:208:o;23898:175::-;23935:3;23979:4;23972:5;23968:16;24008:4;23999:7;23996:17;23993:43;;24016:18;;:::i;:::-;24065:1;24052:15;;23898:175;-1:-1:-1;;23898:175:208:o;24078:530::-;24263:3;24301:6;24295:13;24317:66;24376:6;24371:3;24364:4;24356:6;24352:17;24317:66;:::i;:::-;24452:2;24448:15;;;;-1:-1:-1;;24444:88:208;24405:16;;;;24430:103;;;24560:2;24549:14;;24542:30;;;;24599:2;24588:14;;24078:530;-1:-1:-1;;24078:530:208:o","linkReferences":{},"immutableReferences":{"35782":[{"start":2602,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,bytes4)":"742d6118","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","supportsInterface(bytes4)":"01ffc9a7","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract provides functions related to registering resources other than tables in the World.\",\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"registerDelegation(address,bytes32,bytes)\":{\"details\":\"Creates a new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\",\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\"}},\"registerFunctionSelector(bytes32,string)\":{\"details\":\"Creates a mapping between a World function and its associated system function\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerNamespace(bytes32)\":{\"details\":\"Creates a new namespace resource with the given ID\",\"params\":{\"namespaceId\":\"The unique identifier for the new namespace\"}},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"details\":\"Sets up a new delegation control for a specific namespace\",\"params\":{\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\",\"namespaceId\":\"The ID of the namespace\"}},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSelector\":\"The selector of the system function\",\"systemId\":\"The system ID\",\"worldFunctionSignature\":\"The signature of the World function\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerSystem(bytes32,address,bool)\":{\"details\":\"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.\",\"params\":{\"publicAccess\":\"Flag indicating if access control check is bypassed\",\"system\":\"The system being registered\",\"systemId\":\"The unique identifier for the system\"}},\"registerSystemHook(bytes32,address,uint8)\":{\"details\":\"Adds a new hook for the system at the provided system ID\",\"params\":{\"enabledHooksBitmap\":\"Bitmap indicating which hooks are enabled\",\"hookAddress\":\"The address of the hook being registered\",\"systemId\":\"The ID of the system\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterDelegation(address)\":{\"details\":\"Deletes the new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\"}},\"unregisterNamespaceDelegation(bytes32)\":{\"details\":\"Deletes the delegation control for a specific namespace\",\"params\":{\"namespaceId\":\"The ID of the namespace\"}},\"unregisterSystemHook(bytes32,address)\":{\"details\":\"Removes a hook for the system at the provided system ID\",\"params\":{\"hookAddress\":\"The address of the hook being unregistered\",\"systemId\":\"The ID of the system\"}}},\"title\":\"WorldRegistrationSystem\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"registerDelegation(address,bytes32,bytes)\":{\"notice\":\"Registers a delegation for the caller\"},\"registerFunctionSelector(bytes32,string)\":{\"notice\":\"Registers a new World function selector\"},\"registerNamespace(bytes32)\":{\"notice\":\"Registers a new namespace\"},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"notice\":\"Registers a delegation for a namespace\"},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"notice\":\"Registers a root World function selector\"},\"registerSystem(bytes32,address,bool)\":{\"notice\":\"Registers a system\"},\"registerSystemHook(bytes32,address,uint8)\":{\"notice\":\"Registers a new system hook\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterDelegation(address)\":{\"notice\":\"Unregisters a delegation\"},\"unregisterNamespaceDelegation(bytes32)\":{\"notice\":\"Unregisters a delegation for a namespace\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":\"WorldRegistrationSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xddb7fe629b2fef153ef807b6edf87b9249bd2bea6d9ff8f871626880ad5f2838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6689819089408ec1ea8269dc859fb45ac384b47683802dea5672521ce1b13ef0\",\"dweb:/ipfs/QmVKg2veSMyWEsz6YoYiPDSt1QehGo3C38q2TWhmoo3xod\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2\",\"dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b\",\"dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x352acfb660943a6c626adf262444385c93b034ffe2e6cd5aec6b78af1eacf45f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0755c5269ce33e1eb3200a16954fc6d47cc2d0adb1adc0a79d152712aa21ec63\",\"dweb:/ipfs/QmaFXnr7xMW6dZegbXKMnwTFVTHd8NYWcC9ZMoSRMLaJgc\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6c8c2afc2102aae3577057f5c5077f6606b553ab698f34484fc5958a7994e59e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4afabc0d9e58c25f600ea36bb7c6f5f3393496880fdfd810df4f914d2fbe1bea\",\"dweb:/ipfs/QmYJpEEf4DDQiUWy4gj4Pa8jypxYRKNdiUSEvev2gVZBBj\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x8c901269f30610e060a238c7a0c488b58cf9a7dc983bf87d49555e16976b49df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce8cff1b275fc5f2b54455102671c45936d88d5795f9853832808504c708324b\",\"dweb:/ipfs/QmY9oHiTEyUMdXBu5kjV6SH5YYo2jkkoG9XHuG22bX1ew5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x225f9a9debf14152e3adecdca848f01fbfdc42c093f97c0f80ae0a43cdcf468e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e15dc3efa43440a9e4be75a439bc8140580fa3008789647450744ee837c11da\",\"dweb:/ipfs/QmYrTN2it1r9dUrFR1pSM33cbhtbWjE41gswG9QWZ9TqHA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x4ffff18377ca8c94ec29ba504ed4f107943c4fe0a963de006375774c2de57cc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://279fe91c8f7fecb582aba253f7b6c59df11b4675721015557161f3d7f1af3855\",\"dweb:/ipfs/QmVQnrxjgPGswYNkQ6bMMuv9TTjBp83u2UZPtpzeBDtR41\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544\",\"dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271\",\"dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761\",\"dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a\",\"dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/errors.sol\":{\"keccak256\":\"0x10d1f9fc51a33e2f586fbb1963f4073ffe0a020909fdda06162ef1cf4e931c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4ec8f24fbe99ed3520446db632571859033870be31537a8b0b5bfb88b5fc1c5\",\"dweb:/ipfs/QmUNDSUU757c24cwVKLpB7nWtTqcNZXPyNcbiiVShpW2Gh\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c\",\"dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89\",\"dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d\",\"dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x4ca92b682610ae2c6636a5c196ccf837417b67ce1495b06ed30ac6fd09ed964e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16bdacafc7a9f73c753259fbe3d9de4e50578359efee9f523ceb367de3ae78e5\",\"dweb:/ipfs/QmUBkgKVMSsYbn4wmEbCyHhGLBVrViCMR6u1SQdEvpyq7f\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0xa138b23cf8a6c7783e25c1daa359cd4208b410808f816eb8182ce4f284290fe6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f34ba67c233887b67bafc0eed258c873898bb4ee8bb054287e2c7abbc6621d\",\"dweb:/ipfs/QmZsEu66KL3GsaKkCjSAf7RN7GBUXcBPuDsiot6TUtR97q\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xef3b8ea518e69884ef8fcfa56a34b9b53ba9ddec43ec549da8e2e90543329ac8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ae33ee2ebaeb6c321c39742c2c8a5125444aa15ef825b8f6113f04ae0194c4a\",\"dweb:/ipfs/Qme9myURbe5DzCT6oBiY4Gn7nGESsjXw7dBRUQWWBeXBq4\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0xb6a2475d33990b8c3646c62c22b92718955af66af95f2a1caac0cbb29b27efa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebdbcb2da135f43f46a5acb4562422315bd6b3d7c4b8a224ec62b26d4326f0a2\",\"dweb:/ipfs/QmTYFbcAEdn81FVkBCBjezo9F53E1uxsEk68gw2rLCUevP\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca\",\"dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243\",\"dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x0ccdb0f2e1d2586e9a7e433e6b927938663a214fab69ba5c857cfb43418f7746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb385a338d9697498beee8d9a9557ff33510ee5755c37a488f98c099111b9ceb\",\"dweb:/ipfs/QmRvvbX54ADo4QeBRTLkmGBSqgMWu4fqkqc3Qcb954YgKE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9\",\"dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729\",\"dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x7bef07381674a5aa5eed9e59c41feca3e7fc00283249bff4a9cd8690a68785dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d6946cff935909a91e6638677f0b4df774e403d5daa21683cd6dbcff0eb6ecb\",\"dweb:/ipfs/QmSJvMTqpgC2zSwyYNicmRiLrocuyQStTSe4oStZPUvkX7\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6\",\"dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0x89ef3634e9ca378f047ee9d0bc52c5be5533d54ea3642bbf3ced4a01dd45948f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b32a50933d8686c0f3a4712450797b79c5d3be583c84d6725f91abaaf071b148\",\"dweb:/ipfs/Qme2magezDm5Cqdbjxkey886yDZFTUWpF93DUadAX1pyyW\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658\",\"dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6\",\"dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027\",\"dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d\",\"dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"bytes4","name":"systemFunctionSelector","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"registerDelegation(address,bytes32,bytes)":{"details":"Creates a new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee","delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation"}},"registerFunctionSelector(bytes32,string)":{"details":"Creates a mapping between a World function and its associated system function","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerNamespace(bytes32)":{"details":"Creates a new namespace resource with the given ID","params":{"namespaceId":"The unique identifier for the new namespace"}},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"details":"Sets up a new delegation control for a specific namespace","params":{"delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation","namespaceId":"The ID of the namespace"}},"registerRootFunctionSelector(bytes32,string,bytes4)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSelector":"The selector of the system function","systemId":"The system ID","worldFunctionSignature":"The signature of the World function"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerSystem(bytes32,address,bool)":{"details":"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.","params":{"publicAccess":"Flag indicating if access control check is bypassed","system":"The system being registered","systemId":"The unique identifier for the system"}},"registerSystemHook(bytes32,address,uint8)":{"details":"Adds a new hook for the system at the provided system ID","params":{"enabledHooksBitmap":"Bitmap indicating which hooks are enabled","hookAddress":"The address of the hook being registered","systemId":"The ID of the system"}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterDelegation(address)":{"details":"Deletes the new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee"}},"unregisterNamespaceDelegation(bytes32)":{"details":"Deletes the delegation control for a specific namespace","params":{"namespaceId":"The ID of the namespace"}},"unregisterSystemHook(bytes32,address)":{"details":"Removes a hook for the system at the provided system ID","params":{"hookAddress":"The address of the hook being unregistered","systemId":"The ID of the system"}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"registerDelegation(address,bytes32,bytes)":{"notice":"Registers a delegation for the caller"},"registerFunctionSelector(bytes32,string)":{"notice":"Registers a new World function selector"},"registerNamespace(bytes32)":{"notice":"Registers a new namespace"},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"notice":"Registers a delegation for a namespace"},"registerRootFunctionSelector(bytes32,string,bytes4)":{"notice":"Registers a root World function selector"},"registerSystem(bytes32,address,bool)":{"notice":"Registers a system"},"registerSystemHook(bytes32,address,uint8)":{"notice":"Registers a new system hook"},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterDelegation(address)":{"notice":"Unregisters a delegation"},"unregisterNamespaceDelegation(bytes32)":{"notice":"Unregisters a delegation for a namespace"},"unregisterSystemHook(bytes32,address)":{"notice":"Unregisters a system hook"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":"WorldRegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xddb7fe629b2fef153ef807b6edf87b9249bd2bea6d9ff8f871626880ad5f2838","urls":["bzz-raw://6689819089408ec1ea8269dc859fb45ac384b47683802dea5672521ce1b13ef0","dweb:/ipfs/QmVKg2veSMyWEsz6YoYiPDSt1QehGo3C38q2TWhmoo3xod"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde","urls":["bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2","dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c","urls":["bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b","dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x352acfb660943a6c626adf262444385c93b034ffe2e6cd5aec6b78af1eacf45f","urls":["bzz-raw://0755c5269ce33e1eb3200a16954fc6d47cc2d0adb1adc0a79d152712aa21ec63","dweb:/ipfs/QmaFXnr7xMW6dZegbXKMnwTFVTHd8NYWcC9ZMoSRMLaJgc"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6c8c2afc2102aae3577057f5c5077f6606b553ab698f34484fc5958a7994e59e","urls":["bzz-raw://4afabc0d9e58c25f600ea36bb7c6f5f3393496880fdfd810df4f914d2fbe1bea","dweb:/ipfs/QmYJpEEf4DDQiUWy4gj4Pa8jypxYRKNdiUSEvev2gVZBBj"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x8c901269f30610e060a238c7a0c488b58cf9a7dc983bf87d49555e16976b49df","urls":["bzz-raw://ce8cff1b275fc5f2b54455102671c45936d88d5795f9853832808504c708324b","dweb:/ipfs/QmY9oHiTEyUMdXBu5kjV6SH5YYo2jkkoG9XHuG22bX1ew5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x225f9a9debf14152e3adecdca848f01fbfdc42c093f97c0f80ae0a43cdcf468e","urls":["bzz-raw://8e15dc3efa43440a9e4be75a439bc8140580fa3008789647450744ee837c11da","dweb:/ipfs/QmYrTN2it1r9dUrFR1pSM33cbhtbWjE41gswG9QWZ9TqHA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x4ffff18377ca8c94ec29ba504ed4f107943c4fe0a963de006375774c2de57cc7","urls":["bzz-raw://279fe91c8f7fecb582aba253f7b6c59df11b4675721015557161f3d7f1af3855","dweb:/ipfs/QmVQnrxjgPGswYNkQ6bMMuv9TTjBp83u2UZPtpzeBDtR41"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07","urls":["bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544","dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0","urls":["bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271","dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7","urls":["bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761","dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1","urls":["bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a","dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/errors.sol":{"keccak256":"0x10d1f9fc51a33e2f586fbb1963f4073ffe0a020909fdda06162ef1cf4e931c30","urls":["bzz-raw://a4ec8f24fbe99ed3520446db632571859033870be31537a8b0b5bfb88b5fc1c5","dweb:/ipfs/QmUNDSUU757c24cwVKLpB7nWtTqcNZXPyNcbiiVShpW2Gh"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439","urls":["bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c","dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a","urls":["bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89","dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3","urls":["bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9","dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2","urls":["bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d","dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x4ca92b682610ae2c6636a5c196ccf837417b67ce1495b06ed30ac6fd09ed964e","urls":["bzz-raw://16bdacafc7a9f73c753259fbe3d9de4e50578359efee9f523ceb367de3ae78e5","dweb:/ipfs/QmUBkgKVMSsYbn4wmEbCyHhGLBVrViCMR6u1SQdEvpyq7f"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0xa138b23cf8a6c7783e25c1daa359cd4208b410808f816eb8182ce4f284290fe6","urls":["bzz-raw://25f34ba67c233887b67bafc0eed258c873898bb4ee8bb054287e2c7abbc6621d","dweb:/ipfs/QmZsEu66KL3GsaKkCjSAf7RN7GBUXcBPuDsiot6TUtR97q"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xef3b8ea518e69884ef8fcfa56a34b9b53ba9ddec43ec549da8e2e90543329ac8","urls":["bzz-raw://6ae33ee2ebaeb6c321c39742c2c8a5125444aa15ef825b8f6113f04ae0194c4a","dweb:/ipfs/Qme9myURbe5DzCT6oBiY4Gn7nGESsjXw7dBRUQWWBeXBq4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0xb6a2475d33990b8c3646c62c22b92718955af66af95f2a1caac0cbb29b27efa4","urls":["bzz-raw://ebdbcb2da135f43f46a5acb4562422315bd6b3d7c4b8a224ec62b26d4326f0a2","dweb:/ipfs/QmTYFbcAEdn81FVkBCBjezo9F53E1uxsEk68gw2rLCUevP"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15","urls":["bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca","dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9","urls":["bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243","dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x0ccdb0f2e1d2586e9a7e433e6b927938663a214fab69ba5c857cfb43418f7746","urls":["bzz-raw://eb385a338d9697498beee8d9a9557ff33510ee5755c37a488f98c099111b9ceb","dweb:/ipfs/QmRvvbX54ADo4QeBRTLkmGBSqgMWu4fqkqc3Qcb954YgKE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e","urls":["bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9","dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac","urls":["bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729","dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x7bef07381674a5aa5eed9e59c41feca3e7fc00283249bff4a9cd8690a68785dd","urls":["bzz-raw://9d6946cff935909a91e6638677f0b4df774e403d5daa21683cd6dbcff0eb6ecb","dweb:/ipfs/QmSJvMTqpgC2zSwyYNicmRiLrocuyQStTSe4oStZPUvkX7"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa","urls":["bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6","dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0x89ef3634e9ca378f047ee9d0bc52c5be5533d54ea3642bbf3ced4a01dd45948f","urls":["bzz-raw://b32a50933d8686c0f3a4712450797b79c5d3be583c84d6725f91abaaf071b148","dweb:/ipfs/Qme2magezDm5Cqdbjxkey886yDZFTUWpF93DUadAX1pyyW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730","urls":["bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658","dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1","urls":["bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6","dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc","urls":["bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027","dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145","urls":["bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d","dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"}},"version":1},"id":91}
1
+ {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSelector","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516148be6100306000396000610a2a01526148be6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2160:12847:91:-:0;;;915:4:82;872:48;;2160:12847:91;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2160:12847:91:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:198:58;;;;;;:::i;:::-;;:::i;:::-;;;592:14:208;;585:22;567:41;;555:2;540:18;2265:198:58;;;;;;;;1196:113;;;:::i;:::-;;;-1:-1:-1;;;;;783:55:208;;;765:74;;753:2;738:18;1196:113:58;619:226:208;11552:932:91;;;;;;:::i;:::-;;:::i;:::-;;8313:1508;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;3126:79:208;;;3108:98;;3096:2;3081:18;8313:1508:91;2964:248:208;5742:2236:91;;;;;;:::i;:::-;;:::i;1550:110:58:-;;;-1:-1:-1;;3551:14:58;3547:25;3534:39;3899:25:208;;3887:2;3872:18;1550:110:58;3753:177:208;10225:997:91;;;;;;:::i;:::-;;:::i;4676:388::-;;;;;;:::i;:::-;;:::i;14539:466::-;;;;;;:::i;:::-;;:::i;2470:736::-;;;;;;:::i;:::-;;:::i;13210:1145::-;;;;;;:::i;:::-;;:::i;12669:223::-;;;;;;:::i;:::-;;:::i;3510:936::-;;;;;;:::i;:::-;;:::i;1876:98:58:-;;;:::i;2265:198::-;2341:4;-1:-1:-1;;;;;;2360:54:58;;2375:39;2360:54;;:98;;-1:-1:-1;;;;;;;2418:40:58;;2433:25;2418:40;2360:98;2353:105;2265:198;-1:-1:-1;;2265:198:58:o;1196:113::-;1239:14;1268:36;:34;:36::i;:::-;1261:43;;1196:113;:::o;11552:932:91:-;995:20:82;:18;:20::i;:::-;11757:141:91::1;11803:12;:10;:12::i;:::-;11834:9;11872:19;11757:26;:141::i;:::-;11948:41;11969:19;11948:20;:41::i;:::-;11944:536;;;12093:25;12121:39;12140:19;12121:18;:39::i;:::-;12093:67;;12168:73;12185:17;12204:36;12168:16;:73::i;:::-;12312:161;12363:12;:10;:12::i;:::-;12395:19;12434:12;12463:1;12312:32;:161::i;:::-;;11991:489;11944:536;11552:932:::0;;;:::o;8313:1508::-;8452:28;995:20:82;:18;:20::i;:::-;-1:-1:-1;;;8559:8:91;:37;::::1;;8555:138;;-1:-1:-1::0;;;8656:8:91::1;8666:19;:8;:17;:19::i;:::-;8613:73;;;;;;;;;;;;;:::i;:::-;;;;;;;;8555:138;8736:40;8767:8;8736:30;:40::i;:::-;8830:50;8857:8;8867:12;:10;:12::i;:::-;8830:26;:50::i;:::-;8927:29;8959:59;8994:23;:8;385:5:15::0;2502:44:59;;2404:148;8994:23:91::1;-1:-1:-1::0;;8959:59:91::1;:34;:59::i;:::-;8927:91;;9024:35;9079:15;9102:23;9062:64;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9024:102;;9173:22;9163:33;;;;;;9132:65;;9263:27;9293:53;9324:21;9293:30;:53::i;:::-;9263:83:::0;-1:-1:-1;9357:40:91;;9353:111:::1;;9406:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:208;;9406:58:91::1;::::0;::::1;3108:98:208::0;3081:18;;9406:58:91::1;2964:248:208::0;9353:111:91::1;9548:41:::0;;::::1;::::0;::::1;::::0;9596:79:::1;9619:21:::0;9642:8;9548:41;9596:22:::1;:79::i;:::-;9738:78;9762:21;9792:22;9738:23;:78::i;:::-;8482:1339;;;;8313:1508:::0;;;;:::o;5742:2236::-;995:20:82;:18;:20::i;:::-;-1:-1:-1;;;5930:8:91;:37;::::1;;5926:138;;-1:-1:-1::0;;;6027:8:91::1;6037:19;:8;:17;:19::i;5926:138::-;578:36:59::0;2820:46;;-1:-1:-1;;;2819:74:59;6173:43:91::1;2819:74:59::0;6173:30:91::1;:43::i;:::-;6270:53;6297:11;6310:12;:10;:12::i;6270:53::-;6414:74;6439:6;6448:39;6414:16;:74::i;:::-;6581:9;6559:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6559:31:91::1;::::0;6555:98:::1;;6623:8;6633:19;:8;:17;:19::i;:::-;6599:54;;;;;;;;;;;;:::i;6555:98::-;6737:27;6767:36;6795:6;6767:19;:36::i;:::-;6737:66:::0;-1:-1:-1;6820:40:91;;;::::1;::::0;:110:::1;;;6921:8;6882:16;6864:66;;6820:110;6809:192;;;6952:42;::::0;::::1;::::0;;-1:-1:-1;;;;;783:55:208;;6952:42:91::1;::::0;::::1;765:74:208::0;738:18;;6952:42:91::1;619:226:208::0;6809:192:91::1;7065:22;7090:28;7109:8;7090:18;:28::i;:::-;7065:53:::0;-1:-1:-1;;;;;;7198:28:91;::::1;::::0;7194:411:::1;;7297:44;7326:14;7297:28;:44::i;:::-;7412:57;7441:11;7454:14;7412:28;:57::i;:::-;7194:411;;;7560:38;7583:8;7593:4;7560:22;:38::i;:::-;7692:53;7705:8;7723:6;7732:12;7692;:53::i;:::-;7817:46;7845:6;7854:8;7817:19;:46::i;:::-;7918:55;7938:11;7959:6;7968:4;7918:19;:55::i;:::-;5853:2125;;;5742:2236:::0;;;:::o;10225:997::-;10402:28;995:20:82;:18;:20::i;:::-;625:63:80::1;::::0;;-1:-1:-1;;;625:63:80::1;::::0;::::1;8547:92:208::0;662:14:80::1;8655:11:208::0;;;8648:100;;;8764:12;;;8757:101;10490:59:91::1;::::0;8874:12:208;625:63:80::1;;;;;;;;;;;;617:72;;;:::i;:::-;10536:12:91;:10;:12::i;10490:59::-;-1:-1:-1::0;10652:40:91;;::::1;::::0;::::1;::::0;10759:27:::1;10789:53;10652:40:::0;10789:30:::1;:53::i;:::-;10759:83:::0;-1:-1:-1;10853:40:91;;10849:111:::1;;10902:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:208;;10902:58:91::1;::::0;::::1;3108:98:208::0;3081:18;;10902:58:91::1;2964:248:208::0;10849:111:91::1;11005:79;11028:21;11051:8;11061:22;11005;:79::i;:::-;11147:70;11171:21;11194:22;11147:23;:70::i;:::-;10432:790;10225:997:::0;;;;;:::o;4676:388::-;995:20:82;:18;:20::i;:::-;4833:50:91::1;4860:8;4870:12;:10;:12::i;4833:50::-;4978:81;1292:66:76;5028:8:91::0;5046:11;4978:27:::1;:81::i;:::-;4676:388:::0;;:::o;14539:466::-;995:20:82;:18;:20::i;:::-;14680:29:91::1;14697:11;14680:16;:29::i;:::-;14754:43;14785:11;14754:30;:43::i;:::-;14851:53;14878:11;14891:12;:10;:12::i;14851:53::-;14948:52;14988:11;14948:39;:52::i;:::-;14539:466:::0;:::o;2470:736::-;995:20:82;:18;:20::i;:::-;2607:29:91::1;2624:11;2607:16;:29::i;:::-;2701:34;2723:11;2701:21;:34::i;:::-;2788:35;2811:11;2788:22;:35::i;:::-;2784:127;;;2868:11;2881:22;:11;:20;:22::i;:::-;2840:64;;;;;;;;;;;;:::i;2784:127::-;2955:41;2978:11;2991:4;2955:22;:41::i;:::-;3049:46;3069:11;3082:12;:10;:12::i;:::-;3049:19;:46::i;:::-;3149:52;3169:11;3182:12;:10;:12::i;:::-;3196:4;3149:19;:52::i;13210:1145::-:0;995:20:82;:18;:20::i;:::-;13424:29:91::1;13441:11;13424:16;:29::i;:::-;13515:41;13536:19;13515:20;:41::i;:::-;13510:107;;13573:37;;;;;;;;;;;;;;13510:107;13670:53;13697:11;13710:12;:10;:12::i;13670:53::-;13822:25;13850:39;13869:19;13850:18;:39::i;:::-;13822:67;;13895:73;13912:17;13931:36;13895:16;:73::i;:::-;14014:65;14046:11;14059:19;14014:31;:65::i;:::-;14150:19:::0;;:23;14146:205:::1;;14183:161;14234:12;:10;:12::i;14146:205::-;13370:985;13210:1145:::0;;;:::o;12669:223::-;995:20:82;:18;:20::i;:::-;12802:85:91::1;12850:12;:10;:12::i;:::-;12875:9;12802:34;:85::i;3510:936::-:0;995:20:82;:18;:20::i;:::-;-1:-1:-1;;;3735:8:91;:37;::::1;;3731:138;;-1:-1:-1::0;;;3832:8:91::1;3842:19;:8;:17;:19::i;3731:138::-;3950:69;3975:11;3989:29;3950:16;:69::i;:::-;4061:40;4092:8;4061:30;:40::i;:::-;4155:57;-1:-1:-1::0;;;578:36:59;2820:46;;2819:74;4155:30:91::1;:57::i;:::-;4262:50;4289:8;4299:12;:10;:12::i;4262:50::-;4344:97;4361:8:::0;-1:-1:-1;;987:20:4;;;;979:29;1011:30;;;;;;979:62;4344:16:91::1;:97::i;1876:98:58:-:0;1915:7;1937:32;:30;:32::i;2743:383::-;3029:34;3033:14;3029:34;3016:48;3010:4;3006:59;;3076:45;;-1:-1:-1;3111:10:58;3076:45;2743:383;:::o;1113:189:82:-;-1:-1:-1;;;;;1199:6:82;1182:23;1190:4;1182:23;1171:127;;1266:25;;;;;;;;;;;;;;1171:127;1113:189::o;6660:426:79:-;6788:16;;;6802:1;6788:16;;;;;;;;6759:26;;6788:16;;;;;;;;;;-1:-1:-1;6788:16:79;6759:45;;6849:9;-1:-1:-1;;;;;6833:27:79;6825:36;;6810:9;6820:1;6810:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6906:9;-1:-1:-1;;;;;6890:27:79;6882:36;;6867:9;6877:1;6867:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6925:156;1307:66;1291:83;;6973:9;6990:1;7034:19;6999:56;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;6999:56:79;;;;-1:-1:-1;;6999:56:79;;;;;;;;;-1:-1:-1;;;6925:24:79;:156::i;1443:162:43:-;1517:4;744:53;;;1536:64;;;;;1568:32;1580:19;1568:11;:32::i;:::-;1567:33;1529:71;1443:162;-1:-1:-1;;1443:162:43:o;3579:307:78:-;3694:16;;;3708:1;3694:16;;;;;;;;;3643:14;;;;3694:16;;;;;;;;;;;;-1:-1:-1;3694:16:78;3665:45;;3749:8;3716:9;3726:1;3716:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3765:13;3781:62;1284:66;3816:9;3765:13;1413:66;3781:24;:62::i;:::-;3857:23;;;3579:307;-1:-1:-1;;;;3579:307:78:o;879:238:93:-;964:61;996:15;1013:11;964:31;:61::i;:::-;959:156;;1040:70;;;;;-1:-1:-1;;;;;9825:55:208;;1040:70:93;;;9807:74:208;-1:-1:-1;;;;;;9917:79:208;;9897:18;;;9890:107;9780:18;;1040:70:93;9635:368:208;5192:401:55;5336:17;5362:12;5376:23;5403:115;5433:6;5477:8;5503;5454:5;5403:13;:115::i;:::-;5361:157;;;;5529:7;5524:41;;5538:27;5554:10;5538:15;:27::i;:::-;5578:10;5192:401;-1:-1:-1;;;;;;5192:401:55:o;3351:592:59:-;3415:13;3485:10;385:5:15;2502:44:59;;;3436:19;3583;3485:10;3583:7;:19::i;:::-;3560:42;-1:-1:-1;3665:12:59;-1:-1:-1;;3704:35:59;;;:102;;3753:53;-1:-1:-1;;3753:53:59;;:34;:53::i;:::-;3704:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3833:25:59;;;:87;;3872:48;3907:12;3872:34;:48::i;:::-;3833:87;;;;;;;;;;;;;;;;;;;;;3637:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3608:330;;;;;3351:592;;;:::o;2536:206:42:-;2610:34;2633:10;2610:22;:34::i;:::-;2605:133;;2697:10;2709:21;:10;:19;:21::i;:::-;2661:70;;;;;;;;;;;;:::i;2074:233::-;-1:-1:-1;;;;;2159:58:42;;:48;-1:-1:-1;;;578:36:59;2820:46;;2819:74;2159:19:42;:48::i;:::-;-1:-1:-1;;;;;2159:58:42;;2155:148;;2266:21;:10;:19;:21::i;:::-;2289:6;2234:62;;;;;;;;;;;;:::i;1796:322:59:-;1866:13;1887:14;1907:80;1923:2;1914:6;:11;1907:80;;;-1:-1:-1;;1941:34:59;;3152:1:2;3148:13;;3144:24;1941:39:59;;1937:50;1982:5;1937:50;1927:8;;1907:80;;;2023:30;;;-1:-1:-1;;11424:79:208;;2023:30:59;;;11412:92:208;2023:30:59;;11520:12:208;;;;2023:30:59;;;809:21:2;;;2023:30:59;2073:39;2059:54;1796:322;-1:-1:-1;;;;1796:322:59:o;3638::69:-;3764:16;;;3778:1;3764:16;;;;;;;;;3708:19;;;;3764:16;;;;;;;;;;;;-1:-1:-1;3764:16:69;3735:45;;3809:16;3801:25;;;3786:9;3796:1;3786:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3833:13;3849:62;1303:66;3884:9;3833:13;1432:66;3849:24;:62::i;7743:454::-;7849:24;7876:46;7889:8;7899:22;7876:12;:46::i;:::-;8025:16;;;8039:1;8025:16;;;;;;;;;7849:73;;-1:-1:-1;7929:29:69;;7964:25;;7929:29;;8025:16;;;;;;;;;;;;-1:-1:-1;8025:16:69;7996:45;;8070:16;8062:25;;;8047:9;8057:1;8047:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;8094:98;1303:66;8124:9;8135:11;8148:15;8165:12;1432:66;8094:19;:98::i;:::-;7843:354;;;;7743:454;;;:::o;3657:455:70:-;3744:24;3774:29;3806:32;3820:17;3806:13;:32::i;:::-;3774:64;;3844:25;3872:32;3886:17;3872:13;:32::i;:::-;3940:16;;;3954:1;3940:16;;;;;;;;;3844:60;;-1:-1:-1;3911:26:70;;3940:16;;;;;;;;;;;;-1:-1:-1;3940:16:70;3911:45;;3985:16;3977:25;;;3962:9;3972:1;3962:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;4009:98;1224:66;4039:9;4050:11;4063:15;4080:12;1353:66;4009:19;:98::i;3030:160:59:-;3093:7;3157:26;438:6;385:5:15;3157:26:59;:::i;:::-;3123:61;;;;;3030:160;-1:-1:-1;3030:160:59:o;4257:313:77:-;4366:16;;;4380:1;4366:16;;;;;;;;;4310:19;;;;4366:16;;;;;;;;;;;;-1:-1:-1;4366:16:77;4337:45;;4427:6;-1:-1:-1;;;;;4411:24:77;4403:33;;4388:9;4398:1;4388:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4443:13;4459:62;1298:66;4494:9;4443:13;-1:-1:-1;;;4459:24:77;:62::i;6235:222::-;6318:16;;;6332:1;6318:16;;;;;;;;;6289:26;;6318:16;;;;;;;;;;;-1:-1:-1;6318:16:77;6289:45;;6379:6;-1:-1:-1;;;;;6363:24:77;6355:33;;6340:9;6350:1;6340:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6395:57;1298:66;6428:9;-1:-1:-1;;;6395:22:77;:57::i;6795:295:75:-;6901:16;;;6915:1;6901:16;;;;;;;;6872:26;;6901:16;;;;;;;;;;-1:-1:-1;6901:16:75;6872:45;;6956:10;6923:9;6933:1;6923:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;7012:6;-1:-1:-1;;;;;6996:24:75;6988:33;;6973:9;6983:1;6973:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;7028:57;1298:66;7061:9;-1:-1:-1;;;7028:22:75;:57::i;4692:268:26:-;4792:16;;;4806:1;4792:16;;;;;;;;;4763:26;;4792:16;;;;;;;;;;;-1:-1:-1;4792:16:26;4763:45;;4847:10;4814:9;4824:1;4814:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4865:90;1102:66;1086:83;;4900:9;4911:1;4932:6;4914:26;;;;;;12013:14:208;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;4914:26:26;;;;-1:-1:-1;;4914:26:26;;;;;;;;;-1:-1:-1;;;4865:24:26;:90::i;7416:423:78:-;7501:24;7528:34;7541:6;7549:12;7528;:34::i;:::-;7665:16;;;7679:1;7665:16;;;;;;;;;7501:61;;-1:-1:-1;7569:29:78;;7604:25;;7569:29;;7665:16;;;;;;;;;;;;-1:-1:-1;7665:16:78;7636:45;;7720:8;7687:9;7697:1;7687:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7736:98;1284:66;7766:9;7777:11;7790:15;7807:12;1413:66;7736:19;:98::i;5618:286:77:-;5713:16;;;5727:1;5713:16;;;;;;;;;5684:26;;5713:16;;;;;;;;;;;-1:-1:-1;5713:16:77;5684:45;;5774:6;-1:-1:-1;;;;;5758:24:77;5750:33;;5735:9;5745:1;5735:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5790:109;1298:66;1282:83;;5825:9;5836:1;5874:8;5839:45;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;6059:332:75;6169:16;;;6183:1;6169:16;;;;;;;;6140:26;;6169:16;;;;;;;;;;-1:-1:-1;6169:16:75;6140:45;;6224:10;6191:9;6201:1;6191:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6280:6;-1:-1:-1;;;;;6264:24:75;6256:33;;6241:9;6251:1;6241:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;6296:90;1298:66;1282:83;;6331:9;6342:1;6363:6;6345:26;;;;;;12013:14:208;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;1408:1069:4;1551:29;1583:42;1594:11;1607:17;1583:10;:42::i;:::-;1551:74;;1743:25;1785:12;:19;1771:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1771:34:4;;1743:62;;1853:21;1903:25;1898:312;1950:12;:19;1930:17;:39;1898:312;;;2073:19;-1:-1:-1;;;;;2006:87:4;:55;2016:12;2029:17;2016:31;;;;;;;;:::i;:::-;;;;;;;2006:53;;;3404:35;;;3274:170;2006:55;-1:-1:-1;;;;;2006:87:4;;2002:200;;2133:12;2146:17;2133:31;;;;;;;;:::i;:::-;;;;;;;2107:8;2116:13;2107:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2176:15;;;;;2002:200;1971:19;;1898:312;;;;2363:13;2353:8;2346:31;2420:52;2431:11;2444:17;2463:8;2420:10;:52::i;521:401:94:-;-1:-1:-1;;;578:36:59;2820:46;;2819:74;746:10:94;728:79;724:196;;-1:-1:-1;;;881:10:94;893:21;:10;:19;:21::i;6443:214:73:-;6533:16;;;6547:1;6533:16;;;;;;;;;6504:26;;6533:16;;;;;;;;;;;-1:-1:-1;6533:16:73;6504:45;;6588:11;6555:9;6565:1;6555:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6607;1312:66;6642:9;6607:24;:45::i;573:770:95:-;701:17;721:25;:10;385:5:15;2502:44:59;;2404:148;721:25:95;701:45;-1:-1:-1;750:30:95;783:45;-1:-1:-1;;783:45:95;;:34;:45::i;:::-;865:30;;750:78;;-1:-1:-1;904:26:95;;900:441;;942:65;961:16;980:26;1005:1;980:22;:26;:::i;:::-;2636:27:2;2650:4;2636:27;2630:34;;2509:165;942:65:95;:72;;;;938:146;;1031:46;;;;;-1:-1:-1;;12365:79:208;;1031:46:95;;;12347:98:208;12320:18;;1031:46:95;12201:250:208;938:146:95;1095:9;1090:247;1110:26;1135:1;1110:22;:26;:::i;:::-;1106:1;:30;1090:247;;;2650:4:2;2636:27;;;;2630:34;1155:47:95;;;;;:102;;;;-1:-1:-1;1206:44:95;1225:16;1244:5;:1;1248;1244:5;:::i;1206:44::-;:51;;;;;1155:102;1151:180;;;1276:46;;;;;-1:-1:-1;;12365:79:208;;1276:46:95;;;12347:98:208;12320:18;;1276:46:95;12201:250:208;1151:180:95;1138:3;;1090:247;;3328:314:26;3442:16;;;3456:1;3442:16;;;;;;;;;3394:11;;;;3442:16;;;;;;;;;;;;-1:-1:-1;3442:16:26;3413:45;;3497:10;3464:9;3474:1;3464:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3515:13;3531:62;1102:66;3566:9;3515:13;-1:-1:-1;;;3531:24:26;:62::i;:::-;3515:78;;3607:29;3628:5;3615:20;;1452:10:15;1343:126;5493:265:74;5590:16;;;5604:1;5590:16;;;;;;;;;5561:26;;5590:16;;;;;;;;;;;-1:-1:-1;5590:16:74;5561:45;;5645:11;5612:9;5622:1;5612:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5664:89;1298:66;1282:83;;5699:9;5710:1;5731:5;5713:25;;;;;;;12605:2:208;12601:15;;;;-1:-1:-1;;12597:88:208;12585:101;;12711:2;12702:12;;12456:264;5713:25:74;;;;-1:-1:-1;;5713:25:74;;;;;;;;;1427:66;5664:24;:89::i;6033:349:73:-;6147:16;;;6161:1;6147:16;;;;;;;;;6118:26;;6147:16;;;;;;;;;;;-1:-1:-1;6147:16:73;6118:45;;6202:11;6169:9;6179:1;6169:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;6221:156;1312:66;1296:83;;6269:9;6286:1;6330:19;6295:56;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;7147:291:79;7251:16;;;7265:1;7251:16;;;;;;;;7222:26;;7251:16;;;;;;;;;;-1:-1:-1;7251:16:79;7222:45;;7312:9;-1:-1:-1;;;;;7296:27:79;7288:36;;7273:9;7283:1;7273:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;7369:9;-1:-1:-1;;;;;7353:27:79;7345:36;;7330:9;7340:1;7330:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;7388:45;1307:66;7423:9;7388:24;:45::i;10051:257:76:-;10148:16;;;10162:1;10148:16;;;;;;;;;10119:26;;10148:16;;;;;;;;;;;-1:-1:-1;10148:16:76;10119:45;;10203:8;10170:9;10180:1;10170:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;10219:84;1292:66;1276:83;;10260:9;10271:1;10292:8;10274:28;;;;;;;12878:66:208;12866:79;;;;12854:92;;12971:2;12962:12;;12725:255;10274:28:76;;;;;;;;;;;;;10219:30;:84::i;3799:97:58:-;3840:7;3862:29;:27;:29::i;24794:355:19:-;24966:178;25000:7;25025:8;25055:63;25094:11;25107:10;25055:38;:63::i;:::-;25133:4;24966:16;:178::i;1063:181:43:-;764:71:80;;;-1:-1:-1;;;764:71:80;;;8547:92:208;1139:4:43;8655:11:208;;;8648:100;;;814:20:80;8764:12:208;;;8757:101;1139:4:43;8874:12:208;764:71:80;;;;;;;;;;;;756:80;;;:::i;:::-;1158:81:43;;;;1063:181;-1:-1:-1;1063:181:43:o;37827:541:19:-;37984:7;38121:242;38165:59;38206:7;38215:8;38165:40;:59::i;:::-;38242:31;;;;4479:19:3;:27;537:1:29;4478:44:3;4444:79;;;4431:93;38291:63:19;38330:11;38343:10;38291:38;:63::i;:::-;38121:17;:242::i;:::-;38108:255;37827:541;-1:-1:-1;;;;;37827:541:19:o;1313:272:45:-;1400:4;1499:23;1514:7;1499:14;:23::i;:::-;:81;;;;;1526:54;1559:7;1568:11;1526:32;:54::i;:::-;1492:88;1313:272;-1:-1:-1;;;1313:272:45:o;3716:1003:55:-;3852:12;3866:17;3915:22;3940:26;3957:8;3940:16;:26::i;:::-;3915:51;;4043:9;4038:228;4058:5;:12;4054:1;:16;4038:228;;;4085:9;4107:5;4113:1;4107:8;;;;;;;;:::i;:::-;;;;;;;4085:31;;4128:34;392:6:97;4128:4:55;:14;;;;;:34;;;;:::i;:::-;4124:136;;;4174:77;;;;;3404:35:4;;;;;4174:49:55;;:77;;4224:6;;4232:8;;4242;;4174:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:136;-1:-1:-1;4072:3:55;;4038:228;;;;4341:78;4356:6;4371:5;4388:8;4408;4341:4;:78::i;:::-;4323:96;;-1:-1:-1;4323:96:55;-1:-1:-1;4494:9:55;4489:226;4509:5;:12;4505:1;:16;4489:226;;;4536:9;4558:5;4564:1;4558:8;;;;;;;;:::i;:::-;;;;;;;4536:31;;4579:33;520:6:97;4579:4:55;:14;;;;;:33;;;;:::i;:::-;4575:134;;;4624:76;;;;;3404:35:4;;;;;4624:48:55;;:76;;4673:6;;4681:8;;4691;;4624:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4575:134;-1:-1:-1;4523:3:55;;4489:226;;;;3885:834;3716:1003;;;;;;;:::o;501:217:96:-;704:6;698:13;691:4;683:6;679:17;672:40;4220:306:74;4331:16;;;4345:1;4331:16;;;;;;;;;4281:13;;;;4331:16;;;;;;;;;;;;-1:-1:-1;4331:16:74;4302:45;;4386:11;4353:9;4363:1;4353:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4405:13;4421:62;1298:66;4456:9;4405:13;1427:66;4421:24;:62::i;9649:179:69:-;9746:12;9790:8;9800:22;9773:50;;;;;;;;13616:19:208;;;-1:-1:-1;;;;;;13665:79:208;13660:2;13651:12;;13644:101;13770:2;13761:12;;13430:349;9773:50:69;;;;;;;;;;;;;9766:57;;9649:179;;;;:::o;14932:3138:19:-;15226:23;15205:7;:44;;;15201:198;;15319:7;15303:75;15328:8;15338:10;15350:14;15366:11;15303:75;;;;;;;;;:::i;:::-;;;;;;;;15386:7;;15201:198;15537:22;15562:24;15578:7;15562:15;:24::i;:::-;15537:49;;15597:9;15592:340;15612:5;:12;15608:1;:16;15592:340;;;15639:9;15661:5;15667:1;15661:8;;;;;;;;:::i;:::-;;;;;;;15639:31;;15682:33;343:6:32;15682:4:19;:14;;;;;:33;;;;:::i;:::-;15678:248;;;15727:190;;;;;3404:35:4;;;;;15727:47:19;;:190;;15786:7;;15805:8;;15825:10;;15847:14;;15873:11;;15896;;15727:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15678:248;-1:-1:-1;15626:3:19;;15592:340;;;;15996:7;15980:75;16005:8;16015:10;16027:14;16043:11;15980:75;;;;;;;;;:::i;:::-;;;;;;;;16119:26;16148:59;16189:7;16198:8;16148:40;:59::i;:::-;16119:88;-1:-1:-1;16213:21:19;828:4:13;818:15;;16213:54:19;;16273:149;16311:18;16345:1;16362:10;:17;16402:13;16273;:149::i;:::-;16522:1;16489:30;:11;:28;:30::i;:::-;:34;16485:1174;;;16608:33;16644:66;16692:7;16701:8;16644:47;:66::i;:::-;629:28:18;;;16608:102:19;-1:-1:-1;828:4:13;818:15;;16884:47:19;;17040:27;17075:25;17113:7;17108:545;17126:30;:11;:28;:30::i;:::-;17122:1;:34;;;17108:545;;;17192:63;17234:7;17243:8;17253:1;17192:41;:63::i;:::-;17170:85;-1:-1:-1;17285:25:19;:14;17308:1;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;17285:25:19;17265:45;;17320:170;17362:19;17401:1;17422:17;17466:13;17320;:170::i;:::-;17500:34;17517:17;17500:34;;:::i;:::-;;-1:-1:-1;17631:3:19;;17108:545;;;;16525:1134;;;16485:1174;17733:9;17728:338;17748:5;:12;17744:1;:16;17728:338;;;17775:9;17797:5;17803:1;17797:8;;;;;;;;:::i;:::-;;;;;;;17775:31;;17818:32;437:6:32;17818:4:19;:14;;;;;:32;;;;:::i;:::-;17814:246;;;17862:189;;;;;3404:35:4;;;;;17862:46:19;;:189;;17920:7;;17939:8;;17959:10;;17981:14;;18007:11;;18030;;17862:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17814:246;-1:-1:-1;17762:3:19;;17728:338;;;;15141:2929;;;14932:3138;;;;;;:::o;5751:304:70:-;5830:29;5990:54;6018:17;6012:31;834:16:14;1854:39;;;1836:58;;1697:263;6220:155:70;6299:12;6350:17;6326:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;6319:51;;6220:155;;;:::o;27982:1778:19:-;28170:23;28149:7;:44;;;28145:160;;28266:7;28247:37;28275:8;28247:37;;;;;;:::i;:::-;;;;;;;;27982:1778;;;:::o;28145:160::-;28446:22;28471:24;28487:7;28471:15;:24::i;:::-;28446:49;;28506:9;28501:235;28521:5;:12;28517:1;:16;28501:235;;;28548:9;28570:5;28576:1;28570:8;;;;;;;;:::i;:::-;;;;;;;28548:31;;28591:36;983:6:32;28591:4:19;:14;;;;;:36;;;;:::i;:::-;28587:143;;;28639:82;;;;;3404:35:4;;;;;28639:50:19;;:82;;28690:7;;28699:8;;28709:11;;28639:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28587:143;-1:-1:-1;28535:3:19;;28501:235;;;;28803:7;28784:37;28812:8;28784:37;;;;;;:::i;:::-;;;;;;;;28854:26;28883:59;28924:7;28933:8;28883:40;:59::i;:::-;28854:88;;28948:113;28980:18;29008:1;29027:30;:11;:28;:30::i;:::-;29017:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29017:41:19;;28948:13;:113::i;:::-;29280:1;29247:30;:11;:28;:30::i;:::-;:34;29243:236;;;29291:33;29327:66;29375:7;29384:8;29327:47;:66::i;:::-;29291:102;;29401:71;29432:25;29467:2;29401:12;:71::i;:::-;29283:196;29243:236;29528:9;29523:233;29543:5;:12;29539:1;:16;29523:233;;;29570:9;29592:5;29598:1;29592:8;;;;;;;;:::i;:::-;;;;;;;29570:31;;29613:35;1083:6:32;29613:4:19;:14;;;;;:35;;;;:::i;:::-;29609:141;;;29660:81;;;;;3404:35:4;;;;;29660:49:19;;:81;;29710:7;;29719:8;;29729:11;;29660:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29609:141;-1:-1:-1;29557:3:19;;29523:233;;9239:150:78;9346:38;;9319:12;17019:15:208;;;-1:-1:-1;;17015:88:208;9346:38:78;;;17003:101:208;17150:14;;17143:22;17138:3;17134:32;17120:12;;;17113:54;9319:12:78;17183::208;;9346:38:78;16852:349:208;4001:369:25;4141:16;;;4155:1;4141:16;;;;;;;;;4082:22;;4112:26;;4141:16;;;;;;;;;;;;-1:-1:-1;4141:16:25;4112:45;;4196:10;4163:9;4173:1;4163:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4214:18;4235:49;4261:8;4271:9;4282:1;4235:25;:49::i;:::-;4214:70;;4298:66;:44;4319:5;4326:1;4329:5;:12;4298:20;:44::i;:::-;:64;:66::i;5388:282::-;5514:16;;;5528:1;5514:16;;;;;;;;;5485:26;;5514:16;;;;;;;;;;;-1:-1:-1;5514:16:25;5485:45;;5569:10;5536:9;5546:1;5536:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5587:78;5613:8;5623:9;5634:1;5637:27;5657:5;5637:18;:27::i;:::-;5587:25;:78::i;13776:301:23:-;13860:21;13884:17;:15;:17::i;:::-;13860:41;-1:-1:-1;13936:4:23;-1:-1:-1;;;;;13911:30:23;;;13907:166;;13951:41;13974:7;13983:8;13951:22;:41::i;13907:166::-;14013:53;;;;;-1:-1:-1;;;;;14013:34:23;;;;;:53;;14048:7;;14057:8;;14013:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12274:451;12434:21;12458:17;:15;:17::i;:::-;12434:41;-1:-1:-1;12510:4:23;-1:-1:-1;;;;;12485:30:23;;;12481:240;;12525:78;12554:7;12563:8;12573:17;12592:10;12525:28;:78::i;:::-;12481:240;;;12624:90;;;;;-1:-1:-1;;;;;12624:40:23;;;;;:90;;12665:7;;12674:8;;12684:17;;12703:10;;12624:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12428:297;12274:451;;;;:::o;1766:227::-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:23;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:23:o;53342:242:19:-;53438:7;;;53477:84;53497:10;53493:14;;:1;:14;53477:84;;;53522:32;4431:93:3;4479:19;:27;;;537:1:29;4478:44:3;4444:79;;;4431:93;53522:32:19;;:::i;:::-;;-1:-1:-1;53509:3:19;;53477:84;;18706:1676;18906:23;18885:7;:44;;;18881:232;;19036:7;18992:100;19055:8;19072:5;19085:4;18992:100;;;;;;;;:::i;:::-;;;;;;;;19100:7;;18881:232;19119:16;19138:59;19179:7;19188:8;19138:40;:59::i;:::-;19119:78;;19343:22;19368:24;19384:7;19368:15;:24::i;:::-;19343:49;;19403:9;19398:328;19418:5;:12;19414:1;:16;19398:328;;;19445:9;19467:5;19473:1;19467:8;;;;;;;;:::i;:::-;;;;;;;19445:31;;19488:41;548:6:32;19488:4:19;:14;;;;;:41;;;;:::i;:::-;19484:236;;;19541:170;;;;;3404:35:4;;;;;19541:54:19;;:170;;19617:7;;19646:8;;19673:5;;19696:4;;19541:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19484:236;-1:-1:-1;19432:3:19;;19398:328;;;;19827:7;19783:100;19846:8;19863:5;19876:4;19783:100;;;;;;;;:::i;:::-;;;;;;;;19933:70;19965:8;19983:5;19933:70;;19996:4;19933:13;:70::i;:::-;20057:9;20052:326;20072:5;:12;20068:1;:16;20052:326;;;20099:9;20121:5;20127:1;20121:8;;;;;;;;:::i;:::-;;;;;;;20099:31;;20142:40;657:6:32;20142:4:19;:14;;;;;:40;;;;:::i;:::-;20138:234;;;20194:169;;;;;3404:35:4;;;;;20194:53:19;;:169;;20269:7;;20298:8;;20325:5;;20348:4;;20194:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20138:234;-1:-1:-1;20086:3:19;;20052:326;;52325:191;52427:7;52491;52500:8;52474:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52474:35:19;;;;;;;;;52464:46;;52474:35;52464:46;;;;43924:22;52457:53;;52325:191;-1:-1:-1;;;52325:191:19:o;8879:812:18:-;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:18;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;709:400:45:-;773:4;962:68;995:7;1004:25;962:32;:68::i;:::-;:142;;;;-1:-1:-1;1041:63:45;1074:7;-1:-1:-1;;;;;;4133:576:45;4296:56;;-1:-1:-1;;;;;;3126:79:208;;4296:56:45;;;3108:98:208;4235:4:45;;;;3081:18:208;;4296:56:45;;;-1:-1:-1;;4296:56:45;;;;;;;;;;;;;;;;;;;;;4534:20;;4296:56;;-1:-1:-1;;;;;;;4296:56:45;;-1:-1:-1;;4499:7:45;4492:5;4481:86;4470:97;;4588:16;4574:30;;4632:4;4626:11;4611:26;;4656:7;:29;;;;;4681:4;4667:10;:18;;4656:29;:48;;;;;4703:1;4689:11;:15;4656:48;4649:55;4133:576;-1:-1:-1;;;;;;;4133:576:45:o;4331:344:76:-;4448:16;;;4462:1;4448:16;;;;;;;;;4389:22;;4419:26;;4448:16;;;;;;;;;;;;-1:-1:-1;4448:16:76;4419:45;;4503:8;4470:9;4480:1;4470:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4519:18;4540:49;1292:66;4576:9;4519:18;4540:25;:49::i;:::-;4519:70;;4603:66;:44;4624:5;4631:1;4634:5;:12;4603:20;:44::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;1695:1386:55:-;1822:12;1836:17;1890:21;1913:17;1934:22;1947:8;1934:12;:22::i;:::-;1889:67;;-1:-1:-1;1889:67:55;-1:-1:-1;;;;;;2001:27:55;;1997:106;;2073:8;2083:19;:8;:17;:19::i;1997:106::-;2209:12;2204:64;;2223:45;2251:8;2261:6;2223:27;:45::i;:::-;2347:9;;2343:197;;578:36:59;2820:46;;-1:-1:-1;;;2819:74:59;2366:22:55;2449:26;2819:74:59;2449:13:55;:26::i;:::-;2424:51;-1:-1:-1;2483:50:55;2497:11;2510:22;2527:5;2424:51;2510:22;:::i;:::-;2483:13;:50::i;:::-;2358:182;;2343:197;2642:14;2615:23;:8;385:5:15;2502:44:59;;2404:148;2615:23:55;-1:-1:-1;;2615:41:55;;:461;;2916:160;2977:6;3003:5;3026:13;3059:8;2916:39;:160::i;:::-;2615:461;;;2739:168;2808:6;2834:5;2857:13;2890:8;2739:47;:168::i;:::-;2597:479;;;;-1:-1:-1;1695:1386:55;-1:-1:-1;;;;;;;1695:1386:55:o;4132:342:27:-;4248:16;;;4262:1;4248:16;;;;;;;;;4189:22;;4219:26;;4248:16;;;;;;;;;;;;-1:-1:-1;4248:16:27;4219:45;;4303:7;4270:9;4280:1;4270:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4318:18;4339:49;1100:66;4375:9;4318:18;4339:25;:49::i;1423:2340:18:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:29;738:25:31;;716:48;2142:18:18;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:18;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:18;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;3695:21:18;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:18;;;;:::o;5533:173:3:-;5607:7;537:1:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5643:11:3;5622:79;5635:65;;5622:79;;5533:173;-1:-1:-1;;5533:173:3:o;54890:230:19:-;55011:7;55095;55104:8;55078:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55078:35:19;;;;;;;;;55068:46;;55078:35;55068:46;;;;44087:40;55041:73;;54890:230;-1:-1:-1;;;54890:230:19:o;54261:274::-;54405:7;54510;54519:8;54493:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54483:46;;;;;;54462:17;54455:25;;54435:45;;;43996:34;54435:45;:94;54427:103;;54420:110;;54261:274;;;;;:::o;4754:171:3:-;4828:7;537:1:29;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4850:70:3;;;;;4754:171;-1:-1:-1;4754:171:3:o;900:162:18:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::13;818:15;;692:151;1032:24:18;989:5;:68::i;3966:370::-;4088:13;4137:2;4122:11;:6;4131:2;4122:11;:::i;:::-;4121:18;;;;:::i;:::-;4104:35;;:14;:35;:::i;:::-;4088:51;;4145:187;4169:5;4152:14;:22;4145:187;;;4267:1;4251:14;4244:25;4316:1;4300:14;4296:22;4278:40;;4145:187;;38836:522:19;38972:12;39096:257;39135:79;39177:7;39186:8;39196:17;39135:41;:79::i;:::-;39232:1;39251:93;39326:17;39251:66;39299:7;39308:8;39251:47;:66::i;:::-;:74;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;39251:93:19;39096:12;:257::i;1954:561:17:-;2045:5;2140:3;2132:5;:11;:32;;;;2153:4;:11;2147:3;:17;2132:32;2128:80;;;2191:4;2197:5;2204:3;2173:35;;;;;;;;;;;;;:::i;2128:80::-;2274:4;2264:15;;2321:16;2332:5;2264:15;2321:16;:::i;:::-;;-1:-1:-1;2343:12:17;2358:11;2364:5;2358:3;:11;:::i;:::-;643:17;2493:15;2485:3;2474:14;;;;2473:36;;;;;;-1:-1:-1;;;;;1954:561:17:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;39736:222:35:-;39800:12;39890:6;39914:39;39890:6;39947:2;39951:1;39914:17;:39::i;25839:737:19:-;26090:36;26129:66;26177:7;26186:8;26129:47;:66::i;:::-;26090:105;-1:-1:-1;26201:26:19;26237:49;26090:105;26268:17;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;26237:49:19;26201:86;;26294:277;26348:7;26373:8;26408:17;26451:1;26473:19;26506:4;26542:22;26294:36;:277::i;27238:145::-;27322:56;27335:7;27344:8;27354:23;27369:7;27354:14;:23::i;:::-;27322:12;:56::i;30424:790::-;30683:36;30722:66;30770:7;30779:8;30722:47;:66::i;:::-;30683:105;-1:-1:-1;30794:26:19;30830:49;30683:105;30861:17;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;30830:49:19;30794:86;;30918:291;30972:7;30997:8;31032:17;31082:19;31123:1;31138:10;31180:22;30918:36;:291::i;6430:432:78:-;6558:16;;;6572:1;6558:16;;;;;;;;;6488:14;;;;;;6558:16;;;;;;;;;;;-1:-1:-1;6558:16:78;6529:45;;6613:8;6580:9;6590:1;6580:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6630:24;;;6716:78;1284:66;6759:9;1413:66;6716:19;:78::i;:::-;-1:-1:-1;;2650:4:2;2636:27;;2630:34;2636:27;;;;2630:34;8063:32:78;;;;;;8127:30;;;;;;-1:-1:-1;6430:432:78;-1:-1:-1;;;;;;6430:432:78:o;1480:281:42:-;1642:29;1652:10;1664:6;1642:9;:29::i;:::-;1637:120;;1720:21;:10;:19;:21::i;4228:308:68:-;4341:16;;;4355:1;4341:16;;;;;;;;;4289:15;;;;4341:16;;;;;;;;;;;;-1:-1:-1;4341:16:68;4312:45;;4396:11;4363:9;4373:1;4363:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4415:13;4431:62;1286:66;4466:9;4415:13;-1:-1:-1;;;4431:24:68;:62::i;5527:269::-;5626:16;;;5640:1;5626:16;;;;;;;;;5597:26;;5626:16;;;;;;;;;;;-1:-1:-1;5626:16:68;5597:45;;5681:11;5648:9;5658:1;5648:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5700:91;1286:66;1270:83;;5735:9;5746:1;5767:7;5749:27;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;5279:317:58;5418:12;5432:17;5475:6;-1:-1:-1;;;;;5475:11:58;5495:1;5506:79;5532:8;5553:9;5574:8;5506:13;:79::i;:::-;5475:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5457:134:58;;;;-1:-1:-1;5279:317:58;-1:-1:-1;;;;;5279:317:58:o;6100:321::-;6247:12;6261:17;6304:6;-1:-1:-1;;;;;6304:19:58;6331:79;6357:8;6378:9;6399:8;6331:13;:79::i;:::-;6304:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55458:301:19;55579:13;55671:82;55702:48;55732:7;55741:8;55702:29;:48::i;:::-;4645:21:18;;4539:137;4976:669;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:18;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;2615:1129:36:-;2735:22;2765:21;2789;:11;2869:3:17;2847:25;;2773:104;2789:21:36;2765:45;-1:-1:-1;643:17:17;3110:38;;2816:20:36;2978:11;3110:38:17;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;764:1343::-;936:12;;889:17;;914:19;977:26;992:11;936:12;977:26;:::i;:::-;954:49;;1375:4;1369:11;;-1:-1:-1;1418:4:36;1408:15;;-1:-1:-1;;5307:16:18;1465:32:36;;;5307:16:18;5303:32;1437:4:36;1430:69;1541:12;1535:4;1528:26;1585:1;1655:4;1648:5;1644:16;1562:535;1675:11;1672:1;1669:18;1562:535;;;2068:19;;2047:41;;2025:64;;1941:31;;;;1762:1;1755:9;;;;;1854:4;1836:23;1562:535;;45817:3957:19;46235:14;46214:7;:35;;;46210:148;;46292:14;46308:7;46341;46324:25;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;46324:25:19;;;;-1:-1:-1;;46324:25:19;;;;;;;;;;46266:85;;;;;;;;;;:::i;46210:148::-;46364:27;46394:49;:22;46425:17;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;46394:49:19;46364:79;;46449:26;46514:4;:11;46500;46478:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46449:76;;46797:18;46774:19;:41;;:98;;;;-1:-1:-1;46853:19:19;46819:30;46838:11;46819:16;:30;:::i;:::-;:53;;;;46774:98;46770:205;;;46889:79;;;;;21761:12:208;21800:15;;;46889:79:19;;;21782:34:208;21852:15;;;21832:18;;;21825:43;21904:15;;21884:18;;;21877:43;21724:18;;46889:79:19;21555:371:208;46770:205:19;47081:19;47062:16;:38;;;47058:127;;;47117:61;;;;;;;;22104:25:208;;;22177:12;22165:25;;22145:18;;;22138:53;22077:18;;47117:61:19;21931:266:208;47058:127:19;47224:35;47262:72;:22;47296:17;47315:18;47262:33;:72::i;:::-;47224:110;;47481:22;47506:24;47522:7;47506:15;:24::i;:::-;47481:49;;47541:9;47536:486;47556:5;:12;47552:1;:16;47536:486;;;47583:9;47605:5;47611:1;47605:8;;;;;;;;:::i;:::-;;;;;;;47583:31;;47626:42;770:6:32;47626:4:19;:14;;;;;:42;;;;:::i;:::-;47622:394;;;3404:35:4;;;;-1:-1:-1;;;;;47680:55:19;;47757:7;47786:8;47825:17;47872:16;47913:11;47952:22;47992:4;47680:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47622:394;-1:-1:-1;47570:3:19;;47536:486;;;-1:-1:-1;48080:32:19;;;:13;48220:107;48238:17;48234:21;;:1;:21;;;48220:107;;;48283:33;:22;48314:1;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;48283:33:19;48274:42;;;;48257:3;;48220:107;;;;48449:7;48396:274;48476:8;48513:17;48554:5;48583:11;48620:21;48657:4;48396:274;;;;;;;;;;;:::i;:::-;;;;;;;;48028:649;48762:18;48739:19;:41;48735:248;;48790:31;48824:48;48854:7;48863:8;48824:29;:48::i;:::-;629:28:18;;;-1:-1:-1;48735:248:19;49040:27;49070:61;49094:7;49103:8;49113:17;49070:23;:61::i;:::-;49040:91;;49139:92;49171:19;49200:16;49139:92;;49224:4;49139:13;:92::i;:::-;49032:206;49292:9;49287:483;49307:5;:12;49303:1;:16;49287:483;;;49334:9;49356:5;49362:1;49356:8;;;;;;;;:::i;:::-;;;;;;;49334:31;;49377:41;881:6:32;49377:4:19;:14;;;;;:41;;;;:::i;:::-;49373:391;;;3404:35:4;;;;-1:-1:-1;;;;;49430:54:19;;49506:7;49535:8;49574:17;49621:16;49662:11;49701:21;49740:4;49430:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49373:391;-1:-1:-1;49321:3:19;;49287:483;;;;46060:3714;;;;45817:3957;;;;;;;:::o;6273:652::-;6340:11;6576:64;;;6572:111;;-1:-1:-1;1471:66:28;;6273:652:19;-1:-1:-1;6273:652:19:o;6572:111::-;6727:185;6773:85;1342:66:28;6849:7:19;6773:40;:85::i;:::-;6878:2;6900:1;6727:17;:185::i;34416:1314::-;34546:23;34571:28;34601:24;34667:20;34690:30;:11;:28;:30::i;:::-;34667:53;;34781:65;34814:7;34823:8;34833:12;34781:32;:65::i;:::-;34768:78;;34910:24;34937:30;:11;:28;:30::i;:::-;34910:57;-1:-1:-1;34977:20:19;;34973:753;;35070:66;35118:7;35127:8;35070:47;:66::i;:::-;35053:83;-1:-1:-1;6184:59:14;;;35188:33:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35188:33:19;-1:-1:-1;35174:47:19;-1:-1:-1;828:4:13;818:15;;35229:21:19;35293:427;35311:16;35307:1;:20;;;35293:427;;;35344:27;35374:63;35416:7;35425:8;35435:1;35374:41;:63::i;:::-;35344:93;-1:-1:-1;35447:14:19;35464:25;:14;35487:1;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;35464:25:19;35447:42;;35499:110;35530:19;35559:1;35570:6;35593:13;35499:12;:110::i;:::-;35688:23;35705:6;35688:23;;:::i;:::-;;;35334:386;;35329:3;;;;;:::i;:::-;;;;35293:427;;;;34999:727;34973:753;34627:1103;;34416:1314;;;;;;;:::o;889:327:42:-;970:4;1112:56;-1:-1:-1;;;578:36:59;2820:46;;2819:74;1161:6:42;1112:19;:56::i;:::-;:99;;;;1172:39;1192:10;1204:6;1172:19;:39::i;4582:201:58:-;4704:12;4748:8;4758:9;4769:8;4731:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4724:54;;4582:201;;;;;:::o;6010:2380:18:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:18;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:18;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;8323:20:18;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:18;;;;:::o;7197:1488:14:-;7323:13;1004:16;7348:25;;7344:97;;;7390:44;;;;;;;;3899:25:208;;;3872:18;;7390:44:14;3753:177:208;7344:97:14;7503:13;6184:59;;;6801:16;;;922;6801;834;6790:27;6750:68;;;6728:92;;7766:38;;;7762:192;;7849:19;7831:15;:37;7816:52;;;;7762:192;;;7930:15;7908:19;:37;7893:52;;;;7762:192;-1:-1:-1;8270:16:14;834;922;8137;;;;8126:27;8262:35;;;8576:5;8415:26;8396:45;;;;8395:61;;;8557:24;;;;8586:34;;;;;8556:65;;-1:-1:-1;7197:1488:14;;;;;:::o;52768:282:19:-;53013:30;;;;;;24801:19:208;;;24836:12;;;24829:28;;;52856:7:19;;24873:12:208;;53013:30:19;24613:278:208;50342:360:19;50468:12;50492:6;50502:1;50492:11;50488:26;;-1:-1:-1;50505:9:19;;;;;;;;;-1:-1:-1;50505:9:19;;;;50488:26;50555:16;50574:41;50597:7;50606:8;50574:22;:41::i;:::-;50555:60;;50628:69;50659:8;50677:1;50688:6;50628:12;:69::i;4507:378:75:-;4631:16;;;4645:1;4631:16;;;;;;;;4583:11;;;;4631:16;4645:1;4631:16;;;;;;;;;;-1:-1:-1;4631:16:75;4602:45;;4686:10;4653:9;4663:1;4653:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4742:6;-1:-1:-1;;;;;4726:24:75;4718:33;;4703:9;4713:1;4703:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4758:13;4774:62;1298:66;4809:9;4758:13;-1:-1:-1;;;4774:24:75;:62::i;:::-;4758:78;;4850:29;4871:5;4858:20;;1452:10:15;1343:126;14:219:208;81:20;;-1:-1:-1;;;;;;130:78:208;;120:89;;110:117;;223:1;220;213:12;238:184;296:6;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;388:28;406:9;388:28;:::i;850:154::-;-1:-1:-1;;;;;929:5:208;925:54;918:5;915:65;905:93;;994:1;991;984:12;1009:184;-1:-1:-1;;;1058:1:208;1051:88;1158:4;1155:1;1148:15;1182:4;1179:1;1172:15;1198:777;1240:5;1293:3;1286:4;1278:6;1274:17;1270:27;1260:55;;1311:1;1308;1301:12;1260:55;1347:6;1334:20;1373:18;1410:2;1406;1403:10;1400:36;;;1416:18;;:::i;:::-;1550:2;1544:9;1612:4;1604:13;;-1:-1:-1;;1600:22:208;;;1624:2;1596:31;1592:40;1580:53;;;1648:18;;;1668:22;;;1645:46;1642:72;;;1694:18;;:::i;:::-;1734:10;1730:2;1723:22;1769:2;1761:6;1754:18;1815:3;1808:4;1803:2;1795:6;1791:15;1787:26;1784:35;1781:55;;;1832:1;1829;1822:12;1781:55;1896:2;1889:4;1881:6;1877:17;1870:4;1862:6;1858:17;1845:54;1943:1;1936:4;1931:2;1923:6;1919:15;1915:26;1908:37;1963:6;1954:15;;;;;;1198:777;;;;:::o;1980:554::-;2097:6;2105;2113;2166:2;2154:9;2145:7;2141:23;2137:32;2134:52;;;2182:1;2179;2172:12;2134:52;2221:9;2208:23;2240:31;2265:5;2240:31;:::i;:::-;2290:5;-1:-1:-1;2342:2:208;2327:18;;2314:32;;-1:-1:-1;2397:2:208;2382:18;;2369:32;2424:18;2413:30;;2410:50;;;2456:1;2453;2446:12;2410:50;2479:49;2520:7;2511:6;2500:9;2496:22;2479:49;:::i;:::-;2469:59;;;1980:554;;;;;:::o;2539:420::-;2648:6;2656;2709:2;2697:9;2688:7;2684:23;2680:32;2677:52;;;2725:1;2722;2715:12;2677:52;2761:9;2748:23;2738:33;;2822:2;2811:9;2807:18;2794:32;2849:18;2841:6;2838:30;2835:50;;;2881:1;2878;2871:12;2835:50;2904:49;2945:7;2936:6;2925:9;2921:22;2904:49;:::i;:::-;2894:59;;;2539:420;;;;;:::o;3217:531::-;3338:6;3346;3354;3407:2;3395:9;3386:7;3382:23;3378:32;3375:52;;;3423:1;3420;3413:12;3375:52;3459:9;3446:23;3436:33;;3519:2;3508:9;3504:18;3491:32;3532:31;3557:5;3532:31;:::i;:::-;3582:5;-1:-1:-1;3639:2:208;3624:18;;3611:32;3681:15;;3674:23;3662:36;;3652:64;;3712:1;3709;3702:12;3652:64;3735:7;3725:17;;;3217:531;;;;;:::o;3935:492::-;4052:6;4060;4068;4121:2;4109:9;4100:7;4096:23;4092:32;4089:52;;;4137:1;4134;4127:12;4089:52;4173:9;4160:23;4150:33;;4234:2;4223:9;4219:18;4206:32;4261:18;4253:6;4250:30;4247:50;;;4293:1;4290;4283:12;4247:50;4316:49;4357:7;4348:6;4337:9;4333:22;4316:49;:::i;:::-;4306:59;;;4384:37;4417:2;4406:9;4402:18;4384:37;:::i;:::-;4374:47;;3935:492;;;;;:::o;4432:367::-;4552:6;4560;4613:2;4601:9;4592:7;4588:23;4584:32;4581:52;;;4629:1;4626;4619:12;4581:52;4665:9;4652:23;4642:33;;4725:2;4714:9;4710:18;4697:32;4738:31;4763:5;4738:31;:::i;:::-;4788:5;4778:15;;;4432:367;;;;;:::o;4804:211::-;4894:6;4947:2;4935:9;4926:7;4922:23;4918:32;4915:52;;;4963:1;4960;4953:12;4915:52;-1:-1:-1;4986:23:208;;4804:211;-1:-1:-1;4804:211:208:o;5020:518::-;5168:6;5176;5184;5237:2;5225:9;5216:7;5212:23;5208:32;5205:52;;;5253:1;5250;5243:12;5205:52;5289:9;5276:23;5266:33;;5346:2;5335:9;5331:18;5318:32;5308:42;;5401:2;5390:9;5386:18;5373:32;5428:18;5420:6;5417:30;5414:50;;;5460:1;5457;5450:12;5543:247;5602:6;5655:2;5643:9;5634:7;5630:23;5626:32;5623:52;;;5671:1;5668;5661:12;5623:52;5710:9;5697:23;5729:31;5754:5;5729:31;:::i;5795:532::-;5922:6;5930;5938;5991:2;5979:9;5970:7;5966:23;5962:32;5959:52;;;6007:1;6004;5997:12;5959:52;6043:9;6030:23;6020:33;;6103:2;6092:9;6088:18;6075:32;6116:31;6141:5;6116:31;:::i;:::-;6166:5;-1:-1:-1;6223:2:208;6208:18;;6195:32;6271:4;6258:18;;6246:31;;6236:59;;6291:1;6288;6281:12;6332:250;6417:1;6427:113;6441:6;6438:1;6435:13;6427:113;;;6517:11;;;6511:18;6498:11;;;6491:39;6463:2;6456:10;6427:113;;;-1:-1:-1;;6574:1:208;6556:16;;6549:27;6332:250::o;6587:330::-;6629:3;6667:5;6661:12;6694:6;6689:3;6682:19;6710:76;6779:6;6772:4;6767:3;6763:14;6756:4;6749:5;6745:16;6710:76;:::i;:::-;6831:2;6819:15;-1:-1:-1;;6815:88:208;6806:98;;;;6906:4;6802:109;;6587:330;-1:-1:-1;;6587:330:208:o;6922:464::-;7168:66;7160:6;7156:79;7145:9;7138:98;7272:6;7267:2;7256:9;7252:18;7245:34;7315:2;7310;7299:9;7295:18;7288:30;7119:4;7335:45;7376:2;7365:9;7361:18;7353:6;7335:45;:::i;7391:641::-;7671:3;7709:6;7703:13;7725:66;7784:6;7779:3;7772:4;7764:6;7760:17;7725:66;:::i;:::-;7852:4;7813:16;;;7838:19;;;7882:13;;7904:78;7882:13;7969:1;7958:13;;7951:4;7939:17;;7904:78;:::i;:::-;8002:20;8024:1;7998:28;;7391:641;-1:-1:-1;;;;7391:641:208:o;8037:322::-;8245:6;8234:9;8227:25;8288:2;8283;8272:9;8268:18;8261:30;8208:4;8308:45;8349:2;8338:9;8334:18;8326:6;8308:45;:::i;8897:357::-;9015:12;;9062:4;9051:16;;;9045:23;;9015:12;9080:16;;9077:171;;;-1:-1:-1;;9160:6:208;9154:4;9150:17;9147:1;9143:25;9139:98;9132:5;9128:110;9119:119;;9077:171;;8897:357;;;:::o;9259:184::-;-1:-1:-1;;;9308:1:208;9301:88;9408:4;9405:1;9398:15;9432:4;9429:1;9422:15;10008:925;10457:66;10449:6;10445:79;10440:3;10433:92;10415:3;10544;10576:2;10572:1;10567:3;10563:11;10556:23;10608:6;10602:13;10624:74;10691:6;10687:1;10682:3;10678:11;10671:4;10663:6;10659:17;10624:74;:::i;:::-;10726:6;10721:3;10717:16;10707:26;;10761:2;10757:1;10753:2;10749:10;10742:22;10795:6;10789:13;10773:29;;10811:75;10877:8;10873:1;10869:2;10865:10;10858:4;10850:6;10846:17;10811:75;:::i;:::-;10906:17;10925:1;10902:25;;10008:925;-1:-1:-1;;;;;10008:925:208:o;10938:340::-;11115:2;11104:9;11097:21;11078:4;11135:45;11176:2;11165:9;11161:18;11153:6;11135:45;:::i;:::-;11127:53;;-1:-1:-1;;;;;11220:6:208;11216:55;11211:2;11200:9;11196:18;11189:83;10938:340;;;;;:::o;11543:184::-;-1:-1:-1;;;11592:1:208;11585:88;11692:4;11689:1;11682:15;11716:4;11713:1;11706:15;11732:125;11797:9;;;11818:10;;;11815:36;;;11831:18;;:::i;12068:128::-;12135:9;;;12156:11;;;12153:37;;;12170:18;;:::i;12985:440::-;-1:-1:-1;;;;;13223:6:208;13219:55;13208:9;13201:74;13311:6;13306:2;13295:9;13291:18;13284:34;13354:2;13349;13338:9;13334:18;13327:30;13182:4;13374:45;13415:2;13404:9;13400:18;13392:6;13374:45;:::i;13784:439::-;13837:3;13875:5;13869:12;13902:6;13897:3;13890:19;13928:4;13957;13952:3;13948:14;13941:21;;13996:4;13989:5;13985:16;14019:1;14029:169;14043:6;14040:1;14037:13;14029:169;;;14104:13;;14092:26;;14138:12;;;;14173:15;;;;14065:1;14058:9;14029:169;;;-1:-1:-1;14214:3:208;;13784:439;-1:-1:-1;;;;;13784:439:208:o;14228:690::-;14561:3;14550:9;14543:22;14524:4;14588:57;14640:3;14629:9;14625:19;14617:6;14588:57;:::i;:::-;14693:9;14685:6;14681:22;14676:2;14665:9;14661:18;14654:50;14727:33;14753:6;14745;14727:33;:::i;:::-;14713:47;;14796:6;14791:2;14780:9;14776:18;14769:34;14851:9;14843:6;14839:22;14834:2;14823:9;14819:18;14812:50;14879:33;14905:6;14897;14879:33;:::i;14923:896::-;15374:6;15363:9;15356:25;15417:3;15412:2;15401:9;15397:18;15390:31;15337:4;15444:57;15496:3;15485:9;15481:19;15473:6;15444:57;:::i;:::-;15549:9;15541:6;15537:22;15532:2;15521:9;15517:18;15510:50;15583:33;15609:6;15601;15583:33;:::i;:::-;15569:47;;15652:6;15647:2;15636:9;15632:18;15625:34;15708:9;15700:6;15696:22;15690:3;15679:9;15675:19;15668:51;15736:33;15762:6;15754;15736:33;:::i;:::-;15728:41;;;15806:6;15800:3;15789:9;15785:19;15778:35;14923:896;;;;;;;;;:::o;15824:287::-;15953:3;15991:6;15985:13;16007:66;16066:6;16061:3;16054:4;16046:6;16042:17;16007:66;:::i;:::-;16089:16;;;;;15824:287;-1:-1:-1;;15824:287:208:o;16116:261::-;16295:2;16284:9;16277:21;16258:4;16315:56;16367:2;16356:9;16352:18;16344:6;16315:56;:::i;16382:465::-;16679:6;16668:9;16661:25;16722:2;16717;16706:9;16702:18;16695:30;16642:4;16742:56;16794:2;16783:9;16779:18;16771:6;16742:56;:::i;:::-;16734:64;;16834:6;16829:2;16818:9;16814:18;16807:34;16382:465;;;;;;:::o;17206:363::-;17444:6;17433:9;17426:25;17487:2;17482;17471:9;17467:18;17460:30;17407:4;17507:56;17559:2;17548:9;17544:18;17536:6;17507:56;:::i;17574:604::-;17882:6;17871:9;17864:25;17925:3;17920:2;17909:9;17905:18;17898:31;17845:4;17952:57;18004:3;17993:9;17989:19;17981:6;17952:57;:::i;:::-;18057:4;18049:6;18045:17;18040:2;18029:9;18025:18;18018:45;18111:9;18103:6;18099:22;18094:2;18083:9;18079:18;18072:50;18139:33;18165:6;18157;18139:33;:::i;18183:512::-;18434:2;18423:9;18416:21;18397:4;18460:56;18512:2;18501:9;18497:18;18489:6;18460:56;:::i;:::-;18564:14;18556:6;18552:27;18547:2;18536:9;18532:18;18525:55;18628:9;18620:6;18616:22;18611:2;18600:9;18596:18;18589:50;18656:33;18682:6;18674;18656:33;:::i;18700:616::-;19010:6;18999:9;18992:25;19053:3;19048:2;19037:9;19033:18;19026:31;18973:4;19080:57;19132:3;19121:9;19117:19;19109:6;19080:57;:::i;:::-;19185:14;19177:6;19173:27;19168:2;19157:9;19153:18;19146:55;19249:9;19241:6;19237:22;19232:2;19221:9;19217:18;19210:50;19277:33;19303:6;19295;19277:33;:::i;19321:639::-;19571:6;19566:3;19559:19;19541:3;19597:2;19630;19625:3;19621:12;19662:6;19656:13;19727:2;19719:6;19715:15;19748:1;19758:175;19772:6;19769:1;19766:13;19758:175;;;19835:13;;19821:28;;19871:14;;;;19908:15;;;;19794:1;19787:9;19758:175;;;-1:-1:-1;19949:5:208;;19321:639;-1:-1:-1;;;;;;;19321:639:208:o;19965:184::-;-1:-1:-1;;;20014:1:208;20007:88;20114:4;20111:1;20104:15;20138:4;20135:1;20128:15;20154:168;20227:9;;;20258;;20275:15;;;20269:22;;20255:37;20245:71;;20296:18;;:::i;20327:274::-;20367:1;20393;20383:189;;-1:-1:-1;;;20425:1:208;20418:88;20529:4;20526:1;20519:15;20557:4;20554:1;20547:15;20383:189;-1:-1:-1;20586:9:208;;20327:274::o;20606:360::-;20809:2;20798:9;20791:21;20772:4;20829:45;20870:2;20859:9;20855:18;20847:6;20829:45;:::i;:::-;20905:2;20890:18;;20883:34;;;;-1:-1:-1;20948:2:208;20933:18;20926:34;20821:53;20606:360;-1:-1:-1;20606:360:208:o;21376:174::-;21443:12;21475:10;;;21487;;;21471:27;;21510:11;;;21507:37;;;21524:18;;:::i;:::-;21507:37;21376:174;;;;:::o;22202:899::-;22624:6;22613:9;22606:25;22667:3;22662:2;22651:9;22647:18;22640:31;22587:4;22694:57;22746:3;22735:9;22731:19;22723:6;22694:57;:::i;:::-;22799:4;22787:17;;22782:2;22767:18;;22760:45;22824:12;22872:15;;;22867:2;22852:18;;22845:43;22925:15;;22919:3;22904:19;;22897:44;22972:3;22957:19;;22950:35;;;23022:22;;;23016:3;23001:19;;22994:51;23062:33;23026:6;23080;23062:33;:::i;:::-;23054:41;22202:899;-1:-1:-1;;;;;;;;;;22202:899:208:o;23106:787::-;23469:3;23458:9;23451:22;23432:4;23496:57;23548:3;23537:9;23533:19;23525:6;23496:57;:::i;:::-;23601:4;23593:6;23589:17;23584:2;23573:9;23569:18;23562:45;23655:14;23647:6;23643:27;23638:2;23627:9;23623:18;23616:55;23719:12;23711:6;23707:25;23702:2;23691:9;23687:18;23680:53;23770:6;23764:3;23753:9;23749:19;23742:35;23826:9;23818:6;23814:22;23808:3;23797:9;23793:19;23786:51;23854:33;23880:6;23872;23854:33;:::i;:::-;23846:41;23106:787;-1:-1:-1;;;;;;;;;23106:787:208:o;23898:175::-;23935:3;23979:4;23972:5;23968:16;24008:4;23999:7;23996:17;23993:43;;24016:18;;:::i;:::-;24065:1;24052:15;;23898:175;-1:-1:-1;;23898:175:208:o;24078:530::-;24263:3;24301:6;24295:13;24317:66;24376:6;24371:3;24364:4;24356:6;24352:17;24317:66;:::i;:::-;24452:2;24448:15;;;;-1:-1:-1;;24444:88:208;24405:16;;;;24430:103;;;24560:2;24549:14;;24542:30;;;;24599:2;24588:14;;24078:530;-1:-1:-1;;24078:530:208:o","linkReferences":{},"immutableReferences":{"35806":[{"start":2602,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,bytes4)":"742d6118","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","supportsInterface(bytes4)":"01ffc9a7","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract provides functions related to registering resources other than tables in the World.\",\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"registerDelegation(address,bytes32,bytes)\":{\"details\":\"Creates a new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\",\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\"}},\"registerFunctionSelector(bytes32,string)\":{\"details\":\"Creates a mapping between a World function and its associated system function\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerNamespace(bytes32)\":{\"details\":\"Creates a new namespace resource with the given ID\",\"params\":{\"namespaceId\":\"The unique identifier for the new namespace\"}},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"details\":\"Sets up a new delegation control for a specific namespace\",\"params\":{\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\",\"namespaceId\":\"The ID of the namespace\"}},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSelector\":\"The selector of the system function\",\"systemId\":\"The system ID\",\"worldFunctionSignature\":\"The signature of the World function\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerSystem(bytes32,address,bool)\":{\"details\":\"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.\",\"params\":{\"publicAccess\":\"Flag indicating if access control check is bypassed\",\"system\":\"The system being registered\",\"systemId\":\"The unique identifier for the system\"}},\"registerSystemHook(bytes32,address,uint8)\":{\"details\":\"Adds a new hook for the system at the provided system ID\",\"params\":{\"enabledHooksBitmap\":\"Bitmap indicating which hooks are enabled\",\"hookAddress\":\"The address of the hook being registered\",\"systemId\":\"The ID of the system\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterDelegation(address)\":{\"details\":\"Deletes the new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\"}},\"unregisterNamespaceDelegation(bytes32)\":{\"details\":\"Deletes the delegation control for a specific namespace\",\"params\":{\"namespaceId\":\"The ID of the namespace\"}},\"unregisterSystemHook(bytes32,address)\":{\"details\":\"Removes a hook for the system at the provided system ID\",\"params\":{\"hookAddress\":\"The address of the hook being unregistered\",\"systemId\":\"The ID of the system\"}}},\"title\":\"WorldRegistrationSystem\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"registerDelegation(address,bytes32,bytes)\":{\"notice\":\"Registers a delegation for the caller\"},\"registerFunctionSelector(bytes32,string)\":{\"notice\":\"Registers a new World function selector\"},\"registerNamespace(bytes32)\":{\"notice\":\"Registers a new namespace\"},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"notice\":\"Registers a delegation for a namespace\"},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"notice\":\"Registers a root World function selector\"},\"registerSystem(bytes32,address,bool)\":{\"notice\":\"Registers a system\"},\"registerSystemHook(bytes32,address,uint8)\":{\"notice\":\"Registers a new system hook\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterDelegation(address)\":{\"notice\":\"Unregisters a delegation\"},\"unregisterNamespaceDelegation(bytes32)\":{\"notice\":\"Unregisters a delegation for a namespace\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":\"WorldRegistrationSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf\",\"dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2\",\"dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b\",\"dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e\",\"dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6\",\"dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99\",\"dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a\",\"dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x4ffff18377ca8c94ec29ba504ed4f107943c4fe0a963de006375774c2de57cc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://279fe91c8f7fecb582aba253f7b6c59df11b4675721015557161f3d7f1af3855\",\"dweb:/ipfs/QmVQnrxjgPGswYNkQ6bMMuv9TTjBp83u2UZPtpzeBDtR41\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544\",\"dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271\",\"dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761\",\"dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a\",\"dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/errors.sol\":{\"keccak256\":\"0x01f9ae187bb5635e499cd7d53347509bc00feb3f19459dbeb69fcfeead5d7083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b55a5f5c9904f4373da03339a8b0440323727a53c8d502dbbd201b3455006efd\",\"dweb:/ipfs/QmWgZrdqqpwtUrB3KPKWhAH2ddsoqKQvarcwBR1pWLWZoM\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c\",\"dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89\",\"dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d\",\"dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x4ca92b682610ae2c6636a5c196ccf837417b67ce1495b06ed30ac6fd09ed964e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16bdacafc7a9f73c753259fbe3d9de4e50578359efee9f523ceb367de3ae78e5\",\"dweb:/ipfs/QmUBkgKVMSsYbn4wmEbCyHhGLBVrViCMR6u1SQdEvpyq7f\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0xa138b23cf8a6c7783e25c1daa359cd4208b410808f816eb8182ce4f284290fe6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f34ba67c233887b67bafc0eed258c873898bb4ee8bb054287e2c7abbc6621d\",\"dweb:/ipfs/QmZsEu66KL3GsaKkCjSAf7RN7GBUXcBPuDsiot6TUtR97q\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xef3b8ea518e69884ef8fcfa56a34b9b53ba9ddec43ec549da8e2e90543329ac8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ae33ee2ebaeb6c321c39742c2c8a5125444aa15ef825b8f6113f04ae0194c4a\",\"dweb:/ipfs/Qme9myURbe5DzCT6oBiY4Gn7nGESsjXw7dBRUQWWBeXBq4\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0xb6a2475d33990b8c3646c62c22b92718955af66af95f2a1caac0cbb29b27efa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebdbcb2da135f43f46a5acb4562422315bd6b3d7c4b8a224ec62b26d4326f0a2\",\"dweb:/ipfs/QmTYFbcAEdn81FVkBCBjezo9F53E1uxsEk68gw2rLCUevP\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca\",\"dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243\",\"dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x0ccdb0f2e1d2586e9a7e433e6b927938663a214fab69ba5c857cfb43418f7746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb385a338d9697498beee8d9a9557ff33510ee5755c37a488f98c099111b9ceb\",\"dweb:/ipfs/QmRvvbX54ADo4QeBRTLkmGBSqgMWu4fqkqc3Qcb954YgKE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9\",\"dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729\",\"dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x7bef07381674a5aa5eed9e59c41feca3e7fc00283249bff4a9cd8690a68785dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d6946cff935909a91e6638677f0b4df774e403d5daa21683cd6dbcff0eb6ecb\",\"dweb:/ipfs/QmSJvMTqpgC2zSwyYNicmRiLrocuyQStTSe4oStZPUvkX7\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6\",\"dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0x89ef3634e9ca378f047ee9d0bc52c5be5533d54ea3642bbf3ced4a01dd45948f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b32a50933d8686c0f3a4712450797b79c5d3be583c84d6725f91abaaf071b148\",\"dweb:/ipfs/Qme2magezDm5Cqdbjxkey886yDZFTUWpF93DUadAX1pyyW\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658\",\"dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6\",\"dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027\",\"dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d\",\"dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"bytes4","name":"systemFunctionSelector","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"registerDelegation(address,bytes32,bytes)":{"details":"Creates a new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee","delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation"}},"registerFunctionSelector(bytes32,string)":{"details":"Creates a mapping between a World function and its associated system function","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerNamespace(bytes32)":{"details":"Creates a new namespace resource with the given ID","params":{"namespaceId":"The unique identifier for the new namespace"}},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"details":"Sets up a new delegation control for a specific namespace","params":{"delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation","namespaceId":"The ID of the namespace"}},"registerRootFunctionSelector(bytes32,string,bytes4)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSelector":"The selector of the system function","systemId":"The system ID","worldFunctionSignature":"The signature of the World function"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerSystem(bytes32,address,bool)":{"details":"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.","params":{"publicAccess":"Flag indicating if access control check is bypassed","system":"The system being registered","systemId":"The unique identifier for the system"}},"registerSystemHook(bytes32,address,uint8)":{"details":"Adds a new hook for the system at the provided system ID","params":{"enabledHooksBitmap":"Bitmap indicating which hooks are enabled","hookAddress":"The address of the hook being registered","systemId":"The ID of the system"}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterDelegation(address)":{"details":"Deletes the new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee"}},"unregisterNamespaceDelegation(bytes32)":{"details":"Deletes the delegation control for a specific namespace","params":{"namespaceId":"The ID of the namespace"}},"unregisterSystemHook(bytes32,address)":{"details":"Removes a hook for the system at the provided system ID","params":{"hookAddress":"The address of the hook being unregistered","systemId":"The ID of the system"}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"registerDelegation(address,bytes32,bytes)":{"notice":"Registers a delegation for the caller"},"registerFunctionSelector(bytes32,string)":{"notice":"Registers a new World function selector"},"registerNamespace(bytes32)":{"notice":"Registers a new namespace"},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"notice":"Registers a delegation for a namespace"},"registerRootFunctionSelector(bytes32,string,bytes4)":{"notice":"Registers a root World function selector"},"registerSystem(bytes32,address,bool)":{"notice":"Registers a system"},"registerSystemHook(bytes32,address,uint8)":{"notice":"Registers a new system hook"},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterDelegation(address)":{"notice":"Unregisters a delegation"},"unregisterNamespaceDelegation(bytes32)":{"notice":"Unregisters a delegation for a namespace"},"unregisterSystemHook(bytes32,address)":{"notice":"Unregisters a system hook"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":"WorldRegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728","urls":["bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf","dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde","urls":["bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2","dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c","urls":["bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b","dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99","urls":["bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e","dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e","urls":["bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6","dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8","urls":["bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99","dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5","urls":["bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a","dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x4ffff18377ca8c94ec29ba504ed4f107943c4fe0a963de006375774c2de57cc7","urls":["bzz-raw://279fe91c8f7fecb582aba253f7b6c59df11b4675721015557161f3d7f1af3855","dweb:/ipfs/QmVQnrxjgPGswYNkQ6bMMuv9TTjBp83u2UZPtpzeBDtR41"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07","urls":["bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544","dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0","urls":["bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271","dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7","urls":["bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761","dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1","urls":["bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a","dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/errors.sol":{"keccak256":"0x01f9ae187bb5635e499cd7d53347509bc00feb3f19459dbeb69fcfeead5d7083","urls":["bzz-raw://b55a5f5c9904f4373da03339a8b0440323727a53c8d502dbbd201b3455006efd","dweb:/ipfs/QmWgZrdqqpwtUrB3KPKWhAH2ddsoqKQvarcwBR1pWLWZoM"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439","urls":["bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c","dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a","urls":["bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89","dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3","urls":["bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9","dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2","urls":["bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d","dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x4ca92b682610ae2c6636a5c196ccf837417b67ce1495b06ed30ac6fd09ed964e","urls":["bzz-raw://16bdacafc7a9f73c753259fbe3d9de4e50578359efee9f523ceb367de3ae78e5","dweb:/ipfs/QmUBkgKVMSsYbn4wmEbCyHhGLBVrViCMR6u1SQdEvpyq7f"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0xa138b23cf8a6c7783e25c1daa359cd4208b410808f816eb8182ce4f284290fe6","urls":["bzz-raw://25f34ba67c233887b67bafc0eed258c873898bb4ee8bb054287e2c7abbc6621d","dweb:/ipfs/QmZsEu66KL3GsaKkCjSAf7RN7GBUXcBPuDsiot6TUtR97q"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xef3b8ea518e69884ef8fcfa56a34b9b53ba9ddec43ec549da8e2e90543329ac8","urls":["bzz-raw://6ae33ee2ebaeb6c321c39742c2c8a5125444aa15ef825b8f6113f04ae0194c4a","dweb:/ipfs/Qme9myURbe5DzCT6oBiY4Gn7nGESsjXw7dBRUQWWBeXBq4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0xb6a2475d33990b8c3646c62c22b92718955af66af95f2a1caac0cbb29b27efa4","urls":["bzz-raw://ebdbcb2da135f43f46a5acb4562422315bd6b3d7c4b8a224ec62b26d4326f0a2","dweb:/ipfs/QmTYFbcAEdn81FVkBCBjezo9F53E1uxsEk68gw2rLCUevP"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15","urls":["bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca","dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9","urls":["bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243","dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x0ccdb0f2e1d2586e9a7e433e6b927938663a214fab69ba5c857cfb43418f7746","urls":["bzz-raw://eb385a338d9697498beee8d9a9557ff33510ee5755c37a488f98c099111b9ceb","dweb:/ipfs/QmRvvbX54ADo4QeBRTLkmGBSqgMWu4fqkqc3Qcb954YgKE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e","urls":["bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9","dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac","urls":["bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729","dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x7bef07381674a5aa5eed9e59c41feca3e7fc00283249bff4a9cd8690a68785dd","urls":["bzz-raw://9d6946cff935909a91e6638677f0b4df774e403d5daa21683cd6dbcff0eb6ecb","dweb:/ipfs/QmSJvMTqpgC2zSwyYNicmRiLrocuyQStTSe4oStZPUvkX7"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa","urls":["bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6","dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0x89ef3634e9ca378f047ee9d0bc52c5be5533d54ea3642bbf3ced4a01dd45948f","urls":["bzz-raw://b32a50933d8686c0f3a4712450797b79c5d3be583c84d6725f91abaaf071b148","dweb:/ipfs/Qme2magezDm5Cqdbjxkey886yDZFTUWpF93DUadAX1pyyW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730","urls":["bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658","dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1","urls":["bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6","dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc","urls":["bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027","dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145","urls":["bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d","dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"}},"version":1},"id":91}