@latticexyz/world-modules 2.0.0-main-59acc3cd → 2.0.0-main-3042f86e

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 (140) hide show
  1. package/out/AccessControl.sol/AccessControl.json +1 -1
  2. package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
  3. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  4. package/out/AddressArray.sol/AddressArray.json +1 -1
  5. package/out/Allowances.sol/Allowances.json +1 -1
  6. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  7. package/out/Balances.sol/Balances.json +1 -1
  8. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  9. package/out/Bool.sol/Bool.json +1 -1
  10. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  11. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  12. package/out/Delegation.sol/Delegation.json +1 -1
  13. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  14. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  15. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  16. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  17. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  18. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  19. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  20. package/out/ERC20System.sol/ERC20System.json +1 -1
  21. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  22. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  23. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  24. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  25. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  26. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  27. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  28. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  29. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  30. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  31. package/out/ERC721System.sol/ERC721System.json +1 -1
  32. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  33. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  34. package/out/Hook.sol/HookInstance.json +1 -1
  35. package/out/Hook.sol/HookLib.json +1 -1
  36. package/out/Hooks.sol/Hooks.json +1 -1
  37. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  38. package/out/InitModule.sol/InitModule.json +1 -1
  39. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  40. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  41. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  42. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  43. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +0 -16
  44. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +0 -16
  45. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  46. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  47. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  48. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  49. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +0 -16
  50. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +0 -16
  51. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  52. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  53. package/out/Module.sol/Module.json +1 -1
  54. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  55. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  56. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  57. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  58. package/out/Owners.sol/Owners.json +1 -1
  59. package/out/Puppet.sol/Puppet.json +1 -1
  60. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  61. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  62. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  63. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  64. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  65. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  66. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  67. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  68. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  69. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  70. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  71. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  72. package/out/StoreCore.sol/StoreCore.json +1 -1
  73. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  74. package/out/StoreData.sol/StoreData.json +1 -1
  75. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  76. package/out/StoreRead.sol/StoreRead.json +1 -1
  77. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  78. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  79. package/out/System.sol/System.json +1 -1
  80. package/out/SystemCall.sol/SystemCall.json +1 -1
  81. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  82. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  83. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  84. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  85. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +0 -16
  86. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +0 -16
  87. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  88. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  89. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  90. package/out/Systems.sol/Systems.json +1 -1
  91. package/out/Tables.sol/Tables.json +1 -1
  92. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  93. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  94. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  95. package/out/TokenURI.sol/TokenURI.json +1 -1
  96. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  97. package/out/TwoFields.sol/TwoFields.json +1 -1
  98. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  99. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  100. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  101. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  102. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  103. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  104. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  105. package/out/World.sol/World.json +1 -1
  106. package/out/World.t.sol/EchoSystemHook.json +1 -1
  107. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  108. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  109. package/out/World.t.sol/RevertSystemHook.json +1 -1
  110. package/out/World.t.sol/WorldTest.json +1 -1
  111. package/out/World.t.sol/WorldTestSystem.json +1 -1
  112. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  113. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  114. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  115. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  116. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  117. package/out/query.t.sol/QueryTest.json +1 -1
  118. package/out/tables/Balances.sol/Balances.json +1 -1
  119. package/package.json +8 -8
  120. package/src/modules/erc20-puppet/tables/Allowances.sol +8 -29
  121. package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +8 -29
  122. package/src/modules/erc20-puppet/tables/ERC20Registry.sol +8 -28
  123. package/src/modules/erc20-puppet/tables/TotalSupply.sol +8 -27
  124. package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +8 -29
  125. package/src/modules/erc721-puppet/tables/ERC721Registry.sol +8 -28
  126. package/src/modules/erc721-puppet/tables/OperatorApproval.sol +8 -29
  127. package/src/modules/erc721-puppet/tables/Owners.sol +8 -28
  128. package/src/modules/erc721-puppet/tables/TokenApproval.sol +8 -28
  129. package/src/modules/erc721-puppet/tables/TokenURI.sol +8 -28
  130. package/src/modules/keysintable/KeysInTableModule.sol +4 -4
  131. package/src/modules/keysintable/tables/KeysInTable.sol +9 -33
  132. package/src/modules/keysintable/tables/UsedKeysIndex.sol +9 -31
  133. package/src/modules/keyswithvalue/KeysWithValueModule.sol +2 -2
  134. package/src/modules/keyswithvalue/tables/KeysWithValue.sol +9 -29
  135. package/src/modules/puppet/tables/PuppetRegistry.sol +8 -28
  136. package/src/modules/std-delegations/tables/CallboundDelegations.sol +8 -31
  137. package/src/modules/std-delegations/tables/SystemboundDelegations.sol +8 -30
  138. package/src/modules/std-delegations/tables/TimeboundDelegations.sol +8 -29
  139. package/src/modules/tokens/tables/Balances.sol +8 -28
  140. package/src/modules/uniqueentity/tables/UniqueEntity.sol +9 -28
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"FieldLayoutLib_Empty","inputs":[]},{"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","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_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","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"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516132bf61003060003960006103a901526132bf6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063119df25f1161005b578063119df25f146100d257806345ec9354146100ff578063530f4b6014610112578063e1af802c1461012557600080fd5b806301ffc9a71461008257806305609129146100aa5780630ba51f49146100bf575b600080fd5b610095610090366004612a9c565b61012d565b60405190151581526020015b60405180910390f35b6100bd6100b8366004612b02565b6101c6565b005b6100bd6100cd366004612b7a565b6101ed565b6100da6102e0565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b604051601f1936013581526020016100a1565b6100bd610120366004612c10565b6102ef565b6100da610388565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101c057507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6101ce610392565b6101df826101da6102e0565b610403565b6101e982826104be565b5050565b6101f5610392565b6000610200896104e9565b6fffffffffffffffffffffffffffffffff19160361025f578761022289610500565b6040517fe4ac069e000000000000000000000000000000000000000000000000000000008152600401610256929190612ca6565b60405180910390fd5b6102aa7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008a161761062e565b6102b6886101da6102e0565b6102d6888888886102c7888a612d06565b6102d18789612d06565b61067c565b5050505050505050565b60006102ea610adf565b905090565b6102f7610392565b610321827f1873396a00000000000000000000000000000000000000000000000000000000610b11565b61036c7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161761062e565b610378836101da6102e0565b610383838383610b91565b505050565b60006102ea610c7f565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610401576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b73ffffffffffffffffffffffffffffffffffffffff81166104657f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617610c89565b73ffffffffffffffffffffffffffffffffffffffff16146101e95761048982610500565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610256929190612ddb565b6101e97f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610d25565b60006104f760706010612e29565b9190911b919050565b606081601081901b6000610513836104e9565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561056e576105697fffffffffffffffffffffffffffff0000000000000000000000000000000000008416610e66565b6105a5565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff198316156105cc576105c783610e66565b610603565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161061593929190612e3c565b6040516020818303038152906040529350505050919050565b61063781610ef0565b610679578061064582610500565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610256929190612ca6565b50565b613a3160f11b867fffff00000000000000000000000000000000000000000000000000000000000016148015906106f557507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561075657613a3160f11b868760405160200161071491815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610256939291600401612eca565b61075f85610f8d565b61076a8460016111d4565b6107758360006111d4565b60e084901c60e885901c0160ff168251146107d55760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60e085901c60e886901c0160ff168151146108355760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146108ad5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b6108b685611379565b6108bf84611379565b14610911576108cd85611379565b6108d684611379565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b61091a856113ab565b610923846113ab565b1461097557610931856113ab565b61093a846113ab565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60005b61098186611379565b811015610a1c576109ab61099585836113c8565b60c58111156109a6576109a6612f0b565b6113f0565b6008601b8390030287901c60ff1614610a14576008601b8290030286901c60ff166109d961099586846113c8565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b600101610978565b50610a2686610ef0565b15610a80578586604051602001610a3f91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102569291600401612ca6565b610acc8686868686604051602001610a989190612f21565b60405160208183030381529060405286604051602001610ab89190612f21565b60405160208183030381529060405261144a565b610ad786600161152d565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610b0e5750335b90565b610b1b82826115e6565b6101e9576040517f74b5e6ff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201527fffffffff0000000000000000000000000000000000000000000000000000000082166024820152604401610256565b613a3160f11b837fffff0000000000000000000000000000000000000000000000000000000000001614610bd957613a3160f11b838460405160200161071491815260200190565b610be283610ef0565b610c3b578283604051602001610bfa91815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102569291600401612ca6565b610383837fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166bff0000000000000000000000605885901b1617611602565b60006102ea6116bb565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610cc257610cc2612fa3565b60209081029190910101526000610d1a7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611707565b60601c949350505050565b6000610d31848461173d565b90506000815167ffffffffffffffff811115610d4f57610d4f612cbf565b604051908082528060200260200182016040528015610d78578160200160208202803683370190505b5090506000805b8351811015610e57578473ffffffffffffffffffffffffffffffffffffffff16610dd0858381518110610db457610db4612fa3565b60200260200101516affffffffffffffffffffff191660601c90565b73ffffffffffffffffffffffffffffffffffffffff1614610e4f57838181518110610dfd57610dfd612fa3565b6020026020010151838381518110610e1757610e17612fa3565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b600101610d7f565b50808252610ad78686846117a8565b606060005b6010811015610ebc576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ebc57600101610e6b565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f2957610f29612fa3565b60209081029190910101526000610f817f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611707565b9050610ee88160f81c90565b80610fc4576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610fcf826113ab565b90506005811115611016576040517f7f2372c30000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401610256565b600061102183611379565b9050600061102f8383612e29565b9050601c811115611076576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401610256565b6000805b838110156111215760ff601b82900360080287901c1660008190036110ce576040517f01f2a07c00000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b602081111561110c576040517f24c85d5800000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b6111168184612e29565b92505060010161107a565b5061112b85611805565b81146111775761113a85611805565b6040517f9365944a000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610256565b825b601c811015610ad75760ff601b82900360080287901c1680156111cb576040517fbb68821a00000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b50600101611179565b801580156111e0575081155b1561120157604051635318beb960e01b815260006004820152602401610256565b600061120c836113ab565b9050600581111561123357604051635318beb960e01b815260048101829052602401610256565b600061123e84611379565b9050600061124c8383612e29565b9050601c81111561127357604051635318beb960e01b815260048101829052602401610256565b6000805b838110156112df57600061128e61099589846113c8565b9050806000036112ca576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112d48184612e29565b925050600101611277565b506112e986611805565b8114611314576112f886611805565b604051635318beb960e01b815260040161025691815260200190565b825b8281101561137057600061132d61099589846113c8565b90508015611367576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611316565b50505050505050565b60006008600161138b60026020612fb9565b6113959190612fb9565b61139f9190612fcc565b8260ff911c1692915050565b600060086001806113be60026020612fb9565b61138b9190612fb9565b6000601b8290036008028360ff911c1660c58111156113e9576113e9612f0b565b9392505050565b6000808260c581111561140557611405612f0b565b60ff169050606181101561141f57601f1660010192915050565b60618360c581111561143357611433612f0b565b036114415750601492915050565b50600092915050565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006114818484611828565b9050600061148f8585611845565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106114c9576114c9612fa3565b60209081029190910101526115217f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611871565b50505050505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061156357611563612fa3565b6020026020010181815250506103837f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016115b191151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611baa565b60006115f183611bc6565b80156113e957506113e98383611c2a565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061163857611638612fa3565b6020026020010181815250506103837f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016116a791907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052611cfa565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680611702573391505090565b919050565b60006117346117168686611d35565b60ff858116601b0360080285901c1661172f8587611d8b565b611dc4565b95945050505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061177757611777612fa3565b602002602001018181525050600061179185836000611e15565b90506117346117a38260008451611e4f565b611edd565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106117de576117de612fa3565b6020026020010181815250506117ff848260006117fa86611eee565b611efe565b50505050565b6000600861181560026020612fb9565b61181f9190612fcc565b9190911c919050565b8151815160009181810160389190911b1760609190911b176113e9565b6060828260405160200161185a929190612fe3565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036118fd57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516118f0949392919061304e565b60405180910390a2610ad7565b600061190887611f39565b905060005b81518110156119e157600082828151811061192a5761192a612fa3565b602002602001015190506119566001826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156119d8576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119a5908c908c908c908c908c908c9060040161308d565b600060405180830381600087803b1580156119bf57600080fd5b505af11580156119d3573d6000803e3d6000fd5b505050505b5060010161190d565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a18949392919061304e565b60405180910390a26000611a2c8888611d35565b90506000602087019050611a44826000895184611fdb565b6000611a4f856113ab565b1115611ad3576000611a618a8a61209a565b878155905060208601915060008060005b611a7b886113ab565b8160ff161015611ace57611a908d8d836120f0565b9250611aab8a8260ff166028026038011c64ffffffffff1690565b9150611aba8360008488611fdb565b611ac48286612e29565b9450600101611a72565b505050505b60005b8351811015611521576000848281518110611af357611af3612fa3565b60200260200101519050611b1f6002826affffffffffffffffffffff1916611fbd90919063ffffffff16565b15611ba1576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611b6e908e908e908e908e908e908e9060040161308d565b600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b505050505b50600101611ad6565b611bbf8585611bb98487611d8b565b85612170565b5050505050565b6000611bf2827f01ffc9a700000000000000000000000000000000000000000000000000000000611c2a565b80156101c05750611c23827fffffffff00000000000000000000000000000000000000000000000000000000611c2a565b1592915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000082166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015611ce3575060208210155b8015611cef5750600081115b979650505050505050565b6000611d06858561240b565b90506000611d23828560ff166028026038011c64ffffffffff1690565b9050610ad7868686846000888861241e565b60008282604051602001611d4a9291906130e6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611dbc57611db260ff601b83900360080287901c1683612e29565b9150600101611d90565b509392505050565b600060208210611dea57602082048401935060208281611de657611de6613122565b0691505b508254600882021b602082900380841115611dbc576001850154600882021c82179150509392505050565b6060610ee8611e258585856120f0565b6000611e4a85611e35898961240b565b9060ff166028026038011c64ffffffffff1690565b6127fa565b600081831180611e5f5750835182115b15611e9c578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161025693929190613138565b60208401611eaa8482612e29565b90506000611eb88585612fb9565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006113e9836015600061281d565b6060816113e98160156000612898565b6000611f0a858561240b565b90506000611f27828560ff166028026038011c64ffffffffff1690565b9050610ad7868686600085888861241e565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611f7357611f73612fa3565b60209081029190910101526000611fab7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611e15565b9050610ee86117a38260008451611e4f565b60008160ff1682611fce8560581c90565b1660ff1614905092915050565b821561205557602083106120055760208304840193506020838161200157612001613122565b0692505b82156120555760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116120465750506117ff565b50600194909401939182900391015b5b602082106120775780518455600190930192601f1990910190602001612056565b81156117ff576000600019600884021c8554835182191691161785555050505050565b600082826040516020016120af9291906130e6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016121059291906130e6565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036121fa57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516121ed9392919061315d565b60405180910390a26117ff565b60006122068585611d35565b9050600061221386611f39565b905060005b81518110156122e857600082828151811061223557612235612fa3565b602002602001015190506122616004826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156122df576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906122ac908b908b908b908b9060040161319a565b600060405180830381600087803b1580156122c657600080fd5b505af11580156122da573d6000803e3d6000fd5b505050505b50600101612218565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161231d9392919061315d565b60405180910390a2612338828565ffffffffffff16856128ec565b60005b815181101561137057600082828151811061235857612358612fa3565b602002602001015190506123846008826affffffffffffffffffffff1916611fbd90919063ffffffff16565b15612402576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906123cf908b908b908b908b9060040161319a565b600060405180830381600087803b1580156123e957600080fd5b505af11580156123fd573d6000803e3d6000fd5b505050505b5060010161233b565b60006113e961241a848461209a565b5490565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461246657613a3160f11b878860405160200161071491815260200190565b6000612481828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361249a9190612fb9565b6124a49190612e29565b90508082141580156124c65750816124bc86886131d3565b64ffffffffff1614155b15612516576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610256565b818664ffffffffff161115612567576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610256565b6000612574848984612902565b905060006125818b611f39565b905060005b81518110156126595760008282815181106125a3576125a3612fa3565b602002602001015190506125cf6010826affffffffffffffffffffff1916611fbd90919063ffffffff16565b1561265057606081901c73ffffffffffffffffffffffffffffffffffffffff166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161261d97969594939291906131f8565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612586565b5064ffffffffff881660005b8a60ff168160ff1610156126985761268c878260ff166028026038011c64ffffffffff1690565b90910190600101612665565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516126d396959493929190613256565b60405180910390a2508284146126f45760006126ef8c8c61209a565b839055505b60006127018c8c8c6120f0565b9050612715818a64ffffffffff16896128ec565b5060005b81518110156127ec57600082828151811061273657612736612fa3565b602002602001015190506127626020826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156127e357606081901c73ffffffffffffffffffffffffffffffffffffffff1663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016127b097969594939291906131f8565b600060405180830381600087803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b505050505b50600101612719565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252611dbc858585846129d0565b6060600061282b8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161285157612851613122565b04905060405193506020840160208202810160405281855260005b8281101561288c578451871c82529387019360209091019060010161286c565b50505050509392505050565b825160609060006128a98583612fcc565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561288c578051871b835291870191600191909101906020016128cb565b610383838383516128fd8560200190565b611fdb565b600064ffffffffff821115612946576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106129785780850382019150612980565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215612a5757602083106129fa576020830484019350602083816129f6576129f6613122565b0692505b8215612a57576020839003600081841015612a1d5750600019600884021c612a27565b50600019600882021c5b8554600886021b818451168219821617845250818411612a485750506117ff565b50600194909401939182900391015b5b60208210612a795783548152600190930192601f1990910190602001612a58565b81156117ff576000600019600884021c8251865482191691161782525050505050565b600060208284031215612aae57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146113e957600080fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461170257600080fd5b60008060408385031215612b1557600080fd5b82359150612b2560208401612ade565b90509250929050565b60008083601f840112612b4057600080fd5b50813567ffffffffffffffff811115612b5857600080fd5b6020830191508360208260051b8501011115612b7357600080fd5b9250929050565b60008060008060008060008060c0898b031215612b9657600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115612bca57600080fd5b612bd68c838d01612b2e565b909650945060a08b0135915080821115612bef57600080fd5b50612bfc8b828c01612b2e565b999c989b5096995094979396929594505050565b600080600060608486031215612c2557600080fd5b83359250612c3560208501612ade565b9150604084013560ff81168114612c4b57600080fd5b809150509250925092565b60005b83811015612c71578181015183820152602001612c59565b50506000910152565b60008151808452612c92816020860160208601612c56565b601f01601f19169290920160200192915050565b828152604060208201526000610ee86040830184612c7a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612cfe57612cfe612cbf565b604052919050565b600067ffffffffffffffff80841115612d2157612d21612cbf565b8360051b6020612d32818301612cd5565b868152918501918181019036841115612d4a57600080fd5b865b84811015612dcf57803586811115612d645760008081fd5b8801601f3681830112612d775760008081fd5b813588811115612d8957612d89612cbf565b612d9a87601f198484011601612cd5565b91508082523687828501011115612db15760008081fd5b80878401888401376000908201870152845250918301918301612d4c565b50979650505050505050565b604081526000612dee6040830185612c7a565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c0576101c0612e13565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612e9d816003860160208901612c56565b808401905081600382015284519150612ebd826004830160208801612c56565b0160040195945050505050565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006117346060830184612c7a565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612f96577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612f84858351612c7a565b94509285019290850190600101612f4a565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b818103818111156101c0576101c0612e13565b80820281158282048414176101c0576101c0612e13565b60008351612ff5818460208801612c56565b835190830190613009818360208801612c56565b01949350505050565b60008151808452602080850194506020840160005b8381101561304357815187529582019590820190600101613027565b509495945050505050565b6080815260006130616080830187613012565b82810360208401526130738187612c7a565b90508460408401528281036060840152611cef8185612c7a565b86815260c0602082015260006130a660c0830188613012565b82810360408401526130b88188612c7a565b905085606084015282810360808401526130d28186612c7a565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b82811015613115578151845292840192908401906001016130f9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061314b6060830186612c7a565b60208301949094525060400152919050565b6060815260006131706060830186613012565b65ffffffffffff8516602084015282810360408401526131908185612c7a565b9695505050505050565b8481526080602082015260006131b36080830186613012565b65ffffffffffff851660408401528281036060840152611cef8185612c7a565b64ffffffffff8181168382160190808211156131f1576131f1612e13565b5092915050565b87815260e06020820152600061321160e0830189613012565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526132488185612c7a565b9a9950505050505050505050565b60c08152600061326960c0830189613012565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526132a58185612c7a565b999850505050505050505056fea164736f6c6343000818000a","sourceMap":"1181:3225:90:-:0;;;981:4:82;938:48;;1181:3225:90;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063119df25f1161005b578063119df25f146100d257806345ec9354146100ff578063530f4b6014610112578063e1af802c1461012557600080fd5b806301ffc9a71461008257806305609129146100aa5780630ba51f49146100bf575b600080fd5b610095610090366004612a9c565b61012d565b60405190151581526020015b60405180910390f35b6100bd6100b8366004612b02565b6101c6565b005b6100bd6100cd366004612b7a565b6101ed565b6100da6102e0565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b604051601f1936013581526020016100a1565b6100bd610120366004612c10565b6102ef565b6100da610388565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101c057507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6101ce610392565b6101df826101da6102e0565b610403565b6101e982826104be565b5050565b6101f5610392565b6000610200896104e9565b6fffffffffffffffffffffffffffffffff19160361025f578761022289610500565b6040517fe4ac069e000000000000000000000000000000000000000000000000000000008152600401610256929190612ca6565b60405180910390fd5b6102aa7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008a161761062e565b6102b6886101da6102e0565b6102d6888888886102c7888a612d06565b6102d18789612d06565b61067c565b5050505050505050565b60006102ea610adf565b905090565b6102f7610392565b610321827f1873396a00000000000000000000000000000000000000000000000000000000610b11565b61036c7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161761062e565b610378836101da6102e0565b610383838383610b91565b505050565b60006102ea610c7f565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610401576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b73ffffffffffffffffffffffffffffffffffffffff81166104657f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617610c89565b73ffffffffffffffffffffffffffffffffffffffff16146101e95761048982610500565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610256929190612ddb565b6101e97f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610d25565b60006104f760706010612e29565b9190911b919050565b606081601081901b6000610513836104e9565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561056e576105697fffffffffffffffffffffffffffff0000000000000000000000000000000000008416610e66565b6105a5565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff198316156105cc576105c783610e66565b610603565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161061593929190612e3c565b6040516020818303038152906040529350505050919050565b61063781610ef0565b610679578061064582610500565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610256929190612ca6565b50565b613a3160f11b867fffff00000000000000000000000000000000000000000000000000000000000016148015906106f557507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561075657613a3160f11b868760405160200161071491815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610256939291600401612eca565b61075f85610f8d565b61076a8460016111d4565b6107758360006111d4565b60e084901c60e885901c0160ff168251146107d55760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60e085901c60e886901c0160ff168151146108355760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146108ad5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b6108b685611379565b6108bf84611379565b14610911576108cd85611379565b6108d684611379565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b61091a856113ab565b610923846113ab565b1461097557610931856113ab565b61093a846113ab565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60005b61098186611379565b811015610a1c576109ab61099585836113c8565b60c58111156109a6576109a6612f0b565b6113f0565b6008601b8390030287901c60ff1614610a14576008601b8290030286901c60ff166109d961099586846113c8565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b600101610978565b50610a2686610ef0565b15610a80578586604051602001610a3f91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102569291600401612ca6565b610acc8686868686604051602001610a989190612f21565b60405160208183030381529060405286604051602001610ab89190612f21565b60405160208183030381529060405261144a565b610ad786600161152d565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610b0e5750335b90565b610b1b82826115e6565b6101e9576040517f74b5e6ff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201527fffffffff0000000000000000000000000000000000000000000000000000000082166024820152604401610256565b613a3160f11b837fffff0000000000000000000000000000000000000000000000000000000000001614610bd957613a3160f11b838460405160200161071491815260200190565b610be283610ef0565b610c3b578283604051602001610bfa91815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102569291600401612ca6565b610383837fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166bff0000000000000000000000605885901b1617611602565b60006102ea6116bb565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610cc257610cc2612fa3565b60209081029190910101526000610d1a7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611707565b60601c949350505050565b6000610d31848461173d565b90506000815167ffffffffffffffff811115610d4f57610d4f612cbf565b604051908082528060200260200182016040528015610d78578160200160208202803683370190505b5090506000805b8351811015610e57578473ffffffffffffffffffffffffffffffffffffffff16610dd0858381518110610db457610db4612fa3565b60200260200101516affffffffffffffffffffff191660601c90565b73ffffffffffffffffffffffffffffffffffffffff1614610e4f57838181518110610dfd57610dfd612fa3565b6020026020010151838381518110610e1757610e17612fa3565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b600101610d7f565b50808252610ad78686846117a8565b606060005b6010811015610ebc576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ebc57600101610e6b565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f2957610f29612fa3565b60209081029190910101526000610f817f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611707565b9050610ee88160f81c90565b80610fc4576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610fcf826113ab565b90506005811115611016576040517f7f2372c30000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401610256565b600061102183611379565b9050600061102f8383612e29565b9050601c811115611076576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401610256565b6000805b838110156111215760ff601b82900360080287901c1660008190036110ce576040517f01f2a07c00000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b602081111561110c576040517f24c85d5800000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b6111168184612e29565b92505060010161107a565b5061112b85611805565b81146111775761113a85611805565b6040517f9365944a000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610256565b825b601c811015610ad75760ff601b82900360080287901c1680156111cb576040517fbb68821a00000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b50600101611179565b801580156111e0575081155b1561120157604051635318beb960e01b815260006004820152602401610256565b600061120c836113ab565b9050600581111561123357604051635318beb960e01b815260048101829052602401610256565b600061123e84611379565b9050600061124c8383612e29565b9050601c81111561127357604051635318beb960e01b815260048101829052602401610256565b6000805b838110156112df57600061128e61099589846113c8565b9050806000036112ca576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112d48184612e29565b925050600101611277565b506112e986611805565b8114611314576112f886611805565b604051635318beb960e01b815260040161025691815260200190565b825b8281101561137057600061132d61099589846113c8565b90508015611367576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611316565b50505050505050565b60006008600161138b60026020612fb9565b6113959190612fb9565b61139f9190612fcc565b8260ff911c1692915050565b600060086001806113be60026020612fb9565b61138b9190612fb9565b6000601b8290036008028360ff911c1660c58111156113e9576113e9612f0b565b9392505050565b6000808260c581111561140557611405612f0b565b60ff169050606181101561141f57601f1660010192915050565b60618360c581111561143357611433612f0b565b036114415750601492915050565b50600092915050565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006114818484611828565b9050600061148f8585611845565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106114c9576114c9612fa3565b60209081029190910101526115217f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611871565b50505050505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061156357611563612fa3565b6020026020010181815250506103837f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016115b191151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611baa565b60006115f183611bc6565b80156113e957506113e98383611c2a565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061163857611638612fa3565b6020026020010181815250506103837f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016116a791907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052611cfa565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680611702573391505090565b919050565b60006117346117168686611d35565b60ff858116601b0360080285901c1661172f8587611d8b565b611dc4565b95945050505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061177757611777612fa3565b602002602001018181525050600061179185836000611e15565b90506117346117a38260008451611e4f565b611edd565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106117de576117de612fa3565b6020026020010181815250506117ff848260006117fa86611eee565b611efe565b50505050565b6000600861181560026020612fb9565b61181f9190612fcc565b9190911c919050565b8151815160009181810160389190911b1760609190911b176113e9565b6060828260405160200161185a929190612fe3565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036118fd57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516118f0949392919061304e565b60405180910390a2610ad7565b600061190887611f39565b905060005b81518110156119e157600082828151811061192a5761192a612fa3565b602002602001015190506119566001826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156119d8576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119a5908c908c908c908c908c908c9060040161308d565b600060405180830381600087803b1580156119bf57600080fd5b505af11580156119d3573d6000803e3d6000fd5b505050505b5060010161190d565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a18949392919061304e565b60405180910390a26000611a2c8888611d35565b90506000602087019050611a44826000895184611fdb565b6000611a4f856113ab565b1115611ad3576000611a618a8a61209a565b878155905060208601915060008060005b611a7b886113ab565b8160ff161015611ace57611a908d8d836120f0565b9250611aab8a8260ff166028026038011c64ffffffffff1690565b9150611aba8360008488611fdb565b611ac48286612e29565b9450600101611a72565b505050505b60005b8351811015611521576000848281518110611af357611af3612fa3565b60200260200101519050611b1f6002826affffffffffffffffffffff1916611fbd90919063ffffffff16565b15611ba1576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611b6e908e908e908e908e908e908e9060040161308d565b600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b505050505b50600101611ad6565b611bbf8585611bb98487611d8b565b85612170565b5050505050565b6000611bf2827f01ffc9a700000000000000000000000000000000000000000000000000000000611c2a565b80156101c05750611c23827fffffffff00000000000000000000000000000000000000000000000000000000611c2a565b1592915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000082166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015611ce3575060208210155b8015611cef5750600081115b979650505050505050565b6000611d06858561240b565b90506000611d23828560ff166028026038011c64ffffffffff1690565b9050610ad7868686846000888861241e565b60008282604051602001611d4a9291906130e6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611dbc57611db260ff601b83900360080287901c1683612e29565b9150600101611d90565b509392505050565b600060208210611dea57602082048401935060208281611de657611de6613122565b0691505b508254600882021b602082900380841115611dbc576001850154600882021c82179150509392505050565b6060610ee8611e258585856120f0565b6000611e4a85611e35898961240b565b9060ff166028026038011c64ffffffffff1690565b6127fa565b600081831180611e5f5750835182115b15611e9c578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161025693929190613138565b60208401611eaa8482612e29565b90506000611eb88585612fb9565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006113e9836015600061281d565b6060816113e98160156000612898565b6000611f0a858561240b565b90506000611f27828560ff166028026038011c64ffffffffff1690565b9050610ad7868686600085888861241e565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611f7357611f73612fa3565b60209081029190910101526000611fab7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611e15565b9050610ee86117a38260008451611e4f565b60008160ff1682611fce8560581c90565b1660ff1614905092915050565b821561205557602083106120055760208304840193506020838161200157612001613122565b0692505b82156120555760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116120465750506117ff565b50600194909401939182900391015b5b602082106120775780518455600190930192601f1990910190602001612056565b81156117ff576000600019600884021c8554835182191691161785555050505050565b600082826040516020016120af9291906130e6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016121059291906130e6565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036121fa57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516121ed9392919061315d565b60405180910390a26117ff565b60006122068585611d35565b9050600061221386611f39565b905060005b81518110156122e857600082828151811061223557612235612fa3565b602002602001015190506122616004826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156122df576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906122ac908b908b908b908b9060040161319a565b600060405180830381600087803b1580156122c657600080fd5b505af11580156122da573d6000803e3d6000fd5b505050505b50600101612218565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161231d9392919061315d565b60405180910390a2612338828565ffffffffffff16856128ec565b60005b815181101561137057600082828151811061235857612358612fa3565b602002602001015190506123846008826affffffffffffffffffffff1916611fbd90919063ffffffff16565b15612402576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906123cf908b908b908b908b9060040161319a565b600060405180830381600087803b1580156123e957600080fd5b505af11580156123fd573d6000803e3d6000fd5b505050505b5060010161233b565b60006113e961241a848461209a565b5490565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461246657613a3160f11b878860405160200161071491815260200190565b6000612481828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361249a9190612fb9565b6124a49190612e29565b90508082141580156124c65750816124bc86886131d3565b64ffffffffff1614155b15612516576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610256565b818664ffffffffff161115612567576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610256565b6000612574848984612902565b905060006125818b611f39565b905060005b81518110156126595760008282815181106125a3576125a3612fa3565b602002602001015190506125cf6010826affffffffffffffffffffff1916611fbd90919063ffffffff16565b1561265057606081901c73ffffffffffffffffffffffffffffffffffffffff166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161261d97969594939291906131f8565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612586565b5064ffffffffff881660005b8a60ff168160ff1610156126985761268c878260ff166028026038011c64ffffffffff1690565b90910190600101612665565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516126d396959493929190613256565b60405180910390a2508284146126f45760006126ef8c8c61209a565b839055505b60006127018c8c8c6120f0565b9050612715818a64ffffffffff16896128ec565b5060005b81518110156127ec57600082828151811061273657612736612fa3565b602002602001015190506127626020826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156127e357606081901c73ffffffffffffffffffffffffffffffffffffffff1663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016127b097969594939291906131f8565b600060405180830381600087803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b505050505b50600101612719565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252611dbc858585846129d0565b6060600061282b8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161285157612851613122565b04905060405193506020840160208202810160405281855260005b8281101561288c578451871c82529387019360209091019060010161286c565b50505050509392505050565b825160609060006128a98583612fcc565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561288c578051871b835291870191600191909101906020016128cb565b610383838383516128fd8560200190565b611fdb565b600064ffffffffff821115612946576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106129785780850382019150612980565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215612a5757602083106129fa576020830484019350602083816129f6576129f6613122565b0692505b8215612a57576020839003600081841015612a1d5750600019600884021c612a27565b50600019600882021c5b8554600886021b818451168219821617845250818411612a485750506117ff565b50600194909401939182900391015b5b60208210612a795783548152600190930192601f1990910190602001612a58565b81156117ff576000600019600884021c8251865482191691161782525050505050565b600060208284031215612aae57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146113e957600080fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461170257600080fd5b60008060408385031215612b1557600080fd5b82359150612b2560208401612ade565b90509250929050565b60008083601f840112612b4057600080fd5b50813567ffffffffffffffff811115612b5857600080fd5b6020830191508360208260051b8501011115612b7357600080fd5b9250929050565b60008060008060008060008060c0898b031215612b9657600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115612bca57600080fd5b612bd68c838d01612b2e565b909650945060a08b0135915080821115612bef57600080fd5b50612bfc8b828c01612b2e565b999c989b5096995094979396929594505050565b600080600060608486031215612c2557600080fd5b83359250612c3560208501612ade565b9150604084013560ff81168114612c4b57600080fd5b809150509250925092565b60005b83811015612c71578181015183820152602001612c59565b50506000910152565b60008151808452612c92816020860160208601612c56565b601f01601f19169290920160200192915050565b828152604060208201526000610ee86040830184612c7a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612cfe57612cfe612cbf565b604052919050565b600067ffffffffffffffff80841115612d2157612d21612cbf565b8360051b6020612d32818301612cd5565b868152918501918181019036841115612d4a57600080fd5b865b84811015612dcf57803586811115612d645760008081fd5b8801601f3681830112612d775760008081fd5b813588811115612d8957612d89612cbf565b612d9a87601f198484011601612cd5565b91508082523687828501011115612db15760008081fd5b80878401888401376000908201870152845250918301918301612d4c565b50979650505050505050565b604081526000612dee6040830185612c7a565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c0576101c0612e13565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612e9d816003860160208901612c56565b808401905081600382015284519150612ebd826004830160208801612c56565b0160040195945050505050565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006117346060830184612c7a565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612f96577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612f84858351612c7a565b94509285019290850190600101612f4a565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b818103818111156101c0576101c0612e13565b80820281158282048414176101c0576101c0612e13565b60008351612ff5818460208801612c56565b835190830190613009818360208801612c56565b01949350505050565b60008151808452602080850194506020840160005b8381101561304357815187529582019590820190600101613027565b509495945050505050565b6080815260006130616080830187613012565b82810360208401526130738187612c7a565b90508460408401528281036060840152611cef8185612c7a565b86815260c0602082015260006130a660c0830188613012565b82810360408401526130b88188612c7a565b905085606084015282810360808401526130d28186612c7a565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b82811015613115578151845292840192908401906001016130f9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061314b6060830186612c7a565b60208301949094525060400152919050565b6060815260006131706060830186613012565b65ffffffffffff8516602084015282810360408401526131908185612c7a565b9695505050505050565b8481526080602082015260006131b36080830186613012565b65ffffffffffff851660408401528281036060840152611cef8185612c7a565b64ffffffffff8181168382160190808211156131f1576131f1612e13565b5092915050565b87815260e06020820152600061321160e0830189613012565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526132488185612c7a565b9a9950505050505050505050565b60c08152600061326960c0830189613012565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526132a58185612c7a565b999850505050505050505056fea164736f6c6343000818000a","sourceMap":"1181:3225:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:58;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;2331:198:58;;;;;;;;4111:293:90;;;;;;:::i;:::-;;:::i;:::-;;1963:748;;;;;;:::i;:::-;;:::i;1262:113:58:-;;;:::i;:::-;;;2842:42:208;2830:55;;;2812:74;;2800:2;2785:18;1262:113:58;2666:226:208;1616:110:58;;;-1:-1:-1;;3800:14:58;3796:25;3783:39;3043:25:208;;3031:2;3016:18;1616:110:58;2897:177:208;3174:595:90;;;;;;:::i;:::-;;:::i;1942:98:58:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:58;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:58:o;4111:293:90:-;1061:20:82;:18;:20::i;:::-;4265:49:90::1;4292:7;4301:12;:10;:12::i;:::-;4265:26;:49::i;:::-;4348:51;4378:7;4387:11;4348:29;:51::i;:::-;4111:293:::0;;:::o;1963:748::-;1061:20:82;:18;:20::i;:::-;2278:9:90::1;2257:17;:7:::0;:15:::1;:17::i;:::-;-1:-1:-1::0;;2257:30:90::1;::::0;2253:110:::1;;2328:7;2337:18;:7;:16;:18::i;:::-;2304:52;;;;;;;;;;;;:::i;:::-;;;;;;;;2253:110;2415:56;696:18:99::0;578:36:59;2952:46;;2951:74;2415:30:90::1;:56::i;:::-;2533:49;2560:7;2569:12;:10;:12::i;2533:49::-;2615:91;2639:7:::0;2648:11;2661:9;2672:11;2615:91:::1;2685:8:::0;;2615:91:::1;:::i;:::-;;2695:10:::0;;2615:91:::1;:::i;:::-;:23;:91::i;:::-;1963:748:::0;;;;;;;;:::o;1262:113:58:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3174:595:90:-;1061:20:82;:18;:20::i;:::-;3387:68:90::1;3412:11;3426:28;3387:16;:68::i;:::-;3508:56;696:18:99::0;578:36:59;2952:46;;2951:74;2415:30:90::1;:56::i;3508:::-;3614:49;3641:7;3650:12;:10;:12::i;3614:49::-;3695:69;3723:7;3732:11;3745:18;3695:27;:69::i;:::-;3174:595:::0;;;:::o;1942:98:58:-;1981:7;2003:32;:30;:32::i;1179:189:82:-;1248:23;1265:6;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;2140:233:42:-;2225:58;;;:48;696:18:99;578:36:59;2952:46;;2951:74;2225:19:42;:48::i;:::-;:58;;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;13083:172:20:-;13171:79;1100:66:28;13220:7:20;13237:11;13171:27;:79::i;3162:160:59:-;3225:7;3289:26;438:6;451:5:16;3289:26:59;:::i;:::-;3255:61;;;;;3162:160;-1:-1:-1;3162:160:59:o;3483:592::-;3547:13;3617:10;451:5:16;2634:44:59;;;3568:19;3715;3617:10;3715:7;:19::i;:::-;3692:42;-1:-1:-1;3797:12:59;3836:35;;;;:102;;3885:53;;;;:34;:53::i;:::-;3836:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3965:25:59;;;:87;;4004:48;4039:12;4004:34;:48::i;:::-;3965:87;;;;;;;;;;;;;;;;;;;;;3769:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3740:330;;;;;3483:592;;;:::o;2602:206:42:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;2671:133::-;2602:206;:::o;9039:2614:20:-;-1:-1:-1;;;9299:7:20;:35;;;;;;:83;;-1:-1:-1;9359:23:20;9338:7;:44;;;;9299:83;9295:209;;;-1:-1:-1;;;9454:7:20;9487;9470:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;9470:25:20;;;;-1:-1:-1;;9470:25:20;;;;;;;;;;9399:98;;;;;;;;;;:::i;9295:209::-;9550:22;:11;:20;:22::i;:::-;9613:40;:9;9646:4;9613:18;:40::i;:::-;9659:43;:11;9694:5;9659:20;:43::i;:::-;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;9790:8:20;:15;:40;9786:148;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;9911:15:20;;9847:80;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;9847:80:20;8890:248:208;9786:148:20;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;9984:10:20;:17;:44;9980:158;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;10113:17:20;;10045:86;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;10045:86:20;8890:248:208;9980:158:20;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;10195:50:20;10191:171;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;10262:93:20;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;10262:93:20;8890:248:208;10191:171:20;10404:29;:11;:27;:29::i;:::-;10371;:11;:27;:29::i;:::-;:62;10367:225;;10509:29;:11;:27;:29::i;:::-;10548;:11;:27;:29::i;:::-;10450:135;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;10450:135:20;8890:248:208;10367:225:20;10635:30;:11;:28;:30::i;:::-;10601;:11;:28;:30::i;:::-;:64;10597:230;;10742:30;:11;:28;:30::i;:::-;10782;:11;:28;:30::i;:::-;10682:138;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;10682:138:20;8890:248:208;10597:230:20;10924:9;10919:314;10939:29;:11;:27;:29::i;:::-;10935:1;:33;10919:314;;;11013:44;:22;:11;11033:1;11013:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:30;4677:19:3;:27;;;4676:44;4642:79;;;4629:93;;10987:70:20;10983:244;;579:1:30;4677:19:3;:27;;;4676:44;4642:79;;;4629:93;;11164:44:20;:22;:11;11184:1;11164:19;:22::i;:44::-;11076:142;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;11076:142:20;8890:248:208;10983:244:20;10970:3;;10919:314;;;;11295:31;11318:7;11295:22;:31::i;:::-;11291:140;;;11381:7;11414;11397:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;11397:25:20;;;;-1:-1:-1;;11397:25:20;;;;;;;;;;11343:81;;;;;;;;;:::i;11291:140::-;11472:103;11484:7;11493:11;11506:9;11517:11;11541:8;11530:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;11563:10;11552:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;11472:11;:103::i;:::-;11611:37;11634:7;11643:4;11611:22;:37::i;:::-;9039:2614;;;;;;:::o;2992:383:58:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:58;3325:45;2992:383;:::o;692:238:93:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;10401:42:208;10389:55;;853:70:93;;;10371:74:208;10493:66;10481:79;;10461:18;;;10454:107;10344:18;;853:70:93;10199:368:208;12255:624:20;-1:-1:-1;;;12439:7:20;:35;;;12435:161;;-1:-1:-1;;;12546:7:20;12579;12562:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;12435:161:20;12641:31;12664:7;12641:22;:31::i;:::-;12636:136;;12722:7;12755;12738:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;12738:25:20;;;;-1:-1:-1;;12738:25:20;;;;;;;;;;12689:76;;;;;;;;;:::i;12636:136::-;12778:96;12795:7;1045:29:4;1053:20;;;;1045:29;1077:30;;;;;;1045:62;12778:16:20;:96::i;4048:97:58:-;4089:7;4111:29;:27;:29::i;4220:306:74:-;4331:16;;;4345:1;4331:16;;;;;;;;;4281:13;;;;4331:16;;;;;;;;;;;;-1:-1:-1;4331:16:74;4302:45;;4386:11;4353:9;4363:1;4353:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4405:13;4421:62;1298:66;4456:9;4405:13;1427:66;4421:24;:62::i;:::-;4497:23;;;4220:306;-1:-1:-1;;;;4220:306:74:o;1474:1069:4:-;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:4;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;2072:87;;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;:87;;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;1862:322:59:-;1932:13;1953:14;1973:80;1989:2;1980:6;:11;1973:80;;;-1:-1:-1;;2007:34:59;;3218:1:2;3214:13;;3210:24;2007:39:59;;2003:50;2048:5;2003:50;1993:8;;1973:80;;;2089:30;;;-1:-1:-1;;10902:79:208;;2089:30:59;;;10890:92:208;2089:30:59;;10998:12:208;;;;2089:30:59;;;875:21:2;;;2089:30:59;2139:39;2125:54;1862:322;-1:-1:-1;;;;1862:322:59:o;3328:314:27:-;3442:16;;;3456:1;3442:16;;;;;;;;;3394:11;;;;3442:16;;;;;;;;;;;;-1:-1:-1;3442:16:27;3413:45;;3497:10;3464:9;3474:1;3464:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3515:13;3531:62;1102:66;3566:9;3515:13;1231:66;3531:24;:62::i;:::-;3515:78;;3607:29;3628:5;3615:20;;1650:10:16;1541:126;6972:1658:3;6655:45;7035:86;;7077:37;;;;;;;;;;;;;;7035:86;7127:25;7155:30;:11;:28;:30::i;:::-;7127:58;;944:1:30;7195:17:3;:38;7191:155;;;7250:89;;;;;;;;9064:25:208;;;944:1:30;9105:18:208;;;9098:34;9037:18;;7250:89:3;8890:248:208;7191:155:3;7352:24;7379:29;:11;:27;:29::i;:::-;7352:56;-1:-1:-1;7414:23:3;7440:36;7459:17;7352:56;7440:36;:::i;:::-;7414:62;;689:2:30;7486:15:3;:34;7482:140;;;7537:78;;;;;;;;9064:25:208;;;689:2:30;9105:18:208;;;9098:34;9037:18;;7537:78:3;8890:248:208;7482:140:3;7664:25;7700:9;7695:427;7715:16;7711:1;:20;7695:427;;;4629:93;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;7743:24;7804:21;;;7800:232;;7844:51;;;;;;;;3043:25:208;;;3016:18;;7844:51:3;2897:177:208;7800:232:3;376:2:30;7914:16:3;:28;7910:122;;;7961:62;;;;;;;;3043:25:208;;;3016:18;;7961:62:3;2897:177:208;7910:122:3;8039:37;8060:16;8039:37;;:::i;:::-;;-1:-1:-1;;8104:3:3;;7695:427;;;;8189:30;:11;:28;:30::i;:::-;8168:17;:51;8164:183;;8290:30;:11;:28;:30::i;:::-;8236:104;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;;;9037:18;;8236:104:3;8890:248:208;8164:183:3;8403:16;8386:240;689:2:30;8421:1:3;:20;8386:240;;;4629:93;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;8517:21;;8513:107;;8557:54;;;;;;;;3043:25:208;;;3016:18;;8557:54:3;2897:177:208;8513:107:3;-1:-1:-1;8443:3:3;;8386:240;;5932:1629:17;6039:10;6038:11;:31;;;;-1:-1:-1;6655:45:3;;6053:16:17;6034:80;;;6078:36;;-1:-1:-1;;;6078:36:17;;6112:1;6078:36;;;3043:25:208;3016:18;;6078:36:17;2897:177:208;6034:80:17;6177:25;6205;:6;:23;:25::i;:::-;6177:53;;944:1:30;6240:17:17;:38;6236:103;;;6287:52;;-1:-1:-1;;;6287:52:17;;;;;3043:25:208;;;3016:18;;6287:52:17;2897:177:208;6236:103:17;6346:24;6373;:6;:22;:24::i;:::-;6346:51;-1:-1:-1;6467:23:17;6493:36;6512:17;6346:51;6493:36;:::i;:::-;6467:62;;689:2:30;6539:15:17;:34;6535:97;;;6582:50;;-1:-1:-1;;;6582:50:17;;;;;3043:25:208;;;3016:18;;6582:50:17;2897:177:208;6535:97:17;6693:25;6729:9;6724:313;6744:16;6740:1;:20;6724:313;;;6772:24;6799:39;:17;:6;6814:1;6799:14;:17::i;:39::-;6772:66;;6850:16;6870:1;6850:21;6846:101;;6890:48;;;;;;;;;;;;;;6846:101;6954:37;6975:16;6954:37;;:::i;:::-;;-1:-1:-1;;7019:3:17;;6724:313;;;;7105:25;:6;:23;:25::i;:::-;7084:17;:46;7080:134;;7181:25;:6;:23;:25::i;:::-;7147:60;;-1:-1:-1;;;7147:60:17;;;;;;3043:25:208;;3031:2;3016:18;;2897:177;7080:134:17;7289:16;7272:285;7311:15;7307:1;:19;7272:285;;;7338:24;7365:39;:17;:6;7380:1;7365:14;:17::i;:39::-;7338:66;-1:-1:-1;7416:20:17;;7412:100;;7455:48;;;;;;;;;;;;;;7412:100;-1:-1:-1;7539:3:17;;7272:285;;;;5996:1565;;;;5932:1629;;:::o;5333:171:3:-;5406:7;579:1:30;1533;1517:13;1529:1;376:2;1517:13;:::i;:::-;:17;;;;:::i;:::-;1516:34;;;;:::i;:::-;5442:11:3;5421:78;5434:64;;5421:78;;5333:171;-1:-1:-1;;5333:171:3:o;5731:173::-;5805:7;579:1:30;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;4191:206:17:-;4261:10;4351:19;:27;;;4382:1;4350:33;4329:6;4304:82;4321:63;;4304:82;;;;;;;;;:::i;:::-;4297:89;4191:206;-1:-1:-1;;;4191:206:17: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;20396:676:29:-;24950:53;;;;;;12253:19:208;;;12288:12;;;12281:28;;;24923:12:29;12325::208;;;12318:28;;;24950:53:29;;;;;;;;;;12362:12:208;;;;24950:53:29;;;20687:29;20719:55;20733:18;20753:20;20719:13;:55::i;:::-;20687:87;;20780:25;20808:55;20822:18;20842:20;20808:13;:55::i;:::-;20899:16;;;20913:1;20899:16;;;;;;;;;20780:83;;-1:-1:-1;20870:26:29;;20899:16;;;;;;;;;;;;-1:-1:-1;20899:16:29;20870:45;;20954:7;20921:9;20931:1;20921:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20969:98;1342:66;20999:9;21010:11;21023:15;21040:12;1471:66;20969:19;:98::i;:::-;20598:474;;;;20396:676;;;;;;:::o;4692:268:27:-;4792:16;;;4806:1;4792:16;;;;;;;;;4763:26;;4792:16;;;;;;;;;;;-1:-1:-1;4792:16:27;4763:45;;4847:10;4814:9;4824:1;4814:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4865:90;1102:66;1086:83;;4900:9;4911:1;4932:6;4914:26;;;;;;11668:14:208;11661:22;11656:3;11652:32;11640:45;;11710:1;11701:11;;11517:201;4914:26:27;;;;-1:-1:-1;;4914:26:27;;;;;;;;;1231:66;4865:24;:90::i;1312:272:45:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;10132:254:28:-;10229:16;;;10243:1;10229:16;;;;;;;;;10200:26;;10229:16;;;;;;;;;;;-1:-1:-1;10229:16:28;10200:45;;10284:7;10251:9;10261:1;10251:12;;;;;;;;:::i;:::-;;;;;;:41;;;;;10299:82;1100:66;1084:83;;10338:9;10349:1;10370:8;10352:28;;;;;;;11876:66:208;11864:79;;;;11852:92;;11969:2;11960:12;;11723:255;10352:28:28;;;;;;;;;;;;;10299;:82::i;1832:227:24:-;1062:42;1921:22;1882:7;;1921:22;;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:24:o;38205:541:20:-;38362:7;38499:242;38543:59;38584:7;38593:8;38543:40;:59::i;:::-;38620:31;;;;4677:19:3;:27;579:1:30;4676:44:3;4642:79;;;4629:93;38669:63:20;38708:11;38721:10;38669:38;:63::i;:::-;38499:17;:242::i;:::-;38486:255;38205:541;-1:-1:-1;;;;;38205:541:20:o;4001:369:26:-;4141:16;;;4155:1;4141:16;;;;;;;;;4082:22;;4112:26;;4141:16;;;;;;;;;;;;-1:-1:-1;4141:16:26;4112:45;;4196:10;4163:9;4173:1;4163:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4214:18;4235:49;4261:8;4271:9;4282:1;4235:25;:49::i;:::-;4214:70;;4298:66;:44;4319:5;4326:1;4329:5;:12;4298:20;:44::i;:::-;:64;:66::i;5388:282::-;5514:16;;;5528:1;5514:16;;;;;;;;;5485:26;;5514:16;;;;;;;;;;;-1:-1:-1;5514:16:26;5485:45;;5569:10;5536:9;5546:1;5536:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5587:78;5613:8;5623:9;5634:1;5637:27;5657:5;5637:18;:27::i;:::-;5587:25;:78::i;:::-;5479:191;5388:282;;;:::o;4952:171:3:-;5026:7;579:1:30;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;5048:70:3;;;;;4952:171;-1:-1:-1;4952:171:3:o;25199:388:29:-;25507:32;;25541:34;;25325:29;;2576:5:15;;;900:16;2607:39;;;;2589:58;2688:23;2673:39;;;;2655:58;25485:91:29;2435:344:15;25752:234:29;25878:12;25929:18;25958:20;25905:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;25898:83;;25752:234;;;;:::o;15310:3138:20:-;15604:23;15583:7;:44;;;15579:198;;15697:7;15681:75;15706:8;15716:10;15728:14;15744:11;15681:75;;;;;;;;;:::i;:::-;;;;;;;;15764:7;;15579:198;15915:22;15940:24;15956:7;15940:15;:24::i;:::-;15915:49;;15975:9;15970:340;15990:5;:12;15986:1;:16;15970:340;;;16017:9;16039:5;16045:1;16039:8;;;;;;;;:::i;:::-;;;;;;;16017:31;;16060:33;409:6:32;16060:4:20;:14;;;;;:33;;;;:::i;:::-;16056:248;;;16105:190;;;;;3536:35:4;;;;;16105:47:20;;:190;;16164:7;;16183:8;;16203:10;;16225:14;;16251:11;;16274;;16105:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16056:248;-1:-1:-1;16004:3:20;;15970:340;;;;16374:7;16358:75;16383:8;16393:10;16405:14;16421:11;16358:75;;;;;;;;;:::i;:::-;;;;;;;;16497:26;16526:59;16567:7;16576:8;16526:40;:59::i;:::-;16497:88;-1:-1:-1;16591:21:20;894:4:14;884:15;;16591:54:20;;16651:149;16689:18;16723:1;16740:10;:17;16780:13;16651;:149::i;:::-;16900:1;16867:30;:11;:28;:30::i;:::-;:34;16863:1174;;;16986:33;17022:66;17070:7;17079:8;17022:47;:66::i;:::-;695:28:19;;;16986:102:20;-1:-1:-1;894:4:14;884:15;;17262:47:20;;17418:27;17453:25;17491:7;17486:545;17504:30;:11;:28;:30::i;:::-;17500:1;:34;;;17486:545;;;17570:63;17612:7;17621:8;17631:1;17570:41;:63::i;:::-;17548:85;-1:-1:-1;17663:25:20;:14;17686:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;17663:25:20;17643:45;;17698:170;17740:19;17779:1;17800:17;17844:13;17698;:170::i;:::-;17878:34;17895:17;17878:34;;:::i;:::-;;-1:-1:-1;18009:3:20;;17486:545;;;;16903:1134;;;16863:1174;18111:9;18106:338;18126:5;:12;18122:1;:16;18106:338;;;18153:9;18175:5;18181:1;18175:8;;;;;;;;:::i;:::-;;;;;;;18153:31;;18196:32;503:6:32;18196:4:20;:14;;;;;:32;;;;:::i;:::-;18192:246;;;18240:189;;;;;3536:35:4;;;;;18240:46:20;;:189;;18298:7;;18317:8;;18337:10;;18359:14;;18385:11;;18408;;18240:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18192:246;-1:-1:-1;18140:3:20;;18106:338;;25172:355;25344:178;25378:7;25403:8;25433:63;25472:11;25485:10;25433:38;:63::i;:::-;25511:4;25344:16;:178::i;:::-;25172:355;;;;;:::o;708:400:45:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:45;1073:7;1082:20;1040:32;:63::i;:::-;1039:64;948:155;708:400;-1:-1:-1;;708:400:45:o;4132:576::-;4295:56;;15096:66:208;15084:79;;4295:56:45;;;15066:98:208;4234:4:45;;;;15039:18:208;;4295:56:45;;;-1:-1:-1;;4295:56:45;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:45;;-1:-1:-1;;4498:7:45;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:45:o;30802:790:20:-;31061:36;31100:66;31148:7;31157:8;31100:47;:66::i;:::-;31061:105;-1:-1:-1;31172:26:20;31208:49;31061:105;31239:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;31208:49:20;31172:86;;31296:291;31350:7;31375:8;31410:17;31460:19;31501:1;31516:10;31558:22;31296:36;:291::i;52834:191::-;52936:7;53000;53009:8;52983:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52983:35:20;;;;;;;;;52973:46;;52983:35;52973:46;;;;44394:22;52966:53;;52834:191;-1:-1:-1;;;52834:191:20:o;53851:242::-;53947:7;;;53986:84;54006:10;54002:14;;:1;:14;53986:84;;;54031:32;4629:93:3;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;54031:32:20;;:::i;:::-;;-1:-1:-1;54018:3:20;;53986:84;;;-1:-1:-1;54082:6:20;53851:242;-1:-1:-1;;;53851:242:20:o;8945:812:19:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:19;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;39214:522:20:-;39350:12;39474:257;39513:79;39555:7;39564:8;39574:17;39513:41;:79::i;:::-;39610:1;39629:93;39704:17;39629:66;39677:7;39686:8;39629:47;:66::i;:::-;:74;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;39629:93:20;39474:12;:257::i;2020:561:18:-;2111:5;2206:3;2198:5;:11;:32;;;;2219:4;:11;2213:3;:17;2198:32;2194:80;;;2257:4;2263:5;2270:3;2239:35;;;;;;;;;;;;;:::i;2194:80::-;2340:4;2330:15;;2387:16;2398:5;2330:15;2387:16;:::i;:::-;;-1:-1:-1;2409:12:18;2424:11;2430:5;2424:3;:11;:::i;:::-;709:17;2559:15;2551:3;2540:14;;;;2539:36;;;;;;-1:-1:-1;;;;;2020:561:18:o;40103:220:34:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;39802:222:35:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;26217:737:20:-;26468:36;26507:66;26555:7;26564:8;26507:47;:66::i;:::-;26468:105;-1:-1:-1;26579:26:20;26615:49;26468:105;26646:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;26615:49:20;26579:86;;26672:277;26726:7;26751:8;26786:17;26829:1;26851:19;26884:4;26920:22;26672:36;:277::i;4132:342:28:-;4248:16;;;4262:1;4248:16;;;;;;;;;4189:22;;4219:26;;4248:16;;;;;;;;;;;;-1:-1:-1;4248:16:28;4219:45;;4303:7;4270:9;4280:1;4270:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4318:18;4339:49;1100:66;4375:9;4318:18;4339:25;:49::i;:::-;4318:70;;4402:66;:44;4423:5;4430:1;4433:5;:12;4402:20;:44::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:19:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:19;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:19;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:19;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:19;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:19;;;;:::o;55399:230:20:-;55520:7;55604;55613:8;55587:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55587:35:20;;;;;;;;;55577:46;;55587:35;55577:46;;;;44557:40;55550:73;;55399:230;-1:-1:-1;;;55399:230:20:o;54770:274::-;54914:7;55019;55028:8;55002:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54992:46;;;;;;54971:17;54964:25;;54944:45;;;44466:34;54944:45;:94;54936:103;;54929:110;;54770:274;;;;;:::o;19084:1676::-;19284:23;19263:7;:44;;;19259:232;;19414:7;19370:100;19433:8;19450:5;19463:4;19370:100;;;;;;;;:::i;:::-;;;;;;;;19478:7;;19259:232;19497:16;19516:59;19557:7;19566:8;19516:40;:59::i;:::-;19497:78;;19721:22;19746:24;19762:7;19746:15;:24::i;:::-;19721:49;;19781:9;19776:328;19796:5;:12;19792:1;:16;19776:328;;;19823:9;19845:5;19851:1;19845:8;;;;;;;;:::i;:::-;;;;;;;19823:31;;19866:41;614:6:32;19866:4:20;:14;;;;;:41;;;;:::i;:::-;19862:236;;;19919:170;;;;;3536:35:4;;;;;19919:54:20;;:170;;19995:7;;20024:8;;20051:5;;20074:4;;19919:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19862:236;-1:-1:-1;19810:3:20;;19776:328;;;;20205:7;20161:100;20224:8;20241:5;20254:4;20161:100;;;;;;;;:::i;:::-;;;;;;;;20311:70;20343:8;20361:5;20311:70;;20374:4;20311:13;:70::i;:::-;20435:9;20430:326;20450:5;:12;20446:1;:16;20430:326;;;20477:9;20499:5;20505:1;20499:8;;;;;;;;:::i;:::-;;;;;;;20477:31;;20520:40;723:6:32;20520:4:20;:14;;;;;:40;;;;:::i;:::-;20516:234;;;20572:169;;;;;3536:35:4;;;;;20572:53:20;;:169;;20647:7;;20676:8;;20703:5;;20726:4;;20572:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20516:234;-1:-1:-1;20464:3:20;;20430:326;;55967:301;56088:13;56180:82;56211:48;56241:7;56250:8;56211:29;:48::i;:::-;4711:21:19;;4605:137;46287:3996:20;-1:-1:-1;;;46684:7:20;:35;;;46680:161;;-1:-1:-1;;;46791:7:20;46824;46807:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;46680:161:20;46847:27;46877:49;:22;46908:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;46877:49:20;46847:79;;46932:26;46997:4;:11;46983;46961:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46932:76;;47280:18;47257:19;:41;;:98;;;;-1:-1:-1;47336:19:20;47302:30;47321:11;47302:16;:30;:::i;:::-;:53;;;;47257:98;47253:218;;;47372:92;;;;;17896:12:208;17935:15;;;47372:92:20;;;17917:34:208;17987:15;;;17967:18;;;17960:43;18039:15;;18019:18;;;18012:43;17859:18;;47372:92:20;17690:371:208;47253:218:20;47577:19;47558:16;:38;;;47554:140;;;47613:74;;;;;;;;18239:25:208;;;18312:12;18300:25;;18280:18;;;18273:53;18212:18;;47613:74:20;18066:266:208;47554:140:20;47733:35;47771:72;:22;47805:17;47824:18;47771:33;:72::i;:::-;47733:110;;47990:22;48015:24;48031:7;48015:15;:24::i;:::-;47990:49;;48050:9;48045:486;48065:5;:12;48061:1;:16;48045:486;;;48092:9;48114:5;48120:1;48114:8;;;;;;;;:::i;:::-;;;;;;;48092:31;;48135:42;836:6:32;48135:4:20;:14;;;;;:42;;;;:::i;:::-;48131:394;;;3536:35:4;;;;48189:55:20;;;48266:7;48295:8;48334:17;48381:16;48422:11;48461:22;48501:4;48189:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48131:394;-1:-1:-1;48079:3:20;;48045:486;;;-1:-1:-1;48589:32:20;;;:13;48729:107;48747:17;48743:21;;:1;:21;;;48729:107;;;48792:33;:22;48823:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;48792:33:20;48783:42;;;;48766:3;;48729:107;;;;48958:7;48905:274;48985:8;49022:17;49063:5;49092:11;49129:21;49166:4;48905:274;;;;;;;;;;;:::i;:::-;;;;;;;;48537:649;49271:18;49248:19;:41;49244:248;;49299:31;49333:48;49363:7;49372:8;49333:29;:48::i;:::-;695:28:19;;;-1:-1:-1;49244:248:20;49549:27;49579:61;49603:7;49612:8;49622:17;49579:23;:61::i;:::-;49549:91;;49648:92;49680:19;49709:16;49648:92;;49733:4;49648:13;:92::i;:::-;49541:206;49801:9;49796:483;49816:5;:12;49812:1;:16;49796:483;;;49843:9;49865:5;49871:1;49865:8;;;;;;;;:::i;:::-;;;;;;;49843:31;;49886:41;947:6:32;49886:4:20;:14;;;;;:41;;;;:::i;:::-;49882:391;;;3536:35:4;;;;49939:54:20;;;50015:7;50044:8;50083:17;50130:16;50171:11;50210:21;50249:4;49939:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49882:391;-1:-1:-1;49830:3:20;;49796:483;;;;46530:3753;;;;46287:3996;;;;;;;:::o;5042:669:19:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:19;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:36:-;2801:22;2831:21;2855;:11;3001:3:18;2979:25;;2905:104;2855:21:36;2831:45;-1:-1:-1;709:17:18;3242:38;;2882:20:36;3044:11;3242:38:18;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:36;1474:15;;-1:-1:-1;;5373:16:19;1531:32:36;;;5373:16:19;5369:32;1503:4:36;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;966:162:19;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::14;884:15;;758:151;1098:24:19;1055:5;:68::i;7395:1488:15:-;7521:13;1070:16;7546:25;;7542:97;;;7588:44;;;;;;;;3043:25:208;;;3016:18;;7588:44:15;2897:177:208;7542:97:15;7701:13;6382:59;;;6999:16;;;988;6999;900;6988:27;6948:68;;;6926:92;;7964:38;;;7960:192;;8047:19;8029:15;:37;8014:52;;;;7960:192;;;8128:15;8106:19;:37;8091:52;;;;7960:192;-1:-1:-1;8468:16:15;900;988;8335;;;;8324:27;8460:35;;;8774:5;8613:26;8594:45;;;;8593:61;;;8755:24;;;;8784:34;;;;;8754:65;;-1:-1:-1;7395:1488:15;;;;;:::o;6076:2380:19:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:19;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:19;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:19;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:19;;;;:::o;14:332:208:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:208;623:20;;683:42;672:54;;662:65;;652:93;;741:1;738;731:12;756:316;874:6;882;935:2;923:9;914:7;910:23;906:32;903:52;;;951:1;948;941:12;903:52;987:9;974:23;964:33;;1016:50;1062:2;1051:9;1047:18;1016:50;:::i;:::-;1006:60;;756:316;;;;;:::o;1077:375::-;1148:8;1158:6;1212:3;1205:4;1197:6;1193:17;1189:27;1179:55;;1230:1;1227;1220:12;1179:55;-1:-1:-1;1253:20:208;;1296:18;1285:30;;1282:50;;;1328:1;1325;1318:12;1282:50;1365:4;1357:6;1353:17;1341:29;;1425:3;1418:4;1408:6;1405:1;1401:14;1393:6;1389:27;1385:38;1382:47;1379:67;;;1442:1;1439;1432:12;1379:67;1077:375;;;;;:::o;1457:1204::-;1755:6;1763;1771;1779;1787;1795;1803;1811;1864:3;1852:9;1843:7;1839:23;1835:33;1832:53;;;1881:1;1878;1871:12;1832:53;1917:9;1904:23;1894:33;;1974:2;1963:9;1959:18;1946:32;1936:42;;2025:2;2014:9;2010:18;1997:32;1987:42;;2076:2;2065:9;2061:18;2048:32;2038:42;;2131:3;2120:9;2116:19;2103:33;2155:18;2196:2;2188:6;2185:14;2182:34;;;2212:1;2209;2202:12;2182:34;2251:78;2321:7;2312:6;2301:9;2297:22;2251:78;:::i;:::-;2348:8;;-1:-1:-1;2225:104:208;-1:-1:-1;2436:3:208;2421:19;;2408:33;;-1:-1:-1;2453:16:208;;;2450:36;;;2482:1;2479;2472:12;2450:36;;2521:80;2593:7;2582:8;2571:9;2567:24;2521:80;:::i;:::-;1457:1204;;;;-1:-1:-1;1457:1204:208;;-1:-1:-1;1457:1204:208;;;;;;2620:8;-1:-1:-1;;;1457:1204:208:o;3079:473::-;3204:6;3212;3220;3273:2;3261:9;3252:7;3248:23;3244:32;3241:52;;;3289:1;3286;3279:12;3241:52;3325:9;3312:23;3302:33;;3354:50;3400:2;3389:9;3385:18;3354:50;:::i;:::-;3344:60;;3454:2;3443:9;3439:18;3426:32;3498:4;3491:5;3487:16;3480:5;3477:27;3467:55;;3518:1;3515;3508:12;3467:55;3541:5;3531:15;;;3079:473;;;;;:::o;3557:250::-;3642:1;3652:113;3666:6;3663:1;3660:13;3652:113;;;3742:11;;;3736:18;3723:11;;;3716:39;3688:2;3681:10;3652:113;;;-1:-1:-1;;3799:1:208;3781:16;;3774:27;3557:250::o;3812:330::-;3854:3;3892:5;3886:12;3919:6;3914:3;3907:19;3935:76;4004:6;3997:4;3992:3;3988:14;3981:4;3974:5;3970:16;3935:76;:::i;:::-;4056:2;4044:15;-1:-1:-1;;4040:88:208;4031:98;;;;4131:4;4027:109;;3812:330;-1:-1:-1;;3812:330:208:o;4147:322::-;4355:6;4344:9;4337:25;4398:2;4393;4382:9;4378:18;4371:30;4318:4;4418:45;4459:2;4448:9;4444:18;4436:6;4418:45;:::i;4474:184::-;-1:-1:-1;;;4523:1:208;4516:88;4623:4;4620:1;4613:15;4647:4;4644:1;4637:15;4663:334;4734:2;4728:9;4790:2;4780:13;;-1:-1:-1;;4776:86:208;4764:99;;4893:18;4878:34;;4914:22;;;4875:62;4872:88;;;4940:18;;:::i;:::-;4976:2;4969:22;4663:334;;-1:-1:-1;4663:334:208:o;5002:1602::-;5140:9;5174:18;5215:2;5207:6;5204:14;5201:40;;;5221:18;;:::i;:::-;5267:6;5264:1;5260:14;5293:4;5317:28;5341:2;5337;5333:11;5317:28;:::i;:::-;5379:19;;;5449:14;;;;5414:12;;;;5486:14;5475:26;;5472:46;;;5514:1;5511;5504:12;5472:46;5538:5;5552:1019;5568:6;5563:3;5560:15;5552:1019;;;5654:3;5641:17;5690:2;5677:11;5674:19;5671:109;;;5734:1;5763:2;5759;5752:14;5671:109;5803:23;;5849:4;5893:14;5880:11;;;5876:32;5866:130;;5950:1;5979:2;5975;5968:14;5866:130;6032:2;6019:16;6058:2;6054;6051:10;6048:36;;;6064:18;;:::i;:::-;6110:110;6216:2;-1:-1:-1;;6142:2:208;6138;6134:11;6130:84;6126:93;6110:110;:::i;:::-;6097:123;;6247:2;6240:5;6233:17;6291:14;6286:2;6281;6277;6273:11;6269:20;6266:40;6263:130;;;6347:1;6376:2;6372;6365:14;6263:130;6448:2;6443;6439;6435:11;6430:2;6423:5;6419:14;6406:45;6496:1;6475:14;;;6471:23;;6464:34;6511:18;;-1:-1:-1;6549:12:208;;;;5585;;5552:1019;;;-1:-1:-1;6593:5:208;5002:1602;-1:-1:-1;;;;;;;5002:1602:208:o;6609:340::-;6786:2;6775:9;6768:21;6749:4;6806:45;6847:2;6836:9;6832:18;6824:6;6806:45;:::i;:::-;6798:53;;6899:42;6891:6;6887:55;6882:2;6871:9;6867:18;6860:83;6609:340;;;;;:::o;6954:184::-;-1:-1:-1;;;7003:1:208;6996:88;7103:4;7100:1;7093:15;7127:4;7124:1;7117:15;7143:125;7208:9;;;7229:10;;;7226:36;;;7242:18;;:::i;7273:925::-;7722:66;7714:6;7710:79;7705:3;7698:92;7680:3;7809;7841:2;7837:1;7832:3;7828:11;7821:23;7873:6;7867:13;7889:74;7956:6;7952:1;7947:3;7943:11;7936:4;7928:6;7924:17;7889:74;:::i;:::-;7991:6;7986:3;7982:16;7972:26;;8026:2;8022:1;8018:2;8014:10;8007:22;8060:6;8054:13;8038:29;;8076:75;8142:8;8138:1;8134:2;8130:10;8123:4;8115:6;8111:17;8076:75;:::i;:::-;8171:17;8190:1;8167:25;;7273:925;-1:-1:-1;;;;;7273:925:208:o;8421:464::-;8667:66;8659:6;8655:79;8644:9;8637:98;8771:6;8766:2;8755:9;8751:18;8744:34;8814:2;8809;8798:9;8794:18;8787:30;8618:4;8834:45;8875:2;8864:9;8860:18;8852:6;8834:45;:::i;9143:184::-;-1:-1:-1;;;9192:1:208;9185:88;9292:4;9289:1;9282:15;9316:4;9313:1;9306:15;9332:862;9494:4;9523:2;9563;9552:9;9548:18;9593:2;9582:9;9575:21;9616:6;9651;9645:13;9682:6;9674;9667:22;9720:2;9709:9;9705:18;9698:25;;9782:2;9772:6;9769:1;9765:14;9754:9;9750:30;9746:39;9732:53;;9820:2;9812:6;9808:15;9841:1;9851:314;9865:6;9862:1;9859:13;9851:314;;;9954:66;9942:9;9934:6;9930:22;9926:95;9921:3;9914:108;10045:40;10078:6;10069;10063:13;10045:40;:::i;:::-;10035:50;-1:-1:-1;10143:12:208;;;;10108:15;;;;9887:1;9880:9;9851:314;;;-1:-1:-1;10182:6:208;;9332:862;-1:-1:-1;;;;;;;9332:862:208:o;10572:184::-;-1:-1:-1;;;10621:1:208;10614:88;10721:4;10718:1;10711:15;10745:4;10742:1;10735:15;11211:128;11278:9;;;11299:11;;;11296:37;;;11313:18;;:::i;11344:168::-;11417:9;;;11448;;11465:15;;;11459:22;;11445:37;11435:71;;11486:18;;:::i;12385:492::-;12560:3;12598:6;12592:13;12614:66;12673:6;12668:3;12661:4;12653:6;12649:17;12614:66;:::i;:::-;12743:13;;12702:16;;;;12765:70;12743:13;12702:16;12812:4;12800:17;;12765:70;:::i;:::-;12851:20;;12385:492;-1:-1:-1;;;;12385:492:208:o;12882:439::-;12935:3;12973:5;12967:12;13000:6;12995:3;12988:19;13026:4;13055;13050:3;13046:14;13039:21;;13094:4;13087:5;13083:16;13117:1;13127:169;13141:6;13138:1;13135:13;13127:169;;;13202:13;;13190:26;;13236:12;;;;13271:15;;;;13163:1;13156:9;13127:169;;;-1:-1:-1;13312:3:208;;12882:439;-1:-1:-1;;;;;12882:439:208:o;13326:690::-;13659:3;13648:9;13641:22;13622:4;13686:57;13738:3;13727:9;13723:19;13715:6;13686:57;:::i;:::-;13791:9;13783:6;13779:22;13774:2;13763:9;13759:18;13752:50;13825:33;13851:6;13843;13825:33;:::i;:::-;13811:47;;13894:6;13889:2;13878:9;13874:18;13867:34;13949:9;13941:6;13937:22;13932:2;13921:9;13917:18;13910:50;13977:33;14003:6;13995;13977:33;:::i;14021:896::-;14472:6;14461:9;14454:25;14515:3;14510:2;14499:9;14495:18;14488:31;14435:4;14542:57;14594:3;14583:9;14579:19;14571:6;14542:57;:::i;:::-;14647:9;14639:6;14635:22;14630:2;14619:9;14615:18;14608:50;14681:33;14707:6;14699;14681:33;:::i;:::-;14667:47;;14750:6;14745:2;14734:9;14730:18;14723:34;14806:9;14798:6;14794:22;14788:3;14777:9;14773:19;14766:51;14834:33;14860:6;14852;14834:33;:::i;:::-;14826:41;;;14904:6;14898:3;14887:9;14883:19;14876:35;14021:896;;;;;;;;;:::o;15175:639::-;15425:6;15420:3;15413:19;15395:3;15451:2;15484;15479:3;15475:12;15516:6;15510:13;15581:2;15573:6;15569:15;15602:1;15612:175;15626:6;15623:1;15620:13;15612:175;;;15689:13;;15675:28;;15725:14;;;;15762:15;;;;15648:1;15641:9;15612:175;;;-1:-1:-1;15803:5:208;;15175:639;-1:-1:-1;;;;;;;15175:639:208:o;15819:184::-;-1:-1:-1;;;15868:1:208;15861:88;15968:4;15965:1;15958:15;15992:4;15989:1;15982:15;16008:360;16211:2;16200:9;16193:21;16174:4;16231:45;16272:2;16261:9;16257:18;16249:6;16231:45;:::i;:::-;16307:2;16292:18;;16285:34;;;;-1:-1:-1;16350:2:208;16335:18;16328:34;16223:53;16008:360;-1:-1:-1;16008:360:208:o;16373:512::-;16624:2;16613:9;16606:21;16587:4;16650:56;16702:2;16691:9;16687:18;16679:6;16650:56;:::i;:::-;16754:14;16746:6;16742:27;16737:2;16726:9;16722:18;16715:55;16818:9;16810:6;16806:22;16801:2;16790:9;16786:18;16779:50;16846:33;16872:6;16864;16846:33;:::i;:::-;16838:41;16373:512;-1:-1:-1;;;;;;16373:512:208:o;16890:616::-;17200:6;17189:9;17182:25;17243:3;17238:2;17227:9;17223:18;17216:31;17163:4;17270:57;17322:3;17311:9;17307:19;17299:6;17270:57;:::i;:::-;17375:14;17367:6;17363:27;17358:2;17347:9;17343:18;17336:55;17439:9;17431:6;17427:22;17422:2;17411:9;17407:18;17400:50;17467:33;17493:6;17485;17467:33;:::i;17511:174::-;17578:12;17610:10;;;17622;;;17606:27;;17645:11;;;17642:37;;;17659:18;;:::i;:::-;17642:37;17511:174;;;;:::o;18337:899::-;18759:6;18748:9;18741:25;18802:3;18797:2;18786:9;18782:18;18775:31;18722:4;18829:57;18881:3;18870:9;18866:19;18858:6;18829:57;:::i;:::-;18934:4;18922:17;;18917:2;18902:18;;18895:45;18959:12;19007:15;;;19002:2;18987:18;;18980:43;19060:15;;19054:3;19039:19;;19032:44;19107:3;19092:19;;19085:35;;;19157:22;;;19151:3;19136:19;;19129:51;19197:33;19161:6;19215;19197:33;:::i;:::-;19189:41;18337:899;-1:-1:-1;;;;;;;;;;18337:899:208:o;19241:787::-;19604:3;19593:9;19586:22;19567:4;19631:57;19683:3;19672:9;19668:19;19660:6;19631:57;:::i;:::-;19736:4;19728:6;19724:17;19719:2;19708:9;19704:18;19697:45;19790:14;19782:6;19778:27;19773:2;19762:9;19758:18;19751:55;19854:12;19846:6;19842:25;19837:2;19826:9;19822:18;19815:53;19905:6;19899:3;19888:9;19884:19;19877:35;19961:9;19953:6;19949:22;19943:3;19932:9;19928:19;19921:51;19989:33;20015:6;20007;19989:33;:::i;:::-;19981:41;19241:787;-1:-1:-1;;;;;;;;;19241:787:208:o","linkReferences":{},"immutableReferences":{"35856":[{"start":937,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","supportsInterface(bytes4)":"01ffc9a7","unregisterStoreHook(bytes32,address)":"05609129"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FieldLayoutLib_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"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\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"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\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract provides functionality for the registration of store-related resources within the World framework.\",\"errors\":{\"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.\"}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"registerStoreHook(bytes32,address,uint8)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.\",\"params\":{\"enabledHooksBitmap\":\"A bitmap indicating which hook functionalities are enabled.\",\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table for which the hook is being registered.\"}},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"details\":\"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.\",\"params\":{\"fieldLayout\":\"The field layout structure for the table.\",\"fieldNames\":\"The names of the fields in the table.\",\"keyNames\":\"The names associated with the keys in the table.\",\"keySchema\":\"The schema for the keys of the table.\",\"tableId\":\"The resource ID of the table.\",\"valueSchema\":\"The schema for the values within the table.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterStoreHook(bytes32,address)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs.\",\"params\":{\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table from which the hook is being unregistered.\"}}},\"title\":\"Store Registration System\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"registerStoreHook(bytes32,address,uint8)\":{\"notice\":\"Register a storage hook for a specified table.\"},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"notice\":\"Register a table within the World framework.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterStoreHook(bytes32,address)\":{\"notice\":\"Unregister a previously registered storage hook for a specified table.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":\"StoreRegistrationSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea\",\"dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40\",\"dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd\",\"dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1\",\"dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71\",\"dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d\",\"dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619\",\"dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2\",\"dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x1bbf8a76e921eadf1db34beae3f7b0825b8cc1bc0596edac30ae93be98a62654\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04b3dcf91a8d414d14a5446dc5a8e6b0df070bae8e2a9aee699d45f3faf5f536\",\"dweb:/ipfs/QmZKeAH3enK4byQ65a3EJDdAuSwLsMDiWi2pyG1gC1RQLr\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544\",\"dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271\",\"dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761\",\"dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a\",\"dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf\",\"dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff\",\"dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x4ca92b682610ae2c6636a5c196ccf837417b67ce1495b06ed30ac6fd09ed964e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16bdacafc7a9f73c753259fbe3d9de4e50578359efee9f523ceb367de3ae78e5\",\"dweb:/ipfs/QmUBkgKVMSsYbn4wmEbCyHhGLBVrViCMR6u1SQdEvpyq7f\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0xa138b23cf8a6c7783e25c1daa359cd4208b410808f816eb8182ce4f284290fe6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f34ba67c233887b67bafc0eed258c873898bb4ee8bb054287e2c7abbc6621d\",\"dweb:/ipfs/QmZsEu66KL3GsaKkCjSAf7RN7GBUXcBPuDsiot6TUtR97q\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xef3b8ea518e69884ef8fcfa56a34b9b53ba9ddec43ec549da8e2e90543329ac8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ae33ee2ebaeb6c321c39742c2c8a5125444aa15ef825b8f6113f04ae0194c4a\",\"dweb:/ipfs/Qme9myURbe5DzCT6oBiY4Gn7nGESsjXw7dBRUQWWBeXBq4\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0xb6a2475d33990b8c3646c62c22b92718955af66af95f2a1caac0cbb29b27efa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebdbcb2da135f43f46a5acb4562422315bd6b3d7c4b8a224ec62b26d4326f0a2\",\"dweb:/ipfs/QmTYFbcAEdn81FVkBCBjezo9F53E1uxsEk68gw2rLCUevP\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca\",\"dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243\",\"dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x0ccdb0f2e1d2586e9a7e433e6b927938663a214fab69ba5c857cfb43418f7746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb385a338d9697498beee8d9a9557ff33510ee5755c37a488f98c099111b9ceb\",\"dweb:/ipfs/QmRvvbX54ADo4QeBRTLkmGBSqgMWu4fqkqc3Qcb954YgKE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9\",\"dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729\",\"dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x7bef07381674a5aa5eed9e59c41feca3e7fc00283249bff4a9cd8690a68785dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d6946cff935909a91e6638677f0b4df774e403d5daa21683cd6dbcff0eb6ecb\",\"dweb:/ipfs/QmSJvMTqpgC2zSwyYNicmRiLrocuyQStTSe4oStZPUvkX7\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/constants.sol\":{\"keccak256\":\"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752\",\"dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86\",\"dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9\",\"dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241\",\"dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"FieldLayoutLib_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyFields"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"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":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"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":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"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"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"}],"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."}},"registerStoreHook(bytes32,address,uint8)":{"details":"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.","params":{"enabledHooksBitmap":"A bitmap indicating which hook functionalities are enabled.","hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table for which the hook is being registered."}},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"details":"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.","params":{"fieldLayout":"The field layout structure for the table.","fieldNames":"The names of the fields in the table.","keyNames":"The names associated with the keys in the table.","keySchema":"The schema for the keys of the table.","tableId":"The resource ID of the table.","valueSchema":"The schema for the values within the table."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterStoreHook(bytes32,address)":{"details":"The caller must be the owner of the namespace to which the table belongs.","params":{"hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table from which the hook is being unregistered."}}},"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."},"registerStoreHook(bytes32,address,uint8)":{"notice":"Register a storage hook for a specified table."},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"notice":"Register a table within the World framework."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterStoreHook(bytes32,address)":{"notice":"Unregister a previously registered storage hook for a specified table."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":"StoreRegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4","urls":["bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea","dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf","urls":["bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40","dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0","urls":["bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd","dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1","urls":["bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1","dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006","urls":["bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71","dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e","urls":["bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d","dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9","urls":["bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619","dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5","urls":["bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2","dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x1bbf8a76e921eadf1db34beae3f7b0825b8cc1bc0596edac30ae93be98a62654","urls":["bzz-raw://04b3dcf91a8d414d14a5446dc5a8e6b0df070bae8e2a9aee699d45f3faf5f536","dweb:/ipfs/QmZKeAH3enK4byQ65a3EJDdAuSwLsMDiWi2pyG1gC1RQLr"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07","urls":["bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544","dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0","urls":["bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271","dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7","urls":["bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761","dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1","urls":["bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a","dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7","urls":["bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf","dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797","urls":["bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff","dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x4ca92b682610ae2c6636a5c196ccf837417b67ce1495b06ed30ac6fd09ed964e","urls":["bzz-raw://16bdacafc7a9f73c753259fbe3d9de4e50578359efee9f523ceb367de3ae78e5","dweb:/ipfs/QmUBkgKVMSsYbn4wmEbCyHhGLBVrViCMR6u1SQdEvpyq7f"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0xa138b23cf8a6c7783e25c1daa359cd4208b410808f816eb8182ce4f284290fe6","urls":["bzz-raw://25f34ba67c233887b67bafc0eed258c873898bb4ee8bb054287e2c7abbc6621d","dweb:/ipfs/QmZsEu66KL3GsaKkCjSAf7RN7GBUXcBPuDsiot6TUtR97q"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xef3b8ea518e69884ef8fcfa56a34b9b53ba9ddec43ec549da8e2e90543329ac8","urls":["bzz-raw://6ae33ee2ebaeb6c321c39742c2c8a5125444aa15ef825b8f6113f04ae0194c4a","dweb:/ipfs/Qme9myURbe5DzCT6oBiY4Gn7nGESsjXw7dBRUQWWBeXBq4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0xb6a2475d33990b8c3646c62c22b92718955af66af95f2a1caac0cbb29b27efa4","urls":["bzz-raw://ebdbcb2da135f43f46a5acb4562422315bd6b3d7c4b8a224ec62b26d4326f0a2","dweb:/ipfs/QmTYFbcAEdn81FVkBCBjezo9F53E1uxsEk68gw2rLCUevP"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15","urls":["bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca","dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9","urls":["bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243","dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x0ccdb0f2e1d2586e9a7e433e6b927938663a214fab69ba5c857cfb43418f7746","urls":["bzz-raw://eb385a338d9697498beee8d9a9557ff33510ee5755c37a488f98c099111b9ceb","dweb:/ipfs/QmRvvbX54ADo4QeBRTLkmGBSqgMWu4fqkqc3Qcb954YgKE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e","urls":["bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9","dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac","urls":["bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729","dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x7bef07381674a5aa5eed9e59c41feca3e7fc00283249bff4a9cd8690a68785dd","urls":["bzz-raw://9d6946cff935909a91e6638677f0b4df774e403d5daa21683cd6dbcff0eb6ecb","dweb:/ipfs/QmSJvMTqpgC2zSwyYNicmRiLrocuyQStTSe4oStZPUvkX7"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/constants.sol":{"keccak256":"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9","urls":["bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752","dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":{"keccak256":"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498","urls":["bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86","dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4","urls":["bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9","dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b","urls":["bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241","dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":90}
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":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"FieldLayoutLib_Empty","inputs":[]},{"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","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_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","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"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516132bf61003060003960006103a901526132bf6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063119df25f1161005b578063119df25f146100d257806345ec9354146100ff578063530f4b6014610112578063e1af802c1461012557600080fd5b806301ffc9a71461008257806305609129146100aa5780630ba51f49146100bf575b600080fd5b610095610090366004612a9c565b61012d565b60405190151581526020015b60405180910390f35b6100bd6100b8366004612b02565b6101c6565b005b6100bd6100cd366004612b7a565b6101ed565b6100da6102e0565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b604051601f1936013581526020016100a1565b6100bd610120366004612c10565b6102ef565b6100da610388565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101c057507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6101ce610392565b6101df826101da6102e0565b610403565b6101e982826104be565b5050565b6101f5610392565b6000610200896104e9565b6fffffffffffffffffffffffffffffffff19160361025f578761022289610500565b6040517fe4ac069e000000000000000000000000000000000000000000000000000000008152600401610256929190612ca6565b60405180910390fd5b6102aa7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008a161761062e565b6102b6886101da6102e0565b6102d6888888886102c7888a612d06565b6102d18789612d06565b61067c565b5050505050505050565b60006102ea610adf565b905090565b6102f7610392565b610321827f1873396a00000000000000000000000000000000000000000000000000000000610b11565b61036c7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161761062e565b610378836101da6102e0565b610383838383610b91565b505050565b60006102ea610c7f565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610401576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b73ffffffffffffffffffffffffffffffffffffffff81166104657f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617610c89565b73ffffffffffffffffffffffffffffffffffffffff16146101e95761048982610500565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610256929190612ddb565b6101e97f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610d25565b60006104f760706010612e29565b9190911b919050565b606081601081901b6000610513836104e9565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561056e576105697fffffffffffffffffffffffffffff0000000000000000000000000000000000008416610e66565b6105a5565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff198316156105cc576105c783610e66565b610603565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161061593929190612e3c565b6040516020818303038152906040529350505050919050565b61063781610ef0565b610679578061064582610500565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610256929190612ca6565b50565b613a3160f11b867fffff00000000000000000000000000000000000000000000000000000000000016148015906106f557507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561075657613a3160f11b868760405160200161071491815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610256939291600401612eca565b61075f85610f8d565b61076a8460016111d4565b6107758360006111d4565b60e084901c60e885901c0160ff168251146107d55760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60e085901c60e886901c0160ff168151146108355760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146108ad5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b6108b685611379565b6108bf84611379565b14610911576108cd85611379565b6108d684611379565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b61091a856113ab565b610923846113ab565b1461097557610931856113ab565b61093a846113ab565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60005b61098186611379565b811015610a1c576109ab61099585836113c8565b60c58111156109a6576109a6612f0b565b6113f0565b6008601b8390030287901c60ff1614610a14576008601b8290030286901c60ff166109d961099586846113c8565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b600101610978565b50610a2686610ef0565b15610a80578586604051602001610a3f91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102569291600401612ca6565b610acc8686868686604051602001610a989190612f21565b60405160208183030381529060405286604051602001610ab89190612f21565b60405160208183030381529060405261144a565b610ad786600161152d565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610b0e5750335b90565b610b1b82826115e6565b6101e9576040517f74b5e6ff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201527fffffffff0000000000000000000000000000000000000000000000000000000082166024820152604401610256565b613a3160f11b837fffff0000000000000000000000000000000000000000000000000000000000001614610bd957613a3160f11b838460405160200161071491815260200190565b610be283610ef0565b610c3b578283604051602001610bfa91815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102569291600401612ca6565b610383837fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166bff0000000000000000000000605885901b1617611602565b60006102ea6116bb565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610cc257610cc2612fa3565b60209081029190910101526000610d1a7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611707565b60601c949350505050565b6000610d31848461173d565b90506000815167ffffffffffffffff811115610d4f57610d4f612cbf565b604051908082528060200260200182016040528015610d78578160200160208202803683370190505b5090506000805b8351811015610e57578473ffffffffffffffffffffffffffffffffffffffff16610dd0858381518110610db457610db4612fa3565b60200260200101516affffffffffffffffffffff191660601c90565b73ffffffffffffffffffffffffffffffffffffffff1614610e4f57838181518110610dfd57610dfd612fa3565b6020026020010151838381518110610e1757610e17612fa3565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b600101610d7f565b50808252610ad78686846117a8565b606060005b6010811015610ebc576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ebc57600101610e6b565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f2957610f29612fa3565b60209081029190910101526000610f817f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611707565b9050610ee88160f81c90565b80610fc4576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610fcf826113ab565b90506005811115611016576040517f7f2372c30000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401610256565b600061102183611379565b9050600061102f8383612e29565b9050601c811115611076576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401610256565b6000805b838110156111215760ff601b82900360080287901c1660008190036110ce576040517f01f2a07c00000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b602081111561110c576040517f24c85d5800000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b6111168184612e29565b92505060010161107a565b5061112b85611805565b81146111775761113a85611805565b6040517f9365944a000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610256565b825b601c811015610ad75760ff601b82900360080287901c1680156111cb576040517fbb68821a00000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b50600101611179565b801580156111e0575081155b1561120157604051635318beb960e01b815260006004820152602401610256565b600061120c836113ab565b9050600581111561123357604051635318beb960e01b815260048101829052602401610256565b600061123e84611379565b9050600061124c8383612e29565b9050601c81111561127357604051635318beb960e01b815260048101829052602401610256565b6000805b838110156112df57600061128e61099589846113c8565b9050806000036112ca576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112d48184612e29565b925050600101611277565b506112e986611805565b8114611314576112f886611805565b604051635318beb960e01b815260040161025691815260200190565b825b8281101561137057600061132d61099589846113c8565b90508015611367576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611316565b50505050505050565b60006008600161138b60026020612fb9565b6113959190612fb9565b61139f9190612fcc565b8260ff911c1692915050565b600060086001806113be60026020612fb9565b61138b9190612fb9565b6000601b8290036008028360ff911c1660c58111156113e9576113e9612f0b565b9392505050565b6000808260c581111561140557611405612f0b565b60ff169050606181101561141f57601f1660010192915050565b60618360c581111561143357611433612f0b565b036114415750601492915050565b50600092915050565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006114818484611828565b9050600061148f8585611845565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106114c9576114c9612fa3565b60209081029190910101526115217f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611871565b50505050505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061156357611563612fa3565b6020026020010181815250506103837f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016115b191151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611baa565b60006115f183611bc6565b80156113e957506113e98383611c2a565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061163857611638612fa3565b6020026020010181815250506103837f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016116a791907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052611cfa565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680611702573391505090565b919050565b60006117346117168686611d35565b60ff858116601b0360080285901c1661172f8587611d8b565b611dc4565b95945050505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061177757611777612fa3565b602002602001018181525050600061179185836000611e15565b90506117346117a38260008451611e4f565b611edd565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106117de576117de612fa3565b6020026020010181815250506117ff848260006117fa86611eee565b611efe565b50505050565b6000600861181560026020612fb9565b61181f9190612fcc565b9190911c919050565b8151815160009181810160389190911b1760609190911b176113e9565b6060828260405160200161185a929190612fe3565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036118fd57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516118f0949392919061304e565b60405180910390a2610ad7565b600061190887611f39565b905060005b81518110156119e157600082828151811061192a5761192a612fa3565b602002602001015190506119566001826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156119d8576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119a5908c908c908c908c908c908c9060040161308d565b600060405180830381600087803b1580156119bf57600080fd5b505af11580156119d3573d6000803e3d6000fd5b505050505b5060010161190d565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a18949392919061304e565b60405180910390a26000611a2c8888611d35565b90506000602087019050611a44826000895184611fdb565b6000611a4f856113ab565b1115611ad3576000611a618a8a61209a565b878155905060208601915060008060005b611a7b886113ab565b8160ff161015611ace57611a908d8d836120f0565b9250611aab8a8260ff166028026038011c64ffffffffff1690565b9150611aba8360008488611fdb565b611ac48286612e29565b9450600101611a72565b505050505b60005b8351811015611521576000848281518110611af357611af3612fa3565b60200260200101519050611b1f6002826affffffffffffffffffffff1916611fbd90919063ffffffff16565b15611ba1576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611b6e908e908e908e908e908e908e9060040161308d565b600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b505050505b50600101611ad6565b611bbf8585611bb98487611d8b565b85612170565b5050505050565b6000611bf2827f01ffc9a700000000000000000000000000000000000000000000000000000000611c2a565b80156101c05750611c23827fffffffff00000000000000000000000000000000000000000000000000000000611c2a565b1592915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000082166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015611ce3575060208210155b8015611cef5750600081115b979650505050505050565b6000611d06858561240b565b90506000611d23828560ff166028026038011c64ffffffffff1690565b9050610ad7868686846000888861241e565b60008282604051602001611d4a9291906130e6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611dbc57611db260ff601b83900360080287901c1683612e29565b9150600101611d90565b509392505050565b600060208210611dea57602082048401935060208281611de657611de6613122565b0691505b508254600882021b602082900380841115611dbc576001850154600882021c82179150509392505050565b6060610ee8611e258585856120f0565b6000611e4a85611e35898961240b565b9060ff166028026038011c64ffffffffff1690565b6127fa565b600081831180611e5f5750835182115b15611e9c578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161025693929190613138565b60208401611eaa8482612e29565b90506000611eb88585612fb9565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006113e9836015600061281d565b6060816113e98160156000612898565b6000611f0a858561240b565b90506000611f27828560ff166028026038011c64ffffffffff1690565b9050610ad7868686600085888861241e565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611f7357611f73612fa3565b60209081029190910101526000611fab7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611e15565b9050610ee86117a38260008451611e4f565b60008160ff1682611fce8560581c90565b1660ff1614905092915050565b821561205557602083106120055760208304840193506020838161200157612001613122565b0692505b82156120555760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116120465750506117ff565b50600194909401939182900391015b5b602082106120775780518455600190930192601f1990910190602001612056565b81156117ff576000600019600884021c8554835182191691161785555050505050565b600082826040516020016120af9291906130e6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016121059291906130e6565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036121fa57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516121ed9392919061315d565b60405180910390a26117ff565b60006122068585611d35565b9050600061221386611f39565b905060005b81518110156122e857600082828151811061223557612235612fa3565b602002602001015190506122616004826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156122df576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906122ac908b908b908b908b9060040161319a565b600060405180830381600087803b1580156122c657600080fd5b505af11580156122da573d6000803e3d6000fd5b505050505b50600101612218565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161231d9392919061315d565b60405180910390a2612338828565ffffffffffff16856128ec565b60005b815181101561137057600082828151811061235857612358612fa3565b602002602001015190506123846008826affffffffffffffffffffff1916611fbd90919063ffffffff16565b15612402576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906123cf908b908b908b908b9060040161319a565b600060405180830381600087803b1580156123e957600080fd5b505af11580156123fd573d6000803e3d6000fd5b505050505b5060010161233b565b60006113e961241a848461209a565b5490565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461246657613a3160f11b878860405160200161071491815260200190565b6000612481828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361249a9190612fb9565b6124a49190612e29565b90508082141580156124c65750816124bc86886131d3565b64ffffffffff1614155b15612516576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610256565b818664ffffffffff161115612567576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610256565b6000612574848984612902565b905060006125818b611f39565b905060005b81518110156126595760008282815181106125a3576125a3612fa3565b602002602001015190506125cf6010826affffffffffffffffffffff1916611fbd90919063ffffffff16565b1561265057606081901c73ffffffffffffffffffffffffffffffffffffffff166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161261d97969594939291906131f8565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612586565b5064ffffffffff881660005b8a60ff168160ff1610156126985761268c878260ff166028026038011c64ffffffffff1690565b90910190600101612665565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516126d396959493929190613256565b60405180910390a2508284146126f45760006126ef8c8c61209a565b839055505b60006127018c8c8c6120f0565b9050612715818a64ffffffffff16896128ec565b5060005b81518110156127ec57600082828151811061273657612736612fa3565b602002602001015190506127626020826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156127e357606081901c73ffffffffffffffffffffffffffffffffffffffff1663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016127b097969594939291906131f8565b600060405180830381600087803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b505050505b50600101612719565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252611dbc858585846129d0565b6060600061282b8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161285157612851613122565b04905060405193506020840160208202810160405281855260005b8281101561288c578451871c82529387019360209091019060010161286c565b50505050509392505050565b825160609060006128a98583612fcc565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561288c578051871b835291870191600191909101906020016128cb565b610383838383516128fd8560200190565b611fdb565b600064ffffffffff821115612946576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106129785780850382019150612980565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215612a5757602083106129fa576020830484019350602083816129f6576129f6613122565b0692505b8215612a57576020839003600081841015612a1d5750600019600884021c612a27565b50600019600882021c5b8554600886021b818451168219821617845250818411612a485750506117ff565b50600194909401939182900391015b5b60208210612a795783548152600190930192601f1990910190602001612a58565b81156117ff576000600019600884021c8251865482191691161782525050505050565b600060208284031215612aae57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146113e957600080fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461170257600080fd5b60008060408385031215612b1557600080fd5b82359150612b2560208401612ade565b90509250929050565b60008083601f840112612b4057600080fd5b50813567ffffffffffffffff811115612b5857600080fd5b6020830191508360208260051b8501011115612b7357600080fd5b9250929050565b60008060008060008060008060c0898b031215612b9657600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115612bca57600080fd5b612bd68c838d01612b2e565b909650945060a08b0135915080821115612bef57600080fd5b50612bfc8b828c01612b2e565b999c989b5096995094979396929594505050565b600080600060608486031215612c2557600080fd5b83359250612c3560208501612ade565b9150604084013560ff81168114612c4b57600080fd5b809150509250925092565b60005b83811015612c71578181015183820152602001612c59565b50506000910152565b60008151808452612c92816020860160208601612c56565b601f01601f19169290920160200192915050565b828152604060208201526000610ee86040830184612c7a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612cfe57612cfe612cbf565b604052919050565b600067ffffffffffffffff80841115612d2157612d21612cbf565b8360051b6020612d32818301612cd5565b868152918501918181019036841115612d4a57600080fd5b865b84811015612dcf57803586811115612d645760008081fd5b8801601f3681830112612d775760008081fd5b813588811115612d8957612d89612cbf565b612d9a87601f198484011601612cd5565b91508082523687828501011115612db15760008081fd5b80878401888401376000908201870152845250918301918301612d4c565b50979650505050505050565b604081526000612dee6040830185612c7a565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c0576101c0612e13565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612e9d816003860160208901612c56565b808401905081600382015284519150612ebd826004830160208801612c56565b0160040195945050505050565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006117346060830184612c7a565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612f96577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612f84858351612c7a565b94509285019290850190600101612f4a565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b818103818111156101c0576101c0612e13565b80820281158282048414176101c0576101c0612e13565b60008351612ff5818460208801612c56565b835190830190613009818360208801612c56565b01949350505050565b60008151808452602080850194506020840160005b8381101561304357815187529582019590820190600101613027565b509495945050505050565b6080815260006130616080830187613012565b82810360208401526130738187612c7a565b90508460408401528281036060840152611cef8185612c7a565b86815260c0602082015260006130a660c0830188613012565b82810360408401526130b88188612c7a565b905085606084015282810360808401526130d28186612c7a565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b82811015613115578151845292840192908401906001016130f9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061314b6060830186612c7a565b60208301949094525060400152919050565b6060815260006131706060830186613012565b65ffffffffffff8516602084015282810360408401526131908185612c7a565b9695505050505050565b8481526080602082015260006131b36080830186613012565b65ffffffffffff851660408401528281036060840152611cef8185612c7a565b64ffffffffff8181168382160190808211156131f1576131f1612e13565b5092915050565b87815260e06020820152600061321160e0830189613012565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526132488185612c7a565b9a9950505050505050505050565b60c08152600061326960c0830189613012565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526132a58185612c7a565b999850505050505050505056fea164736f6c6343000818000a","sourceMap":"1181:3225:90:-:0;;;981:4:82;938:48;;1181:3225:90;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063119df25f1161005b578063119df25f146100d257806345ec9354146100ff578063530f4b6014610112578063e1af802c1461012557600080fd5b806301ffc9a71461008257806305609129146100aa5780630ba51f49146100bf575b600080fd5b610095610090366004612a9c565b61012d565b60405190151581526020015b60405180910390f35b6100bd6100b8366004612b02565b6101c6565b005b6100bd6100cd366004612b7a565b6101ed565b6100da6102e0565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b604051601f1936013581526020016100a1565b6100bd610120366004612c10565b6102ef565b6100da610388565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101c057507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6101ce610392565b6101df826101da6102e0565b610403565b6101e982826104be565b5050565b6101f5610392565b6000610200896104e9565b6fffffffffffffffffffffffffffffffff19160361025f578761022289610500565b6040517fe4ac069e000000000000000000000000000000000000000000000000000000008152600401610256929190612ca6565b60405180910390fd5b6102aa7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008a161761062e565b6102b6886101da6102e0565b6102d6888888886102c7888a612d06565b6102d18789612d06565b61067c565b5050505050505050565b60006102ea610adf565b905090565b6102f7610392565b610321827f1873396a00000000000000000000000000000000000000000000000000000000610b11565b61036c7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161761062e565b610378836101da6102e0565b610383838383610b91565b505050565b60006102ea610c7f565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610401576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b73ffffffffffffffffffffffffffffffffffffffff81166104657f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617610c89565b73ffffffffffffffffffffffffffffffffffffffff16146101e95761048982610500565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610256929190612ddb565b6101e97f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610d25565b60006104f760706010612e29565b9190911b919050565b606081601081901b6000610513836104e9565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561056e576105697fffffffffffffffffffffffffffff0000000000000000000000000000000000008416610e66565b6105a5565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff198316156105cc576105c783610e66565b610603565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161061593929190612e3c565b6040516020818303038152906040529350505050919050565b61063781610ef0565b610679578061064582610500565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610256929190612ca6565b50565b613a3160f11b867fffff00000000000000000000000000000000000000000000000000000000000016148015906106f557507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561075657613a3160f11b868760405160200161071491815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610256939291600401612eca565b61075f85610f8d565b61076a8460016111d4565b6107758360006111d4565b60e084901c60e885901c0160ff168251146107d55760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60e085901c60e886901c0160ff168151146108355760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146108ad5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b6108b685611379565b6108bf84611379565b14610911576108cd85611379565b6108d684611379565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b61091a856113ab565b610923846113ab565b1461097557610931856113ab565b61093a846113ab565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b60005b61098186611379565b811015610a1c576109ab61099585836113c8565b60c58111156109a6576109a6612f0b565b6113f0565b6008601b8390030287901c60ff1614610a14576008601b8290030286901c60ff166109d961099586846113c8565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610256565b600101610978565b50610a2686610ef0565b15610a80578586604051602001610a3f91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102569291600401612ca6565b610acc8686868686604051602001610a989190612f21565b60405160208183030381529060405286604051602001610ab89190612f21565b60405160208183030381529060405261144a565b610ad786600161152d565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610b0e5750335b90565b610b1b82826115e6565b6101e9576040517f74b5e6ff00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201527fffffffff0000000000000000000000000000000000000000000000000000000082166024820152604401610256565b613a3160f11b837fffff0000000000000000000000000000000000000000000000000000000000001614610bd957613a3160f11b838460405160200161071491815260200190565b610be283610ef0565b610c3b578283604051602001610bfa91815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102569291600401612ca6565b610383837fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166bff0000000000000000000000605885901b1617611602565b60006102ea6116bb565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610cc257610cc2612fa3565b60209081029190910101526000610d1a7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611707565b60601c949350505050565b6000610d31848461173d565b90506000815167ffffffffffffffff811115610d4f57610d4f612cbf565b604051908082528060200260200182016040528015610d78578160200160208202803683370190505b5090506000805b8351811015610e57578473ffffffffffffffffffffffffffffffffffffffff16610dd0858381518110610db457610db4612fa3565b60200260200101516affffffffffffffffffffff191660601c90565b73ffffffffffffffffffffffffffffffffffffffff1614610e4f57838181518110610dfd57610dfd612fa3565b6020026020010151838381518110610e1757610e17612fa3565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b600101610d7f565b50808252610ad78686846117a8565b606060005b6010811015610ebc576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ebc57600101610e6b565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f2957610f29612fa3565b60209081029190910101526000610f817f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611707565b9050610ee88160f81c90565b80610fc4576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610fcf826113ab565b90506005811115611016576040517f7f2372c30000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401610256565b600061102183611379565b9050600061102f8383612e29565b9050601c811115611076576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401610256565b6000805b838110156111215760ff601b82900360080287901c1660008190036110ce576040517f01f2a07c00000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b602081111561110c576040517f24c85d5800000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b6111168184612e29565b92505060010161107a565b5061112b85611805565b81146111775761113a85611805565b6040517f9365944a000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610256565b825b601c811015610ad75760ff601b82900360080287901c1680156111cb576040517fbb68821a00000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b50600101611179565b801580156111e0575081155b1561120157604051635318beb960e01b815260006004820152602401610256565b600061120c836113ab565b9050600581111561123357604051635318beb960e01b815260048101829052602401610256565b600061123e84611379565b9050600061124c8383612e29565b9050601c81111561127357604051635318beb960e01b815260048101829052602401610256565b6000805b838110156112df57600061128e61099589846113c8565b9050806000036112ca576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112d48184612e29565b925050600101611277565b506112e986611805565b8114611314576112f886611805565b604051635318beb960e01b815260040161025691815260200190565b825b8281101561137057600061132d61099589846113c8565b90508015611367576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611316565b50505050505050565b60006008600161138b60026020612fb9565b6113959190612fb9565b61139f9190612fcc565b8260ff911c1692915050565b600060086001806113be60026020612fb9565b61138b9190612fb9565b6000601b8290036008028360ff911c1660c58111156113e9576113e9612f0b565b9392505050565b6000808260c581111561140557611405612f0b565b60ff169050606181101561141f57601f1660010192915050565b60618360c581111561143357611433612f0b565b036114415750601492915050565b50600092915050565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006114818484611828565b9050600061148f8585611845565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106114c9576114c9612fa3565b60209081029190910101526115217f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611871565b50505050505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061156357611563612fa3565b6020026020010181815250506103837f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016115b191151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611baa565b60006115f183611bc6565b80156113e957506113e98383611c2a565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061163857611638612fa3565b6020026020010181815250506103837f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016116a791907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052611cfa565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680611702573391505090565b919050565b60006117346117168686611d35565b60ff858116601b0360080285901c1661172f8587611d8b565b611dc4565b95945050505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061177757611777612fa3565b602002602001018181525050600061179185836000611e15565b90506117346117a38260008451611e4f565b611edd565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106117de576117de612fa3565b6020026020010181815250506117ff848260006117fa86611eee565b611efe565b50505050565b6000600861181560026020612fb9565b61181f9190612fcc565b9190911c919050565b8151815160009181810160389190911b1760609190911b176113e9565b6060828260405160200161185a929190612fe3565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036118fd57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516118f0949392919061304e565b60405180910390a2610ad7565b600061190887611f39565b905060005b81518110156119e157600082828151811061192a5761192a612fa3565b602002602001015190506119566001826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156119d8576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119a5908c908c908c908c908c908c9060040161308d565b600060405180830381600087803b1580156119bf57600080fd5b505af11580156119d3573d6000803e3d6000fd5b505050505b5060010161190d565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a18949392919061304e565b60405180910390a26000611a2c8888611d35565b90506000602087019050611a44826000895184611fdb565b6000611a4f856113ab565b1115611ad3576000611a618a8a61209a565b878155905060208601915060008060005b611a7b886113ab565b8160ff161015611ace57611a908d8d836120f0565b9250611aab8a8260ff166028026038011c64ffffffffff1690565b9150611aba8360008488611fdb565b611ac48286612e29565b9450600101611a72565b505050505b60005b8351811015611521576000848281518110611af357611af3612fa3565b60200260200101519050611b1f6002826affffffffffffffffffffff1916611fbd90919063ffffffff16565b15611ba1576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611b6e908e908e908e908e908e908e9060040161308d565b600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b505050505b50600101611ad6565b611bbf8585611bb98487611d8b565b85612170565b5050505050565b6000611bf2827f01ffc9a700000000000000000000000000000000000000000000000000000000611c2a565b80156101c05750611c23827fffffffff00000000000000000000000000000000000000000000000000000000611c2a565b1592915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000082166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015611ce3575060208210155b8015611cef5750600081115b979650505050505050565b6000611d06858561240b565b90506000611d23828560ff166028026038011c64ffffffffff1690565b9050610ad7868686846000888861241e565b60008282604051602001611d4a9291906130e6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611dbc57611db260ff601b83900360080287901c1683612e29565b9150600101611d90565b509392505050565b600060208210611dea57602082048401935060208281611de657611de6613122565b0691505b508254600882021b602082900380841115611dbc576001850154600882021c82179150509392505050565b6060610ee8611e258585856120f0565b6000611e4a85611e35898961240b565b9060ff166028026038011c64ffffffffff1690565b6127fa565b600081831180611e5f5750835182115b15611e9c578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161025693929190613138565b60208401611eaa8482612e29565b90506000611eb88585612fb9565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006113e9836015600061281d565b6060816113e98160156000612898565b6000611f0a858561240b565b90506000611f27828560ff166028026038011c64ffffffffff1690565b9050610ad7868686600085888861241e565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611f7357611f73612fa3565b60209081029190910101526000611fab7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611e15565b9050610ee86117a38260008451611e4f565b60008160ff1682611fce8560581c90565b1660ff1614905092915050565b821561205557602083106120055760208304840193506020838161200157612001613122565b0692505b82156120555760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116120465750506117ff565b50600194909401939182900391015b5b602082106120775780518455600190930192601f1990910190602001612056565b81156117ff576000600019600884021c8554835182191691161785555050505050565b600082826040516020016120af9291906130e6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016121059291906130e6565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036121fa57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516121ed9392919061315d565b60405180910390a26117ff565b60006122068585611d35565b9050600061221386611f39565b905060005b81518110156122e857600082828151811061223557612235612fa3565b602002602001015190506122616004826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156122df576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906122ac908b908b908b908b9060040161319a565b600060405180830381600087803b1580156122c657600080fd5b505af11580156122da573d6000803e3d6000fd5b505050505b50600101612218565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161231d9392919061315d565b60405180910390a2612338828565ffffffffffff16856128ec565b60005b815181101561137057600082828151811061235857612358612fa3565b602002602001015190506123846008826affffffffffffffffffffff1916611fbd90919063ffffffff16565b15612402576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906123cf908b908b908b908b9060040161319a565b600060405180830381600087803b1580156123e957600080fd5b505af11580156123fd573d6000803e3d6000fd5b505050505b5060010161233b565b60006113e961241a848461209a565b5490565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461246657613a3160f11b878860405160200161071491815260200190565b6000612481828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361249a9190612fb9565b6124a49190612e29565b90508082141580156124c65750816124bc86886131d3565b64ffffffffff1614155b15612516576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610256565b818664ffffffffff161115612567576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610256565b6000612574848984612902565b905060006125818b611f39565b905060005b81518110156126595760008282815181106125a3576125a3612fa3565b602002602001015190506125cf6010826affffffffffffffffffffff1916611fbd90919063ffffffff16565b1561265057606081901c73ffffffffffffffffffffffffffffffffffffffff166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161261d97969594939291906131f8565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612586565b5064ffffffffff881660005b8a60ff168160ff1610156126985761268c878260ff166028026038011c64ffffffffff1690565b90910190600101612665565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516126d396959493929190613256565b60405180910390a2508284146126f45760006126ef8c8c61209a565b839055505b60006127018c8c8c6120f0565b9050612715818a64ffffffffff16896128ec565b5060005b81518110156127ec57600082828151811061273657612736612fa3565b602002602001015190506127626020826affffffffffffffffffffff1916611fbd90919063ffffffff16565b156127e357606081901c73ffffffffffffffffffffffffffffffffffffffff1663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016127b097969594939291906131f8565b600060405180830381600087803b1580156127ca57600080fd5b505af11580156127de573d6000803e3d6000fd5b505050505b50600101612719565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252611dbc858585846129d0565b6060600061282b8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161285157612851613122565b04905060405193506020840160208202810160405281855260005b8281101561288c578451871c82529387019360209091019060010161286c565b50505050509392505050565b825160609060006128a98583612fcc565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561288c578051871b835291870191600191909101906020016128cb565b610383838383516128fd8560200190565b611fdb565b600064ffffffffff821115612946576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610256565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106129785780850382019150612980565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215612a5757602083106129fa576020830484019350602083816129f6576129f6613122565b0692505b8215612a57576020839003600081841015612a1d5750600019600884021c612a27565b50600019600882021c5b8554600886021b818451168219821617845250818411612a485750506117ff565b50600194909401939182900391015b5b60208210612a795783548152600190930192601f1990910190602001612a58565b81156117ff576000600019600884021c8251865482191691161782525050505050565b600060208284031215612aae57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146113e957600080fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461170257600080fd5b60008060408385031215612b1557600080fd5b82359150612b2560208401612ade565b90509250929050565b60008083601f840112612b4057600080fd5b50813567ffffffffffffffff811115612b5857600080fd5b6020830191508360208260051b8501011115612b7357600080fd5b9250929050565b60008060008060008060008060c0898b031215612b9657600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115612bca57600080fd5b612bd68c838d01612b2e565b909650945060a08b0135915080821115612bef57600080fd5b50612bfc8b828c01612b2e565b999c989b5096995094979396929594505050565b600080600060608486031215612c2557600080fd5b83359250612c3560208501612ade565b9150604084013560ff81168114612c4b57600080fd5b809150509250925092565b60005b83811015612c71578181015183820152602001612c59565b50506000910152565b60008151808452612c92816020860160208601612c56565b601f01601f19169290920160200192915050565b828152604060208201526000610ee86040830184612c7a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612cfe57612cfe612cbf565b604052919050565b600067ffffffffffffffff80841115612d2157612d21612cbf565b8360051b6020612d32818301612cd5565b868152918501918181019036841115612d4a57600080fd5b865b84811015612dcf57803586811115612d645760008081fd5b8801601f3681830112612d775760008081fd5b813588811115612d8957612d89612cbf565b612d9a87601f198484011601612cd5565b91508082523687828501011115612db15760008081fd5b80878401888401376000908201870152845250918301918301612d4c565b50979650505050505050565b604081526000612dee6040830185612c7a565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c0576101c0612e13565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612e9d816003860160208901612c56565b808401905081600382015284519150612ebd826004830160208801612c56565b0160040195945050505050565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006117346060830184612c7a565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612f96577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612f84858351612c7a565b94509285019290850190600101612f4a565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b818103818111156101c0576101c0612e13565b80820281158282048414176101c0576101c0612e13565b60008351612ff5818460208801612c56565b835190830190613009818360208801612c56565b01949350505050565b60008151808452602080850194506020840160005b8381101561304357815187529582019590820190600101613027565b509495945050505050565b6080815260006130616080830187613012565b82810360208401526130738187612c7a565b90508460408401528281036060840152611cef8185612c7a565b86815260c0602082015260006130a660c0830188613012565b82810360408401526130b88188612c7a565b905085606084015282810360808401526130d28186612c7a565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b82811015613115578151845292840192908401906001016130f9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061314b6060830186612c7a565b60208301949094525060400152919050565b6060815260006131706060830186613012565b65ffffffffffff8516602084015282810360408401526131908185612c7a565b9695505050505050565b8481526080602082015260006131b36080830186613012565b65ffffffffffff851660408401528281036060840152611cef8185612c7a565b64ffffffffff8181168382160190808211156131f1576131f1612e13565b5092915050565b87815260e06020820152600061321160e0830189613012565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526132488185612c7a565b9a9950505050505050505050565b60c08152600061326960c0830189613012565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526132a58185612c7a565b999850505050505050505056fea164736f6c6343000818000a","sourceMap":"1181:3225:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:58;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;2331:198:58;;;;;;;;4111:293:90;;;;;;:::i;:::-;;:::i;:::-;;1963:748;;;;;;:::i;:::-;;:::i;1262:113:58:-;;;:::i;:::-;;;2842:42:208;2830:55;;;2812:74;;2800:2;2785:18;1262:113:58;2666:226:208;1616:110:58;;;-1:-1:-1;;3800:14:58;3796:25;3783:39;3043:25:208;;3031:2;3016:18;1616:110:58;2897:177:208;3174:595:90;;;;;;:::i;:::-;;:::i;1942:98:58:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:58;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:58:o;4111:293:90:-;1061:20:82;:18;:20::i;:::-;4265:49:90::1;4292:7;4301:12;:10;:12::i;:::-;4265:26;:49::i;:::-;4348:51;4378:7;4387:11;4348:29;:51::i;:::-;4111:293:::0;;:::o;1963:748::-;1061:20:82;:18;:20::i;:::-;2278:9:90::1;2257:17;:7:::0;:15:::1;:17::i;:::-;-1:-1:-1::0;;2257:30:90::1;::::0;2253:110:::1;;2328:7;2337:18;:7;:16;:18::i;:::-;2304:52;;;;;;;;;;;;:::i;:::-;;;;;;;;2253:110;2415:56;696:18:99::0;578:36:59;2952:46;;2951:74;2415:30:90::1;:56::i;:::-;2533:49;2560:7;2569:12;:10;:12::i;2533:49::-;2615:91;2639:7:::0;2648:11;2661:9;2672:11;2615:91:::1;2685:8:::0;;2615:91:::1;:::i;:::-;;2695:10:::0;;2615:91:::1;:::i;:::-;:23;:91::i;:::-;1963:748:::0;;;;;;;;:::o;1262:113:58:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3174:595:90:-;1061:20:82;:18;:20::i;:::-;3387:68:90::1;3412:11;3426:28;3387:16;:68::i;:::-;3508:56;696:18:99::0;578:36:59;2952:46;;2951:74;2415:30:90::1;:56::i;3508:::-;3614:49;3641:7;3650:12;:10;:12::i;3614:49::-;3695:69;3723:7;3732:11;3745:18;3695:27;:69::i;:::-;3174:595:::0;;;:::o;1942:98:58:-;1981:7;2003:32;:30;:32::i;1179:189:82:-;1248:23;1265:6;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;2140:233:42:-;2225:58;;;:48;696:18:99;578:36:59;2952:46;;2951:74;2225:19:42;:48::i;:::-;:58;;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;13067:172:20:-;13155:79;968:66:28;13204:7:20;13221:11;13155:27;:79::i;3162:160:59:-;3225:7;3289:26;438:6;451:5:16;3289:26:59;:::i;:::-;3255:61;;;;;3162:160;-1:-1:-1;3162:160:59:o;3483:592::-;3547:13;3617:10;451:5:16;2634:44:59;;;3568:19;3715;3617:10;3715:7;:19::i;:::-;3692:42;-1:-1:-1;3797:12:59;3836:35;;;;:102;;3885:53;;;;:34;:53::i;:::-;3836:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3965:25:59;;;:87;;4004:48;4039:12;4004:34;:48::i;:::-;3965:87;;;;;;;;;;;;;;;;;;;;;3769:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3740:330;;;;;3483:592;;;:::o;2602:206:42:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;2671:133::-;2602:206;:::o;9023:2614:20:-;-1:-1:-1;;;9283:7:20;:35;;;;;;:83;;-1:-1:-1;9343:23:20;9322:7;:44;;;;9283:83;9279:209;;;-1:-1:-1;;;9438:7:20;9471;9454:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;9454:25:20;;;;-1:-1:-1;;9454:25:20;;;;;;;;;;9383:98;;;;;;;;;;:::i;9279:209::-;9534:22;:11;:20;:22::i;:::-;9597:40;:9;9630:4;9597:18;:40::i;:::-;9643:43;:11;9678:5;9643:20;:43::i;:::-;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;9774:8:20;:15;:40;9770:148;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;9895:15:20;;9831:80;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;9831:80:20;8890:248:208;9770:148:20;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;9968:10:20;:17;:44;9964:158;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;10097:17:20;;10029:86;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;10029:86:20;8890:248:208;9964:158:20;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;10179:50:20;10175:171;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;10246:93:20;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;10246:93:20;8890:248:208;10175:171:20;10388:29;:11;:27;:29::i;:::-;10355;:11;:27;:29::i;:::-;:62;10351:225;;10493:29;:11;:27;:29::i;:::-;10532;:11;:27;:29::i;:::-;10434:135;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;10434:135:20;8890:248:208;10351:225:20;10619:30;:11;:28;:30::i;:::-;10585;:11;:28;:30::i;:::-;:64;10581:230;;10726:30;:11;:28;:30::i;:::-;10766;:11;:28;:30::i;:::-;10666:138;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;10666:138:20;8890:248:208;10581:230:20;10908:9;10903:314;10923:29;:11;:27;:29::i;:::-;10919:1;:33;10903:314;;;10997:44;:22;:11;11017:1;10997:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:30;4677:19:3;:27;;;4676:44;4642:79;;;4629:93;;10971:70:20;10967:244;;579:1:30;4677:19:3;:27;;;4676:44;4642:79;;;4629:93;;11148:44:20;:22;:11;11168:1;11148:19;:22::i;:44::-;11060:142;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;9037:18;;11060:142:20;8890:248:208;10967:244:20;10954:3;;10903:314;;;;11279:31;11302:7;11279:22;:31::i;:::-;11275:140;;;11365:7;11398;11381:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;11381:25:20;;;;-1:-1:-1;;11381:25:20;;;;;;;;;;11327:81;;;;;;;;;:::i;11275:140::-;11456:103;11468:7;11477:11;11490:9;11501:11;11525:8;11514:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;11547:10;11536:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;11456:11;:103::i;:::-;11595:37;11618:7;11627:4;11595:22;:37::i;:::-;9023:2614;;;;;;:::o;2992:383:58:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:58;3325:45;2992:383;:::o;692:238:93:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;10401:42:208;10389:55;;853:70:93;;;10371:74:208;10493:66;10481:79;;10461:18;;;10454:107;10344:18;;853:70:93;10199:368:208;12239:624:20;-1:-1:-1;;;12423:7:20;:35;;;12419:161;;-1:-1:-1;;;12530:7:20;12563;12546:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;12419:161:20;12625:31;12648:7;12625:22;:31::i;:::-;12620:136;;12706:7;12739;12722:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;12722:25:20;;;;-1:-1:-1;;12722:25:20;;;;;;;;;;12673:76;;;;;;;;;:::i;12620:136::-;12762:96;12779:7;1045:29:4;1053:20;;;;1045:29;1077:30;;;;;;1045:62;12762:16:20;:96::i;4048:97:58:-;4089:7;4111:29;:27;:29::i;3747:306:74:-;3858:16;;;3872:1;3858:16;;;;;;;;;3808:13;;;;3858:16;;;;;;;;;;;;-1:-1:-1;3858:16:74;3829:45;;3913:11;3880:9;3890:1;3880:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3932:13;3948:62;1166:66;3983:9;3932:13;1295:66;3948:24;:62::i;:::-;4024:23;;;3747:306;-1:-1:-1;;;;3747:306:74:o;1474:1069:4:-;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:4;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;2072:87;;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;:87;;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;1862:322:59:-;1932:13;1953:14;1973:80;1989:2;1980:6;:11;1973:80;;;-1:-1:-1;;2007:34:59;;3218:1:2;3214:13;;3210:24;2007:39:59;;2003:50;2048:5;2003:50;1993:8;;1973:80;;;2089:30;;;-1:-1:-1;;10902:79:208;;2089:30:59;;;10890:92:208;2089:30:59;;10998:12:208;;;;2089:30:59;;;875:21:2;;;2089:30:59;2139:39;2125:54;1862:322;-1:-1:-1;;;;1862:322:59:o;2855:314:27:-;2969:16;;;2983:1;2969:16;;;;;;;;;2921:11;;;;2969:16;;;;;;;;;;;;-1:-1:-1;2969:16:27;2940:45;;3024:10;2991:9;3001:1;2991:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3042:13;3058:62;970:66;3093:9;3042:13;1099:66;3058:24;:62::i;:::-;3042:78;;3134:29;3155:5;3142:20;;1650:10:16;1541:126;6972:1658:3;6655:45;7035:86;;7077:37;;;;;;;;;;;;;;7035:86;7127:25;7155:30;:11;:28;:30::i;:::-;7127:58;;944:1:30;7195:17:3;:38;7191:155;;;7250:89;;;;;;;;9064:25:208;;;944:1:30;9105:18:208;;;9098:34;9037:18;;7250:89:3;8890:248:208;7191:155:3;7352:24;7379:29;:11;:27;:29::i;:::-;7352:56;-1:-1:-1;7414:23:3;7440:36;7459:17;7352:56;7440:36;:::i;:::-;7414:62;;689:2:30;7486:15:3;:34;7482:140;;;7537:78;;;;;;;;9064:25:208;;;689:2:30;9105:18:208;;;9098:34;9037:18;;7537:78:3;8890:248:208;7482:140:3;7664:25;7700:9;7695:427;7715:16;7711:1;:20;7695:427;;;4629:93;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;7743:24;7804:21;;;7800:232;;7844:51;;;;;;;;3043:25:208;;;3016:18;;7844:51:3;2897:177:208;7800:232:3;376:2:30;7914:16:3;:28;7910:122;;;7961:62;;;;;;;;3043:25:208;;;3016:18;;7961:62:3;2897:177:208;7910:122:3;8039:37;8060:16;8039:37;;:::i;:::-;;-1:-1:-1;;8104:3:3;;7695:427;;;;8189:30;:11;:28;:30::i;:::-;8168:17;:51;8164:183;;8290:30;:11;:28;:30::i;:::-;8236:104;;;;;;;;9064:25:208;;;;9105:18;;;9098:34;;;9037:18;;8236:104:3;8890:248:208;8164:183:3;8403:16;8386:240;689:2:30;8421:1:3;:20;8386:240;;;4629:93;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;8517:21;;8513:107;;8557:54;;;;;;;;3043:25:208;;;3016:18;;8557:54:3;2897:177:208;8513:107:3;-1:-1:-1;8443:3:3;;8386:240;;5932:1629:17;6039:10;6038:11;:31;;;;-1:-1:-1;6655:45:3;;6053:16:17;6034:80;;;6078:36;;-1:-1:-1;;;6078:36:17;;6112:1;6078:36;;;3043:25:208;3016:18;;6078:36:17;2897:177:208;6034:80:17;6177:25;6205;:6;:23;:25::i;:::-;6177:53;;944:1:30;6240:17:17;:38;6236:103;;;6287:52;;-1:-1:-1;;;6287:52:17;;;;;3043:25:208;;;3016:18;;6287:52:17;2897:177:208;6236:103:17;6346:24;6373;:6;:22;:24::i;:::-;6346:51;-1:-1:-1;6467:23:17;6493:36;6512:17;6346:51;6493:36;:::i;:::-;6467:62;;689:2:30;6539:15:17;:34;6535:97;;;6582:50;;-1:-1:-1;;;6582:50:17;;;;;3043:25:208;;;3016:18;;6582:50:17;2897:177:208;6535:97:17;6693:25;6729:9;6724:313;6744:16;6740:1;:20;6724:313;;;6772:24;6799:39;:17;:6;6814:1;6799:14;:17::i;:39::-;6772:66;;6850:16;6870:1;6850:21;6846:101;;6890:48;;;;;;;;;;;;;;6846:101;6954:37;6975:16;6954:37;;:::i;:::-;;-1:-1:-1;;7019:3:17;;6724:313;;;;7105:25;:6;:23;:25::i;:::-;7084:17;:46;7080:134;;7181:25;:6;:23;:25::i;:::-;7147:60;;-1:-1:-1;;;7147:60:17;;;;;;3043:25:208;;3031:2;3016:18;;2897:177;7080:134:17;7289:16;7272:285;7311:15;7307:1;:19;7272:285;;;7338:24;7365:39;:17;:6;7380:1;7365:14;:17::i;:39::-;7338:66;-1:-1:-1;7416:20:17;;7412:100;;7455:48;;;;;;;;;;;;;;7412:100;-1:-1:-1;7539:3:17;;7272:285;;;;5996:1565;;;;5932:1629;;:::o;5333:171:3:-;5406:7;579:1:30;1533;1517:13;1529:1;376:2;1517:13;:::i;:::-;:17;;;;:::i;:::-;1516:34;;;;:::i;:::-;5442:11:3;5421:78;5434:64;;5421:78;;5333:171;-1:-1:-1;;5333:171:3:o;5731:173::-;5805:7;579:1:30;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;4191:206:17:-;4261:10;4351:19;:27;;;4382:1;4350:33;4329:6;4304:82;4321:63;;4304:82;;;;;;;;;:::i;:::-;4297:89;4191:206;-1:-1:-1;;;4191:206:17: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;19791:676:29:-;24345:53;;;;;;12253:19:208;;;12288:12;;;12281:28;;;24318:12:29;12325::208;;;12318:28;;;24345:53:29;;;;;;;;;;12362:12:208;;;;24345:53:29;;;20082:29;20114:55;20128:18;20148:20;20114:13;:55::i;:::-;20082:87;;20175:25;20203:55;20217:18;20237:20;20203:13;:55::i;:::-;20294:16;;;20308:1;20294:16;;;;;;;;;20175:83;;-1:-1:-1;20265:26:29;;20294:16;;;;;;;;;;;;-1:-1:-1;20294:16:29;20265:45;;20349:7;20316:9;20326:1;20316:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20364:98;1210:66;20394:9;20405:11;20418:15;20435:12;1339:66;20364:19;:98::i;:::-;19993:474;;;;19791:676;;;;;;:::o;4219:268:27:-;4319:16;;;4333:1;4319:16;;;;;;;;;4290:26;;4319:16;;;;;;;;;;;-1:-1:-1;4319:16:27;4290:45;;4374:10;4341:9;4351:1;4341:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4392:90;970:66;954:83;;4427:9;4438:1;4459:6;4441:26;;;;;;11668:14:208;11661:22;11656:3;11652:32;11640:45;;11710:1;11701:11;;11517:201;4441:26:27;;;;-1:-1:-1;;4441:26:27;;;;;;;;;1099:66;4392:24;:90::i;1312:272:45:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;9655:254:28:-;9752:16;;;9766:1;9752:16;;;;;;;;;9723:26;;9752:16;;;;;;;;;;;-1:-1:-1;9752:16:28;9723:45;;9807:7;9774:9;9784:1;9774:12;;;;;;;;:::i;:::-;;;;;;:41;;;;;9822:82;968:66;952:83;;9861:9;9872:1;9893:8;9875:28;;;;;;;11876:66:208;11864:79;;;;11852:92;;11969:2;11960:12;;11723:255;9875:28:28;;;;;;;;;;;;;9822;:82::i;1832:227:24:-;1062:42;1921:22;1882:7;;1921:22;;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:24:o;38189:541:20:-;38346:7;38483:242;38527:59;38568:7;38577:8;38527:40;:59::i;:::-;38604:31;;;;4677:19:3;:27;579:1:30;4676:44:3;4642:79;;;4629:93;38653:63:20;38692:11;38705:10;38653:38;:63::i;:::-;38483:17;:242::i;:::-;38470:255;38189:541;-1:-1:-1;;;;;38189:541:20:o;3524:369:26:-;3664:16;;;3678:1;3664:16;;;;;;;;;3605:22;;3635:26;;3664:16;;;;;;;;;;;;-1:-1:-1;3664:16:26;3635:45;;3719:10;3686:9;3696:1;3686:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3737:18;3758:49;3784:8;3794:9;3805:1;3758:25;:49::i;:::-;3737:70;;3821:66;:44;3842:5;3849:1;3852:5;:12;3821:20;:44::i;:::-;:64;:66::i;4911:282::-;5037:16;;;5051:1;5037:16;;;;;;;;;5008:26;;5037:16;;;;;;;;;;;-1:-1:-1;5037:16:26;5008:45;;5092:10;5059:9;5069:1;5059:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5110:78;5136:8;5146:9;5157:1;5160:27;5180:5;5160:18;:27::i;:::-;5110:25;:78::i;:::-;5002:191;4911:282;;;:::o;4952:171:3:-;5026:7;579:1:30;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;5048:70:3;;;;;4952:171;-1:-1:-1;4952:171:3:o;24594:388:29:-;24902:32;;24936:34;;24720:29;;2576:5:15;;;900:16;2607:39;;;;2589:58;2688:23;2673:39;;;;2655:58;24880:91:29;2435:344:15;25147:234:29;25273:12;25324:18;25353:20;25300:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;25293:83;;25147:234;;;;:::o;15294:3138:20:-;15588:23;15567:7;:44;;;15563:198;;15681:7;15665:75;15690:8;15700:10;15712:14;15728:11;15665:75;;;;;;;;;:::i;:::-;;;;;;;;15748:7;;15563:198;15899:22;15924:24;15940:7;15924:15;:24::i;:::-;15899:49;;15959:9;15954:340;15974:5;:12;15970:1;:16;15954:340;;;16001:9;16023:5;16029:1;16023:8;;;;;;;;:::i;:::-;;;;;;;16001:31;;16044:33;409:6:32;16044:4:20;:14;;;;;:33;;;;:::i;:::-;16040:248;;;16089:190;;;;;3536:35:4;;;;;16089:47:20;;:190;;16148:7;;16167:8;;16187:10;;16209:14;;16235:11;;16258;;16089:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16040:248;-1:-1:-1;15988:3:20;;15954:340;;;;16358:7;16342:75;16367:8;16377:10;16389:14;16405:11;16342:75;;;;;;;;;:::i;:::-;;;;;;;;16481:26;16510:59;16551:7;16560:8;16510:40;:59::i;:::-;16481:88;-1:-1:-1;16575:21:20;894:4:14;884:15;;16575:54:20;;16635:149;16673:18;16707:1;16724:10;:17;16764:13;16635;:149::i;:::-;16884:1;16851:30;:11;:28;:30::i;:::-;:34;16847:1174;;;16970:33;17006:66;17054:7;17063:8;17006:47;:66::i;:::-;695:28:19;;;16970:102:20;-1:-1:-1;894:4:14;884:15;;17246:47:20;;17402:27;17437:25;17475:7;17470:545;17488:30;:11;:28;:30::i;:::-;17484:1;:34;;;17470:545;;;17554:63;17596:7;17605:8;17615:1;17554:41;:63::i;:::-;17532:85;-1:-1:-1;17647:25:20;:14;17670:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;17647:25:20;17627:45;;17682:170;17724:19;17763:1;17784:17;17828:13;17682;:170::i;:::-;17862:34;17879:17;17862:34;;:::i;:::-;;-1:-1:-1;17993:3:20;;17470:545;;;;16887:1134;;;16847:1174;18095:9;18090:338;18110:5;:12;18106:1;:16;18090:338;;;18137:9;18159:5;18165:1;18159:8;;;;;;;;:::i;:::-;;;;;;;18137:31;;18180:32;503:6:32;18180:4:20;:14;;;;;:32;;;;:::i;:::-;18176:246;;;18224:189;;;;;3536:35:4;;;;;18224:46:20;;:189;;18282:7;;18301:8;;18321:10;;18343:14;;18369:11;;18392;;18224:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18176:246;-1:-1:-1;18124:3:20;;18090:338;;25156:355;25328:178;25362:7;25387:8;25417:63;25456:11;25469:10;25417:38;:63::i;:::-;25495:4;25328:16;:178::i;:::-;25156:355;;;;;:::o;708:400:45:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:45;1073:7;1082:20;1040:32;:63::i;:::-;1039:64;948:155;708:400;-1:-1:-1;;708:400:45:o;4132:576::-;4295:56;;15096:66:208;15084:79;;4295:56:45;;;15066:98:208;4234:4:45;;;;15039:18:208;;4295:56:45;;;-1:-1:-1;;4295:56:45;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:45;;-1:-1:-1;;4498:7:45;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:45:o;30786:790:20:-;31045:36;31084:66;31132:7;31141:8;31084:47;:66::i;:::-;31045:105;-1:-1:-1;31156:26:20;31192:49;31045:105;31223:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;31192:49:20;31156:86;;31280:291;31334:7;31359:8;31394:17;31444:19;31485:1;31500:10;31542:22;31280:36;:291::i;52818:191::-;52920:7;52984;52993:8;52967:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52967:35:20;;;;;;;;;52957:46;;52967:35;52957:46;;;;44378:22;52950:53;;52818:191;-1:-1:-1;;;52818:191:20:o;53835:242::-;53931:7;;;53970:84;53990:10;53986:14;;:1;:14;53970:84;;;54015:32;4629:93:3;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;54015:32:20;;:::i;:::-;;-1:-1:-1;54002:3:20;;53970:84;;;-1:-1:-1;54066:6:20;53835:242;-1:-1:-1;;;53835:242:20:o;8945:812:19:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:19;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;39198:522:20:-;39334:12;39458:257;39497:79;39539:7;39548:8;39558:17;39497:41;:79::i;:::-;39594:1;39613:93;39688:17;39613:66;39661:7;39670:8;39613:47;:66::i;:::-;:74;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;39613:93:20;39458:12;:257::i;2020:561:18:-;2111:5;2206:3;2198:5;:11;:32;;;;2219:4;:11;2213:3;:17;2198:32;2194:80;;;2257:4;2263:5;2270:3;2239:35;;;;;;;;;;;;;:::i;2194:80::-;2340:4;2330:15;;2387:16;2398:5;2330:15;2387:16;:::i;:::-;;-1:-1:-1;2409:12:18;2424:11;2430:5;2424:3;:11;:::i;:::-;709:17;2559:15;2551:3;2540:14;;;;2539:36;;;;;;-1:-1:-1;;;;;2020:561:18:o;40103:220:34:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;39802:222:35:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;26201:737:20:-;26452:36;26491:66;26539:7;26548:8;26491:47;:66::i;:::-;26452:105;-1:-1:-1;26563:26:20;26599:49;26452:105;26630:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;26599:49:20;26563:86;;26656:277;26710:7;26735:8;26770:17;26813:1;26835:19;26868:4;26904:22;26656:36;:277::i;3655:342:28:-;3771:16;;;3785:1;3771:16;;;;;;;;;3712:22;;3742:26;;3771:16;;;;;;;;;;;;-1:-1:-1;3771:16:28;3742:45;;3826:7;3793:9;3803:1;3793:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3841:18;3862:49;968:66;3898:9;3841:18;3862:25;:49::i;:::-;3841:70;;3925:66;:44;3946:5;3953:1;3956:5;:12;3925:20;:44::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:19:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:19;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:19;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:19;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:19;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:19;;;;:::o;55383:230:20:-;55504:7;55588;55597:8;55571:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55571:35:20;;;;;;;;;55561:46;;55571:35;55561:46;;;;44541:40;55534:73;;55383:230;-1:-1:-1;;;55383:230:20:o;54754:274::-;54898:7;55003;55012:8;54986:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54976:46;;;;;;54955:17;54948:25;;54928:45;;;44450:34;54928:45;:94;54920:103;;54913:110;;54754:274;;;;;:::o;19068:1676::-;19268:23;19247:7;:44;;;19243:232;;19398:7;19354:100;19417:8;19434:5;19447:4;19354:100;;;;;;;;:::i;:::-;;;;;;;;19462:7;;19243:232;19481:16;19500:59;19541:7;19550:8;19500:40;:59::i;:::-;19481:78;;19705:22;19730:24;19746:7;19730:15;:24::i;:::-;19705:49;;19765:9;19760:328;19780:5;:12;19776:1;:16;19760:328;;;19807:9;19829:5;19835:1;19829:8;;;;;;;;:::i;:::-;;;;;;;19807:31;;19850:41;614:6:32;19850:4:20;:14;;;;;:41;;;;:::i;:::-;19846:236;;;19903:170;;;;;3536:35:4;;;;;19903:54:20;;:170;;19979:7;;20008:8;;20035:5;;20058:4;;19903:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19846:236;-1:-1:-1;19794:3:20;;19760:328;;;;20189:7;20145:100;20208:8;20225:5;20238:4;20145:100;;;;;;;;:::i;:::-;;;;;;;;20295:70;20327:8;20345:5;20295:70;;20358:4;20295:13;:70::i;:::-;20419:9;20414:326;20434:5;:12;20430:1;:16;20414:326;;;20461:9;20483:5;20489:1;20483:8;;;;;;;;:::i;:::-;;;;;;;20461:31;;20504:40;723:6:32;20504:4:20;:14;;;;;:40;;;;:::i;:::-;20500:234;;;20556:169;;;;;3536:35:4;;;;;20556:53:20;;:169;;20631:7;;20660:8;;20687:5;;20710:4;;20556:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20500:234;-1:-1:-1;20448:3:20;;20414:326;;55951:301;56072:13;56164:82;56195:48;56225:7;56234:8;56195:29;:48::i;:::-;4711:21:19;;4605:137;46271:3996:20;-1:-1:-1;;;46668:7:20;:35;;;46664:161;;-1:-1:-1;;;46775:7:20;46808;46791:25;;;;;;8363:19:208;;8407:2;8398:12;;8203:213;46664:161:20;46831:27;46861:49;:22;46892:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;46861:49:20;46831:79;;46916:26;46981:4;:11;46967;46945:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46916:76;;47264:18;47241:19;:41;;:98;;;;-1:-1:-1;47320:19:20;47286:30;47305:11;47286:16;:30;:::i;:::-;:53;;;;47241:98;47237:218;;;47356:92;;;;;17896:12:208;17935:15;;;47356:92:20;;;17917:34:208;17987:15;;;17967:18;;;17960:43;18039:15;;18019:18;;;18012:43;17859:18;;47356:92:20;17690:371:208;47237:218:20;47561:19;47542:16;:38;;;47538:140;;;47597:74;;;;;;;;18239:25:208;;;18312:12;18300:25;;18280:18;;;18273:53;18212:18;;47597:74:20;18066:266:208;47538:140:20;47717:35;47755:72;:22;47789:17;47808:18;47755:33;:72::i;:::-;47717:110;;47974:22;47999:24;48015:7;47999:15;:24::i;:::-;47974:49;;48034:9;48029:486;48049:5;:12;48045:1;:16;48029:486;;;48076:9;48098:5;48104:1;48098:8;;;;;;;;:::i;:::-;;;;;;;48076:31;;48119:42;836:6:32;48119:4:20;:14;;;;;:42;;;;:::i;:::-;48115:394;;;3536:35:4;;;;48173:55:20;;;48250:7;48279:8;48318:17;48365:16;48406:11;48445:22;48485:4;48173:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48115:394;-1:-1:-1;48063:3:20;;48029:486;;;-1:-1:-1;48573:32:20;;;:13;48713:107;48731:17;48727:21;;:1;:21;;;48713:107;;;48776:33;:22;48807:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;48776:33:20;48767:42;;;;48750:3;;48713:107;;;;48942:7;48889:274;48969:8;49006:17;49047:5;49076:11;49113:21;49150:4;48889:274;;;;;;;;;;;:::i;:::-;;;;;;;;48521:649;49255:18;49232:19;:41;49228:248;;49283:31;49317:48;49347:7;49356:8;49317:29;:48::i;:::-;695:28:19;;;-1:-1:-1;49228:248:20;49533:27;49563:61;49587:7;49596:8;49606:17;49563:23;:61::i;:::-;49533:91;;49632:92;49664:19;49693:16;49632:92;;49717:4;49632:13;:92::i;:::-;49525:206;49785:9;49780:483;49800:5;:12;49796:1;:16;49780:483;;;49827:9;49849:5;49855:1;49849:8;;;;;;;;:::i;:::-;;;;;;;49827:31;;49870:41;947:6:32;49870:4:20;:14;;;;;:41;;;;:::i;:::-;49866:391;;;3536:35:4;;;;49923:54:20;;;49999:7;50028:8;50067:17;50114:16;50155:11;50194:21;50233:4;49923:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49866:391;-1:-1:-1;49814:3:20;;49780:483;;;;46514:3753;;;;46271:3996;;;;;;;:::o;5042:669:19:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:19;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:36:-;2801:22;2831:21;2855;:11;3001:3:18;2979:25;;2905:104;2855:21:36;2831:45;-1:-1:-1;709:17:18;3242:38;;2882:20:36;3044:11;3242:38:18;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:36;1474:15;;-1:-1:-1;;5373:16:19;1531:32:36;;;5373:16:19;5369:32;1503:4:36;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;966:162:19;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::14;884:15;;758:151;1098:24:19;1055:5;:68::i;7395:1488:15:-;7521:13;1070:16;7546:25;;7542:97;;;7588:44;;;;;;;;3043:25:208;;;3016:18;;7588:44:15;2897:177:208;7542:97:15;7701:13;6382:59;;;6999:16;;;988;6999;900;6988:27;6948:68;;;6926:92;;7964:38;;;7960:192;;8047:19;8029:15;:37;8014:52;;;;7960:192;;;8128:15;8106:19;:37;8091:52;;;;7960:192;-1:-1:-1;8468:16:15;900;988;8335;;;;8324:27;8460:35;;;8774:5;8613:26;8594:45;;;;8593:61;;;8755:24;;;;8784:34;;;;;8754:65;;-1:-1:-1;7395:1488:15;;;;;:::o;6076:2380:19:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:19;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:19;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:19;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:19;;;;:::o;14:332:208:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:208;623:20;;683:42;672:54;;662:65;;652:93;;741:1;738;731:12;756:316;874:6;882;935:2;923:9;914:7;910:23;906:32;903:52;;;951:1;948;941:12;903:52;987:9;974:23;964:33;;1016:50;1062:2;1051:9;1047:18;1016:50;:::i;:::-;1006:60;;756:316;;;;;:::o;1077:375::-;1148:8;1158:6;1212:3;1205:4;1197:6;1193:17;1189:27;1179:55;;1230:1;1227;1220:12;1179:55;-1:-1:-1;1253:20:208;;1296:18;1285:30;;1282:50;;;1328:1;1325;1318:12;1282:50;1365:4;1357:6;1353:17;1341:29;;1425:3;1418:4;1408:6;1405:1;1401:14;1393:6;1389:27;1385:38;1382:47;1379:67;;;1442:1;1439;1432:12;1379:67;1077:375;;;;;:::o;1457:1204::-;1755:6;1763;1771;1779;1787;1795;1803;1811;1864:3;1852:9;1843:7;1839:23;1835:33;1832:53;;;1881:1;1878;1871:12;1832:53;1917:9;1904:23;1894:33;;1974:2;1963:9;1959:18;1946:32;1936:42;;2025:2;2014:9;2010:18;1997:32;1987:42;;2076:2;2065:9;2061:18;2048:32;2038:42;;2131:3;2120:9;2116:19;2103:33;2155:18;2196:2;2188:6;2185:14;2182:34;;;2212:1;2209;2202:12;2182:34;2251:78;2321:7;2312:6;2301:9;2297:22;2251:78;:::i;:::-;2348:8;;-1:-1:-1;2225:104:208;-1:-1:-1;2436:3:208;2421:19;;2408:33;;-1:-1:-1;2453:16:208;;;2450:36;;;2482:1;2479;2472:12;2450:36;;2521:80;2593:7;2582:8;2571:9;2567:24;2521:80;:::i;:::-;1457:1204;;;;-1:-1:-1;1457:1204:208;;-1:-1:-1;1457:1204:208;;;;;;2620:8;-1:-1:-1;;;1457:1204:208:o;3079:473::-;3204:6;3212;3220;3273:2;3261:9;3252:7;3248:23;3244:32;3241:52;;;3289:1;3286;3279:12;3241:52;3325:9;3312:23;3302:33;;3354:50;3400:2;3389:9;3385:18;3354:50;:::i;:::-;3344:60;;3454:2;3443:9;3439:18;3426:32;3498:4;3491:5;3487:16;3480:5;3477:27;3467:55;;3518:1;3515;3508:12;3467:55;3541:5;3531:15;;;3079:473;;;;;:::o;3557:250::-;3642:1;3652:113;3666:6;3663:1;3660:13;3652:113;;;3742:11;;;3736:18;3723:11;;;3716:39;3688:2;3681:10;3652:113;;;-1:-1:-1;;3799:1:208;3781:16;;3774:27;3557:250::o;3812:330::-;3854:3;3892:5;3886:12;3919:6;3914:3;3907:19;3935:76;4004:6;3997:4;3992:3;3988:14;3981:4;3974:5;3970:16;3935:76;:::i;:::-;4056:2;4044:15;-1:-1:-1;;4040:88:208;4031:98;;;;4131:4;4027:109;;3812:330;-1:-1:-1;;3812:330:208:o;4147:322::-;4355:6;4344:9;4337:25;4398:2;4393;4382:9;4378:18;4371:30;4318:4;4418:45;4459:2;4448:9;4444:18;4436:6;4418:45;:::i;4474:184::-;-1:-1:-1;;;4523:1:208;4516:88;4623:4;4620:1;4613:15;4647:4;4644:1;4637:15;4663:334;4734:2;4728:9;4790:2;4780:13;;-1:-1:-1;;4776:86:208;4764:99;;4893:18;4878:34;;4914:22;;;4875:62;4872:88;;;4940:18;;:::i;:::-;4976:2;4969:22;4663:334;;-1:-1:-1;4663:334:208:o;5002:1602::-;5140:9;5174:18;5215:2;5207:6;5204:14;5201:40;;;5221:18;;:::i;:::-;5267:6;5264:1;5260:14;5293:4;5317:28;5341:2;5337;5333:11;5317:28;:::i;:::-;5379:19;;;5449:14;;;;5414:12;;;;5486:14;5475:26;;5472:46;;;5514:1;5511;5504:12;5472:46;5538:5;5552:1019;5568:6;5563:3;5560:15;5552:1019;;;5654:3;5641:17;5690:2;5677:11;5674:19;5671:109;;;5734:1;5763:2;5759;5752:14;5671:109;5803:23;;5849:4;5893:14;5880:11;;;5876:32;5866:130;;5950:1;5979:2;5975;5968:14;5866:130;6032:2;6019:16;6058:2;6054;6051:10;6048:36;;;6064:18;;:::i;:::-;6110:110;6216:2;-1:-1:-1;;6142:2:208;6138;6134:11;6130:84;6126:93;6110:110;:::i;:::-;6097:123;;6247:2;6240:5;6233:17;6291:14;6286:2;6281;6277;6273:11;6269:20;6266:40;6263:130;;;6347:1;6376:2;6372;6365:14;6263:130;6448:2;6443;6439;6435:11;6430:2;6423:5;6419:14;6406:45;6496:1;6475:14;;;6471:23;;6464:34;6511:18;;-1:-1:-1;6549:12:208;;;;5585;;5552:1019;;;-1:-1:-1;6593:5:208;5002:1602;-1:-1:-1;;;;;;;5002:1602:208:o;6609:340::-;6786:2;6775:9;6768:21;6749:4;6806:45;6847:2;6836:9;6832:18;6824:6;6806:45;:::i;:::-;6798:53;;6899:42;6891:6;6887:55;6882:2;6871:9;6867:18;6860:83;6609:340;;;;;:::o;6954:184::-;-1:-1:-1;;;7003:1:208;6996:88;7103:4;7100:1;7093:15;7127:4;7124:1;7117:15;7143:125;7208:9;;;7229:10;;;7226:36;;;7242:18;;:::i;7273:925::-;7722:66;7714:6;7710:79;7705:3;7698:92;7680:3;7809;7841:2;7837:1;7832:3;7828:11;7821:23;7873:6;7867:13;7889:74;7956:6;7952:1;7947:3;7943:11;7936:4;7928:6;7924:17;7889:74;:::i;:::-;7991:6;7986:3;7982:16;7972:26;;8026:2;8022:1;8018:2;8014:10;8007:22;8060:6;8054:13;8038:29;;8076:75;8142:8;8138:1;8134:2;8130:10;8123:4;8115:6;8111:17;8076:75;:::i;:::-;8171:17;8190:1;8167:25;;7273:925;-1:-1:-1;;;;;7273:925:208:o;8421:464::-;8667:66;8659:6;8655:79;8644:9;8637:98;8771:6;8766:2;8755:9;8751:18;8744:34;8814:2;8809;8798:9;8794:18;8787:30;8618:4;8834:45;8875:2;8864:9;8860:18;8852:6;8834:45;:::i;9143:184::-;-1:-1:-1;;;9192:1:208;9185:88;9292:4;9289:1;9282:15;9316:4;9313:1;9306:15;9332:862;9494:4;9523:2;9563;9552:9;9548:18;9593:2;9582:9;9575:21;9616:6;9651;9645:13;9682:6;9674;9667:22;9720:2;9709:9;9705:18;9698:25;;9782:2;9772:6;9769:1;9765:14;9754:9;9750:30;9746:39;9732:53;;9820:2;9812:6;9808:15;9841:1;9851:314;9865:6;9862:1;9859:13;9851:314;;;9954:66;9942:9;9934:6;9930:22;9926:95;9921:3;9914:108;10045:40;10078:6;10069;10063:13;10045:40;:::i;:::-;10035:50;-1:-1:-1;10143:12:208;;;;10108:15;;;;9887:1;9880:9;9851:314;;;-1:-1:-1;10182:6:208;;9332:862;-1:-1:-1;;;;;;;9332:862:208:o;10572:184::-;-1:-1:-1;;;10621:1:208;10614:88;10721:4;10718:1;10711:15;10745:4;10742:1;10735:15;11211:128;11278:9;;;11299:11;;;11296:37;;;11313:18;;:::i;11344:168::-;11417:9;;;11448;;11465:15;;;11459:22;;11445:37;11435:71;;11486:18;;:::i;12385:492::-;12560:3;12598:6;12592:13;12614:66;12673:6;12668:3;12661:4;12653:6;12649:17;12614:66;:::i;:::-;12743:13;;12702:16;;;;12765:70;12743:13;12702:16;12812:4;12800:17;;12765:70;:::i;:::-;12851:20;;12385:492;-1:-1:-1;;;;12385:492:208:o;12882:439::-;12935:3;12973:5;12967:12;13000:6;12995:3;12988:19;13026:4;13055;13050:3;13046:14;13039:21;;13094:4;13087:5;13083:16;13117:1;13127:169;13141:6;13138:1;13135:13;13127:169;;;13202:13;;13190:26;;13236:12;;;;13271:15;;;;13163:1;13156:9;13127:169;;;-1:-1:-1;13312:3:208;;12882:439;-1:-1:-1;;;;;12882:439:208:o;13326:690::-;13659:3;13648:9;13641:22;13622:4;13686:57;13738:3;13727:9;13723:19;13715:6;13686:57;:::i;:::-;13791:9;13783:6;13779:22;13774:2;13763:9;13759:18;13752:50;13825:33;13851:6;13843;13825:33;:::i;:::-;13811:47;;13894:6;13889:2;13878:9;13874:18;13867:34;13949:9;13941:6;13937:22;13932:2;13921:9;13917:18;13910:50;13977:33;14003:6;13995;13977:33;:::i;14021:896::-;14472:6;14461:9;14454:25;14515:3;14510:2;14499:9;14495:18;14488:31;14435:4;14542:57;14594:3;14583:9;14579:19;14571:6;14542:57;:::i;:::-;14647:9;14639:6;14635:22;14630:2;14619:9;14615:18;14608:50;14681:33;14707:6;14699;14681:33;:::i;:::-;14667:47;;14750:6;14745:2;14734:9;14730:18;14723:34;14806:9;14798:6;14794:22;14788:3;14777:9;14773:19;14766:51;14834:33;14860:6;14852;14834:33;:::i;:::-;14826:41;;;14904:6;14898:3;14887:9;14883:19;14876:35;14021:896;;;;;;;;;:::o;15175:639::-;15425:6;15420:3;15413:19;15395:3;15451:2;15484;15479:3;15475:12;15516:6;15510:13;15581:2;15573:6;15569:15;15602:1;15612:175;15626:6;15623:1;15620:13;15612:175;;;15689:13;;15675:28;;15725:14;;;;15762:15;;;;15648:1;15641:9;15612:175;;;-1:-1:-1;15803:5:208;;15175:639;-1:-1:-1;;;;;;;15175:639:208:o;15819:184::-;-1:-1:-1;;;15868:1:208;15861:88;15968:4;15965:1;15958:15;15992:4;15989:1;15982:15;16008:360;16211:2;16200:9;16193:21;16174:4;16231:45;16272:2;16261:9;16257:18;16249:6;16231:45;:::i;:::-;16307:2;16292:18;;16285:34;;;;-1:-1:-1;16350:2:208;16335:18;16328:34;16223:53;16008:360;-1:-1:-1;16008:360:208:o;16373:512::-;16624:2;16613:9;16606:21;16587:4;16650:56;16702:2;16691:9;16687:18;16679:6;16650:56;:::i;:::-;16754:14;16746:6;16742:27;16737:2;16726:9;16722:18;16715:55;16818:9;16810:6;16806:22;16801:2;16790:9;16786:18;16779:50;16846:33;16872:6;16864;16846:33;:::i;:::-;16838:41;16373:512;-1:-1:-1;;;;;;16373:512:208:o;16890:616::-;17200:6;17189:9;17182:25;17243:3;17238:2;17227:9;17223:18;17216:31;17163:4;17270:57;17322:3;17311:9;17307:19;17299:6;17270:57;:::i;:::-;17375:14;17367:6;17363:27;17358:2;17347:9;17343:18;17336:55;17439:9;17431:6;17427:22;17422:2;17411:9;17407:18;17400:50;17467:33;17493:6;17485;17467:33;:::i;17511:174::-;17578:12;17610:10;;;17622;;;17606:27;;17645:11;;;17642:37;;;17659:18;;:::i;:::-;17642:37;17511:174;;;;:::o;18337:899::-;18759:6;18748:9;18741:25;18802:3;18797:2;18786:9;18782:18;18775:31;18722:4;18829:57;18881:3;18870:9;18866:19;18858:6;18829:57;:::i;:::-;18934:4;18922:17;;18917:2;18902:18;;18895:45;18959:12;19007:15;;;19002:2;18987:18;;18980:43;19060:15;;19054:3;19039:19;;19032:44;19107:3;19092:19;;19085:35;;;19157:22;;;19151:3;19136:19;;19129:51;19197:33;19161:6;19215;19197:33;:::i;:::-;19189:41;18337:899;-1:-1:-1;;;;;;;;;;18337:899:208:o;19241:787::-;19604:3;19593:9;19586:22;19567:4;19631:57;19683:3;19672:9;19668:19;19660:6;19631:57;:::i;:::-;19736:4;19728:6;19724:17;19719:2;19708:9;19704:18;19697:45;19790:14;19782:6;19778:27;19773:2;19762:9;19758:18;19751:55;19854:12;19846:6;19842:25;19837:2;19826:9;19822:18;19815:53;19905:6;19899:3;19888:9;19884:19;19877:35;19961:9;19953:6;19949:22;19943:3;19932:9;19928:19;19921:51;19989:33;20015:6;20007;19989:33;:::i;:::-;19981:41;19241:787;-1:-1:-1;;;;;;;;;19241:787:208:o","linkReferences":{},"immutableReferences":{"34868":[{"start":937,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","supportsInterface(bytes4)":"01ffc9a7","unregisterStoreHook(bytes32,address)":"05609129"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FieldLayoutLib_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"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\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"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\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract provides functionality for the registration of store-related resources within the World framework.\",\"errors\":{\"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.\"}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"registerStoreHook(bytes32,address,uint8)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.\",\"params\":{\"enabledHooksBitmap\":\"A bitmap indicating which hook functionalities are enabled.\",\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table for which the hook is being registered.\"}},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"details\":\"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.\",\"params\":{\"fieldLayout\":\"The field layout structure for the table.\",\"fieldNames\":\"The names of the fields in the table.\",\"keyNames\":\"The names associated with the keys in the table.\",\"keySchema\":\"The schema for the keys of the table.\",\"tableId\":\"The resource ID of the table.\",\"valueSchema\":\"The schema for the values within the table.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterStoreHook(bytes32,address)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs.\",\"params\":{\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table from which the hook is being unregistered.\"}}},\"title\":\"Store Registration System\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"registerStoreHook(bytes32,address,uint8)\":{\"notice\":\"Register a storage hook for a specified table.\"},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"notice\":\"Register a table within the World framework.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterStoreHook(bytes32,address)\":{\"notice\":\"Unregister a previously registered storage hook for a specified table.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":\"StoreRegistrationSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea\",\"dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40\",\"dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd\",\"dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1\",\"dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71\",\"dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d\",\"dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619\",\"dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2\",\"dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xb1a9b7aace51268930fcf876ac9e2ecacbbc48eca52ce57b35666e02f616bc90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0885ac113cf1c10187eeec9ca78b6fab01e83d5d6e42cba870d89f22e33f101e\",\"dweb:/ipfs/QmXGcXjD1zt6gB7y8SGeADc5UruxkDqbGHeb8AEmpe2gCE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8\",\"dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8\",\"dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912\",\"dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c\",\"dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf\",\"dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff\",\"dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd\",\"dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x79c8a22f4b12768e44278a8375ec4cb9e5947bae51009ea67df5cb047d8eb864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f2efa3ffa8bd510f214f1fe14f3af484d1b17aeb5f3b7fe02c88b9e84343121\",\"dweb:/ipfs/QmRxqUHVbGy19cHciciKfZrS4z6SxR5UjbVoK1sR5a9Sid\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db\",\"dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b\",\"dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d\",\"dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73\",\"dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c\",\"dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62\",\"dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x37e75efc870375d6ef1d4f301523ce50293d1cdf2a99b2f407bf691b610bf5bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://239f26f064c60afd13a3ee539fc786c1b2aa9c60a66fce4311dabbddf82d59bf\",\"dweb:/ipfs/QmcnyTQkRFoHZhUe6BmYpTmM6PtzjBE7o9G7iZ48NWXjFc\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0\",\"dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/constants.sol\":{\"keccak256\":\"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752\",\"dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86\",\"dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9\",\"dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241\",\"dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"FieldLayoutLib_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyFields"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"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":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"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":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"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"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"}],"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."}},"registerStoreHook(bytes32,address,uint8)":{"details":"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.","params":{"enabledHooksBitmap":"A bitmap indicating which hook functionalities are enabled.","hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table for which the hook is being registered."}},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"details":"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.","params":{"fieldLayout":"The field layout structure for the table.","fieldNames":"The names of the fields in the table.","keyNames":"The names associated with the keys in the table.","keySchema":"The schema for the keys of the table.","tableId":"The resource ID of the table.","valueSchema":"The schema for the values within the table."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterStoreHook(bytes32,address)":{"details":"The caller must be the owner of the namespace to which the table belongs.","params":{"hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table from which the hook is being unregistered."}}},"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."},"registerStoreHook(bytes32,address,uint8)":{"notice":"Register a storage hook for a specified table."},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"notice":"Register a table within the World framework."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterStoreHook(bytes32,address)":{"notice":"Unregister a previously registered storage hook for a specified table."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":"StoreRegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4","urls":["bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea","dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf","urls":["bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40","dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0","urls":["bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd","dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1","urls":["bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1","dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006","urls":["bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71","dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e","urls":["bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d","dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9","urls":["bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619","dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5","urls":["bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2","dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0xb1a9b7aace51268930fcf876ac9e2ecacbbc48eca52ce57b35666e02f616bc90","urls":["bzz-raw://0885ac113cf1c10187eeec9ca78b6fab01e83d5d6e42cba870d89f22e33f101e","dweb:/ipfs/QmXGcXjD1zt6gB7y8SGeADc5UruxkDqbGHeb8AEmpe2gCE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66","urls":["bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8","dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8","urls":["bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8","dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2","urls":["bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912","dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4","urls":["bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c","dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7","urls":["bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf","dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797","urls":["bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff","dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2","urls":["bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd","dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x79c8a22f4b12768e44278a8375ec4cb9e5947bae51009ea67df5cb047d8eb864","urls":["bzz-raw://0f2efa3ffa8bd510f214f1fe14f3af484d1b17aeb5f3b7fe02c88b9e84343121","dweb:/ipfs/QmRxqUHVbGy19cHciciKfZrS4z6SxR5UjbVoK1sR5a9Sid"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02","urls":["bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db","dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867","urls":["bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b","dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c","urls":["bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d","dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa","urls":["bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73","dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b","urls":["bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c","dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91","urls":["bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62","dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x37e75efc870375d6ef1d4f301523ce50293d1cdf2a99b2f407bf691b610bf5bd","urls":["bzz-raw://239f26f064c60afd13a3ee539fc786c1b2aa9c60a66fce4311dabbddf82d59bf","dweb:/ipfs/QmcnyTQkRFoHZhUe6BmYpTmM6PtzjBE7o9G7iZ48NWXjFc"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f","urls":["bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0","dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/constants.sol":{"keccak256":"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9","urls":["bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752","dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":{"keccak256":"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498","urls":["bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86","dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4","urls":["bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9","dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b","urls":["bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241","dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":90}