@latticexyz/world-modules 2.0.0-main-257a0afc → 2.0.0-march-19-skystrife-playtest-f0a343b1

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 (407) 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.abi.json +0 -55
  4. package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +0 -55
  5. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  6. package/out/AddressArray.sol/AddressArray.json +1 -1
  7. package/out/Allowances.sol/Allowances.json +1 -1
  8. package/out/ArrayLib.sol/ArrayLib.json +1 -1
  9. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +0 -16
  10. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +0 -16
  11. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  12. package/out/Balances.sol/Balances.json +1 -1
  13. package/out/Base.sol/CommonBase.json +1 -1
  14. package/out/Base.sol/ScriptBase.json +1 -1
  15. package/out/Base.sol/TestBase.json +1 -1
  16. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +0 -5
  17. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +0 -5
  18. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  19. package/out/Bool.sol/Bool.json +1 -1
  20. package/out/Bytes.sol/Bytes.json +1 -1
  21. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  22. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  23. package/out/{InitModule.sol/InitModule.abi.json → CoreModule.sol/CoreModule.abi.json} +23 -149
  24. package/out/{InitModule.sol/InitModule.abi.json.d.ts → CoreModule.sol/CoreModule.abi.json.d.ts} +23 -149
  25. package/out/CoreModule.sol/CoreModule.json +1 -0
  26. package/out/{RegistrationSystem.sol/RegistrationSystem.abi.json → CoreSystem.sol/CoreSystem.abi.json} +157 -167
  27. package/out/{RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts → CoreSystem.sol/CoreSystem.abi.json.d.ts} +157 -167
  28. package/out/CoreSystem.sol/CoreSystem.json +1 -0
  29. package/out/DecodeSlice.sol/DecodeSlice.json +1 -1
  30. package/out/Delegation.sol/Delegation.json +1 -1
  31. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  32. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  33. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  34. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  35. package/out/ERC20Module.sol/ERC20Module.abi.json +24 -124
  36. package/out/ERC20Module.sol/ERC20Module.abi.json.d.ts +24 -124
  37. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  38. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json +8 -121
  39. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json.d.ts +8 -121
  40. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  41. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  42. package/out/ERC20System.sol/ERC20System.json +1 -1
  43. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  44. package/out/ERC721.t.sol/ERC721Test.abi.json +1 -1
  45. package/out/ERC721.t.sol/ERC721Test.abi.json.d.ts +1 -1
  46. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  47. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  48. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  49. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  50. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  51. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  52. package/out/ERC721Module.sol/ERC721Module.abi.json +24 -124
  53. package/out/ERC721Module.sol/ERC721Module.abi.json.d.ts +24 -124
  54. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  55. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json +8 -121
  56. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json.d.ts +8 -121
  57. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  58. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  59. package/out/ERC721System.sol/ERC721System.json +1 -1
  60. package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
  61. package/out/EncodeArray.sol/EncodeArray.json +1 -1
  62. package/out/FieldLayout.sol/FieldLayoutInstance.json +1 -1
  63. package/out/FieldLayout.sol/FieldLayoutLib.abi.json +23 -1
  64. package/out/FieldLayout.sol/FieldLayoutLib.abi.json.d.ts +23 -0
  65. package/out/FieldLayout.sol/FieldLayoutLib.json +1 -1
  66. package/out/FieldLayoutEncodeHelper.sol/FieldLayoutEncodeHelper.json +1 -1
  67. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  68. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  69. package/out/GasReporter.sol/GasReporter.json +1 -1
  70. package/out/Hook.sol/HookInstance.json +1 -1
  71. package/out/Hook.sol/HookLib.json +1 -1
  72. package/out/Hooks.sol/Hooks.json +1 -1
  73. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.abi.json +0 -13
  74. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.abi.json.d.ts +0 -13
  75. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
  76. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
  77. package/out/IBaseWorld.sol/IBaseWorld.abi.json +5 -230
  78. package/out/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +5 -230
  79. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  80. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
  81. package/out/ICoreSystem.sol/ICoreSystem.json +1 -0
  82. package/out/IDelegationControl.sol/IDelegationControl.json +1 -1
  83. package/out/IERC20.sol/IERC20.json +1 -1
  84. package/out/IERC20Errors.sol/IERC20Errors.json +1 -1
  85. package/out/IERC20Events.sol/IERC20Events.json +1 -1
  86. package/out/IERC20Mintable.sol/IERC20Mintable.json +1 -1
  87. package/out/IERC20System.sol/IERC20System.json +1 -1
  88. package/out/IERC721.sol/IERC721.json +1 -1
  89. package/out/IERC721Errors.sol/IERC721Errors.json +1 -1
  90. package/out/IERC721Events.sol/IERC721Events.json +1 -1
  91. package/out/IERC721Metadata.sol/IERC721Metadata.json +1 -1
  92. package/out/IERC721Mintable.sol/IERC721Mintable.json +1 -1
  93. package/out/IERC721Receiver.sol/IERC721Receiver.json +1 -1
  94. package/out/IModule.sol/IModule.abi.json +17 -4
  95. package/out/IModule.sol/IModule.abi.json.d.ts +17 -4
  96. package/out/IModule.sol/IModule.json +1 -1
  97. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.abi.json +1 -1
  98. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.abi.json.d.ts +1 -1
  99. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
  100. package/out/IMulticall3.sol/IMulticall3.json +1 -1
  101. package/out/IPuppetFactorySystem.sol/IPuppetFactorySystem.json +1 -1
  102. package/out/IStore.sol/IStore.abi.json +3 -191
  103. package/out/IStore.sol/IStore.abi.json.d.ts +3 -191
  104. package/out/IStore.sol/IStore.json +1 -1
  105. package/out/IStoreData.sol/IStoreData.abi.json +0 -6
  106. package/out/IStoreData.sol/IStoreData.abi.json.d.ts +0 -6
  107. package/out/IStoreData.sol/IStoreData.json +1 -1
  108. package/out/IStoreErrors.sol/IStoreErrors.abi.json +3 -51
  109. package/out/IStoreErrors.sol/IStoreErrors.abi.json.d.ts +3 -51
  110. package/out/IStoreErrors.sol/IStoreErrors.json +1 -1
  111. package/out/IStoreEvents.sol/IStoreEvents.abi.json +0 -19
  112. package/out/IStoreEvents.sol/IStoreEvents.abi.json.d.ts +0 -19
  113. package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
  114. package/out/IStoreHook.sol/IStoreHook.json +1 -1
  115. package/out/IStoreRead.sol/IStoreRead.json +1 -1
  116. package/out/IStoreRegistration.sol/IStoreRegistration.json +1 -1
  117. package/out/IStoreWrite.sol/IStoreWrite.abi.json +0 -19
  118. package/out/IStoreWrite.sol/IStoreWrite.abi.json.d.ts +0 -19
  119. package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
  120. package/out/ISystemHook.sol/ISystemHook.json +1 -1
  121. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json +15 -0
  122. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json.d.ts +15 -0
  123. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +1 -0
  124. package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +1 -1
  125. package/out/IWorldErrors.sol/IWorldErrors.abi.json +0 -11
  126. package/out/IWorldErrors.sol/IWorldErrors.abi.json.d.ts +0 -11
  127. package/out/IWorldErrors.sol/IWorldErrors.json +1 -1
  128. package/out/IWorldKernel.sol/IWorldCall.json +1 -1
  129. package/out/IWorldKernel.sol/IWorldKernel.abi.json +2 -39
  130. package/out/IWorldKernel.sol/IWorldKernel.abi.json.d.ts +2 -39
  131. package/out/IWorldKernel.sol/IWorldKernel.json +1 -1
  132. package/out/IWorldKernel.sol/IWorldModuleInstallation.abi.json +1 -1
  133. package/out/IWorldKernel.sol/IWorldModuleInstallation.abi.json.d.ts +1 -1
  134. package/out/IWorldKernel.sol/IWorldModuleInstallation.json +1 -1
  135. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json +4 -30
  136. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json.d.ts +4 -30
  137. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  138. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  139. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  140. package/out/KeysInTableHook.sol/KeysInTableHook.abi.json +0 -22
  141. package/out/KeysInTableHook.sol/KeysInTableHook.abi.json.d.ts +0 -22
  142. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  143. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +32 -3
  144. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +32 -3
  145. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  146. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json +8 -41
  147. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json.d.ts +8 -41
  148. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  149. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  150. package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json +0 -6
  151. package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json.d.ts +0 -6
  152. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  153. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +32 -3
  154. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +32 -3
  155. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  156. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json +8 -41
  157. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json.d.ts +8 -41
  158. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  159. package/out/Memory.sol/Memory.json +1 -1
  160. package/out/Module.sol/Module.abi.json +17 -4
  161. package/out/Module.sol/Module.abi.json.d.ts +17 -4
  162. package/out/Module.sol/Module.json +1 -1
  163. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +1 -6
  164. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +1 -6
  165. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  166. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  167. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  168. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  169. package/out/Owners.sol/Owners.json +1 -1
  170. package/out/PackedCounter.sol/PackedCounterInstance.abi.json +13 -1
  171. package/out/PackedCounter.sol/PackedCounterInstance.json +1 -1
  172. package/out/PackedCounter.sol/PackedCounterLib.json +1 -1
  173. package/out/Puppet.sol/Puppet.json +1 -1
  174. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  175. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  176. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  177. package/out/PuppetModule.sol/PuppetModule.abi.json +23 -123
  178. package/out/PuppetModule.sol/PuppetModule.abi.json.d.ts +23 -123
  179. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  180. package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json +0 -14
  181. package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json.d.ts +0 -14
  182. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  183. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  184. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  185. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  186. package/out/ResourceId.sol/ResourceIdInstance.json +1 -1
  187. package/out/ResourceId.sol/ResourceIdLib.json +1 -1
  188. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  189. package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
  190. package/out/Schema.sol/SchemaInstance.json +1 -1
  191. package/out/Schema.sol/SchemaLib.abi.json +18 -1
  192. package/out/{ISchemaErrors.sol/ISchemaErrors.abi.json.d.ts → Schema.sol/SchemaLib.abi.json.d.ts} +2 -2
  193. package/out/Schema.sol/SchemaLib.json +1 -1
  194. package/out/SchemaEncodeHelper.sol/SchemaEncodeHelper.json +1 -1
  195. package/out/Slice.sol/SliceInstance.json +1 -1
  196. package/out/Slice.sol/SliceLib.abi.json +23 -1
  197. package/out/Slice.sol/SliceLib.json +1 -1
  198. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json +23 -123
  199. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json.d.ts +23 -123
  200. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  201. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  202. package/out/StdAssertions.sol/StdAssertions.json +1 -1
  203. package/out/StdChains.sol/StdChains.json +1 -1
  204. package/out/StdCheats.sol/StdCheats.json +1 -1
  205. package/out/StdCheats.sol/StdCheatsSafe.json +1 -1
  206. package/out/StdError.sol/stdError.json +1 -1
  207. package/out/StdInvariant.sol/StdInvariant.json +1 -1
  208. package/out/StdJson.sol/stdJson.json +1 -1
  209. package/out/StdMath.sol/stdMath.json +1 -1
  210. package/out/StdStorage.sol/stdStorage.json +1 -1
  211. package/out/StdStorage.sol/stdStorageSafe.json +1 -1
  212. package/out/StdStyle.sol/StdStyle.json +1 -1
  213. package/out/StdUtils.sol/StdUtils.json +1 -1
  214. package/out/Storage.sol/Storage.json +1 -1
  215. package/out/StoreCore.sol/StoreCore.abi.json +132 -1
  216. package/out/StoreCore.sol/StoreCore.abi.json.d.ts +132 -0
  217. package/out/StoreCore.sol/StoreCore.json +1 -1
  218. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  219. package/out/StoreData.sol/StoreData.abi.json +0 -22
  220. package/out/StoreData.sol/StoreData.abi.json.d.ts +0 -22
  221. package/out/StoreData.sol/StoreData.json +1 -1
  222. package/out/StoreHook.sol/StoreHook.json +1 -1
  223. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  224. package/out/StoreRead.sol/StoreRead.abi.json +0 -16
  225. package/out/StoreRead.sol/StoreRead.abi.json.d.ts +0 -16
  226. package/out/StoreRead.sol/StoreRead.json +1 -1
  227. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +8 -159
  228. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +8 -159
  229. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  230. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  231. package/out/System.sol/System.json +1 -1
  232. package/out/SystemCall.sol/SystemCall.json +1 -1
  233. package/out/SystemHook.sol/SystemHook.json +1 -1
  234. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  235. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  236. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  237. package/out/SystemSwitch.t.sol/EchoSystem.abi.json +1 -98
  238. package/out/SystemSwitch.t.sol/EchoSystem.abi.json.d.ts +1 -98
  239. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  240. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +15 -43
  241. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +15 -43
  242. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  243. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  244. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  245. package/out/Systems.sol/Systems.json +1 -1
  246. package/out/Tables.sol/Tables.json +1 -1
  247. package/out/Test.sol/Test.json +1 -1
  248. package/out/TightCoder.sol/TightCoder.json +1 -1
  249. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  250. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  251. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  252. package/out/TokenURI.sol/TokenURI.json +1 -1
  253. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  254. package/out/TwoFields.sol/TwoFields.json +1 -1
  255. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  256. package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json +25 -125
  257. package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json.d.ts +25 -125
  258. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  259. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  260. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json +0 -68
  261. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json.d.ts +0 -68
  262. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  263. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  264. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  265. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  266. package/out/Vm.sol/Vm.json +1 -1
  267. package/out/Vm.sol/VmSafe.json +1 -1
  268. package/out/World.sol/World.abi.json +124 -53
  269. package/out/World.sol/World.abi.json.d.ts +124 -53
  270. package/out/World.sol/World.json +1 -1
  271. package/out/World.t.sol/EchoSystemHook.json +1 -1
  272. package/out/World.t.sol/IWorldTestSystem.abi.json +1 -1
  273. package/out/World.t.sol/IWorldTestSystem.abi.json.d.ts +1 -1
  274. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  275. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  276. package/out/World.t.sol/RevertSystemHook.json +1 -1
  277. package/out/World.t.sol/WorldTest.abi.json +8 -76
  278. package/out/World.t.sol/WorldTest.abi.json.d.ts +8 -76
  279. package/out/World.t.sol/WorldTest.json +1 -1
  280. package/out/World.t.sol/WorldTestSystem.json +1 -1
  281. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  282. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  283. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  284. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +4 -52
  285. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +4 -52
  286. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  287. package/out/WorldResourceId.sol/WorldResourceIdInstance.json +1 -1
  288. package/out/WorldResourceId.sol/WorldResourceIdLib.json +1 -1
  289. package/out/console.sol/console.json +1 -1
  290. package/out/console2.sol/console2.json +1 -1
  291. package/out/constants.sol/LayoutOffsets.json +1 -1
  292. package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json +10 -274
  293. package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +10 -274
  294. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  295. package/out/query.t.sol/QueryTest.abi.json +8 -41
  296. package/out/query.t.sol/QueryTest.abi.json.d.ts +8 -41
  297. package/out/query.t.sol/QueryTest.json +1 -1
  298. package/out/safeconsole.sol/safeconsole.json +1 -1
  299. package/out/src/IERC165.sol/IERC165.json +1 -1
  300. package/out/tables/Balances.sol/Balances.json +1 -1
  301. package/out/test.sol/DSTest.json +1 -1
  302. package/out/world/src/IERC165.sol/IERC165.json +1 -1
  303. package/package.json +9 -9
  304. package/src/index.sol +6 -6
  305. package/src/interfaces/IBaseWorld.sol +4 -3
  306. package/src/interfaces/IERC20System.sol +1 -2
  307. package/src/interfaces/IPuppetFactorySystem.sol +1 -2
  308. package/src/interfaces/IUniqueEntitySystem.sol +7 -0
  309. package/src/modules/erc20-puppet/ERC20Module.sol +25 -16
  310. package/src/modules/erc20-puppet/ERC20System.sol +1 -1
  311. package/src/modules/erc20-puppet/IERC20.sol +1 -1
  312. package/src/modules/erc20-puppet/IERC20Errors.sol +1 -1
  313. package/src/modules/erc20-puppet/IERC20Events.sol +1 -1
  314. package/src/modules/erc20-puppet/IERC20Mintable.sol +1 -1
  315. package/src/modules/erc20-puppet/constants.sol +2 -1
  316. package/src/modules/erc20-puppet/registerERC20.sol +1 -1
  317. package/src/modules/erc20-puppet/tables/Allowances.sol +43 -12
  318. package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +44 -13
  319. package/src/modules/erc20-puppet/tables/ERC20Registry.sol +42 -12
  320. package/src/modules/erc20-puppet/tables/TotalSupply.sol +41 -12
  321. package/src/modules/erc20-puppet/utils.sol +1 -1
  322. package/src/modules/erc721-puppet/ERC721Module.sol +25 -16
  323. package/src/modules/erc721-puppet/ERC721System.sol +1 -1
  324. package/src/modules/erc721-puppet/IERC721.sol +1 -1
  325. package/src/modules/erc721-puppet/IERC721Errors.sol +1 -1
  326. package/src/modules/erc721-puppet/IERC721Events.sol +1 -1
  327. package/src/modules/erc721-puppet/IERC721Metadata.sol +1 -2
  328. package/src/modules/erc721-puppet/IERC721Mintable.sol +1 -1
  329. package/src/modules/erc721-puppet/IERC721Receiver.sol +1 -2
  330. package/src/modules/erc721-puppet/constants.sol +2 -1
  331. package/src/modules/erc721-puppet/registerERC721.sol +1 -1
  332. package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +43 -12
  333. package/src/modules/erc721-puppet/tables/ERC721Registry.sol +42 -12
  334. package/src/modules/erc721-puppet/tables/OperatorApproval.sol +43 -12
  335. package/src/modules/erc721-puppet/tables/Owners.sol +42 -12
  336. package/src/modules/erc721-puppet/tables/TokenApproval.sol +42 -12
  337. package/src/modules/erc721-puppet/tables/TokenURI.sol +42 -12
  338. package/src/modules/erc721-puppet/utils.sol +1 -1
  339. package/src/modules/keysintable/KeysInTableHook.sol +1 -1
  340. package/src/modules/keysintable/KeysInTableModule.sol +23 -17
  341. package/src/modules/keysintable/constants.sol +1 -1
  342. package/src/modules/keysintable/getKeysInTable.sol +1 -1
  343. package/src/modules/keysintable/hasKey.sol +1 -1
  344. package/src/modules/keysintable/query.sol +1 -1
  345. package/src/modules/keysintable/tables/KeysInTable.sol +51 -15
  346. package/src/modules/keysintable/tables/UsedKeysIndex.sol +51 -17
  347. package/src/modules/keyswithvalue/KeysWithValueHook.sol +1 -1
  348. package/src/modules/keyswithvalue/KeysWithValueModule.sol +17 -22
  349. package/src/modules/keyswithvalue/constants.sol +1 -1
  350. package/src/modules/keyswithvalue/getKeysWithValue.sol +1 -1
  351. package/src/modules/keyswithvalue/getTargetTableId.sol +1 -1
  352. package/src/modules/keyswithvalue/tables/KeysWithValue.sol +43 -13
  353. package/src/modules/puppet/Puppet.sol +1 -1
  354. package/src/modules/puppet/PuppetDelegationControl.sol +1 -1
  355. package/src/modules/puppet/PuppetFactorySystem.sol +1 -1
  356. package/src/modules/puppet/PuppetMaster.sol +1 -1
  357. package/src/modules/puppet/PuppetModule.sol +9 -24
  358. package/src/modules/puppet/constants.sol +3 -4
  359. package/src/modules/puppet/createPuppet.sol +1 -1
  360. package/src/modules/puppet/tables/PuppetRegistry.sol +42 -12
  361. package/src/modules/puppet/utils.sol +1 -1
  362. package/src/modules/std-delegations/CallboundDelegationControl.sol +1 -1
  363. package/src/modules/std-delegations/StandardDelegationsModule.sol +6 -2
  364. package/src/modules/std-delegations/SystemboundDelegationControl.sol +1 -1
  365. package/src/modules/std-delegations/TimeboundDelegationControl.sol +1 -1
  366. package/src/modules/std-delegations/constants.sol +3 -1
  367. package/src/modules/std-delegations/tables/CallboundDelegations.sol +49 -14
  368. package/src/modules/std-delegations/tables/SystemboundDelegations.sol +48 -14
  369. package/src/modules/std-delegations/tables/TimeboundDelegations.sol +47 -14
  370. package/src/modules/tokens/tables/Balances.sol +42 -12
  371. package/src/modules/uniqueentity/UniqueEntityModule.sol +15 -16
  372. package/src/modules/uniqueentity/UniqueEntitySystem.sol +1 -1
  373. package/src/modules/uniqueentity/constants.sol +3 -3
  374. package/src/modules/uniqueentity/getUniqueEntity.sol +3 -2
  375. package/src/modules/uniqueentity/tables/UniqueEntity.sol +42 -13
  376. package/src/modules/utils/ArrayLib.sol +2 -2
  377. package/src/utils/AccessControlLib.sol +1 -2
  378. package/src/utils/SystemSwitch.sol +10 -8
  379. package/dist/mud.config.d.ts +0 -256
  380. package/out/ERC165Checker.sol/ERC165Checker.json +0 -1
  381. package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json +0 -88
  382. package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json.d.ts +0 -88
  383. package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.json +0 -1
  384. package/out/IModuleErrors.sol/IModuleErrors.abi.json +0 -28
  385. package/out/IModuleErrors.sol/IModuleErrors.abi.json.d.ts +0 -28
  386. package/out/IModuleErrors.sol/IModuleErrors.json +0 -1
  387. package/out/IPackedCounterErrors.sol/IPackedCounterErrors.abi.json +0 -13
  388. package/out/IPackedCounterErrors.sol/IPackedCounterErrors.json +0 -1
  389. package/out/IRegistrationSystem.sol/IRegistrationSystem.abi.json +0 -1
  390. package/out/IRegistrationSystem.sol/IRegistrationSystem.json +0 -1
  391. package/out/ISchemaErrors.sol/ISchemaErrors.abi.json +0 -18
  392. package/out/ISchemaErrors.sol/ISchemaErrors.json +0 -1
  393. package/out/ISliceErrors.sol/ISliceErrors.abi.json +0 -23
  394. package/out/ISliceErrors.sol/ISliceErrors.json +0 -1
  395. package/out/IWorldEvents.sol/IWorldEvents.abi.json +0 -15
  396. package/out/IWorldEvents.sol/IWorldEvents.abi.json.d.ts +0 -15
  397. package/out/IWorldEvents.sol/IWorldEvents.json +0 -1
  398. package/out/InitModule.sol/InitModule.json +0 -1
  399. package/out/InitModuleAddress.sol/InitModuleAddress.abi.json +0 -1
  400. package/out/InitModuleAddress.sol/InitModuleAddress.json +0 -1
  401. package/out/LimitedCallContext.sol/LimitedCallContext.abi.json +0 -7
  402. package/out/LimitedCallContext.sol/LimitedCallContext.abi.json.d.ts +0 -7
  403. package/out/LimitedCallContext.sol/LimitedCallContext.json +0 -1
  404. package/out/RegistrationSystem.sol/RegistrationSystem.json +0 -1
  405. /package/out/{ERC165Checker.sol/ERC165Checker.abi.json → ICoreSystem.sol/ICoreSystem.abi.json} +0 -0
  406. /package/out/{IPackedCounterErrors.sol/IPackedCounterErrors.abi.json.d.ts → PackedCounter.sol/PackedCounterInstance.abi.json.d.ts} +0 -0
  407. /package/out/{ISliceErrors.sol/ISliceErrors.abi.json.d.ts → Slice.sol/SliceLib.abi.json.d.ts} +0 -0
