@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
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[],"outputs":[{"name":"","type":"bytes16","internalType":"bytes16"}],"stateMutability":"pure"},{"type":"function","name":"install","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"installRoot","inputs":[{"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_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"FieldLayoutLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord","inputs":[]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsZero","inputs":[]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"string","internalType":"string"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"SchemaLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","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_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x60a0604052604051620000129062000050565b604051809103906000f0801580156200002f573d6000803e3d6000fd5b506001600160a01b03166080523480156200004957600080fd5b506200005e565b615ff480620048b183390190565b608051614829620000886000396000818161052a01528181610585015261095c01526148296000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806317d7de7c1161005b57806317d7de7c146100ec57806345ec93541461011a5780637c5b03351461012d578063e1af802c1461014057600080fd5b806301ffc9a714610082578063119df25f146100aa57806313861fb5146100d7575b600080fd5b610095610090366004613fed565b610148565b60405190151581526020015b60405180910390f35b6100b26101e1565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b6100ea6100e5366004614045565b6101f0565b005b6040517f636f72650000000000000000000000000000000000000000000000000000000081526020016100a1565b604051601f1936013581526020016100a1565b6100ea61013b366004614045565b610222565b6100b261023d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f79f50b5b0000000000000000000000000000000000000000000000000000000014806101db57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101eb610247565b905090565b6040517fea8b184c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61022a610279565b6102326104c3565b61023a610611565b50565b60006101eb610a50565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806102765750335b90565b610281610a9c565b610289610ab4565b610291610b59565b610299610be1565b6102a1610c81565b6102a9610d09565b6102b1610d89565b6102b9610e11565b6102c1610eb1565b6102c9610f51565b6102d161100a565b6102d96110a8565b60408051616e7360f01b6020820152600060228201819052603082015261031b91015b604051602081830303815290604052610314906140f6565b6001611130565b60408051616e7360f01b6020820152600060228201819052603082015261036391015b604051602081830303815290604052610356906140f6565b61035e6101e1565b611215565b60408051616e7360f01b602082015260006022820181905260308201526103ad91015b60405160208183030381529060405261039e906140f6565b6103a66101e1565b6001611323565b60408051616e7360f01b60208201526473746f726560d81b6022820152600060308201526103db91016102fc565b60408051616e7360f01b60208201526473746f726560d81b602282015260006030820152610409910161033e565b60408051616e7360f01b60208201526473746f726560d81b6022820152600060308201526104379101610386565b60408051616e7360f01b6020820152641ddbdc9b1960da1b60228201526000603082015261046591016102fc565b60408051616e7360f01b6020820152641ddbdc9b1960da1b602282015260006030820152610493910161033e565b60408051616e7360f01b6020820152641ddbdc9b1960da1b6022820152600060308201526104c19101610386565b565b61023a6104ce6101e1565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f636f7265000000000000000000000000000000000000000000000000000000006030830152917f00000000000000000000000000000000000000000000000000000000000000009101604051602081830303815290604052610563906140f6565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660448201526001606482015260840160408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3350b6a9000000000000000000000000000000000000000000000000000000001790526113f5565b60006040518061026001604052806040518060400160405280601c81526020017f6772616e7441636365737328627974657333322c61646472657373290000000081525081526020016040518060400160405280601d81526020017f7265766f6b6541636365737328627974657333322c616464726573732900000081525081526020016040518060600160405280602281526020016147fb60229139815260200160405180606001604052806033815260200161479f6033913981526020016040518060600160405280603181526020016146946031913981526020016040518060400160405280601c81526020017f626174636843616c6c2828627974657333322c6279746573295b5d290000000081525081526020016040518060600160405280602881526020016147206028913981526020016040518060400160405280601c81526020017f696e7374616c6c4d6f64756c6528616464726573732c6279746573290000000081525081526020016040518060600160405280604081526020016145df6040913981526020016040518060600160405280602881526020016146c56028913981526020016040518060600160405280602481526020016145bb6024913981526020016040518060400160405280601a81526020017f72656769737465724e616d65737061636528627974657333322900000000000081525081526020016040518060600160405280602981526020016147d26029913981526020016040518060600160405280602581526020016147486025913981526020016040518060600160405280602481526020016146706024913981526020016040518060600160405280602881526020016146486028913981526020016040518060600160405280603381526020016146ed60339139815260200160405180606001604052806029815260200161461f60299139815260200160405180606001604052806032815260200161476d603291399052905060005b6013811015610a4c57610a396109006101e1565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f636f7265000000000000000000000000000000000000000000000000000000006030830152917f00000000000000000000000000000000000000000000000000000000000000009101604051602081830303815290604052610995906140f6565b8686601381106109a7576109a761411a565b60200201518787601381106109be576109be61411a565b6020020151805190602001206040516024016109dc93929190614180565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f742d6118000000000000000000000000000000000000000000000000000000001790526113f5565b5080610a44816141e1565b9150506108ec565b5050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610a97573391505090565b919050565b610aa4611422565b610aac6114c2565b6104c1611560565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f4e616d6573706163654f776e657200000000000000000000000000000000000060308201526104c19101604051602081830303815290604052610b14906140f6565b7e14010014000000000000000000000000000000000000000000000000000000610b3c6115e8565b610b44611660565b610b4c61169a565b610b5461171f565b611796565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f42616c616e63657300000000000000000000000000000000000000000000000060308201526104c19101604051602081830303815290604052610bb9906140f6565b630100080160dd1b610bc96115e8565b610bd161186a565b610bd961169a565b610b546118a4565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f496e7374616c6c65644d6f64756c65730000000000000000000000000000000060308201526104c19101604051602081830303815290604052610c41906140f6565b7e14010014000000000000000000000000000000000000000000000000000000610c6961191b565b610c71611660565b610c7961199a565b610b54611a64565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f5573657244656c65676174696f6e436f0000000000000000000000000000000060308201526104c19101604051602081830303815290604052610ce1906140f6565b630100080160dd1b610cf1611adb565b610cf96115e8565b610d01611b5a565b610b54611c24565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f4e616d65737061636544656c656761740000000000000000000000000000000060308201526104c19101604051602081830303815290604052610d69906140f6565b630100080160dd1b610d796115e8565b610d816115e8565b610d0161169a565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f5265736f7572636541636365737300000000000000000000000000000000000060308201526104c19101604051602081830303815290604052610de9906140f6565b630101000160d81b610df9611c9b565b610e01611cd5565b610e09611d0f565b610b54611dd9565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f53797374656d730000000000000000000000000000000000000000000000000060308201526104c19101604051602081830303815290604052610e71906140f6565b7e15020014010000000000000000000000000000000000000000000000000000610e996115e8565b610ea1611e50565b610ea9611ecf565b610b54611f46565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201526104c19101604051602081830303815290604052610f11906140f6565b7e24020020040000000000000000000000000000000000000000000000000000610f39612010565b610f4161204a565b610f496120c9565b610b54612140565b604080517f6f740000000000000000000000000000000000000000000000000000000000006020820152641ddbdc9b1960da1b60228201527f46756e6374696f6e5369676e617475720000000000000000000000000000000060308201526104c19101604051602081830303815290604052610fcc906140f6565b7c0100000000000000000000000000000000000000000000000000000000610ff2612010565b610ffa61220a565b6110026120c9565b610b54612244565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f53797374656d486f6f6b7300000000000000000000000000000000000000000060308201526104c1910160405160208183030381529060405261106a906140f6565b7c01000000000000000000000000000000000000000000000000000000006110906115e8565b6110986122bb565b6110a0611ecf565b610b546122f5565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f53797374656d526567697374727900000000000000000000000000000000000060308201526104c19101604051602081830303815290604052611108906140f6565b630100080160dd1b611118611660565b6111206115e8565b61112861236c565b610b54611ecf565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106111665761116661411a565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f5265736f75726365496473000000000000000000000000000000000000000000603083015261121091015b6040516020818303038152906040526111d8906140f6565b826000856040516020016111f391151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6123e3565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061124b5761124b61411a565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f4e616d6573706163654f776e657200000000000000000000000000000000000060308201528151808203909301835281019052611210906112b7906140f6565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b166020820152839060009060340160408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006123e3565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106113585761135861411a565b6020026020010181815250508273ffffffffffffffffffffffffffffffffffffffff1660001b816001815181106113915761139161411a565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f7572636541636365737300000000000000000000000000000000000060308301526113ef91016111c0565b50505050565b6060600080611406878787876123ff565b91509150816114185761141881612480565b9695505050505050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526104c19101604051602081830303815290604052611482906140f6565b7e600302202020000000000000000000000000000000000000000000000000006114aa6115e8565b6114b2612488565b6114ba6125d7565b610b5461264e565b60408051613a3160f11b60208201526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201526104c19101604051602081830303815290604052611522906140f6565b7c01000000000000000000000000000000000000000000000000000000006115486115e8565b6115506122bb565b6115586125d7565b610b54612816565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201526104c191016040516020818303038152906040526115c0906140f6565b630101000160d81b6115d06115e8565b6115d8611cd5565b6115e061288d565b610b54612904565b60408051600180825281830190925260009182919060208083019080368337019050509050605f816000815181106116225761162261411a565b602002602001019060c581111561163b5761163b6141fb565b908160c581111561164e5761164e6141fb565b90525061165a8161297b565b91505090565b604080516001808252818301909252600091829190602080830190803683370190505090506061816000815181106116225761162261411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816116b15790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816117365790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b60006117a0610a50565b90503073ffffffffffffffffffffffffffffffffffffffff8216036117d2576117cd878787878787612b3f565b611861565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f499061182e908a908a908a908a908a908a90600401614269565b600060405180830381600087803b15801561184857600080fd5b505af115801561185c573d6000803e3d6000fd5b505050505b50505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050601f816000815181106116225761162261411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816118bb5790505090506040518060400160405280600781526020017f62616c616e636500000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b60408051600280825260608201835260009283929190602083019080368337019050509050604f816000815181106119555761195561411a565b602002602001019060c581111561196e5761196e6141fb565b908160c5811115611981576119816141fb565b81525050605f816001815181106116225761162261411a565b6040805160028082526060828101909352816020015b60608152602001906001900390816119b05790505090506040518060400160405280600a81526020017f6d6f64756c654e616d650000000000000000000000000000000000000000000081525081600081518110611a1057611a1061411a565b60200260200101819052506040518060400160405280600d81526020017f617267756d656e74734861736800000000000000000000000000000000000000815250816001815181106117115761171161411a565b604080516001808252818301909252606091816020015b6060815260200190600190039081611a7b5790505090506040518060400160405280600d81526020017f6d6f64756c654164647265737300000000000000000000000000000000000000815250816000815181106117115761171161411a565b60408051600280825260608201835260009283929190602083019080368337019050509050606181600081518110611b1557611b1561411a565b602002602001019060c5811115611b2e57611b2e6141fb565b908160c5811115611b4157611b416141fb565b815250506061816001815181106116225761162261411a565b6040805160028082526060828101909352816020015b6060815260200190600190039081611b705790505090506040518060400160405280600981526020017f64656c656761746f72000000000000000000000000000000000000000000000081525081600081518110611bd057611bd061411a565b60200260200101819052506040518060400160405280600981526020017f64656c6567617465650000000000000000000000000000000000000000000000815250816001815181106117115761171161411a565b604080516001808252818301909252606091816020015b6060815260200190600190039081611c3b5790505090506040518060400160405280601381526020017f64656c65676174696f6e436f6e74726f6c496400000000000000000000000000815250816000815181106117115761171161411a565b60408051600280825260608201835260009283929190602083019080368337019050509050605f81600081518110611b1557611b1561411a565b604080516001808252818301909252600091829190602080830190803683370190505090506060816000815181106116225761162261411a565b6040805160028082526060828101909352816020015b6060815260200190600190039081611d255790505090506040518060400160405280600a81526020017f7265736f7572636549640000000000000000000000000000000000000000000081525081600081518110611d8557611d8561411a565b60200260200101819052506040518060400160405280600681526020017f63616c6c65720000000000000000000000000000000000000000000000000000815250816001815181106117115761171161411a565b604080516001808252818301909252606091816020015b6060815260200190600190039081611df05790505090506040518060400160405280600681526020017f6163636573730000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b60408051600280825260608201835260009283929190602083019080368337019050509050606181600081518110611e8a57611e8a61411a565b602002602001019060c5811115611ea357611ea36141fb565b908160c5811115611eb657611eb66141fb565b815250506060816001815181106116225761162261411a565b604080516001808252818301909252606091816020015b6060815260200190600190039081611ee65790505090506040518060400160405280600881526020017f73797374656d4964000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b6040805160028082526060828101909352816020015b6060815260200190600190039081611f5c5790505090506040518060400160405280600681526020017f73797374656d000000000000000000000000000000000000000000000000000081525081600081518110611fbc57611fbc61411a565b60200260200101819052506040518060400160405280600c81526020017f7075626c69634163636573730000000000000000000000000000000000000000815250816001815181106117115761171161411a565b604080516001808252818301909252600091829190602080830190803683370190505090506043816000815181106116225761162261411a565b60408051600280825260608201835260009283929190602083019080368337019050509050605f816000815181106120845761208461411a565b602002602001019060c581111561209d5761209d6141fb565b908160c58111156120b0576120b06141fb565b815250506043816001815181106116225761162261411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816120e05790505090506040518060400160405280601081526020017f66756e6374696f6e53656c6563746f7200000000000000000000000000000000815250816000815181106117115761171161411a565b6040805160028082526060828101909352816020015b60608152602001906001900390816121565790505090506040518060400160405280600881526020017f73797374656d4964000000000000000000000000000000000000000000000000815250816000815181106121b6576121b661411a565b60200260200101819052506040518060400160405280601681526020017f73797374656d46756e6374696f6e53656c6563746f7200000000000000000000815250816001815181106117115761171161411a565b6040805160018082528183019092526000918291906020808301908036833701905050905060c5816000815181106116225761162261411a565b604080516001808252818301909252606091816020015b606081526020019060019003908161225b5790505090506040518060400160405280601181526020017f66756e6374696f6e5369676e6174757265000000000000000000000000000000815250816000815181106117115761171161411a565b6040805160018082528183019092526000918291906020808301908036833701905050905060b6816000815181106116225761162261411a565b604080516001808252818301909252606091816020015b606081526020019060019003908161230c5790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816123835790505090506040518060400160405280600681526020017f73797374656d0000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b6123f885856123f28487612e34565b85612e77565b5050505050565b600060608373ffffffffffffffffffffffffffffffffffffffff166124258488886130d0565b60405161243291906142b3565b600060405180830381855af49150503d806000811461246d576040519150601f19603f3d011682016040523d82523d6000602084013e612472565b606091505b509097909650945050505050565b805160208201fd5b60408051600580825260c082019092526000918291906020820160a080368337019050509050605f816000815181106124c3576124c361411a565b602002602001019060c58111156124dc576124dc6141fb565b908160c58111156124ef576124ef6141fb565b81525050605f816001815181106125085761250861411a565b602002602001019060c5811115612521576125216141fb565b908160c5811115612534576125346141fb565b81525050605f8160028151811061254d5761254d61411a565b602002602001019060c5811115612566576125666141fb565b908160c5811115612579576125796141fb565b8152505060c4816003815181106125925761259261411a565b602002602001019060c58111156125ab576125ab6141fb565b908160c58111156125be576125be6141fb565b8152505060c4816004815181106116225761162261411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816125ee5790505090506040518060400160405280600781526020017f7461626c65496400000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b60408051600580825260c08201909252606091816020015b60608152602001906001900390816126665790505090506040518060400160405280600b81526020017f6669656c644c61796f7574000000000000000000000000000000000000000000815250816000815181106126c6576126c661411a565b60200260200101819052506040518060400160405280600981526020017f6b6579536368656d6100000000000000000000000000000000000000000000008152508160018151811061271a5761271a61411a565b60200260200101819052506040518060400160405280600b81526020017f76616c7565536368656d610000000000000000000000000000000000000000008152508160028151811061276e5761276e61411a565b60200260200101819052506040518060400160405280601281526020017f616269456e636f6465644b65794e616d65730000000000000000000000000000815250816003815181106127c2576127c261411a565b60200260200101819052506040518060400160405280601481526020017f616269456e636f6465644669656c644e616d6573000000000000000000000000815250816004815181106117115761171161411a565b604080516001808252818301909252606091816020015b606081526020019060019003908161282d5790505090506040518060400160405280600581526020017f686f6f6b73000000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816128a45790505090506040518060400160405280600a81526020017f7265736f75726365496400000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b604080516001808252818301909252606091816020015b606081526020019060019003908161291b5790505090506040518060400160405280600681526020017f6578697374730000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b6000601c825111156129ae578151604051635318beb960e01b81526004016129a591815260200190565b60405180910390fd5b60008080805b8551811015612a895760006129f28783815181106129d4576129d461411a565b602002602001015160c58111156129ed576129ed6141fb565b6130ff565b905080600003612a0757600190920191612a3f565b8215612a3f576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110612a6057612a6061411a565b602002602001015160c5811115612a7957612a796141fb565b901b9490941793506001016129b4565b506005811115612aaf57604051635318beb960e01b8152600481018290526024016129a5565b84518190036008612ac2600260206142cf565b612acc91906142e2565b83901b939093179260086001612ae4600260206142cf565b612aee91906142cf565b612af891906142e2565b81901b93909317926008600180612b11600260206142cf565b612b1b91906142cf565b612b2591906142cf565b612b2f91906142e2565b9190911b92909217949350505050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590612bb857507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b15612c1957613a3160f11b8687604051602001612bd791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526129a59392916004016142f9565b612c2485600061315f565b612c2f8460016132e1565b612c3a8360006132e1565b60e084901c60e885901c0160ff16825114612c9a5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016129a5565b60e085901c60e886901c0160ff16815114612cfa5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016129a5565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614612d725760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016129a5565b612d7b86613488565b15612dd5578586604051602001612d9491815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526129a5929160040161433a565b612e218686868686604051602001612ded9190614353565b60405160208183030381529060405286604051602001612e0d9190614353565b604051602081830303815290604052613554565b612e2c866001611130565b505050505050565b600080805b8360ff16811015612e6f57612e5b60ff601b83900360080287901c1683614366565b915080612e67816141e1565b915050612e39565b509392505050565b6000612e838585613658565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be858585604051612eb9939291906143b4565b60405180910390a2613a3160f11b857fffff0000000000000000000000000000000000000000000000000000000000001614612ef557506113ef565b6000612f00866136ae565b905060005b8151811015612fdf576000828281518110612f2257612f2261411a565b60200260200101519050612f4e6004826affffffffffffffffffffff191661377690919063ffffffff16565b15612fcc576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612f99908b908b908b908b906004016143e7565b600060405180830381600087803b158015612fb357600080fd5b505af1158015612fc7573d6000803e3d6000fd5b505050505b5080612fd7816141e1565b915050612f05565b50612ff3828565ffffffffffff1685613794565b60005b81518110156118615760008282815181106130135761301361411a565b6020026020010151905061303f6008826affffffffffffffffffffff191661377690919063ffffffff16565b156130bd576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061308a908b908b908b908b906004016143e7565b600060405180830381600087803b1580156130a457600080fd5b505af11580156130b8573d6000803e3d6000fd5b505050505b50806130c8816141e1565b915050612ff6565b60608383836040516020016130e79392919061442b565b60405160208183030381529060405290509392505050565b6000808260c5811115613114576131146141fb565b60ff169050606181101561312e57601f1660010192915050565b60618360c5811115613142576131426141fb565b036131505750601492915050565b50600092915050565b50919050565b8015801561316b575081155b156131a5576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600060048201526024016129a5565b60006131b0836137a4565b905060058111156131f0576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016129a5565b60006131fb846137e1565b905060006132098383614366565b9050601c811115613249576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016129a5565b60005b82811015612e2c5760ff601b82900360080287901c16600081900361329d576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208111156132d8576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161324c565b801580156132ed575081155b1561330e57604051635318beb960e01b8152600060048201526024016129a5565b6000613319836137a4565b9050600581111561334057604051635318beb960e01b8152600481018290526024016129a5565b600061334b846137e1565b905060006133598383614366565b9050601c81111561338057604051635318beb960e01b8152600481018290526024016129a5565b60008060005b838110156134415760006133ae61339d8a846137f3565b60c58111156129ed576129ed6141fb565b11156133f8578481106133ed576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190920191613439565b84811015613432576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b600101613386565b5083821461346557604051635318beb960e01b8152600481018390526024016129a5565b84811461186157604051635318beb960e01b8152600481018290526024016129a5565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106134c1576134c161411a565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f757263654964730000000000000000000000000000000000000000006030820152815180820390930183528101905260009061354090613530906140f6565b836000630101000160d81b61381b565b905061354c8160f81c90565b949350505050565b6000613561868686613851565b9050600061356f8484613873565b9050600061357d8585613890565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106135b7576135b761411a565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152815180820390930183528101905261364c90613623906140f6565b828686867e600302202020000000000000000000000000000000000000000000000000006138bc565b50505050505050505050565b6000828260405160200161366d92919061447d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106136e8576136e861411a565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b73000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061375f90613757906140f6565b836000613bab565b905061354c6137718260008451613be5565b613c75565b60008160ff16826137878560581c90565b1660ff1614905092915050565b6112108383602084018451613c86565b600060086001806137b7600260206142cf565b6137c191906142cf565b6137cb91906142cf565b6137d591906142e2565b8260ff911c1692915050565b6000600860016137c1600260206142cf565b6000601b8290036008028360ff911c1660c5811115613814576138146141fb565b9392505050565b600061384861382a8686613658565b60ff858116601b0360080285901c166138438587612e34565b613d46565b95945050505050565b60408051602081018590529081018390526060818101839052906080016130e7565b8151815160009181810160389190911b1760609190911b17613814565b606082826040516020016138a59291906144b8565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516138f294939291906144e7565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603612e2c576000613933876136ae565b905060005b8151811015613a165760008282815181106139555761395561411a565b602002602001015190506139816001826affffffffffffffffffffff191661377690919063ffffffff16565b15613a03576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906139d0908c908c908c908c908c908c90600401614526565b600060405180830381600087803b1580156139ea57600080fd5b505af11580156139fe573d6000803e3d6000fd5b505050505b5080613a0e816141e1565b915050613938565b506000613a238888613658565b90506000602087019050613a3b826000838a51613c86565b6000613a46856137a4565b1115613aca576000613a588a8a613d97565b878155905060208601915060008060005b613a72886137a4565b8160ff161015613ac557613a878d8d83613ded565b9250613aa28a8260ff166028026038011c64ffffffffff1690565b9150613ab18360008785613c86565b613abb8286614366565b9450600101613a69565b505050505b60005b835181101561364c576000848281518110613aea57613aea61411a565b60200260200101519050613b166002826affffffffffffffffffffff191661377690919063ffffffff16565b15613b98576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613b65908e908e908e908e908e908e90600401614526565b600060405180830381600087803b158015613b7f57600080fd5b505af1158015613b93573d6000803e3d6000fd5b505050505b5080613ba3816141e1565b915050613acd565b606061354c613bbb858585613ded565b613bde84613bc98888613e6d565b9060ff166028026038011c64ffffffffff1690565b6000613e80565b6000818311158015613bf8575083518211155b613c34578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016129a59392919061457f565b60208401613c428482614366565b90506000613c5085856142cf565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006138148360156000613ea3565b8215613d005760208310613cb057602083048401935060208381613cac57613cac6145a4565b0692505b8215613d005760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311613cf15750506113ef565b50600194909401939182019190035b5b60208110613d225781518455600190930192602090910190601f1901613d01565b80156113ef576000600019600883021c198554845182169119161785555050505050565b600060208210613d6c57602082048401935060208281613d6857613d686145a4565b0691505b508254600882021b602082900380841115612e6f576001850154600882021c82179150509392505050565b60008282604051602001613dac92919061447d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613e0292919061447d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000613814613e7c8484613d97565b5490565b60405160208101601f19603f8584010116604052838252612e6f85858584613f1e565b60606000613eb18560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613ed757613ed76145a4565b04905060405193506020840160208202810160405281855260005b82811015613f12578451871c825293870193602090910190600101613ef2565b50505050509392505050565b8115613fa75760208210613f4857602082048401935060208281613f4457613f446145a4565b0691505b8115613fa7576020829003600081851015613f6c5750600019600885021c19613f77565b50600019600882021c195b8554600885021b811984511682821617845250818511613f985750506113ef565b50600194909401939283900392015b5b60208310613fc95783548152600190930192601f1990920191602001613fa8565b82156113ef576000600019600885021c198251865482169119161782525050505050565b600060208284031215613fff57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461381457600080fd5b634e487b7160e01b600052604160045260246000fd5b60006020828403121561405757600080fd5b813567ffffffffffffffff8082111561406f57600080fd5b818401915084601f83011261408357600080fd5b8135818111156140955761409561402f565b604051601f8201601f19908116603f011681019083821181831017156140bd576140bd61402f565b816040528281528760208487010111156140d657600080fd5b826020860160208301376000928101602001929092525095945050505050565b805160208083015191908110156131595760001960209190910360031b1b16919050565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561414b578181015183820152602001614133565b50506000910152565b6000815180845261416c816020860160208601614130565b601f01601f19169290920160200192915050565b8381526060602082015260006141996060830185614154565b90507fffffffff0000000000000000000000000000000000000000000000000000000083166040830152949350505050565b634e487b7160e01b600052601160045260246000fd5b600060001982036141f4576141f46141cb565b5060010190565b634e487b7160e01b600052602160045260246000fd5b600082825180855260208086019550808260051b84010181860160005b8481101561425c57601f1986840301895261424a838351614154565b9884019892509083019060010161422e565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061429460c0830185614211565b82810360a08401526142a68185614211565b9998505050505050505050565b600082516142c5818460208701614130565b9190910192915050565b818103818111156101db576101db6141cb565b80820281158282048414176101db576101db6141cb565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006138486060830184614154565b82815260406020820152600061354c6040830184614154565b6020815260006138146020830184614211565b808201808211156101db576101db6141cb565b600081518084526020808501945080840160005b838110156143a95781518752958201959082019060010161438d565b509495945050505050565b6060815260006143c76060830186614379565b65ffffffffffff8516602084015282810360408401526114188185614154565b8481526080602082015260006144006080830186614379565b65ffffffffffff8516604084015282810360608401526144208185614154565b979650505050505050565b6000845161443d818460208901614130565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b82815260006020808301845182860160005b828110156144ab5781518452928401929084019060010161448f565b5091979650505050505050565b600083516144ca818460208801614130565b8351908301906144de818360208801614130565b01949350505050565b6080815260006144fa6080830187614379565b828103602084015261450c8187614154565b905084604084015282810360608401526144208185614154565b86815260c06020820152600061453f60c0830188614379565b82810360408401526145518188614154565b9050856060840152828103608084015261456b8186614154565b9150508260a0830152979650505050505050565b6060815260006145926060830186614154565b60208301949094525060400152919050565b634e487b7160e01b600052601260045260246000fdfe756e726567697374657253746f7265486f6f6b28627974657333322c616464726573732972656769737465725461626c6528627974657333322c627974657333322c627974657333322c627974657333322c737472696e675b5d2c737472696e675b5d29726567697374657244656c65676174696f6e28616464726573732c627974657333322c627974657329726567697374657246756e6374696f6e53656c6563746f7228627974657333322c737472696e6729726567697374657253797374656d28627974657333322c616464726573732c626f6f6c297472616e7366657242616c616e6365546f4164647265737328627974657333322c616464726573732c75696e7432353629726567697374657253746f7265486f6f6b28627974657333322c616464726573732c75696e7438297265676973746572526f6f7446756e6374696f6e53656c6563746f7228627974657333322c737472696e672c62797465733429626174636843616c6c46726f6d2828616464726573732c627974657333322c6279746573295b5d29756e726567697374657253797374656d486f6f6b28627974657333322c616464726573732972656769737465724e616d65737061636544656c65676174696f6e28627974657333322c627974657333322c6279746573297472616e7366657242616c616e6365546f4e616d65737061636528627974657333322c627974657333322c75696e7432353629726567697374657253797374656d486f6f6b28627974657333322c616464726573732c75696e7438297472616e736665724f776e65727368697028627974657333322c6164647265737329a164736f6c6343000815000a608060405234801561001057600080fd5b50615fd380620000216000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c8063742d6118116100e3578063bfdfaff71161008c578063d5f8337f11610066578063d5f8337f14610358578063e1af802c1461036b578063ef5d6bbb1461037357600080fd5b8063bfdfaff71461031f578063c9c85a6014610332578063ce5e8dd91461034557600080fd5b80638fc8cf7e116100bd5780638fc8cf7e146102d9578063a92813ad146102f9578063b29e40891461030c57600080fd5b8063742d6118146102a05780638d53b208146102b35780638da798da146102c657600080fd5b806326d981021161014557806345afd1991161011f57806345afd1991461026757806345ec93541461027a578063530f4b601461028d57600080fd5b806326d98102146102155780633350b6a91461024157806340554c3a1461025457600080fd5b80630ba51f49116101765780630ba51f49146101cf578063119df25f146101e25780631d2257ba1461020257600080fd5b806301ffc9a71461019257806305609129146101ba575b600080fd5b6101a56101a03660046151bf565b610386565b60405190151581526020015b60405180910390f35b6101cd6101c83660046151ef565b6103ef565b005b6101cd6101dd36600461526b565b61040e565b6101ea610626565b6040516001600160a01b0390911681526020016101b1565b6101cd6102103660046153c6565b610635565b61022861022336600461541f565b6106b6565b6040516001600160e01b031990911681526020016101b1565b6101cd61024f366004615474565b6107ae565b6101cd6102623660046151ef565b610975565b6101cd6102753660046154b6565b61098d565b604051601f1936013581526020016101b1565b6101cd61029b3660046154ff565b610a68565b6102286102ae36600461553d565b610aa9565b6101cd6102c13660046151ef565b610b64565b6101cd6102d436600461558b565b610b7a565b6102ec6102e73660046155c5565b610c93565b6040516101b1919061564b565b6101cd6103073660046151ef565b610e9b565b6101cd61031a3660046156ad565b610f0f565b6101cd61032d3660046156c6565b610fb3565b6101cd610340366004615700565b61107e565b6102ec6103533660046155c5565b611127565b6101cd6103663660046154ff565b6112f1565b6101ea611358565b6101cd6103813660046151ef565b611362565b60006001600160e01b031982167fb42128800000000000000000000000000000000000000000000000000000000014806103e957506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610400826103fb610626565b611389565b61040a828261140f565b5050565b60006104198961145c565b6fffffffffffffffffffffffffffffffff191603610478578761043b89611473565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161046f92919061572c565b60405180910390fd5b7dffffffffffffffffffffffffffff000000000000000000000000000000008816616e7360f01b176104a98161159f565b6105ef576040805161737960f01b60208201526000602282018190527f636f72650000000000000000000000000000000000000000000000000000000060308301529161050e910160405160208183030381529060405261050990615745565b611689565b509050600080826001600160a01b03168460405160240161053191815260200190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb29e408900000000000000000000000000000000000000000000000000000000179052516105949190615769565b600060405180830381855af49150503d80600081146105cf576040519150601f19603f3d011682016040523d82523d6000602084013e6105d4565b606091505b5091509150816105e7576105e78161177a565b5050506105fb565b6105fb816103fb610626565b61061b8989898961060c898b615785565b610616888a615785565b611782565b505050505050505050565b6000610630611a3f565b905090565b610647610640610626565b8484611a71565b61065082611b9b565b801561065d575060008151115b156106b157600061066d83611689565b50905061069a817faea79dd000000000000000000000000000000000000000000000000000000000611bb7565b6106ae6106a5610626565b84846000611cdd565b50505b505050565b60006106c4836103fb610626565b60006106ed6106d38560101b90565b71ffffffffffffffffffffffffffffffffffff1916611d0a565b905060006107026106fd8661145c565b611d0a565b9050600082828660405160200161071b93929190615809565b604051602081830303815290604052905080805190602001209350600061074185611d9a565b90508015610787576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198616600482015260240161046f565b85516020870120610799868983611e89565b6107a38684611f91565b505050505092915050565b61737960f01b836001600160f01b031916146108095761737960f01b836107d485611473565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161046f9392919061587f565b610833827fb421288000000000000000000000000000000000000000000000000000000000611bb7565b600061083e8461145c565b6fffffffffffffffffffffffffffffffff191603610860578261043b84611473565b600061086b836120b2565b9050801580159061087c5750838114155b156108be576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161046f565b7dffffffffffffffffffffffffffff000000000000000000000000000000008416616e7360f01b176108ef8161159f565b610901576108fc81610f0f565b61090d565b61090d816103fb610626565b600061091886612194565b90506001600160a01b03811615610941576109328161226f565b61093c8282612343565b61094c565b61094c866001612436565b61095786868661252e565b610961858761260e565b61096d828660016126ae565b505050505050565b610981826103fb610626565b61040a828260016126ae565b61099e83610999610626565b61276d565b60006109a984612784565b9050808211156109ef576040517f0e0e2d4d000000000000000000000000000000000000000000000000000000008152600481018290526024810183905260440161046f565b610a02846109fd84846158be565b61281e565b600080846001600160a01b03168460405160006040518083038185875af1925050503d8060008114610a50576040519150601f19603f3d011682016040523d82523d6000602084013e610a55565b606091505b50915091508161096d5761096d8161177a565b610a92827f198cf0cd00000000000000000000000000000000000000000000000000000000611bb7565b610a9e836103fb610626565b6106b18383836128b2565b60408051616e7360f01b60208201526000602282018190526030820181905291610aee9101604051602081830303815290604052610ae690615745565b6103fb610626565b50815160208301206000610b0182611d9a565b90508015610b47576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161046f565b610b52828685611e89565b610b5c8285611f91565b509392505050565b610b70826103fb610626565b61040a8282612343565b610ba4827f79f50b5b00000000000000000000000000000000000000000000000000000000611bb7565b610c20610baf610626565b60008484604051602401610bc391906158d1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052612913565b5061040a826001600160a01b03166317d7de7c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8691906158e4565b8251602084012084612924565b60606000610c9f611358565b90508267ffffffffffffffff811115610cba57610cba615301565b604051908082528060200260200182016040528015610ced57816020015b6060815260200190600190039081610cd85790505b50915060005b83811015610e93576000806001600160a01b0384168063894ecc58898987818110610d2057610d20615917565b9050602002810190610d32919061592d565b610d40906020810190615961565b8a8a88818110610d5257610d52615917565b9050602002810190610d64919061592d565b602001358b8b89818110610d7a57610d7a615917565b9050602002810190610d8c919061592d565b610d9a90604081019061597e565b604051602401610dad9493929190615a0e565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b939093179092529051610dfa9250615769565b600060405180830381855af49150503d8060008114610e35576040519150601f19603f3d011682016040523d82523d6000602084013e610e3a565b606091505b509150915081610e4d57610e4d8161177a565b80806020019051810190610e619190615a37565b858481518110610e7357610e73615917565b602002602001018190525050508080610e8b90615aa5565b915050610cf3565b505092915050565b610ea7826103fb610626565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f53797374656d486f6f6b73000000000000000000000000000000000000000000603082015261040a91015b604051602081830303815290604052610f0890615745565b8383612a57565b616e7360f01b816001600160f01b03191614610f3557616e7360f01b816107d483611473565b610f3e8161159f565b15610f815780610f4d82611473565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161046f92919061572c565b610f8c816001612436565b610f9d81610f98610626565b612b7e565b610fb081610fa9610626565b60016126ae565b50565b616e7360f01b836001600160f01b03191614610fd957616e7360f01b836107d485611473565b610fe282611b9b565b611018576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611024836103fb610626565b600061102f83611689565b50905061105c817faea79dd000000000000000000000000000000000000000000000000000000000611bb7565b6110668484612c12565b815115611078576106ae6106a5610626565b50505050565b616e7360f01b826001600160f01b031916146110a457616e7360f01b826107d484611473565b6110b083610999610626565b60006110bb84612784565b905080821115611101576040517f0e0e2d4d000000000000000000000000000000000000000000000000000000008152600481018290526024810183905260440161046f565b61110f846109fd84846158be565b611078838361111d86612784565b6109fd9190615abf565b60606000611133611358565b90508267ffffffffffffffff81111561114e5761114e615301565b60405190808252806020026020018201604052801561118157816020015b606081526020019060019003908161116c5790505b50915060005b83811015610e93576000806001600160a01b03841680633ae7af088989878181106111b4576111b4615917565b90506020028101906111c69190615ad2565b358a8a888181106111d9576111d9615917565b90506020028101906111eb9190615ad2565b6111f990602081019061597e565b60405160240161120b93929190615b06565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516112589250615769565b600060405180830381855af49150503d8060008114611293576040519150601f19603f3d011682016040523d82523d6000602084013e611298565b606091505b5091509150816112ab576112ab8161177a565b808060200190518101906112bf9190615a37565b8584815181106112d1576112d1615917565b6020026020010181905250505080806112e990615aa5565b915050611187565b61131b827f55f0760f00000000000000000000000000000000000000000000000000000000611bb7565b611327836103fb610626565b6106b1836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617612ca6565b6000610630612d95565b61136e826103fb610626565b6113788282612b7e565b61098182611384610626565b612343565b6001600160a01b0381166113c3616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617612dd4565b6001600160a01b03161461040a576113da82611473565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161046f929190615b20565b60408051613a3160f11b60208201526473746f726560d81b60228201527f53746f7265486f6f6b7300000000000000000000000000000000000000000000603082015261040a9101610ef0565b600061146a60706010615abf565b9190911b919050565b606081601081901b60006114868361145c565b90508271ffffffffffffffffffffffffffffffffffff198316156114bf5771ffffffffffffffffffffffffffffffffffff1983166114e1565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b6fffffffffffffffffffffffffffffffff198316156115005782611522565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040516001600160f01b031990931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190526fffffffffffffffffffffffffffffffff19928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106115d8576115d8615917565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f5265736f75726365496473000000000000000000000000000000000000000000603083015260009161167591015b60405160208183030381529060405261164d90615745565b8360007e01010001000000000000000000000000000000000000000000000000000000612ea0565b90506116818160f81c90565b949350505050565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106116c3576116c3615917565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d7300000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000908190819061175c9061173690615745565b857e15020014010000000000000000000000000000000000000000000000000000612ed6565b92509250925061176d838383612fde565b9550955050505050915091565b805160208201fd5b613a3160f11b866001600160f01b031916148015906117cb57507f6f74000000000000000000000000000000000000000000000000000000000000866001600160f01b03191614155b1561182c57613a3160f11b86876040516020016117ea91815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261046f93929160040161587f565b611837856000613004565b611842846001613186565b61184d836000613186565b60e084901c60e885901c0160ff168251146118ad5760e084901c60e885901c0160ff1682516040517f0f72cb980000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161046f565b60e085901c60e886901c0160ff1681511461190d5760e085901c60e886901c0160ff1681516040517f7dec4c000000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161046f565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146119855760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d880000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161046f565b61198e8661159f565b156119e85785866040516020016119a791815260200190565b60408051601f19818403018152908290527fdfaaf9cf00000000000000000000000000000000000000000000000000000000825261046f929160040161572c565b611a348686868686604051602001611a009190615b4b565b60405160208183030381529060405286604051602001611a209190615b4b565b604051602081830303815290604052613332565b61096d866001612436565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80611a6e5750335b90565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611ab257611ab2615917565b602002602001018181525050826001600160a01b031660001b81600181518110611ade57611ade615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5573657244656c65676174696f6e436f00000000000000000000000000000000603083015261107891015b604051602081830303815290604052611b5090615745565b82600085604051602001611b6691815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000613436565b600081151580156103e95750611bb08261344b565b1592915050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081526001600160e01b0319821660048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa925050508015611c3a575060408051601f3d908101601f19168201909252611c3791810190615ba0565b60015b611c8b576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161046f565b806106b1576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526001600160e01b03198316602482015260440161046f565b6060600080611cee878787876134ab565b9150915081611d0057611d008161177a565b9695505050505050565b606060005b6010811015611d6a576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615611d6a5780611d6281615aa5565b915050611d0f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611681565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611df257611df2615917565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f72000000000000000000000000000000006030820152815180820390930183528101905260009061168190611e6190615745565b8360007e24020020040000000000000000000000000000000000000000000000000000612ea0565b6000611e95838361368f565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611ef357611ef3615917565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201528151808203909301835281019052611f8890611f5f90615745565b828686867e240200200400000000000000000000000000000000000000000000000000006136ce565b50505050505050565b60606000611f9e836139a5565b90506000611fab846139b5565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061200457612004615917565b602090810291909101810191909152604080517f6f7400000000000000000000000000000000000000000000000000000000000081840152641ddbdc9b1960da1b60228201527f46756e6374696f6e5369676e61747572000000000000000000000000000000006030820152815180820390930183528101905261096d9061208b90615745565b828686867c01000000000000000000000000000000000000000000000000000000006136ce565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106120f7576120f7615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d5265676973747279000000000000000000000000000000000000603083015260009161168191015b60405160208183030381529060405261216c90615745565b8360007e20010020000000000000000000000000000000000000000000000000000000612ea0565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121cd576121cd615917565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d7300000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906122649061223c90615745565b8360007e15020014010000000000000000000000000000000000000000000000000000612ea0565b60601c949350505050565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106122b1576122b1615917565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d52656769737472790000000000000000000000000000000000006030820152815180820390930183528101905261040a9061231d90615745565b827e200100200000000000000000000000000000000000000000000000000000006139de565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061237857612378615917565b602002602001018181525050816001600160a01b031660001b816001815181106123a4576123a4615917565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f5265736f75726365416363657373000000000000000000000000000000000000603082015281518082039093018352810190526106b19061241090615745565b827e010100010000000000000000000000000000000000000000000000000000006139de565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061246c5761246c615917565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f5265736f7572636549647300000000000000000000000000000000000000000060308301526106b191015b6040516020818303038152906040526124de90615745565b826000856040516020016124f991151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000613436565b600061253a8383613c86565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050868160008151811061257957612579615917565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d730000000000000000000000000000000000000000000000000060308201528151808203909301835281019052611f88906125e590615745565b828686867e150200140100000000000000000000000000000000000000000000000000006136ce565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b8160008151811061265057612650615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d526567697374727900000000000000000000000000000000000060308301526106b19101611b38565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106126e3576126e3615917565b602002602001018181525050826001600160a01b031660001b8160018151811061270f5761270f615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f75726365416363657373000000000000000000000000000000000000603083015261107891016124c6565b6127778282613cb6565b61040a576113da82611473565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106127bd576127bd615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f42616c616e63657300000000000000000000000000000000000000000000000060308301526000916116819101612154565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061285457612854615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f42616c616e63657300000000000000000000000000000000000000000000000060308301526106b19101611b38565b613a3160f11b836001600160f01b031916146128e257613a3160f11b83846040516020016117ea91815260200190565b6106b1836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613d00565b6060600080611cee87878787613d94565b604080516002808252606082018352600092602083019080368337019050509050836fffffffffffffffffffffffffffffffff19168160008151811061296c5761296c615917565b602002602001018181525050828160018151811061298c5761298c615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f496e7374616c6c65644d6f64756c657300000000000000000000000000000000603083015261107891015b6040516020818303038152906040526129fe90615745565b6040516bffffffffffffffffffffffff19606086901b166020820152839060009060340160408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000613436565b6000612a638484613e0c565b90506000815167ffffffffffffffff811115612a8157612a81615301565b604051908082528060200260200182016040528015612aaa578160200160208202803683370190505b5090506000805b8351811015612b6f57846001600160a01b0316612af5858381518110612ad957612ad9615917565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614612b6757838181518110612b1557612b15615917565b6020026020010151838381518110612b2f57612b2f615917565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b600101612ab1565b5080825261096d868684613e77565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612bb457612bb4615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f4e616d6573706163654f776e657200000000000000000000000000000000000060308301526106b191016129e6565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612c4857612c48615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f4e616d65737061636544656c656761740000000000000000000000000000000060308301526106b19101611b38565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612cdc57612cdc615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d486f6f6b7300000000000000000000000000000000000000000060308301526106b191015b604051602081830303815290604052612d4e90615745565b6040517fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000851660208201528390600090603501604051602081830303815290604052613ece565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612dcf573391505090565b919050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e0d57612e0d615917565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f4e616d6573706163654f776e65720000000000000000000000000000000000006030820152815180820390930183528101905260009061226490612e7c90615745565b8360007e140100140000000000000000000000000000000000000000000000000000005b6000612ecd612eaf8686613f74565b60ff858116601b0360080285901c16612ec88587613fca565b614005565b95945050505050565b6060600060606000612ee785614056565b9050612ef4878783614079565b93506000612f01866140b2565b90508015612fd357612f1388886140ef565b935066ffffffffffffff841667ffffffffffffffff811115612f3757612f37615301565b6040519080825280601f01601f191660200182016040528015612f61576020820181803683370190505b5092506020830160005b828160ff161015612fd0576000612f838b8b84614102565b90506000612fa0888460ff166028026038011c64ffffffffff1690565b9050612faf8282600087614182565b612fb98185615abf565b935050508080612fc890615bbd565b915050612f6b565b50505b505093509350939050565b60208301516034840151600091829160609190911c9060f81c5b90969095509350505050565b80158015613010575081155b1561304a576040517f97e36a0a0000000000000000000000000000000000000000000000000000000081526000600482015260240161046f565b6000613055836140b2565b90506005811115613095576040517f97e36a0a0000000000000000000000000000000000000000000000000000000081526004810182905260240161046f565b60006130a084614251565b905060006130ae8383615abf565b9050601c8111156130ee576040517f97e36a0a0000000000000000000000000000000000000000000000000000000081526004810182905260240161046f565b60005b8281101561096d5760ff601b82900360080287901c166000819003613142576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081111561317d576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016130f1565b80158015613192575081155b156131b357604051635318beb960e01b81526000600482015260240161046f565b60006131be836140b2565b905060058111156131e557604051635318beb960e01b81526004810182905260240161046f565b60006131f084614251565b905060006131fe8383615abf565b9050601c81111561322557604051635318beb960e01b81526004810182905260240161046f565b60008060005b838110156132eb5760006132586132428a84614263565b60c581111561325357613253615bdc565b614284565b11156132a257848110613297576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909201916132e3565b848110156132dc576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b60010161322b565b5083821461330f57604051635318beb960e01b81526004810183905260240161046f565b848114611f8857604051635318beb960e01b81526004810182905260240161046f565b600061333f8686866142e4565b9050600061334d848461431a565b9050600061335b8585614337565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061339557613395615917565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152815180820390930183528101905261342a9061340190615745565b828686867e600302202020000000000000000000000000000000000000000000000000006136ce565b50505050505050505050565b6106ae85856134458487613fca565b8561434c565b6040805161737960f01b60208201526000602282018190527f756e6c696d697465640000000000000000000000000000000000000000000000603083015291016040516020818303038152906040526134a390615745565b909114919050565b6000606060006134ba8661458d565b905060005b81518110156135975760008282815181106134dc576134dc615917565b602002602001015190506135086001826affffffffffffffffffffff191661465690919063ffffffff16565b15613584576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190613551908c908c908c90600401615bf2565b600060405180830381600087803b15801561356b57600080fd5b505af115801561357f573d6000803e3d6000fd5b505050505b508061358f81615aa5565b9150506134bf565b506135a487858888614674565b909350915060005b81518110156136845760008282815181106135c9576135c9615917565b602002602001015190506135f56002826affffffffffffffffffffff191661465690919063ffffffff16565b15613671576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f999061363e908c908c908c90600401615bf2565b600060405180830381600087803b15801561365857600080fd5b505af115801561366c573d6000803e3d6000fd5b505050505b508061367c81615aa5565b9150506135ac565b505094509492505050565b606082826040516020016136b79291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516137049493929190615c55565b60405180910390a2613a3160f11b866001600160f01b0319160361096d57600061372d87614782565b905060005b815181101561381057600082828151811061374f5761374f615917565b6020026020010151905061377b6001826affffffffffffffffffffff191661465690919063ffffffff16565b156137fd576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906137ca908c908c908c908c908c908c90600401615c9f565b600060405180830381600087803b1580156137e457600080fd5b505af11580156137f8573d6000803e3d6000fd5b505050505b508061380881615aa5565b915050613732565b50600061381d8888613f74565b90506000602087019050613835826000838a5161481d565b6000613840856140b2565b11156138c45760006138528a8a6148dd565b878155905060208601915060008060005b61386c886140b2565b8160ff1610156138bf576138818d8d83614102565b925061389c8a8260ff166028026038011c64ffffffffff1690565b91506138ab836000878561481d565b6138b58286615abf565b9450600101613863565b505050505b60005b835181101561342a5760008482815181106138e4576138e4615917565b602002602001015190506139106002826affffffffffffffffffffff191661465690919063ffffffff16565b15613992576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061395f908e908e908e908e908e908e90600401615c9f565b600060405180830381600087803b15801561397957600080fd5b505af115801561398d573d6000803e3d6000fd5b505050505b508061399d81615aa5565b9150506138c7565b60006103e98251603881901b1790565b6060816040516020016139c89190615769565b6040516020818303038152906040529050919050565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051613a0e9190615cf8565b60405180910390a2613a3160f11b836001600160f01b03191614613a3157505050565b6000613a3c84614782565b905060005b8151811015613b19576000828281518110613a5e57613a5e615917565b60200260200101519050613a8a6040826affffffffffffffffffffff191661465690919063ffffffff16565b15613b06576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590613ad390899089908990600401615d0b565b600060405180830381600087803b158015613aed57600080fd5b505af1158015613b01573d6000803e3d6000fd5b505050505b5080613b1181615aa5565b915050613a41565b506000613b268585613f74565b9050613b7f816000613b3786614056565b67ffffffffffffffff811115613b4f57613b4f615301565b6040519080825280601f01601f191660200182016040528015613b79576020820181803683370190505b50614933565b6000613b8a846140b2565b1115613bab576000613b9c86866148dd565b9050613ba9816020614943565b505b60005b825181101561096d576000838281518110613bcb57613bcb615917565b60200260200101519050613bf76080826affffffffffffffffffffff191661465690919063ffffffff16565b15613c73576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90613c40908a908a908a90600401615d0b565b600060405180830381600087803b158015613c5a57600080fd5b505af1158015613c6e573d6000803e3d6000fd5b505050505b5080613c7e81615aa5565b915050613bae565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b6034830152906035016136b7565b6000613ce9616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783614980565b80613cf95750613cf98383614980565b9392505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613d3657613d36615917565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308301526106b19101612d36565b60006060836001600160a01b03166000613daf858989614a52565b604051613dbc9190615769565b60006040518083038185875af1925050503d8060008114613df9576040519150601f19603f3d011682016040523d82523d6000602084013e613dfe565b606091505b509097909650945050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613e4657613e46615917565b6020026020010181815250506000613e6085836000614a69565b9050612ecd613e728260008451614aa3565b614b33565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613ead57613ead615917565b60200260200101818152505061107884826000613ec986614b44565b614b54565b6000613ed8612d95565b9050306001600160a01b03821603613efb57613ef685858585614b8f565b6106ae565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290613f46908890889088908890600401615d34565b600060405180830381600087803b158015613f6057600080fd5b505af115801561061b573d6000803e3d6000fd5b60008282604051602001613f89929190615d68565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610b5c57613ff160ff601b83900360080287901c1683615abf565b915080613ffd81615aa5565b915050613fcf565b60006020821061402b5760208204840193506020828161402757614027615da3565b0691505b508254600882021b602082900380841115610b5c576001850154600882021c82179150509392505050565b60006008614066600260206158be565b6140709190615db9565b9190911c919050565b6060816000036140985750604080516020810190915260008152613cf9565b60006140a48585613f74565b9050612ecd81846000614bca565b600060086001806140c5600260206158be565b6140cf91906158be565b6140d991906158be565b6140e39190615db9565b8260ff911c1692915050565b6000613cf96140fe84846148dd565b5490565b60008383604051602001614117929190615d68565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b811561420b57602082106141ac576020820484019350602082816141a8576141a8615da3565b0691505b811561420b5760208290036000818510156141d05750600019600885021c196141db565b50600019600882021c195b8554600885021b8119845116828216178452508185116141fc575050611078565b50600194909401939283900392015b5b6020831061422d5783548152600190930192601f199092019160200161420c565b8215611078576000600019600885021c198251865482169119161782525050505050565b6000600860016140cf600260206158be565b6000601b8290036008028360ff911c1660c5811115613cf957613cf9615bdc565b6000808260c581111561429957614299615bdc565b60ff16905060618110156142b357601f1660010192915050565b60618360c58111156142c7576142c7615bdc565b036142d55750601492915050565b50600092915050565b50919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b17613cf9565b606082826040516020016136b7929190615dd0565b60006143588585613f74565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161438e93929190615dff565b60405180910390a2613a3160f11b856001600160f01b031916146143b25750611078565b60006143bd86614782565b905060005b815181101561449c5760008282815181106143df576143df615917565b6020026020010151905061440b6004826affffffffffffffffffffff191661465690919063ffffffff16565b15614489576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90614456908b908b908b908b90600401615e32565b600060405180830381600087803b15801561447057600080fd5b505af1158015614484573d6000803e3d6000fd5b505050505b508061449481615aa5565b9150506143c2565b506144b0828565ffffffffffff1685614933565b60005b8151811015611f885760008282815181106144d0576144d0615917565b602002602001015190506144fc6008826affffffffffffffffffffff191661465690919063ffffffff16565b1561457a576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190614547908b908b908b908b90600401615e32565b600060405180830381600087803b15801561456157600080fd5b505af1158015614575573d6000803e3d6000fd5b505050505b508061458581615aa5565b9150506144b3565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106145c7576145c7615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d486f6f6b73000000000000000000000000000000000000000000603083015260009161464491015b60405160208183030381529060405261463c90615745565b836000614a69565b9050611681613e728260008451614aa3565b60008160ff16826146678560581c90565b1660ff1614905092915050565b6000606060008061468486611689565b90925090506001600160a01b0382166146d557856146a187611473565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161046f92919061572c565b806146e4576146e4868961276d565b8615614730577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b17600061471d82612784565b905061472d826109fd8b84615abf565b50505b600061473c8760101b90565b71ffffffffffffffffffffffffffffffffffff1916146147675761476288888488613d94565b614773565b61477388888488614bed565b90999098509650505050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106147bc576147bc615917565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308301526000916146449101614624565b821561489757602083106148475760208304840193506020838161484357614843615da3565b0692505b82156148975760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311614888575050611078565b50600194909401939182019190035b5b602081106148b95781518455600190930192602090910190601f1901614898565b8015611078576000600019600883021c198554845182169119161785555050505050565b600082826040516020016148f2929190615d68565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6106b1838360208401845161481d565b6000602061495283601f615abf565b61495c9190615e6b565b6149669084615abf565b90505b808310156106b15760008355600183019250614969565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106149b9576149b9615917565b602002602001018181525050826001600160a01b031660001b816001815181106149e5576149e5615917565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f757263654163636573730000000000000000000000000000000000006030830152600091614a469101611635565b9050612ecd8160f81c90565b606083838360405160200161430293929190615e8d565b6060611681614a79858585614102565b614a9c84614a8788886140ef565b9060ff166028026038011c64ffffffffff1690565b6000614bca565b6000818311158015614ab6575083518211155b614af2578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161046f93929190615ecc565b60208401614b008482615abf565b90506000614b0e85856158be565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000613cf98360156000614c4e565b606081613cf98160156000614cc9565b6000614b6085856140ef565b90506000614b7d828560ff166028026038011c64ffffffffff1690565b905061096d8686866000858888614d1d565b6000614b9b85856140ef565b90506000614bb8828560ff166028026038011c64ffffffffff1690565b905061096d8686868460008888614d1d565b60405160208101601f19603f8584010116604052838252610b5c85858584614182565b60006060836001600160a01b0316614c06848888614a52565b604051614c139190615769565b600060405180830381855af49150503d8060008114613df9576040519150601f19603f3d011682016040523d82523d6000602084013e613dfe565b60606000614c5c8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281614c8257614c82615da3565b04905060405193506020840160208202810160405281855260005b82811015614cbd578451871c825293870193602090910190600101614c9d565b50505050509392505050565b82516060906000614cda8583615db9565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015614cbd578051871b83529187019160019190910190602001614cfc565b613a3160f11b876001600160f01b03191614614d4d57613a3160f11b87886040516020016117ea91815260200190565b6000614d68828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683614d8191906158be565b614d8b9190615abf565b9050808214158015614dad575081614da38688615ef1565b64ffffffffff1614155b15614dfd576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161046f565b818664ffffffffff161115614e4e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161046f565b6000614e5b8489846150d9565b905064ffffffffff871660005b8960ff168160ff161015614e9b57614e8f868260ff166028026038011c64ffffffffff1690565b90910190600101614e68565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b604051614ed4959493929190615f16565b60405180910390a2506000614ee88b614782565b905060005b8151811015614fbd576000828281518110614f0a57614f0a615917565b60200260200101519050614f366010826affffffffffffffffffffff191661465690919063ffffffff16565b15614faa57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401614f779796959493929190615f68565b600060405180830381600087803b158015614f9157600080fd5b505af1158015614fa5573d6000803e3d6000fd5b505050505b5080614fb581615aa5565b915050614eed565b50828414614fd6576000614fd18c8c6148dd565b839055505b6000614fe38c8c8c614102565b9050614ff7818a64ffffffffff1689614933565b5060005b81518110156150cb57600082828151811061501857615018615917565b602002602001015190506150446020826affffffffffffffffffffff191661465690919063ffffffff16565b156150b857606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016150859796959493929190615f68565b600060405180830381600087803b15801561509f57600080fd5b505af11580156150b3573d6000803e3d6000fd5b505050505b50806150c381615aa5565b915050614ffb565b505050505050505050505050565b600064ffffffffff82111561511d576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161046f565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff1680851061514f5780850382019150615157565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b80356001600160e01b031981168114612dcf57600080fd5b6000602082840312156151d157600080fd5b613cf9826151a7565b6001600160a01b0381168114610fb057600080fd5b6000806040838503121561520257600080fd5b823591506020830135615214816151da565b809150509250929050565b60008083601f84011261523157600080fd5b50813567ffffffffffffffff81111561524957600080fd5b6020830191508360208260051b850101111561526457600080fd5b9250929050565b60008060008060008060008060c0898b03121561528757600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff808211156152bb57600080fd5b6152c78c838d0161521f565b909650945060a08b01359150808211156152e057600080fd5b506152ed8b828c0161521f565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561534057615340615301565b604052919050565b600067ffffffffffffffff82111561536257615362615301565b50601f01601f191660200190565b600082601f83011261538157600080fd5b813561539461538f82615348565b615317565b8181528460208386010111156153a957600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156153db57600080fd5b83356153e6816151da565b925060208401359150604084013567ffffffffffffffff81111561540957600080fd5b61541586828701615370565b9150509250925092565b6000806040838503121561543257600080fd5b82359150602083013567ffffffffffffffff81111561545057600080fd5b61545c85828601615370565b9150509250929050565b8015158114610fb057600080fd5b60008060006060848603121561548957600080fd5b83359250602084013561549b816151da565b915060408401356154ab81615466565b809150509250925092565b6000806000606084860312156154cb57600080fd5b8335925060208401356154dd816151da565b929592945050506040919091013590565b803560ff81168114612dcf57600080fd5b60008060006060848603121561551457600080fd5b833592506020840135615526816151da565b9150615534604085016154ee565b90509250925092565b60008060006060848603121561555257600080fd5b83359250602084013567ffffffffffffffff81111561557057600080fd5b61557c86828701615370565b925050615534604085016151a7565b6000806040838503121561559e57600080fd5b82356155a9816151da565b9150602083013567ffffffffffffffff81111561545057600080fd5b600080602083850312156155d857600080fd5b823567ffffffffffffffff8111156155ef57600080fd5b612ff88582860161521f565b60005b838110156156165781810151838201526020016155fe565b50506000910152565b600081518084526156378160208601602086016155fb565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156156a057603f1988860301845261568e85835161561f565b94509285019290850190600101615672565b5092979650505050505050565b6000602082840312156156bf57600080fd5b5035919050565b6000806000606084860312156156db57600080fd5b8335925060208401359150604084013567ffffffffffffffff81111561540957600080fd5b60008060006060848603121561571557600080fd5b505081359360208301359350604090920135919050565b828152604060208201526000611681604083018461561f565b805160208083015191908110156142de5760001960209190910360031b1b16919050565b6000825161577b8184602087016155fb565b9190910192915050565b600067ffffffffffffffff808411156157a0576157a0615301565b8360051b60206157b1818301615317565b8681529185019181810190368411156157c957600080fd5b865b848110156157fd578035868111156157e35760008081fd5b6157ef36828b01615370565b8452509183019183016157cb565b50979650505050505050565b6000845161581b8184602089016155fb565b80830190507f5f000000000000000000000000000000000000000000000000000000000000008082528551615857816001850160208a016155fb565b600192019182015283516158728160028401602088016155fb565b0160020195945050505050565b6001600160f01b031984168152826020820152606060408201526000612ecd606083018461561f565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e9576103e96158a8565b602081526000613cf9602083018461561f565b6000602082840312156158f657600080fd5b81516fffffffffffffffffffffffffffffffff1981168114613cf957600080fd5b634e487b7160e01b600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261577b57600080fd5b60006020828403121561597357600080fd5b8135613cf9816151da565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126159b357600080fd5b83018035915067ffffffffffffffff8211156159ce57600080fd5b60200191503681900382131561526457600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6001600160a01b0385168152836020820152606060408201526000611d006060830184866159e3565b600060208284031215615a4957600080fd5b815167ffffffffffffffff811115615a6057600080fd5b8201601f81018413615a7157600080fd5b8051615a7f61538f82615348565b818152856020838501011115615a9457600080fd5b612ecd8260208301602086016155fb565b60006000198203615ab857615ab86158a8565b5060010190565b808201808211156103e9576103e96158a8565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261577b57600080fd5b838152604060208201526000612ecd6040830184866159e3565b604081526000615b33604083018561561f565b90506001600160a01b03831660208301529392505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156156a057603f19888603018452615b8e85835161561f565b94509285019290850190600101615b72565b600060208284031215615bb257600080fd5b8151613cf981615466565b600060ff821660ff8103615bd357615bd36158a8565b60010192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b0384168152826020820152606060408201526000612ecd606083018461561f565b600081518084526020808501945080840160005b83811015615c4a57815187529582019590820190600101615c2e565b509495945050505050565b608081526000615c686080830187615c1a565b8281036020840152615c7a818761561f565b90508460408401528281036060840152615c94818561561f565b979650505050505050565b86815260c060208201526000615cb860c0830188615c1a565b8281036040840152615cca818861561f565b90508560608401528281036080840152615ce4818661561f565b9150508260a0830152979650505050505050565b602081526000613cf96020830184615c1a565b838152606060208201526000615d246060830185615c1a565b9050826040830152949350505050565b848152608060208201526000615d4d6080830186615c1a565b60ff851660408401528281036060840152615c94818561561f565b82815260006020808301845182860160005b82811015615d9657815184529284019290840190600101615d7a565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176103e9576103e96158a8565b60008351615de28184602088016155fb565b835190830190615df68183602088016155fb565b01949350505050565b606081526000615e126060830186615c1a565b65ffffffffffff851660208401528281036040840152611d00818561561f565b848152608060208201526000615e4b6080830186615c1a565b65ffffffffffff851660408401528281036060840152615c94818561561f565b600082615e8857634e487b7160e01b600052601260045260246000fd5b500490565b60008451615e9f8184602089016155fb565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b606081526000615edf606083018661561f565b60208301949094525060400152919050565b64ffffffffff818116838216019080821115615f0f57615f0f6158a8565b5092915050565b60a081526000615f2960a0830188615c1a565b65ffffffffffff8716602084015264ffffffffff861660408401528460608401528281036080840152615f5c818561561f565b98975050505050505050565b87815260e060208201526000615f8160e0830189615c1a565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152615fb8818561561f565b9a995050505050505050505056fea164736f6c6343000815000a","sourceMap":"2371:4572:79:-:0;;;2605:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2566:56:79;;;2371:4572;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806317d7de7c1161005b57806317d7de7c146100ec57806345ec93541461011a5780637c5b03351461012d578063e1af802c1461014057600080fd5b806301ffc9a714610082578063119df25f146100aa57806313861fb5146100d7575b600080fd5b610095610090366004613fed565b610148565b60405190151581526020015b60405180910390f35b6100b26101e1565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b6100ea6100e5366004614045565b6101f0565b005b6040517f636f72650000000000000000000000000000000000000000000000000000000081526020016100a1565b604051601f1936013581526020016100a1565b6100ea61013b366004614045565b610222565b6100b261023d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f79f50b5b0000000000000000000000000000000000000000000000000000000014806101db57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101eb610247565b905090565b6040517fea8b184c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61022a610279565b6102326104c3565b61023a610611565b50565b60006101eb610a50565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806102765750335b90565b610281610a9c565b610289610ab4565b610291610b59565b610299610be1565b6102a1610c81565b6102a9610d09565b6102b1610d89565b6102b9610e11565b6102c1610eb1565b6102c9610f51565b6102d161100a565b6102d96110a8565b60408051616e7360f01b6020820152600060228201819052603082015261031b91015b604051602081830303815290604052610314906140f6565b6001611130565b60408051616e7360f01b6020820152600060228201819052603082015261036391015b604051602081830303815290604052610356906140f6565b61035e6101e1565b611215565b60408051616e7360f01b602082015260006022820181905260308201526103ad91015b60405160208183030381529060405261039e906140f6565b6103a66101e1565b6001611323565b60408051616e7360f01b60208201526473746f726560d81b6022820152600060308201526103db91016102fc565b60408051616e7360f01b60208201526473746f726560d81b602282015260006030820152610409910161033e565b60408051616e7360f01b60208201526473746f726560d81b6022820152600060308201526104379101610386565b60408051616e7360f01b6020820152641ddbdc9b1960da1b60228201526000603082015261046591016102fc565b60408051616e7360f01b6020820152641ddbdc9b1960da1b602282015260006030820152610493910161033e565b60408051616e7360f01b6020820152641ddbdc9b1960da1b6022820152600060308201526104c19101610386565b565b61023a6104ce6101e1565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f636f7265000000000000000000000000000000000000000000000000000000006030830152917f00000000000000000000000000000000000000000000000000000000000000009101604051602081830303815290604052610563906140f6565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660448201526001606482015260840160408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3350b6a9000000000000000000000000000000000000000000000000000000001790526113f5565b60006040518061026001604052806040518060400160405280601c81526020017f6772616e7441636365737328627974657333322c61646472657373290000000081525081526020016040518060400160405280601d81526020017f7265766f6b6541636365737328627974657333322c616464726573732900000081525081526020016040518060600160405280602281526020016147fb60229139815260200160405180606001604052806033815260200161479f6033913981526020016040518060600160405280603181526020016146946031913981526020016040518060400160405280601c81526020017f626174636843616c6c2828627974657333322c6279746573295b5d290000000081525081526020016040518060600160405280602881526020016147206028913981526020016040518060400160405280601c81526020017f696e7374616c6c4d6f64756c6528616464726573732c6279746573290000000081525081526020016040518060600160405280604081526020016145df6040913981526020016040518060600160405280602881526020016146c56028913981526020016040518060600160405280602481526020016145bb6024913981526020016040518060400160405280601a81526020017f72656769737465724e616d65737061636528627974657333322900000000000081525081526020016040518060600160405280602981526020016147d26029913981526020016040518060600160405280602581526020016147486025913981526020016040518060600160405280602481526020016146706024913981526020016040518060600160405280602881526020016146486028913981526020016040518060600160405280603381526020016146ed60339139815260200160405180606001604052806029815260200161461f60299139815260200160405180606001604052806032815260200161476d603291399052905060005b6013811015610a4c57610a396109006101e1565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f636f7265000000000000000000000000000000000000000000000000000000006030830152917f00000000000000000000000000000000000000000000000000000000000000009101604051602081830303815290604052610995906140f6565b8686601381106109a7576109a761411a565b60200201518787601381106109be576109be61411a565b6020020151805190602001206040516024016109dc93929190614180565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f742d6118000000000000000000000000000000000000000000000000000000001790526113f5565b5080610a44816141e1565b9150506108ec565b5050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610a97573391505090565b919050565b610aa4611422565b610aac6114c2565b6104c1611560565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f4e616d6573706163654f776e657200000000000000000000000000000000000060308201526104c19101604051602081830303815290604052610b14906140f6565b7e14010014000000000000000000000000000000000000000000000000000000610b3c6115e8565b610b44611660565b610b4c61169a565b610b5461171f565b611796565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f42616c616e63657300000000000000000000000000000000000000000000000060308201526104c19101604051602081830303815290604052610bb9906140f6565b630100080160dd1b610bc96115e8565b610bd161186a565b610bd961169a565b610b546118a4565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f496e7374616c6c65644d6f64756c65730000000000000000000000000000000060308201526104c19101604051602081830303815290604052610c41906140f6565b7e14010014000000000000000000000000000000000000000000000000000000610c6961191b565b610c71611660565b610c7961199a565b610b54611a64565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f5573657244656c65676174696f6e436f0000000000000000000000000000000060308201526104c19101604051602081830303815290604052610ce1906140f6565b630100080160dd1b610cf1611adb565b610cf96115e8565b610d01611b5a565b610b54611c24565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f4e616d65737061636544656c656761740000000000000000000000000000000060308201526104c19101604051602081830303815290604052610d69906140f6565b630100080160dd1b610d796115e8565b610d816115e8565b610d0161169a565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f5265736f7572636541636365737300000000000000000000000000000000000060308201526104c19101604051602081830303815290604052610de9906140f6565b630101000160d81b610df9611c9b565b610e01611cd5565b610e09611d0f565b610b54611dd9565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f53797374656d730000000000000000000000000000000000000000000000000060308201526104c19101604051602081830303815290604052610e71906140f6565b7e15020014010000000000000000000000000000000000000000000000000000610e996115e8565b610ea1611e50565b610ea9611ecf565b610b54611f46565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201526104c19101604051602081830303815290604052610f11906140f6565b7e24020020040000000000000000000000000000000000000000000000000000610f39612010565b610f4161204a565b610f496120c9565b610b54612140565b604080517f6f740000000000000000000000000000000000000000000000000000000000006020820152641ddbdc9b1960da1b60228201527f46756e6374696f6e5369676e617475720000000000000000000000000000000060308201526104c19101604051602081830303815290604052610fcc906140f6565b7c0100000000000000000000000000000000000000000000000000000000610ff2612010565b610ffa61220a565b6110026120c9565b610b54612244565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f53797374656d486f6f6b7300000000000000000000000000000000000000000060308201526104c1910160405160208183030381529060405261106a906140f6565b7c01000000000000000000000000000000000000000000000000000000006110906115e8565b6110986122bb565b6110a0611ecf565b610b546122f5565b60408051613a3160f11b6020820152641ddbdc9b1960da1b60228201527f53797374656d526567697374727900000000000000000000000000000000000060308201526104c19101604051602081830303815290604052611108906140f6565b630100080160dd1b611118611660565b6111206115e8565b61112861236c565b610b54611ecf565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106111665761116661411a565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f5265736f75726365496473000000000000000000000000000000000000000000603083015261121091015b6040516020818303038152906040526111d8906140f6565b826000856040516020016111f391151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6123e3565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061124b5761124b61411a565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f4e616d6573706163654f776e657200000000000000000000000000000000000060308201528151808203909301835281019052611210906112b7906140f6565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b166020820152839060009060340160408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006123e3565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106113585761135861411a565b6020026020010181815250508273ffffffffffffffffffffffffffffffffffffffff1660001b816001815181106113915761139161411a565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f7572636541636365737300000000000000000000000000000000000060308301526113ef91016111c0565b50505050565b6060600080611406878787876123ff565b91509150816114185761141881612480565b9695505050505050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526104c19101604051602081830303815290604052611482906140f6565b7e600302202020000000000000000000000000000000000000000000000000006114aa6115e8565b6114b2612488565b6114ba6125d7565b610b5461264e565b60408051613a3160f11b60208201526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201526104c19101604051602081830303815290604052611522906140f6565b7c01000000000000000000000000000000000000000000000000000000006115486115e8565b6115506122bb565b6115586125d7565b610b54612816565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201526104c191016040516020818303038152906040526115c0906140f6565b630101000160d81b6115d06115e8565b6115d8611cd5565b6115e061288d565b610b54612904565b60408051600180825281830190925260009182919060208083019080368337019050509050605f816000815181106116225761162261411a565b602002602001019060c581111561163b5761163b6141fb565b908160c581111561164e5761164e6141fb565b90525061165a8161297b565b91505090565b604080516001808252818301909252600091829190602080830190803683370190505090506061816000815181106116225761162261411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816116b15790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816117365790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b60006117a0610a50565b90503073ffffffffffffffffffffffffffffffffffffffff8216036117d2576117cd878787878787612b3f565b611861565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f499061182e908a908a908a908a908a908a90600401614269565b600060405180830381600087803b15801561184857600080fd5b505af115801561185c573d6000803e3d6000fd5b505050505b50505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050601f816000815181106116225761162261411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816118bb5790505090506040518060400160405280600781526020017f62616c616e636500000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b60408051600280825260608201835260009283929190602083019080368337019050509050604f816000815181106119555761195561411a565b602002602001019060c581111561196e5761196e6141fb565b908160c5811115611981576119816141fb565b81525050605f816001815181106116225761162261411a565b6040805160028082526060828101909352816020015b60608152602001906001900390816119b05790505090506040518060400160405280600a81526020017f6d6f64756c654e616d650000000000000000000000000000000000000000000081525081600081518110611a1057611a1061411a565b60200260200101819052506040518060400160405280600d81526020017f617267756d656e74734861736800000000000000000000000000000000000000815250816001815181106117115761171161411a565b604080516001808252818301909252606091816020015b6060815260200190600190039081611a7b5790505090506040518060400160405280600d81526020017f6d6f64756c654164647265737300000000000000000000000000000000000000815250816000815181106117115761171161411a565b60408051600280825260608201835260009283929190602083019080368337019050509050606181600081518110611b1557611b1561411a565b602002602001019060c5811115611b2e57611b2e6141fb565b908160c5811115611b4157611b416141fb565b815250506061816001815181106116225761162261411a565b6040805160028082526060828101909352816020015b6060815260200190600190039081611b705790505090506040518060400160405280600981526020017f64656c656761746f72000000000000000000000000000000000000000000000081525081600081518110611bd057611bd061411a565b60200260200101819052506040518060400160405280600981526020017f64656c6567617465650000000000000000000000000000000000000000000000815250816001815181106117115761171161411a565b604080516001808252818301909252606091816020015b6060815260200190600190039081611c3b5790505090506040518060400160405280601381526020017f64656c65676174696f6e436f6e74726f6c496400000000000000000000000000815250816000815181106117115761171161411a565b60408051600280825260608201835260009283929190602083019080368337019050509050605f81600081518110611b1557611b1561411a565b604080516001808252818301909252600091829190602080830190803683370190505090506060816000815181106116225761162261411a565b6040805160028082526060828101909352816020015b6060815260200190600190039081611d255790505090506040518060400160405280600a81526020017f7265736f7572636549640000000000000000000000000000000000000000000081525081600081518110611d8557611d8561411a565b60200260200101819052506040518060400160405280600681526020017f63616c6c65720000000000000000000000000000000000000000000000000000815250816001815181106117115761171161411a565b604080516001808252818301909252606091816020015b6060815260200190600190039081611df05790505090506040518060400160405280600681526020017f6163636573730000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b60408051600280825260608201835260009283929190602083019080368337019050509050606181600081518110611e8a57611e8a61411a565b602002602001019060c5811115611ea357611ea36141fb565b908160c5811115611eb657611eb66141fb565b815250506060816001815181106116225761162261411a565b604080516001808252818301909252606091816020015b6060815260200190600190039081611ee65790505090506040518060400160405280600881526020017f73797374656d4964000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b6040805160028082526060828101909352816020015b6060815260200190600190039081611f5c5790505090506040518060400160405280600681526020017f73797374656d000000000000000000000000000000000000000000000000000081525081600081518110611fbc57611fbc61411a565b60200260200101819052506040518060400160405280600c81526020017f7075626c69634163636573730000000000000000000000000000000000000000815250816001815181106117115761171161411a565b604080516001808252818301909252600091829190602080830190803683370190505090506043816000815181106116225761162261411a565b60408051600280825260608201835260009283929190602083019080368337019050509050605f816000815181106120845761208461411a565b602002602001019060c581111561209d5761209d6141fb565b908160c58111156120b0576120b06141fb565b815250506043816001815181106116225761162261411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816120e05790505090506040518060400160405280601081526020017f66756e6374696f6e53656c6563746f7200000000000000000000000000000000815250816000815181106117115761171161411a565b6040805160028082526060828101909352816020015b60608152602001906001900390816121565790505090506040518060400160405280600881526020017f73797374656d4964000000000000000000000000000000000000000000000000815250816000815181106121b6576121b661411a565b60200260200101819052506040518060400160405280601681526020017f73797374656d46756e6374696f6e53656c6563746f7200000000000000000000815250816001815181106117115761171161411a565b6040805160018082528183019092526000918291906020808301908036833701905050905060c5816000815181106116225761162261411a565b604080516001808252818301909252606091816020015b606081526020019060019003908161225b5790505090506040518060400160405280601181526020017f66756e6374696f6e5369676e6174757265000000000000000000000000000000815250816000815181106117115761171161411a565b6040805160018082528183019092526000918291906020808301908036833701905050905060b6816000815181106116225761162261411a565b604080516001808252818301909252606091816020015b606081526020019060019003908161230c5790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816123835790505090506040518060400160405280600681526020017f73797374656d0000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b6123f885856123f28487612e34565b85612e77565b5050505050565b600060608373ffffffffffffffffffffffffffffffffffffffff166124258488886130d0565b60405161243291906142b3565b600060405180830381855af49150503d806000811461246d576040519150601f19603f3d011682016040523d82523d6000602084013e612472565b606091505b509097909650945050505050565b805160208201fd5b60408051600580825260c082019092526000918291906020820160a080368337019050509050605f816000815181106124c3576124c361411a565b602002602001019060c58111156124dc576124dc6141fb565b908160c58111156124ef576124ef6141fb565b81525050605f816001815181106125085761250861411a565b602002602001019060c5811115612521576125216141fb565b908160c5811115612534576125346141fb565b81525050605f8160028151811061254d5761254d61411a565b602002602001019060c5811115612566576125666141fb565b908160c5811115612579576125796141fb565b8152505060c4816003815181106125925761259261411a565b602002602001019060c58111156125ab576125ab6141fb565b908160c58111156125be576125be6141fb565b8152505060c4816004815181106116225761162261411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816125ee5790505090506040518060400160405280600781526020017f7461626c65496400000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b60408051600580825260c08201909252606091816020015b60608152602001906001900390816126665790505090506040518060400160405280600b81526020017f6669656c644c61796f7574000000000000000000000000000000000000000000815250816000815181106126c6576126c661411a565b60200260200101819052506040518060400160405280600981526020017f6b6579536368656d6100000000000000000000000000000000000000000000008152508160018151811061271a5761271a61411a565b60200260200101819052506040518060400160405280600b81526020017f76616c7565536368656d610000000000000000000000000000000000000000008152508160028151811061276e5761276e61411a565b60200260200101819052506040518060400160405280601281526020017f616269456e636f6465644b65794e616d65730000000000000000000000000000815250816003815181106127c2576127c261411a565b60200260200101819052506040518060400160405280601481526020017f616269456e636f6465644669656c644e616d6573000000000000000000000000815250816004815181106117115761171161411a565b604080516001808252818301909252606091816020015b606081526020019060019003908161282d5790505090506040518060400160405280600581526020017f686f6f6b73000000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b604080516001808252818301909252606091816020015b60608152602001906001900390816128a45790505090506040518060400160405280600a81526020017f7265736f75726365496400000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b604080516001808252818301909252606091816020015b606081526020019060019003908161291b5790505090506040518060400160405280600681526020017f6578697374730000000000000000000000000000000000000000000000000000815250816000815181106117115761171161411a565b6000601c825111156129ae578151604051635318beb960e01b81526004016129a591815260200190565b60405180910390fd5b60008080805b8551811015612a895760006129f28783815181106129d4576129d461411a565b602002602001015160c58111156129ed576129ed6141fb565b6130ff565b905080600003612a0757600190920191612a3f565b8215612a3f576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110612a6057612a6061411a565b602002602001015160c5811115612a7957612a796141fb565b901b9490941793506001016129b4565b506005811115612aaf57604051635318beb960e01b8152600481018290526024016129a5565b84518190036008612ac2600260206142cf565b612acc91906142e2565b83901b939093179260086001612ae4600260206142cf565b612aee91906142cf565b612af891906142e2565b81901b93909317926008600180612b11600260206142cf565b612b1b91906142cf565b612b2591906142cf565b612b2f91906142e2565b9190911b92909217949350505050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590612bb857507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b15612c1957613a3160f11b8687604051602001612bd791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526129a59392916004016142f9565b612c2485600061315f565b612c2f8460016132e1565b612c3a8360006132e1565b60e084901c60e885901c0160ff16825114612c9a5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016129a5565b60e085901c60e886901c0160ff16815114612cfa5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016129a5565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614612d725760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016129a5565b612d7b86613488565b15612dd5578586604051602001612d9491815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526129a5929160040161433a565b612e218686868686604051602001612ded9190614353565b60405160208183030381529060405286604051602001612e0d9190614353565b604051602081830303815290604052613554565b612e2c866001611130565b505050505050565b600080805b8360ff16811015612e6f57612e5b60ff601b83900360080287901c1683614366565b915080612e67816141e1565b915050612e39565b509392505050565b6000612e838585613658565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be858585604051612eb9939291906143b4565b60405180910390a2613a3160f11b857fffff0000000000000000000000000000000000000000000000000000000000001614612ef557506113ef565b6000612f00866136ae565b905060005b8151811015612fdf576000828281518110612f2257612f2261411a565b60200260200101519050612f4e6004826affffffffffffffffffffff191661377690919063ffffffff16565b15612fcc576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612f99908b908b908b908b906004016143e7565b600060405180830381600087803b158015612fb357600080fd5b505af1158015612fc7573d6000803e3d6000fd5b505050505b5080612fd7816141e1565b915050612f05565b50612ff3828565ffffffffffff1685613794565b60005b81518110156118615760008282815181106130135761301361411a565b6020026020010151905061303f6008826affffffffffffffffffffff191661377690919063ffffffff16565b156130bd576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061308a908b908b908b908b906004016143e7565b600060405180830381600087803b1580156130a457600080fd5b505af11580156130b8573d6000803e3d6000fd5b505050505b50806130c8816141e1565b915050612ff6565b60608383836040516020016130e79392919061442b565b60405160208183030381529060405290509392505050565b6000808260c5811115613114576131146141fb565b60ff169050606181101561312e57601f1660010192915050565b60618360c5811115613142576131426141fb565b036131505750601492915050565b50600092915050565b50919050565b8015801561316b575081155b156131a5576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600060048201526024016129a5565b60006131b0836137a4565b905060058111156131f0576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016129a5565b60006131fb846137e1565b905060006132098383614366565b9050601c811115613249576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016129a5565b60005b82811015612e2c5760ff601b82900360080287901c16600081900361329d576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208111156132d8576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161324c565b801580156132ed575081155b1561330e57604051635318beb960e01b8152600060048201526024016129a5565b6000613319836137a4565b9050600581111561334057604051635318beb960e01b8152600481018290526024016129a5565b600061334b846137e1565b905060006133598383614366565b9050601c81111561338057604051635318beb960e01b8152600481018290526024016129a5565b60008060005b838110156134415760006133ae61339d8a846137f3565b60c58111156129ed576129ed6141fb565b11156133f8578481106133ed576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190920191613439565b84811015613432576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b600101613386565b5083821461346557604051635318beb960e01b8152600481018390526024016129a5565b84811461186157604051635318beb960e01b8152600481018290526024016129a5565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106134c1576134c161411a565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f757263654964730000000000000000000000000000000000000000006030820152815180820390930183528101905260009061354090613530906140f6565b836000630101000160d81b61381b565b905061354c8160f81c90565b949350505050565b6000613561868686613851565b9050600061356f8484613873565b9050600061357d8585613890565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106135b7576135b761411a565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152815180820390930183528101905261364c90613623906140f6565b828686867e600302202020000000000000000000000000000000000000000000000000006138bc565b50505050505050505050565b6000828260405160200161366d92919061447d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106136e8576136e861411a565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b73000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061375f90613757906140f6565b836000613bab565b905061354c6137718260008451613be5565b613c75565b60008160ff16826137878560581c90565b1660ff1614905092915050565b6112108383602084018451613c86565b600060086001806137b7600260206142cf565b6137c191906142cf565b6137cb91906142cf565b6137d591906142e2565b8260ff911c1692915050565b6000600860016137c1600260206142cf565b6000601b8290036008028360ff911c1660c5811115613814576138146141fb565b9392505050565b600061384861382a8686613658565b60ff858116601b0360080285901c166138438587612e34565b613d46565b95945050505050565b60408051602081018590529081018390526060818101839052906080016130e7565b8151815160009181810160389190911b1760609190911b17613814565b606082826040516020016138a59291906144b8565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516138f294939291906144e7565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603612e2c576000613933876136ae565b905060005b8151811015613a165760008282815181106139555761395561411a565b602002602001015190506139816001826affffffffffffffffffffff191661377690919063ffffffff16565b15613a03576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906139d0908c908c908c908c908c908c90600401614526565b600060405180830381600087803b1580156139ea57600080fd5b505af11580156139fe573d6000803e3d6000fd5b505050505b5080613a0e816141e1565b915050613938565b506000613a238888613658565b90506000602087019050613a3b826000838a51613c86565b6000613a46856137a4565b1115613aca576000613a588a8a613d97565b878155905060208601915060008060005b613a72886137a4565b8160ff161015613ac557613a878d8d83613ded565b9250613aa28a8260ff166028026038011c64ffffffffff1690565b9150613ab18360008785613c86565b613abb8286614366565b9450600101613a69565b505050505b60005b835181101561364c576000848281518110613aea57613aea61411a565b60200260200101519050613b166002826affffffffffffffffffffff191661377690919063ffffffff16565b15613b98576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613b65908e908e908e908e908e908e90600401614526565b600060405180830381600087803b158015613b7f57600080fd5b505af1158015613b93573d6000803e3d6000fd5b505050505b5080613ba3816141e1565b915050613acd565b606061354c613bbb858585613ded565b613bde84613bc98888613e6d565b9060ff166028026038011c64ffffffffff1690565b6000613e80565b6000818311158015613bf8575083518211155b613c34578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016129a59392919061457f565b60208401613c428482614366565b90506000613c5085856142cf565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006138148360156000613ea3565b8215613d005760208310613cb057602083048401935060208381613cac57613cac6145a4565b0692505b8215613d005760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311613cf15750506113ef565b50600194909401939182019190035b5b60208110613d225781518455600190930192602090910190601f1901613d01565b80156113ef576000600019600883021c198554845182169119161785555050505050565b600060208210613d6c57602082048401935060208281613d6857613d686145a4565b0691505b508254600882021b602082900380841115612e6f576001850154600882021c82179150509392505050565b60008282604051602001613dac92919061447d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613e0292919061447d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000613814613e7c8484613d97565b5490565b60405160208101601f19603f8584010116604052838252612e6f85858584613f1e565b60606000613eb18560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613ed757613ed76145a4565b04905060405193506020840160208202810160405281855260005b82811015613f12578451871c825293870193602090910190600101613ef2565b50505050509392505050565b8115613fa75760208210613f4857602082048401935060208281613f4457613f446145a4565b0691505b8115613fa7576020829003600081851015613f6c5750600019600885021c19613f77565b50600019600882021c195b8554600885021b811984511682821617845250818511613f985750506113ef565b50600194909401939283900392015b5b60208310613fc95783548152600190930192601f1990920191602001613fa8565b82156113ef576000600019600885021c198251865482169119161782525050505050565b600060208284031215613fff57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461381457600080fd5b634e487b7160e01b600052604160045260246000fd5b60006020828403121561405757600080fd5b813567ffffffffffffffff8082111561406f57600080fd5b818401915084601f83011261408357600080fd5b8135818111156140955761409561402f565b604051601f8201601f19908116603f011681019083821181831017156140bd576140bd61402f565b816040528281528760208487010111156140d657600080fd5b826020860160208301376000928101602001929092525095945050505050565b805160208083015191908110156131595760001960209190910360031b1b16919050565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561414b578181015183820152602001614133565b50506000910152565b6000815180845261416c816020860160208601614130565b601f01601f19169290920160200192915050565b8381526060602082015260006141996060830185614154565b90507fffffffff0000000000000000000000000000000000000000000000000000000083166040830152949350505050565b634e487b7160e01b600052601160045260246000fd5b600060001982036141f4576141f46141cb565b5060010190565b634e487b7160e01b600052602160045260246000fd5b600082825180855260208086019550808260051b84010181860160005b8481101561425c57601f1986840301895261424a838351614154565b9884019892509083019060010161422e565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061429460c0830185614211565b82810360a08401526142a68185614211565b9998505050505050505050565b600082516142c5818460208701614130565b9190910192915050565b818103818111156101db576101db6141cb565b80820281158282048414176101db576101db6141cb565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006138486060830184614154565b82815260406020820152600061354c6040830184614154565b6020815260006138146020830184614211565b808201808211156101db576101db6141cb565b600081518084526020808501945080840160005b838110156143a95781518752958201959082019060010161438d565b509495945050505050565b6060815260006143c76060830186614379565b65ffffffffffff8516602084015282810360408401526114188185614154565b8481526080602082015260006144006080830186614379565b65ffffffffffff8516604084015282810360608401526144208185614154565b979650505050505050565b6000845161443d818460208901614130565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b82815260006020808301845182860160005b828110156144ab5781518452928401929084019060010161448f565b5091979650505050505050565b600083516144ca818460208801614130565b8351908301906144de818360208801614130565b01949350505050565b6080815260006144fa6080830187614379565b828103602084015261450c8187614154565b905084604084015282810360608401526144208185614154565b86815260c06020820152600061453f60c0830188614379565b82810360408401526145518188614154565b9050856060840152828103608084015261456b8186614154565b9150508260a0830152979650505050505050565b6060815260006145926060830186614154565b60208301949094525060400152919050565b634e487b7160e01b600052601260045260246000fdfe756e726567697374657253746f7265486f6f6b28627974657333322c616464726573732972656769737465725461626c6528627974657333322c627974657333322c627974657333322c627974657333322c737472696e675b5d2c737472696e675b5d29726567697374657244656c65676174696f6e28616464726573732c627974657333322c627974657329726567697374657246756e6374696f6e53656c6563746f7228627974657333322c737472696e6729726567697374657253797374656d28627974657333322c616464726573732c626f6f6c297472616e7366657242616c616e6365546f4164647265737328627974657333322c616464726573732c75696e7432353629726567697374657253746f7265486f6f6b28627974657333322c616464726573732c75696e7438297265676973746572526f6f7446756e6374696f6e53656c6563746f7228627974657333322c737472696e672c62797465733429626174636843616c6c46726f6d2828616464726573732c627974657333322c6279746573295b5d29756e726567697374657253797374656d486f6f6b28627974657333322c616464726573732972656769737465724e616d65737061636544656c65676174696f6e28627974657333322c627974657333322c6279746573297472616e7366657242616c616e6365546f4e616d65737061636528627974657333322c627974657333322c75696e7432353629726567697374657253797374656d486f6f6b28627974657333322c616464726573732c75696e7438297472616e736665724f776e65727368697028627974657333322c6164647265737329a164736f6c6343000815000a","sourceMap":"2371:4572:79:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;754:220:52;;;;;;:::i;:::-;;:::i;:::-;;;516:14:201;;509:22;491:41;;479:2;464:18;754:220:52;;;;;;;;1245:113:57;;;:::i;:::-;;;719:42:201;707:55;;;689:74;;677:2;662:18;1245:113:57;543:226:201;3244:96:79;;;;;;:::i;:::-;;:::i;:::-;;2717:83;;;366:15:81;2094:98:201;;2082:2;2067:18;2717:83:79;1948:250:201;1599:110:57;;;-1:-1:-1;;3585:14:57;3581:23;3568:37;2349:25:201;;2337:2;2322:18;1599:110:57;2203:177:201;2941:144:79;;;;;;:::i;:::-;;:::i;1925:95:57:-;;;:::i;754:220:52:-;878:4;897:34;;;360:110:47;897:34:52;;:72;;-1:-1:-1;935:34:52;;;188::46;935::52;897:72;890:79;754:220;-1:-1:-1;;754:220:52:o;1245:113:57:-;1288:14;1317:36;:34;:36::i;:::-;1310:43;;1245:113;:::o;3244:96:79:-;3300:35;;;;;;;;;;;;;;2941:144;2998:21;:19;:21::i;:::-;3025;:19;:21::i;:::-;3052:28;:26;:28::i;:::-;2941:144;:::o;1925:95:57:-;1964:7;1986:29;:27;:29::i;2779:381::-;3063:34;3067:14;3063:34;3050:48;3046:2;3042:57;;3110:45;;-1:-1:-1;3145:10:57;3110:45;2779:381;:::o;3492:968:79:-;3538:30;:28;:30::i;:::-;3574:25;:23;:25::i;:::-;3605:19;:17;:19::i;:::-;3630:27;:25;:27::i;:::-;3663:32;:30;:32::i;:::-;3701:37;:35;:37::i;:::-;3744:25;:23;:25::i;:::-;3775:18;:16;:18::i;:::-;3799:28;:26;:28::i;:::-;3833:29;:27;:29::i;:::-;3868:22;:20;:22::i;:::-;3896:25;:23;:25::i;:::-;625:63:78;;;-1:-1:-1;;;625:63:78;;;2568:92:201;662:14:78;2676:11:201;;;2669:100;;;2785:12;;;2778:101;3928:47:79;;2895:12:201;625:63:78;;;;;;;;;;;;;617:72;;;:::i;:::-;3970:4:79;3928:22;:47::i;:::-;625:63:78;;;-1:-1:-1;;;625:63:78;;;2568:92:201;662:14:78;2676:11:201;;;2669:100;;;2785:12;;;2778:101;3981:52:79;;2895:12:201;625:63:78;;;;;;;;;;;;;617:72;;;:::i;:::-;4020:12:79;:10;:12::i;:::-;3981:19;:52::i;:::-;625:63:78;;;-1:-1:-1;;;625:63:78;;;2568:92:201;662:14:78;2676:11:201;;;2669:100;;;2785:12;;;2778:101;4039:58:79;;2895:12:201;625:63:78;;;;;;;;;;;;;617:72;;;:::i;:::-;4078:12:79;:10;:12::i;:::-;4092:4;4039:19;:58::i;:::-;348:65:78;;;-1:-1:-1;;;348:65:78;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;403:9:78;2785:12:201;;;2778:101;4104:48:79;;2895:12:201;348:65:78;2385:528:201;4104:48:79;348:65:78;;;-1:-1:-1;;;348:65:78;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;403:9:78;2785:12:201;;;2778:101;4158:53:79;;2895:12:201;348:65:78;2385:528:201;4158:53:79;348:65:78;;;-1:-1:-1;;;348:65:78;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;403:9:78;2785:12:201;;;2778:101;4217:59:79;;2895:12:201;348:65:78;2385:528:201;4217:59:79;487:65:78;;;-1:-1:-1;;;487:65:78;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;542:9:78;2785:12:201;;;2778:101;4283:48:79;;2895:12:201;487:65:78;2385:528:201;4283:48:79;487:65:78;;;-1:-1:-1;;;487:65:78;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;542:9:78;2785:12:201;;;2778:101;4337:53:79;;2895:12:201;487:65:78;2385:528:201;4337:53:79;487:65:78;;;-1:-1:-1;;;487:65:78;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;542:9:78;2785:12:201;;;2778:101;4396:59:79;;2895:12:201;487:65:78;2385:528:201;4396:59:79;3492:968::o;4624:310::-;4670:259;4745:12;:10;:12::i;:::-;601:67:81;;;618:15;601:67;;;2568:92:201;4775:1:79;2676:11:201;;;2669:100;;;366:15:81;2785:12:201;;;2778:101;4775:1:79;4792:10;;2895:12:201;601:67:81;;;;;;;;;;;;593:76;;;:::i;:::-;4820:102:79;;;;;3527:25:201;;;;3600:42;4903:10:79;3588:55:201;3568:18;;;3561:83;4916:4:79;3660:18:201;;;3653:50;3500:18;;4820:102:79;;;-1:-1:-1;;4820:102:79;;;;;;;;;;;;;;;;;;;;4670:55;:259::i;5107:1834::-;5160:36;:1220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6392:9:79;6387:550;6411:25;6407:1;:29;6387:550;;;6575:355;6652:12;:10;:12::i;:::-;601:67:81;;;618:15;601:67;;;2568:92:201;6684:1:79;2676:11:201;;;2669:100;;;366:15:81;2785:12:201;;;2778:101;6684:1:79;6703:10;;2895:12:201;601:67:81;;;;;;;;;;;;593:76;;;:::i;:::-;6840:18:79;6859:1;6840:21;;;;;;;:::i;:::-;;;;;6886:18;6905:1;6886:21;;;;;;;:::i;:::-;;;;;6870:39;;;;;;6733:188;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6733:188:79;;;;;;;;;;;;;;;;;;;;6575:55;:355::i;:::-;-1:-1:-1;6438:3:79;;;;:::i;:::-;;;;6387:550;;;;5154:1787;5107:1834::o;1766:227:24:-;996:42;1855:22;1816:7;;1855:22;;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:24:o;4326:150:20:-;4399:17;:15;:17::i;:::-;4422:21;:19;:21::i;:::-;4449:22;:20;:22::i;3016:155:72:-;1253:77;;;-1:-1:-1;;;1253:77:72;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:25:72;2785:12:201;;;2778:101;3051:115:72;;2895:12:201;1253:77:72;;;;;;;;;;;;1245:86;;;:::i;:::-;1446:66;3101:14;:12;:14::i;:::-;3117:16;:14;:16::i;:::-;3135:13;:11;:13::i;:::-;3150:15;:13;:15::i;:::-;3051:25;:115::i;3000:155:67:-;1253:71;;;-1:-1:-1;;;1253:71:67;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:19:67;2785:12:201;;;2778:101;3035:115:67;;2895:12:201;1253:71:67;;;;;;;;;;;;1245:80;;;:::i;:::-;-1:-1:-1;;;3085:14:67;:12;:14::i;:::-;3101:16;:14;:16::i;:::-;3119:13;:11;:13::i;:::-;3134:15;:13;:15::i;3015:155:70:-;1164:79;;;-1:-1:-1;;;1164:79:70;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1215:27:70;2785:12:201;;;2778:101;3050:115:70;;2895:12:201;1164:79:70;;;;;;;;;;;;1156:88;;;:::i;:::-;1361:66;3100:14;:12;:14::i;:::-;3116:16;:14;:16::i;:::-;3134:13;:11;:13::i;:::-;3149:15;:13;:15::i;3115:155:77:-;1253:79;;;-1:-1:-1;;;1253:79:77;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:27:77;2785:12:201;;;2778:101;3150:115:77;;2895:12:201;1253:79:77;;;;;;;;;;;;1245:88;;;:::i;:::-;-1:-1:-1;;;3200:14:77;:12;:14::i;:::-;3216:16;:14;:16::i;:::-;3234:13;:11;:13::i;:::-;3249:15;:13;:15::i;3056:155:71:-;1253:79;;;-1:-1:-1;;;1253:79:71;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:27:71;2785:12:201;;;2778:101;3091:115:71;;2895:12:201;1253:79:71;;;;;;;;;;;;1245:88;;;:::i;:::-;-1:-1:-1;;;3141:14:71;:12;:14::i;:::-;3157:16;:14;:16::i;:::-;3175:13;:11;:13::i;3081:155:73:-;1253:77;;;-1:-1:-1;;;1253:77:73;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:25:73;2785:12:201;;;2778:101;3116:115:73;;2895:12:201;1253:77:73;;;;;;;;;;;;1245:86;;;:::i;:::-;-1:-1:-1;;;3166:14:73;:12;:14::i;:::-;3182:16;:14;:16::i;:::-;3200:13;:11;:13::i;:::-;3215:15;:13;:15::i;3068:155:76:-;1253:70;;;-1:-1:-1;;;1253:70:76;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:18:76;2785:12:201;;;2778:101;3103:115:76;;2895:12:201;1253:70:76;;;;;;;;;;;;1245:79;;;:::i;:::-;1432:66;3153:14;:12;:14::i;:::-;3169:16;:14;:16::i;:::-;3187:13;:11;:13::i;:::-;3202:15;:13;:15::i;3118:155:68:-;1253:79;;;-1:-1:-1;;;1253:79:68;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:27:68;2785:12:201;;;2778:101;3153:115:68;;2895:12:201;1253:79:68;;;;;;;;;;;;1245:88;;;:::i;:::-;1451:66;3203:14;:12;:14::i;:::-;3219:16;:14;:16::i;:::-;3237:13;:11;:13::i;:::-;3252:15;:13;:15::i;2961:155:69:-;1164:88;;;1181:23;1164:88;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1224:27:69;2785:12:201;;;2778:101;2996:115:69;;2895:12:201;1164:88:69;;;;;;;;;;;;1156:97;;;:::i;:::-;1372:66;3046:14;:12;:14::i;:::-;3062:16;:14;:16::i;:::-;3080:13;:11;:13::i;:::-;3095:15;:13;:15::i;3010:155:74:-;1253:74;;;-1:-1:-1;;;1253:74:74;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:22:74;2785:12:201;;;2778:101;3045:115:74;;2895:12:201;1253:74:74;;;;;;;;;;;;1245:83;;;:::i;:::-;1440:66;3095:14;:12;:14::i;:::-;3111:16;:14;:16::i;:::-;3129:13;:11;:13::i;:::-;3144:15;:13;:15::i;3014:155:75:-;1253:77;;;-1:-1:-1;;;1253:77:75;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:25:75;2785:12:201;;;2778:101;3049:115:75;;2895:12:201;1253:77:75;;;;;;;;;;;;1245:86;;;:::i;:::-;-1:-1:-1;;;3099:14:75;:12;:14::i;:::-;3115:16;:14;:16::i;:::-;3133:13;:11;:13::i;:::-;3148:15;:13;:15::i;4933:268:27:-;5033:16;;;5047:1;5033:16;;;;;;;;;5004:26;;5033:16;;;;;;;;;;;-1:-1:-1;5033:16:27;5004:45;;5088:10;5055:9;5065:1;5055:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:27;;;2568:92:201;;;;-1:-1:-1;;;2676:11:201;;;2669:100;1098:22:27;2785:12:201;;;2778:101;5106:90:27;;2895:12:201;1047:74:27;;;;;;;;;;;;;1039:83;;;:::i;:::-;5141:9;5152:1;5173:6;5155:26;;;;;;5502:14:201;5495:22;5490:3;5486:32;5474:45;;5544:1;5535:11;;5351:201;5155:26:27;;;;-1:-1:-1;;5155:26:27;;;;;;;;;-1:-1:-1;;;5106:24:27;:90::i;:::-;4998:203;4933:268;;:::o;5753:265:72:-;5850:16;;;5864:1;5850:16;;;;;;;;;5821:26;;5850:16;;;;;;;;;;;-1:-1:-1;5850:16:72;5821:45;;5905:11;5872:9;5882:1;5872:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:77;;;-1:-1:-1;;;1253:77:72;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1304:25:72;2785:12:201;;;2778:101;1253:77:72;;;;;;;;;;2895:12:201;;1253:77:72;;5924:89;;1245:86;;;:::i;:::-;5973:25;;5719:66:201;5706:2;5702:15;;;5698:88;5973:25:72;;;5686:101:201;5959:9:72;;5970:1;;5803:12:201;;5973:25:72;;;-1:-1:-1;;5973:25:72;;;;;;;;;1446:66;5924:24;:89::i;6319:332:73:-;6429:16;;;6443:1;6429:16;;;;;;;;6400:26;;6429:16;;;;;;;;;;-1:-1:-1;6429:16:73;6400:45;;6484:10;6451:9;6461:1;6451:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6540:6;6524:24;;6516:33;;6501:9;6511:1;6501:12;;;;;;;;:::i;:::-;;;;;;;;;;;:48;;;;1253:77;;;-1:-1:-1;;;1253:77:73;;;2568:92:201;;;;-1:-1:-1;;;2676:11:201;;;2669:100;1304:25:73;2785:12:201;;;2778:101;6556:90:73;;2895:12:201;1253:77:73;2385:528:201;6556:90:73;6394:257;6319:332;;;:::o;7770:415:57:-;7925:17;7951:12;7965:18;7987:133;8030:9;8057:8;8081:6;8105:8;7987:23;:133::i;:::-;7950:170;;;;8131:7;8126:36;;8140:22;8156:5;8140:15;:22::i;:::-;8175:5;7770:415;-1:-1:-1;;;;;;7770:415:57:o;3356:155:29:-;1147:69;;;-1:-1:-1;;;1147:69:29;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1198:17:29;2785:12:201;;;2778:101;3391:115:29;;2895:12:201;1147:69:29;;;;;;;;;;;;1139:78;;;:::i;:::-;1324:66;3441:14;:12;:14::i;:::-;3457:16;:14;:16::i;:::-;3475:13;:11;:13::i;:::-;3490:15;:13;:15::i;2800:155:28:-;1047:73;;;-1:-1:-1;;;1047:73:28;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1098:21:28;2785:12:201;;;2778:101;2835:115:28;;2895:12:201;1047:73:28;;;;;;;;;;;;1039:82;;;:::i;:::-;1232:66;2885:14;:12;:14::i;:::-;2901:16;:14;:16::i;:::-;2919:13;:11;:13::i;:::-;2934:15;:13;:15::i;2798:155:27:-;1047:74;;;-1:-1:-1;;;1047:74:27;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1098:22:27;2785:12:201;;;2778:101;2833:115:27;;2895:12:201;1047:74:27;;;;;;;;;;;;1039:83;;;:::i;:::-;-1:-1:-1;;;2883:14:27;:12;:14::i;:::-;2899:16;:14;:16::i;:::-;2917:13;:11;:13::i;:::-;2932:15;:13;:15::i;1866:200:72:-;1960:19;;;1977:1;1960:19;;;;;;;;;1913:6;;;;1960:19;;;;;;;;;;;;-1:-1:-1;1960:19:72;1927:52;;2001:18;1985:10;1996:1;1985:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2033:28:72;2050:10;2033:16;:28::i;:::-;2026:35;;;1866:200;:::o;2183:208::-;2281:19;;;2298:1;2281:19;;;;;;;;;2232:6;;;;2281:19;;;;;;;;;;;;-1:-1:-1;2281:19:72;2246:54;;2324:18;2306:12;2319:1;2306:15;;;;;;;;:::i;2525:142::-;2614:15;;;2627:1;2614:15;;;;;;;;;2571:24;;2614:15;;;;;;;;;;;;;;;;;;;;2603:26;;2635:27;;;;;;;;;;;;;;;;;:8;2644:1;2635:11;;;;;;;;:::i;:::-;;;;;;:27;;;;2525:142;:::o;2807:144::-;2902:15;;;2915:1;2902:15;;;;;;;;;2855:26;;2902:15;;;;;;;;;;;;;;;;;;;;2889:28;;2923:23;;;;;;;;;;;;;;;;;:10;2934:1;2923:13;;;;;;;;:::i;5574:520:24:-;5777:21;5801:17;:15;:17::i;:::-;5777:41;-1:-1:-1;5853:4:24;5828:30;;;;5824:266;;5868:91;5892:7;5901:11;5914:9;5925:11;5938:8;5948:10;5868:23;:91::i;:::-;5824:266;;;5980:103;;;;;:35;;;;;;:103;;6016:7;;6025:11;;6038:9;;6049:11;;6062:8;;6072:10;;5980:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:266;5771:323;5574:520;;;;;;:::o;2165:208:67:-;2263:19;;;2280:1;2263:19;;;;;;;;;2214:6;;;;2263:19;;;;;;;;;;;;-1:-1:-1;2263:19:67;2228:54;;2306:18;2288:12;2301:1;2288:15;;;;;;;;:::i;2789:146::-;2884:15;;;2897:1;2884:15;;;;;;;;;2837:26;;2884:15;;;;;;;;;;;;;;;;;;;;2871:28;;2905:25;;;;;;;;;;;;;;;;;:10;2916:1;2905:13;;;;;;;;:::i;1783:240:70:-;1877:19;;;1894:1;1877:19;;;;;;;;1830:6;;;;1877:19;1894:1;1877:19;;;;;;;;;;-1:-1:-1;1877:19:70;1844:52;;1918:18;1902:10;1913:1;1902:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;1958:18;1942:10;1953:1;1942:13;;;;;;;;:::i;2482:176::-;2571:15;;;2584:1;2571:15;;;2528:24;2571:15;;;;;;;;;;;;;;;;;;;;;;;;;;2560:26;;2592;;;;;;;;;;;;;;;;;:8;2601:1;2592:11;;;;;;;;:::i;:::-;;;;;;:26;;;;2624:29;;;;;;;;;;;;;;;;;:8;2633:1;2624:11;;;;;;;;:::i;2798:152::-;2893:15;;;2906:1;2893:15;;;;;;;;;2846:26;;2893:15;;;;;;;;;;;;;;;;;;;;2880:28;;2914:31;;;;;;;;;;;;;;;;;:10;2925:1;2914:13;;;;;;;;:::i;1882:240:77:-;1976:19;;;1993:1;1976:19;;;;;;;;1929:6;;;;1976:19;1993:1;1976:19;;;;;;;;;;-1:-1:-1;1976:19:77;1943:52;;2017:18;2001:10;2012:1;2001:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2057:18;2041:10;2052:1;2041:13;;;;;;;;:::i;2581:171::-;2670:15;;;2683:1;2670:15;;;2627:24;2670:15;;;;;;;;;;;;;;;;;;;;;;;;;;2659:26;;2691:25;;;;;;;;;;;;;;;;;:8;2700:1;2691:11;;;;;;;;:::i;:::-;;;;;;:25;;;;2722;;;;;;;;;;;;;;;;;:8;2731:1;2722:11;;;;;;;;:::i;2892:158::-;2987:15;;;3000:1;2987:15;;;;;;;;;2940:26;;2987:15;;;;;;;;;;;;;;;;;;;;2974:28;;3008:37;;;;;;;;;;;;;;;;;:10;3019:1;3008:13;;;;;;;;:::i;1866:240:73:-;1960:19;;;1977:1;1960:19;;;;;;;;1913:6;;;;1960:19;1977:1;1960:19;;;;;;;;;;-1:-1:-1;1960:19:73;1927:52;;2001:18;1985:10;1996:1;1985:13;;;;;;;;:::i;2223:205::-;2321:19;;;2338:1;2321:19;;;;;;;;;2272:6;;;;2321:19;;;;;;;;;;;;-1:-1:-1;2321:19:73;2286:54;;2364:15;2346:12;2359:1;2346:15;;;;;;;;:::i;2562:169::-;2651:15;;;2664:1;2651:15;;;2608:24;2651:15;;;;;;;;;;;;;;;;;;;;;;;;;;2640:26;;2672;;;;;;;;;;;;;;;;;:8;2681:1;2672:11;;;;;;;;:::i;:::-;;;;;;:26;;;;2704:22;;;;;;;;;;;;;;;;;:8;2713:1;2704:11;;;;;;;;:::i;2871:145::-;2966:15;;;2979:1;2966:15;;;;;;;;;2919:26;;2966:15;;;;;;;;;;;;;;;;;;;;2953:28;;2987:24;;;;;;;;;;;;;;;;;:10;2998:1;2987:13;;;;;;;;:::i;2162:247:76:-;2260:19;;;2277:1;2260:19;;;;;;;;2211:6;;;;2260:19;2277:1;2260:19;;;;;;;;;;-1:-1:-1;2260:19:76;2225:54;;2303:18;2285:12;2298:1;2285:15;;;;;;;;:::i;:::-;;;;;;:36;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2345:15;2327:12;2340:1;2327:15;;;;;;;;:::i;2543:139::-;2632:15;;;2645:1;2632:15;;;;;;;;;2589:24;;2632:15;;;;;;;;;;;;;;;;;;;;2621:26;;2653:24;;;;;;;;;;;;;;;;;:8;2662:1;2653:11;;;;;;;;:::i;2822:181::-;2917:15;;;2930:1;2917:15;;;2870:26;2917:15;;;;;;;;;;;;;;;;;;;;;;;;;;2904:28;;2938:24;;;;;;;;;;;;;;;;;:10;2949:1;2938:13;;;;;;;;:::i;:::-;;;;;;:24;;;;2968:30;;;;;;;;;;;;;;;;;:10;2979:1;2968:13;;;;;;;;:::i;1874:199:68:-;1968:19;;;1985:1;1968:19;;;;;;;;;1921:6;;;;1968:19;;;;;;;;;;;;-1:-1:-1;1968:19:68;1935:52;;2009:17;1993:10;2004:1;1993:13;;;;;;;;:::i;2190:249::-;2288:19;;;2305:1;2288:19;;;;;;;;2239:6;;;;2288:19;2305:1;2288:19;;;;;;;;;;-1:-1:-1;2288:19:68;2253:54;;2331:18;2313:12;2326:1;2313:15;;;;;;;;:::i;:::-;;;;;;:36;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2373:17;2355:12;2368:1;2355:15;;;;;;;;:::i;2573:147::-;2662:15;;;2675:1;2662:15;;;;;;;;;2619:24;;2662:15;;;;;;;;;;;;;;;;;;;;2651:26;;2683:32;;;;;;;;;;;;;;;;;:8;2692:1;2683:11;;;;;;;;:::i;2860:193::-;2955:15;;;2968:1;2955:15;;;2908:26;2955:15;;;;;;;;;;;;;;;;;;;;;;;;;;2942:28;;2976:26;;;;;;;;;;;;;;;;;:10;2987:1;2976:13;;;;;;;;:::i;:::-;;;;;;:26;;;;3008:40;;;;;;;;;;;;;;;;;:10;3019:1;3008:13;;;;;;;;:::i;2112:207:69:-;2210:19;;;2227:1;2210:19;;;;;;;;;2161:6;;;;2210:19;;;;;;;;;;;;-1:-1:-1;2210:19:69;2175:54;;2253:17;2235:12;2248:1;2235:15;;;;;;;;:::i;2740:156::-;2835:15;;;2848:1;2835:15;;;;;;;;;2788:26;;2835:15;;;;;;;;;;;;;;;;;;;;2822:28;;2856:35;;;;;;;;;;;;;;;;;:10;2867:1;2856:13;;;;;;;;:::i;2174:214:74:-;2272:19;;;2289:1;2272:19;;;;;;;;;2223:6;;;;2272:19;;;;;;;;;;;;-1:-1:-1;2272:19:74;2237:54;;2315:24;2297:12;2310:1;2297:15;;;;;;;;:::i;2801:144::-;2896:15;;;2909:1;2896:15;;;;;;;;;2849:26;;2896:15;;;;;;;;;;;;;;;;;;;;2883:28;;2917:23;;;;;;;;;;;;;;;;;:10;2928:1;2917:13;;;;;;;;:::i;2525:137:75:-;2614:15;;;2627:1;2614:15;;;;;;;;;2571:24;;2614:15;;;;;;;;;;;;;;;;;;;;2603:26;;2635:22;;;;;;;;;;;;;;;;;:8;2644:1;2635:11;;;;;;;;:::i;22277:355:20:-;22449:178;22483:7;22508:8;22538:63;22577:11;22590:10;22538:38;:63::i;:::-;22616:4;22449:16;:178::i;:::-;22277:355;;;;;:::o;6132:321:57:-;6279:12;6293:17;6336:6;:19;;6363:79;6389:8;6410:9;6431:8;6363:13;:79::i;:::-;6336:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6318:130:57;;;;-1:-1:-1;6132:321:57;-1:-1:-1;;;;;6132:321:57:o;501:217:90:-;704:6;698:13;691:4;683:6;679:17;672:40;2203:372:29;2301:19;;;2318:1;2301:19;;;;;;;;;2252:6;;;;2301:19;;;;;;;;;;;-1:-1:-1;2301:19:29;2266:54;;2344:18;2326:12;2339:1;2326:15;;;;;;;;:::i;:::-;;;;;;:36;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2386:18;2368:12;2381:1;2368:15;;;;;;;;:::i;:::-;;;;;;:36;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2428:18;2410:12;2423:1;2410:15;;;;;;;;:::i;:::-;;;;;;:36;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2470:16;2452:12;2465:1;2452:15;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2510:16;2492:12;2505:1;2492:15;;;;;;;;:::i;2709:138::-;2798:15;;;2811:1;2798:15;;;;;;;;;2755:24;;2798:15;;;;;;;;;;;;;;;;;;;;2787:26;;2819:23;;;;;;;;;;;;;;;;;:8;2828:1;2819:11;;;;;;;;:::i;2987:304::-;3082:15;;;3095:1;3082:15;;;;;;;;;3035:26;;3082:15;;;;;;;;;;;;;;;;;;;;3069:28;;3103:29;;;;;;;;;;;;;;;;;:10;3114:1;3103:13;;;;;;;;:::i;:::-;;;;;;:29;;;;3138:27;;;;;;;;;;;;;;;;;:10;3149:1;3138:13;;;;;;;;:::i;:::-;;;;;;:27;;;;3171:29;;;;;;;;;;;;;;;;;:10;3182:1;3171:13;;;;;;;;:::i;:::-;;;;;;:29;;;;3206:36;;;;;;;;;;;;;;;;;:10;3217:1;3206:13;;;;;;;;:::i;:::-;;;;;;:36;;;;3248:38;;;;;;;;;;;;;;;;;:10;3259:1;3248:13;;;;;;;;:::i;2591:144:28:-;2686:15;;;2699:1;2686:15;;;;;;;;;2639:26;;2686:15;;;;;;;;;;;;;;;;;;;;2673:28;;2707:23;;;;;;;;;;;;;;;;;:10;2718:1;2707:13;;;;;;;;:::i;2307:141:27:-;2396:15;;;2409:1;2396:15;;;;;;;;;2353:24;;2396:15;;;;;;;;;;;;;;;;;;;;2385:26;;2417;;;;;;;;;;;;;;;;;:8;2426:1;2417:11;;;;;;;;:::i;2588:145::-;2683:15;;;2696:1;2683:15;;;;;;;;;2636:26;;2683:15;;;;;;;;;;;;;;;;;;;;2670:28;;2704:24;;;;;;;;;;;;;;;;;:10;2715:1;2704:13;;;;;;;;:::i;1247:2059:17:-;1315:6;647:2:30;1333:7:17;:14;:33;1329:85;;;1399:7;:14;1375:39;;-1:-1:-1;;;1375:39:17;;;;;;2349:25:201;;2337:2;2322:18;;2203:177;1375:39:17;;;;;;;;1329:85;1420:14;;;;1621:956;1645:7;:14;1641:1;:18;1621:956;;;1671:24;1698:32;:7;1706:1;1698:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1671:59;;1743:16;1763:1;1743:21;1739:404;;1928:15;;;;;1739:404;;;1972:17;;1968:175;;2096:38;;;;;;;;;;;;;;1968:175;2269:16;2254:31;;;;537:1:30;2531::17;2527;437:2:30;2509:19:17;:23;2508:40;2492:7;2500:1;2492:10;;;;;;;;:::i;:::-;;;;;;;2484:19;;;;;;;;:::i;:::-;:65;;2474:75;;;;;-1:-1:-1;2559:3:17;;1621:956;;;;902:1:30;2621:13:17;:34;2617:85;;;2664:38;;-1:-1:-1;;;2664:38:17;;;;;2349:25:201;;;2322:18;;2664:38:17;2203:177:201;2617:85:17;2802:14;;:30;;;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3090:41:17;;;3080:51;;;;;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3147:47:17;;;3137:57;;;;;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3210:49:17;;;;3200:59;;;;;1247:2059;-1:-1:-1;;;;1247:2059:17:o;7479:1764:20:-;-1:-1:-1;;;7739:7:20;:35;;;;;;:83;;-1:-1:-1;7799:23:20;7778:7;:44;;;;7739:83;7735:209;;;-1:-1:-1;;;7894:7:20;7927;7910:25;;;;;;8342:19:201;;8386:2;8377:12;;8182:213;7910:25:20;;;;-1:-1:-1;;7910:25:20;;;;;;;;;;7839:98;;;;;;;;;;:::i;7735:209::-;7990:43;:11;8025:5;7990:20;:43::i;:::-;8074:40;:9;8107:4;8074:18;:40::i;:::-;8120:43;:11;8155:5;8120:20;:43::i;:::-;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8251:8:20;:15;:40;8247:148;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8372:15:20;;8308:80;;;;;;;;9043:25:201;;;;9084:18;;;9077:34;9016:18;;8308:80:20;8869:248:201;8247:148:20;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8445:10:20;:17;:44;8441:158;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8574:17:20;;8506:86;;;;;;;;9043:25:201;;;;9084:18;;;9077:34;9016:18;;8506:86:20;8869:248:201;8441:158:20;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8656:50:20;8652:171;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8723:93:20;;;;;;;;9043:25:201;;;;9084:18;;;9077:34;9016:18;;8723:93:20;8869:248:201;8652:171:20;8885:31;8908:7;8885:22;:31::i;:::-;8881:140;;;8971:7;9004;8987:25;;;;;;8342:19:201;;8386:2;8377:12;;8182:213;8987:25:20;;;;-1:-1:-1;;8987:25:20;;;;;;;;;;8933:81;;;;;;;;;:::i;8881:140::-;9062:103;9074:7;9083:11;9096:9;9107:11;9131:8;9120:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9153:10;9142:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9062:11;:103::i;:::-;9201:37;9224:7;9233:4;9201:22;:37::i;:::-;7479:1764;;;;;;:::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;;;-1:-1:-1;50867:6:20;50636:242;-1:-1:-1;;;50636:242:20:o;16359:1506::-;16480:16;16499:59;16540:7;16549:8;16499:40;:59::i;:::-;16480:78;;16660:7;16616:100;16679:8;16696:5;16709:4;16616:100;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;16781:7:20;:35;;;16777:62;;16826:7;;;16777:62;16984:22;17009:24;17025:7;17009:15;:24::i;:::-;16984:49;;17044:9;17039:328;17059:5;:12;17055:1;:16;17039:328;;;17086:9;17108:5;17114:1;17108:8;;;;;;;;:::i;:::-;;;;;;;17086:31;;17129:41;548:6:32;17129:4:20;:14;;;;;:41;;;;:::i;:::-;17125:236;;;17182:170;;;;;3392:35:4;;;;;17182:54:20;;:170;;17258:7;;17287:8;;17314:5;;17337:4;;17182:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17125:236;-1:-1:-1;17073:3:20;;;;:::i;:::-;;;;17039:328;;;;17416:70;17448:8;17466:5;17416:70;;17479:4;17416:13;:70::i;:::-;17540:9;17535:326;17555:5;:12;17551:1;:16;17535:326;;;17582:9;17604:5;17610:1;17604:8;;;;;;;;:::i;:::-;;;;;;;17582:31;;17625:40;657:6:32;17625:4:20;:14;;;;;:40;;;;:::i;:::-;17621:234;;;17677:169;;;;;3392:35:4;;;;;17677:53:20;;:169;;17752:7;;17781:8;;17808:5;;17831:4;;17677:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17621:234;-1:-1:-1;17569:3:20;;;;:::i;:::-;;;;17535:326;;4614:201:57;4736:12;4780:8;4790:9;4801:8;4763:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4756:54;;4614:201;;;;;:::o;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;6418:1197:3:-;6540:10;6539:11;:36;;;;-1:-1:-1;6022:45:3;;6554:21;6535:95;;;6584:46;;;;;6628:1;6584:46;;;2349:25:201;2322:18;;6584:46:3;2203:177:201;6535:95:3;6698:25;6726:30;:11;:28;:30::i;:::-;6698:58;;902:1:30;6766:17:3;:38;6762:113;;;6813:62;;;;;;;;2349:25:201;;;2322:18;;6813:62:3;2203:177:201;6762:113:3;6882:24;6909:29;:11;:27;:29::i;:::-;6882:56;-1:-1:-1;7013:23:3;7039:36;7058:17;6882:56;7039:36;:::i;:::-;7013:62;;647:2:30;7085:15:3;:34;7081:107;;;7128:60;;;;;;;;2349:25:201;;;2322:18;;7128:60:3;2203:177:201;7081:107:3;7236:9;7231:380;7251:16;7247:1;:20;7231:380;;;3996:93;4044:19;:27;;;537:1:30;4043:44:3;4009:79;;;3996:93;7279:24;7340:21;;;7336:230;;7380:50;;;;;;;;;;;;;;7336:230;334:2:30;7449:16:3;:28;7445:121;;;7496:61;;;;;;;;;;;;;;7445:121;-1:-1:-1;7593:3:3;;7231:380;;5689:1683:17;5796:10;5795:11;:31;;;;-1:-1:-1;6022:45:3;;5810:16:17;5791:80;;;5835:36;;-1:-1:-1;;;5835:36:17;;5869:1;5835:36;;;2349:25:201;2322:18;;5835:36:17;2203:177:201;5791:80:17;5934:25;5962;:6;:23;:25::i;:::-;5934:53;;902:1:30;5997:17:17;:38;5993:103;;;6044:52;;-1:-1:-1;;;6044:52:17;;;;;2349:25:201;;;2322:18;;6044:52:17;2203:177:201;5993:103:17;6103:24;6130;:6;:22;:24::i;:::-;6103:51;-1:-1:-1;6224:23:17;6250:36;6269:17;6103:51;6250:36;:::i;:::-;6224:62;;647:2:30;6296:15:17;:34;6292:97;;;6339:50;;-1:-1:-1;;;6339:50:17;;;;;2349:25:201;;;2322:18;;6339:50:17;2203:177:201;6292:97:17;6448:25;6479:26;6516:9;6511:551;6531:15;6527:1;:19;6511:551;;;6604:1;6562:39;:17;:6;6577:1;6562:14;:17::i;:::-;:37;;;;;;;;:::i;:39::-;:43;6558:459;;;6666:16;6661:1;:21;6657:82;;6691:48;;;;;;;;;;;;;;6657:82;6771:19;;;;;6558:459;;;6873:16;6869:1;:20;6865:81;;;6898:48;;;;;;;;;;;;;;6865:81;6978:20;;;;;6558:459;7044:3;;6511:551;;;;7135:16;7114:17;:37;7110:102;;7160:52;;-1:-1:-1;;;7160:52:17;;;;;2349:25:201;;;2322:18;;7160:52:17;2203:177:201;7110:102:17;7288:17;7266:18;:39;7262:105;;7314:53;;-1:-1:-1;;;7314:53:17;;;;;2349:25:201;;;2322:18;;7314:53:17;2203:177:201;3569:314:27;3683:16;;;3697:1;3683:16;;;;;;;;;3635:11;;;;3683:16;;;;;;;;;;;;-1:-1:-1;3683:16:27;3654:45;;3738:10;3705:9;3715:1;3705:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:27;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1098:22:27;2785:12:201;;;2778:101;1047:74:27;;;;;;;;;;2895:12:201;;1047:74:27;;-1:-1:-1;;3772:62:27;;1039:83;;;:::i;:::-;3807:9;3818:1;-1:-1:-1;;;3772:24:27;:62::i;:::-;3756:78;;3848:29;3869:5;3856:20;;1596:10:16;1487:126;3848:29:27;3840:38;3569:314;-1:-1:-1;;;;3569:314:27:o;20632:676:29:-;20840:24;20867:49;20880:11;20893:9;20904:11;20867:12;:49::i;:::-;20840:76;;20923:29;20955:55;20969:18;20989:20;20955:13;:55::i;:::-;20923:87;;21016:25;21044:55;21058:18;21078:20;21044:13;:55::i;:::-;21135:16;;;21149:1;21135:16;;;;;;;;;21016:83;;-1:-1:-1;21106:26:29;;21135:16;;;;;;;;;;;;-1:-1:-1;21135:16:29;21106:45;;21190:7;21157:9;21167:1;21157:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1147:69;;;-1:-1:-1;;;1147:69:29;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1198:17:29;2785:12:201;;;2778:101;1147:69:29;;;;;;;;;;2895:12:201;;1147:69:29;;21205:98;;1139:78;;;:::i;:::-;21235:9;21246:11;21259:15;21276:12;1324:66;21205:19;:98::i;:::-;20834:474;;;;20632:676;;;;;;:::o;49619:191:20:-;49721:7;49785;49794:8;49768:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;49768:35:20;;;;;;;;;49758:46;;49768:35;49758:46;;;;41226:22;49751:53;;49619:191;-1:-1:-1;;;49619:191:20:o;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;;;2568:92:201;-1:-1:-1;;;2676:11:201;;;2669:100;1098:21:28;2785:12:201;;;2778:101;1047:73:28;;;;;;;;;;2895: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;5098:173:3:-;5172:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5208:11:3;5187:79;5200:65;;5187:79;;5098:173;-1:-1:-1;;5098:173:3:o;4700:171::-;4773:7;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;3948:206:17:-;4018:10;4108:19;:27;;;4139:1;4107:33;4086:6;4061:82;4078:63;;4061:82;;;;;;;;;:::i;:::-;4054:89;3948:206;-1:-1:-1;;;3948:206:17: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;:::-;35493:255;35212:541;-1:-1:-1;;;;;35212:541:20:o;25035:209:29:-;25186:53;;;;;;13082:19:201;;;13117:12;;;13110:28;;;25159:12:29;13154::201;;;13147:28;;;25159:12:29;13191::201;;25186:53:29;12811:398:201;25435:388:29;25743:32;;25777:34;;25561:29;;2377:5:15;;;785;2408:39;;;;2390:58;2489:23;2474:39;;;;2456:58;25721:91:29;2236:344:15;25988:234:29;26114:12;26165:18;26194:20;26141:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26134:83;;25988:234;;;;:::o;12721:3002:20:-;12994:7;12978:75;13003:8;13013:10;13025:14;13041:11;12978:75;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;13118:7:20;:35;;;13163:7;13114:62;13314:22;13339:24;13355:7;13339:15;:24::i;:::-;13314:49;;13374:9;13369:340;13389:5;:12;13385:1;:16;13369:340;;;13416:9;13438:5;13444:1;13438:8;;;;;;;;:::i;:::-;;;;;;;13416:31;;13459:33;343:6:32;13459:4:20;:14;;;;;:33;;;;:::i;:::-;13455:248;;;13504:190;;;;;3392:35:4;;;;;13504:47:20;;:190;;13563:7;;13582:8;;13602:10;;13624:14;;13650:11;;13673;;13504:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13455:248;-1:-1:-1;13403:3:20;;;;:::i;:::-;;;;13369:340;;;;13772:26;13801:59;13842:7;13851:8;13801:40;:59::i;:::-;13772:88;-1:-1:-1;13866:21:20;826:4:14;816:15;;13866:54:20;;13926:149;13964:18;13998:1;14022:13;14051:10;:17;13926:13;:149::i;:::-;14175:1;14142:30;:11;:28;:30::i;:::-;:34;14138:1174;;;14261:33;14297:66;14345:7;14354:8;14297:47;:66::i;:::-;579:28:19;;;14261:102:20;-1:-1:-1;826:4:14;816:15;;14537:47:20;;14693:27;14728:25;14766:7;14761:545;14779:30;:11;:28;:30::i;:::-;14775:1;:34;;;14761:545;;;14845:63;14887:7;14896:8;14906:1;14845:41;:63::i;:::-;14823:85;-1:-1:-1;14938:25:20;:14;14961:1;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;14938:25:20;14918:45;;14973:170;15015:19;15054:1;15082:13;15115:17;14973:13;:170::i;:::-;15153:34;15170:17;15153:34;;:::i;:::-;;-1:-1:-1;15284:3:20;;14761:545;;;;14178:1134;;;14138:1174;15386:9;15381:338;15401:5;:12;15397:1;:16;15381:338;;;15428:9;15450:5;15456:1;15450:8;;;;;;;;:::i;:::-;;;;;;;15428:31;;15471:32;437:6:32;15471:4:20;:14;;;;;:32;;;;:::i;:::-;15467:246;;;15515:189;;;;;3392:35:4;;;;;15515:46:20;;:189;;15573:7;;15592:8;;15612:10;;15634:14;;15660:11;;15683;;15515:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15467:246;-1:-1:-1;15415:3:20;;;;:::i;:::-;;;;15381:338;;36221:522;36357:12;36481:257;36520:79;36562:7;36571:8;36581:17;36520:41;:79::i;:::-;36617:93;36692:17;36617:66;36665:7;36674:8;36617:47;:66::i;:::-;:74;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;36617:93:20;36728:1;36481:12;:257::i;2022:570:18:-;2113:5;2211:3;2202:5;:12;;:34;;;;;2225:4;:11;2218:3;:18;;2202:34;2196:85;;2264:4;2270:5;2277:3;2246:35;;;;;;;;;;;;;:::i;2196:85::-;2349:4;2339:15;;2396:17;2408:5;2339:15;2396:17;:::i;:::-;;-1:-1:-1;2419:12:18;2434:11;2440:5;2434:3;:11;:::i;:::-;643:17;2570:15;2562:3;2550:15;;;;2549:37;;;;;;-1:-1:-1;;;;;2022:570:18:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;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;8796:790::-;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;52184:230:20:-;52305:7;52389;52398:8;52372:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52372:35:20;;;;;;;;;52362:46;;52372:35;52362:46;;;;41389:40;52335:73;;52184:230;-1:-1:-1;;;52184:230:20:o;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;52752:301::-;52873:13;52965:82;52996:48;53026:7;53035:8;52996:29;:48::i;:::-;4572:21:19;;4466:137;4903:665;5315:4;5309:11;5356:4;5344:17;;-1:-1:-1;;5234:14:19;5403:26;;;5234:14;5230:28;5375:4;5368:63;5475:6;5467;5460:22;5493:51;5498:14;5514:6;5522;5530:13;5493:4;:51::i;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;5933:2374:19:-;6050:10;;6046:1537;;6203:2;6193:6;:12;6189:122;;6266:2;6257:6;:11;6239:29;;;;6290:2;6280:12;;;;;;:::i;:::-;;;;6189:122;6401:10;;6397:1180;;6609:2;:11;;;6483:21;6667:22;;;6663:133;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;6979:14;6973:21;6969:1;6961:6;6957:14;6953:42;7226:4;7222:9;7206:13;7200:20;7196:36;7127:4;7115:10;7111:21;7054:192;7027:13;7007:251;;7317:13;7307:6;:23;7303:36;;7332:7;;;;7303:36;-1:-1:-1;7480:1:19;7462:19;;;;;7535:23;;;;;7493:30;6397:1180;7612:253;7629:2;7619:6;:12;7612:253;;7723:21;;7701:44;;7798:1;7780:19;;;;-1:-1:-1;;7838:12:19;;;;7826:2;7809:19;7612:253;;;7933:10;;7929:374;;7953:12;-1:-1:-1;;1080:1:31;1067:14;;1045:37;1043:40;8235:20:19;;8150:21;;8146:32;;8257:9;;8231:36;8095:184;8052:237;;-1:-1:-1;5933:2374:19;;;;:::o;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;774:184;-1:-1:-1;;;823:1:201;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:980;1031:6;1084:2;1072:9;1063:7;1059:23;1055:32;1052:52;;;1100:1;1097;1090:12;1052:52;1140:9;1127:23;1169:18;1210:2;1202:6;1199:14;1196:34;;;1226:1;1223;1216:12;1196:34;1264:6;1253:9;1249:22;1239:32;;1309:7;1302:4;1298:2;1294:13;1290:27;1280:55;;1331:1;1328;1321:12;1280:55;1367:2;1354:16;1389:2;1385;1382:10;1379:36;;;1395:18;;:::i;:::-;1529:2;1523:9;1591:4;1583:13;;-1:-1:-1;;1579:22:201;;;1603:2;1575:31;1571:40;1559:53;;;1627:18;;;1647:22;;;1624:46;1621:72;;;1673:18;;:::i;:::-;1713:10;1709:2;1702:22;1748:2;1740:6;1733:18;1788:7;1783:2;1778;1774;1770:11;1766:20;1763:33;1760:53;;;1809:1;1806;1799:12;1760:53;1865:2;1860;1856;1852:11;1847:2;1839:6;1835:15;1822:46;1910:1;1888:15;;;1905:2;1884:24;1877:35;;;;-1:-1:-1;1892:6:201;963:980;-1:-1:-1;;;;;963:980:201:o;2918:357::-;3036:12;;3083:4;3072:16;;;3066:23;;3036:12;3101:16;;3098:171;;;-1:-1:-1;;3175:4:201;3171:17;;;;3168:1;3164:25;3160:98;3149:110;;2918:357;-1:-1:-1;2918:357:201:o;3714:184::-;-1:-1:-1;;;3763:1:201;3756:88;3863:4;3860:1;3853:15;3887:4;3884:1;3877:15;3903:250;3988:1;3998:113;4012:6;4009:1;4006:13;3998:113;;;4088:11;;;4082:18;4069:11;;;4062:39;4034:2;4027:10;3998:113;;;-1:-1:-1;;4145:1:201;4127:16;;4120:27;3903:250::o;4158:330::-;4200:3;4238:5;4232:12;4265:6;4260:3;4253:19;4281:76;4350:6;4343:4;4338:3;4334:14;4327:4;4320:5;4316:16;4281:76;:::i;:::-;4402:2;4390:15;-1:-1:-1;;4386:88:201;4377:98;;;;4477:4;4373:109;;4158:330;-1:-1:-1;;4158:330:201:o;4493:464::-;4727:6;4716:9;4709:25;4770:2;4765;4754:9;4750:18;4743:30;4690:4;4790:45;4831:2;4820:9;4816:18;4808:6;4790:45;:::i;:::-;4782:53;;4883:66;4875:6;4871:79;4866:2;4855:9;4851:18;4844:107;4493:464;;;;;;:::o;4962:184::-;-1:-1:-1;;;5011:1:201;5004:88;5111:4;5108:1;5101:15;5135:4;5132:1;5125:15;5151:195;5190:3;-1:-1:-1;;5214:5:201;5211:77;5208:103;;5291:18;;:::i;:::-;-1:-1:-1;5338:1:201;5327:13;;5151:195::o;5826:184::-;-1:-1:-1;;;5875:1:201;5868:88;5975:4;5972:1;5965:15;5999:4;5996:1;5989:15;6015:651;6067:3;6098;6130:5;6124:12;6157:6;6152:3;6145:19;6183:4;6212:2;6207:3;6203:12;6196:19;;6268:2;6258:6;6255:1;6251:14;6244:5;6240:26;6236:35;6305:2;6298:5;6294:14;6326:1;6336:304;6350:6;6347:1;6344:13;6336:304;;;-1:-1:-1;;6425:5:201;6419:4;6415:16;6411:89;6406:3;6399:102;6522:38;6555:4;6546:6;6540:13;6522:38;:::i;:::-;6618:12;;;;6514:46;-1:-1:-1;6583:15:201;;;;6372:1;6365:9;6336:304;;;-1:-1:-1;6656:4:201;;6015:651;-1:-1:-1;;;;;;;6015:651:201:o;6671:908::-;7197:6;7186:9;7179:25;7240:6;7235:2;7224:9;7220:18;7213:34;7283:6;7278:2;7267:9;7263:18;7256:34;7326:6;7321:2;7310:9;7306:18;7299:34;7370:3;7364;7353:9;7349:19;7342:32;7160:4;7397:56;7448:3;7437:9;7433:19;7425:6;7397:56;:::i;:::-;7502:9;7494:6;7490:22;7484:3;7473:9;7469:19;7462:51;7530:43;7566:6;7558;7530:43;:::i;:::-;7522:51;6671:908;-1:-1:-1;;;;;;;;;6671:908:201:o;7584:287::-;7713:3;7751:6;7745:13;7767:66;7826:6;7821:3;7814:4;7806:6;7802:17;7767:66;:::i;:::-;7849:16;;;;;7584:287;-1:-1:-1;;7584:287:201:o;7876:128::-;7943:9;;;7964:11;;;7961:37;;;7978:18;;:::i;8009:168::-;8082:9;;;8113;;8130:15;;;8124:22;;8110:37;8100:71;;8151:18;;:::i;8400:464::-;8646:66;8638:6;8634:79;8623:9;8616:98;8750:6;8745:2;8734:9;8730:18;8723:34;8793:2;8788;8777:9;8773:18;8766:30;8597:4;8813:45;8854:2;8843:9;8839:18;8831:6;8813:45;:::i;9122:322::-;9330:6;9319:9;9312:25;9373:2;9368;9357:9;9353:18;9346:30;9293:4;9393:45;9434:2;9423:9;9419:18;9411:6;9393:45;:::i;9449:280::-;9648:2;9637:9;9630:21;9611:4;9668:55;9719:2;9708:9;9704:18;9696:6;9668:55;:::i;9734:125::-;9799:9;;;9820:10;;;9817:36;;;9833:18;;:::i;9864:435::-;9917:3;9955:5;9949:12;9982:6;9977:3;9970:19;10008:4;10037:2;10032:3;10028:12;10021:19;;10074:2;10067:5;10063:14;10095:1;10105:169;10119:6;10116:1;10113:13;10105:169;;;10180:13;;10168:26;;10214:12;;;;10249:15;;;;10141:1;10134:9;10105:169;;;-1:-1:-1;10290:3:201;;9864:435;-1:-1:-1;;;;;9864:435:201:o;10304:512::-;10555:2;10544:9;10537:21;10518:4;10581:56;10633:2;10622:9;10618:18;10610:6;10581:56;:::i;:::-;10685:14;10677:6;10673:27;10668:2;10657:9;10653:18;10646:55;10749:9;10741:6;10737:22;10732:2;10721:9;10717:18;10710:50;10777:33;10803:6;10795;10777:33;:::i;10821:616::-;11131:6;11120:9;11113:25;11174:3;11169:2;11158:9;11154:18;11147:31;11094:4;11201:57;11253:3;11242:9;11238:19;11230:6;11201:57;:::i;:::-;11306:14;11298:6;11294:27;11289:2;11278:9;11274:18;11267:55;11370:9;11362:6;11358:22;11353:2;11342:9;11338:18;11331:50;11398:33;11424:6;11416;11398:33;:::i;:::-;11390:41;10821:616;-1:-1:-1;;;;;;;10821:616:201:o;11442:530::-;11627:3;11665:6;11659:13;11681:66;11740:6;11735:3;11728:4;11720:6;11716:17;11681:66;:::i;:::-;11816:2;11812:15;;;;11829:66;11808:88;11769:16;;;;11794:103;;;11924:2;11913:14;;11906:30;;;;11963:2;11952:14;;11442:530;-1:-1:-1;;11442:530:201:o;12167:639::-;12417:6;12412:3;12405:19;12387:3;12443:2;12476;12471:3;12467:12;12508:6;12502:13;12573:2;12565:6;12561:15;12594:1;12604:175;12618:6;12615:1;12612:13;12604:175;;;12681:13;;12667:28;;12717:14;;;;12754:15;;;;12640:1;12633:9;12604:175;;;-1:-1:-1;12795:5:201;;12167:639;-1:-1:-1;;;;;;;12167:639:201:o;13214:492::-;13389:3;13427:6;13421:13;13443:66;13502:6;13497:3;13490:4;13482:6;13478:17;13443:66;:::i;:::-;13572:13;;13531:16;;;;13594:70;13572:13;13531:16;13641:4;13629:17;;13594:70;:::i;:::-;13680:20;;13214:492;-1:-1:-1;;;;13214:492:201:o;13711:690::-;14044:3;14033:9;14026:22;14007:4;14071:57;14123:3;14112:9;14108:19;14100:6;14071:57;:::i;:::-;14176:9;14168:6;14164:22;14159:2;14148:9;14144:18;14137:50;14210:33;14236:6;14228;14210:33;:::i;:::-;14196:47;;14279:6;14274:2;14263:9;14259:18;14252:34;14334:9;14326:6;14322:22;14317:2;14306:9;14302:18;14295:50;14362:33;14388:6;14380;14362:33;:::i;14406:897::-;14858:6;14847:9;14840:25;14901:3;14896:2;14885:9;14881:18;14874:31;14821:4;14928:57;14980:3;14969:9;14965:19;14957:6;14928:57;:::i;:::-;15033:9;15025:6;15021:22;15016:2;15005:9;15001:18;14994:50;15067:33;15093:6;15085;15067:33;:::i;:::-;15053:47;;15136:6;15131:2;15120:9;15116:18;15109:34;15192:9;15184:6;15180:22;15174:3;15163:9;15159:19;15152:51;15220:33;15246:6;15238;15220:33;:::i;:::-;15212:41;;;15290:6;15284:3;15273:9;15269:19;15262:35;14406:897;;;;;;;;;:::o;15308:360::-;15511:2;15500:9;15493:21;15474:4;15531:45;15572:2;15561:9;15557:18;15549:6;15531:45;:::i;:::-;15607:2;15592:18;;15585:34;;;;-1:-1:-1;15650:2:201;15635:18;15628:34;15523:53;15308:360;-1:-1:-1;15308:360:201:o;15673:184::-;-1:-1:-1;;;15722:1:201;15715:88;15822:4;15819:1;15812:15;15846:4;15843:1;15836:15","linkReferences":{},"immutableReferences":{"35350":[{"start":1322,"length":32},{"start":1413,"length":32},{"start":2396,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getName()":"17d7de7c","install(bytes)":"13861fb5","installRoot(bytes)":"7c5b0335","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dependency\",\"type\":\"string\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"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\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"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\":{\"details\":\"This module only supports `installRoot` because it installs root tables, systems and function selectors.\",\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"SchemaLib_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"SchemaLib_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"getName()\":{\"returns\":{\"_0\":\"Module name as bytes16.\"}},\"install(bytes)\":{\"details\":\"Installation is only supported at root level, so this function will always revert.\"},\"installRoot(bytes)\":{\"details\":\"Registers core tables, systems, and function selectors in the World.\"},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.\",\"params\":{\"interfaceId\":\"The bytes4 identifier for the interface.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"stateVariables\":{\"coreSystem\":{\"details\":\"Since the CoreSystem only exists once per World and writes to known tables, we can deploy it once and register it in multiple Worlds.\"}},\"title\":\"Core Module\",\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"getName()\":{\"notice\":\"Get the name of the module.\"},\"install(bytes)\":{\"notice\":\"Non-root installation of the module.\"},\"installRoot(bytes)\":{\"notice\":\"Root installation of the module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"notice\":\"Registers internal World tables, the CoreSystem, and its function selectors.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/core/CoreModule.sol\":\"CoreModule\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba\",\"dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18\",\"dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e\",\"dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0\",\"dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c\",\"dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x130f0925a5bf4f732ef9758b47eca18c77d1bb34546ea9463321e9df766435a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68767e3db6fd6538a4577a1c30fe03e05bf9d316cdd43a66657e93c008b76f45\",\"dweb:/ipfs/QmSZmUBSfhk3v5gNu5GgwcYuWbb1FFDKYpDKvpXVahfyTw\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534\",\"dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5\",\"dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751\",\"dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95\",\"dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a\",\"dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0x10ca29a5d7075edb2fe5cd559077fc34857129182f9d6ea074a234dfbcdb313e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fe2783b7d0592d14a20b8be192dd3fa4216f8e541adea579859ea2bf1224da3\",\"dweb:/ipfs/QmTi9XDP5jsQpbqvJxPvkqyDByv7i88wKidrYnTtLdPhka\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716\",\"dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d\",\"dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/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/Module.sol\":{\"keccak256\":\"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5\",\"dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd\",\"dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x2db3d2945cea02e3c830329c30dde0c96bb87da9d070f3545dbd7f807d2ff53a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c3b48917527ec0f26c953f66d149bb2173d1dfd78ee00d2ceb409f3a5bd08\",\"dweb:/ipfs/QmQ7WjHbmWeEDnu2dgx7nduYBCvyVsjFksPHXxrJjZCKo9\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/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/codegen/tables/Balances.sol\":{\"keccak256\":\"0xd71faf03c782ac29483e94c2ea166fcc4e50179c7605357b1ba31bca4de29514\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://099db3f65835e395450f49119c4211b8394f2783ded4aa86eac32b3ca951f662\",\"dweb:/ipfs/QmV9FEcdDnCLbEoiAzAWYwN66P1Wf2bgkbicHNnBXD7Xrd\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x873f8d46f75ec8a85c392aa7cf2dd3f2183684dadde18b7dfca12643ab6249ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1eaf7aeee1487c967ce419db0e96abd1cb8f6b75670009f2cac26dda94caec81\",\"dweb:/ipfs/QmXs5wmrwP23g3LNPP6J3NPgemu85VVQvx8rfHz2RFXRtk\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0x63f3d68775ad36b709d47f8a222dcee9244923b5665e94cd15ab966a7a92bee8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e9e11fc3de65b6681e86971da4645f3054a5a37d58bdd5b90bc9c07c2b5e9eb\",\"dweb:/ipfs/QmehdJcmH1buEMdnGpbi8sY1c1mUV4jMhq6bRLMPGBnyAB\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198\",\"dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x47c6d188f39a85b50f066151cb48d987454e845f1629685300613fdb502505a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abeba0002051f60f81c1e29dbf627db4aed8da11483ec8d860a362b4bfbf4c08\",\"dweb:/ipfs/Qmc4RNYgBma9repACLdN1hpjPmEbsFKWXL8B42KaBAZvtc\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac\",\"dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93\",\"dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xd069f1f65243ffcc3ace23804851bc902c5e58d525b962575a659e47aa76236b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f86b3d93b5bcf81e0d3da0abbd6fc3924be59e7c8d147cfeb3307108431f6a3\",\"dweb:/ipfs/QmRrkBXGsdtbo28xznUWUuqNUGyfAbu1kadKGjL7n6KiKb\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae\",\"dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1\",\"dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0xffc8c2aa8115f5e7200638c21772a2f4eec283fd33a877d02a9b906614badb70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4df5c66e27c4a778c2ba7ce26d48652ee6f7740f0440aae9021d76aee66a2ecd\",\"dweb:/ipfs/QmWLY9GVbxHerTUJwWaNBjAWXKF7cxm2GLietVi6L5kS15\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/modules/core/CoreModule.sol\":{\"keccak256\":\"0x2ae619771cab21bff599bda7e32bce6d44c9f2740fbf895e2669f4725188f81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c40cd9c84d98c5227f7874a3077ae1a187db47f3b6c01a0c546b56952b424eda\",\"dweb:/ipfs/QmUfN3ajrhYwS3r8wHzjoAVtysXf51aLQvoafGi5cMFWUX\"]},\"node_modules/@latticexyz/world/src/modules/core/CoreSystem.sol\":{\"keccak256\":\"0x380389a97358b3c85e259e5eb9cb0cdf9a15167d24a812fbf47d86775da43b74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://691dfe2fbb428b49d5458b3ef37f1efa6b4f9d947a40c8a351a60bca904ee419\",\"dweb:/ipfs/QmUZJNJijQovNHU13fT6PkGmdE5EBWA4MrJtLAgcUSn2D5\"]},\"node_modules/@latticexyz/world/src/modules/core/constants.sol\":{\"keccak256\":\"0x35b32faf971caa7aefecae3c8b1a1cd2e78ff350c2109263b2f199cdaec96488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c149042b448fd88260abde657931370697b35ab8e338920f0c5e5b9e83c74ab\",\"dweb:/ipfs/QmZYAsp3xtCmoNRnYaeFyXwkvYuraa3XpTBqD5Hj83NJP4\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/AccessManagementSystem.sol\":{\"keccak256\":\"0x249199f0f92320c6845018fa5449f53be3d81c496eda3d776f21c31f5bb9eb64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff22da9809870b3c481dfccff1925f921fd105e6ccda00c0674a3e6e9f999c96\",\"dweb:/ipfs/QmezanrLD6hf17e18JFoxwvBHGiSpdBHvrKjs6D6NSJCWj\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/BalanceTransferSystem.sol\":{\"keccak256\":\"0x475fd8fbb61fd197a299bcf60be06941a83ebc32c97564fdb0297be9451ee24b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b81e95b20b066aa7a5a175cdadcfb935cad17d58c8b9de308bc01021901b8e1\",\"dweb:/ipfs/QmeiespPCmS5YVQ53QENFWiG61JDXiG6XoED9Lo4hV4HHm\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/BatchCallSystem.sol\":{\"keccak256\":\"0xf24b9cc96cccb8ef98c9aa8585e4a5c003b3b8a00c5a9c6db5c750460960a7d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa918bcba66835a0866a11c5b43b5da11d68fb68c697f89a273d5dd3a5f1f5c\",\"dweb:/ipfs/QmZyyVdNoUiyLMimmNkZkQv5o86k4sGyo1CGEMrt794eC2\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0xbd38c017901c8893dbb8685905a6427ba2f2d80e105b28fe05ab1eaf5476d729\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccea43206d53cae13b0f7b49188afa09f6943f7b7d3ead669e93f7845441fd7c\",\"dweb:/ipfs/QmNkBh13FdewhBG4dkF8eAcXGJJhdZw9WKrSdNXBcvsmx1\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0xff42b8b669583d22885bc685be3a50498452300757e585a5bb2ad6a8ad07ee71\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://246f2255ef9a6688e128f7f8ce3fe223fb7c053ebc2c8111c1626a04f7ffb53c\",\"dweb:/ipfs/Qmd2MHASghbm3ThMej7MkuQig9nSAMJ2rRyeRkvZJQAyGH\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xcdeaab34a28a43960f7fb673d92575af98aa7b36d8210a8e6e95197d14a827cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://329d675cf7281638cfa8fa348e5e24700049c590e088353d64e88dad861c0cef\",\"dweb:/ipfs/QmSZMYFSLknMga7UgX1H2tuuXayDYJhEnngbfLRBfVTu3f\"]},\"node_modules/@latticexyz/world/src/modules/core/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5c5e5c8f1fa4780a7b1ca759f7ce63dd4165a5b2a7f64c8fcb8f06bd8917ace6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6d37ed25ed4471dc336681c959153cdb4cb16c209142ca5edbc6d9293669fd2\",\"dweb:/ipfs/QmQLAbkk7jxN68QcHV9KgiCbsvxDm9rKmLJQWME6DBZEpw\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9\",\"dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"FieldLayoutLib_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord"},{"inputs":[],"type":"error","name":"FieldLayoutLib_StaticLengthIsZero"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"string","name":"dependency","type":"string"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"SchemaLib_InvalidLength"},{"inputs":[],"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"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":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getName","outputs":[{"internalType":"bytes16","name":"","type":"bytes16"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"install"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRoot"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"getName()":{"returns":{"_0":"Module name as bytes16."}},"install(bytes)":{"details":"Installation is only supported at root level, so this function will always revert."},"installRoot(bytes)":{"details":"Registers core tables, systems, and function selectors in the World."},"supportsInterface(bytes4)":{"details":"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.","params":{"interfaceId":"The bytes4 identifier for the interface."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"getName()":{"notice":"Get the name of the module."},"install(bytes)":{"notice":"Non-root installation of the module."},"installRoot(bytes)":{"notice":"Root installation of the module."},"supportsInterface(bytes4)":{"notice":"Checks if the given interfaceId is supported by this contract."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/modules/core/CoreModule.sol":"CoreModule"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb","urls":["bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4","dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558","urls":["bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4","dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0","urls":["bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba","dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd","urls":["bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18","dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf","urls":["bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2","dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827","urls":["bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0","dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5","urls":["bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a","dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212","urls":["bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc","dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f","urls":["bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d","dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e","urls":["bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e","dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37","urls":["bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac","dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f","urls":["bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115","dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b","urls":["bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1","dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7","urls":["bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5","dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb","urls":["bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0","dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed","urls":["bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d","dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401","urls":["bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3","dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32","urls":["bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c","dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x130f0925a5bf4f732ef9758b47eca18c77d1bb34546ea9463321e9df766435a1","urls":["bzz-raw://68767e3db6fd6538a4577a1c30fe03e05bf9d316cdd43a66657e93c008b76f45","dweb:/ipfs/QmSZmUBSfhk3v5gNu5GgwcYuWbb1FFDKYpDKvpXVahfyTw"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180","urls":["bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534","dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416","urls":["bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7","dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3","urls":["bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6","dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e","urls":["bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5","dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789","urls":["bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751","dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14","urls":["bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95","dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb","urls":["bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a","dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076","urls":["bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793","dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"],"license":"MIT"},"node_modules/@latticexyz/store/src/leftMask.sol":{"keccak256":"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f","urls":["bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401","dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5","urls":["bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81","dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2","urls":["bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84","dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04","urls":["bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1","dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d","urls":["bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49","dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b","urls":["bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256","dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c","urls":["bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491","dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0x10ca29a5d7075edb2fe5cd559077fc34857129182f9d6ea074a234dfbcdb313e","urls":["bzz-raw://1fe2783b7d0592d14a20b8be192dd3fa4216f8e541adea579859ea2bf1224da3","dweb:/ipfs/QmTi9XDP5jsQpbqvJxPvkqyDByv7i88wKidrYnTtLdPhka"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89","urls":["bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716","dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553","urls":["bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d","dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/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/Module.sol":{"keccak256":"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719","urls":["bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5","dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd","urls":["bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd","dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x2db3d2945cea02e3c830329c30dde0c96bb87da9d070f3545dbd7f807d2ff53a","urls":["bzz-raw://ee5c3b48917527ec0f26c953f66d149bb2173d1dfd78ee00d2ceb409f3a5bd08","dweb:/ipfs/QmQ7WjHbmWeEDnu2dgx7nduYBCvyVsjFksPHXxrJjZCKo9"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a","urls":["bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518","dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417","urls":["bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb","dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/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/codegen/tables/Balances.sol":{"keccak256":"0xd71faf03c782ac29483e94c2ea166fcc4e50179c7605357b1ba31bca4de29514","urls":["bzz-raw://099db3f65835e395450f49119c4211b8394f2783ded4aa86eac32b3ca951f662","dweb:/ipfs/QmV9FEcdDnCLbEoiAzAWYwN66P1Wf2bgkbicHNnBXD7Xrd"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x873f8d46f75ec8a85c392aa7cf2dd3f2183684dadde18b7dfca12643ab6249ed","urls":["bzz-raw://1eaf7aeee1487c967ce419db0e96abd1cb8f6b75670009f2cac26dda94caec81","dweb:/ipfs/QmXs5wmrwP23g3LNPP6J3NPgemu85VVQvx8rfHz2RFXRtk"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0x63f3d68775ad36b709d47f8a222dcee9244923b5665e94cd15ab966a7a92bee8","urls":["bzz-raw://3e9e11fc3de65b6681e86971da4645f3054a5a37d58bdd5b90bc9c07c2b5e9eb","dweb:/ipfs/QmehdJcmH1buEMdnGpbi8sY1c1mUV4jMhq6bRLMPGBnyAB"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c","urls":["bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198","dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x47c6d188f39a85b50f066151cb48d987454e845f1629685300613fdb502505a0","urls":["bzz-raw://abeba0002051f60f81c1e29dbf627db4aed8da11483ec8d860a362b4bfbf4c08","dweb:/ipfs/Qmc4RNYgBma9repACLdN1hpjPmEbsFKWXL8B42KaBAZvtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d","urls":["bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac","dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60","urls":["bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93","dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xd069f1f65243ffcc3ace23804851bc902c5e58d525b962575a659e47aa76236b","urls":["bzz-raw://4f86b3d93b5bcf81e0d3da0abbd6fc3924be59e7c8d147cfeb3307108431f6a3","dweb:/ipfs/QmRrkBXGsdtbo28xznUWUuqNUGyfAbu1kadKGjL7n6KiKb"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d","urls":["bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae","dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9","urls":["bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1","dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0xffc8c2aa8115f5e7200638c21772a2f4eec283fd33a877d02a9b906614badb70","urls":["bzz-raw://4df5c66e27c4a778c2ba7ce26d48652ee6f7740f0440aae9021d76aee66a2ecd","dweb:/ipfs/QmWLY9GVbxHerTUJwWaNBjAWXKF7cxm2GLietVi6L5kS15"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588","urls":["bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218","dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/CoreModule.sol":{"keccak256":"0x2ae619771cab21bff599bda7e32bce6d44c9f2740fbf895e2669f4725188f81d","urls":["bzz-raw://c40cd9c84d98c5227f7874a3077ae1a187db47f3b6c01a0c546b56952b424eda","dweb:/ipfs/QmUfN3ajrhYwS3r8wHzjoAVtysXf51aLQvoafGi5cMFWUX"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/CoreSystem.sol":{"keccak256":"0x380389a97358b3c85e259e5eb9cb0cdf9a15167d24a812fbf47d86775da43b74","urls":["bzz-raw://691dfe2fbb428b49d5458b3ef37f1efa6b4f9d947a40c8a351a60bca904ee419","dweb:/ipfs/QmUZJNJijQovNHU13fT6PkGmdE5EBWA4MrJtLAgcUSn2D5"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/constants.sol":{"keccak256":"0x35b32faf971caa7aefecae3c8b1a1cd2e78ff350c2109263b2f199cdaec96488","urls":["bzz-raw://0c149042b448fd88260abde657931370697b35ab8e338920f0c5e5b9e83c74ab","dweb:/ipfs/QmZYAsp3xtCmoNRnYaeFyXwkvYuraa3XpTBqD5Hj83NJP4"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/AccessManagementSystem.sol":{"keccak256":"0x249199f0f92320c6845018fa5449f53be3d81c496eda3d776f21c31f5bb9eb64","urls":["bzz-raw://ff22da9809870b3c481dfccff1925f921fd105e6ccda00c0674a3e6e9f999c96","dweb:/ipfs/QmezanrLD6hf17e18JFoxwvBHGiSpdBHvrKjs6D6NSJCWj"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/BalanceTransferSystem.sol":{"keccak256":"0x475fd8fbb61fd197a299bcf60be06941a83ebc32c97564fdb0297be9451ee24b","urls":["bzz-raw://0b81e95b20b066aa7a5a175cdadcfb935cad17d58c8b9de308bc01021901b8e1","dweb:/ipfs/QmeiespPCmS5YVQ53QENFWiG61JDXiG6XoED9Lo4hV4HHm"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/BatchCallSystem.sol":{"keccak256":"0xf24b9cc96cccb8ef98c9aa8585e4a5c003b3b8a00c5a9c6db5c750460960a7d1","urls":["bzz-raw://afa918bcba66835a0866a11c5b43b5da11d68fb68c697f89a273d5dd3a5f1f5c","dweb:/ipfs/QmZyyVdNoUiyLMimmNkZkQv5o86k4sGyo1CGEMrt794eC2"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/ModuleInstallationSystem.sol":{"keccak256":"0xbd38c017901c8893dbb8685905a6427ba2f2d80e105b28fe05ab1eaf5476d729","urls":["bzz-raw://ccea43206d53cae13b0f7b49188afa09f6943f7b7d3ead669e93f7845441fd7c","dweb:/ipfs/QmNkBh13FdewhBG4dkF8eAcXGJJhdZw9WKrSdNXBcvsmx1"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/StoreRegistrationSystem.sol":{"keccak256":"0xff42b8b669583d22885bc685be3a50498452300757e585a5bb2ad6a8ad07ee71","urls":["bzz-raw://246f2255ef9a6688e128f7f8ce3fe223fb7c053ebc2c8111c1626a04f7ffb53c","dweb:/ipfs/Qmd2MHASghbm3ThMej7MkuQig9nSAMJ2rRyeRkvZJQAyGH"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xcdeaab34a28a43960f7fb673d92575af98aa7b36d8210a8e6e95197d14a827cd","urls":["bzz-raw://329d675cf7281638cfa8fa348e5e24700049c590e088353d64e88dad861c0cef","dweb:/ipfs/QmSZMYFSLknMga7UgX1H2tuuXayDYJhEnngbfLRBfVTu3f"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/types.sol":{"keccak256":"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a","urls":["bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3","dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5c5e5c8f1fa4780a7b1ca759f7ce63dd4165a5b2a7f64c8fcb8f06bd8917ace6","urls":["bzz-raw://f6d37ed25ed4471dc336681c959153cdb4cb16c209142ca5edbc6d9293669fd2","dweb:/ipfs/QmQLAbkk7jxN68QcHV9KgiCbsvxDm9rKmLJQWME6DBZEpw"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55","urls":["bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df","dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb","urls":["bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9","dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746","urls":["bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2","dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"],"license":"MIT"}},"version":1},"id":79}