@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":"onAfterDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSetRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeDeleteRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSetRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"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_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":"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":"StoreHook_NotImplemented","inputs":[]},{"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"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506125cf806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d0e565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611eaa565b6101fd565b005b6100e26100f2366004611f5e565b610262565b6100e2610105366004611f5e565b61031d565b6100e2610118366004611eaa565b61034f565b6100e2610105366004612002565b6100e2610139366004612052565b61039b565b6100e261014c366004612002565b6103ef565b6100e261015f366004612052565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610519565b9050600061022f661ad95e5ddd985b60ca1b8b6105f4565b9050610256818a600081518110610248576102486120df565b6020026020010151846106d1565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b886105f4565b90506000610287888885610519565b90506102ae82886000815181106102a0576102a06120df565b6020026020010151836106d1565b8351606090156102e3578686866040516020016102cd93929190612119565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a600081518110610305576103056120df565b6020026020010151610712565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610519565b90506000610381661ad95e5ddd985b60ca1b8b6105f4565b905061025681838b600081518110610305576103056120df565b60006103a685610480565b905060006103b5868684610519565b905060006103cd661ad95e5ddd985b60ca1b886105f4565b90506103e68187600081518110610248576102486120df565b50505050505050565b60006103fc848484610519565b90506000610414661ad95e5ddd985b60ca1b866105f4565b905061042d8185600081518110610248576102486120df565b5050505050565b600061043f85610480565b9050600061044e868684610519565b90506000610466661ad95e5ddd985b60ca1b886105f4565b90506103e6818388600081518110610305576103056120df565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b96120df565b602090810291909101015260006105117f746273746f72650000000000000000005461626c65730000000000000000000083837e60030220202000000000000000000000000000000000000000000000000000610782565b949350505050565b60008060008061052761083f565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105569392919061218c565b600060405180830381865afa158015610573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059b91908101906121fa565b9250925092506000815111156105e0578282826040516020016105c093929190612119565b6040516020818303038152906040528051906020012093505050506105ed565b5050805160209091012090505b9392505050565b6000806106008361084e565b9050600061060e8460101b90565b9050603861061d81601061227d565b610627919061227d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c6106586038601061227d565b7f74620000000000000000000000000000000000000000000000000000000000007fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b60006106e7836106e18685610865565b906108d9565b90508051600003610701576106fc84836109a7565b61070c565b61070c8483836109f8565b50505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610748576107486120df565b60200260200101818152505061070c848260008560405160200161076e91815260200190565b604051602081830303815290604052610a4f565b60008061078d610af5565b9050306001600160a01b038216036107b3576107ab86868686610b34565b915050610511565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906107fe908990899089908990600401612290565b602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906122bf565b6000610849610af5565b905090565b600061085c6070601061227d565b9190911b919050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061089f5761089f6120df565b60200260200101818152505060006108b985836000610b61565b90506108d06108cb8260008451610c28565b610cbf565b95945050505050565b60606000835167ffffffffffffffff8111156108f7576108f7611d50565b604051908082528060200260200182016040528015610920578160200160208202803683370190505b5090506000805b855181101561099d5784868281518110610943576109436120df565b60200260200101511461099557858181518110610962576109626120df565b602002602001015183838151811061097c5761097c6120df565b602090810291909101015281610991816122d8565b9250505b600101610927565b5081529392505050565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106109dd576109dd6120df565b6020026020010181815250506109f38382610cd0565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2e57610a2e6120df565b60200260200101818152505061070c84826000610a4a86610d6b565b610d7b565b6000610a59610af5565b9050306001600160a01b03821603610a7c57610a7785858585610dee565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610ac790889088908890889060040161231e565b600060405180830381600087803b158015610ae157600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b2f573391505090565b919050565b60006108d0610b438686610e31565b60ff858116601b0360080285901c16610b5c8587610e87565b610eb8565b60606000610b6d610af5565b9050306001600160a01b03821603610b9257610b8a858585610f09565b9150506105ed565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610bdb90889088908890600401612352565b600060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8a919081019061237e565b509392505050565b600081831180610c385750835182115b15610c7e578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c75939291906123b3565b60405180910390fd5b60208401610c8c848261227d565b90506000610c9a85856123d8565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006105ed8360206000610f43565b6000610cda610af5565b9050306001600160a01b03821603610cf6576109f38383610fbe565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d3d90869086906004016123eb565b600060405180830381600087803b158015610d5757600080fd5b505af11580156103e6573d6000803e3d6000fd5b6060816105ed8160206000610fd5565b6000610d85610af5565b9050306001600160a01b03821603610da357610a7785858585611029565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610ac790889088908890889060040161231e565b6000610dfa8585611064565b90506000610e17828560ff166028026038011c64ffffffffff1690565b9050610e298686868460008888611077565b505050505050565b60008282604051602001610e46929190612404565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c2057610eae60ff601b83900360080287901c168361227d565b9150600101610e8c565b600060208210610ede57602082048401935060208281610eda57610eda612440565b0691505b508254600882021b602082900380841115610c20576001850154600882021c82179150509392505050565b6060610511610f198585856114b1565b6000610f3e85610f298989611064565b9060ff166028026038011c64ffffffffff1690565b611531565b60606000610f518560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610f7757610f77612440565b04905060405193506020840160208202810160405281855260005b82811015610fb2578451871c825293870193602090910190600101610f92565b50505050509392505050565b610fd18282610fcc85611554565b6115d9565b5050565b82516060906000610fe68583612456565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fb2578051871b83529187019160019190910190602001611008565b60006110358585611064565b90506000611052828560ff166028026038011c64ffffffffff1690565b9050610e298686866000858888611077565b60006105ed61107384846118d8565b5490565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614611137577f746200000000000000000000000000000000000000000000000000000000000087886040516020016110f591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c7593929160040161246d565b6000611152828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116b91906123d8565b611175919061227d565b905080821415801561119757508161118d86886124ae565b64ffffffffff1614155b156111e7576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610c75565b818664ffffffffff161115611238576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610c75565b600061124584898461192e565b905060006112528b6119fc565b905060005b815181101561131d576000828281518110611274576112746120df565b602002602001015190506112a06010826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561131457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016112e197969594939291906124d3565b600060405180830381600087803b1580156112fb57600080fd5b505af115801561130f573d6000803e3d6000fd5b505050505b50600101611257565b5064ffffffffff881660005b8a60ff168160ff16101561135c57611350878260ff166028026038011c64ffffffffff1690565b90910190600101611329565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161139796959493929190612531565b60405180910390a2508284146113b85760006113b38c8c6118d8565b839055505b60006113c58c8c8c6114b1565b90506113d9818a64ffffffffff1689611aa3565b5060005b81518110156114a35760008282815181106113fa576113fa6120df565b602002602001015190506114266020826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561149a57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161146797969594939291906124d3565b600060405180830381600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050505b506001016113dd565b505050505050505050505050565b600083836040516020016114c6929190612404565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8484010116604052828252610c2085858584611ab9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d0000000000000000000082016115a357507e60030220202000000000000000000000000000000000000000000000000000919050565b6101f76115d07f746273746f72650000000000000000005461626c65730000000000000000000084611b85565b60206000610eb8565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361165f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051611652919061258d565b60405180910390a2505050565b600061166a846119fc565b905060005b815181101561173d57600082828151811061168c5761168c6120df565b602002602001015190506116b86040826affffffffffffffffffffff1916611a8590919063ffffffff16565b15611734576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117019089908990899060040161218c565b600060405180830381600087803b15801561171b57600080fd5b505af115801561172f573d6000803e3d6000fd5b505050505b5060010161166f565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161176e919061258d565b60405180910390a260006117828585610e31565b90506117db81600061179386611ba1565b67ffffffffffffffff8111156117ab576117ab611d50565b6040519080825280601f01601f1916602001820160405280156117d5576020820181803683370190505b50611aa3565b60006117e684611bc4565b11156118075760006117f886866118d8565b9050611805816020611c01565b505b60005b8251811015610e29576000838281518110611827576118276120df565b602002602001015190506118536080826affffffffffffffffffffff1916611a8590919063ffffffff16565b156118cf576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061189c908a908a908a9060040161218c565b600060405180830381600087803b1580156118b657600080fd5b505af11580156118ca573d6000803e3d6000fd5b505050505b5060010161180a565b600082826040516020016118ed929190612404565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff821115611972576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610c75565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119a457808503820191506119ac565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a3657611a366120df565b60209081029190910101526000611a6e7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610f09565b9050610511611a808260008451610c28565b611c3e565b60008160ff1682611a968560581c90565b1660ff1614905092915050565b6109f383838351611ab48560200190565b611c4f565b8215611b405760208310611ae357602083048401935060208381611adf57611adf612440565b0692505b8215611b40576020839003600081841015611b065750600019600884021c611b10565b50600019600882021c5b8554600886021b818451168219821617845250818411611b3157505061070c565b50600194909401939182900391015b5b60208210611b625783548152600190930192601f1990910190602001611b41565b811561070c576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e46565b60006008611bb1600260206123d8565b611bbb9190612456565b9190911c919050565b60006008600180611bd7600260206123d8565b611be191906123d8565b611beb91906123d8565b611bf59190612456565b8260ff911c1692915050565b60006020611c1083601f61227d565b611c1a91906125a0565b611c24908461227d565b90505b808310156109f35760008355600183019250611c27565b606060006105ed8360156000610f43565b8215611cc95760208310611c7957602083048401935060208381611c7557611c75612440565b0692505b8215611cc95760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611cba57505061070c565b50600194909401939182900391015b5b60208210611ceb5780518455600190930192601f1990910190602001611cca565b811561070c576000600019600884021c8554835182191691161785555050505050565b600060208284031215611d2057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146105ed57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8f57611d8f611d50565b604052919050565b600082601f830112611da857600080fd5b8135602067ffffffffffffffff821115611dc457611dc4611d50565b8160051b611dd3828201611d66565b9283528481018201928281019087851115611ded57600080fd5b83870192505b84831015611e0c57823582529183019190830190611df3565b979650505050505050565b803564ffffffffff81168114610b2f57600080fd5b600067ffffffffffffffff821115611e4657611e46611d50565b50601f01601f191660200190565b600082601f830112611e6557600080fd5b8135611e78611e7382611e2c565b611d66565b818152846020838601011115611e8d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611ec557600080fd5b87359650602088013567ffffffffffffffff80821115611ee457600080fd5b611ef08b838c01611d97565b975060408a0135915060ff82168214611f0857600080fd5b819650611f1760608b01611e17565b9550611f2560808b01611e17565b945060a08a0135935060c08a0135915080821115611f4257600080fd5b50611f4f8a828b01611e54565b91505092959891949750929550565b60008060008060008060c08789031215611f7757600080fd5b86359550602087013567ffffffffffffffff80821115611f9657600080fd5b611fa28a838b01611d97565b96506040890135915080821115611fb857600080fd5b611fc48a838b01611e54565b9550606089013594506080890135915080821115611fe157600080fd5b50611fee89828a01611e54565b92505060a087013590509295509295509295565b60008060006060848603121561201757600080fd5b83359250602084013567ffffffffffffffff81111561203557600080fd5b61204186828701611d97565b925050604084013590509250925092565b6000806000806080858703121561206857600080fd5b84359350602085013567ffffffffffffffff8082111561208757600080fd5b61209388838901611d97565b94506040870135915065ffffffffffff821682146120b057600080fd5b909250606086013590808211156120c657600080fd5b506120d387828801611e54565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b838110156121105781810151838201526020016120f8565b50506000910152565b6000845161212b8184602089016120f5565b820184815283516121438160208085019088016120f5565b0160200195945050505050565b60008151808452602080850194506020840160005b8381101561218157815187529582019590820190600101612165565b509495945050505050565b8381526060602082015260006121a56060830185612150565b9050826040830152949350505050565b600082601f8301126121c657600080fd5b81516121d4611e7382611e2c565b8181528460208386010111156121e957600080fd5b6105118260208301602087016120f5565b60008060006060848603121561220f57600080fd5b835167ffffffffffffffff8082111561222757600080fd5b612233878388016121b5565b945060208601519350604086015191508082111561225057600080fd5b5061225d868287016121b5565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f7612267565b8481526080602082015260006122a96080830186612150565b60ff949094166040830152506060015292915050565b6000602082840312156122d157600080fd5b5051919050565b600060001982036122eb576122eb612267565b5060010190565b6000815180845261230a8160208601602086016120f5565b601f01601f19169290920160200192915050565b8481526080602082015260006123376080830186612150565b60ff851660408401528281036060840152611e0c81856122f2565b83815260606020820152600061236b6060830185612150565b905060ff83166040830152949350505050565b60006020828403121561239057600080fd5b815167ffffffffffffffff8111156123a757600080fd5b610511848285016121b5565b6060815260006123c660608301866122f2565b60208301949094525060400152919050565b818103818111156101f7576101f7612267565b8281526040602082015260006105116040830184612150565b8281526000602080830184516020860160005b8281101561243357815184529284019290840190600101612417565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f7612267565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108d060608301846122f2565b64ffffffffff8181168382160190808211156124cc576124cc612267565b5092915050565b87815260e0602082015260006124ec60e0830189612150565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261252381856122f2565b9a9950505050505050505050565b60c08152600061254460c0830189612150565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261258081856122f2565b9998505050505050505050565b6020815260006105ed6020830184612150565b6000826125bd57634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000818000a","sourceMap":"1167:4801:173:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d0e565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611eaa565b6101fd565b005b6100e26100f2366004611f5e565b610262565b6100e2610105366004611f5e565b61031d565b6100e2610118366004611eaa565b61034f565b6100e2610105366004612002565b6100e2610139366004612052565b61039b565b6100e261014c366004612002565b6103ef565b6100e261015f366004612052565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610519565b9050600061022f661ad95e5ddd985b60ca1b8b6105f4565b9050610256818a600081518110610248576102486120df565b6020026020010151846106d1565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b886105f4565b90506000610287888885610519565b90506102ae82886000815181106102a0576102a06120df565b6020026020010151836106d1565b8351606090156102e3578686866040516020016102cd93929190612119565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a600081518110610305576103056120df565b6020026020010151610712565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610519565b90506000610381661ad95e5ddd985b60ca1b8b6105f4565b905061025681838b600081518110610305576103056120df565b60006103a685610480565b905060006103b5868684610519565b905060006103cd661ad95e5ddd985b60ca1b886105f4565b90506103e68187600081518110610248576102486120df565b50505050505050565b60006103fc848484610519565b90506000610414661ad95e5ddd985b60ca1b866105f4565b905061042d8185600081518110610248576102486120df565b5050505050565b600061043f85610480565b9050600061044e868684610519565b90506000610466661ad95e5ddd985b60ca1b886105f4565b90506103e6818388600081518110610305576103056120df565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b96120df565b602090810291909101015260006105117f746273746f72650000000000000000005461626c65730000000000000000000083837e60030220202000000000000000000000000000000000000000000000000000610782565b949350505050565b60008060008061052761083f565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105569392919061218c565b600060405180830381865afa158015610573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059b91908101906121fa565b9250925092506000815111156105e0578282826040516020016105c093929190612119565b6040516020818303038152906040528051906020012093505050506105ed565b5050805160209091012090505b9392505050565b6000806106008361084e565b9050600061060e8460101b90565b9050603861061d81601061227d565b610627919061227d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c6106586038601061227d565b7f74620000000000000000000000000000000000000000000000000000000000007fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b60006106e7836106e18685610865565b906108d9565b90508051600003610701576106fc84836109a7565b61070c565b61070c8483836109f8565b50505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610748576107486120df565b60200260200101818152505061070c848260008560405160200161076e91815260200190565b604051602081830303815290604052610a4f565b60008061078d610af5565b9050306001600160a01b038216036107b3576107ab86868686610b34565b915050610511565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906107fe908990899089908990600401612290565b602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906122bf565b6000610849610af5565b905090565b600061085c6070601061227d565b9190911b919050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061089f5761089f6120df565b60200260200101818152505060006108b985836000610b61565b90506108d06108cb8260008451610c28565b610cbf565b95945050505050565b60606000835167ffffffffffffffff8111156108f7576108f7611d50565b604051908082528060200260200182016040528015610920578160200160208202803683370190505b5090506000805b855181101561099d5784868281518110610943576109436120df565b60200260200101511461099557858181518110610962576109626120df565b602002602001015183838151811061097c5761097c6120df565b602090810291909101015281610991816122d8565b9250505b600101610927565b5081529392505050565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106109dd576109dd6120df565b6020026020010181815250506109f38382610cd0565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2e57610a2e6120df565b60200260200101818152505061070c84826000610a4a86610d6b565b610d7b565b6000610a59610af5565b9050306001600160a01b03821603610a7c57610a7785858585610dee565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610ac790889088908890889060040161231e565b600060405180830381600087803b158015610ae157600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b2f573391505090565b919050565b60006108d0610b438686610e31565b60ff858116601b0360080285901c16610b5c8587610e87565b610eb8565b60606000610b6d610af5565b9050306001600160a01b03821603610b9257610b8a858585610f09565b9150506105ed565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610bdb90889088908890600401612352565b600060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8a919081019061237e565b509392505050565b600081831180610c385750835182115b15610c7e578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c75939291906123b3565b60405180910390fd5b60208401610c8c848261227d565b90506000610c9a85856123d8565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006105ed8360206000610f43565b6000610cda610af5565b9050306001600160a01b03821603610cf6576109f38383610fbe565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d3d90869086906004016123eb565b600060405180830381600087803b158015610d5757600080fd5b505af11580156103e6573d6000803e3d6000fd5b6060816105ed8160206000610fd5565b6000610d85610af5565b9050306001600160a01b03821603610da357610a7785858585611029565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610ac790889088908890889060040161231e565b6000610dfa8585611064565b90506000610e17828560ff166028026038011c64ffffffffff1690565b9050610e298686868460008888611077565b505050505050565b60008282604051602001610e46929190612404565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c2057610eae60ff601b83900360080287901c168361227d565b9150600101610e8c565b600060208210610ede57602082048401935060208281610eda57610eda612440565b0691505b508254600882021b602082900380841115610c20576001850154600882021c82179150509392505050565b6060610511610f198585856114b1565b6000610f3e85610f298989611064565b9060ff166028026038011c64ffffffffff1690565b611531565b60606000610f518560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610f7757610f77612440565b04905060405193506020840160208202810160405281855260005b82811015610fb2578451871c825293870193602090910190600101610f92565b50505050509392505050565b610fd18282610fcc85611554565b6115d9565b5050565b82516060906000610fe68583612456565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fb2578051871b83529187019160019190910190602001611008565b60006110358585611064565b90506000611052828560ff166028026038011c64ffffffffff1690565b9050610e298686866000858888611077565b60006105ed61107384846118d8565b5490565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614611137577f746200000000000000000000000000000000000000000000000000000000000087886040516020016110f591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c7593929160040161246d565b6000611152828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116b91906123d8565b611175919061227d565b905080821415801561119757508161118d86886124ae565b64ffffffffff1614155b156111e7576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610c75565b818664ffffffffff161115611238576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610c75565b600061124584898461192e565b905060006112528b6119fc565b905060005b815181101561131d576000828281518110611274576112746120df565b602002602001015190506112a06010826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561131457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016112e197969594939291906124d3565b600060405180830381600087803b1580156112fb57600080fd5b505af115801561130f573d6000803e3d6000fd5b505050505b50600101611257565b5064ffffffffff881660005b8a60ff168160ff16101561135c57611350878260ff166028026038011c64ffffffffff1690565b90910190600101611329565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161139796959493929190612531565b60405180910390a2508284146113b85760006113b38c8c6118d8565b839055505b60006113c58c8c8c6114b1565b90506113d9818a64ffffffffff1689611aa3565b5060005b81518110156114a35760008282815181106113fa576113fa6120df565b602002602001015190506114266020826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561149a57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161146797969594939291906124d3565b600060405180830381600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050505b506001016113dd565b505050505050505050505050565b600083836040516020016114c6929190612404565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8484010116604052828252610c2085858584611ab9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d0000000000000000000082016115a357507e60030220202000000000000000000000000000000000000000000000000000919050565b6101f76115d07f746273746f72650000000000000000005461626c65730000000000000000000084611b85565b60206000610eb8565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361165f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051611652919061258d565b60405180910390a2505050565b600061166a846119fc565b905060005b815181101561173d57600082828151811061168c5761168c6120df565b602002602001015190506116b86040826affffffffffffffffffffff1916611a8590919063ffffffff16565b15611734576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117019089908990899060040161218c565b600060405180830381600087803b15801561171b57600080fd5b505af115801561172f573d6000803e3d6000fd5b505050505b5060010161166f565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161176e919061258d565b60405180910390a260006117828585610e31565b90506117db81600061179386611ba1565b67ffffffffffffffff8111156117ab576117ab611d50565b6040519080825280601f01601f1916602001820160405280156117d5576020820181803683370190505b50611aa3565b60006117e684611bc4565b11156118075760006117f886866118d8565b9050611805816020611c01565b505b60005b8251811015610e29576000838281518110611827576118276120df565b602002602001015190506118536080826affffffffffffffffffffff1916611a8590919063ffffffff16565b156118cf576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061189c908a908a908a9060040161218c565b600060405180830381600087803b1580156118b657600080fd5b505af11580156118ca573d6000803e3d6000fd5b505050505b5060010161180a565b600082826040516020016118ed929190612404565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff821115611972576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610c75565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119a457808503820191506119ac565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a3657611a366120df565b60209081029190910101526000611a6e7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610f09565b9050610511611a808260008451610c28565b611c3e565b60008160ff1682611a968560581c90565b1660ff1614905092915050565b6109f383838351611ab48560200190565b611c4f565b8215611b405760208310611ae357602083048401935060208381611adf57611adf612440565b0692505b8215611b40576020839003600081841015611b065750600019600884021c611b10565b50600019600882021c5b8554600886021b818451168219821617845250818411611b3157505061070c565b50600194909401939182900391015b5b60208210611b625783548152600190930192601f1990910190602001611b41565b811561070c576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e46565b60006008611bb1600260206123d8565b611bbb9190612456565b9190911c919050565b60006008600180611bd7600260206123d8565b611be191906123d8565b611beb91906123d8565b611bf59190612456565b8260ff911c1692915050565b60006020611c1083601f61227d565b611c1a91906125a0565b611c24908461227d565b90505b808310156109f35760008355600183019250611c27565b606060006105ed8360156000610f43565b8215611cc95760208310611c7957602083048401935060208381611c7557611c75612440565b0692505b8215611cc95760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611cba57505061070c565b50600194909401939182900391015b5b60208210611ceb5780518455600190930192601f1990910190602001611cca565b811561070c576000600019600884021c8554835182191691161785555050505050565b600060208284031215611d2057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146105ed57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8f57611d8f611d50565b604052919050565b600082601f830112611da857600080fd5b8135602067ffffffffffffffff821115611dc457611dc4611d50565b8160051b611dd3828201611d66565b9283528481018201928281019087851115611ded57600080fd5b83870192505b84831015611e0c57823582529183019190830190611df3565b979650505050505050565b803564ffffffffff81168114610b2f57600080fd5b600067ffffffffffffffff821115611e4657611e46611d50565b50601f01601f191660200190565b600082601f830112611e6557600080fd5b8135611e78611e7382611e2c565b611d66565b818152846020838601011115611e8d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611ec557600080fd5b87359650602088013567ffffffffffffffff80821115611ee457600080fd5b611ef08b838c01611d97565b975060408a0135915060ff82168214611f0857600080fd5b819650611f1760608b01611e17565b9550611f2560808b01611e17565b945060a08a0135935060c08a0135915080821115611f4257600080fd5b50611f4f8a828b01611e54565b91505092959891949750929550565b60008060008060008060c08789031215611f7757600080fd5b86359550602087013567ffffffffffffffff80821115611f9657600080fd5b611fa28a838b01611d97565b96506040890135915080821115611fb857600080fd5b611fc48a838b01611e54565b9550606089013594506080890135915080821115611fe157600080fd5b50611fee89828a01611e54565b92505060a087013590509295509295509295565b60008060006060848603121561201757600080fd5b83359250602084013567ffffffffffffffff81111561203557600080fd5b61204186828701611d97565b925050604084013590509250925092565b6000806000806080858703121561206857600080fd5b84359350602085013567ffffffffffffffff8082111561208757600080fd5b61209388838901611d97565b94506040870135915065ffffffffffff821682146120b057600080fd5b909250606086013590808211156120c657600080fd5b506120d387828801611e54565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b838110156121105781810151838201526020016120f8565b50506000910152565b6000845161212b8184602089016120f5565b820184815283516121438160208085019088016120f5565b0160200195945050505050565b60008151808452602080850194506020840160005b8381101561218157815187529582019590820190600101612165565b509495945050505050565b8381526060602082015260006121a56060830185612150565b9050826040830152949350505050565b600082601f8301126121c657600080fd5b81516121d4611e7382611e2c565b8181528460208386010111156121e957600080fd5b6105118260208301602087016120f5565b60008060006060848603121561220f57600080fd5b835167ffffffffffffffff8082111561222757600080fd5b612233878388016121b5565b945060208601519350604086015191508082111561225057600080fd5b5061225d868287016121b5565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f7612267565b8481526080602082015260006122a96080830186612150565b60ff949094166040830152506060015292915050565b6000602082840312156122d157600080fd5b5051919050565b600060001982036122eb576122eb612267565b5060010190565b6000815180845261230a8160208601602086016120f5565b601f01601f19169290920160200192915050565b8481526080602082015260006123376080830186612150565b60ff851660408401528281036060840152611e0c81856122f2565b83815260606020820152600061236b6060830185612150565b905060ff83166040830152949350505050565b60006020828403121561239057600080fd5b815167ffffffffffffffff8111156123a757600080fd5b610511848285016121b5565b6060815260006123c660608301866122f2565b60208301949094525060400152919050565b818103818111156101f7576101f7612267565b8281526040602082015260006105116040830184612150565b8281526000602080830184516020860160005b8281101561243357815184529284019290840190600101612417565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f7612267565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108d060608301846122f2565b64ffffffffff8181168382160190808211156124cc576124cc612267565b5092915050565b87815260e0602082015260006124ec60e0830189612150565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261252381856122f2565b9a9950505050505050505050565b60c08152600061254460c0830189612150565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261258081856122f2565b9998505050505050505050565b6020815260006105ed6020830184612150565b6000826125bd57634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000818000a","sourceMap":"1167:4801:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;929:187:26;;;;;;:::i;:::-;;:::i;:::-;;;516:14:214;;509:22;491:41;;479:2;464:18;929:187:26;;;;;;;3316:565:173;;;;;;:::i;:::-;;:::i;:::-;;1408:873;;;;;;:::i;:::-;;:::i;2475:266:26:-;;;;;;:::i;:::-;;:::i;3885:544:173:-;;;;;;:::i;:::-;;:::i;7591:160:26:-;;;;;;:::i;2285:522:173:-;;;;;;:::i;:::-;;:::i;4433:449::-;;;;;;:::i;:::-;;:::i;2811:501::-;;;;;;:::i;:::-;;:::i;929:187:26:-;1005:4;1024:43;;;1039:28;1024:43;;:87;;-1:-1:-1;1071:40:26;;;1086:25;1071:40;1024:87;1017:94;929:187;-1:-1:-1;;929:187:26:o;3316:565:173:-;3578:23;3604:36;3626:13;3604:21;:36::i;:::-;3578:62;;3646:21;3670:57;3690:13;3705:8;3715:11;3670:19;:57::i;:::-;3646:81;;3733:24;3760:49;-1:-1:-1;;;3795:13:173;3760:16;:49::i;:::-;3733:76;;3815:61;3834:13;3849:8;3858:1;3849:11;;;;;;;;:::i;:::-;;;;;;;3862:13;3815:18;:61::i;:::-;3504:377;;;3316:565;;;;;;;:::o;1408:873::-;1644:24;1671:49;-1:-1:-1;;;1706:13:173;1671:16;:49::i;:::-;1644:76;;1757:21;1781:57;1801:13;1816:8;1826:11;1781:19;:57::i;:::-;1757:81;;1913:61;1932:13;1947:8;1956:1;1947:11;;;;;;;;:::i;:::-;;;;;;;1960:13;1913:18;:61::i;:::-;2067:18;;2040:17;;2067:22;2063:145;;2123:10;2135:14;2151:11;2106:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2099:64;;2063:145;;;-1:-1:-1;2191:10:173;2063:145;2213:63;2232:13;2257:4;2247:15;;;;;;2264:8;2273:1;2264:11;;;;;;;;:::i;:::-;;;;;;;2213:18;:63::i;:::-;1638:643;;;1408:873;;;;;;:::o;2475:266:26:-;2710:26;;;;;;;;;;;;;;3885:544:173;4136:23;4162:36;4184:13;4162:21;:36::i;:::-;4136:62;;4204:16;4223:57;4243:13;4258:8;4268:11;4223:19;:57::i;:::-;4204:76;;4286:24;4313:49;-1:-1:-1;;;4348:13:173;4313:16;:49::i;:::-;4286:76;;4368:56;4387:13;4402:8;4412;4421:1;4412:11;;;;;;;;:::i;2285:522::-;2504:23;2530:36;2552:13;2530:21;:36::i;:::-;2504:62;;2572:21;2596:57;2616:13;2631:8;2641:11;2596:19;:57::i;:::-;2572:81;;2659:24;2686:49;-1:-1:-1;;;2721:13:173;2686:16;:49::i;:::-;2659:76;;2741:61;2760:13;2775:8;2784:1;2775:11;;;;;;;;:::i;2741:61::-;2430:377;;;2285:522;;;;:::o;4433:449::-;4647:21;4671:57;4691:13;4706:8;4716:11;4671:19;:57::i;:::-;4647:81;;4734:24;4761:49;-1:-1:-1;;;4796:13:173;4761:16;:49::i;:::-;4734:76;;4816:61;4835:13;4850:8;4859:1;4850:11;;;;;;;;:::i;4816:61::-;4573:309;;4433:449;;;:::o;2811:501::-;3019:23;3045:36;3067:13;3045:21;:36::i;:::-;3019:62;;3087:16;3106:57;3126:13;3141:8;3151:11;3106:19;:57::i;:::-;3087:76;;3169:24;3196:49;-1:-1:-1;;;3231:13:173;3196:16;:49::i;:::-;3169:76;;3251:56;3270:13;3285:8;3295;3304:1;3295:11;;;;;;;;:::i;2935:327:33:-;3062:16;;;3076:1;3062:16;;;;;;;;;3002:23;;;;3062:16;;;;;;;;;;;;-1:-1:-1;3062:16:33;3033:45;;3117:7;3084:9;3094:1;3084:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3132:13;3148:64;1210:66;3185:9;3132:13;1339:66;3148:26;:64::i;:::-;3132:80;2935:327;-1:-1:-1;;;;2935:327:33:o;4886:512:173:-;5032:17;5058:23;5083:28;5113:24;5141:8;:6;:8::i;:::-;-1:-1:-1;;;;;5141:18:173;;5167:13;5188:8;5204:11;5141:80;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5141:80:173;;;;;;;;;;;;:::i;:::-;5057:164;;;;;;5252:1;5231:11;:18;:22;5227:167;;;5297:10;5309:14;5325:11;5280:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5270:68;;;;;;5263:75;;;;;;;5227:167;-1:-1:-1;;5366:21:173;;;;;;;;-1:-1:-1;4886:512:173;;;;;;:::o;1052:559:177:-;1142:10;1158:17;1178:46;1210:13;1178:31;:46::i;:::-;1158:66;;1228:27;1265:51;1302:13;451:5:20;2637:44:65;;2539:148;1265:51:177;1228:89;-1:-1:-1;401:5:177;1544:33;401:5;451::20;1544:33:177;:::i;:::-;:56;;;;:::i;:::-;1521:18;;;:80;;1474:33;354:5;451::20;1474:33:177;:::i;:::-;1363:14;1440:29;;;;;:68;;451:5:20;1390:37:177;;;;;1355:154;:247;;;-1:-1:-1;;1052:559:177;;;;:::o;5402:564:173:-;5573:38;5614:55;5665:3;5614:43;5632:13;5647:9;5614:17;:43::i;:::-;:50;;:55::i;:::-;5573:96;;5680:21;:28;5712:1;5680:33;5676:286;;5770:52;5797:13;5812:9;5770:26;:52::i;:::-;5676:286;;;5889:66;5907:13;5922:9;5933:21;5889:17;:66::i;:::-;5497:469;5402:564;;;:::o;13998:258:178:-;14114:16;;;14128:1;14114:16;;;;;;;;;14085:26;;14114:16;;;;;;;;;;;-1:-1:-1;14114:16:178;14085:45;;14151:9;14136;14146:1;14136:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;14167:84;14198:8;14208:9;14219:1;14240:8;14222:28;;;;;;9741:19:214;;9785:2;9776:12;;9612:182;14222:28:178;;;;;;;;;;;;;14167:30;:84::i;17768:457:28:-;17925:7;17940:21;17964:17;:15;:17::i;:::-;17940:41;-1:-1:-1;18016:4:28;-1:-1:-1;;;;;17991:30:28;;;17987:234;;18038:68;18063:7;18072:8;18082:10;18094:11;18038:24;:68::i;:::-;18031:75;;;;;17987:234;18134:80;;;;;-1:-1:-1;;;;;18134:36:28;;;;;:80;;18171:7;;18180:8;;18190:10;;18202:11;;18134:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1292:112:173:-;1333:10;1369:29;:27;:29::i;:::-;1351:48;;1292:112;:::o;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;4000:354:178:-;4143:16;;;4157:1;4143:16;;;;;;;;;4076:30;;4114:26;;4143:16;;;;;;;;;;;;-1:-1:-1;4143:16:178;4114:45;;4180:9;4165;4175:1;4165:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;4196:18;4217:51;4245:8;4255:9;4266:1;4217:27;:51::i;:::-;4196:72;;4282:66;:44;4303:5;4310:1;4313:5;:12;4282:20;:44::i;:::-;:64;:66::i;:::-;4274:75;4000:354;-1:-1:-1;;;;;4000:354:178:o;834:531:202:-;912:16;936:25;978:3;:10;964:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;964:25:202;;936:53;;995:21;1027:9;1022:150;1042:3;:10;1038:1;:14;1022:150;;;1081:7;1071:3;1075:1;1071:6;;;;;;;;:::i;:::-;;;;;;;:17;1067:99;;1126:3;1130:1;1126:6;;;;;;;;:::i;:::-;;;;;;;1100:8;1109:13;1100:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;1142:15;;;;:::i;:::-;;;;1067:99;1054:3;;1022:150;;;-1:-1:-1;1302:31:202;;;834:531;-1:-1:-1;;;834:531:202:o;19686:209:178:-;19792:16;;;19806:1;19792:16;;;;;;;;;19763:26;;19792:16;;;;;;;;;;;-1:-1:-1;19792:16:178;19763:45;;19829:9;19814;19824:1;19814:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;19845:45;19870:8;19880:9;19845:24;:45::i;:::-;19757:138;19686:209;;:::o;6324:275::-;6453:16;;;6467:1;6453:16;;;;;;;;;6424:26;;6453:16;;;;;;;;;;;-1:-1:-1;6453:16:178;6424:45;;6490:9;6475;6485:1;6475:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;6506:88;6534:8;6544:9;6555:1;6558:35;6578:13;6558:18;:35::i;:::-;6506:27;:88::i;12340:451:28:-;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;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;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;18591:431:28:-;18727:12;18747:21;18771:17;:15;:17::i;:::-;18747:41;-1:-1:-1;18823:4:28;-1:-1:-1;;;;;18798:30:28;;;18794:224;;18845:63;18871:7;18880:8;18890:17;18845:25;:63::i;:::-;18838:70;;;;;18794:224;18936:75;;;;;-1:-1:-1;;;;;18936:37:28;;;;;:75;;18974:7;;18983:8;;18993:17;;18936:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18936:75:28;;;;;;;;;;;;:::i;18794:224::-;18741:281;18591:431;;;;;:::o;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;45284:220:38:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::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;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44950:222:39;45014:12;45104:6;45128:39;45104:6;45161:2;45165:1;45128:17;:39::i;11564:424:28:-;11715:21;11739:17;:15;:17::i;:::-;11715:41;-1:-1:-1;11791:4:28;-1:-1:-1;;;;;11766:30:28;;;11762:222;;11806:69;11832:7;11841:8;11851:17;11870:4;11806:25;:69::i;11762:222::-;11896:81;;;;;-1:-1:-1;;;;;11896:37:28;;;;;:81;;11934:7;;11943:8;;11953:17;;11972:4;;11896:81;;;:::i;28441:790:24:-;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;:::-;28595:636;;28441:790;;;;:::o;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;51493:242::-;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;;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;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;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;25229:145:24:-;25313:56;25326:7;25335:8;25345:23;25360:7;25345:14;:23::i;:::-;25313:12;:56::i;:::-;25229:145;;:::o;830:1343:40:-;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;;1358:16:40;1531:32;;;1358:16;1354:32;1503:4;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;;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;53609:301::-;53730:13;53822:82;53853:48;53883:7;53892:8;53853:29;:48::i;:::-;4711:21:23;;4605:137;43926:3999:24;44344:14;44323:7;:35;;;44319:161;;44414:14;44430:7;44463;44446:25;;;;;;9741:19:214;;9785:2;9776:12;;9612: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;;;;;15409:12:214;15448:15;;;45011:92:24;;;15430:34:214;15500:15;;;15480:18;;;15473:43;15552:15;;15532:18;;;15525:43;15372:18;;45011:92:24;15203:371:214;44892:218:24;45216:19;45197:16;:38;;;45193:140;;;45252:74;;;;;;;;15752:25:214;;;15825:12;15813:25;;15793:18;;;15786:53;15725:18;;45252:74:24;15579: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;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;5042:669:23:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;1358:16:40;5546:26:23;;;1358:16:40;1354:32;5518:4:23;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;3998:652:24:-;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;25973:1804::-;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;;53041:230;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;7408:1509:19:-;7534:13;1137:16;7559:25;;7555:118;;;7601:65;;;;;;;;17956:25:214;;;17929:18;;7601:65:19;17810: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;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;:::-;3841:70;;3925:66;:44;3946:5;3953:1;3956:5;:12;3925:20;:44::i;:::-;:64;:66::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;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;6076:2380::-;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;50919:282:24:-;51164:30;;;;;;18180:19:214;;;18215:12;;;18208:28;;;51007:7:24;;18252:12:214;;51164:30:24;17992:278:214;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;5376:173::-;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;4032:370:23:-;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;;40103:220:38;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::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;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;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:184;-1:-1:-1;;;592:1:214;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:334;803:2;797:9;859:2;849:13;;-1:-1:-1;;845:86:214;833:99;;962:18;947:34;;983:22;;;944:62;941:88;;;1009:18;;:::i;:::-;1045:2;1038:22;732:334;;-1:-1:-1;732:334:214:o;1071:712::-;1125:5;1178:3;1171:4;1163:6;1159:17;1155:27;1145:55;;1196:1;1193;1186:12;1145:55;1232:6;1219:20;1258:4;1281:18;1277:2;1274:26;1271:52;;;1303:18;;:::i;:::-;1349:2;1346:1;1342:10;1372:28;1396:2;1392;1388:11;1372:28;:::i;:::-;1434:15;;;1504;;;1500:24;;;1465:12;;;;1536:15;;;1533:35;;;1564:1;1561;1554:12;1533:35;1600:2;1592:6;1588:15;1577:26;;1612:142;1628:6;1623:3;1620:15;1612:142;;;1694:17;;1682:30;;1645:12;;;;1732;;;;1612:142;;;1772:5;1071:712;-1:-1:-1;;;;;;;1071:712:214:o;1788:165::-;1855:20;;1915:12;1904:24;;1894:35;;1884:63;;1943:1;1940;1933:12;1958:245;2006:4;2039:18;2031:6;2028:30;2025:56;;;2061:18;;:::i;:::-;-1:-1:-1;2118:2:214;2106:15;-1:-1:-1;;2102:88:214;2192:4;2098:99;;1958:245::o;2208:462::-;2250:5;2303:3;2296:4;2288:6;2284:17;2280:27;2270:55;;2321:1;2318;2311:12;2270:55;2357:6;2344:20;2388:48;2404:31;2432:2;2404:31;:::i;:::-;2388:48;:::i;:::-;2461:2;2452:7;2445:19;2507:3;2500:4;2495:2;2487:6;2483:15;2479:26;2476:35;2473:55;;;2524:1;2521;2514:12;2473:55;2589:2;2582:4;2574:6;2570:17;2563:4;2554:7;2550:18;2537:55;2637:1;2612:16;;;2630:4;2608:27;2601:38;;;;2616:7;2208:462;-1:-1:-1;;;2208:462:214:o;2675:1073::-;2883:6;2891;2899;2907;2915;2923;2931;2984:3;2972:9;2963:7;2959:23;2955:33;2952:53;;;3001:1;2998;2991:12;2952:53;3037:9;3024:23;3014:33;;3098:2;3087:9;3083:18;3070:32;3121:18;3162:2;3154:6;3151:14;3148:34;;;3178:1;3175;3168:12;3148:34;3201:61;3254:7;3245:6;3234:9;3230:22;3201:61;:::i;:::-;3191:71;;3312:2;3301:9;3297:18;3284:32;3271:45;;3356:4;3349:5;3345:16;3338:5;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3399:5;3389:15;;3423:37;3456:2;3445:9;3441:18;3423:37;:::i;:::-;3413:47;;3479:38;3512:3;3501:9;3497:19;3479:38;:::i;:::-;3469:48;;3564:3;3553:9;3549:19;3536:33;3526:43;;3622:3;3611:9;3607:19;3594:33;3578:49;;3652:2;3642:8;3639:16;3636:36;;;3668:1;3665;3658:12;3636:36;;3691:51;3734:7;3723:8;3712:9;3708:24;3691:51;:::i;:::-;3681:61;;;2675:1073;;;;;;;;;;:::o;3753:1069::-;3997:6;4005;4013;4021;4029;4037;4090:3;4078:9;4069:7;4065:23;4061:33;4058:53;;;4107:1;4104;4097:12;4058:53;4143:9;4130:23;4120:33;;4204:2;4193:9;4189:18;4176:32;4227:18;4268:2;4260:6;4257:14;4254:34;;;4284:1;4281;4274:12;4254:34;4307:61;4360:7;4351:6;4340:9;4336:22;4307:61;:::i;:::-;4297:71;;4421:2;4410:9;4406:18;4393:32;4377:48;;4450:2;4440:8;4437:16;4434:36;;;4466:1;4463;4456:12;4434:36;4489:51;4532:7;4521:8;4510:9;4506:24;4489:51;:::i;:::-;4479:61;;4587:2;4576:9;4572:18;4559:32;4549:42;;4644:3;4633:9;4629:19;4616:33;4600:49;;4674:2;4664:8;4661:16;4658:36;;;4690:1;4687;4680:12;4658:36;;4713:51;4756:7;4745:8;4734:9;4730:24;4713:51;:::i;:::-;4703:61;;;4811:3;4800:9;4796:19;4783:33;4773:43;;3753:1069;;;;;;;;:::o;4827:547::-;4992:6;5000;5008;5061:2;5049:9;5040:7;5036:23;5032:32;5029:52;;;5077:1;5074;5067:12;5029:52;5113:9;5100:23;5090:33;;5174:2;5163:9;5159:18;5146:32;5201:18;5193:6;5190:30;5187:50;;;5233:1;5230;5223:12;5187:50;5256:61;5309:7;5300:6;5289:9;5285:22;5256:61;:::i;:::-;5246:71;;;5364:2;5353:9;5349:18;5336:32;5326:42;;4827:547;;;;;:::o;5379:835::-;5529:6;5537;5545;5553;5606:3;5594:9;5585:7;5581:23;5577:33;5574:53;;;5623:1;5620;5613:12;5574:53;5659:9;5646:23;5636:33;;5720:2;5709:9;5705:18;5692:32;5743:18;5784:2;5776:6;5773:14;5770:34;;;5800:1;5797;5790:12;5770:34;5823:61;5876:7;5867:6;5856:9;5852:22;5823:61;:::i;:::-;5813:71;;5934:2;5923:9;5919:18;5906:32;5893:45;;5978:14;5971:5;5967:26;5960:5;5957:37;5947:65;;6008:1;6005;5998:12;5947:65;6031:5;;-1:-1:-1;6089:2:214;6074:18;;6061:32;;6105:16;;;6102:36;;;6134:1;6131;6124:12;6102:36;;6157:51;6200:7;6189:8;6178:9;6174:24;6157:51;:::i;:::-;6147:61;;;5379:835;;;;;;;:::o;6219:184::-;-1:-1:-1;;;6268:1:214;6261:88;6368:4;6365:1;6358:15;6392:4;6389:1;6382:15;6408:250;6493:1;6503:113;6517:6;6514:1;6511:13;6503:113;;;6593:11;;;6587:18;6574:11;;;6567:39;6539:2;6532:10;6503:113;;;-1:-1:-1;;6650:1:214;6632:16;;6625:27;6408:250::o;6663:606::-;6900:3;6938:6;6932:13;6954:66;7013:6;7008:3;7001:4;6993:6;6989:17;6954:66;:::i;:::-;7042:16;;7067:21;;;7113:13;;7135:81;7113:13;7200:4;7189:16;;;;7170:17;;7135:81;:::i;:::-;7236:20;7258:4;7232:31;;6663:606;-1:-1:-1;;;;;6663:606:214:o;7274:439::-;7327:3;7365:5;7359:12;7392:6;7387:3;7380:19;7418:4;7447;7442:3;7438:14;7431:21;;7486:4;7479:5;7475:16;7509:1;7519:169;7533:6;7530:1;7527:13;7519:169;;;7594:13;;7582:26;;7628:12;;;;7663:15;;;;7555:1;7548:9;7519:169;;;-1:-1:-1;7704:3:214;;7274:439;-1:-1:-1;;;;;7274:439:214:o;7718:466::-;8016:6;8005:9;7998:25;8059:2;8054;8043:9;8039:18;8032:30;7979:4;8079:56;8131:2;8120:9;8116:18;8108:6;8079:56;:::i;:::-;8071:64;;8171:6;8166:2;8155:9;8151:18;8144:34;7718:466;;;;;;:::o;8189:441::-;8242:5;8295:3;8288:4;8280:6;8276:17;8272:27;8262:55;;8313:1;8310;8303:12;8262:55;8342:6;8336:13;8373:48;8389:31;8417:2;8389:31;:::i;8373:48::-;8446:2;8437:7;8430:19;8492:3;8485:4;8480:2;8472:6;8468:15;8464:26;8461:35;8458:55;;;8509:1;8506;8499:12;8458:55;8522:77;8596:2;8589:4;8580:7;8576:18;8569:4;8561:6;8557:17;8522:77;:::i;8635:653::-;8775:6;8783;8791;8844:2;8832:9;8823:7;8819:23;8815:32;8812:52;;;8860:1;8857;8850:12;8812:52;8893:9;8887:16;8922:18;8963:2;8955:6;8952:14;8949:34;;;8979:1;8976;8969:12;8949:34;9002:60;9054:7;9045:6;9034:9;9030:22;9002:60;:::i;:::-;8992:70;;9102:2;9091:9;9087:18;9081:25;9071:35;;9152:2;9141:9;9137:18;9131:25;9115:41;;9181:2;9171:8;9168:16;9165:36;;;9197:1;9194;9187:12;9165:36;;9220:62;9274:7;9263:8;9252:9;9248:24;9220:62;:::i;:::-;9210:72;;;8635:653;;;;;:::o;9293:184::-;-1:-1:-1;;;9342:1:214;9335:88;9442:4;9439:1;9432:15;9466:4;9463:1;9456:15;9482:125;9547:9;;;9568:10;;;9565:36;;;9581:18;;:::i;9799:546::-;10121:6;10110:9;10103:25;10164:3;10159:2;10148:9;10144:18;10137:31;10084:4;10185:57;10237:3;10226:9;10222:19;10214:6;10185:57;:::i;:::-;10290:4;10278:17;;;;10273:2;10258:18;;10251:45;-1:-1:-1;10327:2:214;10312:18;10305:34;10177:65;9799:546;-1:-1:-1;;9799:546:214:o;10350:184::-;10420:6;10473:2;10461:9;10452:7;10448:23;10444:32;10441:52;;;10489:1;10486;10479:12;10441:52;-1:-1:-1;10512:16:214;;10350:184;-1:-1:-1;10350:184:214:o;10539:195::-;10578:3;-1:-1:-1;;10602:5:214;10599:77;10596:103;;10679:18;;:::i;:::-;-1:-1:-1;10726:1:214;10715:13;;10539:195::o;10739:329::-;10780:3;10818:5;10812:12;10845:6;10840:3;10833:19;10861:76;10930:6;10923:4;10918:3;10914:14;10907:4;10900:5;10896:16;10861:76;:::i;:::-;10982:2;10970:15;-1:-1:-1;;10966:88:214;10957:98;;;;11057:4;10953:109;;10739:329;-1:-1:-1;;10739:329:214:o;11073:603::-;11381:6;11370:9;11363:25;11424:3;11419:2;11408:9;11404:18;11397:31;11344:4;11451:57;11503:3;11492:9;11488:19;11480:6;11451:57;:::i;:::-;11556:4;11548:6;11544:17;11539:2;11528:9;11524:18;11517:45;11610:9;11602:6;11598:22;11593:2;11582:9;11578:18;11571:50;11638:32;11663:6;11655;11638:32;:::i;11681:441::-;11943:6;11932:9;11925:25;11986:2;11981;11970:9;11966:18;11959:30;11906:4;12006:56;12058:2;12047:9;12043:18;12035:6;12006:56;:::i;:::-;11998:64;;12110:4;12102:6;12098:17;12093:2;12082:9;12078:18;12071:45;11681:441;;;;;;:::o;12127:335::-;12206:6;12259:2;12247:9;12238:7;12234:23;12230:32;12227:52;;;12275:1;12272;12265:12;12227:52;12308:9;12302:16;12341:18;12333:6;12330:30;12327:50;;;12373:1;12370;12363:12;12327:50;12396:60;12448:7;12439:6;12428:9;12424:22;12396:60;:::i;12467:359::-;12670:2;12659:9;12652:21;12633:4;12690:44;12730:2;12719:9;12715:18;12707:6;12690:44;:::i;:::-;12765:2;12750:18;;12743:34;;;;-1:-1:-1;12808:2:214;12793:18;12786:34;12682:52;12467:359;-1:-1:-1;12467:359:214:o;12831:128::-;12898:9;;;12919:11;;;12916:37;;;12933:18;;:::i;12964:363::-;13202:6;13191:9;13184:25;13245:2;13240;13229:9;13225:18;13218:30;13165:4;13265:56;13317:2;13306:9;13302:18;13294:6;13265:56;:::i;13332:639::-;13582:6;13577:3;13570:19;13552:3;13608:2;13641;13636:3;13632:12;13673:6;13667:13;13738:2;13730:6;13726:15;13759:1;13769:175;13783:6;13780:1;13777:13;13769:175;;;13846:13;;13832:28;;13882:14;;;;13919:15;;;;13805:1;13798:9;13769:175;;;-1:-1:-1;13960:5:214;;13332:639;-1:-1:-1;;;;;;;13332:639:214:o;13976:184::-;-1:-1:-1;;;14025:1:214;14018:88;14125:4;14122:1;14115:15;14149:4;14146:1;14139:15;14165:168;14238:9;;;14269;;14286:15;;;14280:22;;14266:37;14256:71;;14307:18;;:::i;14556:463::-;14802:66;14794:6;14790:79;14779:9;14772:98;14906:6;14901:2;14890:9;14886:18;14879:34;14949:2;14944;14933:9;14929:18;14922:30;14753:4;14969:44;15009:2;14998:9;14994:18;14986:6;14969:44;:::i;15024:174::-;15091:12;15123:10;;;15135;;;15119:27;;15158:11;;;15155:37;;;15172:18;;:::i;:::-;15155:37;15024:174;;;;:::o;15850:898::-;16272:6;16261:9;16254:25;16315:3;16310:2;16299:9;16295:18;16288:31;16235:4;16342:57;16394:3;16383:9;16379:19;16371:6;16342:57;:::i;:::-;16447:4;16435:17;;16430:2;16415:18;;16408:45;16472:12;16520:15;;;16515:2;16500:18;;16493:43;16573:15;;16567:3;16552:19;;16545:44;16620:3;16605:19;;16598:35;;;16670:22;;;16664:3;16649:19;;16642:51;16710:32;16674:6;16727;16710:32;:::i;:::-;16702:40;15850:898;-1:-1:-1;;;;;;;;;;15850:898:214:o;16753:786::-;17116:3;17105:9;17098:22;17079:4;17143:57;17195:3;17184:9;17180:19;17172:6;17143:57;:::i;:::-;17248:4;17240:6;17236:17;17231:2;17220:9;17216:18;17209:45;17302:14;17294:6;17290:27;17285:2;17274:9;17270:18;17263:55;17366:12;17358:6;17354:25;17349:2;17338:9;17334:18;17327:53;17417:6;17411:3;17400:9;17396:19;17389:35;17473:9;17465:6;17461:22;17455:3;17444:9;17440:19;17433:51;17501:32;17526:6;17518;17501:32;:::i;:::-;17493:40;16753:786;-1:-1:-1;;;;;;;;;16753:786:214:o;17544:261::-;17723:2;17712:9;17705:21;17686:4;17743:56;17795:2;17784:9;17780:18;17772:6;17743:56;:::i;18275:274::-;18315:1;18341;18331:189;;-1:-1:-1;;;18373:1:214;18366:88;18477:4;18474:1;18467:15;18505:4;18502:1;18495:15;18331:189;-1:-1:-1;18534:9:214;;18275:274::o","linkReferences":{}},"methodIdentifiers":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":"83b5c95b","onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"5b28cdaf","onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"63584533","onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"a8ba8721","onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":"9faeaf45","onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"57066c9c","onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"55eb5a28","onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"964f667d","supportsInterface(bytes4)":"01ffc9a7"},"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\":[],\"name\":\"StoreHook_NotImplemented\",\"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\"},{\"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\":\"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\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"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.\"}}]},\"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_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.\"}}},\"kind\":\"dev\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"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 was set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"This function is a part of the ERC-165 standard.\",\"params\":{\"interfaceId\":\"The ID of the interface to check.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"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.\"}],\"StoreHook_NotImplemented()\":[{\"notice\":\"Error emitted when a function is not implemented.\"}],\"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.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs after deleting a record.\"},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs after setting a record.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Check if the interface is supported.\"}},\"notice\":\"This is a very naive and inefficient implementation for now. We can optimize this by adding support for `setIndexOfField` in Store (See https://github.com/latticexyz/mud/issues/444) Note: if a table with composite keys is used, only the first key of the tuple is indexed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueHook.sol\":\"KeysWithValueHook\"},\"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/StoreHook.sol\":{\"keccak256\":\"0x106db773957424e7f4b480dda82ad32ae9dde375ae1668b3c3532aea28a01d70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f6594e693b5789ad4e78e036fb04dcaa693dfe45dde7e2cdbb52d90f70b6eaf\",\"dweb:/ipfs/QmddHrxD8LjvD34hsJxSL5UTrjKpEmjUdibhAmLNNTDZGD\"]},\"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/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"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/IWorldEvents.sol\":{\"keccak256\":\"0x740924c595b68e61be8a49929ca49a4de7115b96f6f6c79ffb509f3ad60d4ba7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6d91ca5cd0984996fe1c4a3efc204585c8f8cae7bde65a7cda2900928cc36c6\",\"dweb:/ipfs/QmNYGENCUk3d9xPeuepminJWG5u63uF9yVBYPXnbLdbCXV\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x80430eb75c567e46d5da44070c6c366bca93204fab4243d47faceed7f8b25a54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://514940d33af3389e4702b72e250c8ce35fad10d55c2c8c8163f5a578390ce903\",\"dweb:/ipfs/QmWZ7qwGCZZVWCXDK1bryF1iL8WevoMQJVSNnmQknvTUMy\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"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/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/modules/keyswithvalue/KeysWithValueHook.sol\":{\"keccak256\":\"0xe9d3141d56a4e8ba63c5a27bf1e5efba0e965f412df628b5c930f323ccbcb1fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://672cac0b87825e0be28af368f1159fcf6902671dd4e0df0b1cf76e5f291ffcf8\",\"dweb:/ipfs/QmUfyGJuRg81AqGhQvkN3i8atQuRtab29tsw7xdirf7FT9\"]},\"src/modules/keyswithvalue/constants.sol\":{\"keccak256\":\"0x2dfaa126cd1631c54ddeb12b47467095c805ed6184777f72a06eca62548a13a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f2b92b56c94d51bfaa7ad549b21190f5af654dafa361cb5040b9321b39a580\",\"dweb:/ipfs/QmQmf2p22bSQSS47yt57hHUGNDtWmMQFFRMeP56d8AmUPC\"]},\"src/modules/keyswithvalue/getTargetTableId.sol\":{\"keccak256\":\"0xa718b0a5d5c1a78aaca1ce9de782d09145906b2093c674649b662d42b28ea609\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://17b788015db24d294f48d6160997072a4a78e5a6c17adec1e41860d055a24590\",\"dweb:/ipfs/QmagZKVsq25UJeE65Ky7rcUMN4fWsj6fUvcsJM1okNVxmJ\"]},\"src/modules/keyswithvalue/tables/KeysWithValue.sol\":{\"keccak256\":\"0xbc5192cf651eeadc0b41c77d6c9d6751c81e5f935644076f23d2436b72a7452a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f033ee7b8a502b94c0cadfca78b8cd758ec076b3ff1af9215e1149bef1f551a\",\"dweb:/ipfs/QmVXadcuXhZbn2PdwQDXbdmr7qKRingBzwmtzaQHA8nYSb\"]},\"src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4\",\"dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw\"]}},\"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":[],"type":"error","name":"StoreHook_NotImplemented"},{"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":"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":"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"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceStaticData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceStaticData"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","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 was set."}},"supportsInterface(bytes4)":{"details":"This function is a part of the ERC-165 standard.","params":{"interfaceId":"The ID of the interface to check."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs after deleting a record."},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs after setting a record."},"supportsInterface(bytes4)":{"notice":"Check if the interface is supported."}},"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":{"src/modules/keyswithvalue/KeysWithValueHook.sol":"KeysWithValueHook"},"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/StoreHook.sol":{"keccak256":"0x106db773957424e7f4b480dda82ad32ae9dde375ae1668b3c3532aea28a01d70","urls":["bzz-raw://7f6594e693b5789ad4e78e036fb04dcaa693dfe45dde7e2cdbb52d90f70b6eaf","dweb:/ipfs/QmddHrxD8LjvD34hsJxSL5UTrjKpEmjUdibhAmLNNTDZGD"],"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/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"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/IWorldEvents.sol":{"keccak256":"0x740924c595b68e61be8a49929ca49a4de7115b96f6f6c79ffb509f3ad60d4ba7","urls":["bzz-raw://b6d91ca5cd0984996fe1c4a3efc204585c8f8cae7bde65a7cda2900928cc36c6","dweb:/ipfs/QmNYGENCUk3d9xPeuepminJWG5u63uF9yVBYPXnbLdbCXV"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x80430eb75c567e46d5da44070c6c366bca93204fab4243d47faceed7f8b25a54","urls":["bzz-raw://514940d33af3389e4702b72e250c8ce35fad10d55c2c8c8163f5a578390ce903","dweb:/ipfs/QmWZ7qwGCZZVWCXDK1bryF1iL8WevoMQJVSNnmQknvTUMy"],"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/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/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"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/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/modules/keyswithvalue/KeysWithValueHook.sol":{"keccak256":"0xe9d3141d56a4e8ba63c5a27bf1e5efba0e965f412df628b5c930f323ccbcb1fe","urls":["bzz-raw://672cac0b87825e0be28af368f1159fcf6902671dd4e0df0b1cf76e5f291ffcf8","dweb:/ipfs/QmUfyGJuRg81AqGhQvkN3i8atQuRtab29tsw7xdirf7FT9"],"license":"MIT"},"src/modules/keyswithvalue/constants.sol":{"keccak256":"0x2dfaa126cd1631c54ddeb12b47467095c805ed6184777f72a06eca62548a13a0","urls":["bzz-raw://11f2b92b56c94d51bfaa7ad549b21190f5af654dafa361cb5040b9321b39a580","dweb:/ipfs/QmQmf2p22bSQSS47yt57hHUGNDtWmMQFFRMeP56d8AmUPC"],"license":"MIT"},"src/modules/keyswithvalue/getTargetTableId.sol":{"keccak256":"0xa718b0a5d5c1a78aaca1ce9de782d09145906b2093c674649b662d42b28ea609","urls":["bzz-raw://17b788015db24d294f48d6160997072a4a78e5a6c17adec1e41860d055a24590","dweb:/ipfs/QmagZKVsq25UJeE65Ky7rcUMN4fWsj6fUvcsJM1okNVxmJ"],"license":"MIT"},"src/modules/keyswithvalue/tables/KeysWithValue.sol":{"keccak256":"0xbc5192cf651eeadc0b41c77d6c9d6751c81e5f935644076f23d2436b72a7452a","urls":["bzz-raw://7f033ee7b8a502b94c0cadfca78b8cd758ec076b3ff1af9215e1149bef1f551a","dweb:/ipfs/QmVXadcuXhZbn2PdwQDXbdmr7qKRingBzwmtzaQHA8nYSb"],"license":"MIT"},"src/modules/utils/ArrayLib.sol":{"keccak256":"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b","urls":["bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4","dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw"],"license":"MIT"}},"version":1},"id":173}
1
+ {"abi":[{"type":"function","name":"onAfterDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSetRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeDeleteRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSetRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"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_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":"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":"StoreHook_NotImplemented","inputs":[]},{"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"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50612677806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d9b565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611f37565b6101fd565b005b6100e26100f2366004611feb565b610262565b6100e2610105366004611feb565b61031d565b6100e2610118366004611f37565b61034f565b6100e261010536600461208f565b6100e26101393660046120df565b61039b565b6100e261014c36600461208f565b6103ef565b6100e261015f3660046120df565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f198cf0cd0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610558565b9050600061022f661ad95e5ddd985b60ca1b8b610633565b9050610256818a6000815181106102485761024861216c565b6020026020010151846106f5565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b88610633565b90506000610287888885610558565b90506102ae82886000815181106102a0576102a061216c565b6020026020010151836106f5565b8351606090156102e3578686866040516020016102cd939291906121a6565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a6000815181106103055761030561216c565b6020026020010151610736565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610558565b90506000610381661ad95e5ddd985b60ca1b8b610633565b905061025681838b6000815181106103055761030561216c565b60006103a685610480565b905060006103b5868684610558565b905060006103cd661ad95e5ddd985b60ca1b88610633565b90506103e681876000815181106102485761024861216c565b50505050505050565b60006103fc848484610558565b90506000610414661ad95e5ddd985b60ca1b86610633565b905061042d81856000815181106102485761024861216c565b5050505050565b600061043f85610480565b9050600061044e868684610558565b90506000610466661ad95e5ddd985b60ca1b88610633565b90506103e68183886000815181106103055761030561216c565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b961216c565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061055090610528906121dd565b8360007e600302202020000000000000000000000000000000000000000000000000006107a6565b949350505050565b600080600080610566610863565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105959392919061223f565b600060405180830381865afa1580156105b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105da91908101906122ad565b92509250925060008151111561061f578282826040516020016105ff939291906121a6565b60405160208183030381529060405280519060200120935050505061062c565b5050805160209091012090505b9392505050565b60008061063f83610872565b9050600061064d8460101b90565b9050603861065c816010612330565b6106669190612330565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c61069760386010612330565b613a3160f11b7fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b600061070b836107058685610889565b906108fd565b905080516000036107255761072084836109d5565b610730565b610730848383610a26565b50505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061076c5761076c61216c565b602002602001018181525050610730848260008560405160200161079291815260200190565b604051602081830303815290604052610a7d565b6000806107b1610b23565b9050306001600160a01b038216036107d7576107cf86868686610b62565b915050610550565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610822908990899089908990600401612343565b602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cf9190612372565b600061086d610b23565b905090565b600061088060706010612330565b9190911b919050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106108c3576108c361216c565b60200260200101818152505060006108dd85836000610b8f565b90506108f46108ef8260008451610c56565b610cef565b95945050505050565b60606000835167ffffffffffffffff81111561091b5761091b611ddd565b604051908082528060200260200182016040528015610944578160200160208202803683370190505b5090506000805b85518110156109cb57848682815181106109675761096761216c565b6020026020010151146109b9578581815181106109865761098661216c565b60200260200101518383815181106109a0576109a061216c565b6020908102919091010152816109b58161238b565b9250505b806109c38161238b565b91505061094b565b5081529392505050565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610a0b57610a0b61216c565b602002602001018181525050610a218382610d00565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a5c57610a5c61216c565b60200260200101818152505061073084826000610a7886610d9b565b610dab565b6000610a87610b23565b9050306001600160a01b03821603610aaa57610aa585858585610e1e565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610af59088908890889088906004016123d1565b600060405180830381600087803b158015610b0f57600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b5d573391505090565b919050565b60006108f4610b718686610e61565b60ff858116601b0360080285901c16610b8a8587610eb7565b610ef2565b60606000610b9b610b23565b9050306001600160a01b03821603610bc057610bb8858585610f43565b91505061062c565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610c0990889088908890600401612405565b600060405180830381865afa158015610c26573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bb89190810190612431565b509392505050565b6000818311158015610c69575083518211155b610cae578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610ca593929190612466565b60405180910390fd5b60208401610cbc8482612330565b90506000610cca858561248b565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061062c8360206000610f7d565b6000610d0a610b23565b9050306001600160a01b03821603610d2657610a218383610ff8565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d6d908690869060040161249e565b600060405180830381600087803b158015610d8757600080fd5b505af11580156103e6573d6000803e3d6000fd5b60608161062c816020600061100f565b6000610db5610b23565b9050306001600160a01b03821603610dd357610aa585858585611063565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610af59088908890889088906004016123d1565b6000610e2a858561109e565b90506000610e47828560ff166028026038011c64ffffffffff1690565b9050610e5986868684600088886110b1565b505050505050565b60008282604051602001610e769291906124b7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c4e57610ede60ff601b83900360080287901c1683612330565b915080610eea8161238b565b915050610ebc565b600060208210610f1857602082048401935060208281610f1457610f146124f2565b0691505b508254600882021b602082900380841115610c4e576001850154600882021c82179150509392505050565b6060610550610f538585856114c7565b610f7684610f61888861109e565b9060ff166028026038011c64ffffffffff1690565b6000611547565b60606000610f8b8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610fb157610fb16124f2565b04905060405193506020840160208202810160405281855260005b82811015610fec578451871c825293870193602090910190600101610fcc565b50505050509392505050565b61100b82826110068561156a565b611668565b5050565b825160609060006110208583612508565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fec578051871b83529187019160019190910190602001611042565b600061106f858561109e565b9050600061108c828560ff166028026038011c64ffffffffff1690565b9050610e5986868660008588886110b1565b600061062c6110ad8484611928565b5490565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461113b57613a3160f11b87886040516020016110f991815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610ca593929160040161251f565b6000611156828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116f919061248b565b6111799190612330565b905080821415801561119b5750816111918688612560565b64ffffffffff1614155b156111eb576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610ca5565b818664ffffffffff16111561123c576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610ca5565b600061124984898461197e565b905064ffffffffff871660005b8960ff168160ff1610156112895761127d868260ff166028026038011c64ffffffffff1690565b90910190600101611256565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b6040516112c2959493929190612585565b60405180910390a25060006112d68b611a4c565b905060005b81518110156113ab5760008282815181106112f8576112f861216c565b602002602001015190506113246010826affffffffffffffffffffff1916611b1490919063ffffffff16565b1561139857606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161136597969594939291906125d7565b600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b505050505b50806113a38161238b565b9150506112db565b508284146113c45760006113bf8c8c611928565b839055505b60006113d18c8c8c6114c7565b90506113e5818a64ffffffffff1689611b32565b5060005b81518110156114b95760008282815181106114065761140661216c565b602002602001015190506114326020826affffffffffffffffffffff1916611b1490919063ffffffff16565b156114a657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161147397969594939291906125d7565b600060405180830381600087803b15801561148d57600080fd5b505af11580156114a1573d6000803e3d6000fd5b505050505b50806114b18161238b565b9150506113e9565b505050505050505050505050565b600083836040516020016114dc9291906124b7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8584010116604052838252610c4e85858584611b42565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152600091016040516020818303038152906040526115c9906121dd565b82036115f557507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526101f79161165f9101604051602081830303815290604052611659906121dd565b84611c11565b60206000610ef2565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516116989190612635565b60405180910390a2613a3160f11b837fffff00000000000000000000000000000000000000000000000000000000000016146116d357505050565b60006116de84611a4c565b905060005b81518110156117bb5760008282815181106117005761170061216c565b6020026020010151905061172c6040826affffffffffffffffffffff1916611b1490919063ffffffff16565b156117a8576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117759089908990899060040161223f565b600060405180830381600087803b15801561178f57600080fd5b505af11580156117a3573d6000803e3d6000fd5b505050505b50806117b38161238b565b9150506116e3565b5060006117c88585610e61565b90506118218160006117d986611c2d565b67ffffffffffffffff8111156117f1576117f1611ddd565b6040519080825280601f01601f19166020018201604052801561181b576020820181803683370190505b50611b32565b600061182c84611c50565b111561184d57600061183e8686611928565b905061184b816020611c8d565b505b60005b8251811015610e5957600083828151811061186d5761186d61216c565b602002602001015190506118996080826affffffffffffffffffffff1916611b1490919063ffffffff16565b15611915576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906118e2908a908a908a9060040161223f565b600060405180830381600087803b1580156118fc57600080fd5b505af1158015611910573d6000803e3d6000fd5b505050505b50806119208161238b565b915050611850565b6000828260405160200161193d9291906124b7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff8211156119c2576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610ca5565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119f457808503820191506119fc565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a8657611a8661216c565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611afd90611af5906121dd565b836000610f43565b9050610550611b0f8260008451610c56565b611cca565b60008160ff1682611b258560581c90565b1660ff1614905092915050565b610a218383602084018451611cdb565b8115611bcb5760208210611b6c57602082048401935060208281611b6857611b686124f2565b0691505b8115611bcb576020829003600081851015611b905750600019600885021c19611b9b565b50600019600882021c195b8554600885021b811984511682821617845250818511611bbc575050610730565b50600194909401939283900392015b5b60208310611bed5783548152600190930192601f1990920191602001611bcc565b8215610730576000600019600885021c198251865482169119161782525050505050565b6040805160208101849052908101829052600090606001610e76565b60006008611c3d6002602061248b565b611c479190612508565b9190911c919050565b60006008600180611c636002602061248b565b611c6d919061248b565b611c77919061248b565b611c819190612508565b8260ff911c1692915050565b60006020611c9c83601f612330565b611ca69190612648565b611cb09084612330565b90505b80831015610a215760008355600183019250611cb3565b6060600061062c8360156000610f7d565b8215611d555760208310611d0557602083048401935060208381611d0157611d016124f2565b0692505b8215611d555760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611d46575050610730565b50600194909401939182019190035b5b60208110611d775781518455600190930192602090910190601f1901611d56565b8015610730576000600019600883021c198554845182169119161785555050505050565b600060208284031215611dad57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461062c57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1c57611e1c611ddd565b604052919050565b600082601f830112611e3557600080fd5b8135602067ffffffffffffffff821115611e5157611e51611ddd565b8160051b611e60828201611df3565b9283528481018201928281019087851115611e7a57600080fd5b83870192505b84831015611e9957823582529183019190830190611e80565b979650505050505050565b803564ffffffffff81168114610b5d57600080fd5b600067ffffffffffffffff821115611ed357611ed3611ddd565b50601f01601f191660200190565b600082601f830112611ef257600080fd5b8135611f05611f0082611eb9565b611df3565b818152846020838601011115611f1a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611f5257600080fd5b87359650602088013567ffffffffffffffff80821115611f7157600080fd5b611f7d8b838c01611e24565b975060408a0135915060ff82168214611f9557600080fd5b819650611fa460608b01611ea4565b9550611fb260808b01611ea4565b945060a08a0135935060c08a0135915080821115611fcf57600080fd5b50611fdc8a828b01611ee1565b91505092959891949750929550565b60008060008060008060c0878903121561200457600080fd5b86359550602087013567ffffffffffffffff8082111561202357600080fd5b61202f8a838b01611e24565b9650604089013591508082111561204557600080fd5b6120518a838b01611ee1565b955060608901359450608089013591508082111561206e57600080fd5b5061207b89828a01611ee1565b92505060a087013590509295509295509295565b6000806000606084860312156120a457600080fd5b83359250602084013567ffffffffffffffff8111156120c257600080fd5b6120ce86828701611e24565b925050604084013590509250925092565b600080600080608085870312156120f557600080fd5b84359350602085013567ffffffffffffffff8082111561211457600080fd5b61212088838901611e24565b94506040870135915065ffffffffffff8216821461213d57600080fd5b9092506060860135908082111561215357600080fd5b5061216087828801611ee1565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561219d578181015183820152602001612185565b50506000910152565b600084516121b8818460208901612182565b820184815283516121d0816020808501908801612182565b0160200195945050505050565b805160208083015191908110156121fe576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b8381101561223457815187529582019590820190600101612218565b509495945050505050565b8381526060602082015260006122586060830185612204565b9050826040830152949350505050565b600082601f83011261227957600080fd5b8151612287611f0082611eb9565b81815284602083860101111561229c57600080fd5b610550826020830160208701612182565b6000806000606084860312156122c257600080fd5b835167ffffffffffffffff808211156122da57600080fd5b6122e687838801612268565b945060208601519350604086015191508082111561230357600080fd5b5061231086828701612268565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f761231a565b84815260806020820152600061235c6080830186612204565b60ff949094166040830152506060015292915050565b60006020828403121561238457600080fd5b5051919050565b6000600019820361239e5761239e61231a565b5060010190565b600081518084526123bd816020860160208601612182565b601f01601f19169290920160200192915050565b8481526080602082015260006123ea6080830186612204565b60ff851660408401528281036060840152611e9981856123a5565b83815260606020820152600061241e6060830185612204565b905060ff83166040830152949350505050565b60006020828403121561244357600080fd5b815167ffffffffffffffff81111561245a57600080fd5b61055084828501612268565b60608152600061247960608301866123a5565b60208301949094525060400152919050565b818103818111156101f7576101f761231a565b8281526040602082015260006105506040830184612204565b82815260006020808301845182860160005b828110156124e5578151845292840192908401906001016124c9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f761231a565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108f460608301846123a5565b64ffffffffff81811683821601908082111561257e5761257e61231a565b5092915050565b60a08152600061259860a0830188612204565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526125cb81856123a5565b98975050505050505050565b87815260e0602082015260006125f060e0830189612204565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261262781856123a5565b9a9950505050505050505050565b60208152600061062c6020830184612204565b60008261266557634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000815000a","sourceMap":"1167:4801:160:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d9b565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611f37565b6101fd565b005b6100e26100f2366004611feb565b610262565b6100e2610105366004611feb565b61031d565b6100e2610118366004611f37565b61034f565b6100e261010536600461208f565b6100e26101393660046120df565b61039b565b6100e261014c36600461208f565b6103ef565b6100e261015f3660046120df565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f198cf0cd0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610558565b9050600061022f661ad95e5ddd985b60ca1b8b610633565b9050610256818a6000815181106102485761024861216c565b6020026020010151846106f5565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b88610633565b90506000610287888885610558565b90506102ae82886000815181106102a0576102a061216c565b6020026020010151836106f5565b8351606090156102e3578686866040516020016102cd939291906121a6565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a6000815181106103055761030561216c565b6020026020010151610736565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610558565b90506000610381661ad95e5ddd985b60ca1b8b610633565b905061025681838b6000815181106103055761030561216c565b60006103a685610480565b905060006103b5868684610558565b905060006103cd661ad95e5ddd985b60ca1b88610633565b90506103e681876000815181106102485761024861216c565b50505050505050565b60006103fc848484610558565b90506000610414661ad95e5ddd985b60ca1b86610633565b905061042d81856000815181106102485761024861216c565b5050505050565b600061043f85610480565b9050600061044e868684610558565b90506000610466661ad95e5ddd985b60ca1b88610633565b90506103e68183886000815181106103055761030561216c565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b961216c565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061055090610528906121dd565b8360007e600302202020000000000000000000000000000000000000000000000000006107a6565b949350505050565b600080600080610566610863565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105959392919061223f565b600060405180830381865afa1580156105b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105da91908101906122ad565b92509250925060008151111561061f578282826040516020016105ff939291906121a6565b60405160208183030381529060405280519060200120935050505061062c565b5050805160209091012090505b9392505050565b60008061063f83610872565b9050600061064d8460101b90565b9050603861065c816010612330565b6106669190612330565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c61069760386010612330565b613a3160f11b7fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b600061070b836107058685610889565b906108fd565b905080516000036107255761072084836109d5565b610730565b610730848383610a26565b50505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061076c5761076c61216c565b602002602001018181525050610730848260008560405160200161079291815260200190565b604051602081830303815290604052610a7d565b6000806107b1610b23565b9050306001600160a01b038216036107d7576107cf86868686610b62565b915050610550565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610822908990899089908990600401612343565b602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cf9190612372565b600061086d610b23565b905090565b600061088060706010612330565b9190911b919050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106108c3576108c361216c565b60200260200101818152505060006108dd85836000610b8f565b90506108f46108ef8260008451610c56565b610cef565b95945050505050565b60606000835167ffffffffffffffff81111561091b5761091b611ddd565b604051908082528060200260200182016040528015610944578160200160208202803683370190505b5090506000805b85518110156109cb57848682815181106109675761096761216c565b6020026020010151146109b9578581815181106109865761098661216c565b60200260200101518383815181106109a0576109a061216c565b6020908102919091010152816109b58161238b565b9250505b806109c38161238b565b91505061094b565b5081529392505050565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610a0b57610a0b61216c565b602002602001018181525050610a218382610d00565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a5c57610a5c61216c565b60200260200101818152505061073084826000610a7886610d9b565b610dab565b6000610a87610b23565b9050306001600160a01b03821603610aaa57610aa585858585610e1e565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610af59088908890889088906004016123d1565b600060405180830381600087803b158015610b0f57600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b5d573391505090565b919050565b60006108f4610b718686610e61565b60ff858116601b0360080285901c16610b8a8587610eb7565b610ef2565b60606000610b9b610b23565b9050306001600160a01b03821603610bc057610bb8858585610f43565b91505061062c565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610c0990889088908890600401612405565b600060405180830381865afa158015610c26573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bb89190810190612431565b509392505050565b6000818311158015610c69575083518211155b610cae578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610ca593929190612466565b60405180910390fd5b60208401610cbc8482612330565b90506000610cca858561248b565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061062c8360206000610f7d565b6000610d0a610b23565b9050306001600160a01b03821603610d2657610a218383610ff8565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d6d908690869060040161249e565b600060405180830381600087803b158015610d8757600080fd5b505af11580156103e6573d6000803e3d6000fd5b60608161062c816020600061100f565b6000610db5610b23565b9050306001600160a01b03821603610dd357610aa585858585611063565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610af59088908890889088906004016123d1565b6000610e2a858561109e565b90506000610e47828560ff166028026038011c64ffffffffff1690565b9050610e5986868684600088886110b1565b505050505050565b60008282604051602001610e769291906124b7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c4e57610ede60ff601b83900360080287901c1683612330565b915080610eea8161238b565b915050610ebc565b600060208210610f1857602082048401935060208281610f1457610f146124f2565b0691505b508254600882021b602082900380841115610c4e576001850154600882021c82179150509392505050565b6060610550610f538585856114c7565b610f7684610f61888861109e565b9060ff166028026038011c64ffffffffff1690565b6000611547565b60606000610f8b8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610fb157610fb16124f2565b04905060405193506020840160208202810160405281855260005b82811015610fec578451871c825293870193602090910190600101610fcc565b50505050509392505050565b61100b82826110068561156a565b611668565b5050565b825160609060006110208583612508565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fec578051871b83529187019160019190910190602001611042565b600061106f858561109e565b9050600061108c828560ff166028026038011c64ffffffffff1690565b9050610e5986868660008588886110b1565b600061062c6110ad8484611928565b5490565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461113b57613a3160f11b87886040516020016110f991815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610ca593929160040161251f565b6000611156828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116f919061248b565b6111799190612330565b905080821415801561119b5750816111918688612560565b64ffffffffff1614155b156111eb576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610ca5565b818664ffffffffff16111561123c576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610ca5565b600061124984898461197e565b905064ffffffffff871660005b8960ff168160ff1610156112895761127d868260ff166028026038011c64ffffffffff1690565b90910190600101611256565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b6040516112c2959493929190612585565b60405180910390a25060006112d68b611a4c565b905060005b81518110156113ab5760008282815181106112f8576112f861216c565b602002602001015190506113246010826affffffffffffffffffffff1916611b1490919063ffffffff16565b1561139857606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161136597969594939291906125d7565b600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b505050505b50806113a38161238b565b9150506112db565b508284146113c45760006113bf8c8c611928565b839055505b60006113d18c8c8c6114c7565b90506113e5818a64ffffffffff1689611b32565b5060005b81518110156114b95760008282815181106114065761140661216c565b602002602001015190506114326020826affffffffffffffffffffff1916611b1490919063ffffffff16565b156114a657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161147397969594939291906125d7565b600060405180830381600087803b15801561148d57600080fd5b505af11580156114a1573d6000803e3d6000fd5b505050505b50806114b18161238b565b9150506113e9565b505050505050505050505050565b600083836040516020016114dc9291906124b7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8584010116604052838252610c4e85858584611b42565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152600091016040516020818303038152906040526115c9906121dd565b82036115f557507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526101f79161165f9101604051602081830303815290604052611659906121dd565b84611c11565b60206000610ef2565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516116989190612635565b60405180910390a2613a3160f11b837fffff00000000000000000000000000000000000000000000000000000000000016146116d357505050565b60006116de84611a4c565b905060005b81518110156117bb5760008282815181106117005761170061216c565b6020026020010151905061172c6040826affffffffffffffffffffff1916611b1490919063ffffffff16565b156117a8576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117759089908990899060040161223f565b600060405180830381600087803b15801561178f57600080fd5b505af11580156117a3573d6000803e3d6000fd5b505050505b50806117b38161238b565b9150506116e3565b5060006117c88585610e61565b90506118218160006117d986611c2d565b67ffffffffffffffff8111156117f1576117f1611ddd565b6040519080825280601f01601f19166020018201604052801561181b576020820181803683370190505b50611b32565b600061182c84611c50565b111561184d57600061183e8686611928565b905061184b816020611c8d565b505b60005b8251811015610e5957600083828151811061186d5761186d61216c565b602002602001015190506118996080826affffffffffffffffffffff1916611b1490919063ffffffff16565b15611915576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906118e2908a908a908a9060040161223f565b600060405180830381600087803b1580156118fc57600080fd5b505af1158015611910573d6000803e3d6000fd5b505050505b50806119208161238b565b915050611850565b6000828260405160200161193d9291906124b7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff8211156119c2576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610ca5565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119f457808503820191506119fc565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a8657611a8661216c565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611afd90611af5906121dd565b836000610f43565b9050610550611b0f8260008451610c56565b611cca565b60008160ff1682611b258560581c90565b1660ff1614905092915050565b610a218383602084018451611cdb565b8115611bcb5760208210611b6c57602082048401935060208281611b6857611b686124f2565b0691505b8115611bcb576020829003600081851015611b905750600019600885021c19611b9b565b50600019600882021c195b8554600885021b811984511682821617845250818511611bbc575050610730565b50600194909401939283900392015b5b60208310611bed5783548152600190930192601f1990920191602001611bcc565b8215610730576000600019600885021c198251865482169119161782525050505050565b6040805160208101849052908101829052600090606001610e76565b60006008611c3d6002602061248b565b611c479190612508565b9190911c919050565b60006008600180611c636002602061248b565b611c6d919061248b565b611c77919061248b565b611c819190612508565b8260ff911c1692915050565b60006020611c9c83601f612330565b611ca69190612648565b611cb09084612330565b90505b80831015610a215760008355600183019250611cb3565b6060600061062c8360156000610f7d565b8215611d555760208310611d0557602083048401935060208381611d0157611d016124f2565b0692505b8215611d555760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611d46575050610730565b50600194909401939182019190035b5b60208110611d775781518455600190930192602090910190601f1901611d56565b8015610730576000600019600883021c198554845182169119161785555050505050565b600060208284031215611dad57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461062c57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1c57611e1c611ddd565b604052919050565b600082601f830112611e3557600080fd5b8135602067ffffffffffffffff821115611e5157611e51611ddd565b8160051b611e60828201611df3565b9283528481018201928281019087851115611e7a57600080fd5b83870192505b84831015611e9957823582529183019190830190611e80565b979650505050505050565b803564ffffffffff81168114610b5d57600080fd5b600067ffffffffffffffff821115611ed357611ed3611ddd565b50601f01601f191660200190565b600082601f830112611ef257600080fd5b8135611f05611f0082611eb9565b611df3565b818152846020838601011115611f1a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611f5257600080fd5b87359650602088013567ffffffffffffffff80821115611f7157600080fd5b611f7d8b838c01611e24565b975060408a0135915060ff82168214611f9557600080fd5b819650611fa460608b01611ea4565b9550611fb260808b01611ea4565b945060a08a0135935060c08a0135915080821115611fcf57600080fd5b50611fdc8a828b01611ee1565b91505092959891949750929550565b60008060008060008060c0878903121561200457600080fd5b86359550602087013567ffffffffffffffff8082111561202357600080fd5b61202f8a838b01611e24565b9650604089013591508082111561204557600080fd5b6120518a838b01611ee1565b955060608901359450608089013591508082111561206e57600080fd5b5061207b89828a01611ee1565b92505060a087013590509295509295509295565b6000806000606084860312156120a457600080fd5b83359250602084013567ffffffffffffffff8111156120c257600080fd5b6120ce86828701611e24565b925050604084013590509250925092565b600080600080608085870312156120f557600080fd5b84359350602085013567ffffffffffffffff8082111561211457600080fd5b61212088838901611e24565b94506040870135915065ffffffffffff8216821461213d57600080fd5b9092506060860135908082111561215357600080fd5b5061216087828801611ee1565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561219d578181015183820152602001612185565b50506000910152565b600084516121b8818460208901612182565b820184815283516121d0816020808501908801612182565b0160200195945050505050565b805160208083015191908110156121fe576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b8381101561223457815187529582019590820190600101612218565b509495945050505050565b8381526060602082015260006122586060830185612204565b9050826040830152949350505050565b600082601f83011261227957600080fd5b8151612287611f0082611eb9565b81815284602083860101111561229c57600080fd5b610550826020830160208701612182565b6000806000606084860312156122c257600080fd5b835167ffffffffffffffff808211156122da57600080fd5b6122e687838801612268565b945060208601519350604086015191508082111561230357600080fd5b5061231086828701612268565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f761231a565b84815260806020820152600061235c6080830186612204565b60ff949094166040830152506060015292915050565b60006020828403121561238457600080fd5b5051919050565b6000600019820361239e5761239e61231a565b5060010190565b600081518084526123bd816020860160208601612182565b601f01601f19169290920160200192915050565b8481526080602082015260006123ea6080830186612204565b60ff851660408401528281036060840152611e9981856123a5565b83815260606020820152600061241e6060830185612204565b905060ff83166040830152949350505050565b60006020828403121561244357600080fd5b815167ffffffffffffffff81111561245a57600080fd5b61055084828501612268565b60608152600061247960608301866123a5565b60208301949094525060400152919050565b818103818111156101f7576101f761231a565b8281526040602082015260006105506040830184612204565b82815260006020808301845182860160005b828110156124e5578151845292840192908401906001016124c9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f761231a565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108f460608301846123a5565b64ffffffffff81811683821601908082111561257e5761257e61231a565b5092915050565b60a08152600061259860a0830188612204565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526125cb81856123a5565b98975050505050505050565b87815260e0602082015260006125f060e0830189612204565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261262781856123a5565b9a9950505050505050505050565b60208152600061062c6020830184612204565b60008261266557634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000815000a","sourceMap":"1167:4801:160:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;900:176:22;;;;;;:::i;:::-;;:::i;:::-;;;516:14:201;;509:22;491:41;;479:2;464:18;900:176:22;;;;;;;3316:565:160;;;;;;:::i;:::-;;:::i;:::-;;1408:873;;;;;;:::i;:::-;;:::i;2435:266:22:-;;;;;;:::i;:::-;;:::i;3885:544:160:-;;;;;;:::i;:::-;;:::i;7551:160:22:-;;;;;;:::i;2285:522:160:-;;;;;;:::i;:::-;;:::i;4433:449::-;;;;;;:::i;:::-;;:::i;2811:501::-;;;;;;:::i;:::-;;:::i;900:176:22:-;976:4;995:38;;;382:387:10;995:38:22;;:76;;-1:-1:-1;1037:34:22;;;97::5;1037::22;995:76;988:83;900:176;-1:-1:-1;;900:176:22:o;3316:565:160:-;3578:23;3604:36;3626:13;3604:21;:36::i;:::-;3578:62;;3646:21;3670:57;3690:13;3705:8;3715:11;3670:19;:57::i;:::-;3646:81;;3733:24;3760:49;-1:-1:-1;;;3795:13:160;3760:16;:49::i;:::-;3733:76;;3815:61;3834:13;3849:8;3858:1;3849:11;;;;;;;;:::i;:::-;;;;;;;3862:13;3815:18;:61::i;:::-;3504:377;;;3316:565;;;;;;;:::o;1408:873::-;1644:24;1671:49;-1:-1:-1;;;1706:13:160;1671:16;:49::i;:::-;1644:76;;1757:21;1781:57;1801:13;1816:8;1826:11;1781:19;:57::i;:::-;1757:81;;1913:61;1932:13;1947:8;1956:1;1947:11;;;;;;;;:::i;:::-;;;;;;;1960:13;1913:18;:61::i;:::-;2067:18;;2040:17;;2067:22;2063:145;;2123:10;2135:14;2151:11;2106:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2099:64;;2063:145;;;-1:-1:-1;2191:10:160;2063:145;2213:63;2232:13;2257:4;2247:15;;;;;;2264:8;2273:1;2264:11;;;;;;;;:::i;:::-;;;;;;;2213:18;:63::i;:::-;1638:643;;;1408:873;;;;;;:::o;2435:266:22:-;2670:26;;;;;;;;;;;;;;3885:544:160;4136:23;4162:36;4184:13;4162:21;:36::i;:::-;4136:62;;4204:16;4223:57;4243:13;4258:8;4268:11;4223:19;:57::i;:::-;4204:76;;4286:24;4313:49;-1:-1:-1;;;4348:13:160;4313:16;:49::i;:::-;4286:76;;4368:56;4387:13;4402:8;4412;4421:1;4412:11;;;;;;;;:::i;2285:522::-;2504:23;2530:36;2552:13;2530:21;:36::i;:::-;2504:62;;2572:21;2596:57;2616:13;2631:8;2641:11;2596:19;:57::i;:::-;2572:81;;2659:24;2686:49;-1:-1:-1;;;2721:13:160;2686:16;:49::i;:::-;2659:76;;2741:61;2760:13;2775:8;2784:1;2775:11;;;;;;;;:::i;2741:61::-;2430:377;;;2285:522;;;;:::o;4433:449::-;4647:21;4671:57;4691:13;4706:8;4716:11;4671:19;:57::i;:::-;4647:81;;4734:24;4761:49;-1:-1:-1;;;4796:13:160;4761:16;:49::i;:::-;4734:76;;4816:61;4835:13;4850:8;4859:1;4850:11;;;;;;;;:::i;4816:61::-;4573:309;;4433:449;;;:::o;2811:501::-;3019:23;3045:36;3067:13;3045:21;:36::i;:::-;3019:62;;3087:16;3106:57;3126:13;3141:8;3151:11;3106:19;:57::i;:::-;3087:76;;3169:24;3196:49;-1:-1:-1;;;3231:13:160;3196:16;:49::i;:::-;3169:76;;3251:56;3270:13;3285:8;3295;3304:1;3295:11;;;;;;;;:::i;3776:327:29:-;3903:16;;;3917:1;3903:16;;;;;;;;;3843:23;;;;3903:16;;;;;;;;;;;;-1:-1:-1;3903:16:29;3874:45;;3958:7;3925:9;3935:1;3925:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1147:69;;;-1:-1:-1;;;1147:69:29;;;7457:92:201;-1:-1:-1;;;7565:11:201;;;7558:100;1198:17:29;7674:12:201;;;7667:101;1147:69:29;;;;;;;;;;7784:12:201;;1147:69:29;;-1:-1:-1;;3989:64:29;;1139:78;;;:::i;:::-;4026:9;4037:1;1324:66;3989:26;:64::i;:::-;3973:80;3776:327;-1:-1:-1;;;;3776:327:29:o;4886:512:160:-;5032:17;5058:23;5083:28;5113:24;5141:8;:6;:8::i;:::-;-1:-1:-1;;;;;5141:18:160;;5167:13;5188:8;5204:11;5141:80;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5141:80:160;;;;;;;;;;;;:::i;:::-;5057:164;;;;;;5252:1;5231:11;:18;:22;5227:167;;;5297:10;5309:14;5325:11;5280:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5270:68;;;;;;5263:75;;;;;;;5227:167;-1:-1:-1;;5366:21:160;;;;;;;;-1:-1:-1;4886:512:160;;;;;;:::o;1052:559:164:-;1142:10;1158:17;1178:46;1210:13;1178:31;:46::i;:::-;1158:66;;1228:27;1265:51;1302:13;336:5:16;2530:44:58;;2432:148;1265:51:164;1228:89;-1:-1:-1;401:5:164;1544:33;401:5;336::16;1544:33:164;:::i;:::-;:56;;;;:::i;:::-;1521:18;;;:80;;1474:33;354:5;336::16;1474:33:164;:::i;:::-;-1:-1:-1;;;1440:29:164;;;;;:68;;336:5:16;1390:37:164;;;;;1355:154;:247;;;-1:-1:-1;;1052:559:164;;;;:::o;5402:564:160:-;5573:38;5614:55;5665:3;5614:43;5632:13;5647:9;5614:17;:43::i;:::-;:50;;:55::i;:::-;5573:96;;5680:21;:28;5712:1;5680:33;5676:286;;5770:52;5797:13;5812:9;5770:26;:52::i;:::-;5676:286;;;5889:66;5907:13;5922:9;5933:21;5889:17;:66::i;:::-;5497:469;5402:564;;;:::o;14800:258:165:-;14916:16;;;14930:1;14916:16;;;;;;;;;14887:26;;14916:16;;;;;;;;;;;-1:-1:-1;14916:16:165;14887:45;;14953:9;14938;14948:1;14938:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;14969:84;15000:8;15010:9;15021:1;15042:8;15024:28;;;;;;10632:19:201;;10676:2;10667:12;;10503:182;15024:28:165;;;;;;;;;;;;;14969:30;:84::i;17702:457:24:-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:24;-1:-1:-1;;;;;17925:30:24;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:24;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1292:112:160:-;1333:10;1369:29;:27;:29::i;:::-;1351:48;;1292:112;:::o;3058:160:58:-;3121:7;3185:26;399:6;336:5:16;3185:26:58;:::i;:::-;3151:61;;;;;3058:160;-1:-1:-1;3058:160:58:o;4802:354:165:-;4945:16;;;4959:1;4945:16;;;;;;;;;4878:30;;4916:26;;4945:16;;;;;;;;;;;;-1:-1:-1;4945:16:165;4916:45;;4982:9;4967;4977:1;4967:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;4998:18;5019:51;5047:8;5057:9;5068:1;5019:27;:51::i;:::-;4998:72;;5084:66;:44;5105:5;5112:1;5115:5;:12;5084:20;:44::i;:::-;:64;:66::i;:::-;5076:75;4802:354;-1:-1:-1;;;;;4802:354:165:o;834:535:189:-;912:16;936:25;978:3;:10;964:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;964:25:189;;936:53;;995:21;1031:9;1026:150;1046:3;:10;1042:1;:14;1026:150;;;1085:7;1075:3;1079:1;1075:6;;;;;;;;:::i;:::-;;;;;;;:17;1071:99;;1130:3;1134:1;1130:6;;;;;;;;:::i;:::-;;;;;;;1104:8;1113:13;1104:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;1146:15;;;;:::i;:::-;;;;1071:99;1058:3;;;;:::i;:::-;;;;1026:150;;;-1:-1:-1;1306:31:189;;;834:535;-1:-1:-1;;;834:535:189:o;20488:209:165:-;20594:16;;;20608:1;20594:16;;;;;;;;;20565:26;;20594:16;;;;;;;;;;;-1:-1:-1;20594:16:165;20565:45;;20631:9;20616;20626:1;20616:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;20647:45;20672:8;20682:9;20647:24;:45::i;:::-;20559:138;20488:209;;:::o;7126:275::-;7255:16;;;7269:1;7255:16;;;;;;;;;7226:26;;7255:16;;;;;;;;;;;-1:-1:-1;7255:16:165;7226:45;;7292:9;7277;7287:1;7277:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;7308:88;7336:8;7346:9;7357:1;7360:35;7380:13;7360:18;:35::i;:::-;7308:27;:88::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;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:227;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;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;18525:431:24:-;18661:12;18681:21;18705:17;:15;:17::i;:::-;18681:41;-1:-1:-1;18757:4:24;-1:-1:-1;;;;;18732:30:24;;;18728:224;;18779:63;18805:7;18814:8;18824:17;18779:25;:63::i;:::-;18772:70;;;;;18728:224;18870:75;;;;;-1:-1:-1;;;;;18870:37:24;;;;;:75;;18908:7;;18917:8;;18927:17;;18870:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18870:75:24;;;;;;;;;;;;:::i;18728:224::-;18675:281;18525:431;;;;;:::o;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;45218:220:34:-;45284:24;45316:30;45349:32;45367:6;45375:2;45379:1;45349:17;:32::i;13776:301:24:-;13860:21;13884:17;:15;:17::i;:::-;13860:41;-1:-1:-1;13936:4:24;-1:-1:-1;;;;;13911:30:24;;;13907:166;;13951:41;13974:7;13983:8;13951:22;:41::i;13907:166::-;14013:53;;;;;-1:-1:-1;;;;;14013:34:24;;;;;:53;;14048:7;;14057:8;;14013:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44884:222:35;44948:12;45038:6;45062:39;45038:6;45095:2;45099:1;45062:17;:39::i;11498:424:24:-;11649:21;11673:17;:15;:17::i;:::-;11649:41;-1:-1:-1;11725:4:24;-1:-1:-1;;;;;11700:30:24;;;11696:222;;11740:69;11766:7;11775:8;11785:17;11804:4;11740:25;:69::i;11696:222::-;11830:81;;;;;-1:-1:-1;;;;;11830:37:24;;;;;:81;;11868:7;;11877:8;;11887:17;;11906:4;;11830:81;;;:::i;27809:790:20:-;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;:::-;27963:636;;27809:790;;;;:::o;49619:191::-;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;50636:242::-;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;;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;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;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;24721:145:20:-;24805:56;24818:7;24827:8;24837:23;24852:7;24837:14;:23::i;:::-;24805:12;:56::i;:::-;24721:145;;:::o;784:1339:36:-;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;;1312:14:36;1481:32;;;1312:14;1308:28;1453:4;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;;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;52752:301::-;52873:13;52965:82;52996:48;53026:7;53035:8;52996:29;:48::i;:::-;4572:21:19;;4466:137;43119:3949:20;-1:-1:-1;;;43516:7:20;:35;;;43512:161;;-1:-1:-1;;;43623:7:20;43656;43639:25;;;;;;10632:19:201;;10676:2;10667:12;;10503: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;;;;;16300:12:201;16339:15;;;44204:92:20;;;16321:34:201;16391:15;;;16371:18;;;16364:43;16443:15;;16423:18;;;16416:43;16263:18;;44204:92:20;16094:371:201;44085:218:20;44409:19;44390:16;:38;;;44386:140;;;44445:74;;;;;;;;16643:25:201;;;16716:12;16704:25;;16684:18;;;16677:53;16616:18;;44445:74:20;16470: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;51555:274::-;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;4903:665:19:-;5315:4;5309:11;5356:4;5344:17;;-1:-1:-1;;1312:14:36;5403:26:19;;;1312:14:36;1308:28;5375:4:19;5368:63;5475:6;5467;5460:22;5493:51;5498:14;5514:6;5522;5530:13;5493:4;:51::i;4858:651:20:-;1147:69:29;;;-1:-1:-1;;;1147:69:29;;;7457:92:201;-1:-1:-1;;;7565:11:201;;;7558:100;1198:17:29;7674:12:201;;;7667:101;4925:11:20;;7784:12:201;1147:69:29;;;;;;;;;;;;1139:78;;;:::i;:::-;5179:7:20;5161:62;5157:112;;-1:-1:-1;1324:66:29;;4858:651:20;-1:-1:-1;4858:651:20:o;5157:112::-;1147:69:29;;;-1:-1:-1;;;1147:69:29;;;7457:92:201;-1:-1:-1;;;7565:11:201;;;7558:100;1198:17:29;7674:12:201;;;7667:101;5313:183:20;;5359:83;;7784:12:201;1147:69:29;;;;;;;;;;;;1139:78;;;:::i;:::-;5433:7:20;5359:40;:83::i;:::-;5462:2;5484:1;5313:17;:183::i;25465:1680::-;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;;52184:230;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;7139:1488:15:-;7265:13;933:16;7290:25;;7286:97;;;7332:44;;;;;;;;18768:25:201;;;18741:18;;7332:44:15;18622: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;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;;;7457:92:201;-1:-1:-1;;;7565:11:201;;;7558:100;1098:21:28;7674:12:201;;;7667:101;1047:73:28;;;;;;;;;;7784:12:201;;1047:73:28;;-1:-1:-1;;4579:49:28;;1039:82;;;:::i;:::-;4615:9;4626:1;4579:25;:49::i;:::-;4558:70;;4642:66;:44;4663:5;4670:1;4673:5;:12;4642:20;:44::i;:::-;:64;:66::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;850:162:19:-;939:68;945:14;961:6;826:4:14;816:15;;995:4:19;:11;939:5;:68::i;5933:2374::-;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;50062:282:20:-;50307:30;;;;;;18992:19:201;;;19027:12;;;19020:28;;;50150:7:20;;19064:12:201;;50307:30:20;18804:278:201;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;5098:173::-;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;3893:370:19:-;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;;40037:220:34;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;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;14:332:201:-;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;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:184;-1:-1:-1;;;592:1:201;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:334;803:2;797:9;859:2;849:13;;-1:-1:-1;;845:86:201;833:99;;962:18;947:34;;983:22;;;944:62;941:88;;;1009:18;;:::i;:::-;1045:2;1038:22;732:334;;-1:-1:-1;732:334:201:o;1071:712::-;1125:5;1178:3;1171:4;1163:6;1159:17;1155:27;1145:55;;1196:1;1193;1186:12;1145:55;1232:6;1219:20;1258:4;1281:18;1277:2;1274:26;1271:52;;;1303:18;;:::i;:::-;1349:2;1346:1;1342:10;1372:28;1396:2;1392;1388:11;1372:28;:::i;:::-;1434:15;;;1504;;;1500:24;;;1465:12;;;;1536:15;;;1533:35;;;1564:1;1561;1554:12;1533:35;1600:2;1592:6;1588:15;1577:26;;1612:142;1628:6;1623:3;1620:15;1612:142;;;1694:17;;1682:30;;1645:12;;;;1732;;;;1612:142;;;1772:5;1071:712;-1:-1:-1;;;;;;;1071:712:201:o;1788:165::-;1855:20;;1915:12;1904:24;;1894:35;;1884:63;;1943:1;1940;1933:12;1958:245;2006:4;2039:18;2031:6;2028:30;2025:56;;;2061:18;;:::i;:::-;-1:-1:-1;2118:2:201;2106:15;-1:-1:-1;;2102:88:201;2192:4;2098:99;;1958:245::o;2208:462::-;2250:5;2303:3;2296:4;2288:6;2284:17;2280:27;2270:55;;2321:1;2318;2311:12;2270:55;2357:6;2344:20;2388:48;2404:31;2432:2;2404:31;:::i;:::-;2388:48;:::i;:::-;2461:2;2452:7;2445:19;2507:3;2500:4;2495:2;2487:6;2483:15;2479:26;2476:35;2473:55;;;2524:1;2521;2514:12;2473:55;2589:2;2582:4;2574:6;2570:17;2563:4;2554:7;2550:18;2537:55;2637:1;2612:16;;;2630:4;2608:27;2601:38;;;;2616:7;2208:462;-1:-1:-1;;;2208:462:201:o;2675:1073::-;2883:6;2891;2899;2907;2915;2923;2931;2984:3;2972:9;2963:7;2959:23;2955:33;2952:53;;;3001:1;2998;2991:12;2952:53;3037:9;3024:23;3014:33;;3098:2;3087:9;3083:18;3070:32;3121:18;3162:2;3154:6;3151:14;3148:34;;;3178:1;3175;3168:12;3148:34;3201:61;3254:7;3245:6;3234:9;3230:22;3201:61;:::i;:::-;3191:71;;3312:2;3301:9;3297:18;3284:32;3271:45;;3356:4;3349:5;3345:16;3338:5;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3399:5;3389:15;;3423:37;3456:2;3445:9;3441:18;3423:37;:::i;:::-;3413:47;;3479:38;3512:3;3501:9;3497:19;3479:38;:::i;:::-;3469:48;;3564:3;3553:9;3549:19;3536:33;3526:43;;3622:3;3611:9;3607:19;3594:33;3578:49;;3652:2;3642:8;3639:16;3636:36;;;3668:1;3665;3658:12;3636:36;;3691:51;3734:7;3723:8;3712:9;3708:24;3691:51;:::i;:::-;3681:61;;;2675:1073;;;;;;;;;;:::o;3753:1069::-;3997:6;4005;4013;4021;4029;4037;4090:3;4078:9;4069:7;4065:23;4061:33;4058:53;;;4107:1;4104;4097:12;4058:53;4143:9;4130:23;4120:33;;4204:2;4193:9;4189:18;4176:32;4227:18;4268:2;4260:6;4257:14;4254:34;;;4284:1;4281;4274:12;4254:34;4307:61;4360:7;4351:6;4340:9;4336:22;4307:61;:::i;:::-;4297:71;;4421:2;4410:9;4406:18;4393:32;4377:48;;4450:2;4440:8;4437:16;4434:36;;;4466:1;4463;4456:12;4434:36;4489:51;4532:7;4521:8;4510:9;4506:24;4489:51;:::i;:::-;4479:61;;4587:2;4576:9;4572:18;4559:32;4549:42;;4644:3;4633:9;4629:19;4616:33;4600:49;;4674:2;4664:8;4661:16;4658:36;;;4690:1;4687;4680:12;4658:36;;4713:51;4756:7;4745:8;4734:9;4730:24;4713:51;:::i;:::-;4703:61;;;4811:3;4800:9;4796:19;4783:33;4773:43;;3753:1069;;;;;;;;:::o;4827:547::-;4992:6;5000;5008;5061:2;5049:9;5040:7;5036:23;5032:32;5029:52;;;5077:1;5074;5067:12;5029:52;5113:9;5100:23;5090:33;;5174:2;5163:9;5159:18;5146:32;5201:18;5193:6;5190:30;5187:50;;;5233:1;5230;5223:12;5187:50;5256:61;5309:7;5300:6;5289:9;5285:22;5256:61;:::i;:::-;5246:71;;;5364:2;5353:9;5349:18;5336:32;5326:42;;4827:547;;;;;:::o;5379:835::-;5529:6;5537;5545;5553;5606:3;5594:9;5585:7;5581:23;5577:33;5574:53;;;5623:1;5620;5613:12;5574:53;5659:9;5646:23;5636:33;;5720:2;5709:9;5705:18;5692:32;5743:18;5784:2;5776:6;5773:14;5770:34;;;5800:1;5797;5790:12;5770:34;5823:61;5876:7;5867:6;5856:9;5852:22;5823:61;:::i;:::-;5813:71;;5934:2;5923:9;5919:18;5906:32;5893:45;;5978:14;5971:5;5967:26;5960:5;5957:37;5947:65;;6008:1;6005;5998:12;5947:65;6031:5;;-1:-1:-1;6089:2:201;6074:18;;6061:32;;6105:16;;;6102:36;;;6134:1;6131;6124:12;6102:36;;6157:51;6200:7;6189:8;6178:9;6174:24;6157:51;:::i;:::-;6147:61;;;5379:835;;;;;;;:::o;6219:184::-;-1:-1:-1;;;6268:1:201;6261:88;6368:4;6365:1;6358:15;6392:4;6389:1;6382:15;6408:250;6493:1;6503:113;6517:6;6514:1;6511:13;6503:113;;;6593:11;;;6587:18;6574:11;;;6567:39;6539:2;6532:10;6503:113;;;-1:-1:-1;;6650:1:201;6632:16;;6625:27;6408:250::o;6663:606::-;6900:3;6938:6;6932:13;6954:66;7013:6;7008:3;7001:4;6993:6;6989:17;6954:66;:::i;:::-;7042:16;;7067:21;;;7113:13;;7135:81;7113:13;7200:4;7189:16;;;;7170:17;;7135:81;:::i;:::-;7236:20;7258:4;7232:31;;6663:606;-1:-1:-1;;;;;6663:606:201:o;7807:357::-;7925:12;;7972:4;7961:16;;;7955:23;;7925:12;7990:16;;7987:171;;;-1:-1:-1;;8070:6:201;8064:4;8060:17;8057:1;8053:25;8049:98;8042:5;8038:110;8029:119;;7987:171;;7807:357;;;:::o;8169:435::-;8222:3;8260:5;8254:12;8287:6;8282:3;8275:19;8313:4;8342:2;8337:3;8333:12;8326:19;;8379:2;8372:5;8368:14;8400:1;8410:169;8424:6;8421:1;8418:13;8410:169;;;8485:13;;8473:26;;8519:12;;;;8554:15;;;;8446:1;8439:9;8410:169;;;-1:-1:-1;8595:3:201;;8169:435;-1:-1:-1;;;;;8169:435:201:o;8609:466::-;8907:6;8896:9;8889:25;8950:2;8945;8934:9;8930:18;8923:30;8870:4;8970:56;9022:2;9011:9;9007:18;8999:6;8970:56;:::i;:::-;8962:64;;9062:6;9057:2;9046:9;9042:18;9035:34;8609:466;;;;;;:::o;9080:441::-;9133:5;9186:3;9179:4;9171:6;9167:17;9163:27;9153:55;;9204:1;9201;9194:12;9153:55;9233:6;9227:13;9264:48;9280:31;9308:2;9280:31;:::i;9264:48::-;9337:2;9328:7;9321:19;9383:3;9376:4;9371:2;9363:6;9359:15;9355:26;9352:35;9349:55;;;9400:1;9397;9390:12;9349:55;9413:77;9487:2;9480:4;9471:7;9467:18;9460:4;9452:6;9448:17;9413:77;:::i;9526:653::-;9666:6;9674;9682;9735:2;9723:9;9714:7;9710:23;9706:32;9703:52;;;9751:1;9748;9741:12;9703:52;9784:9;9778:16;9813:18;9854:2;9846:6;9843:14;9840:34;;;9870:1;9867;9860:12;9840:34;9893:60;9945:7;9936:6;9925:9;9921:22;9893:60;:::i;:::-;9883:70;;9993:2;9982:9;9978:18;9972:25;9962:35;;10043:2;10032:9;10028:18;10022:25;10006:41;;10072:2;10062:8;10059:16;10056:36;;;10088:1;10085;10078:12;10056:36;;10111:62;10165:7;10154:8;10143:9;10139:24;10111:62;:::i;:::-;10101:72;;;9526:653;;;;;:::o;10184:184::-;-1:-1:-1;;;10233:1:201;10226:88;10333:4;10330:1;10323:15;10357:4;10354:1;10347:15;10373:125;10438:9;;;10459:10;;;10456:36;;;10472:18;;:::i;10690:546::-;11012:6;11001:9;10994:25;11055:3;11050:2;11039:9;11035:18;11028:31;10975:4;11076:57;11128:3;11117:9;11113:19;11105:6;11076:57;:::i;:::-;11181:4;11169:17;;;;11164:2;11149:18;;11142:45;-1:-1:-1;11218:2:201;11203:18;11196:34;11068:65;10690:546;-1:-1:-1;;10690:546:201:o;11241:184::-;11311:6;11364:2;11352:9;11343:7;11339:23;11335:32;11332:52;;;11380:1;11377;11370:12;11332:52;-1:-1:-1;11403:16:201;;11241:184;-1:-1:-1;11241:184:201:o;11430:195::-;11469:3;-1:-1:-1;;11493:5:201;11490:77;11487:103;;11570:18;;:::i;:::-;-1:-1:-1;11617:1:201;11606:13;;11430:195::o;11630:329::-;11671:3;11709:5;11703:12;11736:6;11731:3;11724:19;11752:76;11821:6;11814:4;11809:3;11805:14;11798:4;11791:5;11787:16;11752:76;:::i;:::-;11873:2;11861:15;-1:-1:-1;;11857:88:201;11848:98;;;;11948:4;11844:109;;11630:329;-1:-1:-1;;11630:329:201:o;11964:603::-;12272:6;12261:9;12254:25;12315:3;12310:2;12299:9;12295:18;12288:31;12235:4;12342:57;12394:3;12383:9;12379:19;12371:6;12342:57;:::i;:::-;12447:4;12439:6;12435:17;12430:2;12419:9;12415:18;12408:45;12501:9;12493:6;12489:22;12484:2;12473:9;12469:18;12462:50;12529:32;12554:6;12546;12529:32;:::i;12572:441::-;12834:6;12823:9;12816:25;12877:2;12872;12861:9;12857:18;12850:30;12797:4;12897:56;12949:2;12938:9;12934:18;12926:6;12897:56;:::i;:::-;12889:64;;13001:4;12993:6;12989:17;12984:2;12973:9;12969:18;12962:45;12572:441;;;;;;:::o;13018:335::-;13097:6;13150:2;13138:9;13129:7;13125:23;13121:32;13118:52;;;13166:1;13163;13156:12;13118:52;13199:9;13193:16;13232:18;13224:6;13221:30;13218:50;;;13264:1;13261;13254:12;13218:50;13287:60;13339:7;13330:6;13319:9;13315:22;13287:60;:::i;13358:359::-;13561:2;13550:9;13543:21;13524:4;13581:44;13621:2;13610:9;13606:18;13598:6;13581:44;:::i;:::-;13656:2;13641:18;;13634:34;;;;-1:-1:-1;13699:2:201;13684:18;13677:34;13573:52;13358:359;-1:-1:-1;13358:359:201:o;13722:128::-;13789:9;;;13810:11;;;13807:37;;;13824:18;;:::i;13855:363::-;14093:6;14082:9;14075:25;14136:2;14131;14120:9;14116:18;14109:30;14056:4;14156:56;14208:2;14197:9;14193:18;14185:6;14156:56;:::i;14223:639::-;14473:6;14468:3;14461:19;14443:3;14499:2;14532;14527:3;14523:12;14564:6;14558:13;14629:2;14621:6;14617:15;14650:1;14660:175;14674:6;14671:1;14668:13;14660:175;;;14737:13;;14723:28;;14773:14;;;;14810:15;;;;14696:1;14689:9;14660:175;;;-1:-1:-1;14851:5:201;;14223:639;-1:-1:-1;;;;;;;14223:639:201:o;14867:184::-;-1:-1:-1;;;14916:1:201;14909:88;15016:4;15013:1;15006:15;15040:4;15037:1;15030:15;15056:168;15129:9;;;15160;;15177:15;;;15171:22;;15157:37;15147:71;;15198:18;;:::i;15447:463::-;15693:66;15685:6;15681:79;15670:9;15663:98;15797:6;15792:2;15781:9;15777:18;15770:34;15840:2;15835;15824:9;15820:18;15813:30;15644:4;15860:44;15900:2;15889:9;15885:18;15877:6;15860:44;:::i;15915:174::-;15982:12;16014:10;;;16026;;;16010:27;;16049:11;;;16046:37;;;16063:18;;:::i;:::-;16046:37;15915:174;;;;:::o;16741:707::-;17080:3;17069:9;17062:22;17043:4;17107:57;17159:3;17148:9;17144:19;17136:6;17107:57;:::i;:::-;17212:14;17204:6;17200:27;17195:2;17184:9;17180:18;17173:55;17276:12;17268:6;17264:25;17259:2;17248:9;17244:18;17237:53;17326:6;17321:2;17310:9;17306:18;17299:34;17382:9;17374:6;17370:22;17364:3;17353:9;17349:19;17342:51;17410:32;17435:6;17427;17410:32;:::i;:::-;17402:40;16741:707;-1:-1:-1;;;;;;;;16741:707:201:o;17453:898::-;17875:6;17864:9;17857:25;17918:3;17913:2;17902:9;17898:18;17891:31;17838:4;17945:57;17997:3;17986:9;17982:19;17974:6;17945:57;:::i;:::-;18050:4;18038:17;;18033:2;18018:18;;18011:45;18075:12;18123:15;;;18118:2;18103:18;;18096:43;18176:15;;18170:3;18155:19;;18148:44;18223:3;18208:19;;18201:35;;;18273:22;;;18267:3;18252:19;;18245:51;18313:32;18277:6;18330;18313:32;:::i;:::-;18305:40;17453:898;-1:-1:-1;;;;;;;;;;17453:898:201:o;18356:261::-;18535:2;18524:9;18517:21;18498:4;18555:56;18607:2;18596:9;18592:18;18584:6;18555:56;:::i;19087:274::-;19127:1;19153;19143:189;;-1:-1:-1;;;19185:1:201;19178:88;19289:4;19286:1;19279:15;19317:4;19314:1;19307:15;19143:189;-1:-1:-1;19346:9:201;;19087:274::o","linkReferences":{}},"methodIdentifiers":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":"83b5c95b","onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"5b28cdaf","onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"63584533","onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"a8ba8721","onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":"9faeaf45","onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"57066c9c","onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"55eb5a28","onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"964f667d","supportsInterface(bytes4)":"01ffc9a7"},"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\":[],\"name\":\"StoreHook_NotImplemented\",\"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\"},{\"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\":\"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\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"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_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.\"}}},\"kind\":\"dev\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"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 was set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"This function is a part of the ERC-165 standard.\",\"params\":{\"interfaceId\":\"The ID of the interface to check.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"StoreHook_NotImplemented()\":[{\"notice\":\"Error emitted when a function is not implemented.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs after deleting a record.\"},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs after setting a record.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Check if the interface is supported.\"}},\"notice\":\"This is a very naive and inefficient implementation for now. We can optimize this by adding support for `setIndexOfField` in Store (See https://github.com/latticexyz/mud/issues/444) Note: if a table with composite keys is used, only the first key of the tuple is indexed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueHook.sol\":\"KeysWithValueHook\"},\"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/StoreHook.sol\":{\"keccak256\":\"0xd267686b3961da4d9a39e2cd39b89d7074ed27a516a03085bb69a6efea0a424e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8c96a99b6c8dab12799165b888ed5c647638a1114bec138dd65ad46c6d1cf34\",\"dweb:/ipfs/QmaMAkfEmRivfHts72hfYiiQiVc15QSRsXkPHM3d2AbFjf\"]},\"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/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883\",\"dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6\"]},\"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/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"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/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255\",\"dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5\",\"dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8\",\"dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8\",\"dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b\",\"dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0\",\"dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad\",\"dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh\"]},\"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/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]},\"src/modules/keyswithvalue/KeysWithValueHook.sol\":{\"keccak256\":\"0xee64527269e80d32ca25db99c417f582a0b134c9fb878cf14489baa2aaec40e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a37714f1fa7cf984130a08a0e9f320817cbe0053eae44d432676951f3b90653f\",\"dweb:/ipfs/QmZjWVwJPrsscv9zJU8jBfMn39yDquYePcACRYQW6qiaFx\"]},\"src/modules/keyswithvalue/constants.sol\":{\"keccak256\":\"0xf8745d975bd2f321e676d083a215513b114c70f7d5a105244dfe444a78e74de5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7fc161f890a9ee2edf731f57fcfee2ab4e3b4bebb9470df7850a138c08fc2c8\",\"dweb:/ipfs/QmVyyFaR1tzTYgmiGHnumdXQKsjb5qRVPMS3uTRX1ik3XL\"]},\"src/modules/keyswithvalue/getTargetTableId.sol\":{\"keccak256\":\"0xa7d235a9c96925a340aeaa166c8b67d289b4450ca59f0645052207d318030d78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dce50e51faa63a75e051d8ccf463271674f588088fca6ab168e06a5fe8cc16b\",\"dweb:/ipfs/QmP2eZFJPMiazcEhdv9Q5SJYRNna7CHoV6o8bxURzRtCHh\"]},\"src/modules/keyswithvalue/tables/KeysWithValue.sol\":{\"keccak256\":\"0x27118a0cd6ac72257ba04ff98c7a62edd891305127f25bfe9586c134cc4a410b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e838102eadc3956612b8c32e8542d463eeb16dcc234cfde4922c1d3ab01ad5c2\",\"dweb:/ipfs/QmbWQRrvLPBQ36yHAkKYXcJUNR7zYoJdFZDJ6jQQPxUD79\"]},\"src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x5063027c39c927b80c84ac3bb36d20e19fbbddb746380c1efaf2f33f6fec30b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c49eab76687709db420cbe52737610563f44344ef13608e0809e38c43179cb43\",\"dweb:/ipfs/QmRdQ7iW5j51AVJWin8aaKmj6Xj97ZV5vjfVjG5RqYG5xB\"]}},\"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":[],"type":"error","name":"StoreHook_NotImplemented"},{"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":"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":"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"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceStaticData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceStaticData"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","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 was set."}},"supportsInterface(bytes4)":{"details":"This function is a part of the ERC-165 standard.","params":{"interfaceId":"The ID of the interface to check."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs after deleting a record."},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs after setting a record."},"supportsInterface(bytes4)":{"notice":"Check if the interface is supported."}},"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":{"src/modules/keyswithvalue/KeysWithValueHook.sol":"KeysWithValueHook"},"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/StoreHook.sol":{"keccak256":"0xd267686b3961da4d9a39e2cd39b89d7074ed27a516a03085bb69a6efea0a424e","urls":["bzz-raw://c8c96a99b6c8dab12799165b888ed5c647638a1114bec138dd65ad46c6d1cf34","dweb:/ipfs/QmaMAkfEmRivfHts72hfYiiQiVc15QSRsXkPHM3d2AbFjf"],"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/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581","urls":["bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883","dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6"],"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/IWorldKernel.sol":{"keccak256":"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb","urls":["bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c","dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs"],"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/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593","urls":["bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255","dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55","urls":["bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5","dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc","urls":["bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8","dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97","urls":["bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8","dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol":{"keccak256":"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57","urls":["bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b","dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263","urls":["bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0","dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62","urls":["bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad","dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh"],"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/types.sol":{"keccak256":"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a","urls":["bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3","dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ"],"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/worldResourceTypes.sol":{"keccak256":"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746","urls":["bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2","dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"],"license":"MIT"},"src/modules/keyswithvalue/KeysWithValueHook.sol":{"keccak256":"0xee64527269e80d32ca25db99c417f582a0b134c9fb878cf14489baa2aaec40e5","urls":["bzz-raw://a37714f1fa7cf984130a08a0e9f320817cbe0053eae44d432676951f3b90653f","dweb:/ipfs/QmZjWVwJPrsscv9zJU8jBfMn39yDquYePcACRYQW6qiaFx"],"license":"MIT"},"src/modules/keyswithvalue/constants.sol":{"keccak256":"0xf8745d975bd2f321e676d083a215513b114c70f7d5a105244dfe444a78e74de5","urls":["bzz-raw://a7fc161f890a9ee2edf731f57fcfee2ab4e3b4bebb9470df7850a138c08fc2c8","dweb:/ipfs/QmVyyFaR1tzTYgmiGHnumdXQKsjb5qRVPMS3uTRX1ik3XL"],"license":"MIT"},"src/modules/keyswithvalue/getTargetTableId.sol":{"keccak256":"0xa7d235a9c96925a340aeaa166c8b67d289b4450ca59f0645052207d318030d78","urls":["bzz-raw://2dce50e51faa63a75e051d8ccf463271674f588088fca6ab168e06a5fe8cc16b","dweb:/ipfs/QmP2eZFJPMiazcEhdv9Q5SJYRNna7CHoV6o8bxURzRtCHh"],"license":"MIT"},"src/modules/keyswithvalue/tables/KeysWithValue.sol":{"keccak256":"0x27118a0cd6ac72257ba04ff98c7a62edd891305127f25bfe9586c134cc4a410b","urls":["bzz-raw://e838102eadc3956612b8c32e8542d463eeb16dcc234cfde4922c1d3ab01ad5c2","dweb:/ipfs/QmbWQRrvLPBQ36yHAkKYXcJUNR7zYoJdFZDJ6jQQPxUD79"],"license":"MIT"},"src/modules/utils/ArrayLib.sol":{"keccak256":"0x5063027c39c927b80c84ac3bb36d20e19fbbddb746380c1efaf2f33f6fec30b8","urls":["bzz-raw://c49eab76687709db420cbe52737610563f44344ef13608e0809e38c43179cb43","dweb:/ipfs/QmRdQ7iW5j51AVJWin8aaKmj6Xj97ZV5vjfVjG5RqYG5xB"],"license":"MIT"}},"version":1},"id":160}