@latticexyz/world-modules 2.0.0-march-19-skystrife-playtest-f0a343b1 → 2.0.0-next-17-awakening-9c07ab3a2
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.
- package/dist/mud.config.d.ts +256 -0
- package/out/AccessControl.sol/AccessControl.json +1 -1
- package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json +55 -0
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +55 -0
- package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
- package/out/AddressArray.sol/AddressArray.json +1 -1
- package/out/Allowances.sol/Allowances.json +1 -1
- package/out/ArrayLib.sol/ArrayLib.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +16 -0
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +16 -0
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
- package/out/Balances.sol/Balances.json +1 -1
- package/out/Base.sol/CommonBase.json +1 -1
- package/out/Base.sol/ScriptBase.json +1 -1
- package/out/Base.sol/TestBase.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +5 -0
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +5 -0
- package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
- package/out/Bool.sol/Bool.json +1 -1
- package/out/Bytes.sol/Bytes.json +1 -1
- package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
- package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
- package/out/DecodeSlice.sol/DecodeSlice.json +1 -1
- package/out/Delegation.sol/Delegation.json +1 -1
- package/out/DelegationControl.sol/DelegationControl.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
- package/out/ERC165Checker.sol/ERC165Checker.json +1 -0
- package/out/ERC20.t.sol/ERC20Test.json +1 -1
- package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
- package/out/ERC20Module.sol/ERC20Module.abi.json +120 -20
- package/out/ERC20Module.sol/ERC20Module.abi.json.d.ts +120 -20
- package/out/ERC20Module.sol/ERC20Module.json +1 -1
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json +117 -4
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json.d.ts +117 -4
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
- package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
- package/out/ERC20System.sol/ERC20System.json +1 -1
- package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/ERC721Test.abi.json +1 -1
- package/out/ERC721.t.sol/ERC721Test.abi.json.d.ts +1 -1
- package/out/ERC721.t.sol/ERC721Test.json +1 -1
- package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
- package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
- package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
- package/out/ERC721Module.sol/ERC721Module.abi.json +120 -20
- package/out/ERC721Module.sol/ERC721Module.abi.json.d.ts +120 -20
- package/out/ERC721Module.sol/ERC721Module.json +1 -1
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json +117 -4
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json.d.ts +117 -4
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
- package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
- package/out/ERC721System.sol/ERC721System.json +1 -1
- package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
- package/out/EncodeArray.sol/EncodeArray.json +1 -1
- package/out/FieldLayout.sol/FieldLayoutInstance.json +1 -1
- package/out/FieldLayout.sol/FieldLayoutLib.abi.json +69 -4
- package/out/FieldLayout.sol/FieldLayoutLib.abi.json.d.ts +69 -4
- package/out/FieldLayout.sol/FieldLayoutLib.json +1 -1
- package/out/FieldLayoutEncodeHelper.sol/FieldLayoutEncodeHelper.json +1 -1
- package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
- package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
- package/out/GasReporter.sol/GasReporter.json +1 -1
- package/out/Hook.sol/HookInstance.json +1 -1
- package/out/Hook.sol/HookLib.json +1 -1
- package/out/Hooks.sol/Hooks.json +1 -1
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.abi.json +13 -0
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.abi.json.d.ts +13 -0
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
- package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
- package/out/IBaseWorld.sol/IBaseWorld.abi.json +64 -5
- package/out/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +64 -5
- package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
- package/out/IDelegationControl.sol/IDelegationControl.json +1 -1
- package/out/IERC165.sol/IERC165.json +1 -0
- package/out/IERC20.sol/IERC20.json +1 -1
- package/out/IERC20Errors.sol/IERC20Errors.json +1 -1
- package/out/IERC20Events.sol/IERC20Events.json +1 -1
- package/out/IERC20Mintable.sol/IERC20Mintable.json +1 -1
- package/out/IERC20System.sol/IERC20System.json +1 -1
- package/out/IERC721.sol/IERC721.json +1 -1
- package/out/IERC721Errors.sol/IERC721Errors.json +1 -1
- package/out/IERC721Events.sol/IERC721Events.json +1 -1
- package/out/IERC721Metadata.sol/IERC721Metadata.json +1 -1
- package/out/IERC721Mintable.sol/IERC721Mintable.json +1 -1
- package/out/IERC721Receiver.sol/IERC721Receiver.json +1 -1
- package/out/IModule.sol/IModule.abi.json +4 -17
- package/out/IModule.sol/IModule.abi.json.d.ts +4 -17
- package/out/IModule.sol/IModule.json +1 -1
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.abi.json +1 -1
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.abi.json.d.ts +1 -1
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
- package/out/IMulticall3.sol/IMulticall3.json +1 -1
- package/out/IPuppetFactorySystem.sol/IPuppetFactorySystem.json +1 -1
- package/out/IRegistrationSystem.sol/IRegistrationSystem.abi.json +1 -0
- package/out/IRegistrationSystem.sol/IRegistrationSystem.json +1 -0
- package/out/IStore.sol/IStore.abi.json +51 -3
- package/out/IStore.sol/IStore.abi.json.d.ts +51 -3
- package/out/IStore.sol/IStore.json +1 -1
- package/out/IStoreData.sol/IStoreData.json +1 -1
- package/out/IStoreErrors.sol/IStoreErrors.abi.json +51 -3
- package/out/IStoreErrors.sol/IStoreErrors.abi.json.d.ts +51 -3
- package/out/IStoreErrors.sol/IStoreErrors.json +1 -1
- package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
- package/out/IStoreHook.sol/IStoreHook.json +1 -1
- package/out/IStoreRead.sol/IStoreRead.json +1 -1
- package/out/IStoreRegistration.sol/IStoreRegistration.json +1 -1
- package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
- package/out/ISystemHook.sol/ISystemHook.json +1 -1
- package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +1 -1
- package/out/IWorldErrors.sol/IWorldErrors.abi.json +11 -0
- package/out/IWorldErrors.sol/IWorldErrors.abi.json.d.ts +11 -0
- package/out/IWorldErrors.sol/IWorldErrors.json +1 -1
- package/out/IWorldKernel.sol/IWorldCall.json +1 -1
- package/out/IWorldKernel.sol/IWorldKernel.abi.json +13 -2
- package/out/IWorldKernel.sol/IWorldKernel.abi.json.d.ts +13 -2
- package/out/IWorldKernel.sol/IWorldKernel.json +1 -1
- package/out/IWorldKernel.sol/IWorldModuleInstallation.abi.json +1 -1
- package/out/IWorldKernel.sol/IWorldModuleInstallation.abi.json.d.ts +1 -1
- package/out/IWorldKernel.sol/IWorldModuleInstallation.json +1 -1
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json +27 -1
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json.d.ts +27 -1
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
- package/out/{CoreModule.sol/CoreModule.abi.json → InitModule.sol/InitModule.abi.json} +145 -19
- package/out/{CoreModule.sol/CoreModule.abi.json.d.ts → InitModule.sol/InitModule.abi.json.d.ts} +145 -19
- package/out/InitModule.sol/InitModule.json +1 -0
- package/out/InitModuleAddress.sol/InitModuleAddress.abi.json +1 -0
- package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -0
- package/out/InstalledModules.sol/InstalledModules.json +1 -1
- package/out/KeysInTable.sol/KeysInTable.json +1 -1
- package/out/KeysInTableHook.sol/KeysInTableHook.abi.json +16 -0
- package/out/KeysInTableHook.sol/KeysInTableHook.abi.json.d.ts +16 -0
- package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
- package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +3 -16
- package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +3 -16
- package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json +39 -6
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json.d.ts +39 -6
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
- package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
- package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
- package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +3 -16
- package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +3 -16
- package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json +39 -6
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json.d.ts +39 -6
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
- package/out/LimitedCallContext.sol/LimitedCallContext.abi.json +7 -0
- package/out/LimitedCallContext.sol/LimitedCallContext.abi.json.d.ts +7 -0
- package/out/LimitedCallContext.sol/LimitedCallContext.json +1 -0
- package/out/Memory.sol/Memory.json +1 -1
- package/out/Module.sol/Module.abi.json +4 -17
- package/out/Module.sol/Module.abi.json.d.ts +4 -17
- package/out/Module.sol/Module.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +6 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +6 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
- package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
- package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
- package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
- package/out/Owners.sol/Owners.json +1 -1
- package/out/PackedCounter.sol/PackedCounterInstance.json +1 -1
- package/out/PackedCounter.sol/PackedCounterLib.json +1 -1
- package/out/Puppet.sol/Puppet.json +1 -1
- package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
- package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
- package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
- package/out/PuppetModule.sol/PuppetModule.abi.json +119 -19
- package/out/PuppetModule.sol/PuppetModule.abi.json.d.ts +119 -19
- package/out/PuppetModule.sol/PuppetModule.json +1 -1
- package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json +14 -0
- package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json.d.ts +14 -0
- package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
- package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
- package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
- package/out/{CoreSystem.sol/CoreSystem.abi.json → RegistrationSystem.sol/RegistrationSystem.abi.json} +154 -150
- package/out/{CoreSystem.sol/CoreSystem.abi.json.d.ts → RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts} +154 -150
- package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -0
- package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
- package/out/ResourceId.sol/ResourceIdInstance.json +1 -1
- package/out/ResourceId.sol/ResourceIdLib.json +1 -1
- package/out/ResourceIds.sol/ResourceIds.json +1 -1
- package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
- package/out/Schema.sol/SchemaInstance.json +1 -1
- package/out/Schema.sol/SchemaLib.json +1 -1
- package/out/SchemaEncodeHelper.sol/SchemaEncodeHelper.json +1 -1
- package/out/Slice.sol/SliceInstance.json +1 -1
- package/out/Slice.sol/SliceLib.json +1 -1
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json +119 -19
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json.d.ts +119 -19
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
- package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
- package/out/StdAssertions.sol/StdAssertions.json +1 -1
- package/out/StdChains.sol/StdChains.json +1 -1
- package/out/StdCheats.sol/StdCheats.json +1 -1
- package/out/StdCheats.sol/StdCheatsSafe.json +1 -1
- package/out/StdError.sol/stdError.json +1 -1
- package/out/StdInvariant.sol/StdInvariant.json +1 -1
- package/out/StdJson.sol/stdJson.json +1 -1
- package/out/StdMath.sol/stdMath.json +1 -1
- package/out/StdStorage.sol/stdStorage.json +1 -1
- package/out/StdStorage.sol/stdStorageSafe.json +1 -1
- package/out/StdStyle.sol/StdStyle.json +1 -1
- package/out/StdUtils.sol/StdUtils.json +1 -1
- package/out/Storage.sol/Storage.json +1 -1
- package/out/StoreCore.sol/StoreCore.json +1 -1
- package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
- package/out/StoreData.sol/StoreData.abi.json +16 -0
- package/out/StoreData.sol/StoreData.abi.json.d.ts +16 -0
- package/out/StoreData.sol/StoreData.json +1 -1
- package/out/StoreHook.sol/StoreHook.json +1 -1
- package/out/StoreHooks.sol/StoreHooks.json +1 -1
- package/out/StoreRead.sol/StoreRead.abi.json +16 -0
- package/out/StoreRead.sol/StoreRead.abi.json.d.ts +16 -0
- package/out/StoreRead.sol/StoreRead.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +149 -4
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +149 -4
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
- package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
- package/out/System.sol/System.json +1 -1
- package/out/SystemCall.sol/SystemCall.json +1 -1
- package/out/SystemHook.sol/SystemHook.json +1 -1
- package/out/SystemHooks.sol/SystemHooks.json +1 -1
- package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
- package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
- package/out/SystemSwitch.t.sol/EchoSystem.abi.json +98 -1
- package/out/SystemSwitch.t.sol/EchoSystem.abi.json.d.ts +98 -1
- package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +59 -15
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +59 -15
- package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
- package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
- package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
- package/out/Systems.sol/Systems.json +1 -1
- package/out/Tables.sol/Tables.json +1 -1
- package/out/Test.sol/Test.json +1 -1
- package/out/TightCoder.sol/TightCoder.json +1 -1
- package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
- package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
- package/out/TokenApproval.sol/TokenApproval.json +1 -1
- package/out/TokenURI.sol/TokenURI.json +1 -1
- package/out/TotalSupply.sol/TotalSupply.json +1 -1
- package/out/TwoFields.sol/TwoFields.json +1 -1
- package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
- package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json +121 -21
- package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json.d.ts +121 -21
- package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json +68 -0
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json.d.ts +68 -0
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
- package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
- package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
- package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
- package/out/Vm.sol/Vm.json +1 -1
- package/out/Vm.sol/VmSafe.json +1 -1
- package/out/World.sol/World.abi.json +29 -2
- package/out/World.sol/World.abi.json.d.ts +29 -2
- package/out/World.sol/World.json +1 -1
- package/out/World.t.sol/EchoSystemHook.json +1 -1
- package/out/World.t.sol/IWorldTestSystem.abi.json +1 -1
- package/out/World.t.sol/IWorldTestSystem.abi.json.d.ts +1 -1
- package/out/World.t.sol/IWorldTestSystem.json +1 -1
- package/out/World.t.sol/PayableFallbackSystem.json +1 -1
- package/out/World.t.sol/RevertSystemHook.json +1 -1
- package/out/World.t.sol/WorldTest.abi.json +74 -6
- package/out/World.t.sol/WorldTest.abi.json.d.ts +74 -6
- package/out/World.t.sol/WorldTest.json +1 -1
- package/out/World.t.sol/WorldTestSystem.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
- package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +43 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +43 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
- package/out/WorldResourceId.sol/WorldResourceIdInstance.json +1 -1
- package/out/WorldResourceId.sol/WorldResourceIdLib.json +1 -1
- package/out/console.sol/console.json +1 -1
- package/out/console2.sol/console2.json +1 -1
- package/out/constants.sol/LayoutOffsets.json +1 -1
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json +105 -7
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +105 -7
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/query.t.sol/QueryTest.abi.json +39 -6
- package/out/query.t.sol/QueryTest.abi.json.d.ts +39 -6
- package/out/query.t.sol/QueryTest.json +1 -1
- package/out/safeconsole.sol/safeconsole.json +1 -1
- package/out/src/IERC165.sol/IERC165.json +1 -1
- package/out/tables/Balances.sol/Balances.json +1 -1
- package/out/test.sol/DSTest.json +1 -1
- package/package.json +9 -9
- package/src/index.sol +1 -1
- package/src/interfaces/IBaseWorld.sol +1 -1
- package/src/interfaces/IERC20System.sol +1 -1
- package/src/interfaces/IPuppetFactorySystem.sol +1 -1
- package/src/modules/erc20-puppet/ERC20Module.sol +18 -25
- package/src/modules/erc20-puppet/ERC20System.sol +1 -1
- package/src/modules/erc20-puppet/IERC20.sol +1 -1
- package/src/modules/erc20-puppet/IERC20Errors.sol +1 -1
- package/src/modules/erc20-puppet/IERC20Events.sol +1 -1
- package/src/modules/erc20-puppet/IERC20Mintable.sol +1 -1
- package/src/modules/erc20-puppet/constants.sol +1 -2
- package/src/modules/erc20-puppet/registerERC20.sol +1 -1
- package/src/modules/erc20-puppet/tables/Allowances.sol +2 -3
- package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +2 -3
- package/src/modules/erc20-puppet/tables/ERC20Registry.sol +2 -3
- package/src/modules/erc20-puppet/tables/TotalSupply.sol +2 -3
- package/src/modules/erc20-puppet/utils.sol +1 -1
- package/src/modules/erc721-puppet/ERC721Module.sol +18 -25
- package/src/modules/erc721-puppet/ERC721System.sol +1 -1
- package/src/modules/erc721-puppet/IERC721.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Errors.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Events.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Metadata.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Mintable.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Receiver.sol +1 -1
- package/src/modules/erc721-puppet/constants.sol +1 -2
- package/src/modules/erc721-puppet/registerERC721.sol +1 -1
- package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +2 -3
- package/src/modules/erc721-puppet/tables/ERC721Registry.sol +2 -3
- package/src/modules/erc721-puppet/tables/OperatorApproval.sol +2 -3
- package/src/modules/erc721-puppet/tables/Owners.sol +2 -3
- package/src/modules/erc721-puppet/tables/TokenApproval.sol +2 -3
- package/src/modules/erc721-puppet/tables/TokenURI.sol +2 -3
- package/src/modules/erc721-puppet/utils.sol +1 -1
- package/src/modules/keysintable/KeysInTableHook.sol +1 -1
- package/src/modules/keysintable/KeysInTableModule.sol +4 -10
- package/src/modules/keysintable/constants.sol +1 -1
- package/src/modules/keysintable/getKeysInTable.sol +1 -1
- package/src/modules/keysintable/hasKey.sol +1 -1
- package/src/modules/keysintable/query.sol +1 -1
- package/src/modules/keysintable/tables/KeysInTable.sol +4 -6
- package/src/modules/keysintable/tables/UsedKeysIndex.sol +4 -6
- package/src/modules/keyswithvalue/KeysWithValueHook.sol +1 -1
- package/src/modules/keyswithvalue/KeysWithValueModule.sol +19 -14
- package/src/modules/keyswithvalue/constants.sol +1 -1
- package/src/modules/keyswithvalue/getKeysWithValue.sol +1 -1
- package/src/modules/keyswithvalue/getTargetTableId.sol +1 -1
- package/src/modules/keyswithvalue/tables/KeysWithValue.sol +2 -3
- package/src/modules/puppet/Puppet.sol +1 -1
- package/src/modules/puppet/PuppetDelegationControl.sol +1 -1
- package/src/modules/puppet/PuppetFactorySystem.sol +1 -1
- package/src/modules/puppet/PuppetMaster.sol +1 -1
- package/src/modules/puppet/PuppetModule.sol +24 -9
- package/src/modules/puppet/constants.sol +4 -3
- package/src/modules/puppet/createPuppet.sol +1 -1
- package/src/modules/puppet/tables/PuppetRegistry.sol +2 -3
- package/src/modules/puppet/utils.sol +1 -1
- package/src/modules/std-delegations/CallboundDelegationControl.sol +1 -1
- package/src/modules/std-delegations/StandardDelegationsModule.sol +2 -6
- package/src/modules/std-delegations/SystemboundDelegationControl.sol +1 -1
- package/src/modules/std-delegations/TimeboundDelegationControl.sol +1 -1
- package/src/modules/std-delegations/constants.sol +1 -3
- package/src/modules/std-delegations/tables/CallboundDelegations.sol +4 -6
- package/src/modules/std-delegations/tables/SystemboundDelegations.sol +4 -6
- package/src/modules/std-delegations/tables/TimeboundDelegations.sol +4 -6
- package/src/modules/tokens/tables/Balances.sol +2 -3
- package/src/modules/uniqueentity/UniqueEntityModule.sol +16 -15
- package/src/modules/uniqueentity/UniqueEntitySystem.sol +1 -1
- package/src/modules/uniqueentity/constants.sol +3 -3
- package/src/modules/uniqueentity/getUniqueEntity.sol +2 -3
- package/src/modules/uniqueentity/tables/UniqueEntity.sol +2 -3
- package/src/modules/utils/ArrayLib.sol +2 -2
- package/src/utils/AccessControlLib.sol +1 -1
- package/src/utils/SystemSwitch.sol +7 -10
- package/out/CoreModule.sol/CoreModule.json +0 -1
- package/out/CoreSystem.sol/CoreSystem.json +0 -1
- package/out/ICoreSystem.sol/ICoreSystem.json +0 -1
- package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json +0 -15
- package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json.d.ts +0 -15
- package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +0 -1
- package/out/world/src/IERC165.sol/IERC165.json +0 -1
- package/src/interfaces/IUniqueEntitySystem.sol +0 -7
- /package/out/{ICoreSystem.sol/ICoreSystem.abi.json → ERC165Checker.sol/ERC165Checker.abi.json} +0 -0
- /package/out/{world/src/IERC165.sol → IERC165.sol}/IERC165.abi.json +0 -0
- /package/out/{world/src/IERC165.sol → IERC165.sol}/IERC165.abi.json.d.ts +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"abi":[{"type":"function","name":"onAfterDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSetRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeDeleteRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSetRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StoreHook_NotImplemented","inputs":[]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50612677806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d9b565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611f37565b6101fd565b005b6100e26100f2366004611feb565b610262565b6100e2610105366004611feb565b61031d565b6100e2610118366004611f37565b61034f565b6100e261010536600461208f565b6100e26101393660046120df565b61039b565b6100e261014c36600461208f565b6103ef565b6100e261015f3660046120df565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f198cf0cd0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610558565b9050600061022f661ad95e5ddd985b60ca1b8b610633565b9050610256818a6000815181106102485761024861216c565b6020026020010151846106f5565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b88610633565b90506000610287888885610558565b90506102ae82886000815181106102a0576102a061216c565b6020026020010151836106f5565b8351606090156102e3578686866040516020016102cd939291906121a6565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a6000815181106103055761030561216c565b6020026020010151610736565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610558565b90506000610381661ad95e5ddd985b60ca1b8b610633565b905061025681838b6000815181106103055761030561216c565b60006103a685610480565b905060006103b5868684610558565b905060006103cd661ad95e5ddd985b60ca1b88610633565b90506103e681876000815181106102485761024861216c565b50505050505050565b60006103fc848484610558565b90506000610414661ad95e5ddd985b60ca1b86610633565b905061042d81856000815181106102485761024861216c565b5050505050565b600061043f85610480565b9050600061044e868684610558565b90506000610466661ad95e5ddd985b60ca1b88610633565b90506103e68183886000815181106103055761030561216c565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b961216c565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061055090610528906121dd565b8360007e600302202020000000000000000000000000000000000000000000000000006107a6565b949350505050565b600080600080610566610863565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105959392919061223f565b600060405180830381865afa1580156105b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105da91908101906122ad565b92509250925060008151111561061f578282826040516020016105ff939291906121a6565b60405160208183030381529060405280519060200120935050505061062c565b5050805160209091012090505b9392505050565b60008061063f83610872565b9050600061064d8460101b90565b9050603861065c816010612330565b6106669190612330565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c61069760386010612330565b613a3160f11b7fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b600061070b836107058685610889565b906108fd565b905080516000036107255761072084836109d5565b610730565b610730848383610a26565b50505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061076c5761076c61216c565b602002602001018181525050610730848260008560405160200161079291815260200190565b604051602081830303815290604052610a7d565b6000806107b1610b23565b9050306001600160a01b038216036107d7576107cf86868686610b62565b915050610550565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610822908990899089908990600401612343565b602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cf9190612372565b600061086d610b23565b905090565b600061088060706010612330565b9190911b919050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106108c3576108c361216c565b60200260200101818152505060006108dd85836000610b8f565b90506108f46108ef8260008451610c56565b610cef565b95945050505050565b60606000835167ffffffffffffffff81111561091b5761091b611ddd565b604051908082528060200260200182016040528015610944578160200160208202803683370190505b5090506000805b85518110156109cb57848682815181106109675761096761216c565b6020026020010151146109b9578581815181106109865761098661216c565b60200260200101518383815181106109a0576109a061216c565b6020908102919091010152816109b58161238b565b9250505b806109c38161238b565b91505061094b565b5081529392505050565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610a0b57610a0b61216c565b602002602001018181525050610a218382610d00565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a5c57610a5c61216c565b60200260200101818152505061073084826000610a7886610d9b565b610dab565b6000610a87610b23565b9050306001600160a01b03821603610aaa57610aa585858585610e1e565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610af59088908890889088906004016123d1565b600060405180830381600087803b158015610b0f57600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b5d573391505090565b919050565b60006108f4610b718686610e61565b60ff858116601b0360080285901c16610b8a8587610eb7565b610ef2565b60606000610b9b610b23565b9050306001600160a01b03821603610bc057610bb8858585610f43565b91505061062c565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610c0990889088908890600401612405565b600060405180830381865afa158015610c26573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bb89190810190612431565b509392505050565b6000818311158015610c69575083518211155b610cae578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610ca593929190612466565b60405180910390fd5b60208401610cbc8482612330565b90506000610cca858561248b565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061062c8360206000610f7d565b6000610d0a610b23565b9050306001600160a01b03821603610d2657610a218383610ff8565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d6d908690869060040161249e565b600060405180830381600087803b158015610d8757600080fd5b505af11580156103e6573d6000803e3d6000fd5b60608161062c816020600061100f565b6000610db5610b23565b9050306001600160a01b03821603610dd357610aa585858585611063565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610af59088908890889088906004016123d1565b6000610e2a858561109e565b90506000610e47828560ff166028026038011c64ffffffffff1690565b9050610e5986868684600088886110b1565b505050505050565b60008282604051602001610e769291906124b7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c4e57610ede60ff601b83900360080287901c1683612330565b915080610eea8161238b565b915050610ebc565b600060208210610f1857602082048401935060208281610f1457610f146124f2565b0691505b508254600882021b602082900380841115610c4e576001850154600882021c82179150509392505050565b6060610550610f538585856114c7565b610f7684610f61888861109e565b9060ff166028026038011c64ffffffffff1690565b6000611547565b60606000610f8b8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610fb157610fb16124f2565b04905060405193506020840160208202810160405281855260005b82811015610fec578451871c825293870193602090910190600101610fcc565b50505050509392505050565b61100b82826110068561156a565b611668565b5050565b825160609060006110208583612508565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fec578051871b83529187019160019190910190602001611042565b600061106f858561109e565b9050600061108c828560ff166028026038011c64ffffffffff1690565b9050610e5986868660008588886110b1565b600061062c6110ad8484611928565b5490565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461113b57613a3160f11b87886040516020016110f991815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610ca593929160040161251f565b6000611156828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116f919061248b565b6111799190612330565b905080821415801561119b5750816111918688612560565b64ffffffffff1614155b156111eb576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610ca5565b818664ffffffffff16111561123c576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610ca5565b600061124984898461197e565b905064ffffffffff871660005b8960ff168160ff1610156112895761127d868260ff166028026038011c64ffffffffff1690565b90910190600101611256565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b6040516112c2959493929190612585565b60405180910390a25060006112d68b611a4c565b905060005b81518110156113ab5760008282815181106112f8576112f861216c565b602002602001015190506113246010826affffffffffffffffffffff1916611b1490919063ffffffff16565b1561139857606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161136597969594939291906125d7565b600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b505050505b50806113a38161238b565b9150506112db565b508284146113c45760006113bf8c8c611928565b839055505b60006113d18c8c8c6114c7565b90506113e5818a64ffffffffff1689611b32565b5060005b81518110156114b95760008282815181106114065761140661216c565b602002602001015190506114326020826affffffffffffffffffffff1916611b1490919063ffffffff16565b156114a657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161147397969594939291906125d7565b600060405180830381600087803b15801561148d57600080fd5b505af11580156114a1573d6000803e3d6000fd5b505050505b50806114b18161238b565b9150506113e9565b505050505050505050505050565b600083836040516020016114dc9291906124b7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8584010116604052838252610c4e85858584611b42565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152600091016040516020818303038152906040526115c9906121dd565b82036115f557507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526101f79161165f9101604051602081830303815290604052611659906121dd565b84611c11565b60206000610ef2565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516116989190612635565b60405180910390a2613a3160f11b837fffff00000000000000000000000000000000000000000000000000000000000016146116d357505050565b60006116de84611a4c565b905060005b81518110156117bb5760008282815181106117005761170061216c565b6020026020010151905061172c6040826affffffffffffffffffffff1916611b1490919063ffffffff16565b156117a8576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117759089908990899060040161223f565b600060405180830381600087803b15801561178f57600080fd5b505af11580156117a3573d6000803e3d6000fd5b505050505b50806117b38161238b565b9150506116e3565b5060006117c88585610e61565b90506118218160006117d986611c2d565b67ffffffffffffffff8111156117f1576117f1611ddd565b6040519080825280601f01601f19166020018201604052801561181b576020820181803683370190505b50611b32565b600061182c84611c50565b111561184d57600061183e8686611928565b905061184b816020611c8d565b505b60005b8251811015610e5957600083828151811061186d5761186d61216c565b602002602001015190506118996080826affffffffffffffffffffff1916611b1490919063ffffffff16565b15611915576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906118e2908a908a908a9060040161223f565b600060405180830381600087803b1580156118fc57600080fd5b505af1158015611910573d6000803e3d6000fd5b505050505b50806119208161238b565b915050611850565b6000828260405160200161193d9291906124b7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff8211156119c2576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610ca5565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119f457808503820191506119fc565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a8657611a8661216c565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611afd90611af5906121dd565b836000610f43565b9050610550611b0f8260008451610c56565b611cca565b60008160ff1682611b258560581c90565b1660ff1614905092915050565b610a218383602084018451611cdb565b8115611bcb5760208210611b6c57602082048401935060208281611b6857611b686124f2565b0691505b8115611bcb576020829003600081851015611b905750600019600885021c19611b9b565b50600019600882021c195b8554600885021b811984511682821617845250818511611bbc575050610730565b50600194909401939283900392015b5b60208310611bed5783548152600190930192601f1990920191602001611bcc565b8215610730576000600019600885021c198251865482169119161782525050505050565b6040805160208101849052908101829052600090606001610e76565b60006008611c3d6002602061248b565b611c479190612508565b9190911c919050565b60006008600180611c636002602061248b565b611c6d919061248b565b611c77919061248b565b611c819190612508565b8260ff911c1692915050565b60006020611c9c83601f612330565b611ca69190612648565b611cb09084612330565b90505b80831015610a215760008355600183019250611cb3565b6060600061062c8360156000610f7d565b8215611d555760208310611d0557602083048401935060208381611d0157611d016124f2565b0692505b8215611d555760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611d46575050610730565b50600194909401939182019190035b5b60208110611d775781518455600190930192602090910190601f1901611d56565b8015610730576000600019600883021c198554845182169119161785555050505050565b600060208284031215611dad57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461062c57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1c57611e1c611ddd565b604052919050565b600082601f830112611e3557600080fd5b8135602067ffffffffffffffff821115611e5157611e51611ddd565b8160051b611e60828201611df3565b9283528481018201928281019087851115611e7a57600080fd5b83870192505b84831015611e9957823582529183019190830190611e80565b979650505050505050565b803564ffffffffff81168114610b5d57600080fd5b600067ffffffffffffffff821115611ed357611ed3611ddd565b50601f01601f191660200190565b600082601f830112611ef257600080fd5b8135611f05611f0082611eb9565b611df3565b818152846020838601011115611f1a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611f5257600080fd5b87359650602088013567ffffffffffffffff80821115611f7157600080fd5b611f7d8b838c01611e24565b975060408a0135915060ff82168214611f9557600080fd5b819650611fa460608b01611ea4565b9550611fb260808b01611ea4565b945060a08a0135935060c08a0135915080821115611fcf57600080fd5b50611fdc8a828b01611ee1565b91505092959891949750929550565b60008060008060008060c0878903121561200457600080fd5b86359550602087013567ffffffffffffffff8082111561202357600080fd5b61202f8a838b01611e24565b9650604089013591508082111561204557600080fd5b6120518a838b01611ee1565b955060608901359450608089013591508082111561206e57600080fd5b5061207b89828a01611ee1565b92505060a087013590509295509295509295565b6000806000606084860312156120a457600080fd5b83359250602084013567ffffffffffffffff8111156120c257600080fd5b6120ce86828701611e24565b925050604084013590509250925092565b600080600080608085870312156120f557600080fd5b84359350602085013567ffffffffffffffff8082111561211457600080fd5b61212088838901611e24565b94506040870135915065ffffffffffff8216821461213d57600080fd5b9092506060860135908082111561215357600080fd5b5061216087828801611ee1565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561219d578181015183820152602001612185565b50506000910152565b600084516121b8818460208901612182565b820184815283516121d0816020808501908801612182565b0160200195945050505050565b805160208083015191908110156121fe576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b8381101561223457815187529582019590820190600101612218565b509495945050505050565b8381526060602082015260006122586060830185612204565b9050826040830152949350505050565b600082601f83011261227957600080fd5b8151612287611f0082611eb9565b81815284602083860101111561229c57600080fd5b610550826020830160208701612182565b6000806000606084860312156122c257600080fd5b835167ffffffffffffffff808211156122da57600080fd5b6122e687838801612268565b945060208601519350604086015191508082111561230357600080fd5b5061231086828701612268565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f761231a565b84815260806020820152600061235c6080830186612204565b60ff949094166040830152506060015292915050565b60006020828403121561238457600080fd5b5051919050565b6000600019820361239e5761239e61231a565b5060010190565b600081518084526123bd816020860160208601612182565b601f01601f19169290920160200192915050565b8481526080602082015260006123ea6080830186612204565b60ff851660408401528281036060840152611e9981856123a5565b83815260606020820152600061241e6060830185612204565b905060ff83166040830152949350505050565b60006020828403121561244357600080fd5b815167ffffffffffffffff81111561245a57600080fd5b61055084828501612268565b60608152600061247960608301866123a5565b60208301949094525060400152919050565b818103818111156101f7576101f761231a565b8281526040602082015260006105506040830184612204565b82815260006020808301845182860160005b828110156124e5578151845292840192908401906001016124c9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f761231a565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108f460608301846123a5565b64ffffffffff81811683821601908082111561257e5761257e61231a565b5092915050565b60a08152600061259860a0830188612204565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526125cb81856123a5565b98975050505050505050565b87815260e0602082015260006125f060e0830189612204565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261262781856123a5565b9a9950505050505050505050565b60208152600061062c6020830184612204565b60008261266557634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000815000a","sourceMap":"1167:4801:160:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d9b565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611f37565b6101fd565b005b6100e26100f2366004611feb565b610262565b6100e2610105366004611feb565b61031d565b6100e2610118366004611f37565b61034f565b6100e261010536600461208f565b6100e26101393660046120df565b61039b565b6100e261014c36600461208f565b6103ef565b6100e261015f3660046120df565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f198cf0cd0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610558565b9050600061022f661ad95e5ddd985b60ca1b8b610633565b9050610256818a6000815181106102485761024861216c565b6020026020010151846106f5565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b88610633565b90506000610287888885610558565b90506102ae82886000815181106102a0576102a061216c565b6020026020010151836106f5565b8351606090156102e3578686866040516020016102cd939291906121a6565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a6000815181106103055761030561216c565b6020026020010151610736565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610558565b90506000610381661ad95e5ddd985b60ca1b8b610633565b905061025681838b6000815181106103055761030561216c565b60006103a685610480565b905060006103b5868684610558565b905060006103cd661ad95e5ddd985b60ca1b88610633565b90506103e681876000815181106102485761024861216c565b50505050505050565b60006103fc848484610558565b90506000610414661ad95e5ddd985b60ca1b86610633565b905061042d81856000815181106102485761024861216c565b5050505050565b600061043f85610480565b9050600061044e868684610558565b90506000610466661ad95e5ddd985b60ca1b88610633565b90506103e68183886000815181106103055761030561216c565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b961216c565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061055090610528906121dd565b8360007e600302202020000000000000000000000000000000000000000000000000006107a6565b949350505050565b600080600080610566610863565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105959392919061223f565b600060405180830381865afa1580156105b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105da91908101906122ad565b92509250925060008151111561061f578282826040516020016105ff939291906121a6565b60405160208183030381529060405280519060200120935050505061062c565b5050805160209091012090505b9392505050565b60008061063f83610872565b9050600061064d8460101b90565b9050603861065c816010612330565b6106669190612330565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c61069760386010612330565b613a3160f11b7fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b600061070b836107058685610889565b906108fd565b905080516000036107255761072084836109d5565b610730565b610730848383610a26565b50505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061076c5761076c61216c565b602002602001018181525050610730848260008560405160200161079291815260200190565b604051602081830303815290604052610a7d565b6000806107b1610b23565b9050306001600160a01b038216036107d7576107cf86868686610b62565b915050610550565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610822908990899089908990600401612343565b602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cf9190612372565b600061086d610b23565b905090565b600061088060706010612330565b9190911b919050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106108c3576108c361216c565b60200260200101818152505060006108dd85836000610b8f565b90506108f46108ef8260008451610c56565b610cef565b95945050505050565b60606000835167ffffffffffffffff81111561091b5761091b611ddd565b604051908082528060200260200182016040528015610944578160200160208202803683370190505b5090506000805b85518110156109cb57848682815181106109675761096761216c565b6020026020010151146109b9578581815181106109865761098661216c565b60200260200101518383815181106109a0576109a061216c565b6020908102919091010152816109b58161238b565b9250505b806109c38161238b565b91505061094b565b5081529392505050565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610a0b57610a0b61216c565b602002602001018181525050610a218382610d00565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a5c57610a5c61216c565b60200260200101818152505061073084826000610a7886610d9b565b610dab565b6000610a87610b23565b9050306001600160a01b03821603610aaa57610aa585858585610e1e565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610af59088908890889088906004016123d1565b600060405180830381600087803b158015610b0f57600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b5d573391505090565b919050565b60006108f4610b718686610e61565b60ff858116601b0360080285901c16610b8a8587610eb7565b610ef2565b60606000610b9b610b23565b9050306001600160a01b03821603610bc057610bb8858585610f43565b91505061062c565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610c0990889088908890600401612405565b600060405180830381865afa158015610c26573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bb89190810190612431565b509392505050565b6000818311158015610c69575083518211155b610cae578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610ca593929190612466565b60405180910390fd5b60208401610cbc8482612330565b90506000610cca858561248b565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061062c8360206000610f7d565b6000610d0a610b23565b9050306001600160a01b03821603610d2657610a218383610ff8565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d6d908690869060040161249e565b600060405180830381600087803b158015610d8757600080fd5b505af11580156103e6573d6000803e3d6000fd5b60608161062c816020600061100f565b6000610db5610b23565b9050306001600160a01b03821603610dd357610aa585858585611063565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610af59088908890889088906004016123d1565b6000610e2a858561109e565b90506000610e47828560ff166028026038011c64ffffffffff1690565b9050610e5986868684600088886110b1565b505050505050565b60008282604051602001610e769291906124b7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c4e57610ede60ff601b83900360080287901c1683612330565b915080610eea8161238b565b915050610ebc565b600060208210610f1857602082048401935060208281610f1457610f146124f2565b0691505b508254600882021b602082900380841115610c4e576001850154600882021c82179150509392505050565b6060610550610f538585856114c7565b610f7684610f61888861109e565b9060ff166028026038011c64ffffffffff1690565b6000611547565b60606000610f8b8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610fb157610fb16124f2565b04905060405193506020840160208202810160405281855260005b82811015610fec578451871c825293870193602090910190600101610fcc565b50505050509392505050565b61100b82826110068561156a565b611668565b5050565b825160609060006110208583612508565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fec578051871b83529187019160019190910190602001611042565b600061106f858561109e565b9050600061108c828560ff166028026038011c64ffffffffff1690565b9050610e5986868660008588886110b1565b600061062c6110ad8484611928565b5490565b613a3160f11b877fffff000000000000000000000000000000000000000000000000000000000000161461113b57613a3160f11b87886040516020016110f991815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610ca593929160040161251f565b6000611156828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116f919061248b565b6111799190612330565b905080821415801561119b5750816111918688612560565b64ffffffffff1614155b156111eb576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610ca5565b818664ffffffffff16111561123c576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610ca5565b600061124984898461197e565b905064ffffffffff871660005b8960ff168160ff1610156112895761127d868260ff166028026038011c64ffffffffff1690565b90910190600101611256565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b6040516112c2959493929190612585565b60405180910390a25060006112d68b611a4c565b905060005b81518110156113ab5760008282815181106112f8576112f861216c565b602002602001015190506113246010826affffffffffffffffffffff1916611b1490919063ffffffff16565b1561139857606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161136597969594939291906125d7565b600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b505050505b50806113a38161238b565b9150506112db565b508284146113c45760006113bf8c8c611928565b839055505b60006113d18c8c8c6114c7565b90506113e5818a64ffffffffff1689611b32565b5060005b81518110156114b95760008282815181106114065761140661216c565b602002602001015190506114326020826affffffffffffffffffffff1916611b1490919063ffffffff16565b156114a657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161147397969594939291906125d7565b600060405180830381600087803b15801561148d57600080fd5b505af11580156114a1573d6000803e3d6000fd5b505050505b50806114b18161238b565b9150506113e9565b505050505050505050505050565b600083836040516020016114dc9291906124b7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8584010116604052838252610c4e85858584611b42565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152600091016040516020818303038152906040526115c9906121dd565b82036115f557507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526101f79161165f9101604051602081830303815290604052611659906121dd565b84611c11565b60206000610ef2565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516116989190612635565b60405180910390a2613a3160f11b837fffff00000000000000000000000000000000000000000000000000000000000016146116d357505050565b60006116de84611a4c565b905060005b81518110156117bb5760008282815181106117005761170061216c565b6020026020010151905061172c6040826affffffffffffffffffffff1916611b1490919063ffffffff16565b156117a8576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117759089908990899060040161223f565b600060405180830381600087803b15801561178f57600080fd5b505af11580156117a3573d6000803e3d6000fd5b505050505b50806117b38161238b565b9150506116e3565b5060006117c88585610e61565b90506118218160006117d986611c2d565b67ffffffffffffffff8111156117f1576117f1611ddd565b6040519080825280601f01601f19166020018201604052801561181b576020820181803683370190505b50611b32565b600061182c84611c50565b111561184d57600061183e8686611928565b905061184b816020611c8d565b505b60005b8251811015610e5957600083828151811061186d5761186d61216c565b602002602001015190506118996080826affffffffffffffffffffff1916611b1490919063ffffffff16565b15611915576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906118e2908a908a908a9060040161223f565b600060405180830381600087803b1580156118fc57600080fd5b505af1158015611910573d6000803e3d6000fd5b505050505b50806119208161238b565b915050611850565b6000828260405160200161193d9291906124b7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff8211156119c2576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610ca5565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119f457808503820191506119fc565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a8657611a8661216c565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611afd90611af5906121dd565b836000610f43565b9050610550611b0f8260008451610c56565b611cca565b60008160ff1682611b258560581c90565b1660ff1614905092915050565b610a218383602084018451611cdb565b8115611bcb5760208210611b6c57602082048401935060208281611b6857611b686124f2565b0691505b8115611bcb576020829003600081851015611b905750600019600885021c19611b9b565b50600019600882021c195b8554600885021b811984511682821617845250818511611bbc575050610730565b50600194909401939283900392015b5b60208310611bed5783548152600190930192601f1990920191602001611bcc565b8215610730576000600019600885021c198251865482169119161782525050505050565b6040805160208101849052908101829052600090606001610e76565b60006008611c3d6002602061248b565b611c479190612508565b9190911c919050565b60006008600180611c636002602061248b565b611c6d919061248b565b611c77919061248b565b611c819190612508565b8260ff911c1692915050565b60006020611c9c83601f612330565b611ca69190612648565b611cb09084612330565b90505b80831015610a215760008355600183019250611cb3565b6060600061062c8360156000610f7d565b8215611d555760208310611d0557602083048401935060208381611d0157611d016124f2565b0692505b8215611d555760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611d46575050610730565b50600194909401939182019190035b5b60208110611d775781518455600190930192602090910190601f1901611d56565b8015610730576000600019600883021c198554845182169119161785555050505050565b600060208284031215611dad57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461062c57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1c57611e1c611ddd565b604052919050565b600082601f830112611e3557600080fd5b8135602067ffffffffffffffff821115611e5157611e51611ddd565b8160051b611e60828201611df3565b9283528481018201928281019087851115611e7a57600080fd5b83870192505b84831015611e9957823582529183019190830190611e80565b979650505050505050565b803564ffffffffff81168114610b5d57600080fd5b600067ffffffffffffffff821115611ed357611ed3611ddd565b50601f01601f191660200190565b600082601f830112611ef257600080fd5b8135611f05611f0082611eb9565b611df3565b818152846020838601011115611f1a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611f5257600080fd5b87359650602088013567ffffffffffffffff80821115611f7157600080fd5b611f7d8b838c01611e24565b975060408a0135915060ff82168214611f9557600080fd5b819650611fa460608b01611ea4565b9550611fb260808b01611ea4565b945060a08a0135935060c08a0135915080821115611fcf57600080fd5b50611fdc8a828b01611ee1565b91505092959891949750929550565b60008060008060008060c0878903121561200457600080fd5b86359550602087013567ffffffffffffffff8082111561202357600080fd5b61202f8a838b01611e24565b9650604089013591508082111561204557600080fd5b6120518a838b01611ee1565b955060608901359450608089013591508082111561206e57600080fd5b5061207b89828a01611ee1565b92505060a087013590509295509295509295565b6000806000606084860312156120a457600080fd5b83359250602084013567ffffffffffffffff8111156120c257600080fd5b6120ce86828701611e24565b925050604084013590509250925092565b600080600080608085870312156120f557600080fd5b84359350602085013567ffffffffffffffff8082111561211457600080fd5b61212088838901611e24565b94506040870135915065ffffffffffff8216821461213d57600080fd5b9092506060860135908082111561215357600080fd5b5061216087828801611ee1565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561219d578181015183820152602001612185565b50506000910152565b600084516121b8818460208901612182565b820184815283516121d0816020808501908801612182565b0160200195945050505050565b805160208083015191908110156121fe576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b8381101561223457815187529582019590820190600101612218565b509495945050505050565b8381526060602082015260006122586060830185612204565b9050826040830152949350505050565b600082601f83011261227957600080fd5b8151612287611f0082611eb9565b81815284602083860101111561229c57600080fd5b610550826020830160208701612182565b6000806000606084860312156122c257600080fd5b835167ffffffffffffffff808211156122da57600080fd5b6122e687838801612268565b945060208601519350604086015191508082111561230357600080fd5b5061231086828701612268565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f761231a565b84815260806020820152600061235c6080830186612204565b60ff949094166040830152506060015292915050565b60006020828403121561238457600080fd5b5051919050565b6000600019820361239e5761239e61231a565b5060010190565b600081518084526123bd816020860160208601612182565b601f01601f19169290920160200192915050565b8481526080602082015260006123ea6080830186612204565b60ff851660408401528281036060840152611e9981856123a5565b83815260606020820152600061241e6060830185612204565b905060ff83166040830152949350505050565b60006020828403121561244357600080fd5b815167ffffffffffffffff81111561245a57600080fd5b61055084828501612268565b60608152600061247960608301866123a5565b60208301949094525060400152919050565b818103818111156101f7576101f761231a565b8281526040602082015260006105506040830184612204565b82815260006020808301845182860160005b828110156124e5578151845292840192908401906001016124c9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f761231a565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108f460608301846123a5565b64ffffffffff81811683821601908082111561257e5761257e61231a565b5092915050565b60a08152600061259860a0830188612204565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526125cb81856123a5565b98975050505050505050565b87815260e0602082015260006125f060e0830189612204565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261262781856123a5565b9a9950505050505050505050565b60208152600061062c6020830184612204565b60008261266557634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000815000a","sourceMap":"1167:4801:160:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;900:176:22;;;;;;:::i;:::-;;:::i;:::-;;;516:14:201;;509:22;491:41;;479:2;464:18;900:176:22;;;;;;;3316:565:160;;;;;;:::i;:::-;;:::i;:::-;;1408:873;;;;;;:::i;:::-;;:::i;2435:266:22:-;;;;;;:::i;:::-;;:::i;3885:544:160:-;;;;;;:::i;:::-;;:::i;7551:160:22:-;;;;;;:::i;2285:522:160:-;;;;;;:::i;:::-;;:::i;4433:449::-;;;;;;:::i;:::-;;:::i;2811:501::-;;;;;;:::i;:::-;;:::i;900:176:22:-;976:4;995:38;;;382:387:10;995:38:22;;:76;;-1:-1:-1;1037:34:22;;;97::5;1037::22;995:76;988:83;900:176;-1:-1:-1;;900:176:22:o;3316:565:160:-;3578:23;3604:36;3626:13;3604:21;:36::i;:::-;3578:62;;3646:21;3670:57;3690:13;3705:8;3715:11;3670:19;:57::i;:::-;3646:81;;3733:24;3760:49;-1:-1:-1;;;3795:13:160;3760:16;:49::i;:::-;3733:76;;3815:61;3834:13;3849:8;3858:1;3849:11;;;;;;;;:::i;:::-;;;;;;;3862:13;3815:18;:61::i;:::-;3504:377;;;3316:565;;;;;;;:::o;1408:873::-;1644:24;1671:49;-1:-1:-1;;;1706:13:160;1671:16;:49::i;:::-;1644:76;;1757:21;1781:57;1801:13;1816:8;1826:11;1781:19;:57::i;:::-;1757:81;;1913:61;1932:13;1947:8;1956:1;1947:11;;;;;;;;:::i;:::-;;;;;;;1960:13;1913:18;:61::i;:::-;2067:18;;2040:17;;2067:22;2063:145;;2123:10;2135:14;2151:11;2106:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2099:64;;2063:145;;;-1:-1:-1;2191:10:160;2063:145;2213:63;2232:13;2257:4;2247:15;;;;;;2264:8;2273:1;2264:11;;;;;;;;:::i;:::-;;;;;;;2213:18;:63::i;:::-;1638:643;;;1408:873;;;;;;:::o;2435:266:22:-;2670:26;;;;;;;;;;;;;;3885:544:160;4136:23;4162:36;4184:13;4162:21;:36::i;:::-;4136:62;;4204:16;4223:57;4243:13;4258:8;4268:11;4223:19;:57::i;:::-;4204:76;;4286:24;4313:49;-1:-1:-1;;;4348:13:160;4313:16;:49::i;:::-;4286:76;;4368:56;4387:13;4402:8;4412;4421:1;4412:11;;;;;;;;:::i;2285:522::-;2504:23;2530:36;2552:13;2530:21;:36::i;:::-;2504:62;;2572:21;2596:57;2616:13;2631:8;2641:11;2596:19;:57::i;:::-;2572:81;;2659:24;2686:49;-1:-1:-1;;;2721:13:160;2686:16;:49::i;:::-;2659:76;;2741:61;2760:13;2775:8;2784:1;2775:11;;;;;;;;:::i;2741:61::-;2430:377;;;2285:522;;;;:::o;4433:449::-;4647:21;4671:57;4691:13;4706:8;4716:11;4671:19;:57::i;:::-;4647:81;;4734:24;4761:49;-1:-1:-1;;;4796:13:160;4761:16;:49::i;:::-;4734:76;;4816:61;4835:13;4850:8;4859:1;4850:11;;;;;;;;:::i;4816:61::-;4573:309;;4433:449;;;:::o;2811:501::-;3019:23;3045:36;3067:13;3045:21;:36::i;:::-;3019:62;;3087:16;3106:57;3126:13;3141:8;3151:11;3106:19;:57::i;:::-;3087:76;;3169:24;3196:49;-1:-1:-1;;;3231:13:160;3196:16;:49::i;:::-;3169:76;;3251:56;3270:13;3285:8;3295;3304:1;3295:11;;;;;;;;:::i;3776:327:29:-;3903:16;;;3917:1;3903:16;;;;;;;;;3843:23;;;;3903:16;;;;;;;;;;;;-1:-1:-1;3903:16:29;3874:45;;3958:7;3925:9;3935:1;3925:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1147:69;;;-1:-1:-1;;;1147:69:29;;;7457:92:201;-1:-1:-1;;;7565:11:201;;;7558:100;1198:17:29;7674:12:201;;;7667:101;1147:69:29;;;;;;;;;;7784:12:201;;1147:69:29;;-1:-1:-1;;3989:64:29;;1139:78;;;:::i;:::-;4026:9;4037:1;1324:66;3989:26;:64::i;:::-;3973:80;3776:327;-1:-1:-1;;;;3776:327:29:o;4886:512:160:-;5032:17;5058:23;5083:28;5113:24;5141:8;:6;:8::i;:::-;-1:-1:-1;;;;;5141:18:160;;5167:13;5188:8;5204:11;5141:80;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5141:80:160;;;;;;;;;;;;:::i;:::-;5057:164;;;;;;5252:1;5231:11;:18;:22;5227:167;;;5297:10;5309:14;5325:11;5280:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5270:68;;;;;;5263:75;;;;;;;5227:167;-1:-1:-1;;5366:21:160;;;;;;;;-1:-1:-1;4886:512:160;;;;;;:::o;1052:559:164:-;1142:10;1158:17;1178:46;1210:13;1178:31;:46::i;:::-;1158:66;;1228:27;1265:51;1302:13;336:5:16;2530:44:58;;2432:148;1265:51:164;1228:89;-1:-1:-1;401:5:164;1544:33;401:5;336::16;1544:33:164;:::i;:::-;:56;;;;:::i;:::-;1521:18;;;:80;;1474:33;354:5;336::16;1474:33:164;:::i;:::-;-1:-1:-1;;;1440:29:164;;;;;:68;;336:5:16;1390:37:164;;;;;1355:154;:247;;;-1:-1:-1;;1052:559:164;;;;:::o;5402:564:160:-;5573:38;5614:55;5665:3;5614:43;5632:13;5647:9;5614:17;:43::i;:::-;:50;;:55::i;:::-;5573:96;;5680:21;:28;5712:1;5680:33;5676:286;;5770:52;5797:13;5812:9;5770:26;:52::i;:::-;5676:286;;;5889:66;5907:13;5922:9;5933:21;5889:17;:66::i;:::-;5497:469;5402:564;;;:::o;14800:258:165:-;14916:16;;;14930:1;14916:16;;;;;;;;;14887:26;;14916:16;;;;;;;;;;;-1:-1:-1;14916:16:165;14887:45;;14953:9;14938;14948:1;14938:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;14969:84;15000:8;15010:9;15021:1;15042:8;15024:28;;;;;;10632:19:201;;10676:2;10667:12;;10503:182;15024:28:165;;;;;;;;;;;;;14969:30;:84::i;17702:457:24:-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:24;-1:-1:-1;;;;;17925:30:24;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:24;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1292:112:160:-;1333:10;1369:29;:27;:29::i;:::-;1351:48;;1292:112;:::o;3058:160:58:-;3121:7;3185:26;399:6;336:5:16;3185:26:58;:::i;:::-;3151:61;;;;;3058:160;-1:-1:-1;3058:160:58:o;4802:354:165:-;4945:16;;;4959:1;4945:16;;;;;;;;;4878:30;;4916:26;;4945:16;;;;;;;;;;;;-1:-1:-1;4945:16:165;4916:45;;4982:9;4967;4977:1;4967:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;4998:18;5019:51;5047:8;5057:9;5068:1;5019:27;:51::i;:::-;4998:72;;5084:66;:44;5105:5;5112:1;5115:5;:12;5084:20;:44::i;:::-;:64;:66::i;:::-;5076:75;4802:354;-1:-1:-1;;;;;4802:354:165:o;834:535:189:-;912:16;936:25;978:3;:10;964:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;964:25:189;;936:53;;995:21;1031:9;1026:150;1046:3;:10;1042:1;:14;1026:150;;;1085:7;1075:3;1079:1;1075:6;;;;;;;;:::i;:::-;;;;;;;:17;1071:99;;1130:3;1134:1;1130:6;;;;;;;;:::i;:::-;;;;;;;1104:8;1113:13;1104:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;1146:15;;;;:::i;:::-;;;;1071:99;1058:3;;;;:::i;:::-;;;;1026:150;;;-1:-1:-1;1306:31:189;;;834:535;-1:-1:-1;;;834:535:189:o;20488:209:165:-;20594:16;;;20608:1;20594:16;;;;;;;;;20565:26;;20594:16;;;;;;;;;;;-1:-1:-1;20594:16:165;20565:45;;20631:9;20616;20626:1;20616:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;20647:45;20672:8;20682:9;20647:24;:45::i;:::-;20559:138;20488:209;;:::o;7126:275::-;7255:16;;;7269:1;7255:16;;;;;;;;;7226:26;;7255:16;;;;;;;;;;;-1:-1:-1;7255:16:165;7226:45;;7292:9;7277;7287:1;7277:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;7308:88;7336:8;7346:9;7357:1;7360:35;7380:13;7360:18;:35::i;:::-;7308:27;:88::i;12274:451:24:-;12434:21;12458:17;:15;:17::i;:::-;12434:41;-1:-1:-1;12510:4:24;-1:-1:-1;;;;;12485:30:24;;;12481:240;;12525:78;12554:7;12563:8;12573:17;12592:10;12525:28;:78::i;:::-;12481:240;;;12624:90;;;;;-1:-1:-1;;;;;12624:40:24;;;;;:90;;12665:7;;12674:8;;12684:17;;12703:10;;12624:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:227;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:24;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:24:o;35212:541:20:-;35369:7;35506:242;35550:59;35591:7;35600:8;35550:40;:59::i;:::-;35627:31;;;;4044:19:3;:27;537:1:30;4043:44:3;4009:79;;;3996:93;35676:63:20;35715:11;35728:10;35676:38;:63::i;:::-;35506:17;:242::i;18525:431:24:-;18661:12;18681:21;18705:17;:15;:17::i;:::-;18681:41;-1:-1:-1;18757:4:24;-1:-1:-1;;;;;18732:30:24;;;18728:224;;18779:63;18805:7;18814:8;18824:17;18779:25;:63::i;:::-;18772:70;;;;;18728:224;18870:75;;;;;-1:-1:-1;;;;;18870:37:24;;;;;:75;;18908:7;;18917:8;;18927:17;;18870:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18870:75:24;;;;;;;;;;;;:::i;18728:224::-;18675:281;18525:431;;;;;:::o;2022:570:18:-;2113:5;2211:3;2202:5;:12;;:34;;;;;2225:4;:11;2218:3;:18;;2202:34;2196:85;;2264:4;2270:5;2277:3;2246:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;2196:85;2349:4;2339:15;;2396:17;2408:5;2339:15;2396:17;:::i;:::-;;-1:-1:-1;2419:12:18;2434:11;2440:5;2434:3;:11;:::i;:::-;643:17;2570:15;2562:3;2550:15;;;;2549:37;;;;;;-1:-1:-1;;;;;2022:570:18:o;45218:220:34:-;45284:24;45316:30;45349:32;45367:6;45375:2;45379:1;45349:17;:32::i;13776:301:24:-;13860:21;13884:17;:15;:17::i;:::-;13860:41;-1:-1:-1;13936:4:24;-1:-1:-1;;;;;13911:30:24;;;13907:166;;13951:41;13974:7;13983:8;13951:22;:41::i;13907:166::-;14013:53;;;;;-1:-1:-1;;;;;14013:34:24;;;;;:53;;14048:7;;14057:8;;14013:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44884:222:35;44948:12;45038:6;45062:39;45038:6;45095:2;45099:1;45062:17;:39::i;11498:424:24:-;11649:21;11673:17;:15;:17::i;:::-;11649:41;-1:-1:-1;11725:4:24;-1:-1:-1;;;;;11700:30:24;;;11696:222;;11740:69;11766:7;11775:8;11785:17;11804:4;11740:25;:69::i;11696:222::-;11830:81;;;;;-1:-1:-1;;;;;11830:37:24;;;;;:81;;11868:7;;11877:8;;11887:17;;11906:4;;11830:81;;;:::i;27809:790:20:-;28068:36;28107:66;28155:7;28164:8;28107:47;:66::i;:::-;28068:105;-1:-1:-1;28179:26:20;28215:49;28068:105;28246:17;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;28215:49:20;28179:86;;28303:291;28357:7;28382:8;28417:17;28467:19;28508:1;28523:10;28565:22;28303:36;:291::i;:::-;27963:636;;27809:790;;;;:::o;49619:191::-;49721:7;49785;49794:8;49768:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;49768:35:20;;;;;;;;;49758:46;;49768:35;49758:46;;;;41226:22;49751:53;;49619:191;-1:-1:-1;;;49619:191:20:o;50636:242::-;50732:7;;;50771:84;50791:10;50787:14;;:1;:14;50771:84;;;50816:32;3996:93:3;4044:19;:27;;;537:1:30;4043:44:3;4009:79;;;3996:93;50816:32:20;;:::i;:::-;;-1:-1:-1;50803:3:20;;;;:::i;:::-;;;;50771:84;;8796:790:19;8894:14;8930:2;8920:6;:12;8916:112;;8989:2;8980:6;:11;8962:29;;;;9011:2;9001:12;;;;;;:::i;:::-;;;;8916:112;-1:-1:-1;9208:21:19;;9204:1;9192:14;;9188:42;9356:2;:11;;;9438:22;;;9434:148;;;9563:1;9547:14;9543:22;9537:29;9533:1;9518:13;9514:21;9510:57;9502:6;9499:69;9489:79;;8910:676;8796:790;;;;;:::o;36221:522:20:-;36357:12;36481:257;36520:79;36562:7;36571:8;36581:17;36520:41;:79::i;:::-;36617:93;36692:17;36617:66;36665:7;36674:8;36617:47;:66::i;:::-;:74;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;36617:93:20;36728:1;36481:12;:257::i;2631:1127:36:-;2751:22;2781:21;2805;:11;2946:3:18;2924:25;;2850:104;2805:21:36;2781:45;-1:-1:-1;643:17:18;3187:38;;2832:20:36;2994:11;3187:38:18;2994:11:36;2979:26;;;;:::i;:::-;;2965:40;;3114:4;3108:11;3099:20;;3157:4;3150:5;3146:16;3217:2;3204:11;3200:20;3186:12;3182:39;3176:4;3169:53;3265:11;3258:5;3251:26;3308:1;3285:463;3324:11;3321:1;3318:18;3285:463;;;3718:20;;3697:42;;3676:64;;3590:31;;;;3503:4;3485:23;;;;3411:1;3404:9;3285:463;;;3289:28;;3066:688;;;2631:1127;;;;;:::o;24721:145:20:-;24805:56;24818:7;24827:8;24837:23;24852:7;24837:14;:23::i;:::-;24805:12;:56::i;:::-;24721:145;;:::o;784:1339:36:-;956:12;;909:17;;934:19;997:26;1012:11;956:12;997:26;:::i;:::-;974:49;;1391:4;1385:11;;-1:-1:-1;1434:4:36;1424:15;;-1:-1:-1;;1312:14:36;1481:32;;;1312:14;1308:28;1453:4;1446:69;1557:12;1551:4;1544:26;1601:1;1671:4;1664:5;1660:16;1578:535;1691:11;1688:1;1685:18;1578:535;;;2084:19;;2063:41;;2041:64;;1957:31;;;;1778:1;1771:9;;;;;1870:4;1852:23;1578:535;;23322:737:20;23573:36;23612:66;23660:7;23669:8;23612:47;:66::i;:::-;23573:105;-1:-1:-1;23684:26:20;23720:49;23573:105;23751:17;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;23720:49:20;23684:86;;23777:277;23831:7;23856:8;23891:17;23934:1;23956:19;23989:4;24025:22;23777:36;:277::i;52752:301::-;52873:13;52965:82;52996:48;53026:7;53035:8;52996:29;:48::i;:::-;4572:21:19;;4466:137;43119:3949:20;-1:-1:-1;;;43516:7:20;:35;;;43512:161;;-1:-1:-1;;;43623:7:20;43656;43639:25;;;;;;10632:19:201;;10676:2;10667:12;;10503:182;43639:25:20;;;;-1:-1:-1;;43639:25:20;;;;;;;;;;43568:98;;;;;;;;;;:::i;43512:161::-;43679:27;43709:49;:22;43740:17;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;43709:49:20;43679:79;;43764:26;43829:4;:11;43815;43793:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;43764:76;;44112:18;44089:19;:41;;:98;;;;-1:-1:-1;44168:19:20;44134:30;44153:11;44134:16;:30;:::i;:::-;:53;;;;44089:98;44085:218;;;44204:92;;;;;16300:12:201;16339:15;;;44204:92:20;;;16321:34:201;16391:15;;;16371:18;;;16364:43;16443:15;;16423:18;;;16416:43;16263:18;;44204:92:20;16094:371:201;44085:218:20;44409:19;44390:16;:38;;;44386:140;;;44445:74;;;;;;;;16643:25:201;;;16716:12;16704:25;;16684:18;;;16677:53;16616:18;;44445:74:20;16470:266:201;44386:140:20;44565:35;44603:72;:22;44637:17;44656:18;44603:33;:72::i;:::-;44565:110;-1:-1:-1;44734:32:20;;;:13;44874:107;44892:17;44888:21;;:1;:21;;;44874:107;;;44937:33;:22;44968:1;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;44937:33:20;44928:42;;;;44911:3;;44874:107;;;;45103:7;45050:228;45130:8;45162:5;45191:11;45228:21;45265:4;45050:228;;;;;;;;;;:::i;:::-;;;;;;;;44682:603;45431:22;45456:24;45472:7;45456:15;:24::i;:::-;45431:49;;45491:9;45486:485;45506:5;:12;45502:1;:16;45486:485;;;45533:9;45555:5;45561:1;45555:8;;;;;;;;:::i;:::-;;;;;;;45533:31;;45576:42;770:6:32;45576:4:20;:14;;;;;:42;;;;:::i;:::-;45572:393;;;3392:35:4;;;;-1:-1:-1;;;;;45630:55:20;;45707:7;45736:8;45775:17;45822:16;45863:11;45902:21;45941:4;45630:326;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45572:393;-1:-1:-1;45520:3:20;;;;:::i;:::-;;;;45486:485;;;;46056:18;46033:19;:41;46029:248;;46084:31;46118:48;46148:7;46157:8;46118:29;:48::i;:::-;579:28:19;;;-1:-1:-1;46029:248:20;46334:27;46364:61;46388:7;46397:8;46407:17;46364:23;:61::i;:::-;46334:91;;46433:92;46465:19;46494:16;46433:92;;46518:4;46433:13;:92::i;:::-;46326:206;46586:9;46581:483;46601:5;:12;46597:1;:16;46581:483;;;46628:9;46650:5;46656:1;46650:8;;;;;;;;:::i;:::-;;;;;;;46628:31;;46671:41;881:6:32;46671:4:20;:14;;;;;:41;;;;:::i;:::-;46667:391;;;3392:35:4;;;;-1:-1:-1;;;;;46724:54:20;;46800:7;46829:8;46868:17;46915:16;46956:11;46995:21;47034:4;46724:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46667:391;-1:-1:-1;46615:3:20;;;;:::i;:::-;;;;46581:483;;;;43362:3706;;;;43119:3949;;;;;;;:::o;51555:274::-;51699:7;51804;51813:8;51787:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;51777:46;;;;;;51756:17;51749:25;;51729:45;;;41298:34;51729:45;:94;51721:103;;51714:110;;51555:274;;;;;:::o;4903:665:19:-;5315:4;5309:11;5356:4;5344:17;;-1:-1:-1;;1312:14:36;5403:26:19;;;1312:14:36;1308:28;5375:4:19;5368:63;5475:6;5467;5460:22;5493:51;5498:14;5514:6;5522;5530:13;5493:4;:51::i;4858:651:20:-;1147:69:29;;;-1:-1:-1;;;1147:69:29;;;7457:92:201;-1:-1:-1;;;7565:11:201;;;7558:100;1198:17:29;7674:12:201;;;7667:101;4925:11:20;;7784:12:201;1147:69:29;;;;;;;;;;;;1139:78;;;:::i;:::-;5179:7:20;5161:62;5157:112;;-1:-1:-1;1324:66:29;;4858:651:20;-1:-1:-1;4858:651:20:o;5157:112::-;1147:69:29;;;-1:-1:-1;;;1147:69:29;;;7457:92:201;-1:-1:-1;;;7565:11:201;;;7558:100;1198:17:29;7674:12:201;;;7667:101;5313:183:20;;5359:83;;7784:12:201;1147:69:29;;;;;;;;;;;;1139:78;;;:::i;:::-;5433:7:20;5359:40;:83::i;:::-;5462:2;5484:1;5313:17;:183::i;25465:1680::-;25635:7;25616:37;25644:8;25616:37;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;25718:7:20;:35;;;25714:62;;25465:1680;;;:::o;25714:62::-;25917:22;25942:24;25958:7;25942:15;:24::i;:::-;25917:49;;25977:9;25972:235;25992:5;:12;25988:1;:16;25972:235;;;26019:9;26041:5;26047:1;26041:8;;;;;;;;:::i;:::-;;;;;;;26019:31;;26062:36;983:6:32;26062:4:20;:14;;;;;:36;;;;:::i;:::-;26058:143;;;26110:82;;;;;3392:35:4;;;;;26110:50:20;;:82;;26161:7;;26170:8;;26180:11;;26110:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26058:143;-1:-1:-1;26006:3:20;;;;:::i;:::-;;;;25972:235;;;;26239:26;26268:59;26309:7;26318:8;26268:40;:59::i;:::-;26239:88;;26333:113;26365:18;26393:1;26412:30;:11;:28;:30::i;:::-;26402:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26402:41:20;;26333:13;:113::i;:::-;26665:1;26632:30;:11;:28;:30::i;:::-;:34;26628:236;;;26676:33;26712:66;26760:7;26769:8;26712:47;:66::i;:::-;26676:102;;26786:71;26817:25;26852:2;26786:12;:71::i;:::-;26668:196;26628:236;26913:9;26908:233;26928:5;:12;26924:1;:16;26908:233;;;26955:9;26977:5;26983:1;26977:8;;;;;;;;:::i;:::-;;;;;;;26955:31;;26998:35;1083:6:32;26998:4:20;:14;;;;;:35;;;;:::i;:::-;26994:141;;;27045:81;;;;;3392:35:4;;;;;27045:49:20;;:81;;27095:7;;27104:8;;27114:11;;27045:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26994:141;-1:-1:-1;26942:3:20;;;;:::i;:::-;;;;26908:233;;52184:230;52305:7;52389;52398:8;52372:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52372:35:20;;;;;;;;;52362:46;;52372:35;52362:46;;;;41389:40;52335:73;;52184:230;-1:-1:-1;;;52184:230:20:o;7139:1488:15:-;7265:13;933:16;7290:25;;7286:97;;;7332:44;;;;;;;;18768:25:201;;;18741:18;;7332:44:15;18622:177:201;7286:97:15;7445:13;6126:59;;;6743:16;;;862:5;6743:16;785:5;6732:27;6692:68;;;6670:92;;7708:38;;;7704:192;;7791:19;7773:15;:37;7758:52;;;;7704:192;;;7872:15;7850:19;:37;7835:52;;;;7704:192;-1:-1:-1;8212:16:15;785:5;862;8079:16;;;;8068:27;8204:35;;;8518:5;8357:26;8338:45;;;;8337:61;;;8499:24;;;;8528:34;;;;;8498:65;;-1:-1:-1;7139:1488:15;;;;;:::o;4372:342:28:-;4488:16;;;4502:1;4488:16;;;;;;;;;4429:22;;4459:26;;4488:16;;;;;;;;;;;;-1:-1:-1;4488:16:28;4459:45;;4543:7;4510:9;4520:1;4510:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1047:73;;;-1:-1:-1;;;1047:73:28;;;7457:92:201;-1:-1:-1;;;7565:11:201;;;7558:100;1098:21:28;7674:12:201;;;7667:101;1047:73:28;;;;;;;;;;7784:12:201;;1047:73:28;;-1:-1:-1;;4579:49:28;;1039:82;;;:::i;:::-;4615:9;4626:1;4579:25;:49::i;:::-;4558:70;;4642:66;:44;4663:5;4670:1;4673:5;:12;4642:20;:44::i;:::-;:64;:66::i;2891:136:4:-;2961:4;3013:9;2980:42;;2999:9;2981:15;2991:4;3790:26;;;3660:162;2981:15;:27;2980:42;;;2973:49;;2891:136;;;;:::o;850:162:19:-;939:68;945:14;961:6;826:4:14;816:15;;995:4:19;:11;939:5;:68::i;5933:2374::-;6050:10;;6046:1537;;6203:2;6193:6;:12;6189:122;;6266:2;6257:6;:11;6239:29;;;;6290:2;6280:12;;;;;;:::i;:::-;;;;6189:122;6401:10;;6397:1180;;6609:2;:11;;;6483:21;6667:22;;;6663:133;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;6979:14;6973:21;6969:1;6961:6;6957:14;6953:42;7226:4;7222:9;7206:13;7200:20;7196:36;7127:4;7115:10;7111:21;7054:192;7027:13;7007:251;;7317:13;7307:6;:23;7303:36;;7332:7;;;;7303:36;-1:-1:-1;7480:1:19;7462:19;;;;;7535:23;;;;;7493:30;6397:1180;7612:253;7629:2;7619:6;:12;7612:253;;7723:21;;7701:44;;7798:1;7780:19;;;;-1:-1:-1;;7838:12:19;;;;7826:2;7809:19;7612:253;;;7933:10;;7929:374;;7953:12;-1:-1:-1;;1080:1:31;1067:14;;1045:37;1043:40;8235:20:19;;8150:21;;8146:32;;8257:9;;8231:36;8095:184;8052:237;;-1:-1:-1;5933:2374:19;;;;:::o;50062:282:20:-;50307:30;;;;;;18992:19:201;;;19027:12;;;19020:28;;;50150:7:20;;19064:12:201;;50307:30:20;18804:278:201;4319:171:3;4393:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4415:70:3;;;;;4319:171;-1:-1:-1;4319:171:3:o;5098:173::-;5172:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5208:11:3;5187:79;5200:65;;5187:79;;5098:173;-1:-1:-1;;5098:173:3:o;3893:370:19:-;4015:13;4064:2;4049:11;:6;4058:2;4049:11;:::i;:::-;4048:18;;;;:::i;:::-;4031:35;;:14;:35;:::i;:::-;4015:51;;4072:187;4096:5;4079:14;:22;4072:187;;;4194:1;4178:14;4171:25;4243:1;4227:14;4223:22;4205:40;;4072:187;;40037:220:34;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;1373:2326:19:-;1486:10;;1482:1491;;1639:2;1629:6;:12;1625:122;;1702:2;1693:6;:11;1675:29;;;;1726:2;1716:12;;;;;;:::i;:::-;;;;1625:122;1837:10;;1833:1134;;2045:2;:11;;;1919:21;-1:-1:-1;;1080:1:31;1067:14;;1045:37;1043:40;2077:31:19;;2277:1;2269:6;2265:14;2313:4;2302:9;2298:20;2290:28;;2368:13;2362:20;2351:9;2347:36;2329:54;;2616:4;2612:9;2595:14;2589:21;2585:37;2516:4;2504:10;2500:21;2443:193;2415:14;2395:253;;2707:13;2697:6;:23;2693:36;;2722:7;;;;2693:36;-1:-1:-1;2870:1:19;2852:19;;;;;2883:30;;;;2925:23;;1833:1134;3003:253;3020:2;3010:6;:12;3003:253;;3115:20;;3092:44;;3189:1;3171:19;;;;3217:2;3200:19;;;;-1:-1:-1;;3229:12:19;3003:253;;;3324:10;;3320:375;;3344:12;-1:-1:-1;;1080:1:31;1067:14;;1045:37;1043:40;3626:21:19;;3542:20;;3538:31;;3649:9;;3622:37;3487:184;3443:238;;-1:-1:-1;1373:2326:19;;;;:::o;14:332:201:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:184;-1:-1:-1;;;592:1:201;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:334;803:2;797:9;859:2;849:13;;-1:-1:-1;;845:86:201;833:99;;962:18;947:34;;983:22;;;944:62;941:88;;;1009:18;;:::i;:::-;1045:2;1038:22;732:334;;-1:-1:-1;732:334:201:o;1071:712::-;1125:5;1178:3;1171:4;1163:6;1159:17;1155:27;1145:55;;1196:1;1193;1186:12;1145:55;1232:6;1219:20;1258:4;1281:18;1277:2;1274:26;1271:52;;;1303:18;;:::i;:::-;1349:2;1346:1;1342:10;1372:28;1396:2;1392;1388:11;1372:28;:::i;:::-;1434:15;;;1504;;;1500:24;;;1465:12;;;;1536:15;;;1533:35;;;1564:1;1561;1554:12;1533:35;1600:2;1592:6;1588:15;1577:26;;1612:142;1628:6;1623:3;1620:15;1612:142;;;1694:17;;1682:30;;1645:12;;;;1732;;;;1612:142;;;1772:5;1071:712;-1:-1:-1;;;;;;;1071:712:201:o;1788:165::-;1855:20;;1915:12;1904:24;;1894:35;;1884:63;;1943:1;1940;1933:12;1958:245;2006:4;2039:18;2031:6;2028:30;2025:56;;;2061:18;;:::i;:::-;-1:-1:-1;2118:2:201;2106:15;-1:-1:-1;;2102:88:201;2192:4;2098:99;;1958:245::o;2208:462::-;2250:5;2303:3;2296:4;2288:6;2284:17;2280:27;2270:55;;2321:1;2318;2311:12;2270:55;2357:6;2344:20;2388:48;2404:31;2432:2;2404:31;:::i;:::-;2388:48;:::i;:::-;2461:2;2452:7;2445:19;2507:3;2500:4;2495:2;2487:6;2483:15;2479:26;2476:35;2473:55;;;2524:1;2521;2514:12;2473:55;2589:2;2582:4;2574:6;2570:17;2563:4;2554:7;2550:18;2537:55;2637:1;2612:16;;;2630:4;2608:27;2601:38;;;;2616:7;2208:462;-1:-1:-1;;;2208:462:201:o;2675:1073::-;2883:6;2891;2899;2907;2915;2923;2931;2984:3;2972:9;2963:7;2959:23;2955:33;2952:53;;;3001:1;2998;2991:12;2952:53;3037:9;3024:23;3014:33;;3098:2;3087:9;3083:18;3070:32;3121:18;3162:2;3154:6;3151:14;3148:34;;;3178:1;3175;3168:12;3148:34;3201:61;3254:7;3245:6;3234:9;3230:22;3201:61;:::i;:::-;3191:71;;3312:2;3301:9;3297:18;3284:32;3271:45;;3356:4;3349:5;3345:16;3338:5;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3399:5;3389:15;;3423:37;3456:2;3445:9;3441:18;3423:37;:::i;:::-;3413:47;;3479:38;3512:3;3501:9;3497:19;3479:38;:::i;:::-;3469:48;;3564:3;3553:9;3549:19;3536:33;3526:43;;3622:3;3611:9;3607:19;3594:33;3578:49;;3652:2;3642:8;3639:16;3636:36;;;3668:1;3665;3658:12;3636:36;;3691:51;3734:7;3723:8;3712:9;3708:24;3691:51;:::i;:::-;3681:61;;;2675:1073;;;;;;;;;;:::o;3753:1069::-;3997:6;4005;4013;4021;4029;4037;4090:3;4078:9;4069:7;4065:23;4061:33;4058:53;;;4107:1;4104;4097:12;4058:53;4143:9;4130:23;4120:33;;4204:2;4193:9;4189:18;4176:32;4227:18;4268:2;4260:6;4257:14;4254:34;;;4284:1;4281;4274:12;4254:34;4307:61;4360:7;4351:6;4340:9;4336:22;4307:61;:::i;:::-;4297:71;;4421:2;4410:9;4406:18;4393:32;4377:48;;4450:2;4440:8;4437:16;4434:36;;;4466:1;4463;4456:12;4434:36;4489:51;4532:7;4521:8;4510:9;4506:24;4489:51;:::i;:::-;4479:61;;4587:2;4576:9;4572:18;4559:32;4549:42;;4644:3;4633:9;4629:19;4616:33;4600:49;;4674:2;4664:8;4661:16;4658:36;;;4690:1;4687;4680:12;4658:36;;4713:51;4756:7;4745:8;4734:9;4730:24;4713:51;:::i;:::-;4703:61;;;4811:3;4800:9;4796:19;4783:33;4773:43;;3753:1069;;;;;;;;:::o;4827:547::-;4992:6;5000;5008;5061:2;5049:9;5040:7;5036:23;5032:32;5029:52;;;5077:1;5074;5067:12;5029:52;5113:9;5100:23;5090:33;;5174:2;5163:9;5159:18;5146:32;5201:18;5193:6;5190:30;5187:50;;;5233:1;5230;5223:12;5187:50;5256:61;5309:7;5300:6;5289:9;5285:22;5256:61;:::i;:::-;5246:71;;;5364:2;5353:9;5349:18;5336:32;5326:42;;4827:547;;;;;:::o;5379:835::-;5529:6;5537;5545;5553;5606:3;5594:9;5585:7;5581:23;5577:33;5574:53;;;5623:1;5620;5613:12;5574:53;5659:9;5646:23;5636:33;;5720:2;5709:9;5705:18;5692:32;5743:18;5784:2;5776:6;5773:14;5770:34;;;5800:1;5797;5790:12;5770:34;5823:61;5876:7;5867:6;5856:9;5852:22;5823:61;:::i;:::-;5813:71;;5934:2;5923:9;5919:18;5906:32;5893:45;;5978:14;5971:5;5967:26;5960:5;5957:37;5947:65;;6008:1;6005;5998:12;5947:65;6031:5;;-1:-1:-1;6089:2:201;6074:18;;6061:32;;6105:16;;;6102:36;;;6134:1;6131;6124:12;6102:36;;6157:51;6200:7;6189:8;6178:9;6174:24;6157:51;:::i;:::-;6147:61;;;5379:835;;;;;;;:::o;6219:184::-;-1:-1:-1;;;6268:1:201;6261:88;6368:4;6365:1;6358:15;6392:4;6389:1;6382:15;6408:250;6493:1;6503:113;6517:6;6514:1;6511:13;6503:113;;;6593:11;;;6587:18;6574:11;;;6567:39;6539:2;6532:10;6503:113;;;-1:-1:-1;;6650:1:201;6632:16;;6625:27;6408:250::o;6663:606::-;6900:3;6938:6;6932:13;6954:66;7013:6;7008:3;7001:4;6993:6;6989:17;6954:66;:::i;:::-;7042:16;;7067:21;;;7113:13;;7135:81;7113:13;7200:4;7189:16;;;;7170:17;;7135:81;:::i;:::-;7236:20;7258:4;7232:31;;6663:606;-1:-1:-1;;;;;6663:606:201:o;7807:357::-;7925:12;;7972:4;7961:16;;;7955:23;;7925:12;7990:16;;7987:171;;;-1:-1:-1;;8070:6:201;8064:4;8060:17;8057:1;8053:25;8049:98;8042:5;8038:110;8029:119;;7987:171;;7807:357;;;:::o;8169:435::-;8222:3;8260:5;8254:12;8287:6;8282:3;8275:19;8313:4;8342:2;8337:3;8333:12;8326:19;;8379:2;8372:5;8368:14;8400:1;8410:169;8424:6;8421:1;8418:13;8410:169;;;8485:13;;8473:26;;8519:12;;;;8554:15;;;;8446:1;8439:9;8410:169;;;-1:-1:-1;8595:3:201;;8169:435;-1:-1:-1;;;;;8169:435:201:o;8609:466::-;8907:6;8896:9;8889:25;8950:2;8945;8934:9;8930:18;8923:30;8870:4;8970:56;9022:2;9011:9;9007:18;8999:6;8970:56;:::i;:::-;8962:64;;9062:6;9057:2;9046:9;9042:18;9035:34;8609:466;;;;;;:::o;9080:441::-;9133:5;9186:3;9179:4;9171:6;9167:17;9163:27;9153:55;;9204:1;9201;9194:12;9153:55;9233:6;9227:13;9264:48;9280:31;9308:2;9280:31;:::i;9264:48::-;9337:2;9328:7;9321:19;9383:3;9376:4;9371:2;9363:6;9359:15;9355:26;9352:35;9349:55;;;9400:1;9397;9390:12;9349:55;9413:77;9487:2;9480:4;9471:7;9467:18;9460:4;9452:6;9448:17;9413:77;:::i;9526:653::-;9666:6;9674;9682;9735:2;9723:9;9714:7;9710:23;9706:32;9703:52;;;9751:1;9748;9741:12;9703:52;9784:9;9778:16;9813:18;9854:2;9846:6;9843:14;9840:34;;;9870:1;9867;9860:12;9840:34;9893:60;9945:7;9936:6;9925:9;9921:22;9893:60;:::i;:::-;9883:70;;9993:2;9982:9;9978:18;9972:25;9962:35;;10043:2;10032:9;10028:18;10022:25;10006:41;;10072:2;10062:8;10059:16;10056:36;;;10088:1;10085;10078:12;10056:36;;10111:62;10165:7;10154:8;10143:9;10139:24;10111:62;:::i;:::-;10101:72;;;9526:653;;;;;:::o;10184:184::-;-1:-1:-1;;;10233:1:201;10226:88;10333:4;10330:1;10323:15;10357:4;10354:1;10347:15;10373:125;10438:9;;;10459:10;;;10456:36;;;10472:18;;:::i;10690:546::-;11012:6;11001:9;10994:25;11055:3;11050:2;11039:9;11035:18;11028:31;10975:4;11076:57;11128:3;11117:9;11113:19;11105:6;11076:57;:::i;:::-;11181:4;11169:17;;;;11164:2;11149:18;;11142:45;-1:-1:-1;11218:2:201;11203:18;11196:34;11068:65;10690:546;-1:-1:-1;;10690:546:201:o;11241:184::-;11311:6;11364:2;11352:9;11343:7;11339:23;11335:32;11332:52;;;11380:1;11377;11370:12;11332:52;-1:-1:-1;11403:16:201;;11241:184;-1:-1:-1;11241:184:201:o;11430:195::-;11469:3;-1:-1:-1;;11493:5:201;11490:77;11487:103;;11570:18;;:::i;:::-;-1:-1:-1;11617:1:201;11606:13;;11430:195::o;11630:329::-;11671:3;11709:5;11703:12;11736:6;11731:3;11724:19;11752:76;11821:6;11814:4;11809:3;11805:14;11798:4;11791:5;11787:16;11752:76;:::i;:::-;11873:2;11861:15;-1:-1:-1;;11857:88:201;11848:98;;;;11948:4;11844:109;;11630:329;-1:-1:-1;;11630:329:201:o;11964:603::-;12272:6;12261:9;12254:25;12315:3;12310:2;12299:9;12295:18;12288:31;12235:4;12342:57;12394:3;12383:9;12379:19;12371:6;12342:57;:::i;:::-;12447:4;12439:6;12435:17;12430:2;12419:9;12415:18;12408:45;12501:9;12493:6;12489:22;12484:2;12473:9;12469:18;12462:50;12529:32;12554:6;12546;12529:32;:::i;12572:441::-;12834:6;12823:9;12816:25;12877:2;12872;12861:9;12857:18;12850:30;12797:4;12897:56;12949:2;12938:9;12934:18;12926:6;12897:56;:::i;:::-;12889:64;;13001:4;12993:6;12989:17;12984:2;12973:9;12969:18;12962:45;12572:441;;;;;;:::o;13018:335::-;13097:6;13150:2;13138:9;13129:7;13125:23;13121:32;13118:52;;;13166:1;13163;13156:12;13118:52;13199:9;13193:16;13232:18;13224:6;13221:30;13218:50;;;13264:1;13261;13254:12;13218:50;13287:60;13339:7;13330:6;13319:9;13315:22;13287:60;:::i;13358:359::-;13561:2;13550:9;13543:21;13524:4;13581:44;13621:2;13610:9;13606:18;13598:6;13581:44;:::i;:::-;13656:2;13641:18;;13634:34;;;;-1:-1:-1;13699:2:201;13684:18;13677:34;13573:52;13358:359;-1:-1:-1;13358:359:201:o;13722:128::-;13789:9;;;13810:11;;;13807:37;;;13824:18;;:::i;13855:363::-;14093:6;14082:9;14075:25;14136:2;14131;14120:9;14116:18;14109:30;14056:4;14156:56;14208:2;14197:9;14193:18;14185:6;14156:56;:::i;14223:639::-;14473:6;14468:3;14461:19;14443:3;14499:2;14532;14527:3;14523:12;14564:6;14558:13;14629:2;14621:6;14617:15;14650:1;14660:175;14674:6;14671:1;14668:13;14660:175;;;14737:13;;14723:28;;14773:14;;;;14810:15;;;;14696:1;14689:9;14660:175;;;-1:-1:-1;14851:5:201;;14223:639;-1:-1:-1;;;;;;;14223:639:201:o;14867:184::-;-1:-1:-1;;;14916:1:201;14909:88;15016:4;15013:1;15006:15;15040:4;15037:1;15030:15;15056:168;15129:9;;;15160;;15177:15;;;15171:22;;15157:37;15147:71;;15198:18;;:::i;15447:463::-;15693:66;15685:6;15681:79;15670:9;15663:98;15797:6;15792:2;15781:9;15777:18;15770:34;15840:2;15835;15824:9;15820:18;15813:30;15644:4;15860:44;15900:2;15889:9;15885:18;15877:6;15860:44;:::i;15915:174::-;15982:12;16014:10;;;16026;;;16010:27;;16049:11;;;16046:37;;;16063:18;;:::i;:::-;16046:37;15915:174;;;;:::o;16741:707::-;17080:3;17069:9;17062:22;17043:4;17107:57;17159:3;17148:9;17144:19;17136:6;17107:57;:::i;:::-;17212:14;17204:6;17200:27;17195:2;17184:9;17180:18;17173:55;17276:12;17268:6;17264:25;17259:2;17248:9;17244:18;17237:53;17326:6;17321:2;17310:9;17306:18;17299:34;17382:9;17374:6;17370:22;17364:3;17353:9;17349:19;17342:51;17410:32;17435:6;17427;17410:32;:::i;:::-;17402:40;16741:707;-1:-1:-1;;;;;;;;16741:707:201:o;17453:898::-;17875:6;17864:9;17857:25;17918:3;17913:2;17902:9;17898:18;17891:31;17838:4;17945:57;17997:3;17986:9;17982:19;17974:6;17945:57;:::i;:::-;18050:4;18038:17;;18033:2;18018:18;;18011:45;18075:12;18123:15;;;18118:2;18103:18;;18096:43;18176:15;;18170:3;18155:19;;18148:44;18223:3;18208:19;;18201:35;;;18273:22;;;18267:3;18252:19;;18245:51;18313:32;18277:6;18330;18313:32;:::i;:::-;18305:40;17453:898;-1:-1:-1;;;;;;;;;;17453:898:201:o;18356:261::-;18535:2;18524:9;18517:21;18498:4;18555:56;18607:2;18596:9;18592:18;18584:6;18555:56;:::i;19087:274::-;19127:1;19153;19143:189;;-1:-1:-1;;;19185:1:201;19178:88;19289:4;19286:1;19279:15;19317:4;19314:1;19307:15;19143:189;-1:-1:-1;19346:9:201;;19087:274::o","linkReferences":{}},"methodIdentifiers":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":"83b5c95b","onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"5b28cdaf","onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"63584533","onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"a8ba8721","onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":"9faeaf45","onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"57066c9c","onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"55eb5a28","onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"964f667d","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreHook_NotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record was set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"This function is a part of the ERC-165 standard.\",\"params\":{\"interfaceId\":\"The ID of the interface to check.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"StoreHook_NotImplemented()\":[{\"notice\":\"Error emitted when a function is not implemented.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs after deleting a record.\"},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs after setting a record.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Check if the interface is supported.\"}},\"notice\":\"This is a very naive and inefficient implementation for now. We can optimize this by adding support for `setIndexOfField` in Store (See https://github.com/latticexyz/mud/issues/444) Note: if a table with composite keys is used, only the first key of the tuple is indexed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueHook.sol\":\"KeysWithValueHook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba\",\"dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18\",\"dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e\",\"dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0\",\"dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c\",\"dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x130f0925a5bf4f732ef9758b47eca18c77d1bb34546ea9463321e9df766435a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68767e3db6fd6538a4577a1c30fe03e05bf9d316cdd43a66657e93c008b76f45\",\"dweb:/ipfs/QmSZmUBSfhk3v5gNu5GgwcYuWbb1FFDKYpDKvpXVahfyTw\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534\",\"dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj\"]},\"node_modules/@latticexyz/store/src/StoreHook.sol\":{\"keccak256\":\"0xd267686b3961da4d9a39e2cd39b89d7074ed27a516a03085bb69a6efea0a424e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8c96a99b6c8dab12799165b888ed5c647638a1114bec138dd65ad46c6d1cf34\",\"dweb:/ipfs/QmaMAkfEmRivfHts72hfYiiQiVc15QSRsXkPHM3d2AbFjf\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5\",\"dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751\",\"dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95\",\"dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a\",\"dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883\",\"dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255\",\"dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5\",\"dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8\",\"dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8\",\"dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b\",\"dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0\",\"dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad\",\"dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/modules/core/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]},\"src/modules/keyswithvalue/KeysWithValueHook.sol\":{\"keccak256\":\"0xee64527269e80d32ca25db99c417f582a0b134c9fb878cf14489baa2aaec40e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a37714f1fa7cf984130a08a0e9f320817cbe0053eae44d432676951f3b90653f\",\"dweb:/ipfs/QmZjWVwJPrsscv9zJU8jBfMn39yDquYePcACRYQW6qiaFx\"]},\"src/modules/keyswithvalue/constants.sol\":{\"keccak256\":\"0xf8745d975bd2f321e676d083a215513b114c70f7d5a105244dfe444a78e74de5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7fc161f890a9ee2edf731f57fcfee2ab4e3b4bebb9470df7850a138c08fc2c8\",\"dweb:/ipfs/QmVyyFaR1tzTYgmiGHnumdXQKsjb5qRVPMS3uTRX1ik3XL\"]},\"src/modules/keyswithvalue/getTargetTableId.sol\":{\"keccak256\":\"0xa7d235a9c96925a340aeaa166c8b67d289b4450ca59f0645052207d318030d78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dce50e51faa63a75e051d8ccf463271674f588088fca6ab168e06a5fe8cc16b\",\"dweb:/ipfs/QmP2eZFJPMiazcEhdv9Q5SJYRNna7CHoV6o8bxURzRtCHh\"]},\"src/modules/keyswithvalue/tables/KeysWithValue.sol\":{\"keccak256\":\"0x27118a0cd6ac72257ba04ff98c7a62edd891305127f25bfe9586c134cc4a410b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e838102eadc3956612b8c32e8542d463eeb16dcc234cfde4922c1d3ab01ad5c2\",\"dweb:/ipfs/QmbWQRrvLPBQ36yHAkKYXcJUNR7zYoJdFZDJ6jQQPxUD79\"]},\"src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x5063027c39c927b80c84ac3bb36d20e19fbbddb746380c1efaf2f33f6fec30b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c49eab76687709db420cbe52737610563f44344ef13608e0809e38c43179cb43\",\"dweb:/ipfs/QmRdQ7iW5j51AVJWin8aaKmj6Xj97ZV5vjfVjG5RqYG5xB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[],"type":"error","name":"StoreHook_NotImplemented"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceStaticData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceStaticData"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","staticData":"The static data of the record.","tableId":"The ID of the table where the record was set."}},"supportsInterface(bytes4)":{"details":"This function is a part of the ERC-165 standard.","params":{"interfaceId":"The ID of the interface to check."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs after deleting a record."},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs after setting a record."},"supportsInterface(bytes4)":{"notice":"Check if the interface is supported."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/keyswithvalue/KeysWithValueHook.sol":"KeysWithValueHook"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb","urls":["bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4","dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558","urls":["bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4","dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0","urls":["bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba","dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd","urls":["bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18","dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf","urls":["bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2","dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827","urls":["bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0","dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5","urls":["bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a","dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212","urls":["bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc","dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f","urls":["bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d","dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e","urls":["bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e","dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37","urls":["bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac","dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f","urls":["bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115","dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b","urls":["bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1","dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7","urls":["bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5","dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb","urls":["bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0","dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed","urls":["bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d","dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401","urls":["bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3","dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32","urls":["bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c","dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x130f0925a5bf4f732ef9758b47eca18c77d1bb34546ea9463321e9df766435a1","urls":["bzz-raw://68767e3db6fd6538a4577a1c30fe03e05bf9d316cdd43a66657e93c008b76f45","dweb:/ipfs/QmSZmUBSfhk3v5gNu5GgwcYuWbb1FFDKYpDKvpXVahfyTw"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180","urls":["bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534","dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreHook.sol":{"keccak256":"0xd267686b3961da4d9a39e2cd39b89d7074ed27a516a03085bb69a6efea0a424e","urls":["bzz-raw://c8c96a99b6c8dab12799165b888ed5c647638a1114bec138dd65ad46c6d1cf34","dweb:/ipfs/QmaMAkfEmRivfHts72hfYiiQiVc15QSRsXkPHM3d2AbFjf"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416","urls":["bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7","dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3","urls":["bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6","dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e","urls":["bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5","dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789","urls":["bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751","dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14","urls":["bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95","dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb","urls":["bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a","dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076","urls":["bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793","dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"],"license":"MIT"},"node_modules/@latticexyz/store/src/leftMask.sol":{"keccak256":"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f","urls":["bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401","dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5","urls":["bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81","dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2","urls":["bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84","dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04","urls":["bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1","dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d","urls":["bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49","dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b","urls":["bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256","dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c","urls":["bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491","dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581","urls":["bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883","dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db","urls":["bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510","dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500","urls":["bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d","dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7","urls":["bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83","dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb","urls":["bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c","dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a","urls":["bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518","dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417","urls":["bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb","dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593","urls":["bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255","dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55","urls":["bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5","dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc","urls":["bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8","dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97","urls":["bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8","dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol":{"keccak256":"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57","urls":["bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b","dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263","urls":["bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0","dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62","urls":["bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad","dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588","urls":["bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218","dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/types.sol":{"keccak256":"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a","urls":["bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3","dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55","urls":["bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df","dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746","urls":["bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2","dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"],"license":"MIT"},"src/modules/keyswithvalue/KeysWithValueHook.sol":{"keccak256":"0xee64527269e80d32ca25db99c417f582a0b134c9fb878cf14489baa2aaec40e5","urls":["bzz-raw://a37714f1fa7cf984130a08a0e9f320817cbe0053eae44d432676951f3b90653f","dweb:/ipfs/QmZjWVwJPrsscv9zJU8jBfMn39yDquYePcACRYQW6qiaFx"],"license":"MIT"},"src/modules/keyswithvalue/constants.sol":{"keccak256":"0xf8745d975bd2f321e676d083a215513b114c70f7d5a105244dfe444a78e74de5","urls":["bzz-raw://a7fc161f890a9ee2edf731f57fcfee2ab4e3b4bebb9470df7850a138c08fc2c8","dweb:/ipfs/QmVyyFaR1tzTYgmiGHnumdXQKsjb5qRVPMS3uTRX1ik3XL"],"license":"MIT"},"src/modules/keyswithvalue/getTargetTableId.sol":{"keccak256":"0xa7d235a9c96925a340aeaa166c8b67d289b4450ca59f0645052207d318030d78","urls":["bzz-raw://2dce50e51faa63a75e051d8ccf463271674f588088fca6ab168e06a5fe8cc16b","dweb:/ipfs/QmP2eZFJPMiazcEhdv9Q5SJYRNna7CHoV6o8bxURzRtCHh"],"license":"MIT"},"src/modules/keyswithvalue/tables/KeysWithValue.sol":{"keccak256":"0x27118a0cd6ac72257ba04ff98c7a62edd891305127f25bfe9586c134cc4a410b","urls":["bzz-raw://e838102eadc3956612b8c32e8542d463eeb16dcc234cfde4922c1d3ab01ad5c2","dweb:/ipfs/QmbWQRrvLPBQ36yHAkKYXcJUNR7zYoJdFZDJ6jQQPxUD79"],"license":"MIT"},"src/modules/utils/ArrayLib.sol":{"keccak256":"0x5063027c39c927b80c84ac3bb36d20e19fbbddb746380c1efaf2f33f6fec30b8","urls":["bzz-raw://c49eab76687709db420cbe52737610563f44344ef13608e0809e38c43179cb43","dweb:/ipfs/QmRdQ7iW5j51AVJWin8aaKmj6Xj97ZV5vjfVjG5RqYG5xB"],"license":"MIT"}},"version":1},"id":160}
|
1
|
+
{"abi":[{"type":"function","name":"onAfterDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSetRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeDeleteRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSetRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StoreHook_NotImplemented","inputs":[]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506125c3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d0c565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611ea8565b6101fd565b005b6100e26100f2366004611f5c565b610262565b6100e2610105366004611f5c565b61031d565b6100e2610118366004611ea8565b61034f565b6100e2610105366004612000565b6100e2610139366004612050565b61039b565b6100e261014c366004612000565b6103ef565b6100e261015f366004612050565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610519565b9050600061022f661ad95e5ddd985b60ca1b8b6105f4565b9050610256818a600081518110610248576102486120dd565b6020026020010151846106d1565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b886105f4565b90506000610287888885610519565b90506102ae82886000815181106102a0576102a06120dd565b6020026020010151836106d1565b8351606090156102e3578686866040516020016102cd93929190612117565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a600081518110610305576103056120dd565b6020026020010151610712565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610519565b90506000610381661ad95e5ddd985b60ca1b8b6105f4565b905061025681838b600081518110610305576103056120dd565b60006103a685610480565b905060006103b5868684610519565b905060006103cd661ad95e5ddd985b60ca1b886105f4565b90506103e68187600081518110610248576102486120dd565b50505050505050565b60006103fc848484610519565b90506000610414661ad95e5ddd985b60ca1b866105f4565b905061042d8185600081518110610248576102486120dd565b5050505050565b600061043f85610480565b9050600061044e868684610519565b90506000610466661ad95e5ddd985b60ca1b886105f4565b90506103e6818388600081518110610305576103056120dd565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b96120dd565b602090810291909101015260006105117f746273746f72650000000000000000005461626c65730000000000000000000083837e60030220202000000000000000000000000000000000000000000000000000610782565b949350505050565b60008060008061052761083f565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105569392919061218a565b600060405180830381865afa158015610573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059b91908101906121f8565b9250925092506000815111156105e0578282826040516020016105c093929190612117565b6040516020818303038152906040528051906020012093505050506105ed565b5050805160209091012090505b9392505050565b6000806106008361084e565b9050600061060e8460101b90565b9050603861061d81601061227b565b610627919061227b565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c6106586038601061227b565b7f74620000000000000000000000000000000000000000000000000000000000007fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b60006106e7836106e18685610865565b906108d9565b90508051600003610701576106fc84836109a7565b61070c565b61070c8483836109f8565b50505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610748576107486120dd565b60200260200101818152505061070c848260008560405160200161076e91815260200190565b604051602081830303815290604052610a4f565b60008061078d610af5565b9050306001600160a01b038216036107b3576107ab86868686610b34565b915050610511565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906107fe90899089908990899060040161228e565b602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906122bd565b6000610849610af5565b905090565b600061085c6070601061227b565b9190911b919050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061089f5761089f6120dd565b60200260200101818152505060006108b985836000610b61565b90506108d06108cb8260008451610c28565b610cbf565b95945050505050565b60606000835167ffffffffffffffff8111156108f7576108f7611d4e565b604051908082528060200260200182016040528015610920578160200160208202803683370190505b5090506000805b855181101561099d5784868281518110610943576109436120dd565b60200260200101511461099557858181518110610962576109626120dd565b602002602001015183838151811061097c5761097c6120dd565b602090810291909101015281610991816122d6565b9250505b600101610927565b5081529392505050565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106109dd576109dd6120dd565b6020026020010181815250506109f38382610cd0565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2e57610a2e6120dd565b60200260200101818152505061070c84826000610a4a86610d6b565b610d7b565b6000610a59610af5565b9050306001600160a01b03821603610a7c57610a7785858585610dee565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610ac790889088908890889060040161231c565b600060405180830381600087803b158015610ae157600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b2f573391505090565b919050565b60006108d0610b438686610e31565b60ff858116601b0360080285901c16610b5c8587610e87565b610eb8565b60606000610b6d610af5565b9050306001600160a01b03821603610b9257610b8a858585610f09565b9150506105ed565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610bdb90889088908890600401612350565b600060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8a919081019061237c565b509392505050565b600081831180610c385750835182115b15610c7e578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c75939291906123b1565b60405180910390fd5b60208401610c8c848261227b565b90506000610c9a85856123d6565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006105ed8360206000610f43565b6000610cda610af5565b9050306001600160a01b03821603610cf6576109f38383610fbe565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d3d90869086906004016123e9565b600060405180830381600087803b158015610d5757600080fd5b505af11580156103e6573d6000803e3d6000fd5b6060816105ed8160206000610fd5565b6000610d85610af5565b9050306001600160a01b03821603610da357610a7785858585611029565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610ac790889088908890889060040161231c565b6000610dfa8585611064565b90506000610e17828560ff166028026038011c64ffffffffff1690565b9050610e298686868460008888611077565b505050505050565b60008282604051602001610e46929190612402565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c2057610eae60ff601b83900360080287901c168361227b565b9150600101610e8c565b600060208210610ede57602082048401935060208281610eda57610eda61243e565b0691505b508254600882021b602082900380841115610c20576001850154600882021c82179150509392505050565b6060610511610f198585856114af565b6000610f3e85610f298989611064565b9060ff166028026038011c64ffffffffff1690565b61152f565b60606000610f518560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610f7757610f7761243e565b04905060405193506020840160208202810160405281855260005b82811015610fb2578451871c825293870193602090910190600101610f92565b50505050509392505050565b610fd18282610fcc85611552565b6115d7565b5050565b82516060906000610fe68583612454565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fb2578051871b83529187019160019190910190602001611008565b60006110358585611064565b90506000611052828560ff166028026038011c64ffffffffff1690565b9050610e298686866000858888611077565b60006105ed61107384846118d6565b5490565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614611137577f746200000000000000000000000000000000000000000000000000000000000087886040516020016110f591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c7593929160040161246b565b6000611152828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116b91906123d6565b611175919061227b565b905080821415801561119757508161118d86886124ac565b64ffffffffff1614155b156111e7576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610c75565b818664ffffffffff161115611238576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610c75565b600061124584898461192c565b905060006112528b6119fa565b905060005b815181101561131d576000828281518110611274576112746120dd565b602002602001015190506112a06010826affffffffffffffffffffff1916611a8390919063ffffffff16565b1561131457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016112e197969594939291906124d1565b600060405180830381600087803b1580156112fb57600080fd5b505af115801561130f573d6000803e3d6000fd5b505050505b50600101611257565b5064ffffffffff881660005b8a60ff168160ff16101561135c57611350878260ff166028026038011c64ffffffffff1690565b90910190600101611329565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c60405161139595949392919061252f565b60405180910390a2508284146113b65760006113b18c8c6118d6565b839055505b60006113c38c8c8c6114af565b90506113d7818a64ffffffffff1689611aa1565b5060005b81518110156114a15760008282815181106113f8576113f86120dd565b602002602001015190506114246020826affffffffffffffffffffff1916611a8390919063ffffffff16565b1561149857606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161146597969594939291906124d1565b600060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050505b506001016113db565b505050505050505050505050565b600083836040516020016114c4929190612402565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8484010116604052828252610c2085858584611ab7565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d0000000000000000000082016115a157507e60030220202000000000000000000000000000000000000000000000000000919050565b6101f76115ce7f746273746f72650000000000000000005461626c65730000000000000000000084611b83565b60206000610eb8565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361165d57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516116509190612581565b60405180910390a2505050565b6000611668846119fa565b905060005b815181101561173b57600082828151811061168a5761168a6120dd565b602002602001015190506116b66040826affffffffffffffffffffff1916611a8390919063ffffffff16565b15611732576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906116ff9089908990899060040161218a565b600060405180830381600087803b15801561171957600080fd5b505af115801561172d573d6000803e3d6000fd5b505050505b5060010161166d565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161176c9190612581565b60405180910390a260006117808585610e31565b90506117d981600061179186611b9f565b67ffffffffffffffff8111156117a9576117a9611d4e565b6040519080825280601f01601f1916602001820160405280156117d3576020820181803683370190505b50611aa1565b60006117e484611bc2565b11156118055760006117f686866118d6565b9050611803816020611bff565b505b60005b8251811015610e29576000838281518110611825576118256120dd565b602002602001015190506118516080826affffffffffffffffffffff1916611a8390919063ffffffff16565b156118cd576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061189a908a908a908a9060040161218a565b600060405180830381600087803b1580156118b457600080fd5b505af11580156118c8573d6000803e3d6000fd5b505050505b50600101611808565b600082826040516020016118eb929190612402565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff821115611970576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610c75565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119a257808503820191506119aa565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a3457611a346120dd565b60209081029190910101526000611a6c7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610f09565b9050610511611a7e8260008451610c28565b611c3c565b60008160ff1682611a948560581c90565b1660ff1614905092915050565b6109f383838351611ab28560200190565b611c4d565b8215611b3e5760208310611ae157602083048401935060208381611add57611add61243e565b0692505b8215611b3e576020839003600081841015611b045750600019600884021c611b0e565b50600019600882021c5b8554600886021b818451168219821617845250818411611b2f57505061070c565b50600194909401939182900391015b5b60208210611b605783548152600190930192601f1990910190602001611b3f565b811561070c576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e46565b60006008611baf600260206123d6565b611bb99190612454565b9190911c919050565b60006008600180611bd5600260206123d6565b611bdf91906123d6565b611be991906123d6565b611bf39190612454565b8260ff911c1692915050565b60006020611c0e83601f61227b565b611c189190612594565b611c22908461227b565b90505b808310156109f35760008355600183019250611c25565b606060006105ed8360156000610f43565b8215611cc75760208310611c7757602083048401935060208381611c7357611c7361243e565b0692505b8215611cc75760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611cb857505061070c565b50600194909401939182900391015b5b60208210611ce95780518455600190930192601f1990910190602001611cc8565b811561070c576000600019600884021c8554835182191691161785555050505050565b600060208284031215611d1e57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146105ed57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8d57611d8d611d4e565b604052919050565b600082601f830112611da657600080fd5b8135602067ffffffffffffffff821115611dc257611dc2611d4e565b8160051b611dd1828201611d64565b9283528481018201928281019087851115611deb57600080fd5b83870192505b84831015611e0a57823582529183019190830190611df1565b979650505050505050565b803564ffffffffff81168114610b2f57600080fd5b600067ffffffffffffffff821115611e4457611e44611d4e565b50601f01601f191660200190565b600082601f830112611e6357600080fd5b8135611e76611e7182611e2a565b611d64565b818152846020838601011115611e8b57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611ec357600080fd5b87359650602088013567ffffffffffffffff80821115611ee257600080fd5b611eee8b838c01611d95565b975060408a0135915060ff82168214611f0657600080fd5b819650611f1560608b01611e15565b9550611f2360808b01611e15565b945060a08a0135935060c08a0135915080821115611f4057600080fd5b50611f4d8a828b01611e52565b91505092959891949750929550565b60008060008060008060c08789031215611f7557600080fd5b86359550602087013567ffffffffffffffff80821115611f9457600080fd5b611fa08a838b01611d95565b96506040890135915080821115611fb657600080fd5b611fc28a838b01611e52565b9550606089013594506080890135915080821115611fdf57600080fd5b50611fec89828a01611e52565b92505060a087013590509295509295509295565b60008060006060848603121561201557600080fd5b83359250602084013567ffffffffffffffff81111561203357600080fd5b61203f86828701611d95565b925050604084013590509250925092565b6000806000806080858703121561206657600080fd5b84359350602085013567ffffffffffffffff8082111561208557600080fd5b61209188838901611d95565b94506040870135915065ffffffffffff821682146120ae57600080fd5b909250606086013590808211156120c457600080fd5b506120d187828801611e52565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561210e5781810151838201526020016120f6565b50506000910152565b600084516121298184602089016120f3565b820184815283516121418160208085019088016120f3565b0160200195945050505050565b60008151808452602080850194506020840160005b8381101561217f57815187529582019590820190600101612163565b509495945050505050565b8381526060602082015260006121a3606083018561214e565b9050826040830152949350505050565b600082601f8301126121c457600080fd5b81516121d2611e7182611e2a565b8181528460208386010111156121e757600080fd5b6105118260208301602087016120f3565b60008060006060848603121561220d57600080fd5b835167ffffffffffffffff8082111561222557600080fd5b612231878388016121b3565b945060208601519350604086015191508082111561224e57600080fd5b5061225b868287016121b3565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f7612265565b8481526080602082015260006122a7608083018661214e565b60ff949094166040830152506060015292915050565b6000602082840312156122cf57600080fd5b5051919050565b600060001982036122e9576122e9612265565b5060010190565b600081518084526123088160208601602086016120f3565b601f01601f19169290920160200192915050565b848152608060208201526000612335608083018661214e565b60ff851660408401528281036060840152611e0a81856122f0565b838152606060208201526000612369606083018561214e565b905060ff83166040830152949350505050565b60006020828403121561238e57600080fd5b815167ffffffffffffffff8111156123a557600080fd5b610511848285016121b3565b6060815260006123c460608301866122f0565b60208301949094525060400152919050565b818103818111156101f7576101f7612265565b828152604060208201526000610511604083018461214e565b8281526000602080830184516020860160005b8281101561243157815184529284019290840190600101612415565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f7612265565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108d060608301846122f0565b64ffffffffff8181168382160190808211156124ca576124ca612265565b5092915050565b87815260e0602082015260006124ea60e083018961214e565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261252181856122f0565b9a9950505050505050505050565b60a08152600061254260a083018861214e565b65ffffffffffff8716602084015264ffffffffff86166040840152846060840152828103608084015261257581856122f0565b98975050505050505050565b6020815260006105ed602083018461214e565b6000826125b157634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000818000a","sourceMap":"1167:4801:166:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d0c565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611ea8565b6101fd565b005b6100e26100f2366004611f5c565b610262565b6100e2610105366004611f5c565b61031d565b6100e2610118366004611ea8565b61034f565b6100e2610105366004612000565b6100e2610139366004612050565b61039b565b6100e261014c366004612000565b6103ef565b6100e261015f366004612050565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610519565b9050600061022f661ad95e5ddd985b60ca1b8b6105f4565b9050610256818a600081518110610248576102486120dd565b6020026020010151846106d1565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b886105f4565b90506000610287888885610519565b90506102ae82886000815181106102a0576102a06120dd565b6020026020010151836106d1565b8351606090156102e3578686866040516020016102cd93929190612117565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a600081518110610305576103056120dd565b6020026020010151610712565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610519565b90506000610381661ad95e5ddd985b60ca1b8b6105f4565b905061025681838b600081518110610305576103056120dd565b60006103a685610480565b905060006103b5868684610519565b905060006103cd661ad95e5ddd985b60ca1b886105f4565b90506103e68187600081518110610248576102486120dd565b50505050505050565b60006103fc848484610519565b90506000610414661ad95e5ddd985b60ca1b866105f4565b905061042d8185600081518110610248576102486120dd565b5050505050565b600061043f85610480565b9050600061044e868684610519565b90506000610466661ad95e5ddd985b60ca1b886105f4565b90506103e6818388600081518110610305576103056120dd565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b96120dd565b602090810291909101015260006105117f746273746f72650000000000000000005461626c65730000000000000000000083837e60030220202000000000000000000000000000000000000000000000000000610782565b949350505050565b60008060008061052761083f565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105569392919061218a565b600060405180830381865afa158015610573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059b91908101906121f8565b9250925092506000815111156105e0578282826040516020016105c093929190612117565b6040516020818303038152906040528051906020012093505050506105ed565b5050805160209091012090505b9392505050565b6000806106008361084e565b9050600061060e8460101b90565b9050603861061d81601061227b565b610627919061227b565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c6106586038601061227b565b7f74620000000000000000000000000000000000000000000000000000000000007fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b60006106e7836106e18685610865565b906108d9565b90508051600003610701576106fc84836109a7565b61070c565b61070c8483836109f8565b50505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610748576107486120dd565b60200260200101818152505061070c848260008560405160200161076e91815260200190565b604051602081830303815290604052610a4f565b60008061078d610af5565b9050306001600160a01b038216036107b3576107ab86868686610b34565b915050610511565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906107fe90899089908990899060040161228e565b602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906122bd565b6000610849610af5565b905090565b600061085c6070601061227b565b9190911b919050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061089f5761089f6120dd565b60200260200101818152505060006108b985836000610b61565b90506108d06108cb8260008451610c28565b610cbf565b95945050505050565b60606000835167ffffffffffffffff8111156108f7576108f7611d4e565b604051908082528060200260200182016040528015610920578160200160208202803683370190505b5090506000805b855181101561099d5784868281518110610943576109436120dd565b60200260200101511461099557858181518110610962576109626120dd565b602002602001015183838151811061097c5761097c6120dd565b602090810291909101015281610991816122d6565b9250505b600101610927565b5081529392505050565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106109dd576109dd6120dd565b6020026020010181815250506109f38382610cd0565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2e57610a2e6120dd565b60200260200101818152505061070c84826000610a4a86610d6b565b610d7b565b6000610a59610af5565b9050306001600160a01b03821603610a7c57610a7785858585610dee565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610ac790889088908890889060040161231c565b600060405180830381600087803b158015610ae157600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b2f573391505090565b919050565b60006108d0610b438686610e31565b60ff858116601b0360080285901c16610b5c8587610e87565b610eb8565b60606000610b6d610af5565b9050306001600160a01b03821603610b9257610b8a858585610f09565b9150506105ed565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610bdb90889088908890600401612350565b600060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8a919081019061237c565b509392505050565b600081831180610c385750835182115b15610c7e578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c75939291906123b1565b60405180910390fd5b60208401610c8c848261227b565b90506000610c9a85856123d6565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006105ed8360206000610f43565b6000610cda610af5565b9050306001600160a01b03821603610cf6576109f38383610fbe565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d3d90869086906004016123e9565b600060405180830381600087803b158015610d5757600080fd5b505af11580156103e6573d6000803e3d6000fd5b6060816105ed8160206000610fd5565b6000610d85610af5565b9050306001600160a01b03821603610da357610a7785858585611029565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610ac790889088908890889060040161231c565b6000610dfa8585611064565b90506000610e17828560ff166028026038011c64ffffffffff1690565b9050610e298686868460008888611077565b505050505050565b60008282604051602001610e46929190612402565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c2057610eae60ff601b83900360080287901c168361227b565b9150600101610e8c565b600060208210610ede57602082048401935060208281610eda57610eda61243e565b0691505b508254600882021b602082900380841115610c20576001850154600882021c82179150509392505050565b6060610511610f198585856114af565b6000610f3e85610f298989611064565b9060ff166028026038011c64ffffffffff1690565b61152f565b60606000610f518560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610f7757610f7761243e565b04905060405193506020840160208202810160405281855260005b82811015610fb2578451871c825293870193602090910190600101610f92565b50505050509392505050565b610fd18282610fcc85611552565b6115d7565b5050565b82516060906000610fe68583612454565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fb2578051871b83529187019160019190910190602001611008565b60006110358585611064565b90506000611052828560ff166028026038011c64ffffffffff1690565b9050610e298686866000858888611077565b60006105ed61107384846118d6565b5490565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614611137577f746200000000000000000000000000000000000000000000000000000000000087886040516020016110f591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c7593929160040161246b565b6000611152828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116b91906123d6565b611175919061227b565b905080821415801561119757508161118d86886124ac565b64ffffffffff1614155b156111e7576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610c75565b818664ffffffffff161115611238576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610c75565b600061124584898461192c565b905060006112528b6119fa565b905060005b815181101561131d576000828281518110611274576112746120dd565b602002602001015190506112a06010826affffffffffffffffffffff1916611a8390919063ffffffff16565b1561131457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016112e197969594939291906124d1565b600060405180830381600087803b1580156112fb57600080fd5b505af115801561130f573d6000803e3d6000fd5b505050505b50600101611257565b5064ffffffffff881660005b8a60ff168160ff16101561135c57611350878260ff166028026038011c64ffffffffff1690565b90910190600101611329565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c60405161139595949392919061252f565b60405180910390a2508284146113b65760006113b18c8c6118d6565b839055505b60006113c38c8c8c6114af565b90506113d7818a64ffffffffff1689611aa1565b5060005b81518110156114a15760008282815181106113f8576113f86120dd565b602002602001015190506114246020826affffffffffffffffffffff1916611a8390919063ffffffff16565b1561149857606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161146597969594939291906124d1565b600060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050505b506001016113db565b505050505050505050505050565b600083836040516020016114c4929190612402565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8484010116604052828252610c2085858584611ab7565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d0000000000000000000082016115a157507e60030220202000000000000000000000000000000000000000000000000000919050565b6101f76115ce7f746273746f72650000000000000000005461626c65730000000000000000000084611b83565b60206000610eb8565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361165d57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516116509190612581565b60405180910390a2505050565b6000611668846119fa565b905060005b815181101561173b57600082828151811061168a5761168a6120dd565b602002602001015190506116b66040826affffffffffffffffffffff1916611a8390919063ffffffff16565b15611732576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906116ff9089908990899060040161218a565b600060405180830381600087803b15801561171957600080fd5b505af115801561172d573d6000803e3d6000fd5b505050505b5060010161166d565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161176c9190612581565b60405180910390a260006117808585610e31565b90506117d981600061179186611b9f565b67ffffffffffffffff8111156117a9576117a9611d4e565b6040519080825280601f01601f1916602001820160405280156117d3576020820181803683370190505b50611aa1565b60006117e484611bc2565b11156118055760006117f686866118d6565b9050611803816020611bff565b505b60005b8251811015610e29576000838281518110611825576118256120dd565b602002602001015190506118516080826affffffffffffffffffffff1916611a8390919063ffffffff16565b156118cd576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061189a908a908a908a9060040161218a565b600060405180830381600087803b1580156118b457600080fd5b505af11580156118c8573d6000803e3d6000fd5b505050505b50600101611808565b600082826040516020016118eb929190612402565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff821115611970576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610c75565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119a257808503820191506119aa565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a3457611a346120dd565b60209081029190910101526000611a6c7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610f09565b9050610511611a7e8260008451610c28565b611c3c565b60008160ff1682611a948560581c90565b1660ff1614905092915050565b6109f383838351611ab28560200190565b611c4d565b8215611b3e5760208310611ae157602083048401935060208381611add57611add61243e565b0692505b8215611b3e576020839003600081841015611b045750600019600884021c611b0e565b50600019600882021c5b8554600886021b818451168219821617845250818411611b2f57505061070c565b50600194909401939182900391015b5b60208210611b605783548152600190930192601f1990910190602001611b3f565b811561070c576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e46565b60006008611baf600260206123d6565b611bb99190612454565b9190911c919050565b60006008600180611bd5600260206123d6565b611bdf91906123d6565b611be991906123d6565b611bf39190612454565b8260ff911c1692915050565b60006020611c0e83601f61227b565b611c189190612594565b611c22908461227b565b90505b808310156109f35760008355600183019250611c25565b606060006105ed8360156000610f43565b8215611cc75760208310611c7757602083048401935060208381611c7357611c7361243e565b0692505b8215611cc75760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611cb857505061070c565b50600194909401939182900391015b5b60208210611ce95780518455600190930192601f1990910190602001611cc8565b811561070c576000600019600884021c8554835182191691161785555050505050565b600060208284031215611d1e57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146105ed57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8d57611d8d611d4e565b604052919050565b600082601f830112611da657600080fd5b8135602067ffffffffffffffff821115611dc257611dc2611d4e565b8160051b611dd1828201611d64565b9283528481018201928281019087851115611deb57600080fd5b83870192505b84831015611e0a57823582529183019190830190611df1565b979650505050505050565b803564ffffffffff81168114610b2f57600080fd5b600067ffffffffffffffff821115611e4457611e44611d4e565b50601f01601f191660200190565b600082601f830112611e6357600080fd5b8135611e76611e7182611e2a565b611d64565b818152846020838601011115611e8b57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611ec357600080fd5b87359650602088013567ffffffffffffffff80821115611ee257600080fd5b611eee8b838c01611d95565b975060408a0135915060ff82168214611f0657600080fd5b819650611f1560608b01611e15565b9550611f2360808b01611e15565b945060a08a0135935060c08a0135915080821115611f4057600080fd5b50611f4d8a828b01611e52565b91505092959891949750929550565b60008060008060008060c08789031215611f7557600080fd5b86359550602087013567ffffffffffffffff80821115611f9457600080fd5b611fa08a838b01611d95565b96506040890135915080821115611fb657600080fd5b611fc28a838b01611e52565b9550606089013594506080890135915080821115611fdf57600080fd5b50611fec89828a01611e52565b92505060a087013590509295509295509295565b60008060006060848603121561201557600080fd5b83359250602084013567ffffffffffffffff81111561203357600080fd5b61203f86828701611d95565b925050604084013590509250925092565b6000806000806080858703121561206657600080fd5b84359350602085013567ffffffffffffffff8082111561208557600080fd5b61209188838901611d95565b94506040870135915065ffffffffffff821682146120ae57600080fd5b909250606086013590808211156120c457600080fd5b506120d187828801611e52565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561210e5781810151838201526020016120f6565b50506000910152565b600084516121298184602089016120f3565b820184815283516121418160208085019088016120f3565b0160200195945050505050565b60008151808452602080850194506020840160005b8381101561217f57815187529582019590820190600101612163565b509495945050505050565b8381526060602082015260006121a3606083018561214e565b9050826040830152949350505050565b600082601f8301126121c457600080fd5b81516121d2611e7182611e2a565b8181528460208386010111156121e757600080fd5b6105118260208301602087016120f3565b60008060006060848603121561220d57600080fd5b835167ffffffffffffffff8082111561222557600080fd5b612231878388016121b3565b945060208601519350604086015191508082111561224e57600080fd5b5061225b868287016121b3565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f7612265565b8481526080602082015260006122a7608083018661214e565b60ff949094166040830152506060015292915050565b6000602082840312156122cf57600080fd5b5051919050565b600060001982036122e9576122e9612265565b5060010190565b600081518084526123088160208601602086016120f3565b601f01601f19169290920160200192915050565b848152608060208201526000612335608083018661214e565b60ff851660408401528281036060840152611e0a81856122f0565b838152606060208201526000612369606083018561214e565b905060ff83166040830152949350505050565b60006020828403121561238e57600080fd5b815167ffffffffffffffff8111156123a557600080fd5b610511848285016121b3565b6060815260006123c460608301866122f0565b60208301949094525060400152919050565b818103818111156101f7576101f7612265565b828152604060208201526000610511604083018461214e565b8281526000602080830184516020860160005b8281101561243157815184529284019290840190600101612415565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f7612265565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108d060608301846122f0565b64ffffffffff8181168382160190808211156124ca576124ca612265565b5092915050565b87815260e0602082015260006124ea60e083018961214e565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261252181856122f0565b9a9950505050505050505050565b60a08152600061254260a083018861214e565b65ffffffffffff8716602084015264ffffffffff86166040840152846060840152828103608084015261257581856122f0565b98975050505050505050565b6020815260006105ed602083018461214e565b6000826125b157634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000818000a","sourceMap":"1167:4801:166:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;863:187:22;;;;;;:::i;:::-;;:::i;:::-;;;516:14:207;;509:22;491:41;;479:2;464:18;863:187:22;;;;;;;3316:565:166;;;;;;:::i;:::-;;:::i;:::-;;1408:873;;;;;;:::i;:::-;;:::i;2409:266:22:-;;;;;;:::i;:::-;;:::i;3885:544:166:-;;;;;;:::i;:::-;;:::i;7525:160:22:-;;;;;;:::i;2285:522:166:-;;;;;;:::i;:::-;;:::i;4433:449::-;;;;;;:::i;:::-;;:::i;2811:501::-;;;;;;:::i;:::-;;:::i;863:187:22:-;939:4;958:43;;;973:28;958:43;;:87;;-1:-1:-1;1005:40:22;;;1020:25;1005:40;958:87;951:94;863:187;-1:-1:-1;;863:187:22:o;3316:565:166:-;3578:23;3604:36;3626:13;3604:21;:36::i;:::-;3578:62;;3646:21;3670:57;3690:13;3705:8;3715:11;3670:19;:57::i;:::-;3646:81;;3733:24;3760:49;-1:-1:-1;;;3795:13:166;3760:16;:49::i;:::-;3733:76;;3815:61;3834:13;3849:8;3858:1;3849:11;;;;;;;;:::i;:::-;;;;;;;3862:13;3815:18;:61::i;:::-;3504:377;;;3316:565;;;;;;;:::o;1408:873::-;1644:24;1671:49;-1:-1:-1;;;1706:13:166;1671:16;:49::i;:::-;1644:76;;1757:21;1781:57;1801:13;1816:8;1826:11;1781:19;:57::i;:::-;1757:81;;1913:61;1932:13;1947:8;1956:1;1947:11;;;;;;;;:::i;:::-;;;;;;;1960:13;1913:18;:61::i;:::-;2067:18;;2040:17;;2067:22;2063:145;;2123:10;2135:14;2151:11;2106:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2099:64;;2063:145;;;-1:-1:-1;2191:10:166;2063:145;2213:63;2232:13;2257:4;2247:15;;;;;;2264:8;2273:1;2264:11;;;;;;;;:::i;:::-;;;;;;;2213:18;:63::i;:::-;1638:643;;;1408:873;;;;;;:::o;2409:266:22:-;2644:26;;;;;;;;;;;;;;3885:544:166;4136:23;4162:36;4184:13;4162:21;:36::i;:::-;4136:62;;4204:16;4223:57;4243:13;4258:8;4268:11;4223:19;:57::i;:::-;4204:76;;4286:24;4313:49;-1:-1:-1;;;4348:13:166;4313:16;:49::i;:::-;4286:76;;4368:56;4387:13;4402:8;4412;4421:1;4412:11;;;;;;;;:::i;2285:522::-;2504:23;2530:36;2552:13;2530:21;:36::i;:::-;2504:62;;2572:21;2596:57;2616:13;2631:8;2641:11;2596:19;:57::i;:::-;2572:81;;2659:24;2686:49;-1:-1:-1;;;2721:13:166;2686:16;:49::i;:::-;2659:76;;2741:61;2760:13;2775:8;2784:1;2775:11;;;;;;;;:::i;2741:61::-;2430:377;;;2285:522;;;;:::o;4433:449::-;4647:21;4671:57;4691:13;4706:8;4716:11;4671:19;:57::i;:::-;4647:81;;4734:24;4761:49;-1:-1:-1;;;4796:13:166;4761:16;:49::i;:::-;4734:76;;4816:61;4835:13;4850:8;4859:1;4850:11;;;;;;;;:::i;4816:61::-;4573:309;;4433:449;;;:::o;2811:501::-;3019:23;3045:36;3067:13;3045:21;:36::i;:::-;3019:62;;3087:16;3106:57;3126:13;3141:8;3151:11;3106:19;:57::i;:::-;3087:76;;3169:24;3196:49;-1:-1:-1;;;3231:13:166;3196:16;:49::i;:::-;3169:76;;3251:56;3270:13;3285:8;3295;3304:1;3295:11;;;;;;;;:::i;3795:327:29:-;3922:16;;;3936:1;3922:16;;;;;;;;;3862:23;;;;3922:16;;;;;;;;;;;;-1:-1:-1;3922:16:29;3893:45;;3977:7;3944:9;3954:1;3944:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3992:13;4008:64;1171:66;4045:9;3992:13;1343:66;4008:26;:64::i;:::-;3992:80;3795:327;-1:-1:-1;;;;3795:327:29:o;4886:512:166:-;5032:17;5058:23;5083:28;5113:24;5141:8;:6;:8::i;:::-;-1:-1:-1;;;;;5141:18:166;;5167:13;5188:8;5204:11;5141:80;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5141:80:166;;;;;;;;;;;;:::i;:::-;5057:164;;;;;;5252:1;5231:11;:18;:22;5227:167;;;5297:10;5309:14;5325:11;5280:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5270:68;;;;;;5263:75;;;;;;;5227:167;-1:-1:-1;;5366:21:166;;;;;;;;-1:-1:-1;4886:512:166;;;;;;:::o;1052:559:170:-;1142:10;1158:17;1178:46;1210:13;1178:31;:46::i;:::-;1158:66;;1228:27;1265:51;1302:13;385:5:16;2502:44:59;;2404:148;1265:51:170;1228:89;-1:-1:-1;401:5:170;1544:33;401:5;385::16;1544:33:170;:::i;:::-;:56;;;;:::i;:::-;1521:18;;;:80;;1474:33;354:5;385::16;1474:33:170;:::i;:::-;1363:14;1440:29;;;;;:68;;385:5:16;1390:37:170;;;;;1355:154;:247;;;-1:-1:-1;;1052:559:170;;;;:::o;5402:564:166:-;5573:38;5614:55;5665:3;5614:43;5632:13;5647:9;5614:17;:43::i;:::-;:50;;:55::i;:::-;5573:96;;5680:21;:28;5712:1;5680:33;5676:286;;5770:52;5797:13;5812:9;5770:26;:52::i;:::-;5676:286;;;5889:66;5907:13;5922:9;5933:21;5889:17;:66::i;:::-;5497:469;5402:564;;;:::o;14696:258:171:-;14812:16;;;14826:1;14812:16;;;;;;;;;14783:26;;14812:16;;;;;;;;;;;-1:-1:-1;14812:16:171;14783:45;;14849:9;14834;14844:1;14834:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;14865:84;14896:8;14906:9;14917:1;14938:8;14920:28;;;;;;9738:19:207;;9782:2;9773:12;;9609:182;14920:28:171;;;;;;;;;;;;;14865:30;:84::i;17702:457:24:-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:24;-1:-1:-1;;;;;17925:30:24;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:24;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1292:112:166:-;1333:10;1369:29;:27;:29::i;:::-;1351:48;;1292:112;:::o;3030:160:59:-;3093:7;3157:26;438:6;385:5:16;3157:26:59;:::i;:::-;3123:61;;;;;3030:160;-1:-1:-1;3030:160:59:o;4698:354:171:-;4841:16;;;4855:1;4841:16;;;;;;;;;4774:30;;4812:26;;4841:16;;;;;;;;;;;;-1:-1:-1;4841:16:171;4812:45;;4878:9;4863;4873:1;4863:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;4894:18;4915:51;4943:8;4953:9;4964:1;4915:27;:51::i;:::-;4894:72;;4980:66;:44;5001:5;5008:1;5011:5;:12;4980:20;:44::i;:::-;:64;:66::i;:::-;4972:75;4698:354;-1:-1:-1;;;;;4698:354:171:o;834:531:195:-;912:16;936:25;978:3;:10;964:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;964:25:195;;936:53;;995:21;1027:9;1022:150;1042:3;:10;1038:1;:14;1022:150;;;1081:7;1071:3;1075:1;1071:6;;;;;;;;:::i;:::-;;;;;;;:17;1067:99;;1126:3;1130:1;1126:6;;;;;;;;:::i;:::-;;;;;;;1100:8;1109:13;1100:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;1142:15;;;;:::i;:::-;;;;1067:99;1054:3;;1022:150;;;-1:-1:-1;1302:31:195;;;834:531;-1:-1:-1;;;834:531:195:o;20384:209:171:-;20490:16;;;20504:1;20490:16;;;;;;;;;20461:26;;20490:16;;;;;;;;;;;-1:-1:-1;20490:16:171;20461:45;;20527:9;20512;20522:1;20512:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;20543:45;20568:8;20578:9;20543:24;:45::i;:::-;20455:138;20384:209;;:::o;7022:275::-;7151:16;;;7165:1;7151:16;;;;;;;;;7122:26;;7151:16;;;;;;;;;;;-1:-1:-1;7151:16:171;7122:45;;7188:9;7173;7183:1;7173:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;7204:88;7232:8;7242:9;7253:1;7256:35;7276:13;7256:18;:35::i;:::-;7204:27;:88::i;12274:451:24:-;12434:21;12458:17;:15;:17::i;:::-;12434:41;-1:-1:-1;12510:4:24;-1:-1:-1;;;;;12485:30:24;;;12481:240;;12525:78;12554:7;12563:8;12573:17;12592:10;12525:28;:78::i;:::-;12481:240;;;12624:90;;;;;-1:-1:-1;;;;;12624:40:24;;;;;:90;;12665:7;;12674:8;;12684:17;;12703:10;;12624:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:227;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:24;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:24:o;38022:541:20:-;38179:7;38316:242;38360:59;38401:7;38410:8;38360:40;:59::i;:::-;38437:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;38486:63:20;38525:11;38538:10;38486:38;:63::i;:::-;38316:17;:242::i;18525:431:24:-;18661:12;18681:21;18705:17;:15;:17::i;:::-;18681:41;-1:-1:-1;18757:4:24;-1:-1:-1;;;;;18732:30:24;;;18728:224;;18779:63;18805:7;18814:8;18824:17;18779:25;:63::i;:::-;18772:70;;;;;18728:224;18870:75;;;;;-1:-1:-1;;;;;18870:37:24;;;;;:75;;18908:7;;18917:8;;18927:17;;18870:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18870:75:24;;;;;;;;;;;;:::i;18728:224::-;18675:281;18525:431;;;;;:::o;1954:561:18:-;2045:5;2140:3;2132:5;:11;:32;;;;2153:4;:11;2147:3;:17;2132:32;2128:80;;;2191:4;2197:5;2204:3;2173:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;2128:80;2274:4;2264:15;;2321:16;2332:5;2264:15;2321:16;:::i;:::-;;-1:-1:-1;2343:12:18;2358:11;2364:5;2358:3;:11;:::i;:::-;643:17;2493:15;2485:3;2474:14;;;;2473:36;;;;;;-1:-1:-1;;;;;1954:561:18:o;45218:220:34:-;45284:24;45316:30;45349:32;45367:6;45375:2;45379:1;45349:17;:32::i;13776:301:24:-;13860:21;13884:17;:15;:17::i;:::-;13860:41;-1:-1:-1;13936:4:24;-1:-1:-1;;;;;13911:30:24;;;13907:166;;13951:41;13974:7;13983:8;13951:22;:41::i;13907:166::-;14013:53;;;;;-1:-1:-1;;;;;14013:34:24;;;;;:53;;14048:7;;14057:8;;14013:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44884:222:35;44948:12;45038:6;45062:39;45038:6;45095:2;45099:1;45062:17;:39::i;11498:424:24:-;11649:21;11673:17;:15;:17::i;:::-;11649:41;-1:-1:-1;11725:4:24;-1:-1:-1;;;;;11700:30:24;;;11696:222;;11740:69;11766:7;11775:8;11785:17;11804:4;11740:25;:69::i;11696:222::-;11830:81;;;;;-1:-1:-1;;;;;11830:37:24;;;;;:81;;11868:7;;11877:8;;11887:17;;11906:4;;11830:81;;;:::i;30619:790:20:-;30878:36;30917:66;30965:7;30974:8;30917:47;:66::i;:::-;30878:105;-1:-1:-1;30989:26:20;31025:49;30878:105;31056:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;31025:49:20;30989:86;;31113:291;31167:7;31192:8;31227:17;31277:19;31318:1;31333:10;31375:22;31113:36;:291::i;:::-;30773:636;;30619:790;;;;:::o;52539:191::-;52641:7;52705;52714:8;52688:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52688:35:20;;;;;;;;;52678:46;;52688:35;52678:46;;;;44145:22;52671:53;;52539:191;-1:-1:-1;;;52539:191:20:o;53556:242::-;53652:7;;;53691:84;53711:10;53707:14;;:1;:14;53691:84;;;53736:32;4431:93:3;4479:19;:27;;;537:1:30;4478:44:3;4444:79;;;4431:93;53736:32:20;;:::i;:::-;;-1:-1:-1;53723:3:20;;53691:84;;8879:812:19;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:19;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;39031:522:20:-;39167:12;39291:257;39330:79;39372:7;39381:8;39391:17;39330:41;:79::i;:::-;39427:1;39446:93;39521:17;39446:66;39494:7;39503:8;39446:47;:66::i;:::-;:74;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;39446:93:20;39291:12;:257::i;2615:1129:36:-;2735:22;2765:21;2789;:11;2869:3:18;2847:25;;2773:104;2789:21:36;2765:45;-1:-1:-1;643:17:18;3110:38;;2816:20:36;2978:11;3110:38:18;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;27433:145:20:-;27517:56;27530:7;27539:8;27549:23;27564:7;27549:14;:23::i;:::-;27517:12;:56::i;:::-;27433:145;;:::o;764:1343:36:-;936:12;;889:17;;914:19;977:26;992:11;936:12;977:26;:::i;:::-;954:49;;1375:4;1369:11;;-1:-1:-1;1418:4:36;1408:15;;-1:-1:-1;;1292:16:36;1465:32;;;1292:16;1288:32;1437:4;1430:69;1541:12;1535:4;1528:26;1585:1;1655:4;1648:5;1644:16;1562:535;1675:11;1672:1;1669:18;1562:535;;;2068:19;;2047:41;;2025:64;;1941:31;;;;1762:1;1755:9;;;;;1854:4;1836:23;1562:535;;26034:737:20;26285:36;26324:66;26372:7;26381:8;26324:47;:66::i;:::-;26285:105;-1:-1:-1;26396:26:20;26432:49;26285:105;26463:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;26432:49:20;26396:86;;26489:277;26543:7;26568:8;26603:17;26646:1;26668:19;26701:4;26737:22;26489:36;:277::i;55672:301::-;55793:13;55885:82;55916:48;55946:7;55955:8;55916:29;:48::i;:::-;4645:21:19;;4539:137;46038:3950:20;46456:14;46435:7;:35;;;46431:161;;46526:14;46542:7;46575;46558:25;;;;;;9738:19:207;;9782:2;9773:12;;9609:182;46558:25:20;;;;-1:-1:-1;;46558:25:20;;;;;;;;;;46487:98;;;;;;;;;;:::i;46431:161::-;46598:27;46628:49;:22;46659:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;46628:49:20;46598:79;;46683:26;46748:4;:11;46734;46712:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46683:76;;47031:18;47008:19;:41;;:98;;;;-1:-1:-1;47087:19:20;47053:30;47072:11;47053:16;:30;:::i;:::-;:53;;;;47008:98;47004:218;;;47123:92;;;;;15405:12:207;15444:15;;;47123:92:20;;;15426:34:207;15496:15;;;15476:18;;;15469:43;15548:15;;15528:18;;;15521:43;15368:18;;47123:92:20;15199:371:207;47004:218:20;47328:19;47309:16;:38;;;47305:140;;;47364:74;;;;;;;;15748:25:207;;;15821:12;15809:25;;15789:18;;;15782:53;15721:18;;47364:74:20;15575:266:207;47305:140:20;47484:35;47522:72;:22;47556:17;47575:18;47522:33;:72::i;:::-;47484:110;;47741:22;47766:24;47782:7;47766:15;:24::i;:::-;47741:49;;47801:9;47796:486;47816:5;:12;47812:1;:16;47796:486;;;47843:9;47865:5;47871:1;47865:8;;;;;;;;:::i;:::-;;;;;;;47843:31;;47886:42;770:6:32;47886:4:20;:14;;;;;:42;;;;:::i;:::-;47882:394;;;3404:35:4;;;;-1:-1:-1;;;;;47940:55:20;;48017:7;48046:8;48085:17;48132:16;48173:11;48212:22;48252:4;47940:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47882:394;-1:-1:-1;47830:3:20;;47796:486;;;-1:-1:-1;48340:32:20;;;:13;48480:107;48498:17;48494:21;;:1;:21;;;48480:107;;;48543:33;:22;48574:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;48543:33:20;48534:42;;;;48517:3;;48480:107;;;;48709:7;48656:228;48736:8;48768:5;48797:11;48834:21;48871:4;48656:228;;;;;;;;;;:::i;:::-;;;;;;;;48288:603;48976:18;48953:19;:41;48949:248;;49004:31;49038:48;49068:7;49077:8;49038:29;:48::i;:::-;629:28:19;;;-1:-1:-1;48949:248:20;49254:27;49284:61;49308:7;49317:8;49327:17;49284:23;:61::i;:::-;49254:91;;49353:92;49385:19;49414:16;49353:92;;49438:4;49353:13;:92::i;:::-;49246:206;49506:9;49501:483;49521:5;:12;49517:1;:16;49501:483;;;49548:9;49570:5;49576:1;49570:8;;;;;;;;:::i;:::-;;;;;;;49548:31;;49591:41;881:6:32;49591:4:20;:14;;;;;:41;;;;:::i;:::-;49587:391;;;3404:35:4;;;;-1:-1:-1;;;;;49644:54:20;;49720:7;49749:8;49788:17;49835:16;49876:11;49915:21;49954:4;49644:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49587:391;-1:-1:-1;49535:3:20;;49501:483;;;;46281:3707;;;;46038:3950;;;;;;;:::o;54475:274::-;54619:7;54724;54733:8;54707:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54697:46;;;;;;54676:17;54669:25;;54649:45;;;44217:34;54649:45;:94;54641:103;;54634:110;;54475:274;;;;;:::o;4976:669:19:-;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;1292:16:36;5480:26:19;;;1292:16:36;1288:32;5452:4:19;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;6237:651:20:-;6304:11;6540:62;;;6536:112;;-1:-1:-1;1343:66:29;;6237:651:20;-1:-1:-1;6237:651:20:o;6536:112::-;6692:183;6738:83;1171:66:29;6812:7:20;6738:40;:83::i;:::-;6841:2;6863:1;6692:17;:183::i;28177:1778::-;28365:23;28344:7;:44;;;28340:160;;28461:7;28442:37;28470:8;28442:37;;;;;;:::i;:::-;;;;;;;;28177:1778;;;:::o;28340:160::-;28641:22;28666:24;28682:7;28666:15;:24::i;:::-;28641:49;;28701:9;28696:235;28716:5;:12;28712:1;:16;28696:235;;;28743:9;28765:5;28771:1;28765:8;;;;;;;;:::i;:::-;;;;;;;28743:31;;28786:36;983:6:32;28786:4:20;:14;;;;;:36;;;;:::i;:::-;28782:143;;;28834:82;;;;;3404:35:4;;;;;28834:50:20;;:82;;28885:7;;28894:8;;28904:11;;28834:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28782:143;-1:-1:-1;28730:3:20;;28696:235;;;;28998:7;28979:37;29007:8;28979:37;;;;;;:::i;:::-;;;;;;;;29049:26;29078:59;29119:7;29128:8;29078:40;:59::i;:::-;29049:88;;29143:113;29175:18;29203:1;29222:30;:11;:28;:30::i;:::-;29212:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29212:41:20;;29143:13;:113::i;:::-;29475:1;29442:30;:11;:28;:30::i;:::-;:34;29438:236;;;29486:33;29522:66;29570:7;29579:8;29522:47;:66::i;:::-;29486:102;;29596:71;29627:25;29662:2;29596:12;:71::i;:::-;29478:196;29438:236;29723:9;29718:233;29738:5;:12;29734:1;:16;29718:233;;;29765:9;29787:5;29793:1;29787:8;;;;;;;;:::i;:::-;;;;;;;29765:31;;29808:35;1083:6:32;29808:4:20;:14;;;;;:35;;;;:::i;:::-;29804:141;;;29855:81;;;;;3404:35:4;;;;;29855:49:20;;:81;;29905:7;;29914:8;;29924:11;;29855:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29804:141;-1:-1:-1;29752:3:20;;29718:233;;55104:230;55225:7;55309;55318:8;55292:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55292:35:20;;;;;;;;;55282:46;;55292:35;55282:46;;;;44308:40;55255:73;;55104:230;-1:-1:-1;;;55104:230:20:o;7197:1488:15:-;7323:13;1004:16;7348:25;;7344:97;;;7390:44;;;;;;;;17873:25:207;;;17846:18;;7390:44:15;17727:177:207;7344:97:15;7503:13;6184:59;;;6801:16;;;922;6801;834;6790:27;6750:68;;;6728:92;;7766:38;;;7762:192;;7849:19;7831:15;:37;7816:52;;;;7762:192;;;7930:15;7908:19;:37;7893:52;;;;7762:192;-1:-1:-1;8270:16:15;834;922;8137;;;;8126:27;8262:35;;;8576:5;8415:26;8396:45;;;;8395:61;;;8557:24;;;;8586:34;;;;;8556:65;;-1:-1:-1;7197:1488:15;;;;;:::o;4391:342:28:-;4507:16;;;4521:1;4507:16;;;;;;;;;4448:22;;4478:26;;4507:16;;;;;;;;;;;;-1:-1:-1;4507:16:28;4478:45;;4562:7;4529:9;4539:1;4529:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4577:18;4598:49;1075:66;4634:9;4577:18;4598:25;:49::i;:::-;4577:70;;4661:66;:44;4682:5;4689:1;4692:5;:12;4661:20;:44::i;:::-;:64;:66::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;900:162:19:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::14;818:15;;692:151;1032:24:19;989:5;:68::i;6010:2380::-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:19;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:19;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:30;738:25:31;;716:48;8323:20:19;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:19;;;;:::o;52982:282:20:-;53227:30;;;;;;18097:19:207;;;18132:12;;;18125:28;;;53070:7:20;;18169:12:207;;53227:30:20;17909:278:207;4754:171:3;4828:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4850:70:3;;;;;4754:171;-1:-1:-1;4754:171:3:o;5533:173::-;5607:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5643:11:3;5622:79;5635:65;;5622:79;;5533:173;-1:-1:-1;;5533:173:3:o;3966:370:19:-;4088:13;4137:2;4122:11;:6;4131:2;4122:11;:::i;:::-;4121:18;;;;:::i;:::-;4104:35;;:14;:35;:::i;:::-;4088:51;;4145:187;4169:5;4152:14;:22;4145:187;;;4267:1;4251:14;4244:25;4316:1;4300:14;4296:22;4278:40;;4145:187;;40037:220:34;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;1423:2340:19:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:30;738:25:31;;716:48;2142:18:19;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:19;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:19;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:30;738:25:31;;716:48;3695:21:19;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:19;;;;:::o;14:332:207:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:184;-1:-1:-1;;;592:1:207;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:334;803:2;797:9;859:2;849:13;;-1:-1:-1;;845:86:207;833:99;;962:18;947:34;;983:22;;;944:62;941:88;;;1009:18;;:::i;:::-;1045:2;1038:22;732:334;;-1:-1:-1;732:334:207:o;1071:712::-;1125:5;1178:3;1171:4;1163:6;1159:17;1155:27;1145:55;;1196:1;1193;1186:12;1145:55;1232:6;1219:20;1258:4;1281:18;1277:2;1274:26;1271:52;;;1303:18;;:::i;:::-;1349:2;1346:1;1342:10;1372:28;1396:2;1392;1388:11;1372:28;:::i;:::-;1434:15;;;1504;;;1500:24;;;1465:12;;;;1536:15;;;1533:35;;;1564:1;1561;1554:12;1533:35;1600:2;1592:6;1588:15;1577:26;;1612:142;1628:6;1623:3;1620:15;1612:142;;;1694:17;;1682:30;;1645:12;;;;1732;;;;1612:142;;;1772:5;1071:712;-1:-1:-1;;;;;;;1071:712:207:o;1788:165::-;1855:20;;1915:12;1904:24;;1894:35;;1884:63;;1943:1;1940;1933:12;1958:245;2006:4;2039:18;2031:6;2028:30;2025:56;;;2061:18;;:::i;:::-;-1:-1:-1;2118:2:207;2106:15;-1:-1:-1;;2102:88:207;2192:4;2098:99;;1958:245::o;2208:462::-;2250:5;2303:3;2296:4;2288:6;2284:17;2280:27;2270:55;;2321:1;2318;2311:12;2270:55;2357:6;2344:20;2388:48;2404:31;2432:2;2404:31;:::i;:::-;2388:48;:::i;:::-;2461:2;2452:7;2445:19;2507:3;2500:4;2495:2;2487:6;2483:15;2479:26;2476:35;2473:55;;;2524:1;2521;2514:12;2473:55;2589:2;2582:4;2574:6;2570:17;2563:4;2554:7;2550:18;2537:55;2637:1;2612:16;;;2630:4;2608:27;2601:38;;;;2616:7;2208:462;-1:-1:-1;;;2208:462:207:o;2675:1073::-;2883:6;2891;2899;2907;2915;2923;2931;2984:3;2972:9;2963:7;2959:23;2955:33;2952:53;;;3001:1;2998;2991:12;2952:53;3037:9;3024:23;3014:33;;3098:2;3087:9;3083:18;3070:32;3121:18;3162:2;3154:6;3151:14;3148:34;;;3178:1;3175;3168:12;3148:34;3201:61;3254:7;3245:6;3234:9;3230:22;3201:61;:::i;:::-;3191:71;;3312:2;3301:9;3297:18;3284:32;3271:45;;3356:4;3349:5;3345:16;3338:5;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3399:5;3389:15;;3423:37;3456:2;3445:9;3441:18;3423:37;:::i;:::-;3413:47;;3479:38;3512:3;3501:9;3497:19;3479:38;:::i;:::-;3469:48;;3564:3;3553:9;3549:19;3536:33;3526:43;;3622:3;3611:9;3607:19;3594:33;3578:49;;3652:2;3642:8;3639:16;3636:36;;;3668:1;3665;3658:12;3636:36;;3691:51;3734:7;3723:8;3712:9;3708:24;3691:51;:::i;:::-;3681:61;;;2675:1073;;;;;;;;;;:::o;3753:1068::-;3996:6;4004;4012;4020;4028;4036;4089:3;4077:9;4068:7;4064:23;4060:33;4057:53;;;4106:1;4103;4096:12;4057:53;4142:9;4129:23;4119:33;;4203:2;4192:9;4188:18;4175:32;4226:18;4267:2;4259:6;4256:14;4253:34;;;4283:1;4280;4273:12;4253:34;4306:61;4359:7;4350:6;4339:9;4335:22;4306:61;:::i;:::-;4296:71;;4420:2;4409:9;4405:18;4392:32;4376:48;;4449:2;4439:8;4436:16;4433:36;;;4465:1;4462;4455:12;4433:36;4488:51;4531:7;4520:8;4509:9;4505:24;4488:51;:::i;:::-;4478:61;;4586:2;4575:9;4571:18;4558:32;4548:42;;4643:3;4632:9;4628:19;4615:33;4599:49;;4673:2;4663:8;4660:16;4657:36;;;4689:1;4686;4679:12;4657:36;;4712:51;4755:7;4744:8;4733:9;4729:24;4712:51;:::i;:::-;4702:61;;;4810:3;4799:9;4795:19;4782:33;4772:43;;3753:1068;;;;;;;;:::o;4826:546::-;4990:6;4998;5006;5059:2;5047:9;5038:7;5034:23;5030:32;5027:52;;;5075:1;5072;5065:12;5027:52;5111:9;5098:23;5088:33;;5172:2;5161:9;5157:18;5144:32;5199:18;5191:6;5188:30;5185:50;;;5231:1;5228;5221:12;5185:50;5254:61;5307:7;5298:6;5287:9;5283:22;5254:61;:::i;:::-;5244:71;;;5362:2;5351:9;5347:18;5334:32;5324:42;;4826:546;;;;;:::o;5377:835::-;5527:6;5535;5543;5551;5604:3;5592:9;5583:7;5579:23;5575:33;5572:53;;;5621:1;5618;5611:12;5572:53;5657:9;5644:23;5634:33;;5718:2;5707:9;5703:18;5690:32;5741:18;5782:2;5774:6;5771:14;5768:34;;;5798:1;5795;5788:12;5768:34;5821:61;5874:7;5865:6;5854:9;5850:22;5821:61;:::i;:::-;5811:71;;5932:2;5921:9;5917:18;5904:32;5891:45;;5976:14;5969:5;5965:26;5958:5;5955:37;5945:65;;6006:1;6003;5996:12;5945:65;6029:5;;-1:-1:-1;6087:2:207;6072:18;;6059:32;;6103:16;;;6100:36;;;6132:1;6129;6122:12;6100:36;;6155:51;6198:7;6187:8;6176:9;6172:24;6155:51;:::i;:::-;6145:61;;;5377:835;;;;;;;:::o;6217:184::-;-1:-1:-1;;;6266:1:207;6259:88;6366:4;6363:1;6356:15;6390:4;6387:1;6380:15;6406:250;6491:1;6501:113;6515:6;6512:1;6509:13;6501:113;;;6591:11;;;6585:18;6572:11;;;6565:39;6537:2;6530:10;6501:113;;;-1:-1:-1;;6648:1:207;6630:16;;6623:27;6406:250::o;6661:606::-;6898:3;6936:6;6930:13;6952:66;7011:6;7006:3;6999:4;6991:6;6987:17;6952:66;:::i;:::-;7040:16;;7065:21;;;7111:13;;7133:81;7111:13;7198:4;7187:16;;;;7168:17;;7133:81;:::i;:::-;7234:20;7256:4;7230:31;;6661:606;-1:-1:-1;;;;;6661:606:207:o;7272:439::-;7325:3;7363:5;7357:12;7390:6;7385:3;7378:19;7416:4;7445;7440:3;7436:14;7429:21;;7484:4;7477:5;7473:16;7507:1;7517:169;7531:6;7528:1;7525:13;7517:169;;;7592:13;;7580:26;;7626:12;;;;7661:15;;;;7553:1;7546:9;7517:169;;;-1:-1:-1;7702:3:207;;7272:439;-1:-1:-1;;;;;7272:439:207:o;7716:465::-;8013:6;8002:9;7995:25;8056:2;8051;8040:9;8036:18;8029:30;7976:4;8076:56;8128:2;8117:9;8113:18;8105:6;8076:56;:::i;:::-;8068:64;;8168:6;8163:2;8152:9;8148:18;8141:34;7716:465;;;;;;:::o;8186:441::-;8239:5;8292:3;8285:4;8277:6;8273:17;8269:27;8259:55;;8310:1;8307;8300:12;8259:55;8339:6;8333:13;8370:48;8386:31;8414:2;8386:31;:::i;8370:48::-;8443:2;8434:7;8427:19;8489:3;8482:4;8477:2;8469:6;8465:15;8461:26;8458:35;8455:55;;;8506:1;8503;8496:12;8455:55;8519:77;8593:2;8586:4;8577:7;8573:18;8566:4;8558:6;8554:17;8519:77;:::i;8632:653::-;8772:6;8780;8788;8841:2;8829:9;8820:7;8816:23;8812:32;8809:52;;;8857:1;8854;8847:12;8809:52;8890:9;8884:16;8919:18;8960:2;8952:6;8949:14;8946:34;;;8976:1;8973;8966:12;8946:34;8999:60;9051:7;9042:6;9031:9;9027:22;8999:60;:::i;:::-;8989:70;;9099:2;9088:9;9084:18;9078:25;9068:35;;9149:2;9138:9;9134:18;9128:25;9112:41;;9178:2;9168:8;9165:16;9162:36;;;9194:1;9191;9184:12;9162:36;;9217:62;9271:7;9260:8;9249:9;9245:24;9217:62;:::i;:::-;9207:72;;;8632:653;;;;;:::o;9290:184::-;-1:-1:-1;;;9339:1:207;9332:88;9439:4;9436:1;9429:15;9463:4;9460:1;9453:15;9479:125;9544:9;;;9565:10;;;9562:36;;;9578:18;;:::i;9796:545::-;10117:6;10106:9;10099:25;10160:3;10155:2;10144:9;10140:18;10133:31;10080:4;10181:57;10233:3;10222:9;10218:19;10210:6;10181:57;:::i;:::-;10286:4;10274:17;;;;10269:2;10254:18;;10247:45;-1:-1:-1;10323:2:207;10308:18;10301:34;10173:65;9796:545;-1:-1:-1;;9796:545:207:o;10346:184::-;10416:6;10469:2;10457:9;10448:7;10444:23;10440:32;10437:52;;;10485:1;10482;10475:12;10437:52;-1:-1:-1;10508:16:207;;10346:184;-1:-1:-1;10346:184:207:o;10535:195::-;10574:3;-1:-1:-1;;10598:5:207;10595:77;10592:103;;10675:18;;:::i;:::-;-1:-1:-1;10722:1:207;10711:13;;10535:195::o;10735:329::-;10776:3;10814:5;10808:12;10841:6;10836:3;10829:19;10857:76;10926:6;10919:4;10914:3;10910:14;10903:4;10896:5;10892:16;10857:76;:::i;:::-;10978:2;10966:15;-1:-1:-1;;10962:88:207;10953:98;;;;11053:4;10949:109;;10735:329;-1:-1:-1;;10735:329:207:o;11069:603::-;11377:6;11366:9;11359:25;11420:3;11415:2;11404:9;11400:18;11393:31;11340:4;11447:57;11499:3;11488:9;11484:19;11476:6;11447:57;:::i;:::-;11552:4;11544:6;11540:17;11535:2;11524:9;11520:18;11513:45;11606:9;11598:6;11594:22;11589:2;11578:9;11574:18;11567:50;11634:32;11659:6;11651;11634:32;:::i;11677:441::-;11939:6;11928:9;11921:25;11982:2;11977;11966:9;11962:18;11955:30;11902:4;12002:56;12054:2;12043:9;12039:18;12031:6;12002:56;:::i;:::-;11994:64;;12106:4;12098:6;12094:17;12089:2;12078:9;12074:18;12067:45;11677:441;;;;;;:::o;12123:335::-;12202:6;12255:2;12243:9;12234:7;12230:23;12226:32;12223:52;;;12271:1;12268;12261:12;12223:52;12304:9;12298:16;12337:18;12329:6;12326:30;12323:50;;;12369:1;12366;12359:12;12323:50;12392:60;12444:7;12435:6;12424:9;12420:22;12392:60;:::i;12463:359::-;12666:2;12655:9;12648:21;12629:4;12686:44;12726:2;12715:9;12711:18;12703:6;12686:44;:::i;:::-;12761:2;12746:18;;12739:34;;;;-1:-1:-1;12804:2:207;12789:18;12782:34;12678:52;12463:359;-1:-1:-1;12463:359:207:o;12827:128::-;12894:9;;;12915:11;;;12912:37;;;12929:18;;:::i;12960:363::-;13198:6;13187:9;13180:25;13241:2;13236;13225:9;13221:18;13214:30;13161:4;13261:56;13313:2;13302:9;13298:18;13290:6;13261:56;:::i;13328:639::-;13578:6;13573:3;13566:19;13548:3;13604:2;13637;13632:3;13628:12;13669:6;13663:13;13734:2;13726:6;13722:15;13755:1;13765:175;13779:6;13776:1;13773:13;13765:175;;;13842:13;;13828:28;;13878:14;;;;13915:15;;;;13801:1;13794:9;13765:175;;;-1:-1:-1;13956:5:207;;13328:639;-1:-1:-1;;;;;;;13328:639:207:o;13972:184::-;-1:-1:-1;;;14021:1:207;14014:88;14121:4;14118:1;14111:15;14145:4;14142:1;14135:15;14161:168;14234:9;;;14265;;14282:15;;;14276:22;;14262:37;14252:71;;14303:18;;:::i;14552:463::-;14798:66;14790:6;14786:79;14775:9;14768:98;14902:6;14897:2;14886:9;14882:18;14875:34;14945:2;14940;14929:9;14925:18;14918:30;14749:4;14965:44;15005:2;14994:9;14990:18;14982:6;14965:44;:::i;15020:174::-;15087:12;15119:10;;;15131;;;15115:27;;15154:11;;;15151:37;;;15168:18;;:::i;:::-;15151:37;15020:174;;;;:::o;15846:898::-;16268:6;16257:9;16250:25;16311:3;16306:2;16295:9;16291:18;16284:31;16231:4;16338:57;16390:3;16379:9;16375:19;16367:6;16338:57;:::i;:::-;16443:4;16431:17;;16426:2;16411:18;;16404:45;16468:12;16516:15;;;16511:2;16496:18;;16489:43;16569:15;;16563:3;16548:19;;16541:44;16616:3;16601:19;;16594:35;;;16666:22;;;16660:3;16645:19;;16638:51;16706:32;16670:6;16723;16706:32;:::i;:::-;16698:40;15846:898;-1:-1:-1;;;;;;;;;;15846:898:207:o;16749:707::-;17088:3;17077:9;17070:22;17051:4;17115:57;17167:3;17156:9;17152:19;17144:6;17115:57;:::i;:::-;17220:14;17212:6;17208:27;17203:2;17192:9;17188:18;17181:55;17284:12;17276:6;17272:25;17267:2;17256:9;17252:18;17245:53;17334:6;17329:2;17318:9;17314:18;17307:34;17390:9;17382:6;17378:22;17372:3;17361:9;17357:19;17350:51;17418:32;17443:6;17435;17418:32;:::i;:::-;17410:40;16749:707;-1:-1:-1;;;;;;;;16749:707:207:o;17461:261::-;17640:2;17629:9;17622:21;17603:4;17660:56;17712:2;17701:9;17697:18;17689:6;17660:56;:::i;18192:274::-;18232:1;18258;18248:189;;-1:-1:-1;;;18290:1:207;18283:88;18394:4;18391:1;18384:15;18422:4;18419:1;18412:15;18248:189;-1:-1:-1;18451:9:207;;18192:274::o","linkReferences":{}},"methodIdentifiers":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":"83b5c95b","onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"5b28cdaf","onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"63584533","onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"a8ba8721","onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":"9faeaf45","onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"57066c9c","onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"55eb5a28","onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"964f667d","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreHook_NotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record was set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"This function is a part of the ERC-165 standard.\",\"params\":{\"interfaceId\":\"The ID of the interface to check.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"StoreHook_NotImplemented()\":[{\"notice\":\"Error emitted when a function is not implemented.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs after deleting a record.\"},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs after setting a record.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Check if the interface is supported.\"}},\"notice\":\"This is a very naive and inefficient implementation for now. We can optimize this by adding support for `setIndexOfField` in Store (See https://github.com/latticexyz/mud/issues/444) Note: if a table with composite keys is used, only the first key of the tuple is indexed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueHook.sol\":\"KeysWithValueHook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf\",\"dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b\",\"dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"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\":\"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1\",\"dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e\",\"dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6\",\"dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99\",\"dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a\",\"dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3\",\"dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR\"]},\"node_modules/@latticexyz/store/src/StoreHook.sol\":{\"keccak256\":\"0x7774e2176bbb9e259f71c62f41d07e6284fecd2af062a47d3c88a3e9cccb61b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1048129389b95fac80da3edd0f7bbfa18bd51c13531ee650f9c1cbe3433ae8e8\",\"dweb:/ipfs/QmaSaxfGPxmSZHSyuKsrNR1xx3RpLRJh5jykSj94WDBxei\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787\",\"dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551\",\"dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea\",\"dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4\",\"dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44\",\"dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd\",\"dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3\",\"dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f\",\"dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4\",\"dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5\",\"dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45\",\"dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6\",\"dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8\",\"dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478\",\"dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411\",\"dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]},\"src/modules/keyswithvalue/KeysWithValueHook.sol\":{\"keccak256\":\"0xe9d3141d56a4e8ba63c5a27bf1e5efba0e965f412df628b5c930f323ccbcb1fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://672cac0b87825e0be28af368f1159fcf6902671dd4e0df0b1cf76e5f291ffcf8\",\"dweb:/ipfs/QmUfyGJuRg81AqGhQvkN3i8atQuRtab29tsw7xdirf7FT9\"]},\"src/modules/keyswithvalue/constants.sol\":{\"keccak256\":\"0x2dfaa126cd1631c54ddeb12b47467095c805ed6184777f72a06eca62548a13a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f2b92b56c94d51bfaa7ad549b21190f5af654dafa361cb5040b9321b39a580\",\"dweb:/ipfs/QmQmf2p22bSQSS47yt57hHUGNDtWmMQFFRMeP56d8AmUPC\"]},\"src/modules/keyswithvalue/getTargetTableId.sol\":{\"keccak256\":\"0xa718b0a5d5c1a78aaca1ce9de782d09145906b2093c674649b662d42b28ea609\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://17b788015db24d294f48d6160997072a4a78e5a6c17adec1e41860d055a24590\",\"dweb:/ipfs/QmagZKVsq25UJeE65Ky7rcUMN4fWsj6fUvcsJM1okNVxmJ\"]},\"src/modules/keyswithvalue/tables/KeysWithValue.sol\":{\"keccak256\":\"0xf83afc3f653a6b1a58b674b5d74e677c8b71c2a143b8e538c48162863d24a7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fb89485bc915025a1db45a2b028557c43a6735aef86a2d151ca00bb28ae542e\",\"dweb:/ipfs/QmWFsFxeBJYFMUyJHdTcZoq2gbWLFRHngGeaXDsGx6WgXU\"]},\"src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4\",\"dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[],"type":"error","name":"StoreHook_NotImplemented"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceStaticData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceStaticData"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","staticData":"The static data of the record.","tableId":"The ID of the table where the record was set."}},"supportsInterface(bytes4)":{"details":"This function is a part of the ERC-165 standard.","params":{"interfaceId":"The ID of the interface to check."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs after deleting a record."},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs after setting a record."},"supportsInterface(bytes4)":{"notice":"Check if the interface is supported."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/keyswithvalue/KeysWithValueHook.sol":"KeysWithValueHook"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728","urls":["bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf","dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3","urls":["bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b","dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f","urls":["bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1","dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99","urls":["bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e","dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e","urls":["bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6","dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8","urls":["bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99","dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5","urls":["bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a","dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20","urls":["bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3","dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreHook.sol":{"keccak256":"0x7774e2176bbb9e259f71c62f41d07e6284fecd2af062a47d3c88a3e9cccb61b1","urls":["bzz-raw://1048129389b95fac80da3edd0f7bbfa18bd51c13531ee650f9c1cbe3433ae8e8","dweb:/ipfs/QmaSaxfGPxmSZHSyuKsrNR1xx3RpLRJh5jykSj94WDBxei"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c","urls":["bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787","dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7","urls":["bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551","dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763","urls":["bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea","dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b","urls":["bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4","dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270","urls":["bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44","dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909","urls":["bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd","dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635","urls":["bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3","dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3","urls":["bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9","dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d","urls":["bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f","dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4","urls":["bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4","dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a","urls":["bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5","dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b","urls":["bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45","dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4","urls":["bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6","dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772","urls":["bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8","dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c","urls":["bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478","dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3","urls":["bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411","dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"},"src/modules/keyswithvalue/KeysWithValueHook.sol":{"keccak256":"0xe9d3141d56a4e8ba63c5a27bf1e5efba0e965f412df628b5c930f323ccbcb1fe","urls":["bzz-raw://672cac0b87825e0be28af368f1159fcf6902671dd4e0df0b1cf76e5f291ffcf8","dweb:/ipfs/QmUfyGJuRg81AqGhQvkN3i8atQuRtab29tsw7xdirf7FT9"],"license":"MIT"},"src/modules/keyswithvalue/constants.sol":{"keccak256":"0x2dfaa126cd1631c54ddeb12b47467095c805ed6184777f72a06eca62548a13a0","urls":["bzz-raw://11f2b92b56c94d51bfaa7ad549b21190f5af654dafa361cb5040b9321b39a580","dweb:/ipfs/QmQmf2p22bSQSS47yt57hHUGNDtWmMQFFRMeP56d8AmUPC"],"license":"MIT"},"src/modules/keyswithvalue/getTargetTableId.sol":{"keccak256":"0xa718b0a5d5c1a78aaca1ce9de782d09145906b2093c674649b662d42b28ea609","urls":["bzz-raw://17b788015db24d294f48d6160997072a4a78e5a6c17adec1e41860d055a24590","dweb:/ipfs/QmagZKVsq25UJeE65Ky7rcUMN4fWsj6fUvcsJM1okNVxmJ"],"license":"MIT"},"src/modules/keyswithvalue/tables/KeysWithValue.sol":{"keccak256":"0xf83afc3f653a6b1a58b674b5d74e677c8b71c2a143b8e538c48162863d24a7a6","urls":["bzz-raw://6fb89485bc915025a1db45a2b028557c43a6735aef86a2d151ca00bb28ae542e","dweb:/ipfs/QmWFsFxeBJYFMUyJHdTcZoq2gbWLFRHngGeaXDsGx6WgXU"],"license":"MIT"},"src/modules/utils/ArrayLib.sol":{"keccak256":"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b","urls":["bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4","dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw"],"license":"MIT"}},"version":1},"id":166}
|