@@ -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":"systemFunctionSignature","type":"string","internalType":"string"}],"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":"0x60a06040523060805234801561001457600080fd5b506080516148ec6100306000396000610a4d01526148ec6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b5780636548a90a1461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613fa8565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a61014536600461408a565b6102a3565b005b61015f61015a3660046140e3565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a61018636600461412a565b61049a565b604051601f19360135815260200161010e565b61015f6101ac366004614171565b61066e565b61014a6101bf3660046141d4565b610749565b61014a6101d2366004614204565b61078c565b61014a6101e5366004614204565b6107be565b61014a6101f836600461421d565b610853565b61014a61020b366004614257565b610908565b61014a61021e366004614274565b610921565b61011f610a07565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e610a11565b905090565b6102ab610a43565b6102bd6102b6610294565b8484610aa7565b6102c682610b7a565b156103195760006102d683610b96565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c32565b61031661030d610294565b84846000610c8d565b50505b505050565b6000610328610a43565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610cba565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b93929190614301565b60405180910390fd5b6103ad83610dce565b6103be836103b9610294565b610e19565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e9f565b9050600081846040516020016103fe929190614342565b604051602081830303815290604052905080805190602001209250600061042484610f29565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fd9565b61048681876110a4565b61049085846110a4565b5050505092915050565b6104a2610a43565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104e05761737960f01b8361036685610cba565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761051181610dce565b61051d816103b9610294565b610547837fb5dee12700000000000000000000000000000000000000000000000000000000610c32565b60006105528561116d565b6fffffffffffffffffffffffffffffffff1916036105a8578361057485610cba565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061439a565b60006105b384611184565b905080158015906105c45750848114155b15610606576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061061186610b96565b90506001600160a01b0381161561063a5761062b81611209565b6106358382611288565b610645565b610645866001611326565b6106508686866113c7565b61065a858761146a565b610666838660016114f5565b505050505050565b6000610678610a43565b60408051616e7360f01b602082015260006022820181905260308201526106ba91016040516020818303038152906040526106b2906143b3565b6103b9610294565b8280519060200120905060008280519060200120905060006106db83610f29565b90508015610721576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198416600482015260240161039b565b61072c838784610fd9565b61073682856110a4565b61074083866110a4565b50509392505050565b610751610a43565b61075d826103b9610294565b6107887f7462776f726c6400000000000000000053797374656d486f6f6b73000000000083836115a4565b5050565b610794610a43565b61079d816116cb565b6107a681610dce565b6107b2816103b9610294565b6107bb81611709565b50565b6107c6610a43565b6107cf816116cb565b6107d881611774565b6107e181611966565b1561082457806107f082610cba565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061439a565b61082f816001611326565b6108408161083b610294565b6119eb565b6107bb8161084c610294565b60016114f5565b61085b610a43565b610864836116cb565b61086d82610b7a565b6108a3576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108af836103b9610294565b60006108ba83610b96565b90506108e6817f1a86b55000000000000000000000000000000000000000000000000000000000610c32565b6108f08484611ab5565b8151156109025761031661030d610294565b50505050565b610910610a43565b6107bb61091b610294565b82611b34565b610929610a43565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109675761737960f01b8361036685610cba565b610991827f540fbfa800000000000000000000000000000000000000000000000000000000610c32565b61099a83610dce565b6109ca616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dce565b6109d6836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bd6565b600061029e611c8f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a405750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610aa5576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ae857610ae86143da565b602002602001018181525050826001600160a01b031660001b81600181518110610b1457610b146143da565b6020026020010181815250506109027f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b5d91815260200190565b60408051601f19818403018152919052630100080160dd1b611c99565b6000811515801561028e5750610b8f82611cae565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bcf57610bcf6143da565b60209081029190910101526000610c277f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611d0e565b60601c949350505050565b610c3c8282611d44565b610788576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c9e87878787611d67565b9150915081610cb057610cb081611f37565b9695505050505050565b606081601081901b6000610ccd8361116d565b90508271ffffffffffffffffffffffffffffffffffff19831615610d0e57610d0971ffffffffffffffffffffffffffffffffffff198416610e9f565b610d45565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d6c57610d6783610e9f565b610da3565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610db5939291906143f0565b6040516020818303038152906040529350505050919050565b610dd781611966565b6107bb5780610de582610cba565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061439a565b6001600160a01b038116610e53616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f3f565b6001600160a01b03161461078857610e6a82610cba565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b92919061447e565b606060005b6010811015610ef5576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ef557600101610ea4565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f8157610f816143da565b60209081029190910101526000610f217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611d0e565b6000610fe58383611fd0565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611043576110436143da565b602090810291909101015261109b7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e2402002004000000000000000000000000000000000000000000000000000061200f565b50505050505050565b606060006110b183612354565b905060006110be84612364565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611117576111176143da565b60209081029190910101526106667f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c010000000000000000000000000000000000000000000000000000000061200f565b600061117b607060106144bf565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111c9576111c96143da565b60209081029190910101526000610f217f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611d0e565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b8160008151811061124b5761124b6143da565b60209081029190910101526107887f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61238d565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106112bd576112bd6143da565b602002602001018181525050816001600160a01b031660001b816001815181106112e9576112e96143da565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61238d565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061135c5761135c6143da565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016113aa91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c99565b60006113d3838361268c565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611412576114126143da565b602090810291909101015261109b7f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e1502001401000000000000000000000000000000000000000000000000000061200f565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106114ac576114ac6143da565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b5d91815260200190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061152a5761152a6143da565b602002602001018181525050826001600160a01b031660001b81600181518110611556576115566143da565b6020026020010181815250506109027f7462776f726c640000000000000000005265736f75726365416363657373000060001b826000856040516020016113aa91151560f81b815260010190565b60006115b084846126bc565b90506000815167ffffffffffffffff8111156115ce576115ce613fe7565b6040519080825280602002602001820160405280156115f7578160200160208202803683370190505b5090506000805b83518110156116bc57846001600160a01b0316611642858381518110611626576116266143da565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116b457838181518110611662576116626143da565b602002602001015183838151811061167c5761167c6143da565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115fe565b50808252610666868684612727565b616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000082161781146107bb57616e7360f01b8161036683610cba565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061173f5761173f6143da565b60209081029190910101526107887f7462776f726c640000000000000000004e616d65737061636544656c656761748261277e565b60006117808260101b90565b905060006117a271ffffffffffffffffffffffffffffffffffff198316610e9f565b80519091508015610902576117c4826117bc6001846144d2565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611855576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118636001836144d2565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f0000000000000000000000000000000000000000000000000000000000000014801561191057506118cb836117bc8360016144bf565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561195e576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611858565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061199f5761199f6143da565b602090810291909101015260006119df7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611d0e565b9050610f218160f81c90565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611a2157611a216143da565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a80919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c99565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611aeb57611aeb6143da565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b5d91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b7557611b756143da565b602002602001018181525050816001600160a01b031660001b81600181518110611ba157611ba16143da565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261277e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611c0c57611c0c6143da565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c7b91907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052612819565b600061029e6128ca565b6103168585611ca88487612909565b85612942565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611d06906143b3565b909114919050565b6000611d3b611d1d8686612bdd565b60ff858116601b0360080285901c16611d368587612909565b612c33565b95945050505050565b6000611d4f83612c84565b8015611d605750611d608383612cc5565b9392505050565b600060606000611d7686612d7d565b905060005b8151811015611e49576000828281518110611d9857611d986143da565b60200260200101519050611dc46001826affffffffffffffffffffff1916612e0190919063ffffffff16565b15611e40576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611e0d908c908c908c906004016144e5565b600060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050505b50600101611d7b565b50611e5687858888612e1f565b909350915060005b8151811015611f2c576000828281518110611e7b57611e7b6143da565b60200260200101519050611ea76002826affffffffffffffffffffff1916612e0190919063ffffffff16565b15611f23576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ef0908c908c908c906004016144e5565b600060405180830381600087803b158015611f0a57600080fd5b505af1158015611f1e573d6000803e3d6000fd5b505050505b50600101611e5e565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f7857611f786143da565b60209081029190910101526000610c277f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611d0e565b60608282604051602001611ff89291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361209b57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161208e9493929190614549565b60405180910390a2610666565b60006120a687612efe565b905060005b815181101561217f5760008282815181106120c8576120c86143da565b602002602001015190506120f46001826affffffffffffffffffffff1916612e0190919063ffffffff16565b15612176576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612143908c908c908c908c908c908c90600401614588565b600060405180830381600087803b15801561215d57600080fd5b505af1158015612171573d6000803e3d6000fd5b505050505b506001016120ab565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516121b69493929190614549565b60405180910390a260006121ca8888612bdd565b905060006020870190506121e2826000895184612f70565b60006121ed8561302f565b11156122715760006121ff8a8a61306c565b878155905060208601915060008060005b6122198861302f565b8160ff16101561226c5761222e8d8d836130c2565b92506122498a8260ff166028026038011c64ffffffffff1690565b91506122588360008488612f70565b61226282866144bf565b9450600101612210565b505050505b60005b8351811015612348576000848281518110612291576122916143da565b602002602001015190506122bd6002826affffffffffffffffffffff1916612e0190919063ffffffff16565b1561233f576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061230c908e908e908e908e908e908e90600401614588565b600060405180830381600087803b15801561232657600080fd5b505af115801561233a573d6000803e3d6000fd5b505050505b50600101612274565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161237791906145e1565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361241357827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161240691906145fd565b60405180910390a2505050565b600061241e84612efe565b905060005b81518110156124f1576000828281518110612440576124406143da565b6020026020010151905061246c6040826affffffffffffffffffffff1916612e0190919063ffffffff16565b156124e8576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906124b590899089908990600401614610565b600060405180830381600087803b1580156124cf57600080fd5b505af11580156124e3573d6000803e3d6000fd5b505050505b50600101612423565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161252291906145fd565b60405180910390a260006125368585612bdd565b905061258f81600061254786613142565b67ffffffffffffffff81111561255f5761255f613fe7565b6040519080825280601f01601f191660200182016040528015612589576020820181803683370190505b50613165565b600061259a8461302f565b11156125bb5760006125ac868661306c565b90506125b981602061317b565b505b60005b82518110156106665760008382815181106125db576125db6143da565b602002602001015190506126076080826affffffffffffffffffffff1916612e0190919063ffffffff16565b15612683576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90612650908a908a908a90600401614610565b600060405180830381600087803b15801561266a57600080fd5b505af115801561267e573d6000803e3d6000fd5b505050505b506001016125be565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611ff8565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126f6576126f66143da565b6020026020010181815250506000612710858360006131b8565b9050611d3b61272282600084516131f2565b613280565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061275d5761275d6143da565b6020026020010181815250506109028482600061277986613291565b6132a1565b60006127886128ca565b9050306001600160a01b038216036127a45761031983836132dc565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127eb9086908690600401614639565b600060405180830381600087803b15801561280557600080fd5b505af115801561109b573d6000803e3d6000fd5b60006128236128ca565b9050306001600160a01b0382160361284657612841858585856132ef565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290612891908890889088908890600401614652565b600060405180830381600087803b1580156128ab57600080fd5b505af11580156128bf573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612904573391505090565b919050565b600080805b8360ff1681101561293a5761293060ff601b83900360080287901c16836144bf565b915060010161290e565b509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129cc57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516129bf93929190614686565b60405180910390a2610902565b60006129d88585612bdd565b905060006129e586612efe565b905060005b8151811015612aba576000828281518110612a0757612a076143da565b60200260200101519050612a336004826affffffffffffffffffffff1916612e0190919063ffffffff16565b15612ab1576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a7e908b908b908b908b906004016146b9565b600060405180830381600087803b158015612a9857600080fd5b505af1158015612aac573d6000803e3d6000fd5b505050505b506001016129ea565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612aef93929190614686565b60405180910390a2612b0a828565ffffffffffff1685613165565b60005b815181101561109b576000828281518110612b2a57612b2a6143da565b60200260200101519050612b566008826affffffffffffffffffffff1916612e0190919063ffffffff16565b15612bd4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612ba1908b908b908b908b906004016146b9565b600060405180830381600087803b158015612bbb57600080fd5b505af1158015612bcf573d6000803e3d6000fd5b505050505b50600101612b0d565b60008282604051602001612bf29291906146f2565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c5957602082048401935060208281612c5557612c5561472e565b0691505b508254600882021b60208290038084111561293a576001850154600882021c82179150509392505050565b6000612cb0827f01ffc9a700000000000000000000000000000000000000000000000000000000612cc5565b801561028e5750610b8f826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d66575060208210155b8015612d725750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612db757612db76143da565b60209081029190910101526000612def7f7462776f726c6400000000000000000053797374656d486f6f6b73000000000083836131b8565b9050610f2161272282600084516131f2565b60008160ff1682612e128560581c90565b1660ff1614905092915050565b60006060600080612e2f8661332a565b90925090506001600160a01b038216612e4c5785610de587610cba565b80612e5b57612e5b86896133e2565b8615612eac577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e94826133f9565b9050612ea982612ea48b846144bf565b613472565b50505b6000612eb88760101b90565b71ffffffffffffffffffffffffffffffffffff191614612ee357612ede888884886134f1565b612eef565b612eef88888488613569565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f3857612f386143da565b60209081029190910101526000612def7f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836131b8565b8215612fea5760208310612f9a57602083048401935060208381612f9657612f9661472e565b0692505b8215612fea5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fdb575050610902565b50600194909401939182900391015b5b6020821061300c5780518455600190930192601f1990910190602001612feb565b8115610902576000600019600884021c8554835182191691161785555050505050565b60006008600180613042600260206144d2565b61304c91906144d2565b61305691906144d2565b6130609190614744565b8260ff911c1692915050565b600082826040516020016130819291906146f2565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130d79291906146f2565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613152600260206144d2565b61315c9190614744565b9190911c919050565b610319838383516131768560200190565b612f70565b6000602061318a83601f6144bf565b613194919061475b565b61319e90846144bf565b90505b8083101561031957600083556001830192506131a1565b6060610f216131c88585856130c2565b60006131ed856131d889896135ca565b9060ff166028026038011c64ffffffffff1690565b6135dd565b6000818311806132025750835182115b1561323f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061477d565b6020840161324d84826144bf565b9050600061325b85856144d2565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d608360156000613600565b606081611d60816015600061367b565b60006132ad85856135ca565b905060006132ca828560ff166028026038011c64ffffffffff1690565b905061066686868660008588886136cf565b61078882826132ea85613b09565b61238d565b60006132fb85856135ca565b90506000613318828560ff166028026038011c64ffffffffff1690565b905061066686868684600088886136cf565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613364576133646143da565b6020908102919091010152600080806133bd7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b8e565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133ec8282613c96565b61078857610e6a82610cba565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613432576134326143da565b60209081029190910101526000610f217f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611d0e565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106134a8576134a86143da565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b5d91815260200190565b60006060836001600160a01b0316600061350c858989613cd9565b60405161351991906145e1565b60006040518083038185875af1925050503d8060008114613556576040519150601f19603f3d011682016040523d82523d6000602084013e61355b565b606091505b509097909650945050505050565b60006060836001600160a01b0316613582848888613cd9565b60405161358f91906145e1565b600060405180830381855af49150503d8060008114613556576040519150601f19603f3d011682016040523d82523d6000602084013e61355b565b6000611d606135d9848461306c565b5490565b60405160208101601f19603f848401011660405282825261293a85858584613d08565b6060600061360e8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816136345761363461472e565b04905060405193506020840160208202810160405281855260005b8281101561366f578451871c82529387019360209091019060010161364f565b50505050509392505050565b8251606090600061368c8583614744565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561366f578051871b835291870191600191909101906020016136ae565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461378f577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161374d91815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b939291600401614301565b60006137aa828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836137c391906144d2565b6137cd91906144bf565b90508082141580156137ef5750816137e586886147a2565b64ffffffffff1614155b1561383f576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613890576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b600061389d848984613dd4565b905060006138aa8b612efe565b905060005b81518110156139755760008282815181106138cc576138cc6143da565b602002602001015190506138f86010826affffffffffffffffffffff1916612e0190919063ffffffff16565b1561396c57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161393997969594939291906147c7565b600060405180830381600087803b15801561395357600080fd5b505af1158015613967573d6000803e3d6000fd5b505050505b506001016138af565b5064ffffffffff881660005b8a60ff168160ff1610156139b4576139a8878260ff166028026038011c64ffffffffff1690565b90910190600101613981565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139ef96959493929190614825565b60405180910390a250828414613a10576000613a0b8c8c61306c565b839055505b6000613a1d8c8c8c6130c2565b9050613a31818a64ffffffffff1689613165565b5060005b8151811015613afb576000828281518110613a5257613a526143da565b60200260200101519050613a7e6020826affffffffffffffffffffff1916612e0190919063ffffffff16565b15613af257606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613abf97969594939291906147c7565b600060405180830381600087803b158015613ad957600080fd5b505af1158015613aed573d6000803e3d6000fd5b505050505b50600101613a35565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b5857507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b857f746273746f72650000000000000000005461626c65730000000000000000000084613ea2565b60206000612c33565b6060600060606000613b9f85613142565b9050613bac878783613ebe565b93506000613bb98661302f565b90508015613c8b57613bcb88886135ca565b935066ffffffffffffff841667ffffffffffffffff811115613bef57613bef613fe7565b6040519080825280601f01601f191660200182016040528015613c19576020820181803683370190505b5092506020830160005b828160ff161015613c88576000613c3b8b8b846130c2565b90506000613c58888460ff166028026038011c64ffffffffff1690565b9050613c678260008387613d08565b613c7181856144bf565b935050508080613c8090614881565b915050613c23565b50505b505093509350939050565b6000613cc9616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ef7565b80611d605750611d608383613ef7565b6060838383604051602001613cf0939291906148a0565b60405160208183030381529060405290509392505050565b8215613d8f5760208310613d3257602083048401935060208381613d2e57613d2e61472e565b0692505b8215613d8f576020839003600081841015613d555750600019600884021c613d5f565b50600019600882021c5b8554600886021b818451168219821617845250818411613d80575050610902565b50600194909401939182900391015b5b60208210613db15783548152600190930192601f1990910190602001613d90565b8115610902576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613e18576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e4a5780850382019150613e52565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bf2565b606081600003613edd5750604080516020810190915260008152611d60565b6000613ee98585612bdd565b9050611d3b816000856135dd565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f3057613f306143da565b602002602001018181525050826001600160a01b031660001b81600181518110613f5c57613f5c6143da565b60209081029190910101526000613f9c7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611d0e565b9050611d3b8160f81c90565b600060208284031215613fba57600080fd5b81356001600160e01b031981168114611d6057600080fd5b6001600160a01b03811681146107bb57600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f83011261400e57600080fd5b813567ffffffffffffffff8082111561402957614029613fe7565b604051601f8301601f19908116603f0116810190828211818310171561405157614051613fe7565b8160405283815286602085880101111561406a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561409f57600080fd5b83356140aa81613fd2565b925060208401359150604084013567ffffffffffffffff8111156140cd57600080fd5b6140d986828701613ffd565b9150509250925092565b600080604083850312156140f657600080fd5b82359150602083013567ffffffffffffffff81111561411457600080fd5b61412085828601613ffd565b9150509250929050565b60008060006060848603121561413f57600080fd5b83359250602084013561415181613fd2565b91506040840135801515811461416657600080fd5b809150509250925092565b60008060006060848603121561418657600080fd5b83359250602084013567ffffffffffffffff808211156141a557600080fd5b6141b187838801613ffd565b935060408601359150808211156141c757600080fd5b506140d986828701613ffd565b600080604083850312156141e757600080fd5b8235915060208301356141f981613fd2565b809150509250929050565b60006020828403121561421657600080fd5b5035919050565b60008060006060848603121561423257600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140cd57600080fd5b60006020828403121561426957600080fd5b8135611d6081613fd2565b60008060006060848603121561428957600080fd5b83359250602084013561429b81613fd2565b9150604084013560ff8116811461416657600080fd5b60005b838110156142cc5781810151838201526020016142b4565b50506000910152565b600081518084526142ed8160208601602086016142b1565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d3b60608301846142d5565b600083516143548184602088016142b1565b7f5f5f000000000000000000000000000000000000000000000000000000000000908301908152835161438e8160028401602088016142b1565b01600201949350505050565b828152604060208201526000610f2160408301846142d5565b805160208083015191908110156143d4576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516144518160038601602089016142b1565b8084019050816003820152845191506144718260048301602088016142b1565b0160040195945050505050565b60408152600061449160408301856142d5565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e6144a9565b8181038181111561028e5761028e6144a9565b6001600160a01b0384168152826020820152606060408201526000611d3b60608301846142d5565b60008151808452602080850194506020840160005b8381101561453e57815187529582019590820190600101614522565b509495945050505050565b60808152600061455c608083018761450d565b828103602084015261456e81876142d5565b90508460408401528281036060840152612d7281856142d5565b86815260c0602082015260006145a160c083018861450d565b82810360408401526145b381886142d5565b905085606084015282810360808401526145cd81866142d5565b9150508260a0830152979650505050505050565b600082516145f38184602087016142b1565b9190910192915050565b602081526000611d60602083018461450d565b838152606060208201526000614629606083018561450d565b9050826040830152949350505050565b828152604060208201526000610f21604083018461450d565b84815260806020820152600061466b608083018661450d565b60ff851660408401528281036060840152612d7281856142d5565b606081526000614699606083018661450d565b65ffffffffffff851660208401528281036040840152610cb081856142d5565b8481526080602082015260006146d2608083018661450d565b65ffffffffffff851660408401528281036060840152612d7281856142d5565b8281526000602080830184516020860160005b8281101561472157815184529284019290840190600101614705565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e6144a9565b60008261477857634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061479060608301866142d5565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147c0576147c06144a9565b5092915050565b87815260e0602082015260006147e060e083018961450d565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261481781856142d5565b9a9950505050505050505050565b60c08152600061483860c083018961450d565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261487481856142d5565b9998505050505050505050565b600060ff821660ff8103614897576148976144a9565b60010192915050565b600084516148b28184602089016142b1565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:13099:97:-:0;;;981:4:88;938:48;;2226:13099:97;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b5780636548a90a1461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613fa8565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a61014536600461408a565b6102a3565b005b61015f61015a3660046140e3565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a61018636600461412a565b61049a565b604051601f19360135815260200161010e565b61015f6101ac366004614171565b61066e565b61014a6101bf3660046141d4565b610749565b61014a6101d2366004614204565b61078c565b61014a6101e5366004614204565b6107be565b61014a6101f836600461421d565b610853565b61014a61020b366004614257565b610908565b61014a61021e366004614274565b610921565b61011f610a07565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e610a11565b905090565b6102ab610a43565b6102bd6102b6610294565b8484610aa7565b6102c682610b7a565b156103195760006102d683610b96565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c32565b61031661030d610294565b84846000610c8d565b50505b505050565b6000610328610a43565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610cba565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b93929190614301565b60405180910390fd5b6103ad83610dce565b6103be836103b9610294565b610e19565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e9f565b9050600081846040516020016103fe929190614342565b604051602081830303815290604052905080805190602001209250600061042484610f29565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fd9565b61048681876110a4565b61049085846110a4565b5050505092915050565b6104a2610a43565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104e05761737960f01b8361036685610cba565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761051181610dce565b61051d816103b9610294565b610547837fb5dee12700000000000000000000000000000000000000000000000000000000610c32565b60006105528561116d565b6fffffffffffffffffffffffffffffffff1916036105a8578361057485610cba565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061439a565b60006105b384611184565b905080158015906105c45750848114155b15610606576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061061186610b96565b90506001600160a01b0381161561063a5761062b81611209565b6106358382611288565b610645565b610645866001611326565b6106508686866113c7565b61065a858761146a565b610666838660016114f5565b505050505050565b6000610678610a43565b60408051616e7360f01b602082015260006022820181905260308201526106ba91016040516020818303038152906040526106b2906143b3565b6103b9610294565b8280519060200120905060008280519060200120905060006106db83610f29565b90508015610721576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198416600482015260240161039b565b61072c838784610fd9565b61073682856110a4565b61074083866110a4565b50509392505050565b610751610a43565b61075d826103b9610294565b6107887f7462776f726c6400000000000000000053797374656d486f6f6b73000000000083836115a4565b5050565b610794610a43565b61079d816116cb565b6107a681610dce565b6107b2816103b9610294565b6107bb81611709565b50565b6107c6610a43565b6107cf816116cb565b6107d881611774565b6107e181611966565b1561082457806107f082610cba565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061439a565b61082f816001611326565b6108408161083b610294565b6119eb565b6107bb8161084c610294565b60016114f5565b61085b610a43565b610864836116cb565b61086d82610b7a565b6108a3576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108af836103b9610294565b60006108ba83610b96565b90506108e6817f1a86b55000000000000000000000000000000000000000000000000000000000610c32565b6108f08484611ab5565b8151156109025761031661030d610294565b50505050565b610910610a43565b6107bb61091b610294565b82611b34565b610929610a43565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109675761737960f01b8361036685610cba565b610991827f540fbfa800000000000000000000000000000000000000000000000000000000610c32565b61099a83610dce565b6109ca616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dce565b6109d6836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bd6565b600061029e611c8f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a405750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610aa5576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ae857610ae86143da565b602002602001018181525050826001600160a01b031660001b81600181518110610b1457610b146143da565b6020026020010181815250506109027f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b5d91815260200190565b60408051601f19818403018152919052630100080160dd1b611c99565b6000811515801561028e5750610b8f82611cae565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bcf57610bcf6143da565b60209081029190910101526000610c277f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611d0e565b60601c949350505050565b610c3c8282611d44565b610788576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c9e87878787611d67565b9150915081610cb057610cb081611f37565b9695505050505050565b606081601081901b6000610ccd8361116d565b90508271ffffffffffffffffffffffffffffffffffff19831615610d0e57610d0971ffffffffffffffffffffffffffffffffffff198416610e9f565b610d45565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d6c57610d6783610e9f565b610da3565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610db5939291906143f0565b6040516020818303038152906040529350505050919050565b610dd781611966565b6107bb5780610de582610cba565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061439a565b6001600160a01b038116610e53616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f3f565b6001600160a01b03161461078857610e6a82610cba565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b92919061447e565b606060005b6010811015610ef5576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ef557600101610ea4565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f8157610f816143da565b60209081029190910101526000610f217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611d0e565b6000610fe58383611fd0565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611043576110436143da565b602090810291909101015261109b7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e2402002004000000000000000000000000000000000000000000000000000061200f565b50505050505050565b606060006110b183612354565b905060006110be84612364565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611117576111176143da565b60209081029190910101526106667f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c010000000000000000000000000000000000000000000000000000000061200f565b600061117b607060106144bf565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111c9576111c96143da565b60209081029190910101526000610f217f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611d0e565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b8160008151811061124b5761124b6143da565b60209081029190910101526107887f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61238d565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106112bd576112bd6143da565b602002602001018181525050816001600160a01b031660001b816001815181106112e9576112e96143da565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61238d565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061135c5761135c6143da565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016113aa91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c99565b60006113d3838361268c565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611412576114126143da565b602090810291909101015261109b7f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e1502001401000000000000000000000000000000000000000000000000000061200f565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106114ac576114ac6143da565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b5d91815260200190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061152a5761152a6143da565b602002602001018181525050826001600160a01b031660001b81600181518110611556576115566143da565b6020026020010181815250506109027f7462776f726c640000000000000000005265736f75726365416363657373000060001b826000856040516020016113aa91151560f81b815260010190565b60006115b084846126bc565b90506000815167ffffffffffffffff8111156115ce576115ce613fe7565b6040519080825280602002602001820160405280156115f7578160200160208202803683370190505b5090506000805b83518110156116bc57846001600160a01b0316611642858381518110611626576116266143da565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116b457838181518110611662576116626143da565b602002602001015183838151811061167c5761167c6143da565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115fe565b50808252610666868684612727565b616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000082161781146107bb57616e7360f01b8161036683610cba565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061173f5761173f6143da565b60209081029190910101526107887f7462776f726c640000000000000000004e616d65737061636544656c656761748261277e565b60006117808260101b90565b905060006117a271ffffffffffffffffffffffffffffffffffff198316610e9f565b80519091508015610902576117c4826117bc6001846144d2565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611855576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118636001836144d2565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f0000000000000000000000000000000000000000000000000000000000000014801561191057506118cb836117bc8360016144bf565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561195e576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611858565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061199f5761199f6143da565b602090810291909101015260006119df7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611d0e565b9050610f218160f81c90565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611a2157611a216143da565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a80919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c99565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611aeb57611aeb6143da565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b5d91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b7557611b756143da565b602002602001018181525050816001600160a01b031660001b81600181518110611ba157611ba16143da565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261277e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611c0c57611c0c6143da565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c7b91907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052612819565b600061029e6128ca565b6103168585611ca88487612909565b85612942565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611d06906143b3565b909114919050565b6000611d3b611d1d8686612bdd565b60ff858116601b0360080285901c16611d368587612909565b612c33565b95945050505050565b6000611d4f83612c84565b8015611d605750611d608383612cc5565b9392505050565b600060606000611d7686612d7d565b905060005b8151811015611e49576000828281518110611d9857611d986143da565b60200260200101519050611dc46001826affffffffffffffffffffff1916612e0190919063ffffffff16565b15611e40576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611e0d908c908c908c906004016144e5565b600060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050505b50600101611d7b565b50611e5687858888612e1f565b909350915060005b8151811015611f2c576000828281518110611e7b57611e7b6143da565b60200260200101519050611ea76002826affffffffffffffffffffff1916612e0190919063ffffffff16565b15611f23576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ef0908c908c908c906004016144e5565b600060405180830381600087803b158015611f0a57600080fd5b505af1158015611f1e573d6000803e3d6000fd5b505050505b50600101611e5e565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f7857611f786143da565b60209081029190910101526000610c277f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611d0e565b60608282604051602001611ff89291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361209b57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161208e9493929190614549565b60405180910390a2610666565b60006120a687612efe565b905060005b815181101561217f5760008282815181106120c8576120c86143da565b602002602001015190506120f46001826affffffffffffffffffffff1916612e0190919063ffffffff16565b15612176576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612143908c908c908c908c908c908c90600401614588565b600060405180830381600087803b15801561215d57600080fd5b505af1158015612171573d6000803e3d6000fd5b505050505b506001016120ab565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516121b69493929190614549565b60405180910390a260006121ca8888612bdd565b905060006020870190506121e2826000895184612f70565b60006121ed8561302f565b11156122715760006121ff8a8a61306c565b878155905060208601915060008060005b6122198861302f565b8160ff16101561226c5761222e8d8d836130c2565b92506122498a8260ff166028026038011c64ffffffffff1690565b91506122588360008488612f70565b61226282866144bf565b9450600101612210565b505050505b60005b8351811015612348576000848281518110612291576122916143da565b602002602001015190506122bd6002826affffffffffffffffffffff1916612e0190919063ffffffff16565b1561233f576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061230c908e908e908e908e908e908e90600401614588565b600060405180830381600087803b15801561232657600080fd5b505af115801561233a573d6000803e3d6000fd5b505050505b50600101612274565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161237791906145e1565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361241357827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161240691906145fd565b60405180910390a2505050565b600061241e84612efe565b905060005b81518110156124f1576000828281518110612440576124406143da565b6020026020010151905061246c6040826affffffffffffffffffffff1916612e0190919063ffffffff16565b156124e8576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906124b590899089908990600401614610565b600060405180830381600087803b1580156124cf57600080fd5b505af11580156124e3573d6000803e3d6000fd5b505050505b50600101612423565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161252291906145fd565b60405180910390a260006125368585612bdd565b905061258f81600061254786613142565b67ffffffffffffffff81111561255f5761255f613fe7565b6040519080825280601f01601f191660200182016040528015612589576020820181803683370190505b50613165565b600061259a8461302f565b11156125bb5760006125ac868661306c565b90506125b981602061317b565b505b60005b82518110156106665760008382815181106125db576125db6143da565b602002602001015190506126076080826affffffffffffffffffffff1916612e0190919063ffffffff16565b15612683576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90612650908a908a908a90600401614610565b600060405180830381600087803b15801561266a57600080fd5b505af115801561267e573d6000803e3d6000fd5b505050505b506001016125be565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611ff8565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126f6576126f66143da565b6020026020010181815250506000612710858360006131b8565b9050611d3b61272282600084516131f2565b613280565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061275d5761275d6143da565b6020026020010181815250506109028482600061277986613291565b6132a1565b60006127886128ca565b9050306001600160a01b038216036127a45761031983836132dc565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127eb9086908690600401614639565b600060405180830381600087803b15801561280557600080fd5b505af115801561109b573d6000803e3d6000fd5b60006128236128ca565b9050306001600160a01b0382160361284657612841858585856132ef565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290612891908890889088908890600401614652565b600060405180830381600087803b1580156128ab57600080fd5b505af11580156128bf573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612904573391505090565b919050565b600080805b8360ff1681101561293a5761293060ff601b83900360080287901c16836144bf565b915060010161290e565b509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129cc57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516129bf93929190614686565b60405180910390a2610902565b60006129d88585612bdd565b905060006129e586612efe565b905060005b8151811015612aba576000828281518110612a0757612a076143da565b60200260200101519050612a336004826affffffffffffffffffffff1916612e0190919063ffffffff16565b15612ab1576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a7e908b908b908b908b906004016146b9565b600060405180830381600087803b158015612a9857600080fd5b505af1158015612aac573d6000803e3d6000fd5b505050505b506001016129ea565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612aef93929190614686565b60405180910390a2612b0a828565ffffffffffff1685613165565b60005b815181101561109b576000828281518110612b2a57612b2a6143da565b60200260200101519050612b566008826affffffffffffffffffffff1916612e0190919063ffffffff16565b15612bd4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612ba1908b908b908b908b906004016146b9565b600060405180830381600087803b158015612bbb57600080fd5b505af1158015612bcf573d6000803e3d6000fd5b505050505b50600101612b0d565b60008282604051602001612bf29291906146f2565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c5957602082048401935060208281612c5557612c5561472e565b0691505b508254600882021b60208290038084111561293a576001850154600882021c82179150509392505050565b6000612cb0827f01ffc9a700000000000000000000000000000000000000000000000000000000612cc5565b801561028e5750610b8f826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d66575060208210155b8015612d725750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612db757612db76143da565b60209081029190910101526000612def7f7462776f726c6400000000000000000053797374656d486f6f6b73000000000083836131b8565b9050610f2161272282600084516131f2565b60008160ff1682612e128560581c90565b1660ff1614905092915050565b60006060600080612e2f8661332a565b90925090506001600160a01b038216612e4c5785610de587610cba565b80612e5b57612e5b86896133e2565b8615612eac577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e94826133f9565b9050612ea982612ea48b846144bf565b613472565b50505b6000612eb88760101b90565b71ffffffffffffffffffffffffffffffffffff191614612ee357612ede888884886134f1565b612eef565b612eef88888488613569565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f3857612f386143da565b60209081029190910101526000612def7f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836131b8565b8215612fea5760208310612f9a57602083048401935060208381612f9657612f9661472e565b0692505b8215612fea5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fdb575050610902565b50600194909401939182900391015b5b6020821061300c5780518455600190930192601f1990910190602001612feb565b8115610902576000600019600884021c8554835182191691161785555050505050565b60006008600180613042600260206144d2565b61304c91906144d2565b61305691906144d2565b6130609190614744565b8260ff911c1692915050565b600082826040516020016130819291906146f2565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130d79291906146f2565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613152600260206144d2565b61315c9190614744565b9190911c919050565b610319838383516131768560200190565b612f70565b6000602061318a83601f6144bf565b613194919061475b565b61319e90846144bf565b90505b8083101561031957600083556001830192506131a1565b6060610f216131c88585856130c2565b60006131ed856131d889896135ca565b9060ff166028026038011c64ffffffffff1690565b6135dd565b6000818311806132025750835182115b1561323f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061477d565b6020840161324d84826144bf565b9050600061325b85856144d2565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d608360156000613600565b606081611d60816015600061367b565b60006132ad85856135ca565b905060006132ca828560ff166028026038011c64ffffffffff1690565b905061066686868660008588886136cf565b61078882826132ea85613b09565b61238d565b60006132fb85856135ca565b90506000613318828560ff166028026038011c64ffffffffff1690565b905061066686868684600088886136cf565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613364576133646143da565b6020908102919091010152600080806133bd7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b8e565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133ec8282613c96565b61078857610e6a82610cba565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613432576134326143da565b60209081029190910101526000610f217f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611d0e565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106134a8576134a86143da565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b5d91815260200190565b60006060836001600160a01b0316600061350c858989613cd9565b60405161351991906145e1565b60006040518083038185875af1925050503d8060008114613556576040519150601f19603f3d011682016040523d82523d6000602084013e61355b565b606091505b509097909650945050505050565b60006060836001600160a01b0316613582848888613cd9565b60405161358f91906145e1565b600060405180830381855af49150503d8060008114613556576040519150601f19603f3d011682016040523d82523d6000602084013e61355b565b6000611d606135d9848461306c565b5490565b60405160208101601f19603f848401011660405282825261293a85858584613d08565b6060600061360e8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816136345761363461472e565b04905060405193506020840160208202810160405281855260005b8281101561366f578451871c82529387019360209091019060010161364f565b50505050509392505050565b8251606090600061368c8583614744565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561366f578051871b835291870191600191909101906020016136ae565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461378f577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161374d91815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b939291600401614301565b60006137aa828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836137c391906144d2565b6137cd91906144bf565b90508082141580156137ef5750816137e586886147a2565b64ffffffffff1614155b1561383f576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613890576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b600061389d848984613dd4565b905060006138aa8b612efe565b905060005b81518110156139755760008282815181106138cc576138cc6143da565b602002602001015190506138f86010826affffffffffffffffffffff1916612e0190919063ffffffff16565b1561396c57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161393997969594939291906147c7565b600060405180830381600087803b15801561395357600080fd5b505af1158015613967573d6000803e3d6000fd5b505050505b506001016138af565b5064ffffffffff881660005b8a60ff168160ff1610156139b4576139a8878260ff166028026038011c64ffffffffff1690565b90910190600101613981565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139ef96959493929190614825565b60405180910390a250828414613a10576000613a0b8c8c61306c565b839055505b6000613a1d8c8c8c6130c2565b9050613a31818a64ffffffffff1689613165565b5060005b8151811015613afb576000828281518110613a5257613a526143da565b60200260200101519050613a7e6020826affffffffffffffffffffff1916612e0190919063ffffffff16565b15613af257606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613abf97969594939291906147c7565b600060405180830381600087803b158015613ad957600080fd5b505af1158015613aed573d6000803e3d6000fd5b505050505b50600101613a35565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b5857507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b857f746273746f72650000000000000000005461626c65730000000000000000000084613ea2565b60206000612c33565b6060600060606000613b9f85613142565b9050613bac878783613ebe565b93506000613bb98661302f565b90508015613c8b57613bcb88886135ca565b935066ffffffffffffff841667ffffffffffffffff811115613bef57613bef613fe7565b6040519080825280601f01601f191660200182016040528015613c19576020820181803683370190505b5092506020830160005b828160ff161015613c88576000613c3b8b8b846130c2565b90506000613c58888460ff166028026038011c64ffffffffff1690565b9050613c678260008387613d08565b613c7181856144bf565b935050508080613c8090614881565b915050613c23565b50505b505093509350939050565b6000613cc9616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ef7565b80611d605750611d608383613ef7565b6060838383604051602001613cf0939291906148a0565b60405160208183030381529060405290509392505050565b8215613d8f5760208310613d3257602083048401935060208381613d2e57613d2e61472e565b0692505b8215613d8f576020839003600081841015613d555750600019600884021c613d5f565b50600019600882021c5b8554600886021b818451168219821617845250818411613d80575050610902565b50600194909401939182900391015b5b60208210613db15783548152600190930192601f1990910190602001613d90565b8115610902576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613e18576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e4a5780850382019150613e52565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bf2565b606081600003613edd5750604080516020810190915260008152611d60565b6000613ee98585612bdd565b9050611d3b816000856135dd565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f3057613f306143da565b602002602001018181525050826001600160a01b031660001b81600181518110613f5c57613f5c6143da565b60209081029190910101526000613f9c7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611d0e565b9050611d3b8160f81c90565b600060208284031215613fba57600080fd5b81356001600160e01b031981168114611d6057600080fd5b6001600160a01b03811681146107bb57600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f83011261400e57600080fd5b813567ffffffffffffffff8082111561402957614029613fe7565b604051601f8301601f19908116603f0116810190828211818310171561405157614051613fe7565b8160405283815286602085880101111561406a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561409f57600080fd5b83356140aa81613fd2565b925060208401359150604084013567ffffffffffffffff8111156140cd57600080fd5b6140d986828701613ffd565b9150509250925092565b600080604083850312156140f657600080fd5b82359150602083013567ffffffffffffffff81111561411457600080fd5b61412085828601613ffd565b9150509250929050565b60008060006060848603121561413f57600080fd5b83359250602084013561415181613fd2565b91506040840135801515811461416657600080fd5b809150509250925092565b60008060006060848603121561418657600080fd5b83359250602084013567ffffffffffffffff808211156141a557600080fd5b6141b187838801613ffd565b935060408601359150808211156141c757600080fd5b506140d986828701613ffd565b600080604083850312156141e757600080fd5b8235915060208301356141f981613fd2565b809150509250929050565b60006020828403121561421657600080fd5b5035919050565b60008060006060848603121561423257600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140cd57600080fd5b60006020828403121561426957600080fd5b8135611d6081613fd2565b60008060006060848603121561428957600080fd5b83359250602084013561429b81613fd2565b9150604084013560ff8116811461416657600080fd5b60005b838110156142cc5781810151838201526020016142b4565b50506000910152565b600081518084526142ed8160208601602086016142b1565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d3b60608301846142d5565b600083516143548184602088016142b1565b7f5f5f000000000000000000000000000000000000000000000000000000000000908301908152835161438e8160028401602088016142b1565b01600201949350505050565b828152604060208201526000610f2160408301846142d5565b805160208083015191908110156143d4576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516144518160038601602089016142b1565b8084019050816003820152845191506144718260048301602088016142b1565b0160040195945050505050565b60408152600061449160408301856142d5565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e6144a9565b8181038181111561028e5761028e6144a9565b6001600160a01b0384168152826020820152606060408201526000611d3b60608301846142d5565b60008151808452602080850194506020840160005b8381101561453e57815187529582019590820190600101614522565b509495945050505050565b60808152600061455c608083018761450d565b828103602084015261456e81876142d5565b90508460408401528281036060840152612d7281856142d5565b86815260c0602082015260006145a160c083018861450d565b82810360408401526145b381886142d5565b905085606084015282810360808401526145cd81866142d5565b9150508260a0830152979650505050505050565b600082516145f38184602087016142b1565b9190910192915050565b602081526000611d60602083018461450d565b838152606060208201526000614629606083018561450d565b9050826040830152949350505050565b828152604060208201526000610f21604083018461450d565b84815260806020820152600061466b608083018661450d565b60ff851660408401528281036060840152612d7281856142d5565b606081526000614699606083018661450d565b65ffffffffffff851660208401528281036040840152610cb081856142d5565b8481526080602082015260006146d2608083018661450d565b65ffffffffffff851660408401528281036060840152612d7281856142d5565b8281526000602080830184516020860160005b8281101561472157815184529284019290840190600101614705565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e6144a9565b60008261477857634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061479060608301866142d5565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147c0576147c06144a9565b5092915050565b87815260e0602082015260006147e060e083018961450d565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261481781856142d5565b9a9950505050505050505050565b60c08152600061483860c083018961450d565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261487481856142d5565b9998505050505050505050565b600060ff821660ff8103614897576148976144a9565b60010192915050565b600084516148b28184602089016142b1565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:13099:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:64;;;;;;:::i;:::-;;:::i;:::-;;;516:14:214;;509:22;491:41;;479:2;464:18;2331:198:64;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:214;;;689:74;;677:2;662:18;1262:113:64;543:226:214;11870:932:97;;;;;;:::i;:::-;;:::i;:::-;;8379:1584;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;3050:79:214;;;3032:98;;3020:2;3005:18;8379:1584:97;2888:248:214;5808:2236:97;;;;;;:::i;:::-;;:::i;1616:110:64:-;;;-1:-1:-1;;3800:14:64;3796:25;3783:39;3823:25:214;;3811:2;3796:18;1616:110:64;3677:177:214;10369:1171:97;;;;;;:::i;:::-;;:::i;4742:388::-;;;;;;:::i;:::-;;:::i;14857:466::-;;;;;;:::i;:::-;;:::i;2536:736::-;;;;;;:::i;:::-;;:::i;13528:1145::-;;;;;;:::i;:::-;;:::i;12987:223::-;;;;;;:::i;:::-;;:::i;3576:936::-;;;;;;:::i;:::-;;:::i;1942:98:64:-;;;:::i;2331:198::-;2407:4;-1:-1:-1;;;;;;2426:54:64;;2441:39;2426:54;;:98;;-1:-1:-1;;;;;;;2484:40:64;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:64:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;11870:932:97:-;1061:20:88;:18;:20::i;:::-;12075:141:97::1;12121:12;:10;:12::i;:::-;12152:9;12190:19;12075:26;:141::i;:::-;12266:41;12287:19;12266:20;:41::i;:::-;12262:536;;;12411:25;12439:39;12458:19;12439:18;:39::i;:::-;12411:67;;12486:73;12503:17;12522:36;12486:16;:73::i;:::-;12630:161;12681:12;:10;:12::i;:::-;12713:19;12752:12;12781:1;12630:32;:161::i;:::-;;12309:489;12262:536;11870:932:::0;;;:::o;8379:1584::-;8518:28;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;8625:8:97;:37;::::1;;8621:138;;-1:-1:-1::0;;;8722:8:97::1;8732:19;:8;:17;:19::i;:::-;8679:73;;;;;;;;;;;;;:::i;:::-;;;;;;;;8621:138;8802:40;8833:8;8802:30;:40::i;:::-;8896:50;8923:8;8933:12;:10;:12::i;:::-;8896:26;:50::i;:::-;8993:29;9025:59;9060:23;:8;451:5:20::0;2637:44:65;;2539:148;9060:23:97::1;-1:-1:-1::0;;9025:59:97::1;:34;:59::i;:::-;8993:91;;9090:36;9143:15;9166:23;9129:61;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9090:100;;9243:22;9227:40;;;;;;9196:72;;9334:27;9364:53;9395:21;9364:30;:53::i;:::-;9334:83:::0;-1:-1:-1;9428:40:97;;9424:111:::1;;9477:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3050:79:214;;9477:58:97::1;::::0;::::1;3032:98:214::0;3005:18;;9477:58:97::1;2888:248:214::0;9424:111:97::1;9619:41:::0;;::::1;::::0;::::1;::::0;9667:79:::1;9690:21:::0;9713:8;9619:41;9667:22:::1;:79::i;:::-;9810:72;9834:22;9858:23;9810;:72::i;:::-;9888:70;9912:21;9935:22;9888:23;:70::i;:::-;8548:1415;;;;8379:1584:::0;;;;:::o;5808:2236::-;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;5996:8:97;:37;::::1;;5992:138;;-1:-1:-1::0;;;6093:8:97::1;6103:19;:8;:17;:19::i;5992:138::-;578:36:65::0;2955:46;;-1:-1:-1;;;2954:74:65;6239:43:97::1;2954:74:65::0;6239:30:97::1;:43::i;:::-;6336:53;6363:11;6376:12;:10;:12::i;6336:53::-;6480:74;6505:6;6514:39;6480:16;:74::i;:::-;6647:9;6625:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6625:31:97::1;::::0;6621:98:::1;;6689:8;6699:19;:8;:17;:19::i;:::-;6665:54;;;;;;;;;;;;:::i;6621:98::-;6803:27;6833:36;6861:6;6833:19;:36::i;:::-;6803:66:::0;-1:-1:-1;6886:40:97;;;::::1;::::0;:110:::1;;;6987:8;6948:16;6930:66;;6886:110;6875:192;;;7018:42;::::0;::::1;::::0;;-1:-1:-1;;;;;707:55:214;;7018:42:97::1;::::0;::::1;689:74:214::0;662:18;;7018:42:97::1;543:226:214::0;6875:192:97::1;7131:22;7156:28;7175:8;7156:18;:28::i;:::-;7131:53:::0;-1:-1:-1;;;;;;7264:28:97;::::1;::::0;7260:411:::1;;7363:44;7392:14;7363:28;:44::i;:::-;7478:57;7507:11;7520:14;7478:28;:57::i;:::-;7260:411;;;7626:38;7649:8;7659:4;7626:22;:38::i;:::-;7758:53;7771:8;7789:6;7798:12;7758;:53::i;:::-;7883:46;7911:6;7920:8;7883:19;:46::i;:::-;7984:55;8004:11;8025:6;8034:4;7984:19;:55::i;:::-;5919:2125;;;5808:2236:::0;;;:::o;10369:1171::-;10554:28;1061:20:88;:18;:20::i;:::-;625:63:86::1;::::0;;-1:-1:-1;;;625:63:86::1;::::0;::::1;8608:92:214::0;662:14:86::1;8716:11:214::0;;;8709:100;;;8825:12;;;8818:101;10642:59:97::1;::::0;8935:12:214;625:63:86::1;;;;;;;;;;;;617:72;;;:::i;:::-;10688:12:97;:10;:12::i;10642:59::-;10820:22;10804:40;;;;;;10773:72;;10851:29;10906:23;10890:41;;;;;;10851:81;;10998:27;11028:53;11059:21;11028:30;:53::i;:::-;10998:83:::0;-1:-1:-1;11092:40:97;;11088:111:::1;;11141:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3050:79:214;;11141:58:97::1;::::0;::::1;3032:98:214::0;3005:18;;11141:58:97::1;2888:248:214::0;11088:111:97::1;11244:79;11267:21;11290:8;11300:22;11244;:79::i;:::-;11387:72;11411:22;11435:23;11387;:72::i;:::-;11465:70;11489:21;11512:22;11465:23;:70::i;:::-;10584:956;;10369:1171:::0;;;;;:::o;4742:388::-;1061:20:88;:18;:20::i;:::-;4899:50:97::1;4926:8;4936:12;:10;:12::i;4899:50::-;5044:81;1160:66:82;5094:8:97::0;5112:11;5044:27:::1;:81::i;:::-;4742:388:::0;;:::o;14857:466::-;1061:20:88;:18;:20::i;:::-;14998:29:97::1;15015:11;14998:16;:29::i;:::-;15072:43;15103:11;15072:30;:43::i;:::-;15169:53;15196:11;15209:12;:10;:12::i;15169:53::-;15266:52;15306:11;15266:39;:52::i;:::-;14857:466:::0;:::o;2536:736::-;1061:20:88;:18;:20::i;:::-;2673:29:97::1;2690:11;2673:16;:29::i;:::-;2767:34;2789:11;2767:21;:34::i;:::-;2854:35;2877:11;2854:22;:35::i;:::-;2850:127;;;2934:11;2947:22;:11;:20;:22::i;:::-;2906:64;;;;;;;;;;;;:::i;2850:127::-;3021:41;3044:11;3057:4;3021:22;:41::i;:::-;3115:46;3135:11;3148:12;:10;:12::i;:::-;3115:19;:46::i;:::-;3215:52;3235:11;3248:12;:10;:12::i;:::-;3262:4;3215:19;:52::i;13528:1145::-:0;1061:20:88;:18;:20::i;:::-;13742:29:97::1;13759:11;13742:16;:29::i;:::-;13833:41;13854:19;13833:20;:41::i;:::-;13828:107;;13891:37;;;;;;;;;;;;;;13828:107;13988:53;14015:11;14028:12;:10;:12::i;13988:53::-;14140:25;14168:39;14187:19;14168:18;:39::i;:::-;14140:67;;14213:73;14230:17;14249:36;14213:16;:73::i;:::-;14332:65;14364:11;14377:19;14332:31;:65::i;:::-;14468:19:::0;;:23;14464:205:::1;;14501:161;14552:12;:10;:12::i;14464:205::-;13688:985;13528:1145:::0;;;:::o;12987:223::-;1061:20:88;:18;:20::i;:::-;13120:85:97::1;13168:12;:10;:12::i;:::-;13193:9;13120:34;:85::i;3576:936::-:0;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;3801:8:97;:37;::::1;;3797:138;;-1:-1:-1::0;;;3898:8:97::1;3908:19;:8;:17;:19::i;3797:138::-;4016:69;4041:11;4055:29;4016:16;:69::i;:::-;4127:40;4158:8;4127:30;:40::i;:::-;4221:57;-1:-1:-1::0;;;578:36:65;2955:46;;2954:74;4221:30:97::1;:57::i;:::-;4328:50;4355:8;4365:12;:10;:12::i;4328:50::-;4410:97;4427:8:::0;-1:-1:-1;;1053:20:4;;;;1045:29;1077:30;;;;;;1045:62;4410:16:97::1;:97::i;1942:98:64:-:0;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:64;3325:45;2992:383;:::o;1179:189:88:-;-1:-1:-1;;;;;1265:6:88;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;6156:426:85:-;6284:16;;;6298:1;6284:16;;;;;;;;6255:26;;6284:16;;;;;;;;;;-1:-1:-1;6284:16:85;6255:45;;6345:9;-1:-1:-1;;;;;6329:27:85;6321:36;;6306:9;6316:1;6306:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6402:9;-1:-1:-1;;;;;6386:27:85;6378:36;;6363:9;6373:1;6363:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6421:156;1175:66;1159:83;;6469:9;6486:1;6530:19;6495:56;;;;;;9638:19:214;;9682:2;9673:12;;9509:182;6495:56:85;;;;-1:-1:-1;;6495:56:85;;;;;;;;;-1:-1:-1;;;6421:24:85;:156::i;1509:162:47:-;1583:4;810:53;;;1602:64;;;;;1634:32;1646:19;1634:11;:32::i;:::-;1633:33;1595:71;1509:162;-1:-1:-1;;1509:162:47:o;3073:307:84:-;3188:16;;;3202:1;3188:16;;;;;;;;;3137:14;;;;3188:16;;;;;;;;;;;;-1:-1:-1;3188:16:84;3159:45;;3243:8;3210:9;3220:1;3210:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3259:13;3275:62;1152:66;3310:9;3259:13;1281:66;3275:24;:62::i;:::-;3351:23;;;3073:307;-1:-1:-1;;;;3073:307:84:o;692:238:99:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;9886:55:214;;853:70:99;;;9868:74:214;-1:-1:-1;;;;;;9978:79:214;;9958:18;;;9951:107;9841:18;;853:70:99;9696:368:214;5258:401:61;5402:17;5428:12;5442:23;5469:115;5499:6;5543:8;5569;5520:5;5469:13;:115::i;:::-;5427:157;;;;5595:7;5590:41;;5604:27;5620:10;5604:15;:27::i;:::-;5644:10;5258:401;-1:-1:-1;;;;;;5258:401:61:o;3486:592:65:-;3550:13;3620:10;451:5:20;2637:44:65;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:65;-1:-1:-1;;3839:35:65;;;:102;;3888:53;-1:-1:-1;;3888:53:65;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:65;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;2602:206:46:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;2140:233::-;-1:-1:-1;;;;;2225:58:46;;:48;-1:-1:-1;;;578:36:65;2955:46;;2954:74;2225:19:46;:48::i;:::-;-1:-1:-1;;;;;2225:58:46;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;1862:325:65:-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:65;;3261:1:2;3257:13;;3253:24;2007:42:65;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;11485:79:214;;2092:30:65;;;11473:92:214;2092:30:65;;11581:12:214;;;;2092:30:65;;;875:21:2;;;2092:30:65;2142:39;2128:54;1862:325;-1:-1:-1;;;;1862:325:65:o;3147:332:75:-;3278:16;;;3292:1;3278:16;;;;;;;;;3222:19;;;;3278:16;;;;;;;;;;;;-1:-1:-1;3278:16:75;3249:45;;3323:21;3315:30;;;3300:9;3310:1;3300:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3352:13;3368:62;1171:66;3403:9;3352:13;1300:66;3368:24;:62::i;7384:464::-;7495:24;7522:46;7535:8;7545:22;7522:12;:46::i;:::-;7671:16;;;7685:1;7671:16;;;;;;;;;7495:73;;-1:-1:-1;7575:29:75;;7610:25;;7575:29;;7671:16;;;;;;;;;;;;-1:-1:-1;7671:16:75;7642:45;;7716:21;7708:30;;;7693:9;7703:1;7693:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;7745:98;1171:66;7775:9;7786:11;7799:15;7816:12;1300:66;7745:19;:98::i;:::-;7489:359;;;;7384:464;;;:::o;3184:455:76:-;3271:24;3301:29;3333:32;3347:17;3333:13;:32::i;:::-;3301:64;;3371:25;3399:32;3413:17;3399:13;:32::i;:::-;3467:16;;;3481:1;3467:16;;;;;;;;;3371:60;;-1:-1:-1;3438:26:76;;3467:16;;;;;;;;;;;;-1:-1:-1;3467:16:76;3438:45;;3512:16;3504:25;;;3489:9;3499:1;3489:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3536:98;1092:66;3566:9;3577:11;3590:15;3607:12;1221:66;3536:19;:98::i;3165:160:65:-;3228:7;3292:26;438:6;451:5:20;3292:26:65;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:65:o;3784:313:83:-;3893:16;;;3907:1;3893:16;;;;;;;;;3837:19;;;;3893:16;;;;;;;;;;;;-1:-1:-1;3893:16:83;3864:45;;3954:6;-1:-1:-1;;;;;3938:24:83;3930:33;;3915:9;3925:1;3915:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3970:13;3986:62;1166:66;4021:9;3970:13;-1:-1:-1;;;3986:24:83;:62::i;5762:222::-;5845:16;;;5859:1;5845:16;;;;;;;;;5816:26;;5845:16;;;;;;;;;;;-1:-1:-1;5845:16:83;5816:45;;5906:6;-1:-1:-1;;;;;5890:24:83;5882:33;;5867:9;5877:1;5867:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5922:57;1166:66;5955:9;-1:-1:-1;;;5922:22:83;:57::i;6291:295:81:-;6397:16;;;6411:1;6397:16;;;;;;;;6368:26;;6397:16;;;;;;;;;;-1:-1:-1;6397:16:81;6368:45;;6452:10;6419:9;6429:1;6419:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6508:6;-1:-1:-1;;;;;6492:24:81;6484:33;;6469:9;6479:1;6469:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6524:57;1166:66;6557:9;-1:-1:-1;;;6524:22:81;:57::i;4219:268:31:-;4319:16;;;4333:1;4319:16;;;;;;;;;4290:26;;4319:16;;;;;;;;;;;-1:-1:-1;4319:16:31;4290:45;;4374:10;4341:9;4351:1;4341:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4392:90;970:66;954:83;;4427:9;4438:1;4459:6;4441:26;;;;;;12074:14:214;12067:22;12062:3;12058:32;12046:45;;12116:1;12107:11;;11923:201;4441:26:31;;;;-1:-1:-1;;4441:26:31;;;;;;;;;-1:-1:-1;;;4392:24:31;:90::i;6910:423:84:-;6995:24;7022:34;7035:6;7043:12;7022;:34::i;:::-;7159:16;;;7173:1;7159:16;;;;;;;;;6995:61;;-1:-1:-1;7063:29:84;;7098:25;;7063:29;;7159:16;;;;;;;;;;;;-1:-1:-1;7159:16:84;7130:45;;7214:8;7181:9;7191:1;7181:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7230:98;1152:66;7260:9;7271:11;7284:15;7301:12;1281:66;7230:19;:98::i;5145:286:83:-;5240:16;;;5254:1;5240:16;;;;;;;;;5211:26;;5240:16;;;;;;;;;;;-1:-1:-1;5240:16:83;5211:45;;5301:6;-1:-1:-1;;;;;5285:24:83;5277:33;;5262:9;5272:1;5262:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5317:109;1166:66;1150:83;;5352:9;5363:1;5401:8;5366:45;;;;;;9638:19:214;;9682:2;9673:12;;9509:182;5555:332:81;5665:16;;;5679:1;5665:16;;;;;;;;5636:26;;5665:16;;;;;;;;;;-1:-1:-1;5665:16:81;5636:45;;5720:10;5687:9;5697:1;5687:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5776:6;-1:-1:-1;;;;;5760:24:81;5752:33;;5737:9;5747:1;5737:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5792:90;1166:66;1150:83;;5827:9;5838:1;5859:6;5841:26;;;;;;12074:14:214;12067:22;12062:3;12058:32;12046:45;;12116:1;12107:11;;11923:201;1474:1069:4;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:4;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:4;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:4;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;596:401:100:-;-1:-1:-1;;;578:36:65;2955:46;;2954:74;821:10:100;803:79;799:196;;-1:-1:-1;;;956:10:100;968:21;:10;:19;:21::i;5970:214:79:-;6060:16;;;6074:1;6060:16;;;;;;;;;6031:26;;6060:16;;;;;;;;;;;-1:-1:-1;6060:16:79;6031:45;;6115:11;6082:9;6092:1;6082:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6134;1180:66;6169:9;6134:24;:45::i;648:795:101:-;776:17;796:25;:10;451:5:20;2637:44:65;;2539:148;796:25:101;776:45;-1:-1:-1;825:30:101;858:45;-1:-1:-1;;858:45:101;;:34;:45::i;:::-;940:30;;825:78;;-1:-1:-1;979:26:101;;975:466;;1017:68;1039:16;1058:26;1083:1;1058:22;:26;:::i;:::-;2742:27:2;2756:4;2742:27;2736:34;;2612:168;1017:68:101;:75;;;;1013:149;;1109:46;;;;;-1:-1:-1;;12426:79:214;;1109:46:101;;;12408:98:214;12381:18;;1109:46:101;12262:250:214;1013:149:101;1173:9;1168:269;1188:26;1213:1;1188:22;:26;:::i;:::-;1184:1;:30;1168:269;;;2756:4:2;2742:27;;;;2736:34;1242:50:101;;;;;:108;;;;-1:-1:-1;1296:47:101;1318:16;1337:5;:1;1341;1337:5;:::i;1296:47::-;:54;;;;;1242:108;1229:202;;;1376:46;;;;;-1:-1:-1;;12426:79:214;;1376:46:101;;;12408:98:214;12381:18;;1376:46:101;12262:250:214;1229:202:101;1216:3;;1168:269;;2855:314:31;2969:16;;;2983:1;2969:16;;;;;;;;;2921:11;;;;2969:16;;;;;;;;;;;;-1:-1:-1;2969:16:31;2940:45;;3024:10;2991:9;3001:1;2991:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3042:13;3058:62;970:66;3093:9;3042:13;-1:-1:-1;;;3058:24:31;:62::i;:::-;3042:78;;3134:29;3155:5;3142:20;;1650:10:20;1541:126;5020:265:80;5117:16;;;5131:1;5117:16;;;;;;;;;5088:26;;5117:16;;;;;;;;;;;-1:-1:-1;5117:16:80;5088:45;;5172:11;5139:9;5149:1;5139:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5191:89;1166:66;1150:83;;5226:9;5237:1;5258:5;5240:25;;;;;;;12666:2:214;12662:15;;;;-1:-1:-1;;12658:88:214;12646:101;;12772:2;12763:12;;12517:264;5240:25:80;;;;-1:-1:-1;;5240:25:80;;;;;;;;;1295:66;5191:24;:89::i;5560:349:79:-;5674:16;;;5688:1;5674:16;;;;;;;;;5645:26;;5674:16;;;;;;;;;;;-1:-1:-1;5674:16:79;5645:45;;5729:11;5696:9;5706:1;5696:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5748:156;1180:66;1164:83;;5796:9;5813:1;5857:19;5822:56;;;;;;9638:19:214;;9682:2;9673:12;;9509:182;6643:291:85;6747:16;;;6761:1;6747:16;;;;;;;;6718:26;;6747:16;;;;;;;;;;-1:-1:-1;6747:16:85;6718:45;;6808:9;-1:-1:-1;;;;;6792:27:85;6784:36;;6769:9;6779:1;6769:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6865:9;-1:-1:-1;;;;;6849:27:85;6841:36;;6826:9;6836:1;6826:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;6884:45;1175:66;6919:9;6884:24;:45::i;9574:257:82:-;9671:16;;;9685:1;9671:16;;;;;;;;;9642:26;;9671:16;;;;;;;;;;;-1:-1:-1;9671:16:82;9642:45;;9726:8;9693:9;9703:1;9693:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;9742:84;1160:66;1144:83;;9783:9;9794:1;9815:8;9797:28;;;;;;;12939:66:214;12927:79;;;;12915:92;;13032:2;13023:12;;12786:255;9797:28:82;;;;;;;;;;;;;9742:30;:84::i;4048:97:64:-;4089:7;4111:29;:27;:29::i;22785:355:24:-;22957:178;22991:7;23016:8;23046:63;23085:11;23098:10;23046:38;:63::i;:::-;23124:4;22957:16;:178::i;1129:181:47:-;764:71:86;;;-1:-1:-1;;;764:71:86;;;8608:92:214;1205:4:47;8716:11:214;;;8709:100;;;814:20:86;8825:12:214;;;8818:101;1205:4:47;8935:12:214;764:71:86;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:47;;;;1129:181;-1:-1:-1;1129:181:47:o;35844:541:24:-;36001:7;36138:242;36182:59;36223:7;36232:8;36182:40;:59::i;:::-;36259:31;;;;4322:19:3;:27;579:1:34;4321:44:3;4287:79;;;4274:93;36308:63:24;36347:11;36360:10;36308:38;:63::i;:::-;36138:17;:242::i;:::-;36125:255;35844:541;-1:-1:-1;;;;;35844:541:24:o;1312:272:49:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;:::-;1491:88;1312:272;-1:-1:-1;;;1312:272:49:o;3782:1003:61:-;3918:12;3932:17;3981:22;4006:26;4023:8;4006:16;:26::i;:::-;3981:51;;4109:9;4104:228;4124:5;:12;4120:1;:16;4104:228;;;4151:9;4173:5;4179:1;4173:8;;;;;;;;:::i;:::-;;;;;;;4151:31;;4194:34;458:6:103;4194:4:61;:14;;;;;:34;;;;:::i;:::-;4190:136;;;4240:77;;;;;3536:35:4;;;;;4240:49:61;;:77;;4290:6;;4298:8;;4308;;4240:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4190:136;-1:-1:-1;4138:3:61;;4104:228;;;;4407:78;4422:6;4437:5;4454:8;4474;4407:4;:78::i;:::-;4389:96;;-1:-1:-1;4389:96:61;-1:-1:-1;4560:9:61;4555:226;4575:5;:12;4571:1;:16;4555:226;;;4602:9;4624:5;4630:1;4624:8;;;;;;;;:::i;:::-;;;;;;;4602:31;;4645:33;586:6:103;4645:4:61;:14;;;;;:33;;;;:::i;:::-;4641:134;;;4690:76;;;;;3536:35:4;;;;;4690:48:61;;:76;;4739:6;;4747:8;;4757;;4690:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:134;-1:-1:-1;4589:3:61;;4555:226;;;;3951:834;3782:1003;;;;;;;:::o;348:217:102:-;551:6;545:13;538:4;530:6;526:17;519:40;3747:306:80;3858:16;;;3872:1;3858:16;;;;;;;;;3808:13;;;;3858:16;;;;;;;;;;;;-1:-1:-1;3858:16:80;3829:45;;3913:11;3880:9;3890:1;3880:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3932:13;3948:62;1166:66;3983:9;3932:13;1295:66;3948:24;:62::i;9326:179:75:-;9423:12;9467:8;9477:22;9450:50;;;;;;;;13677:19:214;;;-1:-1:-1;;;;;;13726:79:214;13721:2;13712:12;;13705:101;13831:2;13822:12;;13491:349;9450:50:75;;;;;;;;;;;;;9443:57;;9326:179;;;;:::o;12891:3164:24:-;13185:23;13164:7;:44;;;13160:211;;13291:7;13262:88;13300:8;13310:10;13322:14;13338:11;13262:88;;;;;;;;;:::i;:::-;;;;;;;;13358:7;;13160:211;13509:22;13534:24;13550:7;13534:15;:24::i;:::-;13509:49;;13569:9;13564:340;13584:5;:12;13580:1;:16;13564:340;;;13611:9;13633:5;13639:1;13633:8;;;;;;;;:::i;:::-;;;;;;;13611:31;;13654:33;409:6:36;13654:4:24;:14;;;;;:33;;;;:::i;:::-;13650:248;;;13699:190;;;;;3536:35:4;;;;;13699:47:24;;:190;;13758:7;;13777:8;;13797:10;;13819:14;;13845:11;;13868;;13699:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13650:248;-1:-1:-1;13598:3:24;;13564:340;;;;13981:7;13952:88;13990:8;14000:10;14012:14;14028:11;13952:88;;;;;;;;;:::i;:::-;;;;;;;;14104:26;14133:59;14174:7;14183:8;14133:40;:59::i;:::-;14104:88;-1:-1:-1;14198:21:24;894:4:18;884:15;;14198:54:24;;14258:149;14296:18;14330:1;14347:10;:17;14387:13;14258;:149::i;:::-;14507:1;14474:30;:11;:28;:30::i;:::-;:34;14470:1174;;;14593:33;14629:66;14677:7;14686:8;14629:47;:66::i;:::-;695:28:23;;;14593:102:24;-1:-1:-1;894:4:18;884:15;;14869:47:24;;15025:27;15060:25;15098:7;15093:545;15111:30;:11;:28;:30::i;:::-;15107:1;:34;;;15093:545;;;15177:63;15219:7;15228:8;15238:1;15177:41;:63::i;:::-;15155:85;-1:-1:-1;15270:25:24;:14;15293:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;15270:25:24;15250:45;;15305:170;15347:19;15386:1;15407:17;15451:13;15305;:170::i;:::-;15485:34;15502:17;15485:34;;:::i;:::-;;-1:-1:-1;15616:3:24;;15093:545;;;;14510:1134;;;14470:1174;15718:9;15713:338;15733:5;:12;15729:1;:16;15713:338;;;15760:9;15782:5;15788:1;15782:8;;;;;;;;:::i;:::-;;;;;;;15760:31;;15803:32;503:6:36;15803:4:24;:14;;;;;:32;;;;:::i;:::-;15799:246;;;15847:189;;;;;3536:35:4;;;;;15847:46:24;;:189;;15905:7;;15924:8;;15944:10;;15966:14;;15992:11;;16015;;15847:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15799:246;-1:-1:-1;15747:3:24;;15713:338;;;;13100:2955;;;12891:3164;;;;;;:::o;5278:304:76:-;5357:29;5517:54;5545:17;5539:31;967:16:19;2053:39;;;2035:58;;1896:263;5747:155:76;5826:12;5877:17;5853:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;5846:51;;5747:155;;;:::o;25973:1804:24:-;26161:23;26140:7;:44;;;26136:173;;26270:7;26238:50;26279:8;26238:50;;;;;;:::i;:::-;;;;;;;;25973:1804;;;:::o;26136:173::-;26450:22;26475:24;26491:7;26475:15;:24::i;:::-;26450:49;;26510:9;26505:235;26525:5;:12;26521:1;:16;26505:235;;;26552:9;26574:5;26580:1;26574:8;;;;;;;;:::i;:::-;;;;;;;26552:31;;26595:36;1049:6:36;26595:4:24;:14;;;;;:36;;;;:::i;:::-;26591:143;;;26643:82;;;;;3536:35:4;;;;;26643:50:24;;:82;;26694:7;;26703:8;;26713:11;;26643:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26591:143;-1:-1:-1;26539:3:24;;26505:235;;;;26820:7;26788:50;26829:8;26788:50;;;;;;:::i;:::-;;;;;;;;26871:26;26900:59;26941:7;26950:8;26900:40;:59::i;:::-;26871:88;;26965:113;26997:18;27025:1;27044:30;:11;:28;:30::i;:::-;27034:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27034:41:24;;26965:13;:113::i;:::-;27297:1;27264:30;:11;:28;:30::i;:::-;:34;27260:236;;;27308:33;27344:66;27392:7;27401:8;27344:47;:66::i;:::-;27308:102;;27418:71;27449:25;27484:2;27418:12;:71::i;:::-;27300:196;27260:236;27545:9;27540:233;27560:5;:12;27556:1;:16;27540:233;;;27587:9;27609:5;27615:1;27609:8;;;;;;;;:::i;:::-;;;;;;;27587:31;;27630:35;1149:6:36;27630:4:24;:14;;;;;:35;;;;:::i;:::-;27626:141;;;27677:81;;;;;3536:35:4;;;;;27677:49:24;;:81;;27727:7;;27736:8;;27746:11;;27677:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27626:141;-1:-1:-1;27574:3:24;;27540:233;;8739:150:84;8846:38;;8819:12;17082:15:214;;;-1:-1:-1;;17078:88:214;8846:38:84;;;17066:101:214;17213:14;;17206:22;17201:3;17197:32;17183:12;;;17176:54;8819:12:84;17246::214;;8846:38:84;16915:349:214;3524:369:30;3664:16;;;3678:1;3664:16;;;;;;;;;3605:22;;3635:26;;3664:16;;;;;;;;;;;;-1:-1:-1;3664:16:30;3635:45;;3719:10;3686:9;3696:1;3686:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3737:18;3758:49;3784:8;3794:9;3805:1;3758:25;:49::i;:::-;3737:70;;3821:66;:44;3842:5;3849:1;3852:5;:12;3821:20;:44::i;:::-;:64;:66::i;4911:282::-;5037:16;;;5051:1;5037:16;;;;;;;;;5008:26;;5037:16;;;;;;;;;;;-1:-1:-1;5037:16:30;5008:45;;5092:10;5059:9;5069:1;5059:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5110:78;5136:8;5146:9;5157:1;5160:27;5180:5;5160:18;:27::i;:::-;5110:25;:78::i;13842:301:28:-;13926:21;13950:17;:15;:17::i;:::-;13926:41;-1:-1:-1;14002:4:28;-1:-1:-1;;;;;13977:30:28;;;13973:166;;14017:41;14040:7;14049:8;14017:22;:41::i;13973:166::-;14079:53;;;;;-1:-1:-1;;;;;14079:34:28;;;;;:53;;14114:7;;14123:8;;14079:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12340:451;12500:21;12524:17;:15;:17::i;:::-;12500:41;-1:-1:-1;12576:4:28;-1:-1:-1;;;;;12551:30:28;;;12547:240;;12591:78;12620:7;12629:8;12639:17;12658:10;12591:28;:78::i;:::-;12547:240;;;12690:90;;;;;-1:-1:-1;;;;;12690:40:28;;;;;:90;;12731:7;;12740:8;;12750:17;;12769:10;;12690:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12494:297;12340:451;;;;:::o;1832:227::-;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:28;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:28:o;51493:242:24:-;51589:7;;;51628:84;51648:10;51644:14;;:1;:14;51628:84;;;51673:32;4274:93:3;4322:19;:27;;;579:1:34;4321:44:3;4287:79;;;4274:93;51673:32:24;;:::i;:::-;;-1:-1:-1;51660:3:24;;51628:84;;;-1:-1:-1;51724:6:24;51493:242;-1:-1:-1;;;51493:242:24:o;16691:1682::-;16891:23;16870:7;:44;;;16866:235;;17024:7;16977:103;17043:8;17060:5;17073:4;16977:103;;;;;;;;:::i;:::-;;;;;;;;17088:7;;16866:235;17107:16;17126:59;17167:7;17176:8;17126:40;:59::i;:::-;17107:78;;17331:22;17356:24;17372:7;17356:15;:24::i;:::-;17331:49;;17391:9;17386:328;17406:5;:12;17402:1;:16;17386:328;;;17433:9;17455:5;17461:1;17455:8;;;;;;;;:::i;:::-;;;;;;;17433:31;;17476:41;614:6:36;17476:4:24;:14;;;;;:41;;;;:::i;:::-;17472:236;;;17529:170;;;;;3536:35:4;;;;;17529:54:24;;:170;;17605:7;;17634:8;;17661:5;;17684:4;;17529:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17472:236;-1:-1:-1;17420:3:24;;17386:328;;;;17818:7;17771:103;17837:8;17854:5;17867:4;17771:103;;;;;;;;:::i;:::-;;;;;;;;17924:70;17956:8;17974:5;17924:70;;17987:4;17924:13;:70::i;:::-;18048:9;18043:326;18063:5;:12;18059:1;:16;18043:326;;;18090:9;18112:5;18118:1;18112:8;;;;;;;;:::i;:::-;;;;;;;18090:31;;18133:40;723:6:36;18133:4:24;:14;;;;;:40;;;;:::i;:::-;18129:234;;;18185:169;;;;;3536:35:4;;;;;18185:53:24;;:169;;18260:7;;18289:8;;18316:5;;18339:4;;18185:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18129:234;-1:-1:-1;18077:3:24;;18043:326;;50476:191;50578:7;50642;50651:8;50625:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50625:35:24;;;;;;;;;50615:46;;50625:35;50615:46;;;;42033:22;50608:53;;50476:191;-1:-1:-1;;;50476:191:24:o;8945:812:23:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:23;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;708:400:49:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:49;1073:7;-1:-1:-1;;;;;;4132:576:49;4295:56;;-1:-1:-1;;;;;;3050:79:214;;4295:56:49;;;3032:98:214;4234:4:49;;;;3005:18:214;;4295:56:49;;;-1:-1:-1;;4295:56:49;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:49;;-1:-1:-1;;4498:7:49;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:49:o;3854:344:82:-;3971:16;;;3985:1;3971:16;;;;;;;;;3912:22;;3942:26;;3971:16;;;;;;;;;;;;-1:-1:-1;3971:16:82;3942:45;;4026:8;3993:9;4003:1;3993:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4042:18;4063:49;1160:66;4099:9;4042:18;4063:25;:49::i;:::-;4042:70;;4126:66;:44;4147:5;4154:1;4157:5;:12;4126:20;:44::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1761:1386:61:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:61;-1:-1:-1;;;;;;2067:27:61;;2063:106;;2139:8;2149:19;:8;:17;:19::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:65;2955:46;;-1:-1:-1;;;2954:74:65;2432:22:61;2515:26;2954:74:65;2515:13:61;:26::i;:::-;2490:51;-1:-1:-1;2549:50:61;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:20;2637:44:65;;2539:148;2681:23:61;-1:-1:-1;;2681:41:61;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:61;-1:-1:-1;;;;;;;1761:1386:61:o;3655:342:32:-;3771:16;;;3785:1;3771:16;;;;;;;;;3712:22;;3742:26;;3771:16;;;;;;;;;;;;-1:-1:-1;3771:16:32;3742:45;;3826:7;3793:9;3803:1;3793:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3841:18;3862:49;968:66;3898:9;3841:18;3862:25;:49::i;1489:2340:23:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:34;804:25:35;;782:48;2208:18:23;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:23;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:23;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;3761:21:23;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:23;;;;:::o;5376:173:3:-;5450:7;579:1:34;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1684:38;;;;:::i;:::-;5486:11:3;5465:79;5478:65;;5465:79;;5376:173;-1:-1:-1;;5376:173:3:o;53041:230:24:-;53162:7;53246;53255:8;53229:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53229:35:24;;;;;;;;;53219:46;;53229:35;53219:46;;;;42196:40;53192:73;;53041:230;-1:-1:-1;;;53041:230:24:o;52412:274::-;52556:7;52661;52670:8;52644:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52634:46;;;;;;52613:17;52606:25;;52586:45;;;42105:34;52586:45;:94;52578:103;;52571:110;;52412:274;;;;;:::o;4597:171:3:-;4671:7;579:1:34;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;4693:70:3;;;;;4597:171;-1:-1:-1;4597:171:3:o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:23;1055:5;:68::i;4032:370::-;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;36853:522:24;36989:12;37113:257;37152:79;37194:7;37203:8;37213:17;37152:41;:79::i;:::-;37249:1;37268:93;37343:17;37268:66;37316:7;37325:8;37268:47;:66::i;:::-;:74;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;37268:93:24;37113:12;:257::i;2003:574:22:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:22;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:22:o;40103:220:38:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;39802:222:39:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;23830:737:24:-;24081:36;24120:66;24168:7;24177:8;24120:47;:66::i;:::-;24081:105;-1:-1:-1;24192:26:24;24228:49;24081:105;24259:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;24228:49:24;24192:86;;24285:277;24339:7;24364:8;24399:17;24442:1;24464:19;24497:4;24533:22;24285:36;:277::i;25229:145::-;25313:56;25326:7;25335:8;25345:23;25360:7;25345:14;:23::i;:::-;25313:12;:56::i;28441:790::-;28700:36;28739:66;28787:7;28796:8;28739:47;:66::i;:::-;28700:105;-1:-1:-1;28811:26:24;28847:49;28700:105;28878:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;28847:49:24;28811:86;;28935:291;28989:7;29014:8;29049:17;29099:19;29140:1;29155:10;29197:22;28935:36;:291::i;5924:432:84:-;6052:16;;;6066:1;6052:16;;;;;;;;;5982:14;;;;;;6052:16;;;;;;;;;;;-1:-1:-1;6052:16:84;6023:45;;6107:8;6074:9;6084:1;6074:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6124:24;;;6210:78;1152:66;6253:9;1281:66;6210:19;:78::i;:::-;-1:-1:-1;;2756:4:2;2742:27;;2736:34;2742:27;;;;2736:34;7557:35:84;;;;;;7624:33;;;;;;-1:-1:-1;5924:432:84;-1:-1:-1;;;;;;5924:432:84:o;1546:281:46:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;3755:308:74:-;3868:16;;;3882:1;3868:16;;;;;;;;;3816:15;;;;3868:16;;;;;;;;;;;;-1:-1:-1;3868:16:74;3839:45;;3923:11;3890:9;3900:1;3890:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3942:13;3958:62;1154:66;3993:9;3942:13;-1:-1:-1;;;3958:24:74;:62::i;5054:269::-;5153:16;;;5167:1;5153:16;;;;;;;;;5124:26;;5153:16;;;;;;;;;;;-1:-1:-1;5153:16:74;5124:45;;5208:11;5175:9;5185:1;5175:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5227:91;1154:66;1138:83;;5262:9;5273:1;5294:7;5276:27;;;;;;9638:19:214;;9682:2;9673:12;;9509:182;5594:317:64;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:64;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:64;;;;-1:-1:-1;5594:317:64;-1:-1:-1;;;;;5594:317:64:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:64;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53609:301:24;53730:13;53822:82;53853:48;53883:7;53892:8;53853:29;:48::i;:::-;4711:21:23;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:23;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:40:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:40;2831:45;-1:-1:-1;692:17:22;3238:38;;2882:20:40;3044:11;3238:38:22;3044:11:40;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:40;1474:15;;-1:-1:-1;;5373:16:23;1531:32:40;;;5373:16:23;5369:32;1503:4:40;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;43926:3999:24;44344:14;44323:7;:35;;;44319:161;;44414:14;44430:7;44463;44446:25;;;;;;9638:19:214;;9682:2;9673:12;;9509:182;44446:25:24;;;;-1:-1:-1;;44446:25:24;;;;;;;;;;44375:98;;;;;;;;;;:::i;44319:161::-;44486:27;44516:49;:22;44547:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;44516:49:24;44486:79;;44571:26;44636:4;:11;44622;44600:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44571:76;;44919:18;44896:19;:41;;:98;;;;-1:-1:-1;44975:19:24;44941:30;44960:11;44941:16;:30;:::i;:::-;:53;;;;44896:98;44892:218;;;45011:92;;;;;21824:12:214;21863:15;;;45011:92:24;;;21845:34:214;21915:15;;;21895:18;;;21888:43;21967:15;;21947:18;;;21940:43;21787:18;;45011:92:24;21618:371:214;44892:218:24;45216:19;45197:16;:38;;;45193:140;;;45252:74;;;;;;;;22167:25:214;;;22240:12;22228:25;;22208:18;;;22201:53;22140:18;;45252:74:24;21994:266:214;45193:140:24;45372:35;45410:72;:22;45444:17;45463:18;45410:33;:72::i;:::-;45372:110;;45629:22;45654:24;45670:7;45654:15;:24::i;:::-;45629:49;;45689:9;45684:486;45704:5;:12;45700:1;:16;45684:486;;;45731:9;45753:5;45759:1;45753:8;;;;;;;;:::i;:::-;;;;;;;45731:31;;45774:42;836:6:36;45774:4:24;:14;;;;;:42;;;;:::i;:::-;45770:394;;;3536:35:4;;;;-1:-1:-1;;;;;45828:55:24;;45905:7;45934:8;45973:17;46020:16;46061:11;46100:22;46140:4;45828:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45770:394;-1:-1:-1;45718:3:24;;45684:486;;;-1:-1:-1;46228:32:24;;;:13;46368:107;46386:17;46382:21;;:1;:21;;;46368:107;;;46431:33;:22;46462:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;46431:33:24;46422:42;;;;46405:3;;46368:107;;;;46600:7;46544:277;46627:8;46664:17;46705:5;46734:11;46771:21;46808:4;46544:277;;;;;;;;;;;:::i;:::-;;;;;;;;46176:652;46913:18;46890:19;:41;46886:248;;46941:31;46975:48;47005:7;47014:8;46975:29;:48::i;:::-;695:28:23;;;-1:-1:-1;46886:248:24;47191:27;47221:61;47245:7;47254:8;47264:17;47221:23;:61::i;:::-;47191:91;;47290:92;47322:19;47351:16;47290:92;;47375:4;47290:13;:92::i;:::-;47183:206;47443:9;47438:483;47458:5;:12;47454:1;:16;47438:483;;;47485:9;47507:5;47513:1;47507:8;;;;;;;;:::i;:::-;;;;;;;47485:31;;47528:41;947:6:36;47528:4:24;:14;;;;;:41;;;;:::i;:::-;47524:391;;;3536:35:4;;;;-1:-1:-1;;;;;47581:54:24;;47657:7;47686:8;47725:17;47772:16;47813:11;47852:21;47891:4;47581:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47524:391;-1:-1:-1;47472:3:24;;47438:483;;;;44169:3756;;;;43926:3999;;;;;;;:::o;3998:652::-;4065:11;4301:64;;;4297:111;;-1:-1:-1;1339:66:33;;3998:652:24;-1:-1:-1;3998:652:24:o;4297:111::-;4452:185;4498:85;1210:66:33;4574:7:24;4498:40;:85::i;:::-;4603:2;4625:1;4452:17;:185::i;32433:1314::-;32563:23;32588:28;32618:24;32684:20;32707:30;:11;:28;:30::i;:::-;32684:53;;32798:65;32831:7;32840:8;32850:12;32798:32;:65::i;:::-;32785:78;;32927:24;32954:30;:11;:28;:30::i;:::-;32927:57;-1:-1:-1;32994:20:24;;32990:753;;33087:66;33135:7;33144:8;33087:47;:66::i;:::-;33070:83;-1:-1:-1;6395:59:19;;;33205:33:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33205:33:24;-1:-1:-1;33191:47:24;-1:-1:-1;894:4:18;884:15;;33246:21:24;33310:427;33328:16;33324:1;:20;;;33310:427;;;33361:27;33391:63;33433:7;33442:8;33452:1;33391:41;:63::i;:::-;33361:93;-1:-1:-1;33464:14:24;33481:25;:14;33504:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;33481:25:24;33464:42;;33516:110;33547:19;33576:1;33587:6;33610:13;33516:12;:110::i;:::-;33705:23;33722:6;33705:23;;:::i;:::-;;;33351:386;;33346:3;;;;;:::i;:::-;;;;33310:427;;;;33016:727;32990:753;32644:1103;;32433:1314;;;;;;;:::o;955:327:46:-;1036:4;1178:56;-1:-1:-1;;;578:36:65;2955:46;;2954:74;1227:6:46;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:64:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;6076:2380:23:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:23;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:23;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;8389:20:23;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:23;;;;:::o;7408:1509:19:-;7534:13;1137:16;7559:25;;7555:118;;;7601:65;;;;;;;;3823:25:214;;;3796:18;;7601:65:19;3677:177:214;7555:118:19;7735:13;6395:59;;;7012:16;;;1055;7012;967;7001:27;6961:68;;;6939:92;;7998:38;;;7994:192;;8081:19;8063:15;:37;8048:52;;;;7994:192;;;8162:15;8140:19;:37;8125:52;;;;7994:192;-1:-1:-1;8502:16:19;967;1055;8369;;;;8358:27;8494:35;;;8808:5;8647:26;8628:45;;;;8627:61;;;8789:24;;;;8818:34;;;;;8788:65;;-1:-1:-1;7408:1509:19;;;;;:::o;50919:282:24:-;51164:30;;;;;;24864:19:214;;;24899:12;;;24892:28;;;51007:7:24;;24936:12:214;;51164:30:24;24676:278:214;48493:360:24;48619:12;48643:6;48653:1;48643:11;48639:26;;-1:-1:-1;48656:9:24;;;;;;;;;-1:-1:-1;48656:9:24;;;;48639:26;48706:16;48725:41;48748:7;48757:8;48725:22;:41::i;:::-;48706:60;;48779:69;48810:8;48828:1;48839:6;48779:12;:69::i;4003:378:81:-;4127:16;;;4141:1;4127:16;;;;;;;;4079:11;;;;4127:16;4141:1;4127:16;;;;;;;;;;-1:-1:-1;4127:16:81;4098:45;;4182:10;4149:9;4159:1;4149:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4238:6;-1:-1:-1;;;;;4222:24:81;4214:33;;4199:9;4209:1;4199:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4254:13;4270:62;1166:66;4305:9;4254:13;-1:-1:-1;;;4270:24:81;:62::i;:::-;4254:78;;4346:29;4367:5;4354:20;;1650:10:20;1541:126;14:332:214;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;-1:-1:-1;;;;;;223:5:214;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:154;-1:-1:-1;;;;;853:5:214;849:54;842:5;839:65;829:93;;918:1;915;908:12;933:184;-1:-1:-1;;;982:1:214;975:88;1082:4;1079:1;1072:15;1106:4;1103:1;1096:15;1122:777;1164:5;1217:3;1210:4;1202:6;1198:17;1194:27;1184:55;;1235:1;1232;1225:12;1184:55;1271:6;1258:20;1297:18;1334:2;1330;1327:10;1324:36;;;1340:18;;:::i;:::-;1474:2;1468:9;1536:4;1528:13;;-1:-1:-1;;1524:22:214;;;1548:2;1520:31;1516:40;1504:53;;;1572:18;;;1592:22;;;1569:46;1566:72;;;1618:18;;:::i;:::-;1658:10;1654:2;1647:22;1693:2;1685:6;1678:18;1739:3;1732:4;1727:2;1719:6;1715:15;1711:26;1708:35;1705:55;;;1756:1;1753;1746:12;1705:55;1820:2;1813:4;1805:6;1801:17;1794:4;1786:6;1782:17;1769:54;1867:1;1860:4;1855:2;1847:6;1843:15;1839:26;1832:37;1887:6;1878:15;;;;;;1122:777;;;;:::o;1904:554::-;2021:6;2029;2037;2090:2;2078:9;2069:7;2065:23;2061:32;2058:52;;;2106:1;2103;2096:12;2058:52;2145:9;2132:23;2164:31;2189:5;2164:31;:::i;:::-;2214:5;-1:-1:-1;2266:2:214;2251:18;;2238:32;;-1:-1:-1;2321:2:214;2306:18;;2293:32;2348:18;2337:30;;2334:50;;;2380:1;2377;2370:12;2334:50;2403:49;2444:7;2435:6;2424:9;2420:22;2403:49;:::i;:::-;2393:59;;;1904:554;;;;;:::o;2463:420::-;2572:6;2580;2633:2;2621:9;2612:7;2608:23;2604:32;2601:52;;;2649:1;2646;2639:12;2601:52;2685:9;2672:23;2662:33;;2746:2;2735:9;2731:18;2718:32;2773:18;2765:6;2762:30;2759:50;;;2805:1;2802;2795:12;2759:50;2828:49;2869:7;2860:6;2849:9;2845:22;2828:49;:::i;:::-;2818:59;;;2463:420;;;;;:::o;3141:531::-;3262:6;3270;3278;3331:2;3319:9;3310:7;3306:23;3302:32;3299:52;;;3347:1;3344;3337:12;3299:52;3383:9;3370:23;3360:33;;3443:2;3432:9;3428:18;3415:32;3456:31;3481:5;3456:31;:::i;:::-;3506:5;-1:-1:-1;3563:2:214;3548:18;;3535:32;3605:15;;3598:23;3586:36;;3576:64;;3636:1;3633;3626:12;3576:64;3659:7;3649:17;;;3141:531;;;;;:::o;3859:640::-;3987:6;3995;4003;4056:2;4044:9;4035:7;4031:23;4027:32;4024:52;;;4072:1;4069;4062:12;4024:52;4108:9;4095:23;4085:33;;4169:2;4158:9;4154:18;4141:32;4192:18;4233:2;4225:6;4222:14;4219:34;;;4249:1;4246;4239:12;4219:34;4272:49;4313:7;4304:6;4293:9;4289:22;4272:49;:::i;:::-;4262:59;;4374:2;4363:9;4359:18;4346:32;4330:48;;4403:2;4393:8;4390:16;4387:36;;;4419:1;4416;4409:12;4387:36;;4442:51;4485:7;4474:8;4463:9;4459:24;4442:51;:::i;4504:367::-;4624:6;4632;4685:2;4673:9;4664:7;4660:23;4656:32;4653:52;;;4701:1;4698;4691:12;4653:52;4737:9;4724:23;4714:33;;4797:2;4786:9;4782:18;4769:32;4810:31;4835:5;4810:31;:::i;:::-;4860:5;4850:15;;;4504:367;;;;;:::o;4876:211::-;4966:6;5019:2;5007:9;4998:7;4994:23;4990:32;4987:52;;;5035:1;5032;5025:12;4987:52;-1:-1:-1;5058:23:214;;4876:211;-1:-1:-1;4876:211:214:o;5092:518::-;5240:6;5248;5256;5309:2;5297:9;5288:7;5284:23;5280:32;5277:52;;;5325:1;5322;5315:12;5277:52;5361:9;5348:23;5338:33;;5418:2;5407:9;5403:18;5390:32;5380:42;;5473:2;5462:9;5458:18;5445:32;5500:18;5492:6;5489:30;5486:50;;;5532:1;5529;5522:12;5615:247;5674:6;5727:2;5715:9;5706:7;5702:23;5698:32;5695:52;;;5743:1;5740;5733:12;5695:52;5782:9;5769:23;5801:31;5826:5;5801:31;:::i;5867:532::-;5994:6;6002;6010;6063:2;6051:9;6042:7;6038:23;6034:32;6031:52;;;6079:1;6076;6069:12;6031:52;6115:9;6102:23;6092:33;;6175:2;6164:9;6160:18;6147:32;6188:31;6213:5;6188:31;:::i;:::-;6238:5;-1:-1:-1;6295:2:214;6280:18;;6267:32;6343:4;6330:18;;6318:31;;6308:59;;6363:1;6360;6353:12;6404:250;6489:1;6499:113;6513:6;6510:1;6507:13;6499:113;;;6589:11;;;6583:18;6570:11;;;6563:39;6535:2;6528:10;6499:113;;;-1:-1:-1;;6646:1:214;6628:16;;6621:27;6404:250::o;6659:330::-;6701:3;6739:5;6733:12;6766:6;6761:3;6754:19;6782:76;6851:6;6844:4;6839:3;6835:14;6828:4;6821:5;6817:16;6782:76;:::i;:::-;6903:2;6891:15;-1:-1:-1;;6887:88:214;6878:98;;;;6978:4;6874:109;;6659:330;-1:-1:-1;;6659:330:214:o;6994:464::-;7240:66;7232:6;7228:79;7217:9;7210:98;7344:6;7339:2;7328:9;7324:18;7317:34;7387:2;7382;7371:9;7367:18;7360:30;7191:4;7407:45;7448:2;7437:9;7433:18;7425:6;7407:45;:::i;7463:630::-;7732:3;7770:6;7764:13;7786:66;7845:6;7840:3;7833:4;7825:6;7821:17;7786:66;:::i;:::-;7913:4;7874:16;;;7899:19;;;7943:13;;7965:78;7943:13;8030:1;8019:13;;8012:4;8000:17;;7965:78;:::i;:::-;8063:20;8085:1;8059:28;;7463:630;-1:-1:-1;;;;7463:630:214:o;8098:322::-;8306:6;8295:9;8288:25;8349:2;8344;8333:9;8329:18;8322:30;8269:4;8369:45;8410:2;8399:9;8395:18;8387:6;8369:45;:::i;8958:357::-;9076:12;;9123:4;9112:16;;;9106:23;;9076:12;9141:16;;9138:171;;;-1:-1:-1;;9221:6:214;9215:4;9211:17;9208:1;9204:25;9200:98;9193:5;9189:110;9180:119;;9138:171;;8958:357;;;:::o;9320:184::-;-1:-1:-1;;;9369:1:214;9362:88;9469:4;9466:1;9459:15;9493:4;9490:1;9483:15;10069:925;10518:66;10510:6;10506:79;10501:3;10494:92;10476:3;10605;10637:2;10633:1;10628:3;10624:11;10617:23;10669:6;10663:13;10685:74;10752:6;10748:1;10743:3;10739:11;10732:4;10724:6;10720:17;10685:74;:::i;:::-;10787:6;10782:3;10778:16;10768:26;;10822:2;10818:1;10814:2;10810:10;10803:22;10856:6;10850:13;10834:29;;10872:75;10938:8;10934:1;10930:2;10926:10;10919:4;10911:6;10907:17;10872:75;:::i;:::-;10967:17;10986:1;10963:25;;10069:925;-1:-1:-1;;;;;10069:925:214:o;10999:340::-;11176:2;11165:9;11158:21;11139:4;11196:45;11237:2;11226:9;11222:18;11214:6;11196:45;:::i;:::-;11188:53;;-1:-1:-1;;;;;11281:6:214;11277:55;11272:2;11261:9;11257:18;11250:83;10999:340;;;;;:::o;11604:184::-;-1:-1:-1;;;11653:1:214;11646:88;11753:4;11750:1;11743:15;11777:4;11774:1;11767:15;11793:125;11858:9;;;11879:10;;;11876:36;;;11892:18;;:::i;12129:128::-;12196:9;;;12217:11;;;12214:37;;;12231:18;;:::i;13046:440::-;-1:-1:-1;;;;;13284:6:214;13280:55;13269:9;13262:74;13372:6;13367:2;13356:9;13352:18;13345:34;13415:2;13410;13399:9;13395:18;13388:30;13243:4;13435:45;13476:2;13465:9;13461:18;13453:6;13435:45;:::i;13845:439::-;13898:3;13936:5;13930:12;13963:6;13958:3;13951:19;13989:4;14018;14013:3;14009:14;14002:21;;14057:4;14050:5;14046:16;14080:1;14090:169;14104:6;14101:1;14098:13;14090:169;;;14165:13;;14153:26;;14199:12;;;;14234:15;;;;14126:1;14119:9;14090:169;;;-1:-1:-1;14275:3:214;;13845:439;-1:-1:-1;;;;;13845:439:214:o;14289:690::-;14622:3;14611:9;14604:22;14585:4;14649:57;14701:3;14690:9;14686:19;14678:6;14649:57;:::i;:::-;14754:9;14746:6;14742:22;14737:2;14726:9;14722:18;14715:50;14788:33;14814:6;14806;14788:33;:::i;:::-;14774:47;;14857:6;14852:2;14841:9;14837:18;14830:34;14912:9;14904:6;14900:22;14895:2;14884:9;14880:18;14873:50;14940:33;14966:6;14958;14940:33;:::i;14984:897::-;15436:6;15425:9;15418:25;15479:3;15474:2;15463:9;15459:18;15452:31;15399:4;15506:57;15558:3;15547:9;15543:19;15535:6;15506:57;:::i;:::-;15611:9;15603:6;15599:22;15594:2;15583:9;15579:18;15572:50;15645:33;15671:6;15663;15645:33;:::i;:::-;15631:47;;15714:6;15709:2;15698:9;15694:18;15687:34;15770:9;15762:6;15758:22;15752:3;15741:9;15737:19;15730:51;15798:33;15824:6;15816;15798:33;:::i;:::-;15790:41;;;15868:6;15862:3;15851:9;15847:19;15840:35;14984:897;;;;;;;;;:::o;15886:287::-;16015:3;16053:6;16047:13;16069:66;16128:6;16123:3;16116:4;16108:6;16104:17;16069:66;:::i;:::-;16151:16;;;;;15886:287;-1:-1:-1;;15886:287:214:o;16178:261::-;16357:2;16346:9;16339:21;16320:4;16377:56;16429:2;16418:9;16414:18;16406:6;16377:56;:::i;16444:466::-;16742:6;16731:9;16724:25;16785:2;16780;16769:9;16765:18;16758:30;16705:4;16805:56;16857:2;16846:9;16842:18;16834:6;16805:56;:::i;:::-;16797:64;;16897:6;16892:2;16881:9;16877:18;16870:34;16444:466;;;;;;:::o;17269:363::-;17507:6;17496:9;17489:25;17550:2;17545;17534:9;17530:18;17523:30;17470:4;17570:56;17622:2;17611:9;17607:18;17599:6;17570:56;:::i;17637:604::-;17945:6;17934:9;17927:25;17988:3;17983:2;17972:9;17968:18;17961:31;17908:4;18015:57;18067:3;18056:9;18052:19;18044:6;18015:57;:::i;:::-;18120:4;18112:6;18108:17;18103:2;18092:9;18088:18;18081:45;18174:9;18166:6;18162:22;18157:2;18146:9;18142:18;18135:50;18202:33;18228:6;18220;18202:33;:::i;18246:512::-;18497:2;18486:9;18479:21;18460:4;18523:56;18575:2;18564:9;18560:18;18552:6;18523:56;:::i;:::-;18627:14;18619:6;18615:27;18610:2;18599:9;18595:18;18588:55;18691:9;18683:6;18679:22;18674:2;18663:9;18659:18;18652:50;18719:33;18745:6;18737;18719:33;:::i;18763:616::-;19073:6;19062:9;19055:25;19116:3;19111:2;19100:9;19096:18;19089:31;19036:4;19143:57;19195:3;19184:9;19180:19;19172:6;19143:57;:::i;:::-;19248:14;19240:6;19236:27;19231:2;19220:9;19216:18;19209:55;19312:9;19304:6;19300:22;19295:2;19284:9;19280:18;19273:50;19340:33;19366:6;19358;19340:33;:::i;19384:639::-;19634:6;19629:3;19622:19;19604:3;19660:2;19693;19688:3;19684:12;19725:6;19719:13;19790:2;19782:6;19778:15;19811:1;19821:175;19835:6;19832:1;19829:13;19821:175;;;19898:13;;19884:28;;19934:14;;;;19971:15;;;;19857:1;19850:9;19821:175;;;-1:-1:-1;20012:5:214;;19384:639;-1:-1:-1;;;;;;;19384:639:214:o;20028:184::-;-1:-1:-1;;;20077:1:214;20070:88;20177:4;20174:1;20167:15;20201:4;20198:1;20191:15;20217:168;20290:9;;;20321;;20338:15;;;20332:22;;20318:37;20308:71;;20359:18;;:::i;20390:274::-;20430:1;20456;20446:189;;-1:-1:-1;;;20488:1:214;20481:88;20592:4;20589:1;20582:15;20620:4;20617:1;20610:15;20446:189;-1:-1:-1;20649:9:214;;20390:274::o;20669:360::-;20872:2;20861:9;20854:21;20835:4;20892:45;20933:2;20922:9;20918:18;20910:6;20892:45;:::i;:::-;20968:2;20953:18;;20946:34;;;;-1:-1:-1;21011:2:214;20996:18;20989:34;20884:53;20669:360;-1:-1:-1;20669:360:214:o;21439:174::-;21506:12;21538:10;;;21550;;;21534:27;;21573:11;;;21570:37;;;21587:18;;:::i;:::-;21570:37;21439:174;;;;:::o;22265:899::-;22687:6;22676:9;22669:25;22730:3;22725:2;22714:9;22710:18;22703:31;22650:4;22757:57;22809:3;22798:9;22794:19;22786:6;22757:57;:::i;:::-;22862:4;22850:17;;22845:2;22830:18;;22823:45;22887:12;22935:15;;;22930:2;22915:18;;22908:43;22988:15;;22982:3;22967:19;;22960:44;23035:3;23020:19;;23013:35;;;23085:22;;;23079:3;23064:19;;23057:51;23125:33;23089:6;23143;23125:33;:::i;:::-;23117:41;22265:899;-1:-1:-1;;;;;;;;;;22265:899:214:o;23169:787::-;23532:3;23521:9;23514:22;23495:4;23559:57;23611:3;23600:9;23596:19;23588:6;23559:57;:::i;:::-;23664:4;23656:6;23652:17;23647:2;23636:9;23632:18;23625:45;23718:14;23710:6;23706:27;23701:2;23690:9;23686:18;23679:55;23782:12;23774:6;23770:25;23765:2;23754:9;23750:18;23743:53;23833:6;23827:3;23816:9;23812:19;23805:35;23889:9;23881:6;23877:22;23871:3;23860:9;23856:19;23849:51;23917:33;23943:6;23935;23917:33;:::i;:::-;23909:41;23169:787;-1:-1:-1;;;;;;;;;23169:787:214:o;23961:175::-;23998:3;24042:4;24035:5;24031:16;24071:4;24062:7;24059:17;24056:43;;24079:18;;:::i;:::-;24128:1;24115:15;;23961:175;-1:-1:-1;;23961:175:214:o;24141:530::-;24326:3;24364:6;24358:13;24380:66;24439:6;24434:3;24427:4;24419:6;24415:17;24380:66;:::i;:::-;24515:2;24511:15;;;;-1:-1:-1;;24507:88:214;24468:16;;;;24493:103;;;24623:2;24612:14;;24605:30;;;;24662:2;24651:14;;24141:530;-1:-1:-1;;24141:530:214:o","linkReferences":{},"immutableReferences":{"35577":[{"start":2637,"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,string)":"6548a90a","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\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"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\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract provides functions related to registering resources other than tables in the World.\",\"errors\":{\"PackedCounter_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the packed coutner.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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,string)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSignature\":\"The signature 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\":{\"PackedCounter_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided packed counter has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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,string)\":{\"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\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e\",\"dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol\":{\"keccak256\":\"0xb7fea790ba0b4897d68a6ad1b6272969762acda712f8e465655f0b4ea9d86c03\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4227afe9f8fae6c1e691105afd0cea4a17cfa079f55774547a6ae9bc125b4a37\",\"dweb:/ipfs/QmVA8i35XwNNkS2PCNGTvNSQutwFbVx8qYf5SqsqY9KhaV\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699\",\"dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xf1af17eb0d23488342f7addadecd166c58b21c8a7c2d942d9d57f0ee489463fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d35fceb7562a14c126b996c497a9bae51edc72a0a79aec1dc3ebe6921ea32021\",\"dweb:/ipfs/QmTRDmwg771nVBdjmd77didbDPaaXBY11hbPGXBumuH1XJ\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x5e50e8c87b09a34f8b4141adb779ccb25f37e8c102ee28dc85dd77db9993db82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d0ebfe462012320c7795ddd29ca9fc0ee738327a92507b776379aabd34324cf2\",\"dweb:/ipfs/QmacJ8TwoMekCWvv8LMrDRmBBMKkE6yRvAUBN4twWeLMCa\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a\",\"dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a\",\"dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"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\":\"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8\",\"dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8\",\"dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912\",\"dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xe5c0071b598577e12f02a423dc2185403cfa8c5a62926fbda83dc5d846cb612a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a2af2477805d80280401d3c6ffc57117e52e33492f8d3d57bee7fb37636658e\",\"dweb:/ipfs/QmeonwdLCzZVkDfLaLKcMZwTXfkVYXAgZptHbuKri2rtn3\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf\",\"dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd\",\"dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x510abaa82ed6cf548c88009008412bdae99d1f389901dff1f5a0fe829fba6c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73bc275a36ed2861d8b575956b8bbc657285a48e97c988d7430bc3d33f6e14e3\",\"dweb:/ipfs/QmaebcyKw2yPXyYXQqhsxSKixbtsFd35D4FCxoaXsnNMw1\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db\",\"dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b\",\"dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d\",\"dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73\",\"dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c\",\"dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62\",\"dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xc4d0de173640fcc0ec93b2a7fbdc17ce13964e42f3eaf9ba28ad274c422b4664\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82eef2fa01d32f953eaeb17665edc6557c5f42f101cf95a452af9266c39b9efd\",\"dweb:/ipfs/QmV7pYCFgvGxAacv1mKK7DUsayP4wPRPBTfsnatAxFJKdH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0\",\"dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi\"]},\"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\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xc267df948cb1efec454b25a6ffac1b81f0bd3c33cc590f13722af6cddef5e692\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3f156fdc7b29a1011f7745b57c9e08eb85e14596ff63918e91d9e1878dc0bf8\",\"dweb:/ipfs/Qmee2zDChY6qjXua9PwFA4tQvNVj5Dk33TCP1B8F65L6zJ\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0x361f8259c4a5ba355b2aad118befe00f7fe5169be730d6c0ca11ab7a863bd6fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccc850a1ea57e900d85e2c5fac02c36d55b42d2345b439ea7044ea42f5a49c01\",\"dweb:/ipfs/QmVShgn2FgTTg9QGnL5Fzhovowmu1C7fABKLJTxbewZzEG\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"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":"string","name":"systemFunctionSignature","type":"string"}],"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,string)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSignature":"The signature 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,string)":{"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2","urls":["bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e","dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"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/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol":{"keccak256":"0xb7fea790ba0b4897d68a6ad1b6272969762acda712f8e465655f0b4ea9d86c03","urls":["bzz-raw://4227afe9f8fae6c1e691105afd0cea4a17cfa079f55774547a6ae9bc125b4a37","dweb:/ipfs/QmVA8i35XwNNkS2PCNGTvNSQutwFbVx8qYf5SqsqY9KhaV"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d","urls":["bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699","dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xf1af17eb0d23488342f7addadecd166c58b21c8a7c2d942d9d57f0ee489463fb","urls":["bzz-raw://d35fceb7562a14c126b996c497a9bae51edc72a0a79aec1dc3ebe6921ea32021","dweb:/ipfs/QmTRDmwg771nVBdjmd77didbDPaaXBY11hbPGXBumuH1XJ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x5e50e8c87b09a34f8b4141adb779ccb25f37e8c102ee28dc85dd77db9993db82","urls":["bzz-raw://d0ebfe462012320c7795ddd29ca9fc0ee738327a92507b776379aabd34324cf2","dweb:/ipfs/QmacJ8TwoMekCWvv8LMrDRmBBMKkE6yRvAUBN4twWeLMCa"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7","urls":["bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a","dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721","urls":["bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a","dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"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":"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66","urls":["bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8","dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8","urls":["bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8","dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2","urls":["bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912","dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xe5c0071b598577e12f02a423dc2185403cfa8c5a62926fbda83dc5d846cb612a","urls":["bzz-raw://0a2af2477805d80280401d3c6ffc57117e52e33492f8d3d57bee7fb37636658e","dweb:/ipfs/QmeonwdLCzZVkDfLaLKcMZwTXfkVYXAgZptHbuKri2rtn3"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7","urls":["bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf","dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2","urls":["bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd","dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x510abaa82ed6cf548c88009008412bdae99d1f389901dff1f5a0fe829fba6c93","urls":["bzz-raw://73bc275a36ed2861d8b575956b8bbc657285a48e97c988d7430bc3d33f6e14e3","dweb:/ipfs/QmaebcyKw2yPXyYXQqhsxSKixbtsFd35D4FCxoaXsnNMw1"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02","urls":["bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db","dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867","urls":["bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b","dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c","urls":["bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d","dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa","urls":["bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73","dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b","urls":["bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c","dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91","urls":["bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62","dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xc4d0de173640fcc0ec93b2a7fbdc17ce13964e42f3eaf9ba28ad274c422b4664","urls":["bzz-raw://82eef2fa01d32f953eaeb17665edc6557c5f42f101cf95a452af9266c39b9efd","dweb:/ipfs/QmV7pYCFgvGxAacv1mKK7DUsayP4wPRPBTfsnatAxFJKdH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f","urls":["bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0","dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi"],"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":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xc267df948cb1efec454b25a6ffac1b81f0bd3c33cc590f13722af6cddef5e692","urls":["bzz-raw://e3f156fdc7b29a1011f7745b57c9e08eb85e14596ff63918e91d9e1878dc0bf8","dweb:/ipfs/Qmee2zDChY6qjXua9PwFA4tQvNVj5Dk33TCP1B8F65L6zJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0x361f8259c4a5ba355b2aad118befe00f7fe5169be730d6c0ca11ab7a863bd6fd","urls":["bzz-raw://ccc850a1ea57e900d85e2c5fac02c36d55b42d2345b439ea7044ea42f5a49c01","dweb:/ipfs/QmVShgn2FgTTg9QGnL5Fzhovowmu1C7fABKLJTxbewZzEG"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":97}
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 WorldContextConsumer"},{"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":"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":"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":"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_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":"0x608060405234801561001057600080fd5b50614790806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063742d611811610081578063bfdfaff71161005b578063bfdfaff7146101c1578063d5f8337f146101d4578063e1af802c146101e757600080fd5b8063742d611814610188578063a92813ad1461019b578063b29e4089146101ae57600080fd5b806326d98102116100b257806326d98102146101365780633350b6a91461016257806345ec93541461017557600080fd5b806301ffc9a7146100d9578063119df25f146101015780631d2257ba14610121575b600080fd5b6100ec6100e7366004613ece565b6101ef565b60405190151581526020015b60405180910390f35b610109610258565b6040516001600160a01b0390911681526020016100f8565b61013461012f366004613fa1565b610267565b005b610149610144366004613ffa565b6102e8565b6040516001600160e01b031990911681526020016100f8565b61013461017036600461404f565b6103ea565b604051601f1936013581526020016100f8565b610149610196366004614091565b610633565b6101346101a93660046140e8565b6106ee565b6101346101bc366004614118565b610765565b6101346101cf366004614131565b610821565b6101346101e236600461416b565b610904565b61010961096b565b60006001600160e01b031982167fb421288000000000000000000000000000000000000000000000000000000000148061025257506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6000610262610975565b905090565b610279610272610258565b84846109a7565b61028282610ad1565b801561028f575060008151115b156102e357600061029f83610aed565b5090506102cc817faea79dd000000000000000000000000000000000000000000000000000000000610be5565b6102e06102d7610258565b84846000610d0b565b50505b505050565b60006102fb836102f6610258565b610d38565b600061032461030a8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610dbe565b9050600061033961033486610e52565b610dbe565b90506000828286604051602001610352939291906141cc565b604051602081830303815290604052905080805190602001209350600061037885610e69565b905080156103c3576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319861660048201526024015b60405180910390fd5b855160208701206103d5868983610f58565b6103df8684611060565b505050505092915050565b7f7379000000000000000000000000000000000000000000000000000000000000837fffff0000000000000000000000000000000000000000000000000000000000001614610493577f73790000000000000000000000000000000000000000000000000000000000008361045e85611181565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103ba9392919061426e565b6104bd827fb421288000000000000000000000000000000000000000000000000000000000610be5565b60006104c884610e52565b6fffffffffffffffffffffffffffffffff19160361051e57826104ea84611181565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103ba9291906142af565b6000610529836112c5565b9050801580159061053a5750838114155b1561057c576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016103ba565b7dffffffffffffffffffffffffffff000000000000000000000000000000008416616e7360f01b176105ad816113a7565b6105bf576105ba81610765565b6105cb565b6105cb816102f6610258565b60006105d6866114a1565b90506001600160a01b038116156105ff576105f08161157c565b6105fa8282611650565b61060a565b61060a866001611743565b610615868686611853565b61061f8587611933565b61062b828660016119d3565b505050505050565b60408051616e7360f01b602082015260006022820181905260308201819052916106789101604051602081830303815290604052610670906142c8565b6102f6610258565b5081516020830120600061068b82610e69565b905080156106d1576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319831660048201526024016103ba565b6106dc828685610f58565b6106e68285611060565b509392505050565b6106fa826102f6610258565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f53797374656d486f6f6b730000000000000000000000000000000000000000006030820152610761910160405160208183030381529060405261075a906142c8565b8383611a92565b5050565b616e7360f01b817fffff00000000000000000000000000000000000000000000000000000000000016146107a357616e7360f01b8161045e83611181565b6107ac816113a7565b156107ef57806107bb82611181565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103ba9291906142af565b6107fa816001611743565b61080b81610806610258565b611bb9565b61081e81610817610258565b60016119d3565b50565b616e7360f01b837fffff000000000000000000000000000000000000000000000000000000000000161461085f57616e7360f01b8361045e85611181565b61086882610ad1565b61089e576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108aa836102f6610258565b60006108b583610aed565b5090506108e2817faea79dd000000000000000000000000000000000000000000000000000000000610be5565b6108ec8484611cb4565b8151156108fe576102e06102d7610258565b50505050565b61092e827f55f0760f00000000000000000000000000000000000000000000000000000000610be5565b61093a836102f6610258565b6102e3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611d48565b6000610262611e31565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806109a45750335b90565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b816000815181106109e8576109e86142ef565b602002602001018181525050826001600160a01b031660001b81600181518110610a1457610a146142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5573657244656c65676174696f6e436f0000000000000000000000000000000060308301526108fe91015b604051602081830303815290604052610a86906142c8565b82600085604051602001610a9c91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611e70565b600081151580156102525750610ae682611e85565b1592915050565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610b2757610b276142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d73000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009081908190610bc090610b9a906142c8565b857e15020014010000000000000000000000000000000000000000000000000000611f00565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081526001600160e01b0319821660048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa925050508015610c68575060408051601f3d908101601f19168201909252610c6591810190614305565b60015b610cb9576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103ba565b806102e3576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526001600160e01b0319831660248201526044016103ba565b6060600080610d1c87878787612008565b9150915081610d2e57610d2e816121ec565b9695505050505050565b6001600160a01b038116610d72616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008516176121f4565b6001600160a01b03161461076157610d8982611181565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103ba929190614322565b606060005b6010811015610e1e576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610e1e5780610e1681614363565b915050610dc3565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b6000610e606070601061437d565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610ec157610ec16142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201528151808203909301835281019052600090610e4a90610f30906142c8565b8360007e240200200400000000000000000000000000000000000000000000000000006122c0565b6000610f6483836122f6565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610fc257610fc26142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f7200000000000000000000000000000000603082015281518082039093018352810190526110579061102e906142c8565b828686867e24020020040000000000000000000000000000000000000000000000000000612335565b50505050505050565b6060600061106d83612630565b9050600061107a84612640565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110d3576110d36142ef565b602090810291909101810191909152604080517f6f7400000000000000000000000000000000000000000000000000000000000081840152641ddbdc9b1960da1b60228201527f46756e6374696f6e5369676e61747572000000000000000000000000000000006030820152815180820390930183528101905261062b9061115a906142c8565b828686867c0100000000000000000000000000000000000000000000000000000000612335565b606081601081901b600061119483610e52565b90508271ffffffffffffffffffffffffffffffffffff198316156111cd5771ffffffffffffffffffffffffffffffffffff1983166111ef565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b6fffffffffffffffffffffffffffffffff1983161561120e5782611230565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040517fffff00000000000000000000000000000000000000000000000000000000000090931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190526fffffffffffffffffffffffffffffffff19928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b8160008151811061130a5761130a6142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d52656769737472790000000000000000000000000000000000006030830152600091610e4a91015b60405160208183030381529060405261137f906142c8565b8360007e200100200000000000000000000000000000000000000000000000000000006122c0565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113e0576113e06142ef565b60209081029190910181019190915260408051613a3160f11b928101929092527f73746f726500000000000000000000000000000000000000000000000000000060228301527f5265736f75726365496473000000000000000000000000000000000000000000603083015260009161149591015b60405160208183030381529060405261146d906142c8565b8360007e010100010000000000000000000000000000000000000000000000000000006122c0565b9050610e4a8160f81c90565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114da576114da6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d73000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061157190611549906142c8565b8360007e150200140100000000000000000000000000000000000000000000000000006122c0565b60601c949350505050565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106115be576115be6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d5265676973747279000000000000000000000000000000000000603082015281518082039093018352810190526107619061162a906142c8565b827e20010020000000000000000000000000000000000000000000000000000000612669565b6040805160028082526060820183526000926020830190803683370190505090508281600081518110611685576116856142ef565b602002602001018181525050816001600160a01b031660001b816001815181106116b1576116b16142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f5265736f75726365416363657373000000000000000000000000000000000000603082015281518082039093018352810190526102e39061171d906142c8565b827e01010001000000000000000000000000000000000000000000000000000000612669565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611779576117796142ef565b60209081029190910181019190915260408051613a3160f11b928101929092527f73746f726500000000000000000000000000000000000000000000000000000060228301527f5265736f7572636549647300000000000000000000000000000000000000000060308301526102e391015b604051602081830303815290604052611803906142c8565b8260008560405160200161181e91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611e70565b600061185f8383612929565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050868160008151811061189e5761189e6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d7300000000000000000000000000000000000000000000000000603082015281518082039093018352810190526110579061190a906142c8565b828686867e15020014010000000000000000000000000000000000000000000000000000612335565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611975576119756142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d526567697374727900000000000000000000000000000000000060308301526102e39101610a6e565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611a0857611a086142ef565b602002602001018181525050826001600160a01b031660001b81600181518110611a3457611a346142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f7572636541636365737300000000000000000000000000000000000060308301526108fe91016117eb565b6000611a9e8484612959565b90506000815167ffffffffffffffff811115611abc57611abc613efe565b604051908082528060200260200182016040528015611ae5578160200160208202803683370190505b5090506000805b8351811015611baa57846001600160a01b0316611b30858381518110611b1457611b146142ef565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611ba257838181518110611b5057611b506142ef565b6020026020010151838381518110611b6a57611b6a6142ef565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b600101611aec565b5080825261062b8686846129c4565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611bef57611bef6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f4e616d6573706163654f776e6572000000000000000000000000000000000000603082015281518082039093018352810190526102e390611c5b906142c8565b6040516bffffffffffffffffffffffff19606086901b166020820152839060009060340160408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611e70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611cea57611cea6142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f4e616d65737061636544656c656761740000000000000000000000000000000060308301526102e39101610a6e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611d7e57611d7e6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d486f6f6b73000000000000000000000000000000000000000000603082015281518082039093018352810190526102e390611dea906142c8565b6040517fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000851660208201528390600090603501604051602081830303815290604052612a1b565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611e6b573391505090565b919050565b6102e08585611e7f8487612acc565b85612b07565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ef8906142c8565b909114919050565b6060600060606000611f1185612d60565b9050611f1e878783612d83565b93506000611f2b86612dc7565b90508015611ffd57611f3d8888612e04565b935066ffffffffffffff841667ffffffffffffffff811115611f6157611f61613efe565b6040519080825280601f01601f191660200182016040528015611f8b576020820181803683370190505b5092506020830160005b828160ff161015611ffa576000611fad8b8b84612e17565b90506000611fca888460ff166028026038011c64ffffffffff1690565b9050611fd98282600087612e97565b611fe3818561437d565b935050508080611ff290614390565b915050611f95565b50505b505093509350939050565b60006060600061201786612f66565b905060005b81518110156120f4576000828281518110612039576120396142ef565b602002602001015190506120656001826affffffffffffffffffffff191661302f90919063ffffffff16565b156120e1576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906120ae908c908c908c906004016143af565b600060405180830381600087803b1580156120c857600080fd5b505af11580156120dc573d6000803e3d6000fd5b505050505b50806120ec81614363565b91505061201c565b506121018785888861304d565b909350915060005b81518110156121e1576000828281518110612126576121266142ef565b602002602001015190506121526002826affffffffffffffffffffff191661302f90919063ffffffff16565b156121ce576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f999061219b908c908c908c906004016143af565b600060405180830381600087803b1580156121b557600080fd5b505af11580156121c9573d6000803e3d6000fd5b505050505b50806121d981614363565b915050612109565b505094509492505050565b805160208201fd5b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061222d5761222d6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f4e616d6573706163654f776e6572000000000000000000000000000000000000603082015281518082039093018352810190526000906115719061229c906142c8565b8360007e140100140000000000000000000000000000000000000000000000000000005b60006122ed6122cf8686613160565b60ff858116601b0360080285901c166122e88587612acc565b6131b6565b95945050505050565b6060828260405160200161231e9291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161236b9493929190614412565b60405180910390a2613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000160361062b5760006123ac87613207565b905060005b815181101561248f5760008282815181106123ce576123ce6142ef565b602002602001015190506123fa6001826affffffffffffffffffffff191661302f90919063ffffffff16565b1561247c576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612449908c908c908c908c908c908c9060040161445c565b600060405180830381600087803b15801561246357600080fd5b505af1158015612477573d6000803e3d6000fd5b505050505b508061248781614363565b9150506123b1565b50600061249c8888613160565b905060006020870190506124b4826000838a516132ba565b60006124bf85612dc7565b11156125435760006124d18a8a61337a565b878155905060208601915060008060005b6124eb88612dc7565b8160ff16101561253e576125008d8d83612e17565b925061251b8a8260ff166028026038011c64ffffffffff1690565b915061252a83600087856132ba565b612534828661437d565b94506001016124e2565b505050505b60005b8351811015612624576000848281518110612563576125636142ef565b6020026020010151905061258f6002826affffffffffffffffffffff191661302f90919063ffffffff16565b15612611576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906125de908e908e908e908e908e908e9060040161445c565b600060405180830381600087803b1580156125f857600080fd5b505af115801561260c573d6000803e3d6000fd5b505050505b508061261c81614363565b915050612546565b50505050505050505050565b60006102528251603881901b1790565b60608160405160200161265391906144b5565b6040516020818303038152906040529050919050565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161269991906144d1565b60405180910390a2613a3160f11b837fffff00000000000000000000000000000000000000000000000000000000000016146126d457505050565b60006126df84613207565b905060005b81518110156127bc576000828281518110612701576127016142ef565b6020026020010151905061272d6040826affffffffffffffffffffff191661302f90919063ffffffff16565b156127a9576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612776908990899089906004016144e4565b600060405180830381600087803b15801561279057600080fd5b505af11580156127a4573d6000803e3d6000fd5b505050505b50806127b481614363565b9150506126e4565b5060006127c98585613160565b90506128228160006127da86612d60565b67ffffffffffffffff8111156127f2576127f2613efe565b6040519080825280601f01601f19166020018201604052801561281c576020820181803683370190505b506133d0565b600061282d84612dc7565b111561284e57600061283f868661337a565b905061284c8160206133e0565b505b60005b825181101561062b57600083828151811061286e5761286e6142ef565b6020026020010151905061289a6080826affffffffffffffffffffff191661302f90919063ffffffff16565b15612916576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906128e3908a908a908a906004016144e4565b600060405180830381600087803b1580156128fd57600080fd5b505af1158015612911573d6000803e3d6000fd5b505050505b508061292181614363565b915050612851565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b60348301529060350161231e565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612993576129936142ef565b60200260200101818152505060006129ad8583600061341d565b90506122ed6129bf8260008451613457565b6134e7565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106129fa576129fa6142ef565b6020026020010181815250506108fe84826000612a16866134f8565b613508565b6000612a25611e31565b9050306001600160a01b03821603612a4857612a4385858585613543565b6102e0565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290612a9390889088908890889060040161450d565b600060405180830381600087803b158015612aad57600080fd5b505af1158015612ac1573d6000803e3d6000fd5b505050505050505050565b600080805b8360ff168110156106e657612af360ff601b83900360080287901c168361437d565b915080612aff81614363565b915050612ad1565b6000612b138585613160565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be858585604051612b4993929190614541565b60405180910390a2613a3160f11b857fffff0000000000000000000000000000000000000000000000000000000000001614612b8557506108fe565b6000612b9086613207565b905060005b8151811015612c6f576000828281518110612bb257612bb26142ef565b60200260200101519050612bde6004826affffffffffffffffffffff191661302f90919063ffffffff16565b15612c5c576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612c29908b908b908b908b90600401614574565b600060405180830381600087803b158015612c4357600080fd5b505af1158015612c57573d6000803e3d6000fd5b505050505b5080612c6781614363565b915050612b95565b50612c83828565ffffffffffff16856133d0565b60005b8151811015611057576000828281518110612ca357612ca36142ef565b60200260200101519050612ccf6008826affffffffffffffffffffff191661302f90919063ffffffff16565b15612d4d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612d1a908b908b908b908b90600401614574565b600060405180830381600087803b158015612d3457600080fd5b505af1158015612d48573d6000803e3d6000fd5b505050505b5080612d5881614363565b915050612c86565b60006008612d70600260206145ad565b612d7a91906145c0565b9190911c919050565b606081600003612da25750604080516020810190915260008152612dc0565b6000612dae8585613160565b9050612dbc8184600061357e565b9150505b9392505050565b60006008600180612dda600260206145ad565b612de491906145ad565b612dee91906145ad565b612df891906145c0565b8260ff911c1692915050565b6000612dc0612e13848461337a565b5490565b60008383604051602001612e2c9291906145d7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8115612f205760208210612ec157602082048401935060208281612ebd57612ebd614612565b0691505b8115612f20576020829003600081851015612ee55750600019600885021c19612ef0565b50600019600882021c195b8554600885021b811984511682821617845250818511612f115750506108fe565b50600194909401939283900392015b5b60208310612f425783548152600190930192601f1990920191602001612f21565b82156108fe576000600019600885021c198251865482169119161782525050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612fa057612fa06142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d486f6f6b73000000000000000000000000000000000000000000603083015260009161301d91015b604051602081830303815290604052613015906142c8565b83600061341d565b9050610e4a6129bf8260008451613457565b60008160ff16826130408560581c90565b1660ff1614905092915050565b6000606060008061305d86610aed565b90925090506001600160a01b0382166130ae578561307a87611181565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103ba9291906142af565b806130bd576130bd86896135a1565b861561310e577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b1760006130f6826135b8565b905061310b826131068b8461437d565b613652565b50505b600061311a8760101b90565b71ffffffffffffffffffffffffffffffffffff19161461314557613140888884886136e6565b613151565b6131518888848861375e565b90999098509650505050505050565b600082826040516020016131759291906145d7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106131dc576020820484019350602082816131d8576131d8614612565b0691505b508254600882021b6020829003808411156106e6576001850154600882021c82179150509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613241576132416142ef565b60209081029190910181019190915260408051613a3160f11b928101929092527f73746f726500000000000000000000000000000000000000000000000000000060228301527f53746f7265486f6f6b7300000000000000000000000000000000000000000000603083015260009161301d9101612ffd565b821561333457602083106132e4576020830484019350602083816132e0576132e0614612565b0692505b82156133345760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116133255750506108fe565b50600194909401939182019190035b5b602081106133565781518455600190930192602090910190601f1901613335565b80156108fe576000600019600883021c198554845182169119161785555050505050565b6000828260405160200161338f9291906145d7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6102e383836020840184516132ba565b600060206133ef83601f61437d565b6133f99190614628565b613403908461437d565b90505b808310156102e35760008355600183019250613406565b6060610e4a61342d858585612e17565b6134508461343b8888612e04565b9060ff166028026038011c64ffffffffff1690565b600061357e565b600081831115801561346a575083518211155b6134a6578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103ba9392919061464a565b602084016134b4848261437d565b905060006134c285856145ad565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000612dc083601560006137bf565b606081612dc0816015600061383a565b60006135148585612e04565b90506000613531828560ff166028026038011c64ffffffffff1690565b905061062b868686600085888861388e565b600061354f8585612e04565b9050600061356c828560ff166028026038011c64ffffffffff1690565b905061062b868686846000888861388e565b60405160208101601f19603f85840101166040528382526106e685858584612e97565b6135ab8282613ca4565b61076157610d8982611181565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106135f1576135f16142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f42616c616e6365730000000000000000000000000000000000000000000000006030830152600091610e4a9101611367565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613688576136886142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f42616c616e63657300000000000000000000000000000000000000000000000060308301526102e39101610a6e565b60006060836001600160a01b03166000613701858989613ce7565b60405161370e91906144b5565b60006040518083038185875af1925050503d806000811461374b576040519150601f19603f3d011682016040523d82523d6000602084013e613750565b606091505b509097909650945050505050565b60006060836001600160a01b0316613777848888613ce7565b60405161378491906144b5565b600060405180830381855af49150503d806000811461374b576040519150601f19603f3d011682016040523d82523d6000602084013e613750565b606060006137cd8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816137f3576137f3614612565b04905060405193506020840160208202810160405281855260005b8281101561382e578451871c82529387019360209091019060010161380e565b50505050509392505050565b8251606090600061384b85836145c0565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561382e578051871b8352918701916001919091019060200161386d565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461391857613a3160f11b87886040516020016138d691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103ba93929160040161426e565b6000613933828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361394c91906145ad565b613956919061437d565b905080821415801561397857508161396e868861466f565b64ffffffffff1614155b156139c8576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103ba565b818664ffffffffff161115613a19576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103ba565b6000613a26848984613d16565b905064ffffffffff871660005b8960ff168160ff161015613a6657613a5a868260ff166028026038011c64ffffffffff1690565b90910190600101613a33565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b604051613a9f959493929190614694565b60405180910390a2506000613ab38b613207565b905060005b8151811015613b88576000828281518110613ad557613ad56142ef565b60200260200101519050613b016010826affffffffffffffffffffff191661302f90919063ffffffff16565b15613b7557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613b4297969594939291906146e6565b600060405180830381600087803b158015613b5c57600080fd5b505af1158015613b70573d6000803e3d6000fd5b505050505b5080613b8081614363565b915050613ab8565b50828414613ba1576000613b9c8c8c61337a565b839055505b6000613bae8c8c8c612e17565b9050613bc2818a64ffffffffff16896133d0565b5060005b8151811015613c96576000828281518110613be357613be36142ef565b60200260200101519050613c0f6020826affffffffffffffffffffff191661302f90919063ffffffff16565b15613c8357606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613c5097969594939291906146e6565b600060405180830381600087803b158015613c6a57600080fd5b505af1158015613c7e573d6000803e3d6000fd5b505050505b5080613c8e81614363565b915050613bc6565b505050505050505050505050565b6000613cd7616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613de4565b80612dc05750612dc08383613de4565b6060838383604051602001613cfe93929190614744565b60405160208183030381529060405290509392505050565b600064ffffffffff821115613d5a576040517f47670588000000000000000000000000000000000000000000000000000000008152600481018390526024016103ba565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613d8c5780850382019150613d94565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613e1d57613e1d6142ef565b602002602001018181525050826001600160a01b031660001b81600181518110613e4957613e496142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f757263654163636573730000000000000000000000000000000000006030830152600091613eaa9101611455565b90506122ed8160f81c90565b80356001600160e01b031981168114611e6b57600080fd5b600060208284031215613ee057600080fd5b612dc082613eb6565b6001600160a01b038116811461081e57600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613f2557600080fd5b813567ffffffffffffffff80821115613f4057613f40613efe565b604051601f8301601f19908116603f01168101908282118183101715613f6857613f68613efe565b81604052838152866020858801011115613f8157600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215613fb657600080fd5b8335613fc181613ee9565b925060208401359150604084013567ffffffffffffffff811115613fe457600080fd5b613ff086828701613f14565b9150509250925092565b6000806040838503121561400d57600080fd5b82359150602083013567ffffffffffffffff81111561402b57600080fd5b61403785828601613f14565b9150509250929050565b801515811461081e57600080fd5b60008060006060848603121561406457600080fd5b83359250602084013561407681613ee9565b9150604084013561408681614041565b809150509250925092565b6000806000606084860312156140a657600080fd5b83359250602084013567ffffffffffffffff8111156140c457600080fd5b6140d086828701613f14565b9250506140df60408501613eb6565b90509250925092565b600080604083850312156140fb57600080fd5b82359150602083013561410d81613ee9565b809150509250929050565b60006020828403121561412a57600080fd5b5035919050565b60008060006060848603121561414657600080fd5b8335925060208401359150604084013567ffffffffffffffff811115613fe457600080fd5b60008060006060848603121561418057600080fd5b83359250602084013561419281613ee9565b9150604084013560ff8116811461408657600080fd5b60005b838110156141c35781810151838201526020016141ab565b50506000910152565b600084516141de8184602089016141a8565b80830190507f5f00000000000000000000000000000000000000000000000000000000000000808252855161421a816001850160208a016141a8565b600192019182015283516142358160028401602088016141a8565b0160020195945050505050565b6000815180845261425a8160208601602086016141a8565b601f01601f19169290920160200192915050565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006122ed6060830184614242565b828152604060208201526000610e4a6040830184614242565b805160208083015191908110156142e9576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561431757600080fd5b8151612dc081614041565b6040815260006143356040830185614242565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b600060001982036143765761437661434d565b5060010190565b808201808211156102525761025261434d565b600060ff821660ff81036143a6576143a661434d565b60010192915050565b6001600160a01b03841681528260208201526060604082015260006122ed6060830184614242565b600081518084526020808501945080840160005b83811015614407578151875295820195908201906001016143eb565b509495945050505050565b60808152600061442560808301876143d7565b82810360208401526144378187614242565b905084604084015282810360608401526144518185614242565b979650505050505050565b86815260c06020820152600061447560c08301886143d7565b82810360408401526144878188614242565b905085606084015282810360808401526144a18186614242565b9150508260a0830152979650505050505050565b600082516144c78184602087016141a8565b9190910192915050565b602081526000612dc060208301846143d7565b8381526060602082015260006144fd60608301856143d7565b9050826040830152949350505050565b84815260806020820152600061452660808301866143d7565b60ff8516604084015282810360608401526144518185614242565b60608152600061455460608301866143d7565b65ffffffffffff851660208401528281036040840152610d2e8185614242565b84815260806020820152600061458d60808301866143d7565b65ffffffffffff8516604084015282810360608401526144518185614242565b818103818111156102525761025261434d565b80820281158282048414176102525761025261434d565b82815260006020808301845182860160005b82811015614605578151845292840192908401906001016145e9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261464557634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061465d6060830186614242565b60208301949094525060400152919050565b64ffffffffff81811683821601908082111561468d5761468d61434d565b5092915050565b60a0815260006146a760a08301886143d7565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526146da8185614242565b98975050505050505050565b87815260e0602082015260006146ff60e08301896143d7565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147368185614242565b9a9950505050505050505050565b600084516147568184602089016141a8565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000815000a","sourceMap":"2066:11355:87:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063742d611811610081578063bfdfaff71161005b578063bfdfaff7146101c1578063d5f8337f146101d4578063e1af802c146101e757600080fd5b8063742d611814610188578063a92813ad1461019b578063b29e4089146101ae57600080fd5b806326d98102116100b257806326d98102146101365780633350b6a91461016257806345ec93541461017557600080fd5b806301ffc9a7146100d9578063119df25f146101015780631d2257ba14610121575b600080fd5b6100ec6100e7366004613ece565b6101ef565b60405190151581526020015b60405180910390f35b610109610258565b6040516001600160a01b0390911681526020016100f8565b61013461012f366004613fa1565b610267565b005b610149610144366004613ffa565b6102e8565b6040516001600160e01b031990911681526020016100f8565b61013461017036600461404f565b6103ea565b604051601f1936013581526020016100f8565b610149610196366004614091565b610633565b6101346101a93660046140e8565b6106ee565b6101346101bc366004614118565b610765565b6101346101cf366004614131565b610821565b6101346101e236600461416b565b610904565b61010961096b565b60006001600160e01b031982167fb421288000000000000000000000000000000000000000000000000000000000148061025257506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6000610262610975565b905090565b610279610272610258565b84846109a7565b61028282610ad1565b801561028f575060008151115b156102e357600061029f83610aed565b5090506102cc817faea79dd000000000000000000000000000000000000000000000000000000000610be5565b6102e06102d7610258565b84846000610d0b565b50505b505050565b60006102fb836102f6610258565b610d38565b600061032461030a8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610dbe565b9050600061033961033486610e52565b610dbe565b90506000828286604051602001610352939291906141cc565b604051602081830303815290604052905080805190602001209350600061037885610e69565b905080156103c3576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319861660048201526024015b60405180910390fd5b855160208701206103d5868983610f58565b6103df8684611060565b505050505092915050565b7f7379000000000000000000000000000000000000000000000000000000000000837fffff0000000000000000000000000000000000000000000000000000000000001614610493577f73790000000000000000000000000000000000000000000000000000000000008361045e85611181565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103ba9392919061426e565b6104bd827fb421288000000000000000000000000000000000000000000000000000000000610be5565b60006104c884610e52565b6fffffffffffffffffffffffffffffffff19160361051e57826104ea84611181565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103ba9291906142af565b6000610529836112c5565b9050801580159061053a5750838114155b1561057c576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016103ba565b7dffffffffffffffffffffffffffff000000000000000000000000000000008416616e7360f01b176105ad816113a7565b6105bf576105ba81610765565b6105cb565b6105cb816102f6610258565b60006105d6866114a1565b90506001600160a01b038116156105ff576105f08161157c565b6105fa8282611650565b61060a565b61060a866001611743565b610615868686611853565b61061f8587611933565b61062b828660016119d3565b505050505050565b60408051616e7360f01b602082015260006022820181905260308201819052916106789101604051602081830303815290604052610670906142c8565b6102f6610258565b5081516020830120600061068b82610e69565b905080156106d1576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319831660048201526024016103ba565b6106dc828685610f58565b6106e68285611060565b509392505050565b6106fa826102f6610258565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f53797374656d486f6f6b730000000000000000000000000000000000000000006030820152610761910160405160208183030381529060405261075a906142c8565b8383611a92565b5050565b616e7360f01b817fffff00000000000000000000000000000000000000000000000000000000000016146107a357616e7360f01b8161045e83611181565b6107ac816113a7565b156107ef57806107bb82611181565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103ba9291906142af565b6107fa816001611743565b61080b81610806610258565b611bb9565b61081e81610817610258565b60016119d3565b50565b616e7360f01b837fffff000000000000000000000000000000000000000000000000000000000000161461085f57616e7360f01b8361045e85611181565b61086882610ad1565b61089e576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108aa836102f6610258565b60006108b583610aed565b5090506108e2817faea79dd000000000000000000000000000000000000000000000000000000000610be5565b6108ec8484611cb4565b8151156108fe576102e06102d7610258565b50505050565b61092e827f55f0760f00000000000000000000000000000000000000000000000000000000610be5565b61093a836102f6610258565b6102e3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611d48565b6000610262611e31565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806109a45750335b90565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b816000815181106109e8576109e86142ef565b602002602001018181525050826001600160a01b031660001b81600181518110610a1457610a146142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5573657244656c65676174696f6e436f0000000000000000000000000000000060308301526108fe91015b604051602081830303815290604052610a86906142c8565b82600085604051602001610a9c91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611e70565b600081151580156102525750610ae682611e85565b1592915050565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610b2757610b276142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d73000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009081908190610bc090610b9a906142c8565b857e15020014010000000000000000000000000000000000000000000000000000611f00565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081526001600160e01b0319821660048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa925050508015610c68575060408051601f3d908101601f19168201909252610c6591810190614305565b60015b610cb9576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103ba565b806102e3576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526001600160e01b0319831660248201526044016103ba565b6060600080610d1c87878787612008565b9150915081610d2e57610d2e816121ec565b9695505050505050565b6001600160a01b038116610d72616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008516176121f4565b6001600160a01b03161461076157610d8982611181565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103ba929190614322565b606060005b6010811015610e1e576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610e1e5780610e1681614363565b915050610dc3565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b6000610e606070601061437d565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610ec157610ec16142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201528151808203909301835281019052600090610e4a90610f30906142c8565b8360007e240200200400000000000000000000000000000000000000000000000000006122c0565b6000610f6483836122f6565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610fc257610fc26142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f7200000000000000000000000000000000603082015281518082039093018352810190526110579061102e906142c8565b828686867e24020020040000000000000000000000000000000000000000000000000000612335565b50505050505050565b6060600061106d83612630565b9050600061107a84612640565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110d3576110d36142ef565b602090810291909101810191909152604080517f6f7400000000000000000000000000000000000000000000000000000000000081840152641ddbdc9b1960da1b60228201527f46756e6374696f6e5369676e61747572000000000000000000000000000000006030820152815180820390930183528101905261062b9061115a906142c8565b828686867c0100000000000000000000000000000000000000000000000000000000612335565b606081601081901b600061119483610e52565b90508271ffffffffffffffffffffffffffffffffffff198316156111cd5771ffffffffffffffffffffffffffffffffffff1983166111ef565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b6fffffffffffffffffffffffffffffffff1983161561120e5782611230565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040517fffff00000000000000000000000000000000000000000000000000000000000090931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190526fffffffffffffffffffffffffffffffff19928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b8160008151811061130a5761130a6142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d52656769737472790000000000000000000000000000000000006030830152600091610e4a91015b60405160208183030381529060405261137f906142c8565b8360007e200100200000000000000000000000000000000000000000000000000000006122c0565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113e0576113e06142ef565b60209081029190910181019190915260408051613a3160f11b928101929092527f73746f726500000000000000000000000000000000000000000000000000000060228301527f5265736f75726365496473000000000000000000000000000000000000000000603083015260009161149591015b60405160208183030381529060405261146d906142c8565b8360007e010100010000000000000000000000000000000000000000000000000000006122c0565b9050610e4a8160f81c90565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114da576114da6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d73000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061157190611549906142c8565b8360007e150200140100000000000000000000000000000000000000000000000000006122c0565b60601c949350505050565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106115be576115be6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d5265676973747279000000000000000000000000000000000000603082015281518082039093018352810190526107619061162a906142c8565b827e20010020000000000000000000000000000000000000000000000000000000612669565b6040805160028082526060820183526000926020830190803683370190505090508281600081518110611685576116856142ef565b602002602001018181525050816001600160a01b031660001b816001815181106116b1576116b16142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f5265736f75726365416363657373000000000000000000000000000000000000603082015281518082039093018352810190526102e39061171d906142c8565b827e01010001000000000000000000000000000000000000000000000000000000612669565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611779576117796142ef565b60209081029190910181019190915260408051613a3160f11b928101929092527f73746f726500000000000000000000000000000000000000000000000000000060228301527f5265736f7572636549647300000000000000000000000000000000000000000060308301526102e391015b604051602081830303815290604052611803906142c8565b8260008560405160200161181e91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611e70565b600061185f8383612929565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050868160008151811061189e5761189e6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d7300000000000000000000000000000000000000000000000000603082015281518082039093018352810190526110579061190a906142c8565b828686867e15020014010000000000000000000000000000000000000000000000000000612335565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611975576119756142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d526567697374727900000000000000000000000000000000000060308301526102e39101610a6e565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611a0857611a086142ef565b602002602001018181525050826001600160a01b031660001b81600181518110611a3457611a346142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f7572636541636365737300000000000000000000000000000000000060308301526108fe91016117eb565b6000611a9e8484612959565b90506000815167ffffffffffffffff811115611abc57611abc613efe565b604051908082528060200260200182016040528015611ae5578160200160208202803683370190505b5090506000805b8351811015611baa57846001600160a01b0316611b30858381518110611b1457611b146142ef565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611ba257838181518110611b5057611b506142ef565b6020026020010151838381518110611b6a57611b6a6142ef565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b600101611aec565b5080825261062b8686846129c4565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611bef57611bef6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f4e616d6573706163654f776e6572000000000000000000000000000000000000603082015281518082039093018352810190526102e390611c5b906142c8565b6040516bffffffffffffffffffffffff19606086901b166020820152839060009060340160408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611e70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611cea57611cea6142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f4e616d65737061636544656c656761740000000000000000000000000000000060308301526102e39101610a6e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611d7e57611d7e6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d486f6f6b73000000000000000000000000000000000000000000603082015281518082039093018352810190526102e390611dea906142c8565b6040517fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000851660208201528390600090603501604051602081830303815290604052612a1b565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611e6b573391505090565b919050565b6102e08585611e7f8487612acc565b85612b07565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ef8906142c8565b909114919050565b6060600060606000611f1185612d60565b9050611f1e878783612d83565b93506000611f2b86612dc7565b90508015611ffd57611f3d8888612e04565b935066ffffffffffffff841667ffffffffffffffff811115611f6157611f61613efe565b6040519080825280601f01601f191660200182016040528015611f8b576020820181803683370190505b5092506020830160005b828160ff161015611ffa576000611fad8b8b84612e17565b90506000611fca888460ff166028026038011c64ffffffffff1690565b9050611fd98282600087612e97565b611fe3818561437d565b935050508080611ff290614390565b915050611f95565b50505b505093509350939050565b60006060600061201786612f66565b905060005b81518110156120f4576000828281518110612039576120396142ef565b602002602001015190506120656001826affffffffffffffffffffff191661302f90919063ffffffff16565b156120e1576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906120ae908c908c908c906004016143af565b600060405180830381600087803b1580156120c857600080fd5b505af11580156120dc573d6000803e3d6000fd5b505050505b50806120ec81614363565b91505061201c565b506121018785888861304d565b909350915060005b81518110156121e1576000828281518110612126576121266142ef565b602002602001015190506121526002826affffffffffffffffffffff191661302f90919063ffffffff16565b156121ce576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f999061219b908c908c908c906004016143af565b600060405180830381600087803b1580156121b557600080fd5b505af11580156121c9573d6000803e3d6000fd5b505050505b50806121d981614363565b915050612109565b505094509492505050565b805160208201fd5b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061222d5761222d6142ef565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f4e616d6573706163654f776e6572000000000000000000000000000000000000603082015281518082039093018352810190526000906115719061229c906142c8565b8360007e140100140000000000000000000000000000000000000000000000000000005b60006122ed6122cf8686613160565b60ff858116601b0360080285901c166122e88587612acc565b6131b6565b95945050505050565b6060828260405160200161231e9291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161236b9493929190614412565b60405180910390a2613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000160361062b5760006123ac87613207565b905060005b815181101561248f5760008282815181106123ce576123ce6142ef565b602002602001015190506123fa6001826affffffffffffffffffffff191661302f90919063ffffffff16565b1561247c576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612449908c908c908c908c908c908c9060040161445c565b600060405180830381600087803b15801561246357600080fd5b505af1158015612477573d6000803e3d6000fd5b505050505b508061248781614363565b9150506123b1565b50600061249c8888613160565b905060006020870190506124b4826000838a516132ba565b60006124bf85612dc7565b11156125435760006124d18a8a61337a565b878155905060208601915060008060005b6124eb88612dc7565b8160ff16101561253e576125008d8d83612e17565b925061251b8a8260ff166028026038011c64ffffffffff1690565b915061252a83600087856132ba565b612534828661437d565b94506001016124e2565b505050505b60005b8351811015612624576000848281518110612563576125636142ef565b6020026020010151905061258f6002826affffffffffffffffffffff191661302f90919063ffffffff16565b15612611576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906125de908e908e908e908e908e908e9060040161445c565b600060405180830381600087803b1580156125f857600080fd5b505af115801561260c573d6000803e3d6000fd5b505050505b508061261c81614363565b915050612546565b50505050505050505050565b60006102528251603881901b1790565b60608160405160200161265391906144b5565b6040516020818303038152906040529050919050565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161269991906144d1565b60405180910390a2613a3160f11b837fffff00000000000000000000000000000000000000000000000000000000000016146126d457505050565b60006126df84613207565b905060005b81518110156127bc576000828281518110612701576127016142ef565b6020026020010151905061272d6040826affffffffffffffffffffff191661302f90919063ffffffff16565b156127a9576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612776908990899089906004016144e4565b600060405180830381600087803b15801561279057600080fd5b505af11580156127a4573d6000803e3d6000fd5b505050505b50806127b481614363565b9150506126e4565b5060006127c98585613160565b90506128228160006127da86612d60565b67ffffffffffffffff8111156127f2576127f2613efe565b6040519080825280601f01601f19166020018201604052801561281c576020820181803683370190505b506133d0565b600061282d84612dc7565b111561284e57600061283f868661337a565b905061284c8160206133e0565b505b60005b825181101561062b57600083828151811061286e5761286e6142ef565b6020026020010151905061289a6080826affffffffffffffffffffff191661302f90919063ffffffff16565b15612916576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906128e3908a908a908a906004016144e4565b600060405180830381600087803b1580156128fd57600080fd5b505af1158015612911573d6000803e3d6000fd5b505050505b508061292181614363565b915050612851565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b60348301529060350161231e565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612993576129936142ef565b60200260200101818152505060006129ad8583600061341d565b90506122ed6129bf8260008451613457565b6134e7565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106129fa576129fa6142ef565b6020026020010181815250506108fe84826000612a16866134f8565b613508565b6000612a25611e31565b9050306001600160a01b03821603612a4857612a4385858585613543565b6102e0565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290612a9390889088908890889060040161450d565b600060405180830381600087803b158015612aad57600080fd5b505af1158015612ac1573d6000803e3d6000fd5b505050505050505050565b600080805b8360ff168110156106e657612af360ff601b83900360080287901c168361437d565b915080612aff81614363565b915050612ad1565b6000612b138585613160565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be858585604051612b4993929190614541565b60405180910390a2613a3160f11b857fffff0000000000000000000000000000000000000000000000000000000000001614612b8557506108fe565b6000612b9086613207565b905060005b8151811015612c6f576000828281518110612bb257612bb26142ef565b60200260200101519050612bde6004826affffffffffffffffffffff191661302f90919063ffffffff16565b15612c5c576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612c29908b908b908b908b90600401614574565b600060405180830381600087803b158015612c4357600080fd5b505af1158015612c57573d6000803e3d6000fd5b505050505b5080612c6781614363565b915050612b95565b50612c83828565ffffffffffff16856133d0565b60005b8151811015611057576000828281518110612ca357612ca36142ef565b60200260200101519050612ccf6008826affffffffffffffffffffff191661302f90919063ffffffff16565b15612d4d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612d1a908b908b908b908b90600401614574565b600060405180830381600087803b158015612d3457600080fd5b505af1158015612d48573d6000803e3d6000fd5b505050505b5080612d5881614363565b915050612c86565b60006008612d70600260206145ad565b612d7a91906145c0565b9190911c919050565b606081600003612da25750604080516020810190915260008152612dc0565b6000612dae8585613160565b9050612dbc8184600061357e565b9150505b9392505050565b60006008600180612dda600260206145ad565b612de491906145ad565b612dee91906145ad565b612df891906145c0565b8260ff911c1692915050565b6000612dc0612e13848461337a565b5490565b60008383604051602001612e2c9291906145d7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8115612f205760208210612ec157602082048401935060208281612ebd57612ebd614612565b0691505b8115612f20576020829003600081851015612ee55750600019600885021c19612ef0565b50600019600882021c195b8554600885021b811984511682821617845250818511612f115750506108fe565b50600194909401939283900392015b5b60208310612f425783548152600190930192601f1990920191602001612f21565b82156108fe576000600019600885021c198251865482169119161782525050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612fa057612fa06142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d486f6f6b73000000000000000000000000000000000000000000603083015260009161301d91015b604051602081830303815290604052613015906142c8565b83600061341d565b9050610e4a6129bf8260008451613457565b60008160ff16826130408560581c90565b1660ff1614905092915050565b6000606060008061305d86610aed565b90925090506001600160a01b0382166130ae578561307a87611181565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103ba9291906142af565b806130bd576130bd86896135a1565b861561310e577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b1760006130f6826135b8565b905061310b826131068b8461437d565b613652565b50505b600061311a8760101b90565b71ffffffffffffffffffffffffffffffffffff19161461314557613140888884886136e6565b613151565b6131518888848861375e565b90999098509650505050505050565b600082826040516020016131759291906145d7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106131dc576020820484019350602082816131d8576131d8614612565b0691505b508254600882021b6020829003808411156106e6576001850154600882021c82179150509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613241576132416142ef565b60209081029190910181019190915260408051613a3160f11b928101929092527f73746f726500000000000000000000000000000000000000000000000000000060228301527f53746f7265486f6f6b7300000000000000000000000000000000000000000000603083015260009161301d9101612ffd565b821561333457602083106132e4576020830484019350602083816132e0576132e0614612565b0692505b82156133345760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116133255750506108fe565b50600194909401939182019190035b5b602081106133565781518455600190930192602090910190601f1901613335565b80156108fe576000600019600883021c198554845182169119161785555050505050565b6000828260405160200161338f9291906145d7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6102e383836020840184516132ba565b600060206133ef83601f61437d565b6133f99190614628565b613403908461437d565b90505b808310156102e35760008355600183019250613406565b6060610e4a61342d858585612e17565b6134508461343b8888612e04565b9060ff166028026038011c64ffffffffff1690565b600061357e565b600081831115801561346a575083518211155b6134a6578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103ba9392919061464a565b602084016134b4848261437d565b905060006134c285856145ad565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000612dc083601560006137bf565b606081612dc0816015600061383a565b60006135148585612e04565b90506000613531828560ff166028026038011c64ffffffffff1690565b905061062b868686600085888861388e565b600061354f8585612e04565b9050600061356c828560ff166028026038011c64ffffffffff1690565b905061062b868686846000888861388e565b60405160208101601f19603f85840101166040528382526106e685858584612e97565b6135ab8282613ca4565b61076157610d8982611181565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106135f1576135f16142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f42616c616e6365730000000000000000000000000000000000000000000000006030830152600091610e4a9101611367565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613688576136886142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f42616c616e63657300000000000000000000000000000000000000000000000060308301526102e39101610a6e565b60006060836001600160a01b03166000613701858989613ce7565b60405161370e91906144b5565b60006040518083038185875af1925050503d806000811461374b576040519150601f19603f3d011682016040523d82523d6000602084013e613750565b606091505b509097909650945050505050565b60006060836001600160a01b0316613777848888613ce7565b60405161378491906144b5565b600060405180830381855af49150503d806000811461374b576040519150601f19603f3d011682016040523d82523d6000602084013e613750565b606060006137cd8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816137f3576137f3614612565b04905060405193506020840160208202810160405281855260005b8281101561382e578451871c82529387019360209091019060010161380e565b50505050509392505050565b8251606090600061384b85836145c0565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561382e578051871b8352918701916001919091019060200161386d565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461391857613a3160f11b87886040516020016138d691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103ba93929160040161426e565b6000613933828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361394c91906145ad565b613956919061437d565b905080821415801561397857508161396e868861466f565b64ffffffffff1614155b156139c8576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103ba565b818664ffffffffff161115613a19576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103ba565b6000613a26848984613d16565b905064ffffffffff871660005b8960ff168160ff161015613a6657613a5a868260ff166028026038011c64ffffffffff1690565b90910190600101613a33565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b604051613a9f959493929190614694565b60405180910390a2506000613ab38b613207565b905060005b8151811015613b88576000828281518110613ad557613ad56142ef565b60200260200101519050613b016010826affffffffffffffffffffff191661302f90919063ffffffff16565b15613b7557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613b4297969594939291906146e6565b600060405180830381600087803b158015613b5c57600080fd5b505af1158015613b70573d6000803e3d6000fd5b505050505b5080613b8081614363565b915050613ab8565b50828414613ba1576000613b9c8c8c61337a565b839055505b6000613bae8c8c8c612e17565b9050613bc2818a64ffffffffff16896133d0565b5060005b8151811015613c96576000828281518110613be357613be36142ef565b60200260200101519050613c0f6020826affffffffffffffffffffff191661302f90919063ffffffff16565b15613c8357606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613c5097969594939291906146e6565b600060405180830381600087803b158015613c6a57600080fd5b505af1158015613c7e573d6000803e3d6000fd5b505050505b5080613c8e81614363565b915050613bc6565b505050505050505050505050565b6000613cd7616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613de4565b80612dc05750612dc08383613de4565b6060838383604051602001613cfe93929190614744565b60405160208183030381529060405290509392505050565b600064ffffffffff821115613d5a576040517f47670588000000000000000000000000000000000000000000000000000000008152600481018390526024016103ba565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613d8c5780850382019150613d94565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613e1d57613e1d6142ef565b602002602001018181525050826001600160a01b031660001b81600181518110613e4957613e496142ef565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f757263654163636573730000000000000000000000000000000000006030830152600091613eaa9101611455565b90506122ed8160f81c90565b80356001600160e01b031981168114611e6b57600080fd5b600060208284031215613ee057600080fd5b612dc082613eb6565b6001600160a01b038116811461081e57600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613f2557600080fd5b813567ffffffffffffffff80821115613f4057613f40613efe565b604051601f8301601f19908116603f01168101908282118183101715613f6857613f68613efe565b81604052838152866020858801011115613f8157600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215613fb657600080fd5b8335613fc181613ee9565b925060208401359150604084013567ffffffffffffffff811115613fe457600080fd5b613ff086828701613f14565b9150509250925092565b6000806040838503121561400d57600080fd5b82359150602083013567ffffffffffffffff81111561402b57600080fd5b61403785828601613f14565b9150509250929050565b801515811461081e57600080fd5b60008060006060848603121561406457600080fd5b83359250602084013561407681613ee9565b9150604084013561408681614041565b809150509250925092565b6000806000606084860312156140a657600080fd5b83359250602084013567ffffffffffffffff8111156140c457600080fd5b6140d086828701613f14565b9250506140df60408501613eb6565b90509250925092565b600080604083850312156140fb57600080fd5b82359150602083013561410d81613ee9565b809150509250929050565b60006020828403121561412a57600080fd5b5035919050565b60008060006060848603121561414657600080fd5b8335925060208401359150604084013567ffffffffffffffff811115613fe457600080fd5b60008060006060848603121561418057600080fd5b83359250602084013561419281613ee9565b9150604084013560ff8116811461408657600080fd5b60005b838110156141c35781810151838201526020016141ab565b50506000910152565b600084516141de8184602089016141a8565b80830190507f5f00000000000000000000000000000000000000000000000000000000000000808252855161421a816001850160208a016141a8565b600192019182015283516142358160028401602088016141a8565b0160020195945050505050565b6000815180845261425a8160208601602086016141a8565b601f01601f19169290920160200192915050565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006122ed6060830184614242565b828152604060208201526000610e4a6040830184614242565b805160208083015191908110156142e9576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561431757600080fd5b8151612dc081614041565b6040815260006143356040830185614242565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b600060001982036143765761437661434d565b5060010190565b808201808211156102525761025261434d565b600060ff821660ff81036143a6576143a661434d565b60010192915050565b6001600160a01b03841681528260208201526060604082015260006122ed6060830184614242565b600081518084526020808501945080840160005b83811015614407578151875295820195908201906001016143eb565b509495945050505050565b60808152600061442560808301876143d7565b82810360208401526144378187614242565b905084604084015282810360608401526144518185614242565b979650505050505050565b86815260c06020820152600061447560c08301886143d7565b82810360408401526144878188614242565b905085606084015282810360808401526144a18186614242565b9150508260a0830152979650505050505050565b600082516144c78184602087016141a8565b9190910192915050565b602081526000612dc060208301846143d7565b8381526060602082015260006144fd60608301856143d7565b9050826040830152949350505050565b84815260806020820152600061452660808301866143d7565b60ff8516604084015282810360608401526144518185614242565b60608152600061455460608301866143d7565b65ffffffffffff851660208401528281036040840152610d2e8185614242565b84815260806020820152600061458d60808301866143d7565b65ffffffffffff8516604084015282810360608401526144518185614242565b818103818111156102525761025261434d565b80820281158282048414176102525761025261434d565b82815260006020808301845182860160005b82811015614605578151845292840192908401906001016145e9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261464557634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061465d6060830186614242565b60208301949094525060400152919050565b64ffffffffff81811683821601908082111561468d5761468d61434d565b5092915050565b60a0815260006146a760a08301886143d7565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526146da8185614242565b98975050505050505050565b87815260e0602082015260006146ff60e08301896143d7565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147368185614242565b9a9950505050505050505050565b600084516147568184602089016141a8565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000815000a","sourceMap":"2066:11355:87:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2311:188:57;;;;;;:::i;:::-;;:::i;:::-;;;592:14:201;;585:22;567:41;;555:2;540:18;2311:188:57;;;;;;;;1245:113;;;:::i;:::-;;;-1:-1:-1;;;;;783:55:201;;;765:74;;753:2;738:18;1245:113:57;619:226:201;10928:919:87;;;;;;:::i;:::-;;:::i;:::-;;7879:1335;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;3126:79:201;;;3108:98;;3096:2;3081:18;7879:1335:87;2964:248:201;5242:2302:87;;;;;;:::i;:::-;;:::i;1599:110:57:-;;;-1:-1:-1;;3585:14:57;3581:23;3568:37;4002:25:201;;3990:2;3975:18;1599:110:57;3856:177:201;9618:980:87;;;;;;:::i;:::-;;:::i;4195:369::-;;;;;;:::i;:::-;;:::i;2399:768::-;;;;;;:::i;:::-;;:::i;12165:1254::-;;;;;;:::i;:::-;;:::i;3471:494::-;;;;;;:::i;:::-;;:::i;1925:95:57:-;;;:::i;2311:188::-;2387:4;-1:-1:-1;;;;;;2406:50:57;;485:152:49;2406:50:57;;:88;;-1:-1:-1;;;;;;;2460:34:57;;188::46;2460::57;2406:88;2399:95;2311:188;-1:-1:-1;;2311:188:57:o;1245:113::-;1288:14;1317:36;:34;:36::i;:::-;1310:43;;1245:113;:::o;10928:919:87:-;11100:141;11146:12;:10;:12::i;:::-;11177:9;11215:19;11100:26;:141::i;:::-;11291:41;11312:19;11291:20;:41::i;:::-;:68;;;;;11358:1;11336:12;:19;:23;11291:68;11287:556;;;11464:25;11495:33;11508:19;11495:12;:33::i;:::-;-1:-1:-1;11463:65:87;-1:-1:-1;11536:68:87;11463:65;457:74:45;11536:16:87;:68::i;:::-;11675:161;11726:12;:10;:12::i;:::-;11758:19;11797:12;11826:1;11675:32;:161::i;:::-;;11361:482;11287:556;10928:919;;;:::o;7879:1335::-;8001:28;8084:50;8111:8;8121:12;:10;:12::i;:::-;8084:26;:50::i;:::-;8181:29;8213:59;8248:23;:8;336:5:16;2530:44:58;;2432:148;8248:23:87;-1:-1:-1;;8213:59:87;:34;:59::i;:::-;8181:91;;8278:24;8305:54;8340:18;:8;:16;:18::i;:::-;8305:34;:54::i;:::-;8278:81;;8365:35;8427:15;8461:10;8490:23;8403:116;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8365:154;;8566:22;8556:33;;;;;;8525:65;;8656:27;8686:53;8717:21;8686:30;:53::i;:::-;8656:83;-1:-1:-1;8750:40:87;;8746:111;;8799:58;;;;;-1:-1:-1;;;;;;3126:79:201;;8799:58:87;;;3108:98:201;3081:18;;8799:58:87;;;;;;;;8746:111;8941:41;;;;;;8989:79;9012:21;9035:8;8941:41;8989:22;:79::i;:::-;9131:78;9155:21;9185:22;9131:23;:78::i;:::-;8031:1183;;;;;7879:1335;;;;:::o;5242:2302::-;5449:15;5427:8;:37;;;5423:138;;5507:15;5524:8;5534:19;:8;:17;:19::i;:::-;5481:73;;;;;;;;;;;;;:::i;5423:138::-;5651:70;5676:6;485:152:49;5651:16:87;:70::i;:::-;5814:9;5792:18;:8;:16;:18::i;:::-;-1:-1:-1;;5792:31:87;;5788:98;;5856:8;5866:19;:8;:17;:19::i;:::-;5832:54;;;;;;;;;;;;:::i;5788:98::-;5970:27;6000:36;6028:6;6000:19;:36::i;:::-;5970:66;-1:-1:-1;6053:40:87;;;;;:110;;;6154:8;6115:16;6097:66;;6053:110;6042:192;;;6185:42;;;;;-1:-1:-1;;;;;783:55:201;;6185:42:87;;;765:74:201;738:18;;6185:42:87;619:226:201;6042:192:87;606:36:58;2848:46;;-1:-1:-1;;;2847:74:58;6356:35:87;2847:74:58;6356:22:87;:35::i;:::-;6351:216;;6401:30;6419:11;6401:17;:30::i;:::-;6351:216;;;6507:53;6534:11;6547:12;:10;:12::i;6507:53::-;6631:22;6656:28;6675:8;6656:18;:28::i;:::-;6631:53;-1:-1:-1;;;;;;6764:28:87;;;6760:411;;6863:44;6892:14;6863:28;:44::i;:::-;6978:57;7007:11;7020:14;6978:28;:57::i;:::-;6760:411;;;7126:38;7149:8;7159:4;7126:22;:38::i;:::-;7258:53;7271:8;7289:6;7298:12;7258;:53::i;:::-;7383:46;7411:6;7420:8;7383:19;:46::i;:::-;7484:55;7504:11;7525:6;7534:4;7484:19;:55::i;:::-;5350:2194;;;5242:2302;;;:::o;9618:980::-;625:63:78;;;-1:-1:-1;;;625:63:78;;;8756:92:201;9778:28:87;8864:11:201;;;8857:100;;;8973:12;;;8966:101;;;9778:28:87;9866:59;;9083:12:201;625:63:78;;;;;;;;;;;;617:72;;;:::i;:::-;9912:12:87;:10;:12::i;9866:59::-;-1:-1:-1;10028:40:87;;;;;;10135:27;10165:53;10028:40;10165:30;:53::i;:::-;10135:83;-1:-1:-1;10229:40:87;;10225:111;;10278:58;;;;;-1:-1:-1;;;;;;3126:79:201;;10278:58:87;;;3108:98:201;3081:18;;10278:58:87;2964:248:201;10225:111:87;10381:79;10404:21;10427:8;10437:22;10381;:79::i;:::-;10523:70;10547:21;10570:22;10523:23;:70::i;:::-;9808:790;9618:980;;;;;:::o;4195:369::-;4335:50;4362:8;4372:12;:10;:12::i;4335:50::-;1253:74:74;;;-1:-1:-1;;;1253:74:74;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:22:74;8973:12:201;;;8966:101;4480:79:87;;9083:12:201;1253:74:74;;;;;;;;;;;;1245:83;;;:::i;:::-;4528:8:87;4546:11;4480:27;:79::i;:::-;4195:369;;:::o;2399:768::-;-1:-1:-1;;;2548:11:87;:43;;;2544:153;;-1:-1:-1;;;2654:11:87;2667:22;:11;:20;:22::i;2544:153::-;2749:35;2772:11;2749:22;:35::i;:::-;2745:127;;;2829:11;2842:22;:11;:20;:22::i;:::-;2801:64;;;;;;;;;;;;:::i;2745:127::-;2916:41;2939:11;2952:4;2916:22;:41::i;:::-;3010:46;3030:11;3043:12;:10;:12::i;:::-;3010:19;:46::i;:::-;3110:52;3130:11;3143:12;:10;:12::i;:::-;3157:4;3110:19;:52::i;:::-;2399:768;:::o;12165:1254::-;-1:-1:-1;;;12376:11:87;:43;;;12372:153;;-1:-1:-1;;;12482:11:87;12495:22;:11;:20;:22::i;12372:153::-;12586:41;12607:19;12586:20;:41::i;:::-;12581:107;;12644:37;;;;;;;;;;;;;;12581:107;12741:53;12768:11;12781:12;:10;:12::i;12741:53::-;12894:25;12925:33;12938:19;12925:12;:33::i;:::-;-1:-1:-1;12893:65:87;-1:-1:-1;12964:68:87;12893:65;457:74:45;12964:16:87;:68::i;:::-;13078:65;13110:11;13123:19;13078:31;:65::i;:::-;13214:19;;:23;13210:205;;13247:161;13298:12;:10;:12::i;13210:205::-;12308:1111;12165:1254;;;:::o;3471:494::-;3667:64;3692:11;421:106:48;3667:16:87;:64::i;:::-;3781:50;3808:8;3818:12;:10;:12::i;3781:50::-;3863:97;3880:8;-1:-1:-1;;987:20:4;;;;979:29;1011:30;;;;;;979:62;3863:16:87;:97::i;1925:95:57:-;1964:7;1986:29;:27;:29::i;2779:381::-;3063:34;3067:14;3063:34;3050:48;3046:2;3042:57;;3110:45;;-1:-1:-1;3145:10:57;3110:45;2779:381;:::o;6927:426:77:-;7055:16;;;7069:1;7055:16;;;;;;;;7026:26;;7055:16;;;;;;;;;;-1:-1:-1;7055:16:77;7026:45;;7116:9;-1:-1:-1;;;;;7100:27:77;7092:36;;7077:9;7087:1;7077:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;7173:9;-1:-1:-1;;;;;7157:27:77;7149:36;;7134:9;7144:1;7134:12;;;;;;;;:::i;:::-;;;;;;;;;;;:51;;;;1253:79;;;-1:-1:-1;;;1253:79:77;;;8756:92:201;;;;-1:-1:-1;;;8864:11:201;;;8857:100;1304:27:77;8973:12:201;;;8966:101;7192:156:77;;9083:12:201;1253:79:77;;;;;;;;;;;;;1245:88;;;:::i;:::-;7240:9;7257:1;7301:19;7266:56;;;;;;9786:19:201;;9830:2;9821:12;;9657:182;7266:56:77;;;;-1:-1:-1;;7266:56:77;;;;;;;;;1455:66;7192:24;: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;6683:432:76:-;6811:16;;;6825:1;6811:16;;;;;;;;;6741:14;;;;;;6811:16;;;;;;;;;;;-1:-1:-1;6811:16:76;6782:45;;6866:8;6833:9;6843:1;6833:12;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;1253:70;;;-1:-1:-1;;;1253:70:76;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:18:76;8973:12:201;;;8966:101;1253:70:76;;;;;;;;;;9083:12:201;;1253:70:76;;-1:-1:-1;;;;;;6969:78:76;;1245:79;;;:::i;:::-;7012:9;1432:66;6969:19;:78::i;:::-;-1:-1:-1;;20685:4:2;20671:27;;20665:34;20671:27;;;;20665:34;8316:32:76;;;;;;8380:30;;;;;;-1:-1:-1;6683:432:76;-1:-1:-1;;;;;;6683:432:76:o;826:380:89:-;910:55;;;;;-1:-1:-1;;;;;;3126:79:201;;910:55:89;;;3108:98:201;-1:-1:-1;;;;;910:42:89;;;;;3081:18:201;;910:55:89;;;;;;;;;;;;;;;;;;-1:-1:-1;910:55:89;;;;;;;;-1:-1:-1;;910:55:89;;;;;;;;;;;;:::i;:::-;;;906:298;;1129:70;;;;;-1:-1:-1;;;;;10284:55:201;;1129:70:89;;;10266:74:201;-1:-1:-1;;;;;;10376:79:201;;10356:18;;;10349:107;10239:18;;1129:70:89;10094:368:201;906:298:89;1002:9;997:108;;1028:70;;;;;-1:-1:-1;;;;;10284:55:201;;1028:70:89;;;10266:74:201;-1:-1:-1;;;;;;10376:79:201;;10356:18;;;10349:107;10239:18;;1028:70:89;10094:368:201;5330:401:54;5474:17;5500:12;5514:23;5541:115;5571:6;5615:8;5641;5592:5;5541:13;:115::i;:::-;5499:157;;;;5667:7;5662:41;;5676:27;5692:10;5676:15;:27::i;:::-;5716:10;5330:401;-1:-1:-1;;;;;;5330:401:54:o;1989:233:42:-;-1:-1:-1;;;;;2074:58:42;;:48;-1:-1:-1;;;606:36:58;2848:46;;2847:74;2074:19:42;:48::i;:::-;-1:-1:-1;;;;;2074:58:42;;2070:148;;2181:21;:10;:19;:21::i;:::-;2204:6;2149:62;;;;;;;;;;;;:::i;1824:322:58:-;1894:13;1915:14;1935:80;1951:2;1942:6;:11;1935:80;;;-1:-1:-1;;1969:34:58;;8614:1:2;8610:13;;8606:24;1969:39:58;;1965:50;2010:5;1965:50;1955:8;;;;:::i;:::-;;;;1935:80;;;2051:30;;;-1:-1:-1;;11342:79:201;;2051:30:58;;;11330:92:201;2051:30:58;;11438:12:201;;;;2051:30:58;;;1916:21:2;;;2051:30:58;2101:39;2087:54;1824:322;-1:-1:-1;;;;1824:322:58:o;3058:160::-;3121:7;3185:26;399:6;336:5:16;3185:26:58;:::i;:::-;3151:61;;;;;3058:160;-1:-1:-1;3058:160:58:o;3901:322:68:-;4027:16;;;4041:1;4027:16;;;;;;;;;3971:19;;;;4027:16;;;;;;;;;;;;-1:-1:-1;4027:16:68;3998:45;;4072:16;4064:25;;;4049:9;4059:1;4049:12;;;;;;;;:::i;:::-;;;;;;;;;;;:40;;;;1253:79;;;-1:-1:-1;;;1253:79:68;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:27:68;8973:12:201;;;8966:101;1253:79:68;;;;;;;;;;9083:12:201;;1253:79:68;;-1:-1:-1;;4112:62:68;;1245:88;;;:::i;:::-;4147:9;4158:1;1451:66;4112:24;:62::i;8006:454::-;8112:24;8139:46;8152:8;8162:22;8139:12;:46::i;:::-;8288:16;;;8302:1;8288:16;;;;;;;;;8112:73;;-1:-1:-1;8192:29:68;;8227:25;;8192:29;;8288:16;;;;;;;;;;;;-1:-1:-1;8288:16:68;8259:45;;8333:16;8325:25;;;8310:9;8320:1;8310:12;;;;;;;;:::i;:::-;;;;;;;;;;;:40;;;;1253:79;;;-1:-1:-1;;;1253:79:68;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:27:68;8973:12:201;;;8966:101;1253:79:68;;;;;;;;;;9083:12:201;;1253:79:68;;8357:98;;1245:88;;;:::i;:::-;8387:9;8398:11;8411:15;8428:12;1451:66;8357:19;:98::i;:::-;8106:354;;;;8006:454;;;:::o;3921:455:69:-;4008:24;4038:29;4070:32;4084:17;4070:13;:32::i;:::-;4038:64;;4108:25;4136:32;4150:17;4136:13;:32::i;:::-;4204:16;;;4218:1;4204:16;;;;;;;;;4108:60;;-1:-1:-1;4175:26:69;;4204:16;;;;;;;;;;;;-1:-1:-1;4204:16:69;4175:45;;4249:16;4241:25;;;4226:9;4236:1;4226:12;;;;;;;;:::i;:::-;;;;;;;;;;;:40;;;;1164:88;;;1181:23;1164:88;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1224:27:69;8973:12:201;;;8966:101;1164:88:69;;;;;;;;;;9083:12:201;;1164:88:69;;4273:98;;1156:97;;;:::i;:::-;4303:9;4314:11;4327:15;4344:12;1372:66;4273:19;:98::i;3379:541:58:-;3443:13;3513:10;336:5:16;2530:44:58;;;3464:19;3611;3513:10;3611:7;:19::i;:::-;3588:42;-1:-1:-1;3693:12:58;-1:-1:-1;;3732:35:58;;;:79;;-1:-1:-1;;3732:79:58;;;;;486:25;3732:79;-1:-1:-1;;3838:25:58;;;:59;;3885:12;3838:59;;;549:20;3838:59;3665:242;;12000:66:201;11988:79;;;3665:242:58;;;11976:92:201;12087:3;12106:11;;;12099:23;;;-1:-1:-1;;12236:15:201;;;12223:11;;;12216:36;12268:12;;;12261:24;12315:15;12301:12;;;12294:37;12347:12;;3665:242:58;;;;;;;;;;;;3636:279;;;;;3379:541;;;:::o;4517:313:75:-;4626:16;;;4640:1;4626:16;;;;;;;;;4570:19;;;;4626:16;;;;;;;;;;;;-1:-1:-1;4626:16:75;4597:45;;4687:6;-1:-1:-1;;;;;4671:24:75;4663:33;;4648:9;4658:1;4648:12;;;;;;;;:::i;:::-;;;;;;;;;;;:48;;;;1253:77;;;-1:-1:-1;;;1253:77:75;;;8756:92:201;;;;-1:-1:-1;;;8864:11:201;;;8857:100;1304:25:75;8973:12:201;;;8966:101;4703:13:75;;4719:62;;9083:12:201;1253:77:75;;;;;;;;;;;;;1245:86;;;:::i;:::-;4754:9;4765:1;1446:66;4719:24;:62::i;3569:314:27:-;3683:16;;;3697:1;3683:16;;;;;;;;;3635:11;;;;3683:16;;;;;;;;;;;;-1:-1:-1;3683:16:27;3654:45;;3738:10;3705:9;3715:1;3705:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:27;;;8756:92:201;;;;1080:16:27;8864:11:201;;;8857:100;1098:22:27;8973:12:201;;;8966:101;3756:13:27;;3772:62;;9083:12:201;1047:74:27;;;;;;;;;;;;;1039:83;;;:::i;:::-;3807:9;3818:1;1234:66;3772:24;:62::i;:::-;3756:78;;3848:29;3869:5;3856:20;;1596:10:16;1487:126;3832:307:76;3947:16;;;3961:1;3947:16;;;;;;;;;3896:14;;;;3947:16;;;;;;;;;;;;-1:-1:-1;3947:16:76;3918:45;;4002:8;3969:9;3979:1;3969:12;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;1253:70;;;-1:-1:-1;;;1253:70:76;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:18:76;8973:12:201;;;8966:101;1253:70:76;;;;;;;;;;9083:12:201;;1253:70:76;;-1:-1:-1;;4034:62:76;;1245:79;;;:::i;:::-;4069:9;4080:1;1432:66;4034:24;:62::i;:::-;4110:23;;;3832:307;-1:-1:-1;;;;3832:307:76:o;6495:222:75:-;6578:16;;;6592:1;6578:16;;;;;;;;;6549:26;;6578:16;;;;;;;;;;;-1:-1:-1;6578:16:75;6549:45;;6639:6;-1:-1:-1;;;;;6623:24:75;6615:33;;6600:9;6610:1;6600:12;;;;;;;;:::i;:::-;;;;;;;;;;;:48;;;;1253:77;;;-1:-1:-1;;;1253:77:75;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:25:75;8973:12:201;;;8966:101;1253:77:75;;;;;;;;;;9083:12:201;;1253:77:75;;6655:57;;1245:86;;;:::i;:::-;6688:9;1446:66;6655:22;:57::i;7055:295:73:-;7161:16;;;7175:1;7161:16;;;;;;;;7132:26;;7161:16;;;;;;;;;;-1:-1:-1;7161:16:73;7132:45;;7216:10;7183:9;7193:1;7183:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;7272:6;-1:-1:-1;;;;;7256:24:73;7248:33;;7233:9;7243:1;7233:12;;;;;;;;:::i;:::-;;;;;;;;;;;:48;;;;1253:77;;;-1:-1:-1;;;1253:77:73;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:25:73;8973:12:201;;;8966:101;1253:77:73;;;;;;;;;;9083:12:201;;1253:77:73;;7288:57;;1245:86;;;:::i;:::-;7321:9;1446:66;7288:22;:57::i;4933:268:27:-;5033:16;;;5047:1;5033:16;;;;;;;;;5004:26;;5033:16;;;;;;;;;;;-1:-1:-1;5033:16:27;5004:45;;5088:10;5055:9;5065:1;5055:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:27;;;8756:92:201;;;;1080:16:27;8864:11:201;;;8857:100;1098:22:27;8973:12:201;;;8966:101;5106:90:27;;9083:12:201;1047:74:27;;;;;;;;;;;;;1039:83;;;:::i;:::-;5141:9;5152:1;5173:6;5155:26;;;;;;12521:14:201;12514:22;12509:3;12505:32;12493:45;;12563:1;12554:11;;12370:201;5155:26:27;;;;-1:-1:-1;;5155:26:27;;;;;;;;;1234:66;5106:24;:90::i;7669:423:76:-;7754:24;7781:34;7794:6;7802:12;7781;:34::i;:::-;7918:16;;;7932:1;7918:16;;;;;;;;;7754:61;;-1:-1:-1;7822:29:76;;7857:25;;7822:29;;7918:16;;;;;;;;;;;;-1:-1:-1;7918:16:76;7889:45;;7973:8;7940:9;7950:1;7940:12;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;1253:70;;;-1:-1:-1;;;1253:70:76;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:18:76;8973:12:201;;;8966:101;1253:70:76;;;;;;;;;;9083:12:201;;1253:70:76;;7989:98;;1245:79;;;:::i;:::-;8019:9;8030:11;8043:15;8060:12;1432:66;7989:19;:98::i;5878:286:75:-;5973:16;;;5987:1;5973:16;;;;;;;;;5944:26;;5973:16;;;;;;;;;;;-1:-1:-1;5973:16:75;5944:45;;6034:6;-1:-1:-1;;;;;6018:24:75;6010:33;;5995:9;6005:1;5995:12;;;;;;;;:::i;:::-;;;;;;;;;;;:48;;;;1253:77;;;-1:-1:-1;;;1253:77:75;;;8756:92:201;;;;-1:-1:-1;;;8864:11:201;;;8857:100;1304:25:75;8973:12:201;;;8966:101;6050:109:75;;9083:12:201;1253:77:75;8573:528:201;6319:332:73;6429:16;;;6443:1;6429:16;;;;;;;;6400:26;;6429:16;;;;;;;;;;-1:-1:-1;6429:16:73;6400:45;;6484:10;6451:9;6461:1;6451:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6540:6;-1:-1:-1;;;;;6524:24:73;6516:33;;6501:9;6511:1;6501:12;;;;;;;;:::i;:::-;;;;;;;;;;;:48;;;;1253:77;;;-1:-1:-1;;;1253:77:73;;;8756:92:201;;;;-1:-1:-1;;;8864:11:201;;;8857:100;1304:25:73;8973:12:201;;;8966:101;6556:90:73;;9083:12:201;1253:77:73;8573:528:201;1405:1060:4;1545:29;1577:39;1588:11;1601:14;1577:10;:39::i;:::-;1545:71;;1734:25;1776:12;:19;1762:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1762:34:4;;1734:62;;1844:21;1894:25;1889:312;1941:12;:19;1921:17;:39;1889:312;;;2064:19;-1:-1:-1;;;;;1997:87:4;:55;2007:12;2020:17;2007:31;;;;;;;;:::i;:::-;;;;;;;1997:53;;;3392:35;;;3262:170;1997:55;-1:-1:-1;;;;;1997:87:4;;1993:200;;2124:12;2137:17;2124:31;;;;;;;;:::i;:::-;;;;;;;2098:8;2107:13;2098:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2167:15;;;;;1993:200;1962:19;;1889:312;;;;2354:13;2344:8;2337:31;2411:49;2422:11;2435:14;2451:8;2411:10;:49::i;5753:265:72:-;5850:16;;;5864:1;5850:16;;;;;;;;;5821:26;;5850:16;;;;;;;;;;;-1:-1:-1;5850:16:72;5821:45;;5905:11;5872:9;5882:1;5872:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:77;;;-1:-1:-1;;;1253:77:72;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:25:72;8973:12:201;;;8966:101;1253:77:72;;;;;;;;;;9083:12:201;;1253:77:72;;5924:89;;1245:86;;;:::i;:::-;5973:25;;-1:-1:-1;;12725:2:201;12721:15;;;12717:88;5973:25:72;;;12705:101:201;5959:9:72;;5970:1;;12822:12:201;;5973:25:72;;;-1:-1:-1;;5973:25:72;;;;;;;;;1446:66;5924:24;:89::i;6305:349:71:-;6419:16;;;6433:1;6419:16;;;;;;;;;6390:26;;6419:16;;;;;;;;;;;-1:-1:-1;6419:16:71;6390:45;;6474:11;6441:9;6451:1;6441:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:79;;;-1:-1:-1;;;1253:79:71;;;8756:92:201;;;;-1:-1:-1;;;8864:11:201;;;8857:100;1304:27:71;8973:12:201;;;8966:101;6493:156:71;;9083:12:201;1253:79:71;8573:528:201;10308:257:74;10405:16;;;10419:1;10405:16;;;;;;;;;10376:26;;10405:16;;;;;;;;;;;-1:-1:-1;10405:16:74;10376:45;;10460:8;10427:9;10437:1;10427:12;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;1253:74;;;-1:-1:-1;;;1253:74:74;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:22:74;8973:12:201;;;8966:101;1253:74:74;;;;;;;;;;9083:12:201;;1253:74:74;;10476:84;;1245:83;;;:::i;:::-;10531:28;;12998:66:201;12986:79;;10531:28:74;;;12974:92:201;10517:9:74;;10528:1;;13082:12:201;;10531:28:74;;;;;;;;;;;;10476:30;:84::i;1766:227:24:-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:24;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:24:o;22277:355:20:-;22449:178;22483:7;22508:8;22538:63;22577:11;22590:10;22538:38;:63::i;:::-;22616:4;22449:16;:178::i;1063:181:43:-;764:71:78;;;781:15;764:71;;;8756:92:201;1139:4:43;8864:11:201;;;8857:100;;;814:20:78;8973:12:201;;;8966:101;1139:4:43;9083:12:201;764:71:78;;;;;;;;;;;;756:80;;;:::i;:::-;1158:81:43;;;;1063:181;-1:-1:-1;1063:181:43:o;31801:1314:20:-;31931:23;31956:28;31986:24;32052:20;32075:30;:11;:28;:30::i;:::-;32052:53;;32166:65;32199:7;32208:8;32218:12;32166:32;:65::i;:::-;32153:78;;32295:24;32322:30;:11;:28;:30::i;:::-;32295:57;-1:-1:-1;32362:20:20;;32358:753;;32455:66;32503:7;32512:8;32455:47;:66::i;:::-;32438:83;-1:-1:-1;6126:59:15;;;32573:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32573:33:20;-1:-1:-1;32559:47:20;-1:-1:-1;826:4:14;816:15;;32614:21:20;32678:427;32696:16;32692:1;:20;;;32678:427;;;32729:27;32759:63;32801:7;32810:8;32820:1;32759:41;:63::i;:::-;32729:93;-1:-1:-1;32832:14:20;32849:25;:14;32872:1;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;32849:25:20;32832:42;;32884:110;32915:19;32944:6;32960:1;32978:13;32884:12;:110::i;:::-;33073:23;33090:6;33073:23;;:::i;:::-;;;32719:386;;32714:3;;;;;:::i;:::-;;;;32678:427;;;;32384:727;32358:753;32012:1103;;31801:1314;;;;;;;:::o;3854:1003:54:-;3990:12;4004:17;4053:22;4078:26;4095:8;4078:16;:26::i;:::-;4053:51;;4181:9;4176:228;4196:5;:12;4192:1;:16;4176:228;;;4223:9;4245:5;4251:1;4245:8;;;;;;;;:::i;:::-;;;;;;;4223:31;;4266:34;392:6:91;4266:4:54;:14;;;;;:34;;;;:::i;:::-;4262:136;;;4312:77;;;;;3392:35:4;;;;;4312:49:54;;:77;;4362:6;;4370:8;;4380;;4312:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4262:136;-1:-1:-1;4210:3:54;;;;:::i;:::-;;;;4176:228;;;;4479:78;4494:6;4509:5;4526:8;4546;4479:4;:78::i;:::-;4461:96;;-1:-1:-1;4461:96:54;-1:-1:-1;4632:9:54;4627:226;4647:5;:12;4643:1;:16;4627:226;;;4674:9;4696:5;4702:1;4696:8;;;;;;;;:::i;:::-;;;;;;;4674:31;;4717:33;520:6:91;4717:4:54;:14;;;;;:33;;;;:::i;:::-;4713:134;;;4762:76;;;;;3392:35:4;;;;;4762:48:54;;:76;;4811:6;;4819:8;;4829;;4762:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4713:134;-1:-1:-1;4661:3:54;;;;:::i;:::-;;;;4627:226;;;;4023:834;3854:1003;;;;;;;:::o;501:217:90:-;704:6;698:13;691:4;683:6;679:17;672:40;4480:306:72;4591:16;;;4605:1;4591:16;;;;;;;;;4541:13;;;;4591:16;;;;;;;;;;;;-1:-1:-1;4591:16:72;4562:45;;4646:11;4613:9;4623:1;4613:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:77;;;-1:-1:-1;;;1253:77:72;;;8756:92:201;-1:-1:-1;;;8864:11:201;;;8857:100;1304:25:72;8973:12:201;;;8966:101;1253:77:72;;;;;;;;;;9083:12:201;;1253:77:72;;-1:-1:-1;;4681:62:72;;1245:86;;;:::i;:::-;4716:9;4727:1;1446:66;35212:541:20;35369:7;35506:242;35550:59;35591:7;35600:8;35550:40;:59::i;:::-;35627:31;;;;4044:19:3;:27;537:1:30;4043:44:3;4009:79;;;3996:93;35676:63:20;35715:11;35728:10;35676:38;:63::i;:::-;35506:17;:242::i;:::-;35493:255;35212:541;-1:-1:-1;;;;;35212:541:20:o;9912:179:68:-;10009:12;10053:8;10063:22;10036:50;;;;;;;;13916:19:201;;;-1:-1:-1;;;;;;13965:79:201;13960:2;13951:12;;13944:101;14070:2;14061:12;;13730:349;10036:50:68;;;;;;;;;;;;;10029:57;;9912:179;;;;:::o;12721:3002:20:-;12994:7;12978:75;13003:8;13013:10;13025:14;13041:11;12978:75;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;13118:7:20;:35;;;13163:7;13114:62;13314:22;13339:24;13355:7;13339:15;:24::i;:::-;13314:49;;13374:9;13369:340;13389:5;:12;13385:1;:16;13369:340;;;13416:9;13438:5;13444:1;13438:8;;;;;;;;:::i;:::-;;;;;;;13416:31;;13459:33;343:6:32;13459:4:20;:14;;;;;:33;;;;:::i;:::-;13455:248;;;13504:190;;;;;3392:35:4;;;;;13504:47:20;;:190;;13563:7;;13582:8;;13602:10;;13624:14;;13650:11;;13673;;13504:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13455:248;-1:-1:-1;13403:3:20;;;;:::i;:::-;;;;13369:340;;;;13772:26;13801:59;13842:7;13851:8;13801:40;:59::i;:::-;13772:88;-1:-1:-1;13866:21:20;826:4:14;816:15;;13866:54:20;;13926:149;13964:18;13998:1;14022:13;14051:10;:17;13926:13;:149::i;:::-;14175:1;14142:30;:11;:28;:30::i;:::-;:34;14138:1174;;;14261:33;14297:66;14345:7;14354:8;14297:47;:66::i;:::-;579:28:19;;;14261:102:20;-1:-1:-1;826:4:14;816:15;;14537:47:20;;14693:27;14728:25;14766:7;14761:545;14779:30;:11;:28;:30::i;:::-;14775:1;:34;;;14761:545;;;14845:63;14887:7;14896:8;14906:1;14845:41;:63::i;:::-;14823:85;-1:-1:-1;14938:25:20;:14;14961:1;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;14938:25:20;14918:45;;14973:170;15015:19;15054:1;15082:13;15115:17;14973:13;:170::i;:::-;15153:34;15170:17;15153:34;;:::i;:::-;;-1:-1:-1;15284:3:20;;14761:545;;;;14178:1134;;;14138:1174;15386:9;15381:338;15401:5;:12;15397:1;:16;15381:338;;;15428:9;15450:5;15456:1;15450:8;;;;;;;;:::i;:::-;;;;;;;15428:31;;15471:32;437:6:32;15471:4:20;:14;;;;;:32;;;;:::i;:::-;15467:246;;;15515:189;;;;;3392:35:4;;;;;15515:46:20;;:189;;15573:7;;15592:8;;15612:10;;15634:14;;15660:11;;15683;;15515:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15467:246;-1:-1:-1;15415:3:20;;;;:::i;:::-;;;;15381:338;;;;12930:2793;;;12721:3002;;;;;;:::o;6015:304:69:-;6094:29;6254:54;6282:17;6276:31;785:5:15;1783:39;;;1765:58;;1626:263;6484:155:69;6563:12;6614:17;6590:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;6583:51;;6484:155;;;:::o;25465:1680:20:-;25635:7;25616:37;25644:8;25616:37;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;25718:7:20;:35;;;25714:62;;25465:1680;;;:::o;25714:62::-;25917:22;25942:24;25958:7;25942:15;:24::i;:::-;25917:49;;25977:9;25972:235;25992:5;:12;25988:1;:16;25972:235;;;26019:9;26041:5;26047:1;26041:8;;;;;;;;:::i;:::-;;;;;;;26019:31;;26062:36;983:6:32;26062:4:20;:14;;;;;:36;;;;:::i;:::-;26058:143;;;26110:82;;;;;3392:35:4;;;;;26110:50:20;;:82;;26161:7;;26170:8;;26180:11;;26110:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26058:143;-1:-1:-1;26006:3:20;;;;:::i;:::-;;;;25972:235;;;;26239:26;26268:59;26309:7;26318:8;26268:40;:59::i;:::-;26239:88;;26333:113;26365:18;26393:1;26412:30;:11;:28;:30::i;:::-;26402:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26402:41:20;;26333:13;:113::i;:::-;26665:1;26632:30;:11;:28;:30::i;:::-;:34;26628:236;;;26676:33;26712:66;26760:7;26769:8;26712:47;:66::i;:::-;26676:102;;26786:71;26817:25;26852:2;26786:12;:71::i;:::-;26668:196;26628:236;26913:9;26908:233;26928:5;:12;26924:1;:16;26908:233;;;26955:9;26977:5;26983:1;26977:8;;;;;;;;:::i;:::-;;;;;;;26955:31;;26998:35;1083:6:32;26998:4:20;:14;;;;;:35;;;;:::i;:::-;26994:141;;;27045:81;;;;;3392:35:4;;;;;27045:49:20;;:81;;27095:7;;27104:8;;27114:11;;27045:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26994:141;-1:-1:-1;26942:3:20;;;;:::i;:::-;;;;26908:233;;9492:150:76;9599:38;;9572:12;17317:15:201;;;-1:-1:-1;;17313:88:201;9599:38:76;;;17301:101:201;17448:14;;17441:22;17436:3;17432:32;17418:12;;;17411:54;9572:12:76;17481::201;;9599:38:76;17150:349:201;4302:369:26;4442:16;;;4456:1;4442:16;;;;;;;;;4383:22;;4413:26;;4442:16;;;;;;;;;;;;-1:-1:-1;4442:16:26;4413:45;;4497:10;4464:9;4474:1;4464:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4515:18;4536:49;4562:8;4572:9;4583:1;4536:25;:49::i;:::-;4515:70;;4599:66;:44;4620:5;4627:1;4630:5;:12;4599:20;:44::i;:::-;:64;:66::i;5689:282::-;5815:16;;;5829:1;5815:16;;;;;;;;;5786:26;;5815:16;;;;;;;;;;;-1:-1:-1;5815:16:26;5786:45;;5870:10;5837:9;5847:1;5837:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5888:78;5914:8;5924:9;5935:1;5938:27;5958:5;5938:18;:27::i;:::-;5888:25;:78::i;12274:451:24:-;12434:21;12458:17;:15;:17::i;:::-;12434:41;-1:-1:-1;12510:4:24;-1:-1:-1;;;;;12485:30:24;;;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:24;;;;;:90;;12665:7;;12674:8;;12684:17;;12703:10;;12624:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12428:297;12274:451;;;;:::o;50636:242:20:-;50732:7;;;50771:84;50791:10;50787:14;;:1;:14;50771:84;;;50816:32;3996:93:3;4044:19;:27;;;537:1:30;4043:44:3;4009:79;;;3996:93;50816:32:20;;:::i;:::-;;-1:-1:-1;50803:3:20;;;;:::i;:::-;;;;50771:84;;16359:1506;16480:16;16499:59;16540:7;16549:8;16499:40;:59::i;:::-;16480:78;;16660:7;16616:100;16679:8;16696:5;16709:4;16616:100;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;16781:7:20;:35;;;16777:62;;16826:7;;;16777:62;16984:22;17009:24;17025:7;17009:15;:24::i;:::-;16984:49;;17044:9;17039:328;17059:5;:12;17055:1;:16;17039:328;;;17086:9;17108:5;17114:1;17108:8;;;;;;;;:::i;:::-;;;;;;;17086:31;;17129:41;548:6:32;17129:4:20;:14;;;;;:41;;;;:::i;:::-;17125:236;;;17182:170;;;;;3392:35:4;;;;;17182:54:20;;:170;;17258:7;;17287:8;;17314:5;;17337:4;;17182:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17125:236;-1:-1:-1;17073:3:20;;;;:::i;:::-;;;;17039:328;;;;17416:70;17448:8;17466:5;17416:70;;17479:4;17416:13;:70::i;:::-;17540:9;17535:326;17555:5;:12;17551:1;:16;17535:326;;;17582:9;17604:5;17610:1;17604:8;;;;;;;;:::i;:::-;;;;;;;17582:31;;17625:40;657:6:32;17625:4:20;:14;;;;;:40;;;;:::i;:::-;17621:234;;;17677:169;;;;;3392:35:4;;;;;17677:53:20;;:169;;17752:7;;17781:8;;17808:5;;17831:4;;17677:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17621:234;-1:-1:-1;17569:3:20;;;;:::i;:::-;;;;17535:326;;4319:171:3;4393:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4415:70:3;;;;;4319:171;-1:-1:-1;4319:171:3:o;47636:360:20:-;47762:12;47786:6;47796:1;47786:11;47782:26;;-1:-1:-1;47799:9:20;;;;;;;;;-1:-1:-1;47799:9:20;;;;47782:26;47849:16;47868:41;47891:7;47900:8;47868:22;:41::i;:::-;47849:60;;47922:69;47953:8;47971:6;47987:1;47922:12;:69::i;:::-;47915:76;;;47636:360;;;;;;:::o;5098:173:3:-;5172:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5208:11:3;5187:79;5200:65;;5187:79;;5098:173;-1:-1:-1;;5098:173:3:o;52752:301:20:-;52873:13;52965:82;52996:48;53026:7;53035:8;52996:29;:48::i;:::-;4572:21:19;;4466:137;51555:274:20;51699:7;51804;51813:8;51787:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;51777:46;;;;;;51756:17;51749:25;;51729:45;;;41298:34;51729:45;:94;51721:103;;51714:110;;51555:274;;;;;:::o;5933:2374:19:-;6050:10;;6046:1537;;6203:2;6193:6;:12;6189:122;;6266:2;6257:6;:11;6239:29;;;;6290:2;6280:12;;;;;;:::i;:::-;;;;6189:122;6401:10;;6397:1180;;6609:2;:11;;;6483:21;6667:22;;;6663:133;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;6979:14;6973:21;6969:1;6961:6;6957:14;6953:42;7226:4;7222:9;7206:13;7200:20;7196:36;7127:4;7115:10;7111:21;7054:192;7027:13;7007:251;;7317:13;7307:6;:23;7303:36;;7332:7;;;;7303:36;-1:-1:-1;7480:1:19;7462:19;;;;;7535:23;;;;;7493:30;6397:1180;7612:253;7629:2;7619:6;:12;7612:253;;7723:21;;7701:44;;7798:1;7780:19;;;;-1:-1:-1;;7838:12:19;;;;7826:2;7809:19;7612:253;;;7933:10;;7929:374;;7953:12;-1:-1:-1;;1080:1:31;1067:14;;1045:37;1043:40;8235:20:19;;8150:21;;8146:32;;8257:9;;8231:36;8095:184;8052:237;;-1:-1:-1;5933:2374:19;;;;:::o;4588:344:74:-;4705:16;;;4719:1;4705:16;;;;;;;;;4646:22;;4676:26;;4705:16;;;;;;;;;;;;-1:-1:-1;4705:16:74;4676:45;;4760:8;4727:9;4737:1;4727:12;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;1253:74;;;-1:-1:-1;;;1253:74:74;;;8756:92:201;;;;-1:-1:-1;;;8864:11:201;;;8857:100;1304:22:74;8973:12:201;;;8966:101;4776:18:74;;4797:49;;9083:12:201;1253:74:74;;;;;;;;;;;;;1245:83;;;:::i;:::-;4833:9;4844:1;4797:25;:49::i;:::-;4776:70;;4860:66;:44;4881:5;4888:1;4891:5;:12;4860:20;:44::i;2891:136:4:-;2961:4;3013:9;2980:42;;2999:9;2981:15;2991:4;3790:26;;;3660:162;2981:15;:27;2980:42;;;2973:49;;2891:136;;;;:::o;1833:1386:54:-;1960:12;1974:17;2028:21;2051:17;2072:22;2085:8;2072:12;:22::i;:::-;2027:67;;-1:-1:-1;2027:67:54;-1:-1:-1;;;;;;2139:27:54;;2135:106;;2211:8;2221:19;:8;:17;:19::i;:::-;2175:66;;;;;;;;;;;;:::i;2135:106::-;2347:12;2342:64;;2361:45;2389:8;2399:6;2361:27;:45::i;:::-;2485:9;;2481:197;;606:36:58;2848:46;;-1:-1:-1;;;2847:74:58;2504:22:54;2587:26;2847:74:58;2587:13:54;:26::i;:::-;2562:51;-1:-1:-1;2621:50:54;2635:11;2648:22;2665:5;2562:51;2648:22;:::i;:::-;2621:13;:50::i;:::-;2496:182;;2481:197;2780:14;2753:23;:8;336:5:16;2530:44:58;;2432:148;2753:23:54;-1:-1:-1;;2753:41:54;;:461;;3054:160;3115:6;3141:5;3164:13;3197:8;3054:39;:160::i;:::-;2753:461;;;2877:168;2946:6;2972:5;2995:13;3028:8;2877:47;:168::i;:::-;2735:479;;;;-1:-1:-1;1833:1386:54;-1:-1:-1;;;;;;;1833:1386:54:o;49619:191:20:-;49721:7;49785;49794:8;49768:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;49768:35:20;;;;;;;;;49758:46;;49768:35;49758:46;;;;41226:22;49751:53;;49619:191;-1:-1:-1;;;49619:191:20:o;8796:790:19:-;8894:14;8930:2;8920:6;:12;8916:112;;8989:2;8980:6;:11;8962:29;;;;9011:2;9001:12;;;;;;:::i;:::-;;;;8916:112;-1:-1:-1;9208:21:19;;9204:1;9192:14;;9188:42;9356:2;:11;;;9438:22;;;9434:148;;;9563:1;9547:14;9543:22;9537:29;9533:1;9518:13;9514:21;9510:57;9502:6;9499:69;9489:79;;8910:676;8796:790;;;;;:::o;4372:342:28:-;4488:16;;;4502:1;4488:16;;;;;;;;;4429:22;;4459:26;;4488:16;;;;;;;;;;;;-1:-1:-1;4488:16:28;4459:45;;4543:7;4510:9;4520:1;4510:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1047:73;;;-1:-1:-1;;;1047:73:28;;;8756:92:201;;;;1080:16:28;8864:11:201;;;8857:100;1098:21:28;8973:12:201;;;8966:101;4558:18:28;;4579:49;;9083:12:201;1047:73:28;8573:528:201;1373:2326:19;1486:10;;1482:1491;;1639:2;1629:6;:12;1625:122;;1702:2;1693:6;:11;1675:29;;;;1726:2;1716:12;;;;;;:::i;:::-;;;;1625:122;1837:10;;1833:1134;;2045:2;:11;;;1919:21;-1:-1:-1;;1080:1:31;1067:14;;1045:37;1043:40;2077:31:19;;2277:1;2269:6;2265:14;2313:4;2302:9;2298:20;2290:28;;2368:13;2362:20;2351:9;2347:36;2329:54;;2616:4;2612:9;2595:14;2589:21;2585:37;2516:4;2504:10;2500:21;2443:193;2415:14;2395:253;;2707:13;2697:6;:23;2693:36;;2722:7;;;;2693:36;-1:-1:-1;2870:1:19;2852:19;;;;;2883:30;;;;2925:23;;1833:1134;3003:253;3020:2;3010:6;:12;3003:253;;3115:20;;3092:44;;3189:1;3171:19;;;;3217:2;3200:19;;;;-1:-1:-1;;3229:12:19;3003:253;;;3324:10;;3320:375;;3344:12;-1:-1:-1;;1080:1:31;1067:14;;1045:37;1043:40;3626:21:19;;3542:20;;3538:31;;3649:9;;3622:37;3487:184;3443:238;;-1:-1:-1;1373:2326:19;;;;:::o;52184:230:20:-;52305:7;52389;52398:8;52372:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52372:35:20;;;;;;;;;52362:46;;52372:35;52362:46;;;;41389:40;52335:73;;52184:230;-1:-1:-1;;;52184:230:20:o;850:162:19:-;939:68;945:14;961:6;826:4:14;816:15;;995:4:19;:11;939:5;:68::i;3893:370::-;4015:13;4064:2;4049:11;:6;4058:2;4049:11;:::i;:::-;4048:18;;;;:::i;:::-;4031:35;;:14;:35;:::i;:::-;4015:51;;4072:187;4096:5;4079:14;:22;4072:187;;;4194:1;4178:14;4171:25;4243:1;4227:14;4223:22;4205:40;;4072:187;;36221:522:20;36357:12;36481:257;36520:79;36562:7;36571:8;36581:17;36520:41;:79::i;:::-;36617:93;36692:17;36617:66;36665:7;36674:8;36617:47;:66::i;:::-;:74;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;36617:93:20;36728:1;36481:12;:257::i;2022:570:18:-;2113:5;2211:3;2202:5;:12;;:34;;;;;2225:4;:11;2218:3;:18;;2202:34;2196:85;;2264:4;2270:5;2277:3;2246:35;;;;;;;;;;;;;:::i;2196:85::-;2349:4;2339:15;;2396:17;2408:5;2339:15;2396:17;:::i;:::-;;-1:-1:-1;2419:12:18;2434:11;2440:5;2434:3;:11;:::i;:::-;643:17;2570:15;2562:3;2550:15;;;;2549:37;;;;;;-1:-1:-1;;;;;2022:570:18: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;23322:737:20:-;23573:36;23612:66;23660:7;23669:8;23612:47;:66::i;:::-;23573:105;-1:-1:-1;23684:26:20;23720:49;23573:105;23751:17;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;23720:49:20;23684:86;;23777:277;23831:7;23856:8;23891:17;23934:1;23956:19;23989:4;24025:22;23777:36;:277::i;27809:790::-;28068:36;28107:66;28155:7;28164:8;28107:47;:66::i;:::-;28068:105;-1:-1:-1;28179:26:20;28215:49;28068:105;28246:17;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;28215:49:20;28179:86;;28303:291;28357:7;28382:8;28417:17;28467:19;28508:1;28523:10;28565:22;28303:36;:291::i;4903:665:19:-;5315:4;5309:11;5356:4;5344:17;;-1:-1:-1;;5234:14:19;5403:26;;;5234:14;5230:28;5375:4;5368:63;5475:6;5467;5460:22;5493:51;5498:14;5514:6;5522;5530:13;5493:4;:51::i;1395:281:42:-;1557:29;1567:10;1579:6;1557:9;:29::i;:::-;1552:120;;1635:21;:10;:19;:21::i;4482:308:67:-;4595:16;;;4609:1;4595:16;;;;;;;;;4543:15;;;;4595:16;;;;;;;;;;;;-1:-1:-1;4595:16:67;4566:45;;4650:11;4617:9;4627:1;4617:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:71;;;-1:-1:-1;;;1253:71:67;;;8756:92:201;;;;-1:-1:-1;;;8864:11:201;;;8857:100;1304:19:67;8973:12:201;;;8966:101;4669:13:67;;4685:62;;9083:12:201;1253:71:67;8573:528:201;5781:269:67;5880:16;;;5894:1;5880:16;;;;;;;;;5851:26;;5880:16;;;;;;;;;;;-1:-1:-1;5880:16:67;5851:45;;5935:11;5902:9;5912:1;5902:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:71;;;-1:-1:-1;;;1253:71:67;;;8756:92:201;;;;-1:-1:-1;;;8864:11:201;;;8857:100;1304:19:67;8973:12:201;;;8966:101;5954:91:67;;9083:12:201;1253:71:67;8573:528:201;5311:317:57;5450:12;5464:17;5507:6;-1:-1:-1;;;;;5507:11:57;5527:1;5538:79;5564:8;5585:9;5606:8;5538:13;:79::i;:::-;5507:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5489:134:57;;;;-1:-1:-1;5311:317:57;-1:-1:-1;;;;;5311:317:57:o;6132:321::-;6279:12;6293:17;6336:6;-1:-1:-1;;;;;6336:19:57;6363:79;6389:8;6410:9;6431:8;6363:13;:79::i;:::-;6336:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:1127:36;2751:22;2781:21;2805;:11;2946:3:18;2924:25;;2850:104;2805:21:36;2781:45;-1:-1:-1;643:17:18;3187:38;;2832:20:36;2994:11;3187:38:18;2994:11:36;2979:26;;;;:::i;:::-;;2965:40;;3114:4;3108:11;3099:20;;3157:4;3150:5;3146:16;3217:2;3204:11;3200:20;3186:12;3182:39;3176:4;3169:53;3265:11;3258:5;3251:26;3308:1;3285:463;3324:11;3321:1;3318:18;3285:463;;;3718:20;;3697:42;;3676:64;;3590:31;;;;3503:4;3485:23;;;;3411:1;3404:9;3285:463;;;3289:28;;3066:688;;;2631:1127;;;;;:::o;784:1339::-;956:12;;909:17;;934:19;997:26;1012:11;956:12;997:26;:::i;:::-;974:49;;1391:4;1385:11;;-1:-1:-1;1434:4:36;1424:15;;-1:-1:-1;;5234:14:19;1481:32:36;;;5234:14:19;5230:28;1453:4:36;1446:69;1557:12;1551:4;1544:26;1601:1;1671:4;1664:5;1660:16;1578:535;1691:11;1688:1;1685:18;1578:535;;;2084:19;;2063:41;;2041:64;;1957:31;;;;1778:1;1771:9;;;;;1870:4;1852:23;1578:535;;43119:3949:20;-1:-1:-1;;;43516:7:20;:35;;;43512:161;;-1:-1:-1;;;43623:7:20;43656;43639:25;;;;;;9786:19:201;;9830:2;9821:12;;9657:182;43639:25:20;;;;-1:-1:-1;;43639:25:20;;;;;;;;;;43568:98;;;;;;;;;;:::i;43512:161::-;43679:27;43709:49;:22;43740:17;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;43709:49:20;43679:79;;43764:26;43829:4;:11;43815;43793:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;43764:76;;44112:18;44089:19;:41;;:98;;;;-1:-1:-1;44168:19:20;44134:30;44153:11;44134:16;:30;:::i;:::-;:53;;;;44089:98;44085:218;;;44204:92;;;;;21824:12:201;21863:15;;;44204:92:20;;;21845:34:201;21915:15;;;21895:18;;;21888:43;21967:15;;21947:18;;;21940:43;21787:18;;44204:92:20;21618:371:201;44085:218:20;44409:19;44390:16;:38;;;44386:140;;;44445:74;;;;;;;;22167:25:201;;;22240:12;22228:25;;22208:18;;;22201:53;22140:18;;44445:74:20;21994:266:201;44386:140:20;44565:35;44603:72;:22;44637:17;44656:18;44603:33;:72::i;:::-;44565:110;-1:-1:-1;44734:32:20;;;:13;44874:107;44892:17;44888:21;;:1;:21;;;44874:107;;;44937:33;:22;44968:1;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;44937:33:20;44928:42;;;;44911:3;;44874:107;;;;45103:7;45050:228;45130:8;45162:5;45191:11;45228:21;45265:4;45050:228;;;;;;;;;;:::i;:::-;;;;;;;;44682:603;45431:22;45456:24;45472:7;45456:15;:24::i;:::-;45431:49;;45491:9;45486:485;45506:5;:12;45502:1;:16;45486:485;;;45533:9;45555:5;45561:1;45555:8;;;;;;;;:::i;:::-;;;;;;;45533:31;;45576:42;770:6:32;45576:4:20;:14;;;;;:42;;;;:::i;:::-;45572:393;;;3392:35:4;;;;-1:-1:-1;;;;;45630:55:20;;45707:7;45736:8;45775:17;45822:16;45863:11;45902:21;45941:4;45630:326;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45572:393;-1:-1:-1;45520:3:20;;;;:::i;:::-;;;;45486:485;;;;46056:18;46033:19;:41;46029:248;;46084:31;46118:48;46148:7;46157:8;46118:29;:48::i;:::-;579:28:19;;;-1:-1:-1;46029:248:20;46334:27;46364:61;46388:7;46397:8;46407:17;46364:23;:61::i;:::-;46334:91;;46433:92;46465:19;46494:16;46433:92;;46518:4;46433:13;:92::i;:::-;46326:206;46586:9;46581:483;46601:5;:12;46597:1;:16;46581:483;;;46628:9;46650:5;46656:1;46650:8;;;;;;;;:::i;:::-;;;;;;;46628:31;;46671:41;881:6:32;46671:4:20;:14;;;;;:41;;;;:::i;:::-;46667:391;;;3392:35:4;;;;-1:-1:-1;;;;;46724:54:20;;46800:7;46829:8;46868:17;46915:16;46956:11;46995:21;47034:4;46724:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46667:391;-1:-1:-1;46615:3:20;;;;:::i;:::-;;;;46581:483;;;;43362:3706;;;;43119:3949;;;;;;;:::o;804:327:42:-;885:4;1027:56;-1:-1:-1;;;606:36:58;2848:46;;2847:74;1076:6:42;1027:19;:56::i;:::-;:99;;;;1087:39;1107:10;1119:6;1087:19;:39::i;4614:201:57:-;4736:12;4780:8;4790:9;4801:8;4763:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4756:54;;4614:201;;;;;:::o;7139:1488:15:-;7265:13;933:16;7290:25;;7286:97;;;7332:44;;;;;;;;4002:25:201;;;3975:18;;7332:44:15;3856:177:201;7286:97:15;7445:13;6126:59;;;6743:16;;;862:5;6743:16;785:5;6732:27;6692:68;;;6670:92;;7708:38;;;7704:192;;7791:19;7773:15;:37;7758:52;;;;7704:192;;;7872:15;7850:19;:37;7835:52;;;;7704:192;-1:-1:-1;8212:16:15;785:5;862;8079:16;;;;8068:27;8204:35;;;8518:5;8357:26;8338:45;;;;8337:61;;;8499:24;;;;8528:34;;;;;8498:65;;-1:-1:-1;7139:1488:15;;;;;:::o;4767:378:73:-;4891:16;;;4905:1;4891:16;;;;;;;;4843:11;;;;4891:16;4905:1;4891:16;;;;;;;;;;-1:-1:-1;4891:16:73;4862:45;;4946:10;4913:9;4923:1;4913:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5002:6;-1:-1:-1;;;;;4986:24:73;4978:33;;4963:9;4973:1;4963:12;;;;;;;;:::i;:::-;;;;;;;;;;;:48;;;;1253:77;;;-1:-1:-1;;;1253:77:73;;;8756:92:201;;;;-1:-1:-1;;;8864:11:201;;;8857:100;1304:25:73;8973:12:201;;;8966:101;5018:13:73;;5034:62;;9083:12:201;1253:77:73;8573:528:201;5034:62:73;5018:78;;5110:29;5131:5;5118:20;;1596:10:16;1487:126;14:219:201;81:20;;-1:-1:-1;;;;;;130:78:201;;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:201;925:54;918:5;915:65;905:93;;994:1;991;984:12;1009:184;-1:-1:-1;;;1058:1:201;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:201;;;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:201;2327:18;;2314:32;;-1:-1:-1;2397:2:201;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:118::-;3303:5;3296:13;3289:21;3282:5;3279:32;3269:60;;3325:1;3322;3315:12;3340:511;3475:6;3483;3491;3544:2;3532:9;3523:7;3519:23;3515:32;3512:52;;;3560:1;3557;3550:12;3512:52;3596:9;3583:23;3573:33;;3656:2;3645:9;3641:18;3628:32;3669:31;3694:5;3669:31;:::i;:::-;3719:5;-1:-1:-1;3776:2:201;3761:18;;3748:32;3789:30;3748:32;3789:30;:::i;:::-;3838:7;3828:17;;;3340:511;;;;;:::o;4038:492::-;4155:6;4163;4171;4224:2;4212:9;4203:7;4199:23;4195:32;4192:52;;;4240:1;4237;4230:12;4192:52;4276:9;4263:23;4253:33;;4337:2;4326:9;4322:18;4309:32;4364:18;4356:6;4353:30;4350:50;;;4396:1;4393;4386:12;4350:50;4419:49;4460:7;4451:6;4440:9;4436:22;4419:49;:::i;:::-;4409:59;;;4487:37;4520:2;4509:9;4505:18;4487:37;:::i;:::-;4477:47;;4038:492;;;;;:::o;4535:367::-;4655:6;4663;4716:2;4704:9;4695:7;4691:23;4687:32;4684:52;;;4732:1;4729;4722:12;4684:52;4768:9;4755:23;4745:33;;4828:2;4817:9;4813:18;4800:32;4841:31;4866:5;4841:31;:::i;:::-;4891:5;4881:15;;;4535:367;;;;;:::o;4907:211::-;4997:6;5050:2;5038:9;5029:7;5025:23;5021:32;5018:52;;;5066:1;5063;5056:12;5018:52;-1:-1:-1;5089:23:201;;4907:211;-1:-1:-1;4907:211:201:o;5123:518::-;5271:6;5279;5287;5340:2;5328:9;5319:7;5315:23;5311:32;5308:52;;;5356:1;5353;5346:12;5308:52;5392:9;5379:23;5369:33;;5449:2;5438:9;5434:18;5421:32;5411:42;;5504:2;5493:9;5489:18;5476:32;5531:18;5523:6;5520:30;5517:50;;;5563:1;5560;5553:12;5646:532;5773:6;5781;5789;5842:2;5830:9;5821:7;5817:23;5813:32;5810:52;;;5858:1;5855;5848:12;5810:52;5894:9;5881:23;5871:33;;5954:2;5943:9;5939:18;5926:32;5967:31;5992:5;5967:31;:::i;:::-;6017:5;-1:-1:-1;6074:2:201;6059:18;;6046:32;6122:4;6109:18;;6097:31;;6087:59;;6142:1;6139;6132:12;6183:250;6268:1;6278:113;6292:6;6289:1;6286:13;6278:113;;;6368:11;;;6362:18;6349:11;;;6342:39;6314:2;6307:10;6278:113;;;-1:-1:-1;;6425:1:201;6407:16;;6400:27;6183:250::o;6438:999::-;6867:3;6905:6;6899:13;6921:66;6980:6;6975:3;6968:4;6960:6;6956:17;6921:66;:::i;:::-;7018:6;7013:3;7009:16;6996:29;;7044:3;7070:2;7063:5;7056:17;7104:6;7098:13;7120:78;7189:8;7185:1;7178:5;7174:13;7167:4;7159:6;7155:17;7120:78;:::i;:::-;7261:1;7217:20;;7253:10;;;7246:22;7293:13;;7315:75;7293:13;7377:1;7369:10;;7362:4;7350:17;;7315:75;:::i;:::-;7410:17;7429:1;7406:25;;6438:999;-1:-1:-1;;;;;6438:999:201:o;7442:330::-;7484:3;7522:5;7516:12;7549:6;7544:3;7537:19;7565:76;7634:6;7627:4;7622:3;7618:14;7611:4;7604:5;7600:16;7565:76;:::i;:::-;7686:2;7674:15;-1:-1:-1;;7670:88:201;7661:98;;;;7761:4;7657:109;;7442:330;-1:-1:-1;;7442:330:201:o;7777:464::-;8023:66;8015:6;8011:79;8000:9;7993:98;8127:6;8122:2;8111:9;8107:18;8100:34;8170:2;8165;8154:9;8150:18;8143:30;7974:4;8190:45;8231:2;8220:9;8216:18;8208:6;8190:45;:::i;8246:322::-;8454:6;8443:9;8436:25;8497:2;8492;8481:9;8477:18;8470:30;8417:4;8517:45;8558:2;8547:9;8543:18;8535:6;8517:45;:::i;9106:357::-;9224:12;;9271:4;9260:16;;;9254:23;;9224:12;9289:16;;9286:171;;;-1:-1:-1;;9369:6:201;9363:4;9359:17;9356:1;9352:25;9348:98;9341:5;9337:110;9328:119;;9286:171;;9106:357;;;:::o;9468:184::-;-1:-1:-1;;;9517:1:201;9510:88;9617:4;9614:1;9607:15;9641:4;9638:1;9631:15;9844:245;9911:6;9964:2;9952:9;9943:7;9939:23;9935:32;9932:52;;;9980:1;9977;9970:12;9932:52;10012:9;10006:16;10031:28;10053:5;10031:28;:::i;10467:340::-;10644:2;10633:9;10626:21;10607:4;10664:45;10705:2;10694:9;10690:18;10682:6;10664:45;:::i;:::-;10656:53;;-1:-1:-1;;;;;10749:6:201;10745:55;10740:2;10729:9;10725:18;10718:83;10467:340;;;;;:::o;10812:184::-;-1:-1:-1;;;10861:1:201;10854:88;10961:4;10958:1;10951:15;10985:4;10982:1;10975:15;11001:195;11040:3;-1:-1:-1;;11064:5:201;11061:77;11058:103;;11141:18;;:::i;:::-;-1:-1:-1;11188:1:201;11177:13;;11001:195::o;11461:125::-;11526:9;;;11547:10;;;11544:36;;;11560:18;;:::i;13105:175::-;13142:3;13186:4;13179:5;13175:16;13215:4;13206:7;13203:17;13200:43;;13223:18;;:::i;:::-;13272:1;13259:15;;13105:175;-1:-1:-1;;13105:175:201:o;13285:440::-;-1:-1:-1;;;;;13523:6:201;13519:55;13508:9;13501:74;13611:6;13606:2;13595:9;13591:18;13584:34;13654:2;13649;13638:9;13634:18;13627:30;13482:4;13674:45;13715:2;13704:9;13700:18;13692:6;13674:45;:::i;14084:435::-;14137:3;14175:5;14169:12;14202:6;14197:3;14190:19;14228:4;14257:2;14252:3;14248:12;14241:19;;14294:2;14287:5;14283:14;14315:1;14325:169;14339:6;14336:1;14333:13;14325:169;;;14400:13;;14388:26;;14434:12;;;;14469:15;;;;14361:1;14354:9;14325:169;;;-1:-1:-1;14510:3:201;;14084:435;-1:-1:-1;;;;;14084:435:201:o;14524:690::-;14857:3;14846:9;14839:22;14820:4;14884:57;14936:3;14925:9;14921:19;14913:6;14884:57;:::i;:::-;14989:9;14981:6;14977:22;14972:2;14961:9;14957:18;14950:50;15023:33;15049:6;15041;15023:33;:::i;:::-;15009:47;;15092:6;15087:2;15076:9;15072:18;15065:34;15147:9;15139:6;15135:22;15130:2;15119:9;15115:18;15108:50;15175:33;15201:6;15193;15175:33;:::i;:::-;15167:41;14524:690;-1:-1:-1;;;;;;;14524:690:201:o;15219:897::-;15671:6;15660:9;15653:25;15714:3;15709:2;15698:9;15694:18;15687:31;15634:4;15741:57;15793:3;15782:9;15778:19;15770:6;15741:57;:::i;:::-;15846:9;15838:6;15834:22;15829:2;15818:9;15814:18;15807:50;15880:33;15906:6;15898;15880:33;:::i;:::-;15866:47;;15949:6;15944:2;15933:9;15929:18;15922:34;16005:9;15997:6;15993:22;15987:3;15976:9;15972:19;15965:51;16033:33;16059:6;16051;16033:33;:::i;:::-;16025:41;;;16103:6;16097:3;16086:9;16082:19;16075:35;15219:897;;;;;;;;;:::o;16121:287::-;16250:3;16288:6;16282:13;16304:66;16363:6;16358:3;16351:4;16343:6;16339:17;16304:66;:::i;:::-;16386:16;;;;;16121:287;-1:-1:-1;;16121:287:201:o;16413:261::-;16592:2;16581:9;16574:21;16555:4;16612:56;16664:2;16653:9;16649:18;16641:6;16612:56;:::i;16679:466::-;16977:6;16966:9;16959:25;17020:2;17015;17004:9;17000:18;16993:30;16940:4;17040:56;17092:2;17081:9;17077:18;17069:6;17040:56;:::i;:::-;17032:64;;17132:6;17127:2;17116:9;17112:18;17105:34;16679:466;;;;;;:::o;17504:604::-;17812:6;17801:9;17794:25;17855:3;17850:2;17839:9;17835:18;17828:31;17775:4;17882:57;17934:3;17923:9;17919:19;17911:6;17882:57;:::i;:::-;17987:4;17979:6;17975:17;17970:2;17959:9;17955:18;17948:45;18041:9;18033:6;18029:22;18024:2;18013:9;18009:18;18002:50;18069:33;18095:6;18087;18069:33;:::i;18113:512::-;18364:2;18353:9;18346:21;18327:4;18390:56;18442:2;18431:9;18427:18;18419:6;18390:56;:::i;:::-;18494:14;18486:6;18482:27;18477:2;18466:9;18462:18;18455:55;18558:9;18550:6;18546:22;18541:2;18530:9;18526:18;18519:50;18586:33;18612:6;18604;18586:33;:::i;18630:616::-;18940:6;18929:9;18922:25;18983:3;18978:2;18967:9;18963:18;18956:31;18903:4;19010:57;19062:3;19051:9;19047:19;19039:6;19010:57;:::i;:::-;19115:14;19107:6;19103:27;19098:2;19087:9;19083:18;19076:55;19179:9;19171:6;19167:22;19162:2;19151:9;19147:18;19140:50;19207:33;19233:6;19225;19207:33;:::i;19251:128::-;19318:9;;;19339:11;;;19336:37;;;19353:18;;:::i;19384:168::-;19457:9;;;19488;;19505:15;;;19499:22;;19485:37;19475:71;;19526:18;;:::i;19557:639::-;19807:6;19802:3;19795:19;19777:3;19833:2;19866;19861:3;19857:12;19898:6;19892:13;19963:2;19955:6;19951:15;19984:1;19994:175;20008:6;20005:1;20002:13;19994:175;;;20071:13;;20057:28;;20107:14;;;;20144:15;;;;20030:1;20023:9;19994:175;;;-1:-1:-1;20185:5:201;;19557:639;-1:-1:-1;;;;;;;19557:639:201:o;20201:184::-;-1:-1:-1;;;20250:1:201;20243:88;20350:4;20347:1;20340:15;20374:4;20371:1;20364:15;20390:274;20430:1;20456;20446:189;;-1:-1:-1;;;20488:1:201;20481:88;20592:4;20589:1;20582:15;20620:4;20617:1;20610:15;20446:189;-1:-1:-1;20649:9:201;;20390:274::o;20669:360::-;20872:2;20861:9;20854:21;20835:4;20892:45;20933:2;20922:9;20918:18;20910:6;20892:45;:::i;:::-;20968:2;20953:18;;20946:34;;;;-1:-1:-1;21011:2:201;20996:18;20989:34;20884:53;20669:360;-1:-1:-1;20669:360:201:o;21439:174::-;21506:12;21538:10;;;21550;;;21534:27;;21573:11;;;21570:37;;;21587:18;;:::i;:::-;21570:37;21439:174;;;;:::o;22265:708::-;22604:3;22593:9;22586:22;22567:4;22631:57;22683:3;22672:9;22668:19;22660:6;22631:57;:::i;:::-;22736:14;22728:6;22724:27;22719:2;22708:9;22704:18;22697:55;22800:12;22792:6;22788:25;22783:2;22772:9;22768:18;22761:53;22850:6;22845:2;22834:9;22830:18;22823:34;22906:9;22898:6;22894:22;22888:3;22877:9;22873:19;22866:51;22934:33;22960:6;22952;22934:33;:::i;:::-;22926:41;22265:708;-1:-1:-1;;;;;;;;22265:708:201:o;22978:899::-;23400:6;23389:9;23382:25;23443:3;23438:2;23427:9;23423:18;23416:31;23363:4;23470:57;23522:3;23511:9;23507:19;23499:6;23470:57;:::i;:::-;23575:4;23563:17;;23558:2;23543:18;;23536:45;23600:12;23648:15;;;23643:2;23628:18;;23621:43;23701:15;;23695:3;23680:19;;23673:44;23748:3;23733:19;;23726:35;;;23798:22;;;23792:3;23777:19;;23770:51;23838:33;23802:6;23856;23838:33;:::i;:::-;23830:41;22978:899;-1:-1:-1;;;;;;;;;;22978:899:201:o;23882:530::-;24067:3;24105:6;24099:13;24121:66;24180:6;24175:3;24168:4;24160:6;24156:17;24121:66;:::i;:::-;24256:2;24252:15;;;;-1:-1:-1;;24248:88:201;24209:16;;;;24234:103;;;24364:2;24353:14;;24346:30;;;;24403:2;24392:14;;23882:530;-1:-1:-1;;23882:530:201:o","linkReferences":{}},"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","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"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\":[{\"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\":\"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\":\"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 WorldContextConsumer\",\"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\":\"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_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[],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.\",\"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.\"}},\"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_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[],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)\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/core/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\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba\",\"dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18\",\"dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e\",\"dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0\",\"dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c\",\"dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x130f0925a5bf4f732ef9758b47eca18c77d1bb34546ea9463321e9df766435a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68767e3db6fd6538a4577a1c30fe03e05bf9d316cdd43a66657e93c008b76f45\",\"dweb:/ipfs/QmSZmUBSfhk3v5gNu5GgwcYuWbb1FFDKYpDKvpXVahfyTw\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534\",\"dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5\",\"dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751\",\"dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95\",\"dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a\",\"dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0x10ca29a5d7075edb2fe5cd559077fc34857129182f9d6ea074a234dfbcdb313e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fe2783b7d0592d14a20b8be192dd3fa4216f8e541adea579859ea2bf1224da3\",\"dweb:/ipfs/QmTi9XDP5jsQpbqvJxPvkqyDByv7i88wKidrYnTtLdPhka\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716\",\"dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d\",\"dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd\",\"dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x2db3d2945cea02e3c830329c30dde0c96bb87da9d070f3545dbd7f807d2ff53a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c3b48917527ec0f26c953f66d149bb2173d1dfd78ee00d2ceb409f3a5bd08\",\"dweb:/ipfs/QmQ7WjHbmWeEDnu2dgx7nduYBCvyVsjFksPHXxrJjZCKo9\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0xd71faf03c782ac29483e94c2ea166fcc4e50179c7605357b1ba31bca4de29514\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://099db3f65835e395450f49119c4211b8394f2783ded4aa86eac32b3ca951f662\",\"dweb:/ipfs/QmV9FEcdDnCLbEoiAzAWYwN66P1Wf2bgkbicHNnBXD7Xrd\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x873f8d46f75ec8a85c392aa7cf2dd3f2183684dadde18b7dfca12643ab6249ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1eaf7aeee1487c967ce419db0e96abd1cb8f6b75670009f2cac26dda94caec81\",\"dweb:/ipfs/QmXs5wmrwP23g3LNPP6J3NPgemu85VVQvx8rfHz2RFXRtk\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0x63f3d68775ad36b709d47f8a222dcee9244923b5665e94cd15ab966a7a92bee8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9e11fc3de65b6681e86971da4645f3054a5a37d58bdd5b90bc9c07c2b5e9eb\",\"dweb:/ipfs/QmehdJcmH1buEMdnGpbi8sY1c1mUV4jMhq6bRLMPGBnyAB\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x47c6d188f39a85b50f066151cb48d987454e845f1629685300613fdb502505a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abeba0002051f60f81c1e29dbf627db4aed8da11483ec8d860a362b4bfbf4c08\",\"dweb:/ipfs/Qmc4RNYgBma9repACLdN1hpjPmEbsFKWXL8B42KaBAZvtc\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac\",\"dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93\",\"dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xd069f1f65243ffcc3ace23804851bc902c5e58d525b962575a659e47aa76236b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f86b3d93b5bcf81e0d3da0abbd6fc3924be59e7c8d147cfeb3307108431f6a3\",\"dweb:/ipfs/QmRrkBXGsdtbo28xznUWUuqNUGyfAbu1kadKGjL7n6KiKb\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae\",\"dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1\",\"dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0xffc8c2aa8115f5e7200638c21772a2f4eec283fd33a877d02a9b906614badb70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4df5c66e27c4a778c2ba7ce26d48652ee6f7740f0440aae9021d76aee66a2ecd\",\"dweb:/ipfs/QmWLY9GVbxHerTUJwWaNBjAWXKF7cxm2GLietVi6L5kS15\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xcdeaab34a28a43960f7fb673d92575af98aa7b36d8210a8e6e95197d14a827cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://329d675cf7281638cfa8fa348e5e24700049c590e088353d64e88dad861c0cef\",\"dweb:/ipfs/QmSZMYFSLknMga7UgX1H2tuuXayDYJhEnngbfLRBfVTu3f\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5c5e5c8f1fa4780a7b1ca759f7ce63dd4165a5b2a7f64c8fcb8f06bd8917ace6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6d37ed25ed4471dc336681c959153cdb4cb16c209142ca5edbc6d9293669fd2\",\"dweb:/ipfs/QmQLAbkk7jxN68QcHV9KgiCbsvxDm9rKmLJQWME6DBZEpw\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9\",\"dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"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":[{"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":"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":"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 WorldContextConsumer","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":"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."}},"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)"},"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/core/implementations/WorldRegistrationSystem.sol":"WorldRegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb","urls":["bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4","dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558","urls":["bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4","dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0","urls":["bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba","dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd","urls":["bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18","dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf","urls":["bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2","dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827","urls":["bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0","dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5","urls":["bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a","dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212","urls":["bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc","dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f","urls":["bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d","dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e","urls":["bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e","dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37","urls":["bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac","dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f","urls":["bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115","dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b","urls":["bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1","dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7","urls":["bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5","dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb","urls":["bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0","dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed","urls":["bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d","dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401","urls":["bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3","dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32","urls":["bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c","dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x130f0925a5bf4f732ef9758b47eca18c77d1bb34546ea9463321e9df766435a1","urls":["bzz-raw://68767e3db6fd6538a4577a1c30fe03e05bf9d316cdd43a66657e93c008b76f45","dweb:/ipfs/QmSZmUBSfhk3v5gNu5GgwcYuWbb1FFDKYpDKvpXVahfyTw"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180","urls":["bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534","dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416","urls":["bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7","dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3","urls":["bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6","dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e","urls":["bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5","dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789","urls":["bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751","dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14","urls":["bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95","dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb","urls":["bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a","dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076","urls":["bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793","dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"],"license":"MIT"},"node_modules/@latticexyz/store/src/leftMask.sol":{"keccak256":"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f","urls":["bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401","dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5","urls":["bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81","dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2","urls":["bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84","dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04","urls":["bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1","dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d","urls":["bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49","dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b","urls":["bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256","dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c","urls":["bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491","dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0x10ca29a5d7075edb2fe5cd559077fc34857129182f9d6ea074a234dfbcdb313e","urls":["bzz-raw://1fe2783b7d0592d14a20b8be192dd3fa4216f8e541adea579859ea2bf1224da3","dweb:/ipfs/QmTi9XDP5jsQpbqvJxPvkqyDByv7i88wKidrYnTtLdPhka"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89","urls":["bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716","dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553","urls":["bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d","dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db","urls":["bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510","dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500","urls":["bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d","dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7","urls":["bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83","dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd","urls":["bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd","dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x2db3d2945cea02e3c830329c30dde0c96bb87da9d070f3545dbd7f807d2ff53a","urls":["bzz-raw://ee5c3b48917527ec0f26c953f66d149bb2173d1dfd78ee00d2ceb409f3a5bd08","dweb:/ipfs/QmQ7WjHbmWeEDnu2dgx7nduYBCvyVsjFksPHXxrJjZCKo9"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a","urls":["bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518","dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417","urls":["bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb","dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0xd71faf03c782ac29483e94c2ea166fcc4e50179c7605357b1ba31bca4de29514","urls":["bzz-raw://099db3f65835e395450f49119c4211b8394f2783ded4aa86eac32b3ca951f662","dweb:/ipfs/QmV9FEcdDnCLbEoiAzAWYwN66P1Wf2bgkbicHNnBXD7Xrd"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x873f8d46f75ec8a85c392aa7cf2dd3f2183684dadde18b7dfca12643ab6249ed","urls":["bzz-raw://1eaf7aeee1487c967ce419db0e96abd1cb8f6b75670009f2cac26dda94caec81","dweb:/ipfs/QmXs5wmrwP23g3LNPP6J3NPgemu85VVQvx8rfHz2RFXRtk"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0x63f3d68775ad36b709d47f8a222dcee9244923b5665e94cd15ab966a7a92bee8","urls":["bzz-raw://3e9e11fc3de65b6681e86971da4645f3054a5a37d58bdd5b90bc9c07c2b5e9eb","dweb:/ipfs/QmehdJcmH1buEMdnGpbi8sY1c1mUV4jMhq6bRLMPGBnyAB"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x47c6d188f39a85b50f066151cb48d987454e845f1629685300613fdb502505a0","urls":["bzz-raw://abeba0002051f60f81c1e29dbf627db4aed8da11483ec8d860a362b4bfbf4c08","dweb:/ipfs/Qmc4RNYgBma9repACLdN1hpjPmEbsFKWXL8B42KaBAZvtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d","urls":["bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac","dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60","urls":["bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93","dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xd069f1f65243ffcc3ace23804851bc902c5e58d525b962575a659e47aa76236b","urls":["bzz-raw://4f86b3d93b5bcf81e0d3da0abbd6fc3924be59e7c8d147cfeb3307108431f6a3","dweb:/ipfs/QmRrkBXGsdtbo28xznUWUuqNUGyfAbu1kadKGjL7n6KiKb"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d","urls":["bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae","dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9","urls":["bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1","dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0xffc8c2aa8115f5e7200638c21772a2f4eec283fd33a877d02a9b906614badb70","urls":["bzz-raw://4df5c66e27c4a778c2ba7ce26d48652ee6f7740f0440aae9021d76aee66a2ecd","dweb:/ipfs/QmWLY9GVbxHerTUJwWaNBjAWXKF7cxm2GLietVi6L5kS15"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588","urls":["bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218","dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xcdeaab34a28a43960f7fb673d92575af98aa7b36d8210a8e6e95197d14a827cd","urls":["bzz-raw://329d675cf7281638cfa8fa348e5e24700049c590e088353d64e88dad861c0cef","dweb:/ipfs/QmSZMYFSLknMga7UgX1H2tuuXayDYJhEnngbfLRBfVTu3f"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5c5e5c8f1fa4780a7b1ca759f7ce63dd4165a5b2a7f64c8fcb8f06bd8917ace6","urls":["bzz-raw://f6d37ed25ed4471dc336681c959153cdb4cb16c209142ca5edbc6d9293669fd2","dweb:/ipfs/QmQLAbkk7jxN68QcHV9KgiCbsvxDm9rKmLJQWME6DBZEpw"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55","urls":["bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df","dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb","urls":["bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9","dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746","urls":["bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2","dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"],"license":"MIT"}},"version":1},"id":87}