@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
package/out/World.sol/World.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"coreModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"args","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"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_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a060405234801561001057600080fd5b506100477f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e17580546001600160a01b03191630179055565b6040516e0c4b8c0b8c0b5d5b985d591a5d1959608a1b907fc7f5fdc8526b76f54916701bc910876243ffff2a40b0bb8d59eea8151c52c00590600090a2336080526040516e0c4b8c0b8c0b5d5b985d591a5d1959608a1b907f7f8f36afe3fb61c459c1a54a60b8a477eab02cc58e49f547561a40906239cb8290600090a260805161523f620000e86000396000818161036f0152611396015261523f6000f3fe6080604052600436106101d15760003560e01c80638c364d59116100f7578063c4d66de811610095578063d9c03a0411610064578063d9c03a04146106d1578063dbbf0e21146105d1578063e228a4a3146106f1578063ef6ea8621461071157610266565b8063c4d66de814610651578063cc49db7e14610671578063d03edb8c14610691578063d4285dc2146106b157610266565b8063af068c9e116100d1578063af068c9e146105f1578063b047c1eb14610611578063c0a2895a14610631578063c11222291461054b57610266565b80638c364d59146105915780639f1fcf0a146105b1578063a53417ed146105d157610266565b8063390baae01161016f5780634dc77d971161013e5780634dc77d971461050b578063505a181d1461052b5780636951955d1461054b578063894ecc581461057e57610266565b8063390baae01461047b5780633a77c2c21461049b5780633ae7af08146104c9578063419b58fd146104dc57610266565b8063150f3262116101ab578063150f3262146103fb5780631e7889771461041b578063298314fb1461043b5780633708196e1461045b57610266565b806302d05d3f1461035d57806305242d2f146103ae578063114a7266146103db57610266565b366102665760408051616e7360f01b602082015260006022820181905260308201819052916102189101604051602081830303815290604052610213906143fe565b610731565b60408051616e7360f01b602082015260006022820181905260308201529192506102649101604051602081830303815290604052610255906143fe565b61025f348461443b565b61080f565b005b303303610299576040516327a1460b60e21b81526001600160e01b03196000351660048201526024015b60405180910390fd5b6000806102b16000356001600160e01b031916610901565b91509150816000801b036102ff576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b0319600035166004820152602401610290565b60006103436000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250869150610a119050565b9050600061035333858434610a44565b9050805160208201f35b34801561036957600080fd5b506103917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103ba57600080fd5b506103ce6103c93660046144ab565b610a71565b6040516103a59190614561565b3480156103e757600080fd5b506102646103f63660046145b6565b610ab4565b34801561040757600080fd5b506102646104163660046145b6565b610b67565b34801561042757600080fd5b506103ce610436366004614643565b610c12565b34801561044757600080fd5b506102646104563660046146a1565b610c5c565b34801561046757600080fd5b5061026461047636600461474e565b610d45565b34801561048757600080fd5b5061026461049636600461474e565b610dfb565b3480156104a757600080fd5b506104bb6104b63660046147e4565b610ea8565b6040519081526020016103a5565b6103ce6104d73660046148b4565b610eb9565b3480156104e857600080fd5b506104fc6104f73660046148fb565b610ef5565b6040516103a59392919061494e565b34801561051757600080fd5b506103ce6105263660046149f9565b610f4a565b34801561053757600080fd5b50610264610546366004614a62565b610f59565b34801561055757600080fd5b507f312e302e302d756e6175646974656400000000000000000000000000000000006104bb565b6103ce61058c366004614ac3565b610fce565b34801561059d57600080fd5b506104bb6105ac3660046144ab565b61112a565b3480156105bd57600080fd5b506104bb6105cc366004614b1c565b61116d565b3480156105dd57600080fd5b506104bb6105ec366004614b7b565b61117b565b3480156105fd57600080fd5b5061026461060c366004614bd2565b611188565b34801561061d57600080fd5b5061026461062c366004614c0c565b611204565b34801561063d57600080fd5b5061026461064c366004614c9b565b6112af565b34801561065d57600080fd5b5061026461066c366004614d28565b61135d565b34801561067d57600080fd5b506104fc61068c366004614a62565b6114d8565b34801561069d57600080fd5b506103ce6106ac366004614643565b61152a565b3480156106bd57600080fd5b506104bb6106cc3660046147e4565b61156b565b3480156106dd57600080fd5b506102646106ec3660046144ab565b611576565b3480156106fd57600080fd5b506104bb61070c3660046147e4565b6115f6565b34801561071d57600080fd5b5061026461072c3660046145b6565b611601565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061076a5761076a614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f42616c616e636573000000000000000000000000000000000000000000000000603083015260009161080791015b6040516020818303038152906040526107df906143fe565b8360007e200100200000000000000000000000000000000000000000000000000000006116ac565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061084557610845614d45565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f42616c616e636573000000000000000000000000000000000000000000000000603082015281518082039093018352810190526108fc906108b1906143fe565b826000856040516020016108c791815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006116d9565b505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061095a5761095a614d45565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201528151808203909301835281019052600090819081906109f3906109cd906143fe565b857e240200200400000000000000000000000000000000000000000000000000006116ee565b925092509250610a048383836117f6565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b6060600080610a558787878761180e565b9150915081610a6757610a67816119f2565b9695505050505050565b6060610a67868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506119fa9050565b303303610ae2576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610aec8633611a3f565b610b5f8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611a8b92505050565b505050505050565b303303610b95576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610b9f8633611a3f565b610b5f8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611aa692505050565b6060610c5385858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250611ae1915050565b95945050505050565b303303610c8a576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610c948833611a3f565b610d3b8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250611b1b92505050565b5050505050505050565b303303610d73576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610d7d8733611a3f565b610df28787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250889250611b31915050565b50505050505050565b303303610e29576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610e338733611a3f565b610df28787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152508892506116d9915050565b6000610eb382611b74565b92915050565b6060303303610ee9576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610a3d33848434610a44565b606060006060610f3a878787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506116ee915050565b9250925092509450945094915050565b6060610a678686868686611c44565b303303610f87576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610f918333611a3f565b6108fc83838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611d0a92505050565b6060303303610ffe576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b038516036110215761101a33848434610a44565b9050610a3d565b600061102d8533611d1d565b905061103c8186338787611def565b156110555761104d85858534610a44565b915050610a3d565b6000611062866000611d1d565b90506110718187338888611def565b1561108b5761108286868634610a44565b92505050610a3d565b60006110bd616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000881617611ec4565b90506110cc8188338989611def565b156110e7576110dd87878734610a44565b9350505050610a3d565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b0388166004820152336024820152604401610290565b6000610a67868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506116ac9050565b6000610c5385858585611f5e565b6000610807848484611fa6565b3033036111b6576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b60408051616e7360f01b602082015260006022820181905260308201526111f691016040516020818303038152906040526111f0906143fe565b33611fbc565b611200828261200d565b5050565b303303611232576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61123c8633611a3f565b610b5f8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061211f92505050565b3033036112dd576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6112e78833611a3f565b610d3b8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528b93508a92508991899089908190840183828082843760009201919091525061237892505050565b30330361138b576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461142f5760408051616e7360f01b602082015260006022820181905260308201526113fa91016040516020818303038152906040526113f5906143fe565b612390565b336040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614d5b565b600061147b7f636f7265000000000000000000000000000000000000000000000000000000007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47061250c565b6001600160a01b0316146114bb576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008152602081019091526114d590829061200d565b50565b60606000606061151b8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061262192505050565b92509250925093509350939050565b6060610c5385858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250612647915050565b6000610eb38261265d565b3033036115a4576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6115ae8533611a3f565b6115ef858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508792508691506126d19050565b5050505050565b6000610eb38261272a565b30330361162f576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6116398633611a3f565b610b5f8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061275092505050565b6000610c536116bb868661278b565b60ff858116601b0360080285901c166116d485876127e1565b612824565b6115ef85856116e884876127e1565b8561211f565b60606000606060006116ff85612875565b905061170c878783612898565b93506000611719866128d1565b905080156117eb5761172b888861290e565b935066ffffffffffffff841667ffffffffffffffff81111561174f5761174f6147fd565b6040519080825280601f01601f191660200182016040528015611779576020820181803683370190505b5092506020830160005b828160ff1610156117e857600061179b8b8b84612921565b905060006117b8888460ff166028026038011c64ffffffffff1690565b90506117c782826000876129a1565b6117d1818561443b565b9350505080806117e090614d86565b915050611783565b50505b505093509350939050565b60008061180285612a70565b90969095509350505050565b60006060600061181d86612a85565b905060005b81518110156118fa57600082828151811061183f5761183f614d45565b6020026020010151905061186b6001826affffffffffffffffffffff1916612b5390919063ffffffff16565b156118e7576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906118b4908c908c908c90600401614da5565b600060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b505050505b50806118f281614dcd565b915050611822565b5061190787858888612b71565b909350915060005b81518110156119e757600082828151811061192c5761192c614d45565b602002602001015190506119586002826affffffffffffffffffffff1916612b5390919063ffffffff16565b156119d4576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f99906119a1908c908c908c90600401614da5565b600060405180830381600087803b1580156119bb57600080fd5b505af11580156119cf573d6000803e3d6000fd5b505050505b50806119df81614dcd565b91505061190f565b505094509492505050565b805160208201fd5b6060611a0582612c8c565b8360ff161015611a2257611a1b85858585612c9e565b9050610807565b611a1b8585611a3085612c8c565b611a3a9087614de7565b611ae1565b611a498282612ccb565b61120057611a5682612390565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614d5b565b611aa084848484611a9b89611b74565b611b31565b50505050565b6000611ab2858561290e565b90506000611acf828560ff166028026038011c64ffffffffff1690565b9050610b5f8686868460008888612d0e565b6060610807611af1858585612921565b611b1484611aff888861290e565b9060ff166028026038011c64ffffffffff1690565b6000613124565b6115ef8585858585611b2c8b611b74565b613147565b611b3a81612c8c565b8360ff161015611b5657611b5185858585856116d9565b6115ef565b6115ef8585611b6484612c8c565b611b6e9087614de7565b85612750565b60408051613a3160f11b60208201526473746f726560d81b6022820152655461626c657360d01b603082015260009101604051602081830303815290604052611bbc906143fe565b8203611be857507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201526473746f726560d81b6022820152655461626c657360d01b6030820152610eb391611c3b9101604051602081830303815290604052611c35906143fe565b84613442565b60206000612824565b60606000611c52878761290e565b90506000611c6f828760ff166028026038011c64ffffffffff1690565b90508085101580611c7f57508084115b15611cda578081861015611c9d57611c98600186614e00565b611c9f565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610290565b6000611ce7898989612921565b9050611cfd81611cf78888614e00565b88613124565b9998505050505050505050565b6112008282611d1885611b74565b61345e565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611d6257611d62614d45565b602002602001018181525050826001600160a01b031660001b81600181518110611d8e57611d8e614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5573657244656c65676174696f6e436f000000000000000000000000000000006030830152600091610c5391016107c7565b6000611dfa8661371e565b15611e0757506001610c53565b85611e1457506000610c53565b600080611e908660008a8a8989604051602401611e3393929190614da5565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612b71565b9150915081611ea457600092505050610c53565b80806020019051810190611eb89190614e13565b98975050505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611efd57611efd614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f4e616d65737061636544656c6567617400000000000000000000000000000000603083015260009161080791016107c7565b600080611f6a83612c8c565b90508060ff168460ff161015611f925760ff848116601b0360080284901c165b915050610807565b611f8a8686611fa18488614de7565b613799565b6000610807848484611fb788611b74565b611f5e565b6001600160a01b038116611ff6616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008516176137a9565b6001600160a01b03161461120057611a5682612390565b612037827f79f50b5b0000000000000000000000000000000000000000000000000000000061384e565b6120ac336000848460405160240161204f9190614561565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b033500000000000000000000000000000000000000000000000000000000179052613974565b50611200826001600160a01b03166317d7de7c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121129190614e35565b8251602084012084613985565b600061212b858561278b565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161216193929190614eb2565b60405180910390a2613a3160f11b857fffff000000000000000000000000000000000000000000000000000000000000161461219d5750611aa0565b60006121a886613ac5565b905060005b81518110156122875760008282815181106121ca576121ca614d45565b602002602001015190506121f66004826affffffffffffffffffffff1916612b5390919063ffffffff16565b15612274576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612241908b908b908b908b90600401614ee5565b600060405180830381600087803b15801561225b57600080fd5b505af115801561226f573d6000803e3d6000fd5b505050505b508061227f81614dcd565b9150506121ad565b5061229b828565ffffffffffff1685613b60565b60005b8151811015610df25760008282815181106122bb576122bb614d45565b602002602001015190506122e76008826affffffffffffffffffffff1916612b5390919063ffffffff16565b15612365576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612332908b908b908b908b90600401614ee5565b600060405180830381600087803b15801561234c57600080fd5b505af1158015612360573d6000803e3d6000fd5b505050505b508061237081614dcd565b91505061229e565b610b5f86868686868661238b8d8d61290e565b612d0e565b606081601081901b60006123a383613b70565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156123f6577fffffffffffffffffffffffffffff0000000000000000000000000000000000008316612418565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156124465782612468565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040517fffff00000000000000000000000000000000000000000000000000000000000090931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190527fffffffffffffffffffffffffffffffff00000000000000000000000000000000928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836fffffffffffffffffffffffffffffffff19168160008151811061255857612558614d45565b602002602001018181525050828160018151811061257857612578614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f496e7374616c6c65644d6f64756c657300000000000000000000000000000000603083015260009161261591015b6040516020818303038152906040526125ed906143fe565b8360007e140100140000000000000000000000000000000000000000000000000000006116ac565b60601c95945050505050565b60606000606061263a858561263588611b74565b6116ee565b9250925092509250925092565b606061080784848461265888611b74565b6119fa565b600061266882613b87565b905061267382613c40565b6126cc57818260405160200161268b91815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102909291600401614f1e565b919050565b60006126dd858561290e565b905060006126fa828560ff166028026038011c64ffffffffff1690565b9050610b5f8686866127138764ffffffffff8716614e00565b604080516000815260208101909152889088612d0e565b600061273582613d22565b9050806126cc57818260405160200161268b91815260200190565b600061275c858561290e565b90506000612779828560ff166028026038011c64ffffffffff1690565b9050610b5f8686866000858888612d0e565b600082826040516020016127a0929190614f37565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561281c5761280860ff601b83900360080287901c168361443b565b91508061281481614dcd565b9150506127e6565b509392505050565b60006020821061284a5760208204840193506020828161284657612846614f72565b0691505b508254600882021b60208290038084111561281c576001850154600882021c82179150509392505050565b6000600861288560026020614e00565b61288f9190614f88565b9190911c919050565b6060816000036128b75750604080516020810190915260008152610a3d565b60006128c3858561278b565b9050610c5381846000613124565b600060086001806128e460026020614e00565b6128ee9190614e00565b6128f89190614e00565b6129029190614f88565b8260ff911c1692915050565b6000610a3d61291d8484613ddb565b5490565b60008383604051602001612936929190614f37565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8115612a2a57602082106129cb576020820484019350602082816129c7576129c7614f72565b0691505b8115612a2a5760208290036000818510156129ef5750600019600885021c196129fa565b50600019600882021c195b8554600885021b811984511682821617845250818511612a1b575050611aa0565b50600194909401939283900392015b5b60208310612a4c5783548152600190930192601f1990920191602001612a2b565b8215611aa0576000600019600885021c198251865482169119161782525050505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612abf57612abf614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d486f6f6b730000000000000000000000000000000000000000006030830152600091612b3c91015b604051602081830303815290604052612b34906143fe565b836000611ae1565b9050610807612b4e8260008451613e31565b613ec1565b60008160ff1682612b648560581c90565b1660ff1614905092915050565b60006060600080612b8186613ed2565b90925090506001600160a01b038216612bd25785612b9e87612390565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610290929190614f1e565b80612be157612be18689611a3f565b8615612c2d577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612c1a82610731565b9050612c2a8261025f8b8461443b565b50505b6000612c398760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c7157612c6c88888488613fb6565b612c7d565b612c7d8888848861402e565b90999098509650505050505050565b6000600860016128ee60026020614e00565b6060610c53612cad868661278b565b60ff858116601b0360080285901c16612cc685876127e1565b613124565b6000612cfe616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008516178361408f565b80610a3d5750610a3d838361408f565b613a3160f11b877fffff0000000000000000000000000000000000000000000000000000000000001614612d9857613a3160f11b8788604051602001612d5691815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610290939291600401614f9f565b6000612db3828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612dcc9190614e00565b612dd6919061443b565b9050808214158015612df8575081612dee8688614fe0565b64ffffffffff1614155b15612e48576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610290565b818664ffffffffff161115612e99576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610290565b6000612ea6848984614161565b905064ffffffffff871660005b8960ff168160ff161015612ee657612eda868260ff166028026038011c64ffffffffff1690565b90910190600101612eb3565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b604051612f1f959493929190615005565b60405180910390a2506000612f338b613ac5565b905060005b8151811015613008576000828281518110612f5557612f55614d45565b60200260200101519050612f816010826affffffffffffffffffffff1916612b5390919063ffffffff16565b15612ff557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612fc2979695949392919061504b565b600060405180830381600087803b158015612fdc57600080fd5b505af1158015612ff0573d6000803e3d6000fd5b505050505b508061300081614dcd565b915050612f38565b5082841461302157600061301c8c8c613ddb565b839055505b600061302e8c8c8c612921565b9050613042818a64ffffffffff1689613b60565b5060005b815181101561311657600082828151811061306357613063614d45565b6020026020010151905061308f6020826affffffffffffffffffffff1916612b5390919063ffffffff16565b1561310357606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016130d0979695949392919061504b565b600060405180830381600087803b1580156130ea57600080fd5b505af11580156130fe573d6000803e3d6000fd5b505050505b508061310e81614dcd565b915050613046565b505050505050505050505050565b60405160208101601f19603f858401011660405283825261281c858585846129a1565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161317d94939291906150a9565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603610b5f5760006131be87613ac5565b905060005b81518110156132a15760008282815181106131e0576131e0614d45565b6020026020010151905061320c6001826affffffffffffffffffffff1916612b5390919063ffffffff16565b1561328e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c9061325b908c908c908c908c908c908c906004016150e8565b600060405180830381600087803b15801561327557600080fd5b505af1158015613289573d6000803e3d6000fd5b505050505b508061329981614dcd565b9150506131c3565b5060006132ae888861278b565b905060006020870190506132c6826000838a5161422f565b60006132d1856128d1565b11156133555760006132e38a8a613ddb565b878155905060208601915060008060005b6132fd886128d1565b8160ff161015613350576133128d8d83612921565b925061332d8a8260ff166028026038011c64ffffffffff1690565b915061333c836000878561422f565b613346828661443b565b94506001016132f4565b505050505b60005b835181101561343657600084828151811061337557613375614d45565b602002602001015190506133a16002826affffffffffffffffffffff1916612b5390919063ffffffff16565b15613423576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906133f0908e908e908e908e908e908e906004016150e8565b600060405180830381600087803b15801561340a57600080fd5b505af115801561341e573d6000803e3d6000fd5b505050505b508061342e81614dcd565b915050613358565b50505050505050505050565b60408051602081018490529081018290526000906060016127a0565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161348e9190615141565b60405180910390a2613a3160f11b837fffff00000000000000000000000000000000000000000000000000000000000016146134c957505050565b60006134d484613ac5565b905060005b81518110156135b15760008282815181106134f6576134f6614d45565b602002602001015190506135226040826affffffffffffffffffffff1916612b5390919063ffffffff16565b1561359e576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061356b90899089908990600401615154565b600060405180830381600087803b15801561358557600080fd5b505af1158015613599573d6000803e3d6000fd5b505050505b50806135a981614dcd565b9150506134d9565b5060006135be858561278b565b90506136178160006135cf86612875565b67ffffffffffffffff8111156135e7576135e76147fd565b6040519080825280601f01601f191660200182016040528015613611576020820181803683370190505b50613b60565b6000613622846128d1565b11156136435760006136348686613ddb565b90506136418160206142ef565b505b60005b8251811015610b5f57600083828151811061366357613663614d45565b6020026020010151905061368f6080826affffffffffffffffffffff1916612b5390919063ffffffff16565b1561370b576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906136d8908a908a908a90600401615154565b600060405180830381600087803b1580156136f257600080fd5b505af1158015613706573d6000803e3d6000fd5b505050505b508061371681614dcd565b915050613646565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052613791906143fe565b909114919050565b600061080782611aff868661290e565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106137e2576137e2614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f4e616d6573706163654f776e6572000000000000000000000000000000000000603083015260009161384391016125d5565b60601c949350505050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081526001600160e01b0319821660048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa9250505080156138d1575060408051601f3d908101601f191682019092526138ce91810190614e13565b60015b613922576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b031982166024820152604401610290565b806108fc576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526001600160e01b031983166024820152604401610290565b6060600080610a558787878761402e565b604080516002808252606082018352600092602083019080368337019050509050836fffffffffffffffffffffffffffffffff1916816000815181106139cd576139cd614d45565b60200260200101818152505082816001815181106139ed576139ed614d45565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f496e7374616c6c65644d6f64756c65730000000000000000000000000000000060308201528151808203909301835281019052611aa090613a59906143fe565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b166020820152839060009060340160408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006116d9565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613aff57613aff614d45565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f53746f7265486f6f6b73000000000000000000000000000000000000000000006030830152600091612b3c9101612b1c565b6108fc838360208401845161422f565b6000613b7e6070601061443b565b9190911b919050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613bc057613bc0614d45565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b6022820152655461626c657360d01b6030820152815180820390930183528101905260009061080790613c18906143fe565b8360017e600302202020000000000000000000000000000000000000000000000000006116ac565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613c7957613c79614d45565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f5265736f757263654964730000000000000000000000000000000000000000006030830152600091613d1691015b604051602081830303815290604052613cee906143fe565b8360007e010100010000000000000000000000000000000000000000000000000000006116ac565b90506108078160f81c90565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613d5b57613d5b614d45565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b6022820152655461626c657360d01b6030820152815180820390930183528101905260009061080790613db3906143fe565b8360027e600302202020000000000000000000000000000000000000000000000000006116ac565b60008282604051602001613df0929190614f37565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6000818311158015613e44575083518211155b613e80578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102909392919061517d565b60208401613e8e848261443b565b90506000613e9c8585614e00565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610a3d836015600061432c565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613f0c57613f0c614d45565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d73000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009081908190613fa590613f7f906143fe565b857e150200140100000000000000000000000000000000000000000000000000006116ee565b925092509250610a048383836143a7565b60006060836001600160a01b03166000613fd18589896143b3565b604051613fde91906151a2565b60006040518083038185875af1925050503d806000811461401b576040519150601f19603f3d011682016040523d82523d6000602084013e614020565b606091505b509097909650945050505050565b60006060836001600160a01b03166140478488886143b3565b60405161405491906151a2565b600060405180830381855af49150503d806000811461401b576040519150601f19603f3d011682016040523d82523d6000602084013e614020565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106140c8576140c8614d45565b602002602001018181525050826001600160a01b031660001b816001815181106140f4576140f4614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f7572636541636365737300000000000000000000000000000000000060308301526000916141559101613cd6565b9050610c538160f81c90565b600064ffffffffff8211156141a5576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610290565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106141d757808503820191506141df565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156142a957602083106142595760208304840193506020838161425557614255614f72565b0692505b82156142a95760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161429a575050611aa0565b50600194909401939182019190035b5b602081106142cb5781518455600190930192602090910190601f19016142aa565b8015611aa0576000600019600883021c198554845182169119161785555050505050565b600060206142fe83601f61443b565b61430891906151be565b614312908461443b565b90505b808310156108fc5760008355600183019250614315565b6060600061433a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161436057614360614f72565b04905060405193506020840160208202810160405281855260005b8281101561439b578451871c82529387019360209091019060010161437b565b50505050509392505050565b600080611802856143e2565b60608383836040516020016143ca939291906151e0565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612a7e565b8051602080830151919081101561441f576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610eb357610eb3614425565b60008083601f84011261446057600080fd5b50813567ffffffffffffffff81111561447857600080fd5b6020830191508360208260051b850101111561449357600080fd5b9250929050565b803560ff811681146126cc57600080fd5b6000806000806000608086880312156144c357600080fd5b85359450602086013567ffffffffffffffff8111156144e157600080fd5b6144ed8882890161444e565b909550935061450090506040870161449a565b949793965091946060013592915050565b60005b8381101561452c578181015183820152602001614514565b50506000910152565b6000815180845261454d816020860160208601614511565b601f01601f19169290920160200192915050565b602081526000610a3d6020830184614535565b60008083601f84011261458657600080fd5b50813567ffffffffffffffff81111561459e57600080fd5b60208301915083602082850101111561449357600080fd5b600080600080600080608087890312156145cf57600080fd5b86359550602087013567ffffffffffffffff808211156145ee57600080fd5b6145fa8a838b0161444e565b909750955085915061460e60408a0161449a565b9450606089013591508082111561462457600080fd5b5061463189828a01614574565b979a9699509497509295939492505050565b6000806000806060858703121561465957600080fd5b84359350602085013567ffffffffffffffff81111561467757600080fd5b6146838782880161444e565b909450925061469690506040860161449a565b905092959194509250565b60008060008060008060008060a0898b0312156146bd57600080fd5b88359750602089013567ffffffffffffffff808211156146dc57600080fd5b6146e88c838d0161444e565b909950975060408b013591508082111561470157600080fd5b61470d8c838d01614574565b909750955060608b0135945060808b013591508082111561472d57600080fd5b5061473a8b828c01614574565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a03121561476957600080fd5b87359650602088013567ffffffffffffffff8082111561478857600080fd5b6147948b838c0161444e565b90985096508691506147a860408b0161449a565b955060608a01359150808211156147be57600080fd5b506147cb8a828b01614574565b989b979a50959894979596608090950135949350505050565b6000602082840312156147f657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561483c5761483c6147fd565b604052919050565b600082601f83011261485557600080fd5b813567ffffffffffffffff81111561486f5761486f6147fd565b6148826020601f19601f84011601614813565b81815284602083860101111561489757600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156148c757600080fd5b82359150602083013567ffffffffffffffff8111156148e557600080fd5b6148f185828601614844565b9150509250929050565b6000806000806060858703121561491157600080fd5b84359350602085013567ffffffffffffffff81111561492f57600080fd5b61493b8782880161444e565b9598909750949560400135949350505050565b6060815260006149616060830186614535565b8460208401528281036040840152610a678185614535565b600082601f83011261498a57600080fd5b8135602067ffffffffffffffff8211156149a6576149a66147fd565b8160051b6149b5828201614813565b92835284810182019282810190878511156149cf57600080fd5b83870192505b848310156149ee578235825291830191908301906149d5565b979650505050505050565b600080600080600060a08688031215614a1157600080fd5b85359450602086013567ffffffffffffffff811115614a2f57600080fd5b614a3b88828901614979565b945050614a4a6040870161449a565b94979396509394606081013594506080013592915050565b600080600060408486031215614a7757600080fd5b83359250602084013567ffffffffffffffff811115614a9557600080fd5b614aa18682870161444e565b9497909650939450505050565b6001600160a01b03811681146114d557600080fd5b600080600060608486031215614ad857600080fd5b8335614ae381614aae565b925060208401359150604084013567ffffffffffffffff811115614b0657600080fd5b614b1286828701614844565b9150509250925092565b60008060008060808587031215614b3257600080fd5b84359350602085013567ffffffffffffffff811115614b5057600080fd5b614b5c87828801614979565b935050614b6b6040860161449a565b9396929550929360600135925050565b600080600060608486031215614b9057600080fd5b83359250602084013567ffffffffffffffff811115614bae57600080fd5b614bba86828701614979565b925050614bc96040850161449a565b90509250925092565b60008060408385031215614be557600080fd5b8235614bf081614aae565b9150602083013567ffffffffffffffff8111156148e557600080fd5b60008060008060008060808789031215614c2557600080fd5b86359550602087013567ffffffffffffffff80821115614c4457600080fd5b614c508a838b0161444e565b90975095506040890135915065ffffffffffff82168214614c7057600080fd5b9093506060880135908082111561462457600080fd5b803564ffffffffff811681146126cc57600080fd5b60008060008060008060008060c0898b031215614cb757600080fd5b88359750602089013567ffffffffffffffff80821115614cd657600080fd5b614ce28c838d0161444e565b9099509750879150614cf660408c0161449a565b9650614d0460608c01614c86565b9550614d1260808c01614c86565b945060a08b013591508082111561472d57600080fd5b600060208284031215614d3a57600080fd5b8135610a3d81614aae565b634e487b7160e01b600052603260045260246000fd5b604081526000614d6e6040830185614535565b90506001600160a01b03831660208301529392505050565b600060ff821660ff8103614d9c57614d9c614425565b60010192915050565b6001600160a01b0384168152826020820152606060408201526000610c536060830184614535565b60006000198203614de057614de0614425565b5060010190565b60ff8281168282160390811115610eb357610eb3614425565b81810381811115610eb357610eb3614425565b600060208284031215614e2557600080fd5b81518015158114610a3d57600080fd5b600060208284031215614e4757600080fd5b81517fffffffffffffffffffffffffffffffff0000000000000000000000000000000081168114610a3d57600080fd5b600081518084526020808501945080840160005b83811015614ea757815187529582019590820190600101614e8b565b509495945050505050565b606081526000614ec56060830186614e77565b65ffffffffffff851660208401528281036040840152610a678185614535565b848152608060208201526000614efe6080830186614e77565b65ffffffffffff8516604084015282810360608401526149ee8185614535565b8281526040602082015260006108076040830184614535565b82815260006020808301845182860160005b82811015614f6557815184529284019290840190600101614f49565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b8082028115828204841417610eb357610eb3614425565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610c536060830184614535565b64ffffffffff818116838216019080821115614ffe57614ffe614425565b5092915050565b60a08152600061501860a0830188614e77565b65ffffffffffff8716602084015264ffffffffff861660408401528460608401528281036080840152611eb88185614535565b87815260e06020820152600061506460e0830189614e77565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261509b8185614535565b9a9950505050505050505050565b6080815260006150bc6080830187614e77565b82810360208401526150ce8187614535565b905084604084015282810360608401526149ee8185614535565b86815260c06020820152600061510160c0830188614e77565b82810360408401526151138188614535565b9050856060840152828103608084015261512d8186614535565b9150508260a0830152979650505050505050565b602081526000610a3d6020830184614e77565b83815260606020820152600061516d6060830185614e77565b9050826040830152949350505050565b6060815260006151906060830186614535565b60208301949094525060400152919050565b600082516151b4818460208701614511565b9190910192915050565b6000826151db57634e487b7160e01b600052601260045260246000fd5b500490565b600084516151f2818460208901614511565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000815000a","sourceMap":"2087:14797:56:-:0;;;2475:81;;;;;;;;;-1:-1:-1;739:22:21;996:42:24;2304:38;;-1:-1:-1;;;;;;2304:38:24;4109:4:20;2304:38:24;;;4036:84:20;739:22:21;772:25;;-1:-1:-1;;;783:13:21;772:25;;;;;2505:10:56;2495:20;;2526:25;;-1:-1:-1;;;2537:13:56;2526:25;;;;;2087:14797;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101d15760003560e01c80638c364d59116100f7578063c4d66de811610095578063d9c03a0411610064578063d9c03a04146106d1578063dbbf0e21146105d1578063e228a4a3146106f1578063ef6ea8621461071157610266565b8063c4d66de814610651578063cc49db7e14610671578063d03edb8c14610691578063d4285dc2146106b157610266565b8063af068c9e116100d1578063af068c9e146105f1578063b047c1eb14610611578063c0a2895a14610631578063c11222291461054b57610266565b80638c364d59146105915780639f1fcf0a146105b1578063a53417ed146105d157610266565b8063390baae01161016f5780634dc77d971161013e5780634dc77d971461050b578063505a181d1461052b5780636951955d1461054b578063894ecc581461057e57610266565b8063390baae01461047b5780633a77c2c21461049b5780633ae7af08146104c9578063419b58fd146104dc57610266565b8063150f3262116101ab578063150f3262146103fb5780631e7889771461041b578063298314fb1461043b5780633708196e1461045b57610266565b806302d05d3f1461035d57806305242d2f146103ae578063114a7266146103db57610266565b366102665760408051616e7360f01b602082015260006022820181905260308201819052916102189101604051602081830303815290604052610213906143fe565b610731565b60408051616e7360f01b602082015260006022820181905260308201529192506102649101604051602081830303815290604052610255906143fe565b61025f348461443b565b61080f565b005b303303610299576040516327a1460b60e21b81526001600160e01b03196000351660048201526024015b60405180910390fd5b6000806102b16000356001600160e01b031916610901565b91509150816000801b036102ff576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b0319600035166004820152602401610290565b60006103436000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250869150610a119050565b9050600061035333858434610a44565b9050805160208201f35b34801561036957600080fd5b506103917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103ba57600080fd5b506103ce6103c93660046144ab565b610a71565b6040516103a59190614561565b3480156103e757600080fd5b506102646103f63660046145b6565b610ab4565b34801561040757600080fd5b506102646104163660046145b6565b610b67565b34801561042757600080fd5b506103ce610436366004614643565b610c12565b34801561044757600080fd5b506102646104563660046146a1565b610c5c565b34801561046757600080fd5b5061026461047636600461474e565b610d45565b34801561048757600080fd5b5061026461049636600461474e565b610dfb565b3480156104a757600080fd5b506104bb6104b63660046147e4565b610ea8565b6040519081526020016103a5565b6103ce6104d73660046148b4565b610eb9565b3480156104e857600080fd5b506104fc6104f73660046148fb565b610ef5565b6040516103a59392919061494e565b34801561051757600080fd5b506103ce6105263660046149f9565b610f4a565b34801561053757600080fd5b50610264610546366004614a62565b610f59565b34801561055757600080fd5b507f312e302e302d756e6175646974656400000000000000000000000000000000006104bb565b6103ce61058c366004614ac3565b610fce565b34801561059d57600080fd5b506104bb6105ac3660046144ab565b61112a565b3480156105bd57600080fd5b506104bb6105cc366004614b1c565b61116d565b3480156105dd57600080fd5b506104bb6105ec366004614b7b565b61117b565b3480156105fd57600080fd5b5061026461060c366004614bd2565b611188565b34801561061d57600080fd5b5061026461062c366004614c0c565b611204565b34801561063d57600080fd5b5061026461064c366004614c9b565b6112af565b34801561065d57600080fd5b5061026461066c366004614d28565b61135d565b34801561067d57600080fd5b506104fc61068c366004614a62565b6114d8565b34801561069d57600080fd5b506103ce6106ac366004614643565b61152a565b3480156106bd57600080fd5b506104bb6106cc3660046147e4565b61156b565b3480156106dd57600080fd5b506102646106ec3660046144ab565b611576565b3480156106fd57600080fd5b506104bb61070c3660046147e4565b6115f6565b34801561071d57600080fd5b5061026461072c3660046145b6565b611601565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061076a5761076a614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f42616c616e636573000000000000000000000000000000000000000000000000603083015260009161080791015b6040516020818303038152906040526107df906143fe565b8360007e200100200000000000000000000000000000000000000000000000000000006116ac565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061084557610845614d45565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f42616c616e636573000000000000000000000000000000000000000000000000603082015281518082039093018352810190526108fc906108b1906143fe565b826000856040516020016108c791815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006116d9565b505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061095a5761095a614d45565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201528151808203909301835281019052600090819081906109f3906109cd906143fe565b857e240200200400000000000000000000000000000000000000000000000000006116ee565b925092509250610a048383836117f6565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b6060600080610a558787878761180e565b9150915081610a6757610a67816119f2565b9695505050505050565b6060610a67868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506119fa9050565b303303610ae2576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610aec8633611a3f565b610b5f8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611a8b92505050565b505050505050565b303303610b95576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610b9f8633611a3f565b610b5f8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611aa692505050565b6060610c5385858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250611ae1915050565b95945050505050565b303303610c8a576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610c948833611a3f565b610d3b8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250611b1b92505050565b5050505050505050565b303303610d73576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610d7d8733611a3f565b610df28787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250889250611b31915050565b50505050505050565b303303610e29576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610e338733611a3f565b610df28787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152508892506116d9915050565b6000610eb382611b74565b92915050565b6060303303610ee9576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610a3d33848434610a44565b606060006060610f3a878787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506116ee915050565b9250925092509450945094915050565b6060610a678686868686611c44565b303303610f87576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610f918333611a3f565b6108fc83838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611d0a92505050565b6060303303610ffe576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b038516036110215761101a33848434610a44565b9050610a3d565b600061102d8533611d1d565b905061103c8186338787611def565b156110555761104d85858534610a44565b915050610a3d565b6000611062866000611d1d565b90506110718187338888611def565b1561108b5761108286868634610a44565b92505050610a3d565b60006110bd616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000881617611ec4565b90506110cc8188338989611def565b156110e7576110dd87878734610a44565b9350505050610a3d565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b0388166004820152336024820152604401610290565b6000610a67868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506116ac9050565b6000610c5385858585611f5e565b6000610807848484611fa6565b3033036111b6576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b60408051616e7360f01b602082015260006022820181905260308201526111f691016040516020818303038152906040526111f0906143fe565b33611fbc565b611200828261200d565b5050565b303303611232576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61123c8633611a3f565b610b5f8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061211f92505050565b3033036112dd576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6112e78833611a3f565b610d3b8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528b93508a92508991899089908190840183828082843760009201919091525061237892505050565b30330361138b576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461142f5760408051616e7360f01b602082015260006022820181905260308201526113fa91016040516020818303038152906040526113f5906143fe565b612390565b336040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614d5b565b600061147b7f636f7265000000000000000000000000000000000000000000000000000000007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47061250c565b6001600160a01b0316146114bb576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008152602081019091526114d590829061200d565b50565b60606000606061151b8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061262192505050565b92509250925093509350939050565b6060610c5385858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250612647915050565b6000610eb38261265d565b3033036115a4576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6115ae8533611a3f565b6115ef858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508792508691506126d19050565b5050505050565b6000610eb38261272a565b30330361162f576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6116398633611a3f565b610b5f8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061275092505050565b6000610c536116bb868661278b565b60ff858116601b0360080285901c166116d485876127e1565b612824565b6115ef85856116e884876127e1565b8561211f565b60606000606060006116ff85612875565b905061170c878783612898565b93506000611719866128d1565b905080156117eb5761172b888861290e565b935066ffffffffffffff841667ffffffffffffffff81111561174f5761174f6147fd565b6040519080825280601f01601f191660200182016040528015611779576020820181803683370190505b5092506020830160005b828160ff1610156117e857600061179b8b8b84612921565b905060006117b8888460ff166028026038011c64ffffffffff1690565b90506117c782826000876129a1565b6117d1818561443b565b9350505080806117e090614d86565b915050611783565b50505b505093509350939050565b60008061180285612a70565b90969095509350505050565b60006060600061181d86612a85565b905060005b81518110156118fa57600082828151811061183f5761183f614d45565b6020026020010151905061186b6001826affffffffffffffffffffff1916612b5390919063ffffffff16565b156118e7576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906118b4908c908c908c90600401614da5565b600060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b505050505b50806118f281614dcd565b915050611822565b5061190787858888612b71565b909350915060005b81518110156119e757600082828151811061192c5761192c614d45565b602002602001015190506119586002826affffffffffffffffffffff1916612b5390919063ffffffff16565b156119d4576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f99906119a1908c908c908c90600401614da5565b600060405180830381600087803b1580156119bb57600080fd5b505af11580156119cf573d6000803e3d6000fd5b505050505b50806119df81614dcd565b91505061190f565b505094509492505050565b805160208201fd5b6060611a0582612c8c565b8360ff161015611a2257611a1b85858585612c9e565b9050610807565b611a1b8585611a3085612c8c565b611a3a9087614de7565b611ae1565b611a498282612ccb565b61120057611a5682612390565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614d5b565b611aa084848484611a9b89611b74565b611b31565b50505050565b6000611ab2858561290e565b90506000611acf828560ff166028026038011c64ffffffffff1690565b9050610b5f8686868460008888612d0e565b6060610807611af1858585612921565b611b1484611aff888861290e565b9060ff166028026038011c64ffffffffff1690565b6000613124565b6115ef8585858585611b2c8b611b74565b613147565b611b3a81612c8c565b8360ff161015611b5657611b5185858585856116d9565b6115ef565b6115ef8585611b6484612c8c565b611b6e9087614de7565b85612750565b60408051613a3160f11b60208201526473746f726560d81b6022820152655461626c657360d01b603082015260009101604051602081830303815290604052611bbc906143fe565b8203611be857507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201526473746f726560d81b6022820152655461626c657360d01b6030820152610eb391611c3b9101604051602081830303815290604052611c35906143fe565b84613442565b60206000612824565b60606000611c52878761290e565b90506000611c6f828760ff166028026038011c64ffffffffff1690565b90508085101580611c7f57508084115b15611cda578081861015611c9d57611c98600186614e00565b611c9f565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610290565b6000611ce7898989612921565b9050611cfd81611cf78888614e00565b88613124565b9998505050505050505050565b6112008282611d1885611b74565b61345e565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611d6257611d62614d45565b602002602001018181525050826001600160a01b031660001b81600181518110611d8e57611d8e614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5573657244656c65676174696f6e436f000000000000000000000000000000006030830152600091610c5391016107c7565b6000611dfa8661371e565b15611e0757506001610c53565b85611e1457506000610c53565b600080611e908660008a8a8989604051602401611e3393929190614da5565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612b71565b9150915081611ea457600092505050610c53565b80806020019051810190611eb89190614e13565b98975050505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611efd57611efd614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f4e616d65737061636544656c6567617400000000000000000000000000000000603083015260009161080791016107c7565b600080611f6a83612c8c565b90508060ff168460ff161015611f925760ff848116601b0360080284901c165b915050610807565b611f8a8686611fa18488614de7565b613799565b6000610807848484611fb788611b74565b611f5e565b6001600160a01b038116611ff6616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008516176137a9565b6001600160a01b03161461120057611a5682612390565b612037827f79f50b5b0000000000000000000000000000000000000000000000000000000061384e565b6120ac336000848460405160240161204f9190614561565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b033500000000000000000000000000000000000000000000000000000000179052613974565b50611200826001600160a01b03166317d7de7c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121129190614e35565b8251602084012084613985565b600061212b858561278b565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161216193929190614eb2565b60405180910390a2613a3160f11b857fffff000000000000000000000000000000000000000000000000000000000000161461219d5750611aa0565b60006121a886613ac5565b905060005b81518110156122875760008282815181106121ca576121ca614d45565b602002602001015190506121f66004826affffffffffffffffffffff1916612b5390919063ffffffff16565b15612274576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612241908b908b908b908b90600401614ee5565b600060405180830381600087803b15801561225b57600080fd5b505af115801561226f573d6000803e3d6000fd5b505050505b508061227f81614dcd565b9150506121ad565b5061229b828565ffffffffffff1685613b60565b60005b8151811015610df25760008282815181106122bb576122bb614d45565b602002602001015190506122e76008826affffffffffffffffffffff1916612b5390919063ffffffff16565b15612365576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612332908b908b908b908b90600401614ee5565b600060405180830381600087803b15801561234c57600080fd5b505af1158015612360573d6000803e3d6000fd5b505050505b508061237081614dcd565b91505061229e565b610b5f86868686868661238b8d8d61290e565b612d0e565b606081601081901b60006123a383613b70565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156123f6577fffffffffffffffffffffffffffff0000000000000000000000000000000000008316612418565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156124465782612468565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040517fffff00000000000000000000000000000000000000000000000000000000000090931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190527fffffffffffffffffffffffffffffffff00000000000000000000000000000000928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836fffffffffffffffffffffffffffffffff19168160008151811061255857612558614d45565b602002602001018181525050828160018151811061257857612578614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f496e7374616c6c65644d6f64756c657300000000000000000000000000000000603083015260009161261591015b6040516020818303038152906040526125ed906143fe565b8360007e140100140000000000000000000000000000000000000000000000000000006116ac565b60601c95945050505050565b60606000606061263a858561263588611b74565b6116ee565b9250925092509250925092565b606061080784848461265888611b74565b6119fa565b600061266882613b87565b905061267382613c40565b6126cc57818260405160200161268b91815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102909291600401614f1e565b919050565b60006126dd858561290e565b905060006126fa828560ff166028026038011c64ffffffffff1690565b9050610b5f8686866127138764ffffffffff8716614e00565b604080516000815260208101909152889088612d0e565b600061273582613d22565b9050806126cc57818260405160200161268b91815260200190565b600061275c858561290e565b90506000612779828560ff166028026038011c64ffffffffff1690565b9050610b5f8686866000858888612d0e565b600082826040516020016127a0929190614f37565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561281c5761280860ff601b83900360080287901c168361443b565b91508061281481614dcd565b9150506127e6565b509392505050565b60006020821061284a5760208204840193506020828161284657612846614f72565b0691505b508254600882021b60208290038084111561281c576001850154600882021c82179150509392505050565b6000600861288560026020614e00565b61288f9190614f88565b9190911c919050565b6060816000036128b75750604080516020810190915260008152610a3d565b60006128c3858561278b565b9050610c5381846000613124565b600060086001806128e460026020614e00565b6128ee9190614e00565b6128f89190614e00565b6129029190614f88565b8260ff911c1692915050565b6000610a3d61291d8484613ddb565b5490565b60008383604051602001612936929190614f37565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8115612a2a57602082106129cb576020820484019350602082816129c7576129c7614f72565b0691505b8115612a2a5760208290036000818510156129ef5750600019600885021c196129fa565b50600019600882021c195b8554600885021b811984511682821617845250818511612a1b575050611aa0565b50600194909401939283900392015b5b60208310612a4c5783548152600190930192601f1990920191602001612a2b565b8215611aa0576000600019600885021c198251865482169119161782525050505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612abf57612abf614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f53797374656d486f6f6b730000000000000000000000000000000000000000006030830152600091612b3c91015b604051602081830303815290604052612b34906143fe565b836000611ae1565b9050610807612b4e8260008451613e31565b613ec1565b60008160ff1682612b648560581c90565b1660ff1614905092915050565b60006060600080612b8186613ed2565b90925090506001600160a01b038216612bd25785612b9e87612390565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610290929190614f1e565b80612be157612be18689611a3f565b8615612c2d577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612c1a82610731565b9050612c2a8261025f8b8461443b565b50505b6000612c398760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c7157612c6c88888488613fb6565b612c7d565b612c7d8888848861402e565b90999098509650505050505050565b6000600860016128ee60026020614e00565b6060610c53612cad868661278b565b60ff858116601b0360080285901c16612cc685876127e1565b613124565b6000612cfe616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008516178361408f565b80610a3d5750610a3d838361408f565b613a3160f11b877fffff0000000000000000000000000000000000000000000000000000000000001614612d9857613a3160f11b8788604051602001612d5691815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610290939291600401614f9f565b6000612db3828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612dcc9190614e00565b612dd6919061443b565b9050808214158015612df8575081612dee8688614fe0565b64ffffffffff1614155b15612e48576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610290565b818664ffffffffff161115612e99576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610290565b6000612ea6848984614161565b905064ffffffffff871660005b8960ff168160ff161015612ee657612eda868260ff166028026038011c64ffffffffff1690565b90910190600101612eb3565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b604051612f1f959493929190615005565b60405180910390a2506000612f338b613ac5565b905060005b8151811015613008576000828281518110612f5557612f55614d45565b60200260200101519050612f816010826affffffffffffffffffffff1916612b5390919063ffffffff16565b15612ff557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612fc2979695949392919061504b565b600060405180830381600087803b158015612fdc57600080fd5b505af1158015612ff0573d6000803e3d6000fd5b505050505b508061300081614dcd565b915050612f38565b5082841461302157600061301c8c8c613ddb565b839055505b600061302e8c8c8c612921565b9050613042818a64ffffffffff1689613b60565b5060005b815181101561311657600082828151811061306357613063614d45565b6020026020010151905061308f6020826affffffffffffffffffffff1916612b5390919063ffffffff16565b1561310357606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016130d0979695949392919061504b565b600060405180830381600087803b1580156130ea57600080fd5b505af11580156130fe573d6000803e3d6000fd5b505050505b508061310e81614dcd565b915050613046565b505050505050505050505050565b60405160208101601f19603f858401011660405283825261281c858585846129a1565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161317d94939291906150a9565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603610b5f5760006131be87613ac5565b905060005b81518110156132a15760008282815181106131e0576131e0614d45565b6020026020010151905061320c6001826affffffffffffffffffffff1916612b5390919063ffffffff16565b1561328e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c9061325b908c908c908c908c908c908c906004016150e8565b600060405180830381600087803b15801561327557600080fd5b505af1158015613289573d6000803e3d6000fd5b505050505b508061329981614dcd565b9150506131c3565b5060006132ae888861278b565b905060006020870190506132c6826000838a5161422f565b60006132d1856128d1565b11156133555760006132e38a8a613ddb565b878155905060208601915060008060005b6132fd886128d1565b8160ff161015613350576133128d8d83612921565b925061332d8a8260ff166028026038011c64ffffffffff1690565b915061333c836000878561422f565b613346828661443b565b94506001016132f4565b505050505b60005b835181101561343657600084828151811061337557613375614d45565b602002602001015190506133a16002826affffffffffffffffffffff1916612b5390919063ffffffff16565b15613423576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906133f0908e908e908e908e908e908e906004016150e8565b600060405180830381600087803b15801561340a57600080fd5b505af115801561341e573d6000803e3d6000fd5b505050505b508061342e81614dcd565b915050613358565b50505050505050505050565b60408051602081018490529081018290526000906060016127a0565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161348e9190615141565b60405180910390a2613a3160f11b837fffff00000000000000000000000000000000000000000000000000000000000016146134c957505050565b60006134d484613ac5565b905060005b81518110156135b15760008282815181106134f6576134f6614d45565b602002602001015190506135226040826affffffffffffffffffffff1916612b5390919063ffffffff16565b1561359e576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061356b90899089908990600401615154565b600060405180830381600087803b15801561358557600080fd5b505af1158015613599573d6000803e3d6000fd5b505050505b50806135a981614dcd565b9150506134d9565b5060006135be858561278b565b90506136178160006135cf86612875565b67ffffffffffffffff8111156135e7576135e76147fd565b6040519080825280601f01601f191660200182016040528015613611576020820181803683370190505b50613b60565b6000613622846128d1565b11156136435760006136348686613ddb565b90506136418160206142ef565b505b60005b8251811015610b5f57600083828151811061366357613663614d45565b6020026020010151905061368f6080826affffffffffffffffffffff1916612b5390919063ffffffff16565b1561370b576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906136d8908a908a908a90600401615154565b600060405180830381600087803b1580156136f257600080fd5b505af1158015613706573d6000803e3d6000fd5b505050505b508061371681614dcd565b915050613646565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052613791906143fe565b909114919050565b600061080782611aff868661290e565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106137e2576137e2614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f4e616d6573706163654f776e6572000000000000000000000000000000000000603083015260009161384391016125d5565b60601c949350505050565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081526001600160e01b0319821660048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa9250505080156138d1575060408051601f3d908101601f191682019092526138ce91810190614e13565b60015b613922576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b031982166024820152604401610290565b806108fc576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526001600160e01b031983166024820152604401610290565b6060600080610a558787878761402e565b604080516002808252606082018352600092602083019080368337019050509050836fffffffffffffffffffffffffffffffff1916816000815181106139cd576139cd614d45565b60200260200101818152505082816001815181106139ed576139ed614d45565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f496e7374616c6c65644d6f64756c65730000000000000000000000000000000060308201528151808203909301835281019052611aa090613a59906143fe565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b166020820152839060009060340160408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006116d9565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613aff57613aff614d45565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f53746f7265486f6f6b73000000000000000000000000000000000000000000006030830152600091612b3c9101612b1c565b6108fc838360208401845161422f565b6000613b7e6070601061443b565b9190911b919050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613bc057613bc0614d45565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b6022820152655461626c657360d01b6030820152815180820390930183528101905260009061080790613c18906143fe565b8360017e600302202020000000000000000000000000000000000000000000000000006116ac565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613c7957613c79614d45565b60209081029190910181019190915260408051613a3160f11b928101929092526473746f726560d81b60228301527f5265736f757263654964730000000000000000000000000000000000000000006030830152600091613d1691015b604051602081830303815290604052613cee906143fe565b8360007e010100010000000000000000000000000000000000000000000000000000006116ac565b90506108078160f81c90565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613d5b57613d5b614d45565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b6022820152655461626c657360d01b6030820152815180820390930183528101905260009061080790613db3906143fe565b8360027e600302202020000000000000000000000000000000000000000000000000006116ac565b60008282604051602001613df0929190614f37565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6000818311158015613e44575083518211155b613e80578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102909392919061517d565b60208401613e8e848261443b565b90506000613e9c8585614e00565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610a3d836015600061432c565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613f0c57613f0c614d45565b60209081029190910181019190915260408051613a3160f11b81840152641ddbdc9b1960da1b60228201527f53797374656d73000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009081908190613fa590613f7f906143fe565b857e150200140100000000000000000000000000000000000000000000000000006116ee565b925092509250610a048383836143a7565b60006060836001600160a01b03166000613fd18589896143b3565b604051613fde91906151a2565b60006040518083038185875af1925050503d806000811461401b576040519150601f19603f3d011682016040523d82523d6000602084013e614020565b606091505b509097909650945050505050565b60006060836001600160a01b03166140478488886143b3565b60405161405491906151a2565b600060405180830381855af49150503d806000811461401b576040519150601f19603f3d011682016040523d82523d6000602084013e614020565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106140c8576140c8614d45565b602002602001018181525050826001600160a01b031660001b816001815181106140f4576140f4614d45565b60209081029190910181019190915260408051613a3160f11b92810192909252641ddbdc9b1960da1b60228301527f5265736f7572636541636365737300000000000000000000000000000000000060308301526000916141559101613cd6565b9050610c538160f81c90565b600064ffffffffff8211156141a5576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610290565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106141d757808503820191506141df565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156142a957602083106142595760208304840193506020838161425557614255614f72565b0692505b82156142a95760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161429a575050611aa0565b50600194909401939182019190035b5b602081106142cb5781518455600190930192602090910190601f19016142aa565b8015611aa0576000600019600883021c198554845182169119161785555050505050565b600060206142fe83601f61443b565b61430891906151be565b614312908461443b565b90505b808310156108fc5760008355600183019250614315565b6060600061433a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161436057614360614f72565b04905060405193506020840160208202810160405281855260005b8281101561439b578451871c82529387019360209091019060010161437b565b50505050509392505050565b600080611802856143e2565b60608383836040516020016143ca939291906151e0565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612a7e565b8051602080830151919081101561441f576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610eb357610eb3614425565b60008083601f84011261446057600080fd5b50813567ffffffffffffffff81111561447857600080fd5b6020830191508360208260051b850101111561449357600080fd5b9250929050565b803560ff811681146126cc57600080fd5b6000806000806000608086880312156144c357600080fd5b85359450602086013567ffffffffffffffff8111156144e157600080fd5b6144ed8882890161444e565b909550935061450090506040870161449a565b949793965091946060013592915050565b60005b8381101561452c578181015183820152602001614514565b50506000910152565b6000815180845261454d816020860160208601614511565b601f01601f19169290920160200192915050565b602081526000610a3d6020830184614535565b60008083601f84011261458657600080fd5b50813567ffffffffffffffff81111561459e57600080fd5b60208301915083602082850101111561449357600080fd5b600080600080600080608087890312156145cf57600080fd5b86359550602087013567ffffffffffffffff808211156145ee57600080fd5b6145fa8a838b0161444e565b909750955085915061460e60408a0161449a565b9450606089013591508082111561462457600080fd5b5061463189828a01614574565b979a9699509497509295939492505050565b6000806000806060858703121561465957600080fd5b84359350602085013567ffffffffffffffff81111561467757600080fd5b6146838782880161444e565b909450925061469690506040860161449a565b905092959194509250565b60008060008060008060008060a0898b0312156146bd57600080fd5b88359750602089013567ffffffffffffffff808211156146dc57600080fd5b6146e88c838d0161444e565b909950975060408b013591508082111561470157600080fd5b61470d8c838d01614574565b909750955060608b0135945060808b013591508082111561472d57600080fd5b5061473a8b828c01614574565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a03121561476957600080fd5b87359650602088013567ffffffffffffffff8082111561478857600080fd5b6147948b838c0161444e565b90985096508691506147a860408b0161449a565b955060608a01359150808211156147be57600080fd5b506147cb8a828b01614574565b989b979a50959894979596608090950135949350505050565b6000602082840312156147f657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561483c5761483c6147fd565b604052919050565b600082601f83011261485557600080fd5b813567ffffffffffffffff81111561486f5761486f6147fd565b6148826020601f19601f84011601614813565b81815284602083860101111561489757600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156148c757600080fd5b82359150602083013567ffffffffffffffff8111156148e557600080fd5b6148f185828601614844565b9150509250929050565b6000806000806060858703121561491157600080fd5b84359350602085013567ffffffffffffffff81111561492f57600080fd5b61493b8782880161444e565b9598909750949560400135949350505050565b6060815260006149616060830186614535565b8460208401528281036040840152610a678185614535565b600082601f83011261498a57600080fd5b8135602067ffffffffffffffff8211156149a6576149a66147fd565b8160051b6149b5828201614813565b92835284810182019282810190878511156149cf57600080fd5b83870192505b848310156149ee578235825291830191908301906149d5565b979650505050505050565b600080600080600060a08688031215614a1157600080fd5b85359450602086013567ffffffffffffffff811115614a2f57600080fd5b614a3b88828901614979565b945050614a4a6040870161449a565b94979396509394606081013594506080013592915050565b600080600060408486031215614a7757600080fd5b83359250602084013567ffffffffffffffff811115614a9557600080fd5b614aa18682870161444e565b9497909650939450505050565b6001600160a01b03811681146114d557600080fd5b600080600060608486031215614ad857600080fd5b8335614ae381614aae565b925060208401359150604084013567ffffffffffffffff811115614b0657600080fd5b614b1286828701614844565b9150509250925092565b60008060008060808587031215614b3257600080fd5b84359350602085013567ffffffffffffffff811115614b5057600080fd5b614b5c87828801614979565b935050614b6b6040860161449a565b9396929550929360600135925050565b600080600060608486031215614b9057600080fd5b83359250602084013567ffffffffffffffff811115614bae57600080fd5b614bba86828701614979565b925050614bc96040850161449a565b90509250925092565b60008060408385031215614be557600080fd5b8235614bf081614aae565b9150602083013567ffffffffffffffff8111156148e557600080fd5b60008060008060008060808789031215614c2557600080fd5b86359550602087013567ffffffffffffffff80821115614c4457600080fd5b614c508a838b0161444e565b90975095506040890135915065ffffffffffff82168214614c7057600080fd5b9093506060880135908082111561462457600080fd5b803564ffffffffff811681146126cc57600080fd5b60008060008060008060008060c0898b031215614cb757600080fd5b88359750602089013567ffffffffffffffff80821115614cd657600080fd5b614ce28c838d0161444e565b9099509750879150614cf660408c0161449a565b9650614d0460608c01614c86565b9550614d1260808c01614c86565b945060a08b013591508082111561472d57600080fd5b600060208284031215614d3a57600080fd5b8135610a3d81614aae565b634e487b7160e01b600052603260045260246000fd5b604081526000614d6e6040830185614535565b90506001600160a01b03831660208301529392505050565b600060ff821660ff8103614d9c57614d9c614425565b60010192915050565b6001600160a01b0384168152826020820152606060408201526000610c536060830184614535565b60006000198203614de057614de0614425565b5060010190565b60ff8281168282160390811115610eb357610eb3614425565b81810381811115610eb357610eb3614425565b600060208284031215614e2557600080fd5b81518015158114610a3d57600080fd5b600060208284031215614e4757600080fd5b81517fffffffffffffffffffffffffffffffff0000000000000000000000000000000081168114610a3d57600080fd5b600081518084526020808501945080840160005b83811015614ea757815187529582019590820190600101614e8b565b509495945050505050565b606081526000614ec56060830186614e77565b65ffffffffffff851660208401528281036040840152610a678185614535565b848152608060208201526000614efe6080830186614e77565b65ffffffffffff8516604084015282810360608401526149ee8185614535565b8281526040602082015260006108076040830184614535565b82815260006020808301845182860160005b82811015614f6557815184529284019290840190600101614f49565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b8082028115828204841417610eb357610eb3614425565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610c536060830184614535565b64ffffffffff818116838216019080821115614ffe57614ffe614425565b5092915050565b60a08152600061501860a0830188614e77565b65ffffffffffff8716602084015264ffffffffff861660408401528460608401528281036080840152611eb88185614535565b87815260e06020820152600061506460e0830189614e77565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261509b8185614535565b9a9950505050505050505050565b6080815260006150bc6080830187614e77565b82810360208401526150ce8187614535565b905084604084015282810360608401526149ee8185614535565b86815260c06020820152600061510160c0830188614e77565b82810360408401526151138188614535565b9050856060840152828103608084015261512d8186614535565b9150508260a0830152979650505050505050565b602081526000610a3d6020830184614e77565b83815260606020820152600061516d6060830185614e77565b9050826040830152949350505050565b6060815260006151906060830186614535565b60208301949094525060400152919050565b600082516151b4818460208701614511565b9190910192915050565b6000826151db57634e487b7160e01b600052601260045260246000fd5b500490565b600084516151f2818460208901614511565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000815000a","sourceMap":"2087:14797:56:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;625:63:78;;;-1:-1:-1;;;625:63:78;;;197:92:201;15983:19:56;305:11:201;;;298:100;;;414:12;;;407:101;;;15983:19:56;16005:32;;524:12:201;625:63:78;;;;;;;;;;;;617:72;;;:::i;:::-;16005:13:56;:32::i;:::-;625:63:78;;;-1:-1:-1;;;625:63:78;;;197:92:201;662:14:78;305:11:201;;;298:100;;;414:12;;;407:101;15983:54:56;;-1:-1:-1;16043:57:56;;524:12:201;625:63:78;;;;;;;;;;;;617:72;;;:::i;:::-;16076:23:56;16090:9;16076:11;:23;:::i;:::-;16043:13;:57::i;:::-;15977:128;2087:14797;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;;;;;;;;2666:88;16241:19:::1;16262:29:::0;16295:31:::1;16318:7;;-1:-1:-1::0;;;;;;16318:7:56::1;16295:22;:31::i;:::-;16240:86;;;;16355:8;16368:1;16337:32:::0;::::1;::::0;16333:84:::1;;16378:39;::::0;::::1;::::0;;-1:-1:-1;;;;;;16409:7:56::1;;;16378:39;::::0;::::1;1372:98:201::0;1345:18;;16378:39:56::1;1228:248:201::0;16333:84:56::1;16507:21;16531:52;16547:8;;16531:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;16531:52:56;-1:-1:-1;16560:22:56;;-1:-1:-1;16531:15:56::1;::::0;-1:-1:-1;16531:52:56:i:1;:::-;16507:76;;16641:23;16667:75;16700:10;16712:8;16722;16732:9;16667:32;:75::i;:::-;16641:101;;16860:10;16854:17;16847:4;16835:10;16831:21;16824:48;2231:32:::0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1645:55:201;;;1627:74;;1615:2;1600:18;2231:32:56;;;;;;;;3989:258:23;;;;;;;;;;-1:-1:-1;3989:258:23;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7842:344:56:-;;;;;;;;;;-1:-1:-1;7842:344:56;;;;;:::i;:::-;;:::i;11034:394::-;;;;;;;;;;-1:-1:-1;11034:394:56;;;;;:::i;:::-;;:::i;5256:244:23:-;;;;;;;;;;-1:-1:-1;5256:244:23;;;;;:::i;:::-;;:::i;5359:424:56:-;;;;;;;;;;-1:-1:-1;5359:424:56;;;;;:::i;:::-;;:::i;8595:386::-;;;;;;;;;;-1:-1:-1;8595:386:56;;;;;:::i;:::-;;:::i;9513:398::-;;;;;;;;;;-1:-1:-1;9513:398:56;;;;;:::i;:::-;;:::i;758:156:23:-;;;;;;;;;;-1:-1:-1;758:156:23;;;;;:::i;:::-;;:::i;:::-;;;8306:25:201;;;8294:2;8279:18;758:156:23;8128:209:201;13312:229:56;;;;;;:::i;:::-;;:::i;2651:288:23:-;;;;;;;;;;-1:-1:-1;2651:288:23;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7772:295::-;;;;;;;;;;-1:-1:-1;7772:295:23;;;;;:::i;:::-;;:::i;12557:279:56:-;;;;;;;;;;-1:-1:-1;12557:279:56;;;;;:::i;:::-;;:::i;2325:85::-;;;;;;;;;;-1:-1:-1;2392:13:56;2325:85;;13941:1727;;;;;;:::i;:::-;;:::i;4644:265:23:-;;;;;;;;;;-1:-1:-1;4644:265:23;;;;;:::i;:::-;;:::i;6514:258::-;;;;;;;;;;-1:-1:-1;6514:258:23;;;;;:::i;:::-;;:::i;5962:216::-;;;;;;;;;;-1:-1:-1;5962:216:23;;;;;:::i;:::-;;:::i;3746:193:56:-;;;;;;;;;;-1:-1:-1;3746:193:56;;;;;:::i;:::-;;:::i;6152:364::-;;;;;;;;;;-1:-1:-1;6152:364:56;;;;;:::i;:::-;;:::i;7040:474::-;;;;;;;;;;-1:-1:-1;7040:474:56;;;;;:::i;:::-;;:::i;2995:530::-;;;;;;;;;;-1:-1:-1;2995:530:56;;;;;:::i;:::-;;:::i;1953:246:23:-;;;;;;;;;;-1:-1:-1;1953:246:23;;;;;:::i;:::-;;:::i;3418:216::-;;;;;;;;;;-1:-1:-1;3418:216:23;;;;;:::i;:::-;;:::i;1433:143::-;;;;;;;;;;-1:-1:-1;1433:143:23;;;;;:::i;:::-;;:::i;11867:399:56:-;;;;;;;;;;-1:-1:-1;11867:399:56;;;;;:::i;:::-;;:::i;1101:151:23:-;;;;;;;;;;-1:-1:-1;1101:151:23;;;;;:::i;:::-;;:::i;10277:372:56:-;;;;;;;;;;-1:-1:-1;10277:372:56;;;;;:::i;:::-;;:::i;4482:308:67:-;4595:16;;;4609:1;4595:16;;;;;;;;;4543:15;;;;4595:16;;;;;;;;;;;;-1:-1:-1;4595:16:67;4566:45;;4650:11;4617:9;4627:1;4617:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:71;;;-1:-1:-1;;;1253:71:67;;;197:92:201;;;;-1:-1:-1;;;305:11:201;;;298:100;1304:19:67;414:12:201;;;407:101;4669:13:67;;4685:62;;524:12:201;1253:71:67;;;;;;;;;;;;;1245:80;;;:::i;:::-;4720:9;4731:1;1434:66;4685:24;:62::i;:::-;4669:78;4482:308;-1:-1:-1;;;;4482:308:67:o;5781:269::-;5880:16;;;5894:1;5880:16;;;;;;;;;5851:26;;5880:16;;;;;;;;;;;-1:-1:-1;5880:16:67;5851:45;;5935:11;5902:9;5912:1;5902:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:71;;;-1:-1:-1;;;1253:71:67;;;197:92:201;-1:-1:-1;;;305:11:201;;;298:100;1304:19:67;414:12:201;;;407:101;1253:71:67;;;;;;;;;;524:12:201;;1253:71:67;;5954:91;;1245:80;;;:::i;:::-;5989:9;6000:1;6021:7;6003:27;;;;;;19368:19:201;;19412:2;19403:12;;19239:182;6003:27:67;;;;-1:-1:-1;;6003:27:67;;;;;;;;;1434:66;5954:24;:91::i;:::-;5845:205;5781:269;;:::o;6970:451:68:-;7119:16;;;7133:1;7119:16;;;;;;;;;7032:19;;;;;;7119:16;;;;;;;;;;;-1:-1:-1;7119:16:68;7090:45;;7164:16;7156:25;;;7141:9;7151:1;7141:12;;;;;;;;:::i;:::-;;;;;;;;;;;:40;;;;1253:79;;;-1:-1:-1;;;1253:79:68;;;197:92:201;-1:-1:-1;;;305:11:201;;;298:100;1304:27:68;414:12:201;;;407:101;1253:79:68;;;;;;;;;;524:12:201;;1253:79:68;;-1:-1:-1;;;;;;7275:78:68;;1245:88;;;:::i;:::-;7318:9;1451:66;7275:19;:78::i;:::-;7188:165;;;;;;7366:50;7373:11;7386:15;7403:12;7366:6;:50::i;:::-;7359:57;;;;;;;;6970:451;;;:::o;5160:492:2:-;5341:28;;;5356:4;5341:28;5335:35;;5444:9;5433:21;5500:20;;5558:43;;5349:5;5160:492;;;;;;:::o;5330:401:54:-;5474:17;5500:12;5514:23;5541:115;5571:6;5615:8;5641;5592:5;5541:13;:115::i;:::-;5499:157;;;;5667:7;5662:41;;5676:27;5692:10;5676:15;:27::i;:::-;5716:10;5330:401;-1:-1:-1;;;;;;5330:401:54:o;3989:258:23:-;4148:17;4180:62;4199:7;4208:8;;4180:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4218:10:23;;-1:-1:-1;4230:11:23;;-1:-1:-1;4180:18:23;;-1:-1:-1;4180:62:23:i;7842:344:56:-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;8050:48:::1;8078:7;8087:10;8050:27;:48::i;:::-;8126:55;8145:7;8154:8;;8126:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;8126:55:56::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;8164:10;;-1:-1:-1;8126:55:56;-1:-1:-1;8176:4:56;;;;;;8126:55;::::1;8176:4:::0;;;;8126:55;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;8126:18:56::1;::::0;-1:-1:-1;;;8126:55:56:i:1;:::-;7842:344:::0;;;;;;:::o;11034:394::-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;11265:48:::1;11293:7;11302:10;11265:27;:48::i;:::-;11345:78;11374:7;11383:8;;11345:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;11345:78:56::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11393:17;;-1:-1:-1;11345:78:56;-1:-1:-1;11412:10:56;;;;;;11345:78;::::1;11412:10:::0;;;;11345:78;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;11345:28:56::1;::::0;-1:-1:-1;;;11345:78:56:i:1;5256:244:23:-:0;5400:17;5432:63;5458:7;5467:8;;5432:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5477:17:23;;-1:-1:-1;5432:25:23;;-1:-1:-1;;5432:63:23:i;:::-;5425:70;5256:244;-1:-1:-1;;;;;5256:244:23:o;5359:424:56:-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;5622:48:::1;5650:7;5659:10;5622:27;:48::i;:::-;5699:79;5719:7;5728:8;;5699:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;5699:79:56::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;5738:10:56;;-1:-1:-1;5738:10:56;;;;5699:79;::::1;5738:10:::0;;;;5699:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;;5699:79:56::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;5750:14;;-1:-1:-1;5699:79:56;-1:-1:-1;5766:11:56;;;;;;5699:79;::::1;5766:11:::0;;;;5699:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;5699:19:56::1;::::0;-1:-1:-1;;;5699:79:56:i:1;:::-;5359:424:::0;;;;;;;;:::o;8595:386::-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;8832:48:::1;8860:7;8869:10;8832:27;:48::i;:::-;8908:68;8927:7;8936:8;;8908:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;8908:68:56::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;8946:10;;-1:-1:-1;8908:68:56;-1:-1:-1;8958:4:56;;;;;;8908:68;::::1;8958:4:::0;;;;8908:68;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;8964:11:56;;-1:-1:-1;8908:18:56::1;::::0;-1:-1:-1;;8908:68:56:i:1;:::-;8595:386:::0;;;;;;;:::o;9513:398::-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;9756:48:::1;9784:7;9793:10;9756:27;:48::i;:::-;9832:74;9857:7;9866:8;;9832:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;9832:74:56::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;9876:10;;-1:-1:-1;9832:74:56;-1:-1:-1;9888:4:56;;;;;;9832:74;::::1;9888:4:::0;;;;9832:74;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;9894:11:56;;-1:-1:-1;9832:24:56::1;::::0;-1:-1:-1;;9832:74:56:i:1;758:156:23:-:0;831:23;876:33;901:7;876:24;:33::i;:::-;862:47;758:156;-1:-1:-1;;758:156:23:o;13312:229:56:-;13434:12;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;13461:75:::1;13494:10;13506:8;13516;13526:9;13461:32;:75::i;2651:288:23:-:0;2789:23;2814:28;2844:24;2883:51;2903:7;2912:8;;2883:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2922:11:23;;-1:-1:-1;2883:19:23;;-1:-1:-1;;2883:51:23:i;:::-;2876:58;;;;;;2651:288;;;;;;;;:::o;7772:295::-;7955:12;7982:80;8013:7;8022:8;8032:17;8051:5;8058:3;7982:30;:80::i;12557:279:56:-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;12710:48:::1;12738:7;12747:10;12710:27;:48::i;:::-;12790:41;12813:7;12822:8;;12790:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12790:22:56::1;::::0;-1:-1:-1;;;12790:41:56:i:1;13941:1727::-:0;14090:12;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;14191:10:::1;-1:-1:-1::0;;;;;14178:23:56;::::1;::::0;14174:126:::1;;14218:75;14251:10;14263:8;14273;14283:9;14218:32;:75::i;:::-;14211:82;;;;14174:126;14421:33;14457:75;14497:9;14519:10;14457:26;:75::i;:::-;14421:111;;14543:84;14561:22;14585:9;14596:10;14608:8;14618;14543:17;:84::i;:::-;14539:227;;;14685:74;14718:9;14729:8;14739;14749:9;14685:32;:74::i;:::-;14678:81;;;;;14539:227;14840:35;14878:75;14918:9;14948:1;14878:26;:75::i;:::-;14840:113;;14963:86;14981:24;15007:9;15018:10;15030:8;15040;14963:17;:86::i;:::-;14959:229;;;15107:74;15140:9;15151:8;15161;15171:9;15107:32;:74::i;:::-;15100:81;;;;;;14959:229;15262:40;15305:58;-1:-1:-1::0;;;606:36:58;2848:46;;2847:74;15305:31:56::1;:58::i;:::-;15262:101;;15373:91;15391:29;15422:9;15433:10;15445:8;15455;15373:17;:91::i;:::-;15369:234;;;15522:74;15555:9;15566:8;15576;15586:9;15522:32;:74::i;:::-;15515:81;;;;;;;15369:234;15616:47;::::0;::::1;::::0;;-1:-1:-1;;;;;19679:15:201;;15616:47:56::1;::::0;::::1;19661:34:201::0;15652:10:56::1;19711:18:201::0;;;19704:43;19573:18;;15616:47:56::1;19426:327:201::0;4644:265:23;4809:12;4836:68;4861:7;4870:8;;4836:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4880:10:23;;-1:-1:-1;4892:11:23;;-1:-1:-1;4836:24:23;;-1:-1:-1;4836:68:23:i;6514:258::-;6677:7;6699:68;6724:7;6733:8;6743:10;6755:11;6699:24;:68::i;5962:216::-;6096:7;6118:55;6143:7;6152:8;6162:10;6118:24;:55::i;3746:193:56:-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;625:63:78::1;::::0;;-1:-1:-1;;;625:63:78::1;::::0;::::1;197:92:201::0;662:14:78::1;305:11:201::0;;;298:100;;;414:12;;;407:101;3839:57:56::1;::::0;524:12:201;625:63:78::1;;;;;;;;;;;;617:72;;;:::i;:::-;3885:10:56;3839:26;:57::i;:::-;3902:32;3921:6;3929:4;3902:18;:32::i;:::-;3746:193:::0;;:::o;6152:364::-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;6368:48:::1;6396:7;6405:10;6368:27;:48::i;:::-;6453:58;6480:7;6489:8;;6453:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6453:58:56::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;6499:5;;-1:-1:-1;6453:58:56;-1:-1:-1;6506:4:56;;;;;;6453:58;::::1;6506:4:::0;;;;6453:58;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6453:26:56::1;::::0;-1:-1:-1;;;6453:58:56:i:1;7040:474::-:0;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;7321:48:::1;7349:7;7358:10;7321:27;:48::i;:::-;7407:102;7435:7;7444:8;;7407:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;7407:102:56::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;7454:17;;-1:-1:-1;7473:16:56;;-1:-1:-1;7491:11:56;;7504:4;;;;;;7407:102;::::1;7504:4:::0;;;;7407:102;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;7407:27:56::1;::::0;-1:-1:-1;;;7407:102:56:i:1;2995:530::-:0;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;3133:10:::1;-1:-1:-1::0;;;;;3147:7:56::1;3133:21;;3129:109;;625:63:78;::::0;;-1:-1:-1;;;625:63:78::1;::::0;::::1;197:92:201::0;662:14:78::1;305:11:201::0;;;298:100;;;414:12;;;407:101;3190:28:56::1;::::0;524:12:201;625:63:78::1;;;;;;;;;;;;617:72;;;:::i;:::-;3190:26:56;:28::i;:::-;3220:10;3171:60;;;;;;;;;;;;:::i;3129:109::-;3360:1;3294:54;366:15:81;3334:13:56;3294:21;:54::i;:::-;-1:-1:-1::0;;;;;3294:68:56::1;;3290:122;;3379:26;;;;;;;;;;;;;;3290:122;3507:12;::::0;;3517:1:::1;3507:12:::0;;::::1;::::0;::::1;::::0;;;3476:44:::1;::::0;3495:10;;3476:18:::1;:44::i;:::-;2995:530:::0;:::o;1953:246:23:-;2062:23;2087:28;2117:24;2156:38;2176:7;2185:8;;2156:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2156:19:23;;-1:-1:-1;;;2156:38:23:i;:::-;2149:45;;;;;;1953:246;;;;;;;:::o;3418:216::-;3548:17;3580:49;3599:7;3608:8;;3580:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3618:10:23;;-1:-1:-1;3580:18:23;;-1:-1:-1;;3580:49:23:i;1433:143::-;1504:16;1540:31;1563:7;1540:22;:31::i;11867:399:56:-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;12097:48:::1;12125:7;12134:10;12097:27;:48::i;:::-;12177:84;12207:7;12216:8;;12177:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12226:17:56;;-1:-1:-1;12245:15:56;;-1:-1:-1;12177:29:56::1;::::0;-1:-1:-1;12177:84:56:i:1;:::-;11867:399:::0;;;;;:::o;1101:151:23:-;1174:18;1214:33;1239:7;1214:24;:33::i;10277:372:56:-;2692:4;2670:10;:27;2666:88;;2714:33;;-1:-1:-1;;;2714:33:56;;-1:-1:-1;;;;;;2739:7:56;;;2714:33;;;1372:98:201;1345:18;;2714:33:56;1228:248:201;2666:88:56;10499:48:::1;10527:7;10536:10;10499:27;:48::i;:::-;10575:69;10601:7;10610:8;;10575:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;10575:69:56::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;10620:17;;-1:-1:-1;10575:69:56;-1:-1:-1;10639:4:56;;;;;;10575:69;::::1;10639:4:::0;;;;10575:69;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;10575:25:56::1;::::0;-1:-1:-1;;;10575:69:56:i:1;35212:541:20:-:0;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;22277:355::-;22449:178;22483:7;22508:8;22538:63;22577:11;22590:10;22538:38;:63::i;:::-;22616:4;22449:16;:178::i;31801:1314::-;31931:23;31956:28;31986:24;32052:20;32075:30;:11;:28;:30::i;:::-;32052:53;;32166:65;32199:7;32208:8;32218:12;32166:32;:65::i;:::-;32153:78;;32295:24;32322:30;:11;:28;:30::i;:::-;32295:57;-1:-1:-1;32362:20:20;;32358:753;;32455:66;32503:7;32512:8;32455:47;:66::i;:::-;32438:83;-1:-1:-1;6126:59:15;;;32573:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32573:33:20;-1:-1:-1;32559:47:20;-1:-1:-1;826:4:14;816:15;;32614:21:20;32678:427;32696:16;32692:1;:20;;;32678:427;;;32729:27;32759:63;32801:7;32810:8;32820:1;32759:41;:63::i;:::-;32729:93;-1:-1:-1;32832:14:20;32849:25;:14;32872:1;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;32849:25:20;32832:42;;32884:110;32915:19;32944:6;32960:1;32978:13;32884:12;:110::i;:::-;33073:23;33090:6;33073:23;;:::i;:::-;;;32719:386;;32714:3;;;;;:::i;:::-;;;;32678:427;;;;32384:727;32358:753;32012:1103;;31801:1314;;;;;;;:::o;8962:235:68:-;9072:19;9093:29;9167:25;9180:11;9167:12;:25::i;:::-;9130:62;;;;-1:-1:-1;8962:235:68;-1:-1:-1;;;;8962:235:68:o;3854:1003:54:-;3990:12;4004:17;4053:22;4078:26;4095:8;4078:16;:26::i;:::-;4053:51;;4181:9;4176:228;4196:5;:12;4192:1;:16;4176:228;;;4223:9;4245:5;4251:1;4245:8;;;;;;;;:::i;:::-;;;;;;;4223:31;;4266:34;392:6:91;4266:4:54;:14;;;;;:34;;;;:::i;:::-;4262:136;;;4312:77;;;;;3392:35:4;;;;;4312:49:54;;:77;;4362:6;;4370:8;;4380;;4312:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4262:136;-1:-1:-1;4210:3:54;;;;:::i;:::-;;;;4176:228;;;;4479:78;4494:6;4509:5;4526:8;4546;4479:4;:78::i;:::-;4461:96;;-1:-1:-1;4461:96:54;-1:-1:-1;4632:9:54;4627:226;4647:5;:12;4643:1;:16;4627:226;;;4674:9;4696:5;4702:1;4696:8;;;;;;;;:::i;:::-;;;;;;;4674:31;;4717:33;520:6:91;4717:4:54;:14;;;;;:33;;;;:::i;:::-;4713:134;;;4762:76;;;;;3392:35:4;;;;;4762:48:54;;:76;;4811:6;;4819:8;;4829;;4762:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4713:134;-1:-1:-1;4661:3:54;;;;:::i;:::-;;;;4627:226;;;;4023:834;3854:1003;;;;;;;:::o;501:217:90:-;704:6;698:13;691:4;683:6;679:17;672:40;34165:440:20;34316:12;34353:29;:11;:27;:29::i;:::-;34340:10;:42;;;34336:265;;;34399:82;34438:7;34447:8;34457:10;34469:11;34399:38;:82::i;:::-;34392:89;;;;34336:265;34509:85;34525:7;34534:8;34563:29;:11;:27;:29::i;:::-;34544:49;;:10;:49;:::i;:::-;34509:15;:85::i;1395:281:42:-;1557:29;1567:10;1579:6;1557:9;:29::i;:::-;1552:120;;1635:21;:10;:19;:21::i;:::-;1658:6;1603:62;;;;;;;;;;;;:::i;20119:192:20:-;20236:70;20245:7;20254:8;20264:10;20276:4;20282:23;20297:7;20282:14;:23::i;:::-;20236:8;:70::i;:::-;20119:192;;;;:::o;27809:790::-;28068:36;28107:66;28155:7;28164:8;28107:47;:66::i;:::-;28068:105;-1:-1:-1;28179:26:20;28215:49;28068:105;28246:17;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;28215:49:20;28179:86;;28303:291;28357:7;28382:8;28417:17;28467:19;28508:1;28523:10;28565:22;28303:36;:291::i;36221:522::-;36357:12;36481:257;36520:79;36562:7;36571:8;36581:17;36520:41;:79::i;:::-;36617:93;36692:17;36617:66;36665:7;36674:8;36617:47;:66::i;:::-;:74;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;36617:93:20;36728:1;36481:12;:257::i;11576:285::-;11762:94;11772:7;11781:8;11791:10;11803:14;11819:11;11832:23;11847:7;11832:14;:23::i;:::-;11762:9;:94::i;21210:409::-;21393:29;:11;:27;:29::i;:::-;21380:10;:42;;;21376:239;;;21432:64;21447:7;21456:8;21466:10;21478:4;21484:11;21432:14;:64::i;:::-;21376:239;;;21517:91;21533:7;21542:8;21571:29;:11;:27;:29::i;:::-;21552:49;;:10;:49;:::i;:::-;21603:4;21517:15;:91::i;4858:651::-;1147:69:29;;;-1:-1:-1;;;1147:69:29;;;197:92:201;-1:-1:-1;;;305:11:201;;;298:100;-1:-1:-1;;;414:12:201;;;407:101;4925:11:20;;524: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;;;197:92:201;-1:-1:-1;;;305:11:201;;;298:100;-1:-1:-1;;;414:12:201;;;407:101;5313:183:20;;5359:83;;524:12:201;1147:69:29;;;;;;;;;;;;1139:78;;;:::i;:::-;5433:7:20;5359:40;:83::i;:::-;5462:2;5484:1;5313:17;:183::i;39944:995::-;40121:12;40345:28;40376:66;40424:7;40433:8;40376:47;:66::i;:::-;40345:97;-1:-1:-1;40448:19:20;40470:41;40345:97;40493:17;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;40470:41:20;40448:63;;40530:11;40521:5;:20;;:41;;;;40551:11;40545:3;:17;40521:41;40517:157;;;40615:11;40637;40628:5;:20;;:38;;40659:7;40665:1;40659:3;:7;:::i;:::-;40628:38;;;40651:5;40628:38;40579:88;;;;;;;;21389:25:201;;;;21430:18;;;21423:34;21362:18;;40579:88:20;21215:248:201;40517:157:20;40744:16;40763:79;40805:7;40814:8;40824:17;40763:41;:79::i;:::-;40744:98;-1:-1:-1;40856:78:20;40744:98;40905:11;40911:5;40905:3;:11;:::i;:::-;40926:5;40856:12;:78::i;:::-;40849:85;39944:995;-1:-1:-1;;;;;;;;;39944:995:20:o;24721:145::-;24805:56;24818:7;24827:8;24837:23;24852:7;24837:14;:23::i;:::-;24805:12;:56::i;4987:406:77:-;5129:16;;;5143:1;5129:16;;;;;;;;5062:30;;;;5129:16;5143:1;5129:16;;;;;;;;;;-1:-1:-1;5129:16:77;5100:45;;5190:9;-1:-1:-1;;;;;5174:27:77;5166:36;;5151:9;5161:1;5151:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;5247:9;-1:-1:-1;;;;;5231:27:77;5223:36;;5208:9;5218:1;5208:12;;;;;;;;:::i;:::-;;;;;;;;;;;:51;;;;1253:79;;;-1:-1:-1;;;1253:79:77;;;197:92:201;;;;-1:-1:-1;;;305:11:201;;;298:100;1304:27:77;414:12:201;;;407:101;5266:13:77;;5282:62;;524:12:201;1253:79:77;14:528:201;2128:811:43;2300:4;2372:32;2384:19;2372:11;:32::i;:::-;2368:49;;;-1:-1:-1;2413:4:43;2406:11;;2368:49;744:53;2476:46;;-1:-1:-1;2517:5:43;2510:12;;2476:46;2636:12;2650:17;2671:193;2703:9;2856:1;2730:19;2810:9;2821:8;2831;2767:74;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2767:74:43;;;;;;;;;;;;;;;;;;;;2671:15;:193::i;:::-;2635:229;;;;2876:7;2871:26;;2892:5;2885:12;;;;;;2871:26;2921:4;2910:24;;;;;;;;;;;;:::i;:::-;2903:31;2128:811;-1:-1:-1;;;;;;;;2128:811:43:o;4673:329:71:-;4801:16;;;4815:1;4801:16;;;;;;;;;4734:30;;;;4801:16;;;;;;;;;;;;-1:-1:-1;4801:16:71;4772:45;;4856:11;4823:9;4833:1;4823:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:79;;;-1:-1:-1;;;1253:79:71;;;197:92:201;;;;-1:-1:-1;;;305:11:201;;;298:100;1304:27:71;414:12:201;;;407:101;4875:13:71;;4891:62;;524:12:201;1253:79:71;14:528:201;38007:427:20;38164:7;38179:21;38209:29;:11;:27;:29::i;:::-;38179:60;;38262:15;38249:28;;:10;:28;;;38245:185;;;38294:31;;;;4044:19:3;:27;537:1:30;4043:44:3;4009:79;;;3996:93;38294:31:20;38287:38;;;;;38245:185;38353:70;38375:7;38384:8;38394:28;38407:15;38394:10;:28;:::i;:::-;38353:21;:70::i;37360:225::-;37488:7;37510:70;37525:7;37534:8;37544:10;37556:23;37571:7;37556:14;:23::i;:::-;37510:14;:70::i;1989:233:42:-;-1:-1:-1;;;;;2074:58:42;;:48;-1:-1:-1;;;606:36:58;2848:46;;2847:74;2074:19:42;:48::i;:::-;-1:-1:-1;;;;;2074:58:42;;2070:148;;2181:21;:10;:19;:21::i;4108:555:56:-;4257:54;4282:6;360:110:47;4257:16:56;:54::i;:::-;4318:203;4393:10;4421:1;4446:6;4508:4;4471:43;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4471:43:56;;;;;;;;;;;;;;;;;;;;4318:55;:203::i;:::-;;4585:73;4607:6;-1:-1:-1;;;;;4607:14:56;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4625:15;;;;;;4650:6;4585:21;:73::i;16359:1506:20:-;16480:16;16499:59;16540:7;16549:8;16499:40;:59::i;:::-;16480:78;;16660:7;16616:100;16679:8;16696:5;16709:4;16616:100;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;16781:7:20;:35;;;16777:62;;16826:7;;;16777:62;16984:22;17009:24;17025:7;17009:15;:24::i;:::-;16984:49;;17044:9;17039:328;17059:5;:12;17055:1;:16;17039:328;;;17086:9;17108:5;17114:1;17108:8;;;;;;;;:::i;:::-;;;;;;;17086:31;;17129:41;548:6:32;17129:4:20;:14;;;;;:41;;;;:::i;:::-;17125:236;;;17182:170;;;;;3392:35:4;;;;;17182:54:20;;:170;;17258:7;;17287:8;;17314:5;;17337:4;;17182:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17125:236;-1:-1:-1;17073:3:20;;;;:::i;:::-;;;;17039:328;;;;17416:70;17448:8;17466:5;17416:70;;17479:4;17416:13;:70::i;:::-;17540:9;17535:326;17555:5;:12;17551:1;:16;17535:326;;;17582:9;17604:5;17610:1;17604:8;;;;;;;;:::i;:::-;;;;;;;17582:31;;17625:40;657:6:32;17625:4:20;:14;;;;;:40;;;;:::i;:::-;17621:234;;;17677:169;;;;;3392:35:4;;;;;17677:53:20;;:169;;17752:7;;17781:8;;17808:5;;17831:4;;17677:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17621:234;-1:-1:-1;17569:3:20;;;;:::i;:::-;;;;17535:326;;18764:539;18970:328;19024:7;19049:8;19084:17;19127:16;19164:11;19189:4;19225:66;19273:7;19282:8;19225:47;:66::i;:::-;18970:36;:328::i;3379:541:58:-;3443:13;3513:10;336:5:16;2530:44:58;;;3464:19;3611;3513:10;3611:7;:19::i;:::-;3588:42;-1:-1:-1;3693:12:58;3732:35;;;;:79;;;;;;;;486:25;3732:79;3838:25;;;;:59;;3885:12;3838:59;;;549:20;3838:59;3665:242;;24077:66:201;24065:79;;;3665:242:58;;;24053:92:201;24164:3;24183:11;;;24176:23;;;24218:66;24313:15;;;24300:11;;;24293:36;24345:12;;;24338:24;24392:15;24378:12;;;24371:37;24424:12;;3665:242:58;;;;;;;;;;;;3636:279;;;;;3379:541;;;:::o;4677:356:70:-;4815:16;;;4829:1;4815:16;;;;;;;;4757:21;;;;4815:16;4829:1;4815:16;;;;;;;;;;-1:-1:-1;4815:16:70;4786:45;;4860:10;4852:19;;;4837:9;4847:1;4837:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;4892:13;4877:9;4887:1;4877:12;;;;;;;;:::i;:::-;;;;;;;;;;;:28;;;;1164:79;;;-1:-1:-1;;;1164:79:70;;;197:92:201;;;;-1:-1:-1;;;305:11:201;;;298:100;1215:27:70;414:12:201;;;407:101;4912:13:70;;4928:62;;524:12:201;1164:79:70;;;;;;;;;;;;;1156:88;;;:::i;:::-;4963:9;4974:1;1361:66;4928:24;:62::i;:::-;5004:23;;;4677:356;-1:-1:-1;;;;;4677:356:70:o;31001:253:20:-;31102:23;31127:28;31157:24;31196:53;31206:7;31215:8;31225:23;31240:7;31225:14;:23::i;:::-;31196:9;:53::i;:::-;31189:60;;;;;;31001:253;;;;;:::o;33544:218::-;33666:12;33693:64;33702:7;33711:8;33721:10;33733:23;33748:7;33733:14;:23::i;:::-;33693:8;:64::i;5769:379::-;5834:16;5870:29;5891:7;5870:20;:29::i;:::-;5858:41;;6013:31;6036:7;6013:22;:31::i;:::-;6008:136;;6094:7;6127;6110:25;;;;;;19368:19:201;;19412:2;19403:12;;19239:182;6110:25:20;;;;-1:-1:-1;;6110:25:20;;;;;;;;;;6061:76;;;;;;;;;:::i;6008:136::-;5769:379;;;:::o;29279:833::-;29539:36;29578:66;29626:7;29635:8;29578:47;:66::i;:::-;29539:105;-1:-1:-1;29650:26:20;29686:49;29539:105;29717:17;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;29686:49:20;29650:86;-1:-1:-1;29774:333:20;29828:7;29853:8;29888:17;29938:37;29960:15;29938:37;;;;:::i;:::-;30034:12;;;30044:1;30034:12;;;;;;;;30004:15;;30078:22;29774:36;:333::i;6416:273::-;6483:18;6523:31;6546:7;6523:22;:31::i;:::-;6509:45;-1:-1:-1;5479:35:17;6560:125:20;;6635:7;6668;6651:25;;;;;;19368:19:201;;19412:2;19403:12;;19239:182;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;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;;;-1:-1:-1;50867:6:20;50636:242;-1:-1:-1;;;50636:242:20:o;8796:790:19:-;8894:14;8930:2;8920:6;:12;8916:112;;8989:2;8980:6;:11;8962:29;;;;9011:2;9001:12;;;;;;:::i;:::-;;;;8916:112;-1:-1:-1;9208:21:19;;9204:1;9192:14;;9188:42;9356:2;:11;;;9438:22;;;9434:148;;;9563:1;9547:14;9543:22;9537:29;9533:1;9518:13;9514:21;9510:57;9502:6;9499:69;9489:79;;8910:676;8796:790;;;;;:::o;4319:171:3:-;4393:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4415:70:3;;;;;4319:171;-1:-1:-1;4319:171:3:o;47636:360:20:-;47762:12;47786:6;47796:1;47786:11;47782:26;;-1:-1:-1;47799:9:20;;;;;;;;;-1:-1:-1;47799:9:20;;;;47782:26;47849:16;47868:41;47891:7;47900:8;47868:22;:41::i;:::-;47849:60;;47922:69;47953:8;47971:6;47987:1;47922:12;:69::i;5098:173:3:-;5172:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5208:11:3;5187:79;5200:65;;5187:79;;5098:173;-1:-1:-1;;5098:173:3:o;52752:301:20:-;52873:13;52965:82;52996:48;53026:7;53035:8;52996:29;:48::i;:::-;4572:21:19;;4466:137;51555:274:20;51699:7;51804;51813:8;51787:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;51777:46;;;;;;51756:17;51749:25;;51729:45;;;41298:34;51729:45;:94;51721:103;;51714:110;;51555:274;;;;;:::o;5933:2374:19:-;6050:10;;6046:1537;;6203:2;6193:6;:12;6189:122;;6266:2;6257:6;:11;6239:29;;;;6290:2;6280:12;;;;;;:::i;:::-;;;;6189:122;6401:10;;6397:1180;;6609:2;:11;;;6483:21;6667:22;;;6663:133;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;6979:14;6973:21;6969:1;6961:6;6957:14;6953:42;7226:4;7222:9;7206:13;7200:20;7196:36;7127:4;7115:10;7111:21;7054:192;7027:13;7007:251;;7317:13;7307:6;:23;7303:36;;7332:7;;;;7303:36;-1:-1:-1;7480:1:19;7462:19;;;;;7535:23;;;;;7493:30;6397:1180;7612:253;7629:2;7619:6;:12;7612:253;;7723:21;;7701:44;;7798:1;7780:19;;;;-1:-1:-1;;7838:12:19;;;;7826:2;7809:19;7612:253;;;7933:10;;7929:374;;7953:12;-1:-1:-1;;1080:1:31;1067:14;;1045:37;1043:40;8235:20:19;;8150:21;;8146:32;;8257:9;;8231:36;8095:184;8052:237;;-1:-1:-1;5933:2374:19;;;;:::o;8568:236:68:-;27309:4:2;27295:27;;27289:34;27295:27;;;27289:34;8633:19:68;;8775:23;8749:50;;8568:236;;;:::o;4588:344:74:-;4705:16;;;4719:1;4705:16;;;;;;;;;4646:22;;4676:26;;4705:16;;;;;;;;;;;;-1:-1:-1;4705:16:74;4676:45;;4760:8;4727:9;4737:1;4727:12;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;1253:74;;;-1:-1:-1;;;1253:74:74;;;197:92:201;;;;-1:-1:-1;;;305:11:201;;;298:100;1304:22:74;414:12:201;;;407:101;4776:18:74;;4797:49;;524:12:201;1253:74:74;;;;;;;;;;;;;1245:83;;;:::i;:::-;4833:9;4844:1;4797:25;:49::i;:::-;4776:70;;4860:66;:44;4881:5;4888:1;4891:5;:12;4860:20;:44::i;:::-;: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;1833:1386:54:-;1960:12;1974:17;2028:21;2051:17;2072:22;2085:8;2072:12;:22::i;:::-;2027:67;;-1:-1:-1;2027:67:54;-1:-1:-1;;;;;;2139:27:54;;2135:106;;2211:8;2221:19;:8;:17;:19::i;:::-;2175:66;;;;;;;;;;;;:::i;2135:106::-;2347:12;2342:64;;2361:45;2389:8;2399:6;2361:27;:45::i;:::-;2485:9;;2481:197;;606:36:58;2848:46;;-1:-1:-1;;;2847:74:58;2504:22:54;2587:26;2847:74:58;2587:13:54;:26::i;:::-;2562:51;-1:-1:-1;2621:50:54;2635:11;2648:22;2665:5;2562:51;2648:22;:::i;2621:50::-;2496:182;;2481:197;2780:14;2753:23;:8;336:5:16;2530:44:58;;2432:148;2753:23:54;:41;;;:461;;3054:160;3115:6;3141:5;3164:13;3197:8;3054:39;:160::i;:::-;2753:461;;;2877:168;2946:6;2972:5;2995:13;3028:8;2877:47;:168::i;:::-;2735:479;;;;-1:-1:-1;1833:1386:54;-1:-1:-1;;;;;;;1833:1386:54:o;4700:171:3:-;4773:7;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;48461:511:20:-;48624:12;48766:201;48805:41;48828:7;48837:8;48805:22;:41::i;:::-;48864:31;;;;4044:19:3;:27;537:1:30;4043:44:3;4009:79;;;3996:93;48913:45:20;48934:11;48947:10;48913:20;:45::i;:::-;48766:12;:201::i;804:327:42:-;885:4;1027:56;-1:-1:-1;;;606:36:58;2848:46;;2847:74;1076:6:42;1027:19;:56::i;:::-;:99;;;;1087:39;1107:10;1119:6;1087:19;:39::i;43119:3949:20:-;-1:-1:-1;;;43516:7:20;:35;;;43512:161;;-1:-1:-1;;;43623:7:20;43656;43639:25;;;;;;19368:19:201;;19412:2;19403:12;;19239: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;;;;;26850:12:201;26889:15;;;44204:92:20;;;26871:34:201;26941:15;;;26921:18;;;26914:43;26993:15;;26973:18;;;26966:43;26813:18;;44204:92:20;26644:371:201;44085:218:20;44409:19;44390:16;:38;;;44386:140;;;44445:74;;;;;;;;27193:25:201;;;27266:12;27254:25;;27234:18;;;27227:53;27166:18;;44445:74:20;27020: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;4903:665:19:-;5315:4;5309:11;5356:4;5344:17;;-1:-1:-1;;5234:14:19;5403:26;;;5234:14;5230:28;5375:4;5368:63;5475:6;5467;5460:22;5493:51;5498:14;5514:6;5522;5530:13;5493:4;:51::i;12721:3002:20:-;12994:7;12978:75;13003:8;13013:10;13025:14;13041:11;12978:75;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;13118:7:20;:35;;;13163:7;13114:62;13314:22;13339:24;13355:7;13339:15;:24::i;:::-;13314:49;;13374:9;13369:340;13389:5;:12;13385:1;:16;13369:340;;;13416:9;13438:5;13444:1;13438:8;;;;;;;;:::i;:::-;;;;;;;13416:31;;13459:33;343:6:32;13459:4:20;:14;;;;;:33;;;;:::i;:::-;13455:248;;;13504:190;;;;;3392:35:4;;;;;13504:47:20;;:190;;13563:7;;13582:8;;13602:10;;13624:14;;13650:11;;13673;;13504:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13455:248;-1:-1:-1;13403:3:20;;;;:::i;:::-;;;;13369:340;;;;13772:26;13801:59;13842:7;13851:8;13801:40;:59::i;:::-;13772:88;-1:-1:-1;13866:21:20;826:4:14;816:15;;13866:54:20;;13926:149;13964:18;13998:1;14022:13;14051:10;:17;13926:13;:149::i;:::-;14175:1;14142:30;:11;:28;:30::i;:::-;:34;14138:1174;;;14261:33;14297:66;14345:7;14354:8;14297:47;:66::i;:::-;579:28:19;;;14261:102:20;-1:-1:-1;826:4:14;816:15;;14537:47:20;;14693:27;14728:25;14766:7;14761:545;14779:30;:11;:28;:30::i;:::-;14775:1;:34;;;14761:545;;;14845:63;14887:7;14896:8;14906:1;14845:41;:63::i;:::-;14823:85;-1:-1:-1;14938:25:20;:14;14961:1;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;14938:25:20;14918:45;;14973:170;15015:19;15054:1;15082:13;15115:17;14973:13;:170::i;:::-;15153:34;15170:17;15153:34;;:::i;:::-;;-1:-1:-1;15284:3:20;;14761:545;;;;14178:1134;;;14138:1174;15386:9;15381:338;15401:5;:12;15397:1;:16;15381:338;;;15428:9;15450:5;15456:1;15450:8;;;;;;;;:::i;:::-;;;;;;;15428:31;;15471:32;437:6:32;15471:4:20;:14;;;;;:32;;;;:::i;:::-;15467:246;;;15515:189;;;;;3392:35:4;;;;;15515:46:20;;:189;;15573:7;;15592:8;;15612:10;;15634:14;;15660:11;;15683;;15515:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15467:246;-1:-1:-1;15415:3:20;;;;:::i;:::-;;;;15381:338;;;;12930:2793;;;12721:3002;;;;;;:::o;50062:282::-;50307:30;;;;;;30687:19:201;;;30722:12;;;30715:28;;;50150:7:20;;30759:12:201;;50307:30:20;30499:278:201;25465:1680:20;25635:7;25616:37;25644:8;25616:37;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;25718:7:20;:35;;;25714:62;;25465:1680;;;:::o;25714:62::-;25917:22;25942:24;25958:7;25942:15;:24::i;:::-;25917:49;;25977:9;25972:235;25992:5;:12;25988:1;:16;25972:235;;;26019:9;26041:5;26047:1;26041:8;;;;;;;;:::i;:::-;;;;;;;26019:31;;26062:36;983:6:32;26062:4:20;:14;;;;;:36;;;;:::i;:::-;26058:143;;;26110:82;;;;;3392:35:4;;;;;26110:50:20;;:82;;26161:7;;26170:8;;26180:11;;26110:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26058:143;-1:-1:-1;26006:3:20;;;;:::i;:::-;;;;25972:235;;;;26239:26;26268:59;26309:7;26318:8;26268:40;:59::i;:::-;26239:88;;26333:113;26365:18;26393:1;26412:30;:11;:28;:30::i;:::-;26402:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26402:41:20;;26333:13;:113::i;:::-;26665:1;26632:30;:11;:28;:30::i;:::-;:34;26628:236;;;26676:33;26712:66;26760:7;26769:8;26712:47;:66::i;:::-;26676:102;;26786:71;26817:25;26852:2;26786:12;:71::i;:::-;26668:196;26628:236;26913:9;26908:233;26928:5;:12;26924:1;:16;26908:233;;;26955:9;26977:5;26983:1;26977:8;;;;;;;;:::i;:::-;;;;;;;26955:31;;26998:35;1083:6:32;26998:4:20;:14;;;;;:35;;;;:::i;:::-;26994:141;;;27045:81;;;;;3392:35:4;;;;;27045:49:20;;:81;;27095:7;;27104:8;;27114:11;;27045:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26994:141;-1:-1:-1;26942:3:20;;;;:::i;:::-;;;;26908:233;;1063:181:43;764:71:78;;;781:15;764:71;;;197:92:201;1139:4:43;305:11:201;;;298:100;;;814:20:78;414:12:201;;;407:101;1139:4:43;524:12:201;764:71:78;;;;;;;;;;;;756:80;;;:::i;:::-;1158:81:43;;;;1063:181;-1:-1:-1;1063:181:43:o;38950:262:20:-;39092:7;39114:93;39189:17;39114:66;39162:7;39171:8;39114:47;:66::i;4480:306:72:-;4591:16;;;4605:1;4591:16;;;;;;;;;4541:13;;;;4591:16;;;;;;;;;;;;-1:-1:-1;4591:16:72;4562:45;;4646:11;4613:9;4623:1;4613:12;;;;;;;;:::i;:::-;;;;;;;;;;;:45;;;;1253:77;;;-1:-1:-1;;;1253:77:72;;;197:92:201;;;;-1:-1:-1;;;305:11:201;;;298:100;1304:25:72;414:12:201;;;407:101;4665:13:72;;4681:62;;524:12:201;1253:77:72;14:528:201;4681:62:72;4757:23;;;4480:306;-1:-1:-1;;;;4480:306:72:o;826:380:89:-;910:55;;;;;-1:-1:-1;;;;;;1390:79:201;;910:55:89;;;1372:98:201;-1:-1:-1;;;;;910:42:89;;;;;1345:18:201;;910:55:89;;;;;;;;;;;;;;;;;;-1:-1:-1;910:55:89;;;;;;;;-1:-1:-1;;910:55:89;;;;;;;;;;;;:::i;:::-;;;906:298;;1129:70;;;;;-1:-1:-1;;;;;31709:55:201;;1129:70:89;;;31691:74:201;-1:-1:-1;;;;;;31801:79:201;;31781:18;;;31774:107;31664:18;;1129:70:89;31519:368:201;906:298:89;1002:9;997:108;;1028:70;;;;;-1:-1:-1;;;;;31709:55:201;;1028:70:89;;;31691:74:201;-1:-1:-1;;;;;;31801:79:201;;31781:18;;;31774:107;31664:18;;1028:70:89;31519:368:201;7770:415:57;7925:17;7951:12;7965:18;7987:133;8030:9;8057:8;8081:6;8105:8;7987:23;:133::i;6222:323:70:-;6346:16;;;6360:1;6346:16;;;;;;;;6317:26;;6346:16;;;;;;;;;;-1:-1:-1;6346:16:70;6317:45;;6391:10;6383:19;;;6368:9;6378:1;6368:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;6423:13;6408:9;6418:1;6408:12;;;;;;;;:::i;:::-;;;;;;;;;;;:28;;;;1164:79;;;-1:-1:-1;;;1164:79:70;;;197:92:201;-1:-1:-1;;;305:11:201;;;298:100;1215:27:70;414:12:201;;;407:101;1164:79:70;;;;;;;;;;524:12:201;;1164:79:70;;6443:97;;1156:88;;;:::i;:::-;6492:33;;32054:66:201;32041:2;32037:15;;;32033:88;6492:33:70;;;32021:101:201;6478:9:70;;6489:1;;32138:12:201;;6492:33:70;;;-1:-1:-1;;6492:33:70;;;;;;;;;1361:66;6443:24;:97::i;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;;;197:92:201;;;;-1:-1:-1;;;305:11:201;;;298:100;1098:21:28;414:12:201;;;407:101;4558:18:28;;4579:49;;524:12:201;1047:73:28;14:528:201;850:162:19;939:68;945:14;961:6;826:4:14;816:15;;995:4:19;:11;939:5;:68::i;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;5573:312:29:-;5692:16;;;5706:1;5692:16;;;;;;;;;5639;;;;5692;;;;;;;;;;;;-1:-1:-1;5692:16:29;5663:45;;5747:7;5714:9;5724:1;5714:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1147:69;;;-1:-1:-1;;;1147:69:29;;;197:92:201;-1:-1:-1;;;305:11:201;;;298:100;-1:-1:-1;;;414:12:201;;;407:101;1147:69:29;;;;;;;;;;524:12:201;;1147:69:29;;-1:-1:-1;;5778:62:29;;1139:78;;;:::i;:::-;5813:9;5824:1;1324:66;5778:24;:62::i;3569:314:27:-;3683:16;;;3697:1;3683:16;;;;;;;;;3635:11;;;;3683:16;;;;;;;;;;;;-1:-1:-1;3683:16:27;3654:45;;3738:10;3705:9;3715:1;3705:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:27;;;197:92:201;;;;-1:-1:-1;;;305:11:201;;;298:100;1098:22:27;414:12:201;;;407:101;3756:13:27;;3772:62;;524:12:201;1047:74:27;;;;;;;;;;;;;1039:83;;;:::i;:::-;3807:9;3818:1;1234:66;3772:24;:62::i;:::-;3756:78;;3848:29;3869:5;3856:20;;1596:10:16;1487:126;6955:316:29;7078:16;;;7092:1;7078:16;;;;;;;;;7023:18;;;;7078:16;;;;;;;;;;;;-1:-1:-1;7078:16:29;7049:45;;7133:7;7100:9;7110:1;7100:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1147:69;;;-1:-1:-1;;;1147:69:29;;;197:92:201;-1:-1:-1;;;305:11:201;;;298:100;-1:-1:-1;;;414:12:201;;;407:101;1147:69:29;;;;;;;;;;524:12:201;;1147:69:29;;-1:-1:-1;;7164:62:29;;1139:78;;;:::i;:::-;7199:9;7210:1;1324:66;7164:24;:62::i;52184:230:20:-;52305:7;52389;52398:8;52372:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52372:35:20;;;;;;;;;52362:46;;52372:35;52362:46;;;;41389:40;52335:73;;52184:230;-1:-1:-1;;;52184:230:20:o;2022:570:18:-;2113:5;2211:3;2202:5;:12;;:34;;;;;2225:4;:11;2218:3;:18;;2202:34;2196:85;;2264:4;2270:5;2277:3;2246:35;;;;;;;;;;;;;:::i;2196:85::-;2349:4;2339:15;;2396:17;2408:5;2339:15;2396:17;:::i;:::-;;-1:-1:-1;2419:12:18;2434:11;2440:5;2434:3;:11;:::i;:::-;643:17;2570:15;2562:3;2550:15;;;;2549:37;;;;;;-1:-1:-1;;;;;2022:570:18:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;6683:432:76:-;6811:16;;;6825:1;6811:16;;;;;;;;;6741:14;;;;;;6811:16;;;;;;;;;;;-1:-1:-1;6811:16:76;6782:45;;6866:8;6833:9;6843:1;6833:12;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;1253:70;;;-1:-1:-1;;;1253:70:76;;;197:92:201;-1:-1:-1;;;305:11:201;;;298:100;1304:18:76;414:12:201;;;407:101;1253:70:76;;;;;;;;;;524:12:201;;1253:70:76;;-1:-1:-1;;;;;;6969:78:76;;1245:79;;;:::i;:::-;7012:9;1432:66;6969:19;:78::i;:::-;6882:165;;;;;;7060:50;7067:11;7080:15;7097:12;7060:6;:50::i;5311:317:57:-;5450:12;5464:17;5507:6;-1:-1:-1;;;;;5507:11:57;5527:1;5538:79;5564:8;5585:9;5606:8;5538:13;:79::i;:::-;5507:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5489:134:57;;;;-1:-1:-1;5311:317:57;-1:-1:-1;;;;;5311:317:57:o;6132:321::-;6279:12;6293:17;6336:6;-1:-1:-1;;;;;6336:19:57;6363:79;6389:8;6410:9;6431:8;6363:13;:79::i;:::-;6336:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4767:378:73;4891:16;;;4905:1;4891:16;;;;;;;;4843:11;;;;4891:16;4905:1;4891:16;;;;;;;;;;-1:-1:-1;4891:16:73;4862:45;;4946:10;4913:9;4923:1;4913:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5002:6;-1:-1:-1;;;;;4986:24:73;4978:33;;4963:9;4973:1;4963:12;;;;;;;;:::i;:::-;;;;;;;;;;;:48;;;;1253:77;;;-1:-1:-1;;;1253:77:73;;;197:92:201;;;;-1:-1:-1;;;305:11:201;;;298:100;1304:25:73;414:12:201;;;407:101;5018:13:73;;5034:62;;524:12:201;1253:77:73;14:528:201;5034:62:73;5018:78;;5110:29;5131:5;5118:20;;1596:10:16;1487:126;7139:1488:15;7265:13;933:16;7290:25;;7286:97;;;7332:44;;;;;;;;8306:25:201;;;8279:18;;7332:44:15;8128:209: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;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;3893:370::-;4015:13;4064:2;4049:11;:6;4058:2;4049:11;:::i;:::-;4048:18;;;;:::i;:::-;4031:35;;:14;:35;:::i;:::-;4015:51;;4072:187;4096:5;4079:14;:22;4072:187;;;4194:1;4178:14;4171:25;4243:1;4227:14;4223:22;4205:40;;4072:187;;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;8575:206:76:-;8685:14;8701:17;8751:25;8764:11;8751:12;:25::i;4614:201:57:-;4736:12;4780:8;4790:9;4801:8;4763:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4756:54;;4614:201;;;;;:::o;8200:217:76:-;27309:4:2;27295:27;;27289:34;27295:27;;;27289:34;8316:32:76;;;;;;8265:14;;8380:30;;8372:39;1487:126:16;547:357:201;665:12;;712:4;701:16;;;695:23;;665:12;730:16;;727:171;;;-1:-1:-1;;810:6:201;804:4;800:17;797:1;793:25;789:98;782:5;778:110;769:119;;727:171;;547:357;;;:::o;909:184::-;-1:-1:-1;;;958:1:201;951:88;1058:4;1055:1;1048:15;1082:4;1079:1;1072:15;1098:125;1163:9;;;1184:10;;;1181:36;;;1197:18;;:::i;1712:367::-;1775:8;1785:6;1839:3;1832:4;1824:6;1820:17;1816:27;1806:55;;1857:1;1854;1847:12;1806:55;-1:-1:-1;1880:20:201;;1923:18;1912:30;;1909:50;;;1955:1;1952;1945:12;1909:50;1992:4;1984:6;1980:17;1968:29;;2052:3;2045:4;2035:6;2032:1;2028:14;2020:6;2016:27;2012:38;2009:47;2006:67;;;2069:1;2066;2059:12;2006:67;1712:367;;;;;:::o;2084:156::-;2150:20;;2210:4;2199:16;;2189:27;;2179:55;;2230:1;2227;2220:12;2245:707;2419:6;2427;2435;2443;2451;2504:3;2492:9;2483:7;2479:23;2475:33;2472:53;;;2521:1;2518;2511:12;2472:53;2557:9;2544:23;2534:33;;2618:2;2607:9;2603:18;2590:32;2645:18;2637:6;2634:30;2631:50;;;2677:1;2674;2667:12;2631:50;2716:70;2778:7;2769:6;2758:9;2754:22;2716:70;:::i;:::-;2805:8;;-1:-1:-1;2690:96:201;-1:-1:-1;2859:36:201;;-1:-1:-1;2891:2:201;2876:18;;2859:36;:::i;:::-;2245:707;;;;-1:-1:-1;2245:707:201;;2942:2;2927:18;2914:32;;2245:707;-1:-1:-1;;2245:707:201:o;2957:250::-;3042:1;3052:113;3066:6;3063:1;3060:13;3052:113;;;3142:11;;;3136:18;3123:11;;;3116:39;3088:2;3081:10;3052:113;;;-1:-1:-1;;3199:1:201;3181:16;;3174:27;2957:250::o;3212:329::-;3253:3;3291:5;3285:12;3318:6;3313:3;3306:19;3334:76;3403:6;3396:4;3391:3;3387:14;3380:4;3373:5;3369:16;3334:76;:::i;:::-;3455:2;3443:15;-1:-1:-1;;3439:88:201;3430:98;;;;3530:4;3426:109;;3212:329;-1:-1:-1;;3212:329:201:o;3546:217::-;3693:2;3682:9;3675:21;3656:4;3713:44;3753:2;3742:9;3738:18;3730:6;3713:44;:::i;3768:347::-;3819:8;3829:6;3883:3;3876:4;3868:6;3864:17;3860:27;3850:55;;3901:1;3898;3891:12;3850:55;-1:-1:-1;3924:20:201;;3967:18;3956:30;;3953:50;;;3999:1;3996;3989:12;3953:50;4036:4;4028:6;4024:17;4012:29;;4088:3;4081:4;4072:6;4064;4060:19;4056:30;4053:39;4050:59;;;4105:1;4102;4095:12;4120:915;4273:6;4281;4289;4297;4305;4313;4366:3;4354:9;4345:7;4341:23;4337:33;4334:53;;;4383:1;4380;4373:12;4334:53;4419:9;4406:23;4396:33;;4480:2;4469:9;4465:18;4452:32;4503:18;4544:2;4536:6;4533:14;4530:34;;;4560:1;4557;4550:12;4530:34;4599:70;4661:7;4652:6;4641:9;4637:22;4599:70;:::i;:::-;4688:8;;-1:-1:-1;4573:96:201;-1:-1:-1;4573:96:201;;-1:-1:-1;4742:36:201;4774:2;4759:18;;4742:36;:::i;:::-;4732:46;;4831:2;4820:9;4816:18;4803:32;4787:48;;4860:2;4850:8;4847:16;4844:36;;;4876:1;4873;4866:12;4844:36;;4915:60;4967:7;4956:8;4945:9;4941:24;4915:60;:::i;:::-;4120:915;;;;-1:-1:-1;4120:915:201;;-1:-1:-1;4120:915:201;;4994:8;;4120:915;-1:-1:-1;;;4120:915:201:o;5040:606::-;5173:6;5181;5189;5197;5250:2;5238:9;5229:7;5225:23;5221:32;5218:52;;;5266:1;5263;5256:12;5218:52;5302:9;5289:23;5279:33;;5363:2;5352:9;5348:18;5335:32;5390:18;5382:6;5379:30;5376:50;;;5422:1;5419;5412:12;5376:50;5461:70;5523:7;5514:6;5503:9;5499:22;5461:70;:::i;:::-;5550:8;;-1:-1:-1;5435:96:201;-1:-1:-1;5604:36:201;;-1:-1:-1;5636:2:201;5621:18;;5604:36;:::i;:::-;5594:46;;5040:606;;;;;;;:::o;5651:1235::-;5860:6;5868;5876;5884;5892;5900;5908;5916;5969:3;5957:9;5948:7;5944:23;5940:33;5937:53;;;5986:1;5983;5976:12;5937:53;6022:9;6009:23;5999:33;;6083:2;6072:9;6068:18;6055:32;6106:18;6147:2;6139:6;6136:14;6133:34;;;6163:1;6160;6153:12;6133:34;6202:70;6264:7;6255:6;6244:9;6240:22;6202:70;:::i;:::-;6291:8;;-1:-1:-1;6176:96:201;-1:-1:-1;6379:2:201;6364:18;;6351:32;;-1:-1:-1;6395:16:201;;;6392:36;;;6424:1;6421;6414:12;6392:36;6463:60;6515:7;6504:8;6493:9;6489:24;6463:60;:::i;:::-;6542:8;;-1:-1:-1;6437:86:201;-1:-1:-1;6624:2:201;6609:18;;6596:32;;-1:-1:-1;6681:3:201;6666:19;;6653:33;;-1:-1:-1;6698:16:201;;;6695:36;;;6727:1;6724;6717:12;6695:36;;6766:60;6818:7;6807:8;6796:9;6792:24;6766:60;:::i;:::-;5651:1235;;;;-1:-1:-1;5651:1235:201;;-1:-1:-1;5651:1235:201;;;;;;6845:8;-1:-1:-1;;;5651:1235:201:o;6891:1016::-;7085:6;7093;7101;7109;7117;7125;7133;7186:3;7174:9;7165:7;7161:23;7157:33;7154:53;;;7203:1;7200;7193:12;7154:53;7239:9;7226:23;7216:33;;7300:2;7289:9;7285:18;7272:32;7323:18;7364:2;7356:6;7353:14;7350:34;;;7380:1;7377;7370:12;7350:34;7419:70;7481:7;7472:6;7461:9;7457:22;7419:70;:::i;:::-;7508:8;;-1:-1:-1;7393:96:201;-1:-1:-1;7393:96:201;;-1:-1:-1;7562:36:201;7594:2;7579:18;;7562:36;:::i;:::-;7552:46;;7651:2;7640:9;7636:18;7623:32;7607:48;;7680:2;7670:8;7667:16;7664:36;;;7696:1;7693;7686:12;7664:36;;7735:60;7787:7;7776:8;7765:9;7761:24;7735:60;:::i;:::-;6891:1016;;;;-1:-1:-1;6891:1016:201;;;;;;7896:3;7881:19;;;7868:33;;6891:1016;-1:-1:-1;;;;6891:1016:201:o;7912:211::-;8002:6;8055:2;8043:9;8034:7;8030:23;8026:32;8023:52;;;8071:1;8068;8061:12;8023:52;-1:-1:-1;8094:23:201;;7912:211;-1:-1:-1;7912:211:201:o;8342:184::-;-1:-1:-1;;;8391:1:201;8384:88;8491:4;8488:1;8481:15;8515:4;8512:1;8505:15;8531:334;8602:2;8596:9;8658:2;8648:13;;-1:-1:-1;;8644:86:201;8632:99;;8761:18;8746:34;;8782:22;;;8743:62;8740:88;;;8808:18;;:::i;:::-;8844:2;8837:22;8531:334;;-1:-1:-1;8531:334:201:o;8870:589::-;8912:5;8965:3;8958:4;8950:6;8946:17;8942:27;8932:55;;8983:1;8980;8973:12;8932:55;9019:6;9006:20;9045:18;9041:2;9038:26;9035:52;;;9067:18;;:::i;:::-;9111:114;9219:4;-1:-1:-1;;9143:4:201;9139:2;9135:13;9131:86;9127:97;9111:114;:::i;:::-;9250:2;9241:7;9234:19;9296:3;9289:4;9284:2;9276:6;9272:15;9268:26;9265:35;9262:55;;;9313:1;9310;9303:12;9262:55;9378:2;9371:4;9363:6;9359:17;9352:4;9343:7;9339:18;9326:55;9426:1;9401:16;;;9419:4;9397:27;9390:38;;;;9405:7;8870:589;-1:-1:-1;;;8870:589:201:o;9464:419::-;9572:6;9580;9633:2;9621:9;9612:7;9608:23;9604:32;9601:52;;;9649:1;9646;9639:12;9601:52;9685:9;9672:23;9662:33;;9746:2;9735:9;9731:18;9718:32;9773:18;9765:6;9762:30;9759:50;;;9805:1;9802;9795:12;9759:50;9828:49;9869:7;9860:6;9849:9;9845:22;9828:49;:::i;:::-;9818:59;;;9464:419;;;;;:::o;9888:636::-;10055:6;10063;10071;10079;10132:2;10120:9;10111:7;10107:23;10103:32;10100:52;;;10148:1;10145;10138:12;10100:52;10184:9;10171:23;10161:33;;10245:2;10234:9;10230:18;10217:32;10272:18;10264:6;10261:30;10258:50;;;10304:1;10301;10294:12;10258:50;10343:70;10405:7;10396:6;10385:9;10381:22;10343:70;:::i;:::-;9888:636;;10432:8;;-1:-1:-1;10317:96:201;;10514:2;10499:18;10486:32;;9888:636;-1:-1:-1;;;;9888:636:201:o;10529:482::-;10784:2;10773:9;10766:21;10747:4;10810:44;10850:2;10839:9;10835:18;10827:6;10810:44;:::i;:::-;10890:6;10885:2;10874:9;10870:18;10863:34;10945:9;10937:6;10933:22;10928:2;10917:9;10913:18;10906:50;10973:32;10998:6;10990;10973:32;:::i;11016:712::-;11070:5;11123:3;11116:4;11108:6;11104:17;11100:27;11090:55;;11141:1;11138;11131:12;11090:55;11177:6;11164:20;11203:4;11226:18;11222:2;11219:26;11216:52;;;11248:18;;:::i;:::-;11294:2;11291:1;11287:10;11317:28;11341:2;11337;11333:11;11317:28;:::i;:::-;11379:15;;;11449;;;11445:24;;;11410:12;;;;11481:15;;;11478:35;;;11509:1;11506;11499:12;11478:35;11545:2;11537:6;11533:15;11522:26;;11557:142;11573:6;11568:3;11565:15;11557:142;;;11639:17;;11627:30;;11590:12;;;;11677;;;;11557:142;;;11717:5;11016:712;-1:-1:-1;;;;;;;11016:712:201:o;11733:655::-;11882:6;11890;11898;11906;11914;11967:3;11955:9;11946:7;11942:23;11938:33;11935:53;;;11984:1;11981;11974:12;11935:53;12020:9;12007:23;11997:33;;12081:2;12070:9;12066:18;12053:32;12108:18;12100:6;12097:30;12094:50;;;12140:1;12137;12130:12;12094:50;12163:61;12216:7;12207:6;12196:9;12192:22;12163:61;:::i;:::-;12153:71;;;12243:36;12275:2;12264:9;12260:18;12243:36;:::i;:::-;11733:655;;;;-1:-1:-1;12233:46:201;;12326:2;12311:18;;12298:32;;-1:-1:-1;12377:3:201;12362:19;12349:33;;11733:655;-1:-1:-1;;11733:655:201:o;12393:536::-;12519:6;12527;12535;12588:2;12576:9;12567:7;12563:23;12559:32;12556:52;;;12604:1;12601;12594:12;12556:52;12640:9;12627:23;12617:33;;12701:2;12690:9;12686:18;12673:32;12728:18;12720:6;12717:30;12714:50;;;12760:1;12757;12750:12;12714:50;12799:70;12861:7;12852:6;12841:9;12837:22;12799:70;:::i;:::-;12393:536;;12888:8;;-1:-1:-1;12773:96:201;;-1:-1:-1;;;;12393:536:201:o;13116:154::-;-1:-1:-1;;;;;13195:5:201;13191:54;13184:5;13181:65;13171:93;;13260:1;13257;13250:12;13275:554;13392:6;13400;13408;13461:2;13449:9;13440:7;13436:23;13432:32;13429:52;;;13477:1;13474;13467:12;13429:52;13516:9;13503:23;13535:31;13560:5;13535:31;:::i;:::-;13585:5;-1:-1:-1;13637:2:201;13622:18;;13609:32;;-1:-1:-1;13692:2:201;13677:18;;13664:32;13719:18;13708:30;;13705:50;;;13751:1;13748;13741:12;13705:50;13774:49;13815:7;13806:6;13795:9;13791:22;13774:49;:::i;:::-;13764:59;;;13275:554;;;;;:::o;13834:618::-;14006:6;14014;14022;14030;14083:3;14071:9;14062:7;14058:23;14054:33;14051:53;;;14100:1;14097;14090:12;14051:53;14136:9;14123:23;14113:33;;14197:2;14186:9;14182:18;14169:32;14224:18;14216:6;14213:30;14210:50;;;14256:1;14253;14246:12;14210:50;14279:61;14332:7;14323:6;14312:9;14308:22;14279:61;:::i;:::-;14269:71;;;14359:36;14391:2;14380:9;14376:18;14359:36;:::i;:::-;13834:618;;;;-1:-1:-1;14349:46:201;;14442:2;14427:18;14414:32;;-1:-1:-1;;13834:618:201:o;14639:517::-;14770:6;14778;14786;14839:2;14827:9;14818:7;14814:23;14810:32;14807:52;;;14855:1;14852;14845:12;14807:52;14891:9;14878:23;14868:33;;14952:2;14941:9;14937:18;14924:32;14979:18;14971:6;14968:30;14965:50;;;15011:1;15008;15001:12;14965:50;15034:61;15087:7;15078:6;15067:9;15063:22;15034:61;:::i;:::-;15024:71;;;15114:36;15146:2;15135:9;15131:18;15114:36;:::i;:::-;15104:46;;14639:517;;;;;:::o;15161:472::-;15255:6;15263;15316:2;15304:9;15295:7;15291:23;15287:32;15284:52;;;15332:1;15329;15322:12;15284:52;15371:9;15358:23;15390:31;15415:5;15390:31;:::i;:::-;15440:5;-1:-1:-1;15496:2:201;15481:18;;15468:32;15523:18;15512:30;;15509:50;;;15555:1;15552;15545:12;15638:1013;15792:6;15800;15808;15816;15824;15832;15885:3;15873:9;15864:7;15860:23;15856:33;15853:53;;;15902:1;15899;15892:12;15853:53;15938:9;15925:23;15915:33;;15999:2;15988:9;15984:18;15971:32;16022:18;16063:2;16055:6;16052:14;16049:34;;;16079:1;16076;16069:12;16049:34;16118:70;16180:7;16171:6;16160:9;16156:22;16118:70;:::i;:::-;16207:8;;-1:-1:-1;16092:96:201;-1:-1:-1;16292:2:201;16277:18;;16264:32;;-1:-1:-1;16336:14:201;16325:26;;16315:37;;16305:65;;16366:1;16363;16356:12;16305:65;16389:5;;-1:-1:-1;16447:2:201;16432:18;;16419:32;;16463:16;;;16460:36;;;16492:1;16489;16482:12;16656:165;16723:20;;16783:12;16772:24;;16762:35;;16752:63;;16811:1;16808;16801:12;16826:1061;16995:6;17003;17011;17019;17027;17035;17043;17051;17104:3;17092:9;17083:7;17079:23;17075:33;17072:53;;;17121:1;17118;17111:12;17072:53;17157:9;17144:23;17134:33;;17218:2;17207:9;17203:18;17190:32;17241:18;17282:2;17274:6;17271:14;17268:34;;;17298:1;17295;17288:12;17268:34;17337:70;17399:7;17390:6;17379:9;17375:22;17337:70;:::i;:::-;17426:8;;-1:-1:-1;17311:96:201;-1:-1:-1;17311:96:201;;-1:-1:-1;17480:36:201;17512:2;17497:18;;17480:36;:::i;:::-;17470:46;;17535:37;17568:2;17557:9;17553:18;17535:37;:::i;:::-;17525:47;;17591:38;17624:3;17613:9;17609:19;17591:38;:::i;:::-;17581:48;;17682:3;17671:9;17667:19;17654:33;17638:49;;17712:2;17702:8;17699:16;17696:36;;;17728:1;17725;17718:12;17892:264;17968:6;18021:2;18009:9;18000:7;17996:23;17992:32;17989:52;;;18037:1;18034;18027:12;17989:52;18076:9;18063:23;18095:31;18120:5;18095:31;:::i;19050:184::-;-1:-1:-1;;;19099:1:201;19092:88;19199:4;19196:1;19189:15;19223:4;19220:1;19213:15;19758:339;19935:2;19924:9;19917:21;19898:4;19955:44;19995:2;19984:9;19980:18;19972:6;19955:44;:::i;:::-;19947:52;;-1:-1:-1;;;;;20039:6:201;20035:55;20030:2;20019:9;20015:18;20008:83;19758:339;;;;;:::o;20102:175::-;20139:3;20183:4;20176:5;20172:16;20212:4;20203:7;20200:17;20197:43;;20220:18;;:::i;:::-;20269:1;20256:15;;20102:175;-1:-1:-1;;20102:175:201:o;20282:439::-;-1:-1:-1;;;;;20520:6:201;20516:55;20505:9;20498:74;20608:6;20603:2;20592:9;20588:18;20581:34;20651:2;20646;20635:9;20631:18;20624:30;20479:4;20671:44;20711:2;20700:9;20696:18;20688:6;20671:44;:::i;20726:195::-;20765:3;-1:-1:-1;;20789:5:201;20786:77;20783:103;;20866:18;;:::i;:::-;-1:-1:-1;20913:1:201;20902:13;;20726:195::o;20926:151::-;21016:4;21009:12;;;20995;;;20991:31;;21034:14;;21031:40;;;21051:18;;:::i;21082:128::-;21149:9;;;21170:11;;;21167:37;;;21184:18;;:::i;21468:277::-;21535:6;21588:2;21576:9;21567:7;21563:23;21559:32;21556:52;;;21604:1;21601;21594:12;21556:52;21636:9;21630:16;21689:5;21682:13;21675:21;21668:5;21665:32;21655:60;;21711:1;21708;21701:12;21750:337;21820:6;21873:2;21861:9;21852:7;21848:23;21844:32;21841:52;;;21889:1;21886;21879:12;21841:52;21921:9;21915:16;21971:66;21964:5;21960:78;21953:5;21950:89;21940:117;;22053:1;22050;22043:12;22092:435;22145:3;22183:5;22177:12;22210:6;22205:3;22198:19;22236:4;22265:2;22260:3;22256:12;22249:19;;22302:2;22295:5;22291:14;22323:1;22333:169;22347:6;22344:1;22341:13;22333:169;;;22408:13;;22396:26;;22442:12;;;;22477:15;;;;22369:1;22362:9;22333:169;;;-1:-1:-1;22518:3:201;;22092:435;-1:-1:-1;;;;;22092:435:201:o;22532:511::-;22783:2;22772:9;22765:21;22746:4;22809:56;22861:2;22850:9;22846:18;22838:6;22809:56;:::i;:::-;22913:14;22905:6;22901:27;22896:2;22885:9;22881:18;22874:55;22977:9;22969:6;22965:22;22960:2;22949:9;22945:18;22938:50;23005:32;23030:6;23022;23005:32;:::i;23048:615::-;23358:6;23347:9;23340:25;23401:3;23396:2;23385:9;23381:18;23374:31;23321:4;23428:57;23480:3;23469:9;23465:19;23457:6;23428:57;:::i;:::-;23533:14;23525:6;23521:27;23516:2;23505:9;23501:18;23494:55;23597:9;23589:6;23585:22;23580:2;23569:9;23565:18;23558:50;23625:32;23650:6;23642;23625:32;:::i;24665:321::-;24873:6;24862:9;24855:25;24916:2;24911;24900:9;24896:18;24889:30;24836:4;24936:44;24976:2;24965:9;24961:18;24953:6;24936:44;:::i;24991:639::-;25241:6;25236:3;25229:19;25211:3;25267:2;25300;25295:3;25291:12;25332:6;25326:13;25397:2;25389:6;25385:15;25418:1;25428:175;25442:6;25439:1;25436:13;25428:175;;;25505:13;;25491:28;;25541:14;;;;25578:15;;;;25464:1;25457:9;25428:175;;;-1:-1:-1;25619:5:201;;24991:639;-1:-1:-1;;;;;;;24991:639:201:o;25635:184::-;-1:-1:-1;;;25684:1:201;25677:88;25784:4;25781:1;25774:15;25808:4;25805:1;25798:15;25824:168;25897:9;;;25928;;25945:15;;;25939:22;;25925:37;25915:71;;25966:18;;:::i;25997:463::-;26243:66;26235:6;26231:79;26220:9;26213:98;26347:6;26342:2;26331:9;26327:18;26320:34;26390:2;26385;26374:9;26370:18;26363:30;26194:4;26410:44;26450:2;26439:9;26435:18;26427:6;26410:44;:::i;26465:174::-;26532:12;26564:10;;;26576;;;26560:27;;26599:11;;;26596:37;;;26613:18;;:::i;:::-;26596:37;26465:174;;;;:::o;27291:707::-;27630:3;27619:9;27612:22;27593:4;27657:57;27709:3;27698:9;27694:19;27686:6;27657:57;:::i;:::-;27762:14;27754:6;27750:27;27745:2;27734:9;27730:18;27723:55;27826:12;27818:6;27814:25;27809:2;27798:9;27794:18;27787:53;27876:6;27871:2;27860:9;27856:18;27849:34;27932:9;27924:6;27920:22;27914:3;27903:9;27899:19;27892:51;27960:32;27985:6;27977;27960:32;:::i;28003:898::-;28425:6;28414:9;28407:25;28468:3;28463:2;28452:9;28448:18;28441:31;28388:4;28495:57;28547:3;28536:9;28532:19;28524:6;28495:57;:::i;:::-;28600:4;28588:17;;28583:2;28568:18;;28561:45;28625:12;28673:15;;;28668:2;28653:18;;28646:43;28726:15;;28720:3;28705:19;;28698:44;28773:3;28758:19;;28751:35;;;28823:22;;;28817:3;28802:19;;28795:51;28863:32;28827:6;28880;28863:32;:::i;:::-;28855:40;28003:898;-1:-1:-1;;;;;;;;;;28003:898:201:o;28906:688::-;29239:3;29228:9;29221:22;29202:4;29266:57;29318:3;29307:9;29303:19;29295:6;29266:57;:::i;:::-;29371:9;29363:6;29359:22;29354:2;29343:9;29339:18;29332:50;29405:32;29430:6;29422;29405:32;:::i;:::-;29391:46;;29473:6;29468:2;29457:9;29453:18;29446:34;29528:9;29520:6;29516:22;29511:2;29500:9;29496:18;29489:50;29556:32;29581:6;29573;29556:32;:::i;29599:895::-;30051:6;30040:9;30033:25;30094:3;30089:2;30078:9;30074:18;30067:31;30014:4;30121:57;30173:3;30162:9;30158:19;30150:6;30121:57;:::i;:::-;30226:9;30218:6;30214:22;30209:2;30198:9;30194:18;30187:50;30260:32;30285:6;30277;30260:32;:::i;:::-;30246:46;;30328:6;30323:2;30312:9;30308:18;30301:34;30384:9;30376:6;30372:22;30366:3;30355:9;30351:19;30344:51;30412:32;30437:6;30429;30412:32;:::i;:::-;30404:40;;;30481:6;30475:3;30464:9;30460:19;30453:35;29599:895;;;;;;;;;:::o;30782:261::-;30961:2;30950:9;30943:21;30924:4;30981:56;31033:2;31022:9;31018:18;31010:6;30981:56;:::i;31048:466::-;31346:6;31335:9;31328:25;31389:2;31384;31373:9;31369:18;31362:30;31309:4;31409:56;31461:2;31450:9;31446:18;31438:6;31409:56;:::i;:::-;31401:64;;31501:6;31496:2;31485:9;31481:18;31474:34;31048:466;;;;;;:::o;32161:359::-;32364:2;32353:9;32346:21;32327:4;32384:44;32424:2;32413:9;32409:18;32401:6;32384:44;:::i;:::-;32459:2;32444:18;;32437:34;;;;-1:-1:-1;32502:2:201;32487:18;32480:34;32376:52;32161:359;-1:-1:-1;32161:359:201:o;32525:287::-;32654:3;32692:6;32686:13;32708:66;32767:6;32762:3;32755:4;32747:6;32743:17;32708:66;:::i;:::-;32790:16;;;;;32525:287;-1:-1:-1;;32525:287:201:o;32817:274::-;32857:1;32883;32873:189;;-1:-1:-1;;;32915:1:201;32908:88;33019:4;33016:1;33009:15;33047:4;33044:1;33037:15;32873:189;-1:-1:-1;33076:9:201;;32817:274::o;33096:530::-;33281:3;33319:6;33313:13;33335:66;33394:6;33389:3;33382:4;33374:6;33370:17;33335:66;:::i;:::-;33470:2;33466:15;;;;33483:66;33462:88;33423:16;;;;33448:103;;;33578:2;33567:14;;33560:30;;;;33617:2;33606:14;;33096:530;-1:-1:-1;;33096:530:201:o","linkReferences":{},"immutableReferences":{"23329":[{"start":879,"length":32},{"start":5014,"length":32}]}},"methodIdentifiers":{"call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","initialize(address)":"c4d66de8","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"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[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"coreModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"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\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract is the core \\\"World\\\" contract containing various methods for data manipulation, system calls, and dynamic function selector handling.\",\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The version of the Store contract.\"}},\"HelloWorld(bytes32)\":{\"details\":\"Emitted upon successful World initialization.\",\"params\":{\"worldVersion\":\"The version of the World being initialized.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The data for the system call.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The ABI data for the system call.\",\"delegator\":\"The address on whose behalf the system is called.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"constructor\":{\"details\":\"Event emitted when the World contract is created.\"},\"deleteRecord(bytes32,bytes32[])\":{\"details\":\"Requires the caller to have access to the table's namespace or name.\",\"params\":{\"keyTuple\":\"Array of keys identifying the record to delete.\",\"tableId\":\"The unique identifier for the table.\"}},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The dynamic data of the specified field.\"}},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified dynamic field.\"}},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to slice.\",\"end\":\"The ending position of the slice.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field slice.\",\"start\":\"The starting position of the slice.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The sliced data from the specified dynamic field.\"}},\"getField(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getFieldLayout(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table for which to retrieve the field layout.\"},\"returns\":{\"fieldLayout\":\"The layout of fields in the specified table.\"}},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"fieldLayout\":\"The layout of fields for measurement.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getKeySchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"keySchema\":\"The schema for keys in the specified table.\"}},\"getRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getRecord(bytes32,bytes32[],bytes32)\":{\"params\":{\"fieldLayout\":\"The layout of fields to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the static field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the static field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The static data of the specified field.\"}},\"getValueSchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"valueSchema\":\"The schema for values in the specified table.\"}},\"initialize(address)\":{\"details\":\"Only the initial creator can initialize. This can be done only once.\",\"params\":{\"coreModule\":\"The core module to initialize the World with.\"}},\"installRootModule(address,bytes)\":{\"details\":\"The caller must own the root namespace.\",\"params\":{\"args\":\"Arguments for module installation.\",\"module\":\"The module to be installed.\"}},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"params\":{\"byteLengthToPop\":\"The number of bytes to remove from the end of the dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to remove data from.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"dataToPush\":\"Data to append to the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to append to.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"dynamicData\":\"Dynamic data (variable length fields) of the record.\",\"encodedLengths\":\"Encoded lengths of data.\",\"keyTuple\":\"Array of keys identifying the record.\",\"staticData\":\"Static data (fixed length fields) of the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"data\":\"Data to write into the specified static field.\",\"fieldIndex\":\"Index of the static field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"params\":{\"data\":\"Data to splice into the dynamic data of the field.\",\"deleteCount\":\"Number of bytes to delete starting from the `startWithinField`.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"startWithinField\":\"Start position within the specified dynamic field.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"params\":{\"data\":\"Data to splice into the static data of the record.\",\"keyTuple\":\"Array of keys identifying the record.\",\"start\":\"Position from where the static data modification should start.\",\"tableId\":\"The unique identifier for the table.\"}},\"storeVersion()\":{\"returns\":{\"_0\":\"The current version of the store as a bytes32.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The current version of the world contract.\"}}},\"title\":\"World Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the store is initialized.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Address of the contract's creator.\"},\"deleteRecord(bytes32,bytes32[])\":{\"notice\":\"Deletes a record from the table identified by `tableId`.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specific dynamic (variable length) field in a record.\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified dynamic (variable length) field in a record.\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Retrieves a slice of a dynamic (variable length) field.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getFieldLayout(bytes32)\":{\"notice\":\"Fetches the field layout for a given table.\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getKeySchema(bytes32)\":{\"notice\":\"Retrieves the key schema for a given table.\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple.\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple and field layout.\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specific static (fixed length) field in a record.\"},\"getValueSchema(bytes32)\":{\"notice\":\"Retrieves the value schema for a given table.\"},\"initialize(address)\":{\"notice\":\"Initializes the World by installing the core module.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Installs a given root module in the World.\"},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"notice\":\"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a dynamic (varible length) field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a specified field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a specified field in the table, adhering to a specific layout.\"},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Writes a record in the table identified by `tableId`.\"},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a static (fixed length) field in the table identified by `tableId`.\"},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"notice\":\"Modifies dynamic (variable length) data in a record for a specified field.\"},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Modifies static (fixed length) data in a record at the specified position.\"},\"storeVersion()\":{\"notice\":\"Retrieves the version of the store.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/World.sol\":\"World\"},\"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/StoreData.sol\":{\"keccak256\":\"0x4e451128c33a01d520c1944b3db42a62c158aea8fa11e786a58a0f719a189526\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2f98f30a7b2c9ef020e274b87ae0fa66d1380343a00ecf6bd796ae31cd9b279\",\"dweb:/ipfs/QmYXHSBn4Hp7cimDLKy86ep23v2VRUS6dLPevcVMs3dJrw\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0x0da12dea94f088d01b1b0d6d4887f628c61c9c34a4c74a4c9033621bddcc007f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e77d66891e1cdff6899e00c7993302dd77dd291f954b79d2c582da076e22264\",\"dweb:/ipfs/QmcLyDFSnyMUF89hGhPX4nvUpkXdJSxBe5zGSJFqTAT5Mj\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5\",\"dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751\",\"dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95\",\"dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a\",\"dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0x10ca29a5d7075edb2fe5cd559077fc34857129182f9d6ea074a234dfbcdb313e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fe2783b7d0592d14a20b8be192dd3fa4216f8e541adea579859ea2bf1224da3\",\"dweb:/ipfs/QmTi9XDP5jsQpbqvJxPvkqyDByv7i88wKidrYnTtLdPhka\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716\",\"dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d\",\"dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883\",\"dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd\",\"dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x2db3d2945cea02e3c830329c30dde0c96bb87da9d070f3545dbd7f807d2ff53a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c3b48917527ec0f26c953f66d149bb2173d1dfd78ee00d2ceb409f3a5bd08\",\"dweb:/ipfs/QmQ7WjHbmWeEDnu2dgx7nduYBCvyVsjFksPHXxrJjZCKo9\"]},\"node_modules/@latticexyz/world/src/World.sol\":{\"keccak256\":\"0xebc236e55c297ccbd00fe635a4216c4bc35e4e860129653935b2bc90d918b8f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0289100d0fc793223c8d42c5e3a55bf33447dd14d72a6f5f9154b78b2736dc7\",\"dweb:/ipfs/QmQp7yniMmyNtzUHPt8r6aoPhPiyWV1atS5Z2f9sw9QHGf\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0xd71faf03c782ac29483e94c2ea166fcc4e50179c7605357b1ba31bca4de29514\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://099db3f65835e395450f49119c4211b8394f2783ded4aa86eac32b3ca951f662\",\"dweb:/ipfs/QmV9FEcdDnCLbEoiAzAWYwN66P1Wf2bgkbicHNnBXD7Xrd\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x873f8d46f75ec8a85c392aa7cf2dd3f2183684dadde18b7dfca12643ab6249ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1eaf7aeee1487c967ce419db0e96abd1cb8f6b75670009f2cac26dda94caec81\",\"dweb:/ipfs/QmXs5wmrwP23g3LNPP6J3NPgemu85VVQvx8rfHz2RFXRtk\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198\",\"dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x47c6d188f39a85b50f066151cb48d987454e845f1629685300613fdb502505a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abeba0002051f60f81c1e29dbf627db4aed8da11483ec8d860a362b4bfbf4c08\",\"dweb:/ipfs/Qmc4RNYgBma9repACLdN1hpjPmEbsFKWXL8B42KaBAZvtc\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac\",\"dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93\",\"dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xd069f1f65243ffcc3ace23804851bc902c5e58d525b962575a659e47aa76236b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f86b3d93b5bcf81e0d3da0abbd6fc3924be59e7c8d147cfeb3307108431f6a3\",\"dweb:/ipfs/QmRrkBXGsdtbo28xznUWUuqNUGyfAbu1kadKGjL7n6KiKb\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1\",\"dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0xffc8c2aa8115f5e7200638c21772a2f4eec283fd33a877d02a9b906614badb70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4df5c66e27c4a778c2ba7ce26d48652ee6f7740f0440aae9021d76aee66a2ecd\",\"dweb:/ipfs/QmWLY9GVbxHerTUJwWaNBjAWXKF7cxm2GLietVi6L5kS15\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/modules/core/constants.sol\":{\"keccak256\":\"0x35b32faf971caa7aefecae3c8b1a1cd2e78ff350c2109263b2f199cdaec96488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c149042b448fd88260abde657931370697b35ab8e338920f0c5e5b9e83c74ab\",\"dweb:/ipfs/QmZYAsp3xtCmoNRnYaeFyXwkvYuraa3XpTBqD5Hj83NJP4\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5c5e5c8f1fa4780a7b1ca759f7ce63dd4165a5b2a7f64c8fcb8f06bd8917ace6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6d37ed25ed4471dc336681c959153cdb4cb16c209142ca5edbc6d9293669fd2\",\"dweb:/ipfs/QmQLAbkk7jxN68QcHV9KgiCbsvxDm9rKmLJQWME6DBZEpw\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9\",\"dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx\"]},\"node_modules/@latticexyz/world/src/version.sol\":{\"keccak256\":\"0x5db84611779a814a582b5559f636640e3599dba1f36b99c529a19ce73b2d2d44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b06ae2f3b888ba3dc719b2d19f60deb7c3398324f636c9dad0b92706dfc08f5a\",\"dweb:/ipfs/QmaLgppohesJhF3ZdMWwM8NHcLiv8SRSCArS4QssfG2dC1\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"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}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"contract IModule","name":"coreModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"args","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"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"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"pure","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The data for the system call.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"callFrom(address,bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The ABI data for the system call.","delegator":"The address on whose behalf the system is called.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"constructor":{"details":"Event emitted when the World contract is created."},"deleteRecord(bytes32,bytes32[])":{"details":"Requires the caller to have access to the table's namespace or name.","params":{"keyTuple":"Array of keys identifying the record to delete.","tableId":"The unique identifier for the table."}},"getDynamicField(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to retrieve.","keyTuple":"The tuple used as a key to fetch the dynamic field.","tableId":"The ID of the table."},"returns":{"data":"The dynamic data of the specified field."}},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified dynamic field."}},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to slice.","end":"The ending position of the slice.","keyTuple":"The tuple used as a key to fetch the dynamic field slice.","start":"The starting position of the slice.","tableId":"The ID of the table."},"returns":{"_0":"The sliced data from the specified dynamic field."}},"getField(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to retrieve.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getFieldLayout(bytes32)":{"params":{"tableId":"The ID of the table for which to retrieve the field layout."},"returns":{"fieldLayout":"The layout of fields in the specified table."}},"getFieldLength(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to measure.","fieldLayout":"The layout of fields for measurement.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getKeySchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"keySchema":"The schema for keys in the specified table."}},"getRecord(bytes32,bytes32[])":{"params":{"keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getRecord(bytes32,bytes32[],bytes32)":{"params":{"fieldLayout":"The layout of fields to retrieve.","keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the static field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the static field.","tableId":"The ID of the table."},"returns":{"data":"The static data of the specified field."}},"getValueSchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"valueSchema":"The schema for values in the specified table."}},"initialize(address)":{"details":"Only the initial creator can initialize. This can be done only once.","params":{"coreModule":"The core module to initialize the World with."}},"installRootModule(address,bytes)":{"details":"The caller must own the root namespace.","params":{"args":"Arguments for module installation.","module":"The module to be installed."}},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"params":{"byteLengthToPop":"The number of bytes to remove from the end of the dynamic field.","dynamicFieldIndex":"Index of the dynamic field to remove data from.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"dataToPush":"Data to append to the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to append to.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"dynamicData":"Dynamic data (variable length fields) of the record.","encodedLengths":"Encoded lengths of data.","keyTuple":"Array of keys identifying the record.","staticData":"Static data (fixed length fields) of the record.","tableId":"The unique identifier for the table."}},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"data":"Data to write into the specified static field.","fieldIndex":"Index of the static field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"params":{"data":"Data to splice into the dynamic data of the field.","deleteCount":"Number of bytes to delete starting from the `startWithinField`.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","startWithinField":"Start position within the specified dynamic field.","tableId":"The unique identifier for the table."}},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"params":{"data":"Data to splice into the static data of the record.","keyTuple":"Array of keys identifying the record.","start":"Position from where the static data modification should start.","tableId":"The unique identifier for the table."}},"storeVersion()":{"returns":{"_0":"The current version of the store as a bytes32."}},"worldVersion()":{"returns":{"_0":"The current version of the world contract."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Calls a system with a given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Calls a system with a given system ID on behalf of the given delegator."},"creator()":{"notice":"Address of the contract's creator."},"deleteRecord(bytes32,bytes32[])":{"notice":"Deletes a record from the table identified by `tableId`."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specific dynamic (variable length) field in a record."},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified dynamic (variable length) field in a record."},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Retrieves a slice of a dynamic (variable length) field."},"getField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specified field in a record."},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specified field in a record."},"getFieldLayout(bytes32)":{"notice":"Fetches the field layout for a given table."},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified field in a record."},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Calculates the length of a specified field in a record."},"getKeySchema(bytes32)":{"notice":"Retrieves the key schema for a given table."},"getRecord(bytes32,bytes32[])":{"notice":"Fetches a record from a specified table using a provided key tuple."},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Fetches a record from a specified table using a provided key tuple and field layout."},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specific static (fixed length) field in a record."},"getValueSchema(bytes32)":{"notice":"Retrieves the value schema for a given table."},"initialize(address)":{"notice":"Initializes the World by installing the core module."},"installRootModule(address,bytes)":{"notice":"Installs a given root module in the World."},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"notice":"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`."},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`."},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a dynamic (varible length) field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a specified field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a specified field in the table, adhering to a specific layout."},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"notice":"Writes a record in the table identified by `tableId`."},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a static (fixed length) field in the table identified by `tableId`."},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"notice":"Modifies dynamic (variable length) data in a record for a specified field."},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Modifies static (fixed length) data in a record at the specified position."},"storeVersion()":{"notice":"Retrieves the version of the store."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/World.sol":"World"},"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/StoreData.sol":{"keccak256":"0x4e451128c33a01d520c1944b3db42a62c158aea8fa11e786a58a0f719a189526","urls":["bzz-raw://c2f98f30a7b2c9ef020e274b87ae0fa66d1380343a00ecf6bd796ae31cd9b279","dweb:/ipfs/QmYXHSBn4Hp7cimDLKy86ep23v2VRUS6dLPevcVMs3dJrw"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0x0da12dea94f088d01b1b0d6d4887f628c61c9c34a4c74a4c9033621bddcc007f","urls":["bzz-raw://7e77d66891e1cdff6899e00c7993302dd77dd291f954b79d2c582da076e22264","dweb:/ipfs/QmcLyDFSnyMUF89hGhPX4nvUpkXdJSxBe5zGSJFqTAT5Mj"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416","urls":["bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7","dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3","urls":["bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6","dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e","urls":["bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5","dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789","urls":["bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751","dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14","urls":["bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95","dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb","urls":["bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a","dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076","urls":["bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793","dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"],"license":"MIT"},"node_modules/@latticexyz/store/src/leftMask.sol":{"keccak256":"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f","urls":["bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401","dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5","urls":["bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81","dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2","urls":["bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84","dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04","urls":["bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1","dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d","urls":["bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49","dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b","urls":["bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256","dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c","urls":["bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491","dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0x10ca29a5d7075edb2fe5cd559077fc34857129182f9d6ea074a234dfbcdb313e","urls":["bzz-raw://1fe2783b7d0592d14a20b8be192dd3fa4216f8e541adea579859ea2bf1224da3","dweb:/ipfs/QmTi9XDP5jsQpbqvJxPvkqyDByv7i88wKidrYnTtLdPhka"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89","urls":["bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716","dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553","urls":["bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d","dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581","urls":["bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883","dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db","urls":["bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510","dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500","urls":["bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d","dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7","urls":["bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83","dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb","urls":["bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c","dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd","urls":["bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd","dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x2db3d2945cea02e3c830329c30dde0c96bb87da9d070f3545dbd7f807d2ff53a","urls":["bzz-raw://ee5c3b48917527ec0f26c953f66d149bb2173d1dfd78ee00d2ceb409f3a5bd08","dweb:/ipfs/QmQ7WjHbmWeEDnu2dgx7nduYBCvyVsjFksPHXxrJjZCKo9"],"license":"MIT"},"node_modules/@latticexyz/world/src/World.sol":{"keccak256":"0xebc236e55c297ccbd00fe635a4216c4bc35e4e860129653935b2bc90d918b8f0","urls":["bzz-raw://b0289100d0fc793223c8d42c5e3a55bf33447dd14d72a6f5f9154b78b2736dc7","dweb:/ipfs/QmQp7yniMmyNtzUHPt8r6aoPhPiyWV1atS5Z2f9sw9QHGf"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a","urls":["bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518","dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417","urls":["bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb","dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0xd71faf03c782ac29483e94c2ea166fcc4e50179c7605357b1ba31bca4de29514","urls":["bzz-raw://099db3f65835e395450f49119c4211b8394f2783ded4aa86eac32b3ca951f662","dweb:/ipfs/QmV9FEcdDnCLbEoiAzAWYwN66P1Wf2bgkbicHNnBXD7Xrd"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x873f8d46f75ec8a85c392aa7cf2dd3f2183684dadde18b7dfca12643ab6249ed","urls":["bzz-raw://1eaf7aeee1487c967ce419db0e96abd1cb8f6b75670009f2cac26dda94caec81","dweb:/ipfs/QmXs5wmrwP23g3LNPP6J3NPgemu85VVQvx8rfHz2RFXRtk"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c","urls":["bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198","dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x47c6d188f39a85b50f066151cb48d987454e845f1629685300613fdb502505a0","urls":["bzz-raw://abeba0002051f60f81c1e29dbf627db4aed8da11483ec8d860a362b4bfbf4c08","dweb:/ipfs/Qmc4RNYgBma9repACLdN1hpjPmEbsFKWXL8B42KaBAZvtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d","urls":["bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac","dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60","urls":["bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93","dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xd069f1f65243ffcc3ace23804851bc902c5e58d525b962575a659e47aa76236b","urls":["bzz-raw://4f86b3d93b5bcf81e0d3da0abbd6fc3924be59e7c8d147cfeb3307108431f6a3","dweb:/ipfs/QmRrkBXGsdtbo28xznUWUuqNUGyfAbu1kadKGjL7n6KiKb"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9","urls":["bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1","dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0xffc8c2aa8115f5e7200638c21772a2f4eec283fd33a877d02a9b906614badb70","urls":["bzz-raw://4df5c66e27c4a778c2ba7ce26d48652ee6f7740f0440aae9021d76aee66a2ecd","dweb:/ipfs/QmWLY9GVbxHerTUJwWaNBjAWXKF7cxm2GLietVi6L5kS15"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588","urls":["bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218","dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/constants.sol":{"keccak256":"0x35b32faf971caa7aefecae3c8b1a1cd2e78ff350c2109263b2f199cdaec96488","urls":["bzz-raw://0c149042b448fd88260abde657931370697b35ab8e338920f0c5e5b9e83c74ab","dweb:/ipfs/QmZYAsp3xtCmoNRnYaeFyXwkvYuraa3XpTBqD5Hj83NJP4"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5c5e5c8f1fa4780a7b1ca759f7ce63dd4165a5b2a7f64c8fcb8f06bd8917ace6","urls":["bzz-raw://f6d37ed25ed4471dc336681c959153cdb4cb16c209142ca5edbc6d9293669fd2","dweb:/ipfs/QmQLAbkk7jxN68QcHV9KgiCbsvxDm9rKmLJQWME6DBZEpw"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55","urls":["bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df","dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb","urls":["bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9","dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx"],"license":"MIT"},"node_modules/@latticexyz/world/src/version.sol":{"keccak256":"0x5db84611779a814a582b5559f636640e3599dba1f36b99c529a19ce73b2d2d44","urls":["bzz-raw://b06ae2f3b888ba3dc719b2d19f60deb7c3398324f636c9dad0b92706dfc08f5a","dweb:/ipfs/QmaLgppohesJhF3ZdMWwM8NHcLiv8SRSCArS4QssfG2dC1"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746","urls":["bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2","dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"],"license":"MIT"}},"version":1},"id":56}
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"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_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a060405234801561001057600080fd5b506100477f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e17580546001600160a01b03191630179055565b6040516e0c4b8c0b8c0b5d5b985d591a5d1959608a1b907fc7f5fdc8526b76f54916701bc910876243ffff2a40b0bb8d59eea8151c52c00590600090a2336080526040516e0c4b8c0b8c0b5d5b985d591a5d1959608a1b907f7f8f36afe3fb61c459c1a54a60b8a477eab02cc58e49f547561a40906239cb8290600090a2608051615280620000e86000396000818161036f01526112a801526152806000f3fe6080604052600436106101d15760003560e01c80638c364d59116100f7578063c4d66de811610095578063d9c03a0411610064578063d9c03a04146106d1578063dbbf0e21146105d1578063e228a4a3146106f1578063ef6ea8621461071157610266565b8063c4d66de814610651578063cc49db7e14610671578063d03edb8c14610691578063d4285dc2146106b157610266565b8063af068c9e116100d1578063af068c9e146105f1578063b047c1eb14610611578063c0a2895a14610631578063c11222291461054b57610266565b80638c364d59146105915780639f1fcf0a146105b1578063a53417ed146105d157610266565b8063390baae01161016f5780634dc77d971161013e5780634dc77d971461050b578063505a181d1461052b5780636951955d1461054b578063894ecc581461057e57610266565b8063390baae01461047b5780633a77c2c21461049b5780633ae7af08146104c9578063419b58fd146104dc57610266565b8063150f3262116101ab578063150f3262146103fb5780631e7889771461041b578063298314fb1461043b5780633708196e1461045b57610266565b806302d05d3f1461035d57806305242d2f146103ae578063114a7266146103db57610266565b366102665760408051616e7360f01b60208201526000602282018190526030820181905291610218910160405160208183030381529060405261021390614387565b610731565b60408051616e7360f01b60208201526000602282018190526030820152919250610264910160405160208183030381529060405261025590614387565b61025f34846143c4565b6107b2565b005b303303610299576040516327a1460b60e21b81526001600160e01b03196000351660048201526024015b60405180910390fd5b6000806102b16000356001600160e01b031916610853565b91509150816000801b036102ff576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b0319600035166004820152602401610290565b60006103436000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508691506109239050565b9050600061035333858434610956565b9050805160208201f35b34801561036957600080fd5b506103917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103ba57600080fd5b506103ce6103c9366004614434565b610983565b6040516103a591906144ea565b3480156103e757600080fd5b506102646103f636600461453f565b6109c6565b34801561040757600080fd5b5061026461041636600461453f565b610a79565b34801561042757600080fd5b506103ce6104363660046145cc565b610b24565b34801561044757600080fd5b5061026461045636600461462a565b610b6e565b34801561046757600080fd5b506102646104763660046146d7565b610c57565b34801561048757600080fd5b506102646104963660046146d7565b610d0d565b3480156104a757600080fd5b506104bb6104b636600461476d565b610dba565b6040519081526020016103a5565b6103ce6104d736600461483d565b610dcb565b3480156104e857600080fd5b506104fc6104f7366004614884565b610e07565b6040516103a5939291906148d7565b34801561051757600080fd5b506103ce610526366004614977565b610e5c565b34801561053757600080fd5b506102646105463660046149e0565b610e6b565b34801561055757600080fd5b507f312e302e302d756e6175646974656400000000000000000000000000000000006104bb565b6103ce61058c366004614a41565b610ee0565b34801561059d57600080fd5b506104bb6105ac366004614434565b61103c565b3480156105bd57600080fd5b506104bb6105cc366004614a9a565b61107f565b3480156105dd57600080fd5b506104bb6105ec366004614af9565b61108d565b3480156105fd57600080fd5b5061026461060c366004614b50565b61109a565b34801561061d57600080fd5b5061026461062c366004614b8a565b611116565b34801561063d57600080fd5b5061026461064c366004614c19565b6111c1565b34801561065d57600080fd5b5061026461066c366004614ca6565b61126f565b34801561067d57600080fd5b506104fc61068c3660046149e0565b6113b1565b34801561069d57600080fd5b506103ce6106ac3660046145cc565b611403565b3480156106bd57600080fd5b506104bb6106cc36600461476d565b611444565b3480156106dd57600080fd5b506102646106ec366004614434565b61144f565b3480156106fd57600080fd5b506104bb61070c36600461476d565b6114cf565b34801561071d57600080fd5b5061026461072c36600461453f565b6114da565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061076a5761076a614cc3565b602090810291909101015260006107aa7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611585565b949350505050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106107e8576107e8614cc3565b60200260200101818152505061084e7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161083191815260200190565b60408051601f19818403018152919052630100080160dd1b6115b2565b505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106108ac576108ac614cc3565b6020908102919091010152600080806109057f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006115c7565b9250925092506109168383836116cf565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b6060600080610967878787876116e7565b915091508161097957610979816118b7565b9695505050505050565b6060610979868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506118bf9050565b3033036109f4576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6109fe8633611904565b610a718686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061195092505050565b505050505050565b303303610aa7576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610ab18633611904565b610a718686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061196b92505050565b6060610b65858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508792506119a6915050565b95945050505050565b303303610b9c576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610ba68833611904565b610c4d8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152506119e092505050565b5050505050505050565b303303610c85576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610c8f8733611904565b610d048787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152508892506119f6915050565b50505050505050565b303303610d3b576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610d458733611904565b610d048787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152508892506115b2915050565b6000610dc582611a39565b92915050565b6060303303610dfb576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61094f33848434610956565b606060006060610e4c878787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506115c7915050565b9250925092509450945094915050565b60606109798686868686611abe565b303303610e99576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610ea38333611904565b61084e83838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611bc192505050565b6060303303610f10576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b03851603610f3357610f2c33848434610956565b905061094f565b6000610f3f8533611bd4565b9050610f4e8186338787611c85565b15610f6757610f5f85858534610956565b91505061094f565b6000610f74866000611bd4565b9050610f838187338888611c85565b15610f9d57610f9486868634610956565b9250505061094f565b6000610fcf616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000881617611d5a565b9050610fde8188338989611c85565b15610ff957610fef87878734610956565b935050505061094f565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b0388166004820152336024820152604401610290565b6000610979868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506115859050565b6000610b6585858585611dd3565b60006107aa848484611e1b565b3033036110c8576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b60408051616e7360f01b60208201526000602282018190526030820152611108910160405160208183030381529060405261110290614387565b33611e31565b6111128282611e82565b5050565b303303611144576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61114e8633611904565b610a718686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611f3592505050565b3033036111ef576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6111f98833611904565b610c4d8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284376000920191909152506121d092505050565b30330361129d576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113415760408051616e7360f01b6020820152600060228201819052603082015261130c910160405160208183030381529060405261130790614387565b6121e8565b336040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614cd9565b600061134b612325565b6001600160a01b03161461138b576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113948161238c565b6040805160008152602081019091526113ae908290611e82565b50565b6060600060606113f48686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061242792505050565b92509250925093509350939050565b6060610b658585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525087925061244d915050565b6000610dc582612463565b30330361147d576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6114878533611904565b6114c8858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508792508691506124d79050565b5050505050565b6000610dc582612530565b303303611508576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6115128633611904565b610a718686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061255692505050565b6000610b656115948686612591565b60ff858116601b0360080285901c166115ad85876125e7565b612620565b6114c885856115c184876125e7565b85611f35565b60606000606060006115d885612671565b90506115e5878783612694565b935060006115f2866126cd565b905080156116c457611604888861270a565b935066ffffffffffffff841667ffffffffffffffff81111561162857611628614786565b6040519080825280601f01601f191660200182016040528015611652576020820181803683370190505b5092506020830160005b828160ff1610156116c15760006116748b8b8461271d565b90506000611691888460ff166028026038011c64ffffffffff1690565b90506116a0826000838761279d565b6116aa81856143c4565b9350505080806116b990614d04565b91505061165c565b50505b505093509350939050565b6000806116db85612869565b90969095509350505050565b6000606060006116f68661287e565b905060005b81518110156117c957600082828151811061171857611718614cc3565b602002602001015190506117446001826affffffffffffffffffffff191661290790919063ffffffff16565b156117c0576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c33230319061178d908c908c908c90600401614d23565b600060405180830381600087803b1580156117a757600080fd5b505af11580156117bb573d6000803e3d6000fd5b505050505b506001016116fb565b506117d687858888612925565b909350915060005b81518110156118ac5760008282815181106117fb576117fb614cc3565b602002602001015190506118276002826affffffffffffffffffffff191661290790919063ffffffff16565b156118a3576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611870908c908c908c90600401614d23565b600060405180830381600087803b15801561188a57600080fd5b505af115801561189e573d6000803e3d6000fd5b505050505b506001016117de565b505094509492505050565b805160208201fd5b60606118ca82612a40565b8360ff1610156118e7576118e085858585612a52565b90506107aa565b6118e085856118f585612a40565b6118ff9087614d4b565b6119a6565b61190e8282612a7f565b6111125761191b826121e8565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614cd9565b6119658484848461196089611a39565b6119f6565b50505050565b6000611977858561270a565b90506000611994828560ff166028026038011c64ffffffffff1690565b9050610a718686868460008888612ac2565b60606107aa6119b685858561271d565b60006119db856119c6898961270a565b9060ff166028026038011c64ffffffffff1690565b612efa565b6114c885858585856119f18b611a39565b612f1d565b6119ff81612a40565b8360ff161015611a1b57611a1685858585856115b2565b6114c8565b6114c88585611a2984612a40565b611a339087614d4b565b85612556565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a8857507e60030220202000000000000000000000000000000000000000000000000000919050565b610dc5611ab57f746273746f72650000000000000000005461626c65730000000000000000000084613262565b60206000612620565b606081831115611b04576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610290565b6000611b10878761270a565b90506000611b2d828760ff166028026038011c64ffffffffff1690565b90508085101580611b3d57508084115b15611b98578081861015611b5b57611b56600186614d64565b611b5d565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610290565b6000611ba589898961271d565b9050611bb48187888803612efa565b9998505050505050505050565b6111128282611bcf85611a39565b61327e565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611c1957611c19614cc3565b602002602001018181525050826001600160a01b031660001b81600181518110611c4557611c45614cc3565b60209081029190910101526000610b657f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b611585565b6000611c908661357d565b15611c9d57506001610b65565b85611caa57506000610b65565b600080611d268660008a8a8989604051602401611cc993929190614d23565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612925565b9150915081611d3a57600092505050610b65565b80806020019051810190611d4e9190614d77565b98975050505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611d9357611d93614cc3565b602090810291909101015260006107aa7f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b611585565b600080611ddf83612a40565b90508060ff168460ff161015611e075760ff848116601b0360080284901c165b9150506107aa565b611dff8686611e168488614d4b565b6135f8565b60006107aa848484611e2c88611a39565b611dd3565b6001600160a01b038116611e6b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617613608565b6001600160a01b0316146111125761191b826121e8565b611eac827f6fdd1c80000000000000000000000000000000000000000000000000000000006136a4565b611f213360008484604051602401611ec491906144ea565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b0335000000000000000000000000000000000000000000000000000000001790526136ff565b506111128282805190602001206001613710565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611fbf57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611fb293929190614dd5565b60405180910390a2611965565b6000611fcb8585612591565b90506000611fd8866137f4565b905060005b81518110156120ad576000828281518110611ffa57611ffa614cc3565b602002602001015190506120266004826affffffffffffffffffffff191661290790919063ffffffff16565b156120a4576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612071908b908b908b908b90600401614e08565b600060405180830381600087803b15801561208b57600080fd5b505af115801561209f573d6000803e3d6000fd5b505050505b50600101611fdd565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516120e293929190614dd5565b60405180910390a26120fd828565ffffffffffff1685613866565b60005b8151811015610d0457600082828151811061211d5761211d614cc3565b602002602001015190506121496008826affffffffffffffffffffff191661290790919063ffffffff16565b156121c7576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612194908b908b908b908b90600401614e08565b600060405180830381600087803b1580156121ae57600080fd5b505af11580156121c2573d6000803e3d6000fd5b505050505b50600101612100565b610a718686868686866121e38d8d61270a565b612ac2565b606081601081901b60006121fb8361387c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612256576122517fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613893565b61228d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156122c3576122be83613893565b6122fa565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161230c93929190614e41565b6040516020818303038152906040529350505050919050565b6040805160008082526020820190925260006123827f7462776f726c64000000000000000000496e69744d6f64756c6541646472657383837e14010014000000000000000000000000000000000000000000000000000000613937565b60601c9392505050565b604080516000808252602082018352606084901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000168284015282518083036034018152605483019093529091611112917f7462776f726c64000000000000000000496e69744d6f64756c65416464726573918491907e140100140000000000000000000000000000000000000000000000000000006139ec565b606060006060612440858561243b88611a39565b6115c7565b9250925092509250925092565b60606107aa84848461245e88611a39565b6118bf565b600061246e82613a95565b905061247982613b27565b6124d257818260405160200161249191815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102909291600401614ecf565b919050565b60006124e3858561270a565b90506000612500828560ff166028026038011c64ffffffffff1690565b9050610a718686866125198764ffffffffff8716614d64565b604080516000815260208101909152889088612ac2565b600061253b82613bc4565b9050806124d257818260405160200161249191815260200190565b6000612562858561270a565b9050600061257f828560ff166028026038011c64ffffffffff1690565b9050610a718686866000858888612ac2565b600082826040516020016125a6929190614ee8565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156126185761260e60ff601b83900360080287901c16836143c4565b91506001016125ec565b509392505050565b6000602082106126465760208204840193506020828161264257612642614f24565b0691505b508254600882021b602082900380841115612618576001850154600882021c82179150509392505050565b6000600861268160026020614d64565b61268b9190614f3a565b9190911c919050565b6060816000036126b3575060408051602081019091526000815261094f565b60006126bf8585612591565b9050610b6581600085612efa565b600060086001806126e060026020614d64565b6126ea9190614d64565b6126f49190614d64565b6126fe9190614f3a565b8260ff911c1692915050565b600061094f6127198484613c56565b5490565b60008383604051602001612732929190614ee8565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561282457602083106127c7576020830484019350602083816127c3576127c3614f24565b0692505b82156128245760208390036000818410156127ea5750600019600884021c6127f4565b50600019600882021c5b8554600886021b818451168219821617845250818411612815575050611965565b50600194909401939182900391015b5b602082106128465783548152600190930192601f1990910190602001612825565b8115611965576000600019600884021c8251865482191691161782525050505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128b8576128b8614cc3565b602090810291909101015260006128f07f7462776f726c6400000000000000000053797374656d486f6f6b73000000000083836119a6565b90506107aa6129028260008451613cac565b613d3a565b60008160ff16826129188560581c90565b1660ff1614905092915050565b6000606060008061293586613d4b565b90925090506001600160a01b0382166129865785612952876121e8565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610290929190614ecf565b80612995576129958689611904565b86156129e1577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b1760006129ce82610731565b90506129de8261025f8b846143c4565b50505b60006129ed8760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612a2557612a2088888488613def565b612a31565b612a3188888488613e67565b90999098509650505050505050565b6000600860016126ea60026020614d64565b6060610b65612a618686612591565b612a6b84866125e7565b60ff868116601b0360080286901c16612efa565b6000612ab2616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ec8565b8061094f575061094f8383613ec8565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612b82577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612b4091815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610290939291600401614f51565b6000612b9d828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612bb69190614d64565b612bc091906143c4565b9050808214158015612be2575081612bd88688614f92565b64ffffffffff1614155b15612c32576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610290565b818664ffffffffff161115612c83576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610290565b6000612c90848984613f91565b90506000612c9d8b6137f4565b905060005b8151811015612d68576000828281518110612cbf57612cbf614cc3565b60200260200101519050612ceb6010826affffffffffffffffffffff191661290790919063ffffffff16565b15612d5f57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612d2c9796959493929190614fb7565b600060405180830381600087803b158015612d4657600080fd5b505af1158015612d5a573d6000803e3d6000fd5b505050505b50600101612ca2565b5064ffffffffff881660005b8a60ff168160ff161015612da757612d9b878260ff166028026038011c64ffffffffff1690565b90910190600101612d74565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c604051612de0959493929190615015565b60405180910390a250828414612e01576000612dfc8c8c613c56565b839055505b6000612e0e8c8c8c61271d565b9050612e22818a64ffffffffff1689613866565b5060005b8151811015612eec576000828281518110612e4357612e43614cc3565b60200260200101519050612e6f6020826affffffffffffffffffffff191661290790919063ffffffff16565b15612ee357606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612eb09796959493929190614fb7565b600060405180830381600087803b158015612eca57600080fd5b505af1158015612ede573d6000803e3d6000fd5b505050505b50600101612e26565b505050505050505050505050565b60405160208101601f19603f84840101166040528282526126188585858461279d565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612fa957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612f9c949392919061505b565b60405180910390a2610a71565b6000612fb4876137f4565b905060005b815181101561308d576000828281518110612fd657612fd6614cc3565b602002602001015190506130026001826affffffffffffffffffffff191661290790919063ffffffff16565b15613084576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613051908c908c908c908c908c908c9060040161509a565b600060405180830381600087803b15801561306b57600080fd5b505af115801561307f573d6000803e3d6000fd5b505050505b50600101612fb9565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516130c4949392919061505b565b60405180910390a260006130d88888612591565b905060006020870190506130f082600089518461405f565b60006130fb856126cd565b111561317f57600061310d8a8a613c56565b878155905060208601915060008060005b613127886126cd565b8160ff16101561317a5761313c8d8d8361271d565b92506131578a8260ff166028026038011c64ffffffffff1690565b9150613166836000848861405f565b61317082866143c4565b945060010161311e565b505050505b60005b835181101561325657600084828151811061319f5761319f614cc3565b602002602001015190506131cb6002826affffffffffffffffffffff191661290790919063ffffffff16565b1561324d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061321a908e908e908e908e908e908e9060040161509a565b600060405180830381600087803b15801561323457600080fd5b505af1158015613248573d6000803e3d6000fd5b505050505b50600101613182565b50505050505050505050565b60408051602081018490529081018290526000906060016125a6565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361330457827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516132f791906150f3565b60405180910390a2505050565b600061330f846137f4565b905060005b81518110156133e257600082828151811061333157613331614cc3565b6020026020010151905061335d6040826affffffffffffffffffffff191661290790919063ffffffff16565b156133d9576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906133a690899089908990600401615106565b600060405180830381600087803b1580156133c057600080fd5b505af11580156133d4573d6000803e3d6000fd5b505050505b50600101613314565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161341391906150f3565b60405180910390a260006134278585612591565b905061348081600061343886612671565b67ffffffffffffffff81111561345057613450614786565b6040519080825280601f01601f19166020018201604052801561347a576020820181803683370190505b50613866565b600061348b846126cd565b11156134ac57600061349d8686613c56565b90506134aa81602061411e565b505b60005b8251811015610a715760008382815181106134cc576134cc614cc3565b602002602001015190506134f86080826affffffffffffffffffffff191661290790919063ffffffff16565b15613574576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90613541908a908a908a90600401615106565b600060405180830381600087803b15801561355b57600080fd5b505af115801561356f573d6000803e3d6000fd5b505050505b506001016134af565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f756e6c696d697465640000000000000000000000000000000000000000000000603083015291016040516020818303038152906040526135f090614387565b909114919050565b60006107aa826119c6868661270a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061364157613641614cc3565b602090810291909101015260006136997f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611585565b60601c949350505050565b6136ae828261415b565b611112576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b031982166024820152604401610290565b606060008061096787878787613e67565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061375157613751614cc3565b602002602001018181525050828160018151811061377157613771614cc3565b6020026020010181815250506119657f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b826000856040516020016137bf91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115b2565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061382e5761382e614cc3565b602090810291909101015260006128f07f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836119a6565b61084e838383516138778560200190565b61405f565b600061388a607060106143c4565b9190911b919050565b606060005b60108110156138f8577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156138f857600101613898565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806107aa565b600080613942614177565b9050306001600160a01b0382160361396057611dff86868686611585565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906139ab90899089908990899060040161512f565b602060405180830381865afa1580156139c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dff919061515e565b60006139f6614177565b9050306001600160a01b03821603613a1a57613a1586868686866115b2565b610a71565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090613a679089908990899089908990600401615177565b600060405180830381600087803b158015613a8157600080fd5b505af1158015613256573d6000803e3d6000fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613ace57613ace614cc3565b602090810291909101015260006107aa7f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000611585565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613b6057613b60614cc3565b60209081029190910101526000613bb87f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611585565b90506107aa8160f81c90565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613bfd57613bfd614cc3565b602090810291909101015260006107aa7f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000611585565b60008282604051602001613c6b929190614ee8565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600081831180613cbc5750835182115b15613cf9578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610290939291906151be565b60208401613d0784826143c4565b90506000613d158585614d64565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061094f83601560006141b1565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613d8557613d85614cc3565b602090810291909101015260008080613dde7f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006115c7565b92509250925061091683838361422c565b60006060836001600160a01b03166000613e0a858989614238565b604051613e1791906151e3565b60006040518083038185875af1925050503d8060008114613e54576040519150601f19603f3d011682016040523d82523d6000602084013e613e59565b606091505b509097909650945050505050565b60006060836001600160a01b0316613e80848888614238565b604051613e8d91906151e3565b600060405180830381855af49150503d8060008114613e54576040519150601f19603f3d011682016040523d82523d6000602084013e613e59565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0157613f01614cc3565b602002602001018181525050826001600160a01b031660001b81600181518110613f2d57613f2d614cc3565b60209081029190910101526000613f857f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611585565b9050610b658160f81c90565b600064ffffffffff821115613fd5576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610290565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510614007578085038201915061400f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156140d957602083106140895760208304840193506020838161408557614085614f24565b0692505b82156140d95760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116140ca575050611965565b50600194909401939182900391015b5b602082106140fb5780518455600190930192601f19909101906020016140da565b8115611965576000600019600884021c8554835182191691161785555050505050565b6000602061412d83601f6143c4565b61413791906151ff565b61414190846143c4565b90505b8083101561084e5760008355600183019250614144565b600061416683614267565b801561094f575061094f83836142b3565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806124d2573391505090565b606060006141bf8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816141e5576141e5614f24565b04905060405193506020840160208202810160405281855260005b82811015614220578451871c825293870193602090910190600101614200565b50505050509392505050565b6000806116db8561436b565b606083838360405160200161424f93929190615221565b60405160208183030381529060405290509392505050565b6000614293827f01ffc9a7000000000000000000000000000000000000000000000000000000006142b3565b8015610dc557506142ac826001600160e01b03196142b3565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015614354575060208210155b80156143605750600081115b979650505050505050565b6020810151603482015160609190911c9060009060f81c612877565b805160208083015191908110156143a8576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610dc557610dc56143ae565b60008083601f8401126143e957600080fd5b50813567ffffffffffffffff81111561440157600080fd5b6020830191508360208260051b850101111561441c57600080fd5b9250929050565b803560ff811681146124d257600080fd5b60008060008060006080868803121561444c57600080fd5b85359450602086013567ffffffffffffffff81111561446a57600080fd5b614476888289016143d7565b9095509350614489905060408701614423565b949793965091946060013592915050565b60005b838110156144b557818101518382015260200161449d565b50506000910152565b600081518084526144d681602086016020860161449a565b601f01601f19169290920160200192915050565b60208152600061094f60208301846144be565b60008083601f84011261450f57600080fd5b50813567ffffffffffffffff81111561452757600080fd5b60208301915083602082850101111561441c57600080fd5b6000806000806000806080878903121561455857600080fd5b86359550602087013567ffffffffffffffff8082111561457757600080fd5b6145838a838b016143d7565b909750955085915061459760408a01614423565b945060608901359150808211156145ad57600080fd5b506145ba89828a016144fd565b979a9699509497509295939492505050565b600080600080606085870312156145e257600080fd5b84359350602085013567ffffffffffffffff81111561460057600080fd5b61460c878288016143d7565b909450925061461f905060408601614423565b905092959194509250565b60008060008060008060008060a0898b03121561464657600080fd5b88359750602089013567ffffffffffffffff8082111561466557600080fd5b6146718c838d016143d7565b909950975060408b013591508082111561468a57600080fd5b6146968c838d016144fd565b909750955060608b0135945060808b01359150808211156146b657600080fd5b506146c38b828c016144fd565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a0312156146f257600080fd5b87359650602088013567ffffffffffffffff8082111561471157600080fd5b61471d8b838c016143d7565b909850965086915061473160408b01614423565b955060608a013591508082111561474757600080fd5b506147548a828b016144fd565b989b979a50959894979596608090950135949350505050565b60006020828403121561477f57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156147c5576147c5614786565b604052919050565b600082601f8301126147de57600080fd5b813567ffffffffffffffff8111156147f8576147f8614786565b61480b6020601f19601f8401160161479c565b81815284602083860101111561482057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561485057600080fd5b82359150602083013567ffffffffffffffff81111561486e57600080fd5b61487a858286016147cd565b9150509250929050565b6000806000806060858703121561489a57600080fd5b84359350602085013567ffffffffffffffff8111156148b857600080fd5b6148c4878288016143d7565b9598909750949560400135949350505050565b6060815260006148ea60608301866144be565b846020840152828103604084015261097981856144be565b600082601f83011261491357600080fd5b8135602067ffffffffffffffff82111561492f5761492f614786565b8160051b61493e82820161479c565b928352848101820192828101908785111561495857600080fd5b83870192505b848310156143605782358252918301919083019061495e565b600080600080600060a0868803121561498f57600080fd5b85359450602086013567ffffffffffffffff8111156149ad57600080fd5b6149b988828901614902565b9450506149c860408701614423565b94979396509394606081013594506080013592915050565b6000806000604084860312156149f557600080fd5b83359250602084013567ffffffffffffffff811115614a1357600080fd5b614a1f868287016143d7565b9497909650939450505050565b6001600160a01b03811681146113ae57600080fd5b600080600060608486031215614a5657600080fd5b8335614a6181614a2c565b925060208401359150604084013567ffffffffffffffff811115614a8457600080fd5b614a90868287016147cd565b9150509250925092565b60008060008060808587031215614ab057600080fd5b84359350602085013567ffffffffffffffff811115614ace57600080fd5b614ada87828801614902565b935050614ae960408601614423565b9396929550929360600135925050565b600080600060608486031215614b0e57600080fd5b83359250602084013567ffffffffffffffff811115614b2c57600080fd5b614b3886828701614902565b925050614b4760408501614423565b90509250925092565b60008060408385031215614b6357600080fd5b8235614b6e81614a2c565b9150602083013567ffffffffffffffff81111561486e57600080fd5b60008060008060008060808789031215614ba357600080fd5b86359550602087013567ffffffffffffffff80821115614bc257600080fd5b614bce8a838b016143d7565b90975095506040890135915065ffffffffffff82168214614bee57600080fd5b909350606088013590808211156145ad57600080fd5b803564ffffffffff811681146124d257600080fd5b60008060008060008060008060c0898b031215614c3557600080fd5b88359750602089013567ffffffffffffffff80821115614c5457600080fd5b614c608c838d016143d7565b9099509750879150614c7460408c01614423565b9650614c8260608c01614c04565b9550614c9060808c01614c04565b945060a08b01359150808211156146b657600080fd5b600060208284031215614cb857600080fd5b813561094f81614a2c565b634e487b7160e01b600052603260045260246000fd5b604081526000614cec60408301856144be565b90506001600160a01b03831660208301529392505050565b600060ff821660ff8103614d1a57614d1a6143ae565b60010192915050565b6001600160a01b0384168152826020820152606060408201526000610b6560608301846144be565b60ff8281168282160390811115610dc557610dc56143ae565b81810381811115610dc557610dc56143ae565b600060208284031215614d8957600080fd5b8151801515811461094f57600080fd5b60008151808452602080850194506020840160005b83811015614dca57815187529582019590820190600101614dae565b509495945050505050565b606081526000614de86060830186614d99565b65ffffffffffff85166020840152828103604084015261097981856144be565b848152608060208201526000614e216080830186614d99565b65ffffffffffff85166040840152828103606084015261436081856144be565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614ea281600386016020890161449a565b808401905081600382015284519150614ec282600483016020880161449a565b0160040195945050505050565b8281526040602082015260006107aa60408301846144be565b8281526000602080830184516020860160005b82811015614f1757815184529284019290840190600101614efb565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b8082028115828204841417610dc557610dc56143ae565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610b6560608301846144be565b64ffffffffff818116838216019080821115614fb057614fb06143ae565b5092915050565b87815260e060208201526000614fd060e0830189614d99565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261500781856144be565b9a9950505050505050505050565b60a08152600061502860a0830188614d99565b65ffffffffffff8716602084015264ffffffffff861660408401528460608401528281036080840152611d4e81856144be565b60808152600061506e6080830187614d99565b828103602084015261508081876144be565b9050846040840152828103606084015261436081856144be565b86815260c0602082015260006150b360c0830188614d99565b82810360408401526150c581886144be565b905085606084015282810360808401526150df81866144be565b9150508260a0830152979650505050505050565b60208152600061094f6020830184614d99565b83815260606020820152600061511f6060830185614d99565b9050826040830152949350505050565b8481526080602082015260006151486080830186614d99565b60ff949094166040830152506060015292915050565b60006020828403121561517057600080fd5b5051919050565b85815260a06020820152600061519060a0830187614d99565b60ff8616604084015282810360608401526151ab81866144be565b9150508260808301529695505050505050565b6060815260006151d160608301866144be565b60208301949094525060400152919050565b600082516151f581846020870161449a565b9190910192915050565b60008261521c57634e487b7160e01b600052601260045260246000fd5b500490565b6000845161523381846020890161449a565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1592:14970:57:-:0;;;1980:81;;;;;;;;;-1:-1:-1;739:22:21;996:42:24;2304:38;;-1:-1:-1;;;;;;2304:38:24;4066:4:20;2304:38:24;;;3993:84:20;739:22:21;772:25;;-1:-1:-1;;;783:13:21;772:25;;;;;2010:10:57;2000:20;;2031:25;;-1:-1:-1;;;2042:13:57;2031:25;;;;;1592:14970;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101d15760003560e01c80638c364d59116100f7578063c4d66de811610095578063d9c03a0411610064578063d9c03a04146106d1578063dbbf0e21146105d1578063e228a4a3146106f1578063ef6ea8621461071157610266565b8063c4d66de814610651578063cc49db7e14610671578063d03edb8c14610691578063d4285dc2146106b157610266565b8063af068c9e116100d1578063af068c9e146105f1578063b047c1eb14610611578063c0a2895a14610631578063c11222291461054b57610266565b80638c364d59146105915780639f1fcf0a146105b1578063a53417ed146105d157610266565b8063390baae01161016f5780634dc77d971161013e5780634dc77d971461050b578063505a181d1461052b5780636951955d1461054b578063894ecc581461057e57610266565b8063390baae01461047b5780633a77c2c21461049b5780633ae7af08146104c9578063419b58fd146104dc57610266565b8063150f3262116101ab578063150f3262146103fb5780631e7889771461041b578063298314fb1461043b5780633708196e1461045b57610266565b806302d05d3f1461035d57806305242d2f146103ae578063114a7266146103db57610266565b366102665760408051616e7360f01b60208201526000602282018190526030820181905291610218910160405160208183030381529060405261021390614387565b610731565b60408051616e7360f01b60208201526000602282018190526030820152919250610264910160405160208183030381529060405261025590614387565b61025f34846143c4565b6107b2565b005b303303610299576040516327a1460b60e21b81526001600160e01b03196000351660048201526024015b60405180910390fd5b6000806102b16000356001600160e01b031916610853565b91509150816000801b036102ff576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b0319600035166004820152602401610290565b60006103436000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508691506109239050565b9050600061035333858434610956565b9050805160208201f35b34801561036957600080fd5b506103917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103ba57600080fd5b506103ce6103c9366004614434565b610983565b6040516103a591906144ea565b3480156103e757600080fd5b506102646103f636600461453f565b6109c6565b34801561040757600080fd5b5061026461041636600461453f565b610a79565b34801561042757600080fd5b506103ce6104363660046145cc565b610b24565b34801561044757600080fd5b5061026461045636600461462a565b610b6e565b34801561046757600080fd5b506102646104763660046146d7565b610c57565b34801561048757600080fd5b506102646104963660046146d7565b610d0d565b3480156104a757600080fd5b506104bb6104b636600461476d565b610dba565b6040519081526020016103a5565b6103ce6104d736600461483d565b610dcb565b3480156104e857600080fd5b506104fc6104f7366004614884565b610e07565b6040516103a5939291906148d7565b34801561051757600080fd5b506103ce610526366004614977565b610e5c565b34801561053757600080fd5b506102646105463660046149e0565b610e6b565b34801561055757600080fd5b507f312e302e302d756e6175646974656400000000000000000000000000000000006104bb565b6103ce61058c366004614a41565b610ee0565b34801561059d57600080fd5b506104bb6105ac366004614434565b61103c565b3480156105bd57600080fd5b506104bb6105cc366004614a9a565b61107f565b3480156105dd57600080fd5b506104bb6105ec366004614af9565b61108d565b3480156105fd57600080fd5b5061026461060c366004614b50565b61109a565b34801561061d57600080fd5b5061026461062c366004614b8a565b611116565b34801561063d57600080fd5b5061026461064c366004614c19565b6111c1565b34801561065d57600080fd5b5061026461066c366004614ca6565b61126f565b34801561067d57600080fd5b506104fc61068c3660046149e0565b6113b1565b34801561069d57600080fd5b506103ce6106ac3660046145cc565b611403565b3480156106bd57600080fd5b506104bb6106cc36600461476d565b611444565b3480156106dd57600080fd5b506102646106ec366004614434565b61144f565b3480156106fd57600080fd5b506104bb61070c36600461476d565b6114cf565b34801561071d57600080fd5b5061026461072c36600461453f565b6114da565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061076a5761076a614cc3565b602090810291909101015260006107aa7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611585565b949350505050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106107e8576107e8614cc3565b60200260200101818152505061084e7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161083191815260200190565b60408051601f19818403018152919052630100080160dd1b6115b2565b505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106108ac576108ac614cc3565b6020908102919091010152600080806109057f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006115c7565b9250925092506109168383836116cf565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b6060600080610967878787876116e7565b915091508161097957610979816118b7565b9695505050505050565b6060610979868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506118bf9050565b3033036109f4576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6109fe8633611904565b610a718686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061195092505050565b505050505050565b303303610aa7576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610ab18633611904565b610a718686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061196b92505050565b6060610b65858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508792506119a6915050565b95945050505050565b303303610b9c576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610ba68833611904565b610c4d8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152506119e092505050565b5050505050505050565b303303610c85576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610c8f8733611904565b610d048787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152508892506119f6915050565b50505050505050565b303303610d3b576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610d458733611904565b610d048787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152508892506115b2915050565b6000610dc582611a39565b92915050565b6060303303610dfb576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61094f33848434610956565b606060006060610e4c878787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506115c7915050565b9250925092509450945094915050565b60606109798686868686611abe565b303303610e99576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610ea38333611904565b61084e83838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611bc192505050565b6060303303610f10576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b03851603610f3357610f2c33848434610956565b905061094f565b6000610f3f8533611bd4565b9050610f4e8186338787611c85565b15610f6757610f5f85858534610956565b91505061094f565b6000610f74866000611bd4565b9050610f838187338888611c85565b15610f9d57610f9486868634610956565b9250505061094f565b6000610fcf616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000881617611d5a565b9050610fde8188338989611c85565b15610ff957610fef87878734610956565b935050505061094f565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b0388166004820152336024820152604401610290565b6000610979868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506115859050565b6000610b6585858585611dd3565b60006107aa848484611e1b565b3033036110c8576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b60408051616e7360f01b60208201526000602282018190526030820152611108910160405160208183030381529060405261110290614387565b33611e31565b6111128282611e82565b5050565b303303611144576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61114e8633611904565b610a718686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611f3592505050565b3033036111ef576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6111f98833611904565b610c4d8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284376000920191909152506121d092505050565b30330361129d576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113415760408051616e7360f01b6020820152600060228201819052603082015261130c910160405160208183030381529060405261130790614387565b6121e8565b336040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614cd9565b600061134b612325565b6001600160a01b03161461138b576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113948161238c565b6040805160008152602081019091526113ae908290611e82565b50565b6060600060606113f48686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061242792505050565b92509250925093509350939050565b6060610b658585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525087925061244d915050565b6000610dc582612463565b30330361147d576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6114878533611904565b6114c8858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508792508691506124d79050565b5050505050565b6000610dc582612530565b303303611508576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6115128633611904565b610a718686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061255692505050565b6000610b656115948686612591565b60ff858116601b0360080285901c166115ad85876125e7565b612620565b6114c885856115c184876125e7565b85611f35565b60606000606060006115d885612671565b90506115e5878783612694565b935060006115f2866126cd565b905080156116c457611604888861270a565b935066ffffffffffffff841667ffffffffffffffff81111561162857611628614786565b6040519080825280601f01601f191660200182016040528015611652576020820181803683370190505b5092506020830160005b828160ff1610156116c15760006116748b8b8461271d565b90506000611691888460ff166028026038011c64ffffffffff1690565b90506116a0826000838761279d565b6116aa81856143c4565b9350505080806116b990614d04565b91505061165c565b50505b505093509350939050565b6000806116db85612869565b90969095509350505050565b6000606060006116f68661287e565b905060005b81518110156117c957600082828151811061171857611718614cc3565b602002602001015190506117446001826affffffffffffffffffffff191661290790919063ffffffff16565b156117c0576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c33230319061178d908c908c908c90600401614d23565b600060405180830381600087803b1580156117a757600080fd5b505af11580156117bb573d6000803e3d6000fd5b505050505b506001016116fb565b506117d687858888612925565b909350915060005b81518110156118ac5760008282815181106117fb576117fb614cc3565b602002602001015190506118276002826affffffffffffffffffffff191661290790919063ffffffff16565b156118a3576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611870908c908c908c90600401614d23565b600060405180830381600087803b15801561188a57600080fd5b505af115801561189e573d6000803e3d6000fd5b505050505b506001016117de565b505094509492505050565b805160208201fd5b60606118ca82612a40565b8360ff1610156118e7576118e085858585612a52565b90506107aa565b6118e085856118f585612a40565b6118ff9087614d4b565b6119a6565b61190e8282612a7f565b6111125761191b826121e8565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614cd9565b6119658484848461196089611a39565b6119f6565b50505050565b6000611977858561270a565b90506000611994828560ff166028026038011c64ffffffffff1690565b9050610a718686868460008888612ac2565b60606107aa6119b685858561271d565b60006119db856119c6898961270a565b9060ff166028026038011c64ffffffffff1690565b612efa565b6114c885858585856119f18b611a39565b612f1d565b6119ff81612a40565b8360ff161015611a1b57611a1685858585856115b2565b6114c8565b6114c88585611a2984612a40565b611a339087614d4b565b85612556565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a8857507e60030220202000000000000000000000000000000000000000000000000000919050565b610dc5611ab57f746273746f72650000000000000000005461626c65730000000000000000000084613262565b60206000612620565b606081831115611b04576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610290565b6000611b10878761270a565b90506000611b2d828760ff166028026038011c64ffffffffff1690565b90508085101580611b3d57508084115b15611b98578081861015611b5b57611b56600186614d64565b611b5d565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610290565b6000611ba589898961271d565b9050611bb48187888803612efa565b9998505050505050505050565b6111128282611bcf85611a39565b61327e565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611c1957611c19614cc3565b602002602001018181525050826001600160a01b031660001b81600181518110611c4557611c45614cc3565b60209081029190910101526000610b657f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b611585565b6000611c908661357d565b15611c9d57506001610b65565b85611caa57506000610b65565b600080611d268660008a8a8989604051602401611cc993929190614d23565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612925565b9150915081611d3a57600092505050610b65565b80806020019051810190611d4e9190614d77565b98975050505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611d9357611d93614cc3565b602090810291909101015260006107aa7f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b611585565b600080611ddf83612a40565b90508060ff168460ff161015611e075760ff848116601b0360080284901c165b9150506107aa565b611dff8686611e168488614d4b565b6135f8565b60006107aa848484611e2c88611a39565b611dd3565b6001600160a01b038116611e6b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617613608565b6001600160a01b0316146111125761191b826121e8565b611eac827f6fdd1c80000000000000000000000000000000000000000000000000000000006136a4565b611f213360008484604051602401611ec491906144ea565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b0335000000000000000000000000000000000000000000000000000000001790526136ff565b506111128282805190602001206001613710565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611fbf57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611fb293929190614dd5565b60405180910390a2611965565b6000611fcb8585612591565b90506000611fd8866137f4565b905060005b81518110156120ad576000828281518110611ffa57611ffa614cc3565b602002602001015190506120266004826affffffffffffffffffffff191661290790919063ffffffff16565b156120a4576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612071908b908b908b908b90600401614e08565b600060405180830381600087803b15801561208b57600080fd5b505af115801561209f573d6000803e3d6000fd5b505050505b50600101611fdd565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516120e293929190614dd5565b60405180910390a26120fd828565ffffffffffff1685613866565b60005b8151811015610d0457600082828151811061211d5761211d614cc3565b602002602001015190506121496008826affffffffffffffffffffff191661290790919063ffffffff16565b156121c7576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612194908b908b908b908b90600401614e08565b600060405180830381600087803b1580156121ae57600080fd5b505af11580156121c2573d6000803e3d6000fd5b505050505b50600101612100565b610a718686868686866121e38d8d61270a565b612ac2565b606081601081901b60006121fb8361387c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612256576122517fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613893565b61228d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156122c3576122be83613893565b6122fa565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161230c93929190614e41565b6040516020818303038152906040529350505050919050565b6040805160008082526020820190925260006123827f7462776f726c64000000000000000000496e69744d6f64756c6541646472657383837e14010014000000000000000000000000000000000000000000000000000000613937565b60601c9392505050565b604080516000808252602082018352606084901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000168284015282518083036034018152605483019093529091611112917f7462776f726c64000000000000000000496e69744d6f64756c65416464726573918491907e140100140000000000000000000000000000000000000000000000000000006139ec565b606060006060612440858561243b88611a39565b6115c7565b9250925092509250925092565b60606107aa84848461245e88611a39565b6118bf565b600061246e82613a95565b905061247982613b27565b6124d257818260405160200161249191815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102909291600401614ecf565b919050565b60006124e3858561270a565b90506000612500828560ff166028026038011c64ffffffffff1690565b9050610a718686866125198764ffffffffff8716614d64565b604080516000815260208101909152889088612ac2565b600061253b82613bc4565b9050806124d257818260405160200161249191815260200190565b6000612562858561270a565b9050600061257f828560ff166028026038011c64ffffffffff1690565b9050610a718686866000858888612ac2565b600082826040516020016125a6929190614ee8565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156126185761260e60ff601b83900360080287901c16836143c4565b91506001016125ec565b509392505050565b6000602082106126465760208204840193506020828161264257612642614f24565b0691505b508254600882021b602082900380841115612618576001850154600882021c82179150509392505050565b6000600861268160026020614d64565b61268b9190614f3a565b9190911c919050565b6060816000036126b3575060408051602081019091526000815261094f565b60006126bf8585612591565b9050610b6581600085612efa565b600060086001806126e060026020614d64565b6126ea9190614d64565b6126f49190614d64565b6126fe9190614f3a565b8260ff911c1692915050565b600061094f6127198484613c56565b5490565b60008383604051602001612732929190614ee8565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561282457602083106127c7576020830484019350602083816127c3576127c3614f24565b0692505b82156128245760208390036000818410156127ea5750600019600884021c6127f4565b50600019600882021c5b8554600886021b818451168219821617845250818411612815575050611965565b50600194909401939182900391015b5b602082106128465783548152600190930192601f1990910190602001612825565b8115611965576000600019600884021c8251865482191691161782525050505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128b8576128b8614cc3565b602090810291909101015260006128f07f7462776f726c6400000000000000000053797374656d486f6f6b73000000000083836119a6565b90506107aa6129028260008451613cac565b613d3a565b60008160ff16826129188560581c90565b1660ff1614905092915050565b6000606060008061293586613d4b565b90925090506001600160a01b0382166129865785612952876121e8565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610290929190614ecf565b80612995576129958689611904565b86156129e1577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b1760006129ce82610731565b90506129de8261025f8b846143c4565b50505b60006129ed8760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612a2557612a2088888488613def565b612a31565b612a3188888488613e67565b90999098509650505050505050565b6000600860016126ea60026020614d64565b6060610b65612a618686612591565b612a6b84866125e7565b60ff868116601b0360080286901c16612efa565b6000612ab2616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ec8565b8061094f575061094f8383613ec8565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612b82577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612b4091815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610290939291600401614f51565b6000612b9d828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612bb69190614d64565b612bc091906143c4565b9050808214158015612be2575081612bd88688614f92565b64ffffffffff1614155b15612c32576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610290565b818664ffffffffff161115612c83576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610290565b6000612c90848984613f91565b90506000612c9d8b6137f4565b905060005b8151811015612d68576000828281518110612cbf57612cbf614cc3565b60200260200101519050612ceb6010826affffffffffffffffffffff191661290790919063ffffffff16565b15612d5f57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612d2c9796959493929190614fb7565b600060405180830381600087803b158015612d4657600080fd5b505af1158015612d5a573d6000803e3d6000fd5b505050505b50600101612ca2565b5064ffffffffff881660005b8a60ff168160ff161015612da757612d9b878260ff166028026038011c64ffffffffff1690565b90910190600101612d74565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c604051612de0959493929190615015565b60405180910390a250828414612e01576000612dfc8c8c613c56565b839055505b6000612e0e8c8c8c61271d565b9050612e22818a64ffffffffff1689613866565b5060005b8151811015612eec576000828281518110612e4357612e43614cc3565b60200260200101519050612e6f6020826affffffffffffffffffffff191661290790919063ffffffff16565b15612ee357606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612eb09796959493929190614fb7565b600060405180830381600087803b158015612eca57600080fd5b505af1158015612ede573d6000803e3d6000fd5b505050505b50600101612e26565b505050505050505050505050565b60405160208101601f19603f84840101166040528282526126188585858461279d565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612fa957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612f9c949392919061505b565b60405180910390a2610a71565b6000612fb4876137f4565b905060005b815181101561308d576000828281518110612fd657612fd6614cc3565b602002602001015190506130026001826affffffffffffffffffffff191661290790919063ffffffff16565b15613084576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613051908c908c908c908c908c908c9060040161509a565b600060405180830381600087803b15801561306b57600080fd5b505af115801561307f573d6000803e3d6000fd5b505050505b50600101612fb9565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516130c4949392919061505b565b60405180910390a260006130d88888612591565b905060006020870190506130f082600089518461405f565b60006130fb856126cd565b111561317f57600061310d8a8a613c56565b878155905060208601915060008060005b613127886126cd565b8160ff16101561317a5761313c8d8d8361271d565b92506131578a8260ff166028026038011c64ffffffffff1690565b9150613166836000848861405f565b61317082866143c4565b945060010161311e565b505050505b60005b835181101561325657600084828151811061319f5761319f614cc3565b602002602001015190506131cb6002826affffffffffffffffffffff191661290790919063ffffffff16565b1561324d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061321a908e908e908e908e908e908e9060040161509a565b600060405180830381600087803b15801561323457600080fd5b505af1158015613248573d6000803e3d6000fd5b505050505b50600101613182565b50505050505050505050565b60408051602081018490529081018290526000906060016125a6565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361330457827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516132f791906150f3565b60405180910390a2505050565b600061330f846137f4565b905060005b81518110156133e257600082828151811061333157613331614cc3565b6020026020010151905061335d6040826affffffffffffffffffffff191661290790919063ffffffff16565b156133d9576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906133a690899089908990600401615106565b600060405180830381600087803b1580156133c057600080fd5b505af11580156133d4573d6000803e3d6000fd5b505050505b50600101613314565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161341391906150f3565b60405180910390a260006134278585612591565b905061348081600061343886612671565b67ffffffffffffffff81111561345057613450614786565b6040519080825280601f01601f19166020018201604052801561347a576020820181803683370190505b50613866565b600061348b846126cd565b11156134ac57600061349d8686613c56565b90506134aa81602061411e565b505b60005b8251811015610a715760008382815181106134cc576134cc614cc3565b602002602001015190506134f86080826affffffffffffffffffffff191661290790919063ffffffff16565b15613574576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90613541908a908a908a90600401615106565b600060405180830381600087803b15801561355b57600080fd5b505af115801561356f573d6000803e3d6000fd5b505050505b506001016134af565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f756e6c696d697465640000000000000000000000000000000000000000000000603083015291016040516020818303038152906040526135f090614387565b909114919050565b60006107aa826119c6868661270a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061364157613641614cc3565b602090810291909101015260006136997f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611585565b60601c949350505050565b6136ae828261415b565b611112576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b031982166024820152604401610290565b606060008061096787878787613e67565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061375157613751614cc3565b602002602001018181525050828160018151811061377157613771614cc3565b6020026020010181815250506119657f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b826000856040516020016137bf91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115b2565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061382e5761382e614cc3565b602090810291909101015260006128f07f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836119a6565b61084e838383516138778560200190565b61405f565b600061388a607060106143c4565b9190911b919050565b606060005b60108110156138f8577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156138f857600101613898565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806107aa565b600080613942614177565b9050306001600160a01b0382160361396057611dff86868686611585565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906139ab90899089908990899060040161512f565b602060405180830381865afa1580156139c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dff919061515e565b60006139f6614177565b9050306001600160a01b03821603613a1a57613a1586868686866115b2565b610a71565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090613a679089908990899089908990600401615177565b600060405180830381600087803b158015613a8157600080fd5b505af1158015613256573d6000803e3d6000fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613ace57613ace614cc3565b602090810291909101015260006107aa7f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000611585565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613b6057613b60614cc3565b60209081029190910101526000613bb87f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611585565b90506107aa8160f81c90565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613bfd57613bfd614cc3565b602090810291909101015260006107aa7f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000611585565b60008282604051602001613c6b929190614ee8565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600081831180613cbc5750835182115b15613cf9578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610290939291906151be565b60208401613d0784826143c4565b90506000613d158585614d64565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061094f83601560006141b1565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613d8557613d85614cc3565b602090810291909101015260008080613dde7f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006115c7565b92509250925061091683838361422c565b60006060836001600160a01b03166000613e0a858989614238565b604051613e1791906151e3565b60006040518083038185875af1925050503d8060008114613e54576040519150601f19603f3d011682016040523d82523d6000602084013e613e59565b606091505b509097909650945050505050565b60006060836001600160a01b0316613e80848888614238565b604051613e8d91906151e3565b600060405180830381855af49150503d8060008114613e54576040519150601f19603f3d011682016040523d82523d6000602084013e613e59565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0157613f01614cc3565b602002602001018181525050826001600160a01b031660001b81600181518110613f2d57613f2d614cc3565b60209081029190910101526000613f857f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611585565b9050610b658160f81c90565b600064ffffffffff821115613fd5576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610290565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510614007578085038201915061400f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156140d957602083106140895760208304840193506020838161408557614085614f24565b0692505b82156140d95760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116140ca575050611965565b50600194909401939182900391015b5b602082106140fb5780518455600190930192601f19909101906020016140da565b8115611965576000600019600884021c8554835182191691161785555050505050565b6000602061412d83601f6143c4565b61413791906151ff565b61414190846143c4565b90505b8083101561084e5760008355600183019250614144565b600061416683614267565b801561094f575061094f83836142b3565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806124d2573391505090565b606060006141bf8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816141e5576141e5614f24565b04905060405193506020840160208202810160405281855260005b82811015614220578451871c825293870193602090910190600101614200565b50505050509392505050565b6000806116db8561436b565b606083838360405160200161424f93929190615221565b60405160208183030381529060405290509392505050565b6000614293827f01ffc9a7000000000000000000000000000000000000000000000000000000006142b3565b8015610dc557506142ac826001600160e01b03196142b3565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015614354575060208210155b80156143605750600081115b979650505050505050565b6020810151603482015160609190911c9060009060f81c612877565b805160208083015191908110156143a8576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610dc557610dc56143ae565b60008083601f8401126143e957600080fd5b50813567ffffffffffffffff81111561440157600080fd5b6020830191508360208260051b850101111561441c57600080fd5b9250929050565b803560ff811681146124d257600080fd5b60008060008060006080868803121561444c57600080fd5b85359450602086013567ffffffffffffffff81111561446a57600080fd5b614476888289016143d7565b9095509350614489905060408701614423565b949793965091946060013592915050565b60005b838110156144b557818101518382015260200161449d565b50506000910152565b600081518084526144d681602086016020860161449a565b601f01601f19169290920160200192915050565b60208152600061094f60208301846144be565b60008083601f84011261450f57600080fd5b50813567ffffffffffffffff81111561452757600080fd5b60208301915083602082850101111561441c57600080fd5b6000806000806000806080878903121561455857600080fd5b86359550602087013567ffffffffffffffff8082111561457757600080fd5b6145838a838b016143d7565b909750955085915061459760408a01614423565b945060608901359150808211156145ad57600080fd5b506145ba89828a016144fd565b979a9699509497509295939492505050565b600080600080606085870312156145e257600080fd5b84359350602085013567ffffffffffffffff81111561460057600080fd5b61460c878288016143d7565b909450925061461f905060408601614423565b905092959194509250565b60008060008060008060008060a0898b03121561464657600080fd5b88359750602089013567ffffffffffffffff8082111561466557600080fd5b6146718c838d016143d7565b909950975060408b013591508082111561468a57600080fd5b6146968c838d016144fd565b909750955060608b0135945060808b01359150808211156146b657600080fd5b506146c38b828c016144fd565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a0312156146f257600080fd5b87359650602088013567ffffffffffffffff8082111561471157600080fd5b61471d8b838c016143d7565b909850965086915061473160408b01614423565b955060608a013591508082111561474757600080fd5b506147548a828b016144fd565b989b979a50959894979596608090950135949350505050565b60006020828403121561477f57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156147c5576147c5614786565b604052919050565b600082601f8301126147de57600080fd5b813567ffffffffffffffff8111156147f8576147f8614786565b61480b6020601f19601f8401160161479c565b81815284602083860101111561482057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561485057600080fd5b82359150602083013567ffffffffffffffff81111561486e57600080fd5b61487a858286016147cd565b9150509250929050565b6000806000806060858703121561489a57600080fd5b84359350602085013567ffffffffffffffff8111156148b857600080fd5b6148c4878288016143d7565b9598909750949560400135949350505050565b6060815260006148ea60608301866144be565b846020840152828103604084015261097981856144be565b600082601f83011261491357600080fd5b8135602067ffffffffffffffff82111561492f5761492f614786565b8160051b61493e82820161479c565b928352848101820192828101908785111561495857600080fd5b83870192505b848310156143605782358252918301919083019061495e565b600080600080600060a0868803121561498f57600080fd5b85359450602086013567ffffffffffffffff8111156149ad57600080fd5b6149b988828901614902565b9450506149c860408701614423565b94979396509394606081013594506080013592915050565b6000806000604084860312156149f557600080fd5b83359250602084013567ffffffffffffffff811115614a1357600080fd5b614a1f868287016143d7565b9497909650939450505050565b6001600160a01b03811681146113ae57600080fd5b600080600060608486031215614a5657600080fd5b8335614a6181614a2c565b925060208401359150604084013567ffffffffffffffff811115614a8457600080fd5b614a90868287016147cd565b9150509250925092565b60008060008060808587031215614ab057600080fd5b84359350602085013567ffffffffffffffff811115614ace57600080fd5b614ada87828801614902565b935050614ae960408601614423565b9396929550929360600135925050565b600080600060608486031215614b0e57600080fd5b83359250602084013567ffffffffffffffff811115614b2c57600080fd5b614b3886828701614902565b925050614b4760408501614423565b90509250925092565b60008060408385031215614b6357600080fd5b8235614b6e81614a2c565b9150602083013567ffffffffffffffff81111561486e57600080fd5b60008060008060008060808789031215614ba357600080fd5b86359550602087013567ffffffffffffffff80821115614bc257600080fd5b614bce8a838b016143d7565b90975095506040890135915065ffffffffffff82168214614bee57600080fd5b909350606088013590808211156145ad57600080fd5b803564ffffffffff811681146124d257600080fd5b60008060008060008060008060c0898b031215614c3557600080fd5b88359750602089013567ffffffffffffffff80821115614c5457600080fd5b614c608c838d016143d7565b9099509750879150614c7460408c01614423565b9650614c8260608c01614c04565b9550614c9060808c01614c04565b945060a08b01359150808211156146b657600080fd5b600060208284031215614cb857600080fd5b813561094f81614a2c565b634e487b7160e01b600052603260045260246000fd5b604081526000614cec60408301856144be565b90506001600160a01b03831660208301529392505050565b600060ff821660ff8103614d1a57614d1a6143ae565b60010192915050565b6001600160a01b0384168152826020820152606060408201526000610b6560608301846144be565b60ff8281168282160390811115610dc557610dc56143ae565b81810381811115610dc557610dc56143ae565b600060208284031215614d8957600080fd5b8151801515811461094f57600080fd5b60008151808452602080850194506020840160005b83811015614dca57815187529582019590820190600101614dae565b509495945050505050565b606081526000614de86060830186614d99565b65ffffffffffff85166020840152828103604084015261097981856144be565b848152608060208201526000614e216080830186614d99565b65ffffffffffff85166040840152828103606084015261436081856144be565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614ea281600386016020890161449a565b808401905081600382015284519150614ec282600483016020880161449a565b0160040195945050505050565b8281526040602082015260006107aa60408301846144be565b8281526000602080830184516020860160005b82811015614f1757815184529284019290840190600101614efb565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b8082028115828204841417610dc557610dc56143ae565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610b6560608301846144be565b64ffffffffff818116838216019080821115614fb057614fb06143ae565b5092915050565b87815260e060208201526000614fd060e0830189614d99565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261500781856144be565b9a9950505050505050505050565b60a08152600061502860a0830188614d99565b65ffffffffffff8716602084015264ffffffffff861660408401528460608401528281036080840152611d4e81856144be565b60808152600061506e6080830187614d99565b828103602084015261508081876144be565b9050846040840152828103606084015261436081856144be565b86815260c0602082015260006150b360c0830188614d99565b82810360408401526150c581886144be565b905085606084015282810360808401526150df81866144be565b9150508260a0830152979650505050505050565b60208152600061094f6020830184614d99565b83815260606020820152600061511f6060830185614d99565b9050826040830152949350505050565b8481526080602082015260006151486080830186614d99565b60ff949094166040830152506060015292915050565b60006020828403121561517057600080fd5b5051919050565b85815260a06020820152600061519060a0830187614d99565b60ff8616604084015282810360608401526151ab81866144be565b9150508260808301529695505050505050565b6060815260006151d160608301866144be565b60208301949094525060400152919050565b600082516151f581846020870161449a565b9190910192915050565b60008261521c57634e487b7160e01b600052601260045260246000fd5b500490565b6000845161523381846020890161449a565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1592:14970:57:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;625:63:80;;;-1:-1:-1;;;625:63:80;;;197:92:207;15656:19:57;305:11:207;;;298:100;;;414:12;;;407:101;;;15656:19:57;15678:32;;524:12:207;625:63:80;;;;;;;;;;;;617:72;;;:::i;:::-;15678:13:57;:32::i;:::-;625:63:80;;;-1:-1:-1;;;625:63:80;;;197:92:207;662:14:80;305:11:207;;;298:100;;;414:12;;;407:101;15656:54:57;;-1:-1:-1;15716:57:57;;524:12:207;625:63:80;;;;;;;;;;;;617:72;;;:::i;:::-;15749:23:57;15763:9;15749:11;:23;:::i;:::-;15716:13;:57::i;:::-;15650:128;1592:14970;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;;;;;;;;2176:88;15919:19:::1;15940:29:::0;15973:31:::1;15996:7;;-1:-1:-1::0;;;;;;15996:7:57::1;15973:22;:31::i;:::-;15918:86;;;;16033:8;16046:1;16015:32:::0;::::1;::::0;16011:84:::1;;16056:39;::::0;::::1;::::0;;-1:-1:-1;;;;;;16087:7:57::1;;;16056:39;::::0;::::1;1372:98:207::0;1345:18;;16056:39:57::1;1228:248:207::0;16011:84:57::1;16185:21;16209:52;16225:8;;16209:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;16209:52:57;-1:-1:-1;16238:22:57;;-1:-1:-1;16209:15:57::1;::::0;-1:-1:-1;16209:52:57:i:1;:::-;16185:76;;16319:23;16345:75;16378:10;16390:8;16400;16410:9;16345:32;:75::i;:::-;16319:101;;16538:10;16532:17;16525:4;16513:10;16509:21;16502:48;1736:32:::0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1645:55:207;;;1627:74;;1615:2;1600:18;1736:32:57;;;;;;;;3942:258:23;;;;;;;;;;-1:-1:-1;3942:258:23;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7470:349:57:-;;;;;;;;;;-1:-1:-1;7470:349:57;;;;;:::i;:::-;;:::i;10682:399::-;;;;;;;;;;-1:-1:-1;10682:399:57;;;;;:::i;:::-;;:::i;5209:244:23:-;;;;;;;;;;-1:-1:-1;5209:244:23;;;;;:::i;:::-;;:::i;4972:429:57:-;;;;;;;;;;-1:-1:-1;4972:429:57;;;;;:::i;:::-;;:::i;8228:391::-;;;;;;;;;;-1:-1:-1;8228:391:57;;;;;:::i;:::-;;:::i;9151:403::-;;;;;;;;;;-1:-1:-1;9151:403:57;;;;;:::i;:::-;;:::i;711:156:23:-;;;;;;;;;;-1:-1:-1;711:156:23;;;;;:::i;:::-;;:::i;:::-;;;8303:25:207;;;8291:2;8276:18;711:156:23;8126:208:207;12975:234:57;;;;;;:::i;:::-;;:::i;2604:288:23:-;;;;;;;;;;-1:-1:-1;2604:288:23;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7725:295::-;;;;;;;;;;-1:-1:-1;7725:295:23;;;;;:::i;:::-;;:::i;12215:284:57:-;;;;;;;;;;-1:-1:-1;12215:284:57;;;;;:::i;:::-;;:::i;1830:85::-;;;;;;;;;;-1:-1:-1;1897:13:57;1830:85;;13609:1732;;;;;;:::i;:::-;;:::i;4597:265:23:-;;;;;;;;;;-1:-1:-1;4597:265:23;;;;;:::i;:::-;;:::i;6467:258::-;;;;;;;;;;-1:-1:-1;6467:258:23;;;;;:::i;:::-;;:::i;5915:216::-;;;;;;;;;;-1:-1:-1;5915:216:23;;;;;:::i;:::-;;:::i;3302:212:57:-;;;;;;;;;;-1:-1:-1;3302:212:57;;;;;:::i;:::-;;:::i;5770:369::-;;;;;;;;;;-1:-1:-1;5770:369:57;;;;;:::i;:::-;;:::i;6663:479::-;;;;;;;;;;-1:-1:-1;6663:479:57;;;;;:::i;:::-;;:::i;2505:553::-;;;;;;;;;;-1:-1:-1;2505:553:57;;;;;:::i;:::-;;:::i;1906:246:23:-;;;;;;;;;;-1:-1:-1;1906:246:23;;;;;:::i;:::-;;:::i;3371:216::-;;;;;;;;;;-1:-1:-1;3371:216:23;;;;;:::i;:::-;;:::i;1386:143::-;;;;;;;;;;-1:-1:-1;1386:143:23;;;;;:::i;:::-;;:::i;11520:404:57:-;;;;;;;;;;-1:-1:-1;11520:404:57;;;;;:::i;:::-;;:::i;1054:151:23:-;;;;;;;;;;-1:-1:-1;1054:151:23;;;;;:::i;:::-;;:::i;9920:377:57:-;;;;;;;;;;-1:-1:-1;9920:377:57;;;;;:::i;:::-;;:::i;4485:308:68:-;4598:16;;;4612:1;4598:16;;;;;;;;;4546:15;;;;4598:16;;;;;;;;;;;;-1:-1:-1;4598:16:68;4569:45;;4653:11;4620:9;4630:1;4620:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4672:13;4688:62;1263:66;4723:9;4672:13;-1:-1:-1;;;4688:24:68;:62::i;:::-;4672:78;4485:308;-1:-1:-1;;;;4485:308:68:o;5784:269::-;5883:16;;;5897:1;5883:16;;;;;;;;;5854:26;;5883:16;;;;;;;;;;;-1:-1:-1;5883:16:68;5854:45;;5938:11;5905:9;5915:1;5905:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5957:91;1263:66;1247:83;;5992:9;6003:1;6024:7;6006:27;;;;;;19363:19:207;;19407:2;19398:12;;19234:182;6006:27:68;;;;-1:-1:-1;;6006:27:68;;;;;;;;;-1:-1:-1;;;5957:24:68;:91::i;:::-;5848:205;5784:269;;:::o;6973:451:69:-;7122:16;;;7136:1;7122:16;;;;;;;;;7035:19;;;;;;7122:16;;;;;;;;;;;-1:-1:-1;7122:16:69;7093:45;;7167:16;7159:25;;;7144:9;7154:1;7144:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;7192:24;;;7278:78;1271:66;7321:9;1454:66;7278:19;:78::i;:::-;7191:165;;;;;;7369:50;7376:11;7389:15;7406:12;7369:6;:50::i;:::-;7362:57;;;;;;;;6973:451;;;:::o;1497:492:2:-;1678:28;;;1693:4;1678:28;1672:35;;1781:9;1770:21;1837:20;;1895:43;;1686:5;1497:492;;;;;;:::o;5192:401:55:-;5336:17;5362:12;5376:23;5403:115;5433:6;5477:8;5503;5454:5;5403:13;:115::i;:::-;5361:157;;;;5529:7;5524:41;;5538:27;5554:10;5538:15;:27::i;:::-;5578:10;5192:401;-1:-1:-1;;;;;;5192:401:55:o;3942:258:23:-;4101:17;4133:62;4152:7;4161:8;;4133:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4171:10:23;;-1:-1:-1;4183:11:23;;-1:-1:-1;4133:18:23;;-1:-1:-1;4133:62:23:i;7470:349:57:-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;7683:48:::1;7711:7;7720:10;7683:27;:48::i;:::-;7759:55;7778:7;7787:8;;7759:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;7759:55:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;7797:10;;-1:-1:-1;7759:55:57;-1:-1:-1;7809:4:57;;;;;;7759:55;::::1;7809:4:::0;;;;7759:55;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;7759:18:57::1;::::0;-1:-1:-1;;;7759:55:57:i:1;:::-;7470:349:::0;;;;;;:::o;10682:399::-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;10918:48:::1;10946:7;10955:10;10918:27;:48::i;:::-;10998:78;11027:7;11036:8;;10998:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;10998:78:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11046:17;;-1:-1:-1;10998:78:57;-1:-1:-1;11065:10:57;;;;;;10998:78;::::1;11065:10:::0;;;;10998:78;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;10998:28:57::1;::::0;-1:-1:-1;;;10998:78:57:i:1;5209:244:23:-:0;5353:17;5385:63;5411:7;5420:8;;5385:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5430:17:23;;-1:-1:-1;5385:25:23;;-1:-1:-1;;5385:63:23:i;:::-;5378:70;5209:244;-1:-1:-1;;;;;5209:244:23:o;4972:429:57:-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;5240:48:::1;5268:7;5277:10;5240:27;:48::i;:::-;5317:79;5337:7;5346:8;;5317:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;5317:79:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;5356:10:57;;-1:-1:-1;5356:10:57;;;;5317:79;::::1;5356:10:::0;;;;5317:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;;5317:79:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;5368:14;;-1:-1:-1;5317:79:57;-1:-1:-1;5384:11:57;;;;;;5317:79;::::1;5384:11:::0;;;;5317:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;5317:19:57::1;::::0;-1:-1:-1;;;5317:79:57:i:1;:::-;4972:429:::0;;;;;;;;:::o;8228:391::-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;8470:48:::1;8498:7;8507:10;8470:27;:48::i;:::-;8546:68;8565:7;8574:8;;8546:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;8546:68:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;8584:10;;-1:-1:-1;8546:68:57;-1:-1:-1;8596:4:57;;;;;;8546:68;::::1;8596:4:::0;;;;8546:68;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;8602:11:57;;-1:-1:-1;8546:18:57::1;::::0;-1:-1:-1;;8546:68:57:i:1;:::-;8228:391:::0;;;;;;;:::o;9151:403::-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;9399:48:::1;9427:7;9436:10;9399:27;:48::i;:::-;9475:74;9500:7;9509:8;;9475:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;9475:74:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;9519:10;;-1:-1:-1;9475:74:57;-1:-1:-1;9531:4:57;;;;;;9475:74;::::1;9531:4:::0;;;;9475:74;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;9537:11:57;;-1:-1:-1;9475:24:57::1;::::0;-1:-1:-1;;9475:74:57:i:1;711:156:23:-:0;784:23;829:33;854:7;829:24;:33::i;:::-;815:47;711:156;-1:-1:-1;;711:156:23:o;12975:234:57:-;13102:12;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;13129:75:::1;13162:10;13174:8;13184;13194:9;13129:32;:75::i;2604:288:23:-:0;2742:23;2767:28;2797:24;2836:51;2856:7;2865:8;;2836:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2875:11:23;;-1:-1:-1;2836:19:23;;-1:-1:-1;;2836:51:23:i;:::-;2829:58;;;;;;2604:288;;;;;;;;:::o;7725:295::-;7908:12;7935:80;7966:7;7975:8;7985:17;8004:5;8011:3;7935:30;:80::i;12215:284:57:-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;12373:48:::1;12401:7;12410:10;12373:27;:48::i;:::-;12453:41;12476:7;12485:8;;12453:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12453:22:57::1;::::0;-1:-1:-1;;;12453:41:57:i:1;13609:1732::-:0;13763:12;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;13864:10:::1;-1:-1:-1::0;;;;;13851:23:57;::::1;::::0;13847:126:::1;;13891:75;13924:10;13936:8;13946;13956:9;13891:32;:75::i;:::-;13884:82;;;;13847:126;14094:33;14130:75;14170:9;14192:10;14130:26;:75::i;:::-;14094:111;;14216:84;14234:22;14258:9;14269:10;14281:8;14291;14216:17;:84::i;:::-;14212:227;;;14358:74;14391:9;14402:8;14412;14422:9;14358:32;:74::i;:::-;14351:81;;;;;14212:227;14513:35;14551:75;14591:9;14621:1;14551:26;:75::i;:::-;14513:113;;14636:86;14654:24;14680:9;14691:10;14703:8;14713;14636:17;:86::i;:::-;14632:229;;;14780:74;14813:9;14824:8;14834;14844:9;14780:32;:74::i;:::-;14773:81;;;;;;14632:229;14935:40;14978:58;-1:-1:-1::0;;;578:36:59;2820:46;;2819:74;14978:31:57::1;:58::i;:::-;14935:101;;15046:91;15064:29;15095:9;15106:10;15118:8;15128;15046:17;:91::i;:::-;15042:234;;;15195:74;15228:9;15239:8;15249;15259:9;15195:32;:74::i;:::-;15188:81;;;;;;;15042:234;15289:47;::::0;::::1;::::0;;-1:-1:-1;;;;;19674:15:207;;15289:47:57::1;::::0;::::1;19656:34:207::0;15325:10:57::1;19706:18:207::0;;;19699:43;19568:18;;15289:47:57::1;19421:327:207::0;4597:265:23;4762:12;4789:68;4814:7;4823:8;;4789:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4833:10:23;;-1:-1:-1;4845:11:23;;-1:-1:-1;4789:24:23;;-1:-1:-1;4789:68:23:i;6467:258::-;6630:7;6652:68;6677:7;6686:8;6696:10;6708:11;6652:24;:68::i;5915:216::-;6049:7;6071:55;6096:7;6105:8;6115:10;6071:24;:55::i;3302:212:57:-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;625:63:80::1;::::0;;-1:-1:-1;;;625:63:80::1;::::0;::::1;197:92:207::0;662:14:80::1;305:11:207::0;;;298:100;;;414:12;;;407:101;3407:57:57::1;::::0;524:12:207;625:63:80::1;;;;;;;;;;;;617:72;;;:::i;:::-;3453:10:57;3407:26;:57::i;:::-;3470:39;3489:6;3497:11;3470:18;:39::i;:::-;3302:212:::0;;:::o;5770:369::-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;5991:48:::1;6019:7;6028:10;5991:27;:48::i;:::-;6076:58;6103:7;6112:8;;6076:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6076:58:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;6122:5;;-1:-1:-1;6076:58:57;-1:-1:-1;6129:4:57;;;;;;6076:58;::::1;6129:4:::0;;;;6076:58;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6076:26:57::1;::::0;-1:-1:-1;;;6076:58:57:i:1;6663:479::-:0;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;6949:48:::1;6977:7;6986:10;6949:27;:48::i;:::-;7035:102;7063:7;7072:8;;7035:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;7035:102:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;7082:17;;-1:-1:-1;7101:16:57;;-1:-1:-1;7119:11:57;;7132:4;;;;;;7035:102;::::1;7132:4:::0;;;;7035:102;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;7035:27:57::1;::::0;-1:-1:-1;;;7035:102:57:i:1;2505:553::-:0;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;2648:10:::1;-1:-1:-1::0;;;;;2662:7:57::1;2648:21;;2644:109;;625:63:80;::::0;;-1:-1:-1;;;625:63:80::1;::::0;::::1;197:92:207::0;662:14:80::1;305:11:207::0;;;298:100;;;414:12;;;407:101;2705:28:57::1;::::0;524:12:207;625:63:80::1;;;;;;;;;;;;617:72;;;:::i;:::-;2705:26:57;:28::i;:::-;2735:10;2686:60;;;;;;;;;;;;:::i;2644:109::-;2844:1;2809:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;2809:37:57::1;;2805:91;;2863:26;;;;;;;;;;;;;;2805:91;2902:42;2932:10;2902:21;:42::i;:::-;3040:12;::::0;;3050:1:::1;3040:12:::0;;::::1;::::0;::::1;::::0;;;3009:44:::1;::::0;3028:10;;3009:18:::1;:44::i;:::-;2505:553:::0;:::o;1906:246:23:-;2015:23;2040:28;2070:24;2109:38;2129:7;2138:8;;2109:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2109:19:23;;-1:-1:-1;;;2109:38:23:i;:::-;2102:45;;;;;;1906:246;;;;;;;:::o;3371:216::-;3501:17;3533:49;3552:7;3561:8;;3533:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3571:10:23;;-1:-1:-1;3533:18:23;;-1:-1:-1;;3533:49:23:i;1386:143::-;1457:16;1493:31;1516:7;1493:22;:31::i;11520:404:57:-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;11755:48:::1;11783:7;11792:10;11755:27;:48::i;:::-;11835:84;11865:7;11874:8;;11835:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;11884:17:57;;-1:-1:-1;11903:15:57;;-1:-1:-1;11835:29:57::1;::::0;-1:-1:-1;11835:84:57:i:1;:::-;11520:404:::0;;;;;:::o;1054:151:23:-;1127:18;1167:33;1192:7;1167:24;:33::i;9920:377:57:-;2202:4;2180:10;:27;2176:88;;2224:33;;-1:-1:-1;;;2224:33:57;;-1:-1:-1;;;;;;2249:7:57;;;2224:33;;;1372:98:207;1345:18;;2224:33:57;1228:248:207;2176:88:57;10147:48:::1;10175:7;10184:10;10147:27;:48::i;:::-;10223:69;10249:7;10258:8;;10223:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;10223:69:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;10268:17;;-1:-1:-1;10223:69:57;-1:-1:-1;10287:4:57;;;;;;10223:69;::::1;10287:4:::0;;;;10223:69;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;10223:25:57::1;::::0;-1:-1:-1;;;10223:69:57:i:1;38022:541:20:-:0;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;24989:355::-;25161:178;25195:7;25220:8;25250:63;25289:11;25302:10;25250:38;:63::i;:::-;25328:4;25161:16;:178::i;34611:1314::-;34741:23;34766:28;34796:24;34862:20;34885:30;:11;:28;:30::i;:::-;34862:53;;34976:65;35009:7;35018:8;35028:12;34976:32;:65::i;:::-;34963:78;;35105:24;35132:30;:11;:28;:30::i;:::-;35105:57;-1:-1:-1;35172:20:20;;35168:753;;35265:66;35313:7;35322:8;35265:47;:66::i;:::-;35248:83;-1:-1:-1;6184:59:15;;;35383:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35383:33:20;-1:-1:-1;35369:47:20;-1:-1:-1;828:4:14;818:15;;35424:21:20;35488:427;35506:16;35502:1;:20;;;35488:427;;;35539:27;35569:63;35611:7;35620:8;35630:1;35569:41;:63::i;:::-;35539:93;-1:-1:-1;35642:14:20;35659:25;:14;35682:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;35659:25:20;35642:42;;35694:110;35725:19;35754:1;35765:6;35788:13;35694:12;:110::i;:::-;35883:23;35900:6;35883:23;;:::i;:::-;;;35529:386;;35524:3;;;;;:::i;:::-;;;;35488:427;;;;35194:727;35168:753;34822:1103;;34611:1314;;;;;;;:::o;8965:235:69:-;9075:19;9096:29;9170:25;9183:11;9170:12;:25::i;:::-;9133:62;;;;-1:-1:-1;8965:235:69;-1:-1:-1;;;;8965:235:69:o;3716:1003:55:-;3852:12;3866:17;3915:22;3940:26;3957:8;3940:16;:26::i;:::-;3915:51;;4043:9;4038:228;4058:5;:12;4054:1;:16;4038:228;;;4085:9;4107:5;4113:1;4107:8;;;;;;;;:::i;:::-;;;;;;;4085:31;;4128:34;392:6:96;4128:4:55;:14;;;;;:34;;;;:::i;:::-;4124:136;;;4174:77;;;;;3404:35:4;;;;;4174:49:55;;:77;;4224:6;;4232:8;;4242;;4174:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:136;-1:-1:-1;4072:3:55;;4038:228;;;;4341:78;4356:6;4371:5;4388:8;4408;4341:4;:78::i;:::-;4323:96;;-1:-1:-1;4323:96:55;-1:-1:-1;4494:9:55;4489:226;4509:5;:12;4505:1;:16;4489:226;;;4536:9;4558:5;4564:1;4558:8;;;;;;;;:::i;:::-;;;;;;;4536:31;;4579:33;520:6:96;4579:4:55;:14;;;;;:33;;;;:::i;:::-;4575:134;;;4624:76;;;;;3404:35:4;;;;;4624:48:55;;:76;;4673:6;;4681:8;;4691;;4624:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4575:134;-1:-1:-1;4523:3:55;;4489:226;;;;3885:834;3716:1003;;;;;;;:::o;501:217:95:-;704:6;698:13;691:4;683:6;679:17;672:40;36975:440:20;37126:12;37163:29;:11;:27;:29::i;:::-;37150:10;:42;;;37146:265;;;37209:82;37248:7;37257:8;37267:10;37279:11;37209:38;:82::i;:::-;37202:89;;;;37146:265;37319:85;37335:7;37344:8;37373:29;:11;:27;:29::i;:::-;37354:49;;:10;:49;:::i;:::-;37319:15;:85::i;1480:281:42:-;1642:29;1652:10;1664:6;1642:9;:29::i;:::-;1637:120;;1720:21;:10;:19;:21::i;:::-;1743:6;1688:62;;;;;;;;;;;;:::i;22831:192:20:-;22948:70;22957:7;22966:8;22976:10;22988:4;22994:23;23009:7;22994:14;:23::i;:::-;22948:8;:70::i;:::-;22831:192;;;;:::o;30619:790::-;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;39031:522::-;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;13982:285::-;14168:94;14178:7;14187:8;14197:10;14209:14;14225:11;14238:23;14253:7;14238:14;:23::i;:::-;14168:9;:94::i;23922:409::-;24105:29;:11;:27;:29::i;:::-;24092:10;:42;;;24088:239;;;24144:64;24159:7;24168:8;24178:10;24190:4;24196:11;24144:14;:64::i;:::-;24088:239;;;24229:91;24245:7;24254:8;24283:29;:11;:27;:29::i;:::-;24264:49;;:10;:49;:::i;:::-;24315:4;24229:15;:91::i;6237:651::-;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;42754:1148::-;42931:12;43004:3;42996:5;:11;42992:83;;;43024:44;;;;;;;;21051:25:207;;;21092:18;;;21085:34;;;21024:18;;43024:44:20;20877:248:207;42992:83:20;43284:28;43315:66;43363:7;43372:8;43315:47;:66::i;:::-;43284:97;-1:-1:-1;43387:19:20;43409:41;43284:97;43432:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;43409:41:20;43387:63;;43469:11;43460:5;:20;;:41;;;;43490:11;43484:3;:17;43460:41;43456:157;;;43554:11;43576;43567:5;:20;;:38;;43598:7;43604:1;43598:3;:7;:::i;:::-;43567:38;;;43590:5;43567:38;43518:88;;;;;;;;21051:25:207;;;;21092:18;;;21085:34;21024:18;;43518:88:20;20877:248:207;43456:157:20;43683:16;43702:79;43744:7;43753:8;43763:17;43702:41;:79::i;:::-;43683:98;;43813:78;43844:8;43862:5;43883;43877:3;:11;43813:12;:78::i;:::-;43806:85;42754:1148;-1:-1:-1;;;;;;;;;42754:1148:20:o;27433:145::-;27517:56;27530:7;27539:8;27549:23;27564:7;27549:14;:23::i;:::-;27517:12;:56::i;4990:406:79:-;5132:16;;;5146:1;5132:16;;;;;;;;5065:30;;;;5132:16;5146:1;5132:16;;;;;;;;;;-1:-1:-1;5132:16:79;5103:45;;5193:9;-1:-1:-1;;;;;5177:27:79;5169:36;;5154:9;5164:1;5154:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;5250:9;-1:-1:-1;;;;;5234:27:79;5226:36;;5211:9;5221:1;5211:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;5269:13;5285:62;1271:66;5320:9;5269:13;-1:-1:-1;;;5285:24:79;:62::i;2128:811:43:-;2300:4;2372:32;2384:19;2372:11;:32::i;:::-;2368:49;;;-1:-1:-1;2413:4:43;2406:11;;2368:49;744:53;2476:46;;-1:-1:-1;2517:5:43;2510:12;;2476:46;2636:12;2650:17;2671:193;2703:9;2856:1;2730:19;2810:9;2821:8;2831;2767:74;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2767:74:43;;;;;;;;;;;;;;;;;;;;2671:15;:193::i;:::-;2635:229;;;;2876:7;2871:26;;2892:5;2885:12;;;;;;2871:26;2921:4;2910:24;;;;;;;;;;;;:::i;:::-;2903:31;2128:811;-1:-1:-1;;;;;;;;2128:811:43:o;4676:329:73:-;4804:16;;;4818:1;4804:16;;;;;;;;;4737:30;;;;4804:16;;;;;;;;;;;;-1:-1:-1;4804:16:73;4775:45;;4859:11;4826:9;4836:1;4826:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4878:13;4894:62;1271:66;4929:9;4878:13;-1:-1:-1;;;4894:24:73;:62::i;40817:427:20:-;40974:7;40989:21;41019:29;:11;:27;:29::i;:::-;40989:60;;41072:15;41059:28;;:10;:28;;;41055:185;;;41104:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;41104:31:20;41097:38;;;;;41055:185;41163:70;41185:7;41194:8;41204:28;41217:15;41204:10;:28;:::i;:::-;41163:21;:70::i;40170:225::-;40298:7;40320:70;40335:7;40344:8;40354:10;40366:23;40381:7;40366:14;:23::i;:::-;40320:14;:70::i;2074:233:42:-;-1:-1:-1;;;;;2159:58:42;;:48;-1:-1:-1;;;578:36:59;2820:46;;2819:74;2159:19:42;:48::i;:::-;-1:-1:-1;;;;;2159:58:42;;2155:148;;2266:21;:10;:19;:21::i;3706:570:57:-;3862:60;3887:6;3896:25;3862:16;:60::i;:::-;3929:210;4004:10;4032:1;4057:6;4119:11;4082:50;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4082:50:57;;;;;;;;;;;;;;;;;;;;3929:55;:210::i;:::-;;4203:68;4233:6;4252:11;4242:22;;;;;;4266:4;4203:21;:68::i;18901:1676:20:-;19101:23;19080:7;:44;;;19076:232;;19231:7;19187:100;19250:8;19267:5;19280:4;19187:100;;;;;;;;:::i;:::-;;;;;;;;19295:7;;19076:232;19314:16;19333:59;19374:7;19383:8;19333:40;:59::i;:::-;19314:78;;19538:22;19563:24;19579:7;19563:15;:24::i;:::-;19538:49;;19598:9;19593:328;19613:5;:12;19609:1;:16;19593:328;;;19640:9;19662:5;19668:1;19662:8;;;;;;;;:::i;:::-;;;;;;;19640:31;;19683:41;548:6:32;19683:4:20;:14;;;;;:41;;;;:::i;:::-;19679:236;;;19736:170;;;;;3404:35:4;;;;;19736:54:20;;:170;;19812:7;;19841:8;;19868:5;;19891:4;;19736:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19679:236;-1:-1:-1;19627:3:20;;19593:328;;;;20022:7;19978:100;20041:8;20058:5;20071:4;19978:100;;;;;;;;:::i;:::-;;;;;;;;20128:70;20160:8;20178:5;20128:70;;20191:4;20128:13;:70::i;:::-;20252:9;20247:326;20267:5;:12;20263:1;:16;20247:326;;;20294:9;20316:5;20322:1;20316:8;;;;;;;;:::i;:::-;;;;;;;20294:31;;20337:40;657:6:32;20337:4:20;:14;;;;;:40;;;;:::i;:::-;20333:234;;;20389:169;;;;;3404:35:4;;;;;20389:53:20;;:169;;20464:7;;20493:8;;20520:5;;20543:4;;20389:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20333:234;-1:-1:-1;20281:3:20;;20247:326;;21476:539;21682:328;21736:7;21761:8;21796:17;21839:16;21876:11;21901:4;21937:66;21985:7;21994:8;21937:47;:66::i;:::-;21682:36;:328::i;3351:592:59:-;3415:13;3485:10;385:5:16;2502:44:59;;;3436:19;3583;3485:10;3583:7;:19::i;:::-;3560:42;-1:-1:-1;3665:12:59;3704:35;;;;:102;;3753:53;;;;:34;:53::i;:::-;3704:102;;;;;;;;;;;;;;;;;;;;;3833:25;;;;:87;;3872:48;3907:12;3872:34;:48::i;:::-;3833:87;;;;;;;;;;;;;;;;;;;;;3637:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3608:330;;;;;3351:592;;;:::o;3836:234:71:-;3924:16;;;3874:13;3924:16;;;;;;;;;3947:13;3963:64;1182:66;3895:45;3947:13;1365:66;3963:26;:64::i;:::-;4041:23;;;3836:234;-1:-1:-1;;;3836:234:71:o;4854:191::-;4926:16;;;4897:26;4926:16;;;;;;;;24204:2:207;24200:15;;;24217:66;24196:88;5000:25:71;;;24184:101:207;5000:25:71;;;;;24301:12:207;5000:25:71;;;24301:12:207;;;5000:25:71;;;4926:16;;4949:91;;1182:66;;4926:16;;4897:26;1365:66;4949:26;:91::i;33811:253:20:-;33912:23;33937:28;33967:24;34006:53;34016:7;34025:8;34035:23;34050:7;34035:14;:23::i;:::-;34006:9;:53::i;:::-;33999:60;;;;;;33811:253;;;;;:::o;36354:218::-;36476:12;36503:64;36512:7;36521:8;36531:10;36543:23;36558:7;36543:14;:23::i;:::-;36503:8;:64::i;7148:379::-;7213:16;7249:29;7270:7;7249:20;:29::i;:::-;7237:41;;7392:31;7415:7;7392:22;:31::i;:::-;7387:136;;7473:7;7506;7489:25;;;;;;19363:19:207;;19407:2;19398:12;;19234:182;7489:25:20;;;;-1:-1:-1;;7489:25:20;;;;;;;;;;7440:76;;;;;;;;;:::i;7387:136::-;7148:379;;;:::o;32089:833::-;32349:36;32388:66;32436:7;32445:8;32388:47;:66::i;:::-;32349:105;-1:-1:-1;32460:26:20;32496:49;32349:105;32527:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;32496:49:20;32460:86;-1:-1:-1;32584:333:20;32638:7;32663:8;32698:17;32748:37;32770:15;32748:37;;;;:::i;:::-;32844:12;;;32854:1;32844:12;;;;;;;;32814:15;;32888:22;32584:36;:333::i;7795:273::-;7862:18;7902:31;7925:7;7902:22;:31::i;:::-;7888:45;-1:-1:-1;5479:35:17;7939:125:20;;8014:7;8047;8030:25;;;;;;19363:19:207;;19407:2;19398:12;;19234:182;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;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;;;-1:-1:-1;53787:6:20;53556:242;-1:-1:-1;;;53556:242:20:o;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;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;50556:360:20:-;50682:12;50706:6;50716:1;50706:11;50702:26;;-1:-1:-1;50719:9:20;;;;;;;;;-1:-1:-1;50719:9:20;;;;50702:26;50769:16;50788:41;50811:7;50820:8;50788:22;:41::i;:::-;50769:60;;50842:69;50873:8;50891:1;50902:6;50842:12;:69::i;5533:173:3:-;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;55672:301:20:-;55793:13;55885:82;55916:48;55946:7;55955:8;55916:29;:48::i;:::-;4645:21:19;;4539:137;54475:274:20;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;6010:2380:19:-;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;8571:236:69:-;7342:4:2;7328:27;;7322:34;7328:27;;;7322:34;8636:19:69;;8778:23;8752:50;;8571:236;;;:::o;4591:344:76:-;4708:16;;;4722:1;4708:16;;;;;;;;;4649:22;;4679:26;;4708:16;;;;;;;;;;;;-1:-1:-1;4708:16:76;4679:45;;4763:8;4730:9;4740:1;4730:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4779:18;4800:49;1266:66;4836:9;4779:18;4800:25;:49::i;:::-;4779:70;;4863:66;:44;4884:5;4891:1;4894:5;:12;4863: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;1695:1386:55:-;1822:12;1836:17;1890:21;1913:17;1934:22;1947:8;1934:12;:22::i;:::-;1889:67;;-1:-1:-1;1889:67:55;-1:-1:-1;;;;;;2001:27:55;;1997:106;;2073:8;2083:19;:8;:17;:19::i;:::-;2037:66;;;;;;;;;;;;:::i;1997:106::-;2209:12;2204:64;;2223:45;2251:8;2261:6;2223:27;:45::i;:::-;2347:9;;2343:197;;578:36:59;2820:46;;-1:-1:-1;;;2819:74:59;2366:22:55;2449:26;2819:74:59;2449:13:55;:26::i;:::-;2424:51;-1:-1:-1;2483:50:55;2497:11;2510:22;2527:5;2424:51;2510:22;:::i;2483:50::-;2358:182;;2343:197;2642:14;2615:23;:8;385:5:16;2502:44:59;;2404:148;2615:23:55;:41;;;:461;;2916:160;2977:6;3003:5;3026:13;3059:8;2916:39;:160::i;:::-;2615:461;;;2739:168;2808:6;2834:5;2857:13;2890:8;2739:47;:168::i;:::-;2597:479;;;;-1:-1:-1;1695:1386:55;-1:-1:-1;;;;;;;1695:1386:55:o;5135:171:3:-;5208:7;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;51381:511:20:-;51544:12;51686:201;51725:41;51748:7;51757:8;51725:22;:41::i;:::-;51784:45;51805:11;51818:10;51784:20;:45::i;:::-;51847:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;39291:12:20;:257::i;889:327:42:-;970:4;1112:56;-1:-1:-1;;;578:36:59;2820:46;;2819:74;1161:6:42;1112:19;:56::i;:::-;:99;;;;1172:39;1192:10;1204:6;1172:19;:39::i;46038:3950:20:-;46456:14;46435:7;:35;;;46431:161;;46526:14;46542:7;46575;46558:25;;;;;;19363:19:207;;19407:2;19398:12;;19234: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;;;;;26727:12:207;26766:15;;;47123:92:20;;;26748:34:207;26818:15;;;26798:18;;;26791:43;26870:15;;26850:18;;;26843:43;26690:18;;47123:92:20;26521:371:207;47004:218:20;47328:19;47309:16;:38;;;47305:140;;;47364:74;;;;;;;;27070:25:207;;;27143:12;27131:25;;27111:18;;;27104:53;27043:18;;47364:74:20;26897: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;4976:669:19:-;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:19;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;15127:3138:20:-;15421:23;15400:7;:44;;;15396:198;;15514:7;15498:75;15523:8;15533:10;15545:14;15561:11;15498:75;;;;;;;;;:::i;:::-;;;;;;;;15581:7;;15396:198;15732:22;15757:24;15773:7;15757:15;:24::i;:::-;15732:49;;15792:9;15787:340;15807:5;:12;15803:1;:16;15787:340;;;15834:9;15856:5;15862:1;15856:8;;;;;;;;:::i;:::-;;;;;;;15834:31;;15877:33;343:6:32;15877:4:20;:14;;;;;:33;;;;:::i;:::-;15873:248;;;15922:190;;;;;3404:35:4;;;;;15922:47:20;;:190;;15981:7;;16000:8;;16020:10;;16042:14;;16068:11;;16091;;15922:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15873:248;-1:-1:-1;15821:3:20;;15787:340;;;;16191:7;16175:75;16200:8;16210:10;16222:14;16238:11;16175:75;;;;;;;;;:::i;:::-;;;;;;;;16314:26;16343:59;16384:7;16393:8;16343:40;:59::i;:::-;16314:88;-1:-1:-1;16408:21:20;828:4:14;818:15;;16408:54:20;;16468:149;16506:18;16540:1;16557:10;:17;16597:13;16468;:149::i;:::-;16717:1;16684:30;:11;:28;:30::i;:::-;:34;16680:1174;;;16803:33;16839:66;16887:7;16896:8;16839:47;:66::i;:::-;629:28:19;;;16803:102:20;-1:-1:-1;828:4:14;818:15;;17079:47:20;;17235:27;17270:25;17308:7;17303:545;17321:30;:11;:28;:30::i;:::-;17317:1;:34;;;17303:545;;;17387:63;17429:7;17438:8;17448:1;17387:41;:63::i;:::-;17365:85;-1:-1:-1;17480:25:20;:14;17503:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;17480:25:20;17460:45;;17515:170;17557:19;17596:1;17617:17;17661:13;17515;:170::i;:::-;17695:34;17712:17;17695:34;;:::i;:::-;;-1:-1:-1;17826:3:20;;17303:545;;;;16720:1134;;;16680:1174;17928:9;17923:338;17943:5;:12;17939:1;:16;17923:338;;;17970:9;17992:5;17998:1;17992:8;;;;;;;;:::i;:::-;;;;;;;17970:31;;18013:32;437:6:32;18013:4:20;:14;;;;;:32;;;;:::i;:::-;18009:246;;;18057:189;;;;;3404:35:4;;;;;18057:46:20;;:189;;18115:7;;18134:8;;18154:10;;18176:14;;18202:11;;18225;;18057:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18009:246;-1:-1:-1;17957:3:20;;17923:338;;;;15336:2929;;;15127:3138;;;;;;:::o;52982:282::-;53227:30;;;;;;30563:19:207;;;30598:12;;;30591:28;;;53070:7:20;;30635:12:207;;53227:30:20;30375:278:207;28177:1778:20;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;;1063:181:43;764:71:80;;;781:15;764:71;;;197:92:207;1139:4:43;305:11:207;;;298:100;;;814:20:80;414:12:207;;;407:101;1139:4:43;524:12:207;764:71:80;;;;;;;;;;;;756:80;;;:::i;:::-;1158:81:43;;;;1063:181;-1:-1:-1;1063:181:43:o;41760:262:20:-;41902:7;41924:93;41999:17;41924:66;41972:7;41981:8;41924:47;:66::i;4483:306:74:-;4594:16;;;4608:1;4594:16;;;;;;;;;4544:13;;;;4594:16;;;;;;;;;;;;-1:-1:-1;4594:16:74;4565:45;;4649:11;4616:9;4626:1;4616:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4668:13;4684:62;1269:66;4719:9;4668:13;1449:66;4684:24;:62::i;:::-;4760:23;;;4483:306;-1:-1:-1;;;;4483:306:74:o;879:238:92:-;964:61;996:15;1013:11;964:31;:61::i;:::-;959:156;;1040:70;;;;;-1:-1:-1;;;;;31584:55:207;;1040:70:92;;;31566:74:207;-1:-1:-1;;;;;;31676:79:207;;31656:18;;;31649:107;31539:18;;1040:70:92;31394:368:207;7738:415:58;7893:17;7919:12;7933:18;7955:133;7998:9;8025:8;8049:6;8073:8;7955:23;:133::i;6350:340:72:-;6472:16;;;6486:1;6472:16;;;;;;;;6443:26;;6472:16;;;;;;;;;;-1:-1:-1;6472:16:72;6443:45;;6533:13;-1:-1:-1;;;;;6517:31:72;6509:40;;6494:9;6504:1;6494:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;6570:13;6555:9;6565:1;6555:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;6590:95;1182:66;1166:83;;6625:9;6636:1;6657:11;6639:31;;;;;;31918:14:207;31911:22;31906:3;31902:32;31890:45;;31960:1;31951:11;;31767:201;6639:31:72;;;;-1:-1:-1;;6639:31:72;;;;;;;;;1364:66;6590:24;:95::i;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;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;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;1796:322::-;1866:13;1887:14;1907:80;1923:2;1914:6;:11;1907:80;;;1941:34;;;3152:1:2;3148:13;;3144:24;1941:39:59;;1937:50;1982:5;1937:50;1927:8;;1907:80;;;2023:30;;;32126:66:207;32114:79;;2023:30:59;;;32102:92:207;2023:30:59;;32210:12:207;;;;2023:30:59;;;809:21:2;;;2023:30:59;2073:39;694:164:2;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;17921:234::-;18068:80;;;;;-1:-1:-1;;;;;18068:36:24;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10690:455::-;10862:21;10886:17;:15;:17::i;:::-;10862:41;-1:-1:-1;10938:4:24;-1:-1:-1;;;;;10913:30:24;;;10909:232;;10953:74;10978:7;10987:8;10997:10;11009:4;11015:11;10953:24;:74::i;:::-;10909:232;;;11048:86;;;;;-1:-1:-1;;;;;11048:36:24;;;;;:86;;11085:7;;11094:8;;11104:10;;11116:4;;11122:11;;11048:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5592:312:29;5711:16;;;5725:1;5711:16;;;;;;;;;5658;;;;5711;;;;;;;;;;;;-1:-1:-1;5711:16:29;5682:45;;5766:7;5733:9;5743:1;5733:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;5781:13;5797:62;1171:66;5832:9;5843:1;1343:66;5797:24;:62::i;3588:314:27:-;3702:16;;;3716:1;3702:16;;;;;;;;;3654:11;;;;3702:16;;;;;;;;;;;;-1:-1:-1;3702:16:27;3673:45;;3757:10;3724:9;3734:1;3724:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3775:13;3791:62;1076:66;3826:9;3775:13;1253:66;3791:24;:62::i;:::-;3775:78;;3867:29;3888:5;3875:20;;1452:10:16;1343:126;6974:316:29;7097:16;;;7111:1;7097:16;;;;;;;;;7042:18;;;;7097:16;;;;;;;;;;;;-1:-1:-1;7097:16:29;7068:45;;7152:7;7119:9;7129:1;7119:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;7167:13;7183:62;1171:66;7218:9;7229:1;1343:66;7183:24;:62::i;55104:230:20:-;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;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;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;6686:432:78:-;6814:16;;;6828:1;6814:16;;;;;;;;;6744:14;;;;;;6814:16;;;;;;;;;;;-1:-1:-1;6814:16:78;6785:45;;6869:8;6836:9;6846:1;6836:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6886:24;;;6972:78;1262:66;7015:9;1435:66;6972:19;:78::i;:::-;6885:165;;;;;;7063:50;7070:11;7083:15;7100:12;7063:6;:50::i;5279:317:58:-;5418:12;5432:17;5475:6;-1:-1:-1;;;;;5475:11:58;5495:1;5506:79;5532:8;5553:9;5574:8;5506:13;:79::i;:::-;5475:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5457:134:58;;;;-1:-1:-1;5279:317:58;-1:-1:-1;;;;;5279:317:58:o;6100:321::-;6247:12;6261:17;6304:6;-1:-1:-1;;;;;6304:19:58;6331:79;6357:8;6378:9;6399:8;6331:13;:79::i;:::-;6304:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4770:378:75;4894:16;;;4908:1;4894:16;;;;;;;;4846:11;;;;4894:16;4908:1;4894:16;;;;;;;;;;-1:-1:-1;4894:16:75;4865:45;;4949:10;4916:9;4926:1;4916:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5005:6;-1:-1:-1;;;;;4989:24:75;4981:33;;4966:9;4976:1;4966:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5021:13;5037:62;1269:66;5072:9;5021:13;1449:66;5037:24;:62::i;:::-;5021:78;;5113:29;5134:5;5121:20;;1452:10:16;1343:126;7197:1488:15;7323:13;1004:16;7348:25;;7344:97;;;7390:44;;;;;;;;8303:25:207;;;8276:18;;7390:44:15;8126:208: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;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;3966:370::-;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;;1313:272:45;1400:4;1499:23;1514:7;1499:14;:23::i;:::-;:81;;;;;1526:54;1559:7;1568:11;1526:32;:54::i;1766:227:24:-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:24;;1883:106;;1931:10;1924:17;;;1766:227;:::o;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;8578:206:78:-;8688:14;8704:17;8754:25;8767:11;8754:12;:25::i;4582:201:58:-;4704:12;4748:8;4758:9;4769:8;4731:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4724:54;;4582:201;;;;;:::o;709:400:45:-;773:4;962:68;995:7;1004:25;962:32;:68::i;:::-;:142;;;;-1:-1:-1;1041:63:45;1074:7;-1:-1:-1;;;;;;1041:32:45;:63::i;:::-;1040:64;949:155;709:400;-1:-1:-1;;709:400:45:o;4133:576::-;4296:56;;-1:-1:-1;;;;;;1390:79:207;;4296:56:45;;;1372:98:207;4235:4:45;;;;1345:18:207;;4296:56:45;;;-1:-1:-1;;4296:56:45;;;;;;;;;;;;;;;;;;;;;4534:20;;4296:56;;-1:-1:-1;;;;;;;4296:56:45;;-1:-1:-1;;4499:7:45;4492:5;4481:86;4470:97;;4588:16;4574:30;;4632:4;4626:11;4611:26;;4656:7;:29;;;;;4681:4;4667:10;:18;;4656:29;:48;;;;;4703:1;4689:11;:15;4656:48;4649:55;4133:576;-1:-1:-1;;;;;;;4133:576:45:o;8203:217:78:-;7342:4:2;7328:27;;7322:34;7328:27;;;7322:34;8319:32:78;;;;;;8268:14;;8383:30;;8375:39;1343:126:16;547:357:207;665:12;;712:4;701:16;;;695:23;;665:12;730:16;;727:171;;;-1:-1:-1;;810:6:207;804:4;800:17;797:1;793:25;789:98;782:5;778:110;769:119;;727:171;;547:357;;;:::o;909:184::-;-1:-1:-1;;;958:1:207;951:88;1058:4;1055:1;1048:15;1082:4;1079:1;1072:15;1098:125;1163:9;;;1184:10;;;1181:36;;;1197:18;;:::i;1712:367::-;1775:8;1785:6;1839:3;1832:4;1824:6;1820:17;1816:27;1806:55;;1857:1;1854;1847:12;1806:55;-1:-1:-1;1880:20:207;;1923:18;1912:30;;1909:50;;;1955:1;1952;1945:12;1909:50;1992:4;1984:6;1980:17;1968:29;;2052:3;2045:4;2035:6;2032:1;2028:14;2020:6;2016:27;2012:38;2009:47;2006:67;;;2069:1;2066;2059:12;2006:67;1712:367;;;;;:::o;2084:156::-;2150:20;;2210:4;2199:16;;2189:27;;2179:55;;2230:1;2227;2220:12;2245:706;2418:6;2426;2434;2442;2450;2503:3;2491:9;2482:7;2478:23;2474:33;2471:53;;;2520:1;2517;2510:12;2471:53;2556:9;2543:23;2533:33;;2617:2;2606:9;2602:18;2589:32;2644:18;2636:6;2633:30;2630:50;;;2676:1;2673;2666:12;2630:50;2715:70;2777:7;2768:6;2757:9;2753:22;2715:70;:::i;:::-;2804:8;;-1:-1:-1;2689:96:207;-1:-1:-1;2858:36:207;;-1:-1:-1;2890:2:207;2875:18;;2858:36;:::i;:::-;2245:706;;;;-1:-1:-1;2245:706:207;;2941:2;2926:18;2913:32;;2245:706;-1:-1:-1;;2245:706:207:o;2956:250::-;3041:1;3051:113;3065:6;3062:1;3059:13;3051:113;;;3141:11;;;3135:18;3122:11;;;3115:39;3087:2;3080:10;3051:113;;;-1:-1:-1;;3198:1:207;3180:16;;3173:27;2956:250::o;3211:329::-;3252:3;3290:5;3284:12;3317:6;3312:3;3305:19;3333:76;3402:6;3395:4;3390:3;3386:14;3379:4;3372:5;3368:16;3333:76;:::i;:::-;3454:2;3442:15;-1:-1:-1;;3438:88:207;3429:98;;;;3529:4;3425:109;;3211:329;-1:-1:-1;;3211:329:207:o;3545:217::-;3692:2;3681:9;3674:21;3655:4;3712:44;3752:2;3741:9;3737:18;3729:6;3712:44;:::i;3767:347::-;3818:8;3828:6;3882:3;3875:4;3867:6;3863:17;3859:27;3849:55;;3900:1;3897;3890:12;3849:55;-1:-1:-1;3923:20:207;;3966:18;3955:30;;3952:50;;;3998:1;3995;3988:12;3952:50;4035:4;4027:6;4023:17;4011:29;;4087:3;4080:4;4071:6;4063;4059:19;4055:30;4052:39;4049:59;;;4104:1;4101;4094:12;4119:915;4272:6;4280;4288;4296;4304;4312;4365:3;4353:9;4344:7;4340:23;4336:33;4333:53;;;4382:1;4379;4372:12;4333:53;4418:9;4405:23;4395:33;;4479:2;4468:9;4464:18;4451:32;4502:18;4543:2;4535:6;4532:14;4529:34;;;4559:1;4556;4549:12;4529:34;4598:70;4660:7;4651:6;4640:9;4636:22;4598:70;:::i;:::-;4687:8;;-1:-1:-1;4572:96:207;-1:-1:-1;4572:96:207;;-1:-1:-1;4741:36:207;4773:2;4758:18;;4741:36;:::i;:::-;4731:46;;4830:2;4819:9;4815:18;4802:32;4786:48;;4859:2;4849:8;4846:16;4843:36;;;4875:1;4872;4865:12;4843:36;;4914:60;4966:7;4955:8;4944:9;4940:24;4914:60;:::i;:::-;4119:915;;;;-1:-1:-1;4119:915:207;;-1:-1:-1;4119:915:207;;4993:8;;4119:915;-1:-1:-1;;;4119:915:207:o;5039:606::-;5172:6;5180;5188;5196;5249:2;5237:9;5228:7;5224:23;5220:32;5217:52;;;5265:1;5262;5255:12;5217:52;5301:9;5288:23;5278:33;;5362:2;5351:9;5347:18;5334:32;5389:18;5381:6;5378:30;5375:50;;;5421:1;5418;5411:12;5375:50;5460:70;5522:7;5513:6;5502:9;5498:22;5460:70;:::i;:::-;5549:8;;-1:-1:-1;5434:96:207;-1:-1:-1;5603:36:207;;-1:-1:-1;5635:2:207;5620:18;;5603:36;:::i;:::-;5593:46;;5039:606;;;;;;;:::o;5650:1235::-;5859:6;5867;5875;5883;5891;5899;5907;5915;5968:3;5956:9;5947:7;5943:23;5939:33;5936:53;;;5985:1;5982;5975:12;5936:53;6021:9;6008:23;5998:33;;6082:2;6071:9;6067:18;6054:32;6105:18;6146:2;6138:6;6135:14;6132:34;;;6162:1;6159;6152:12;6132:34;6201:70;6263:7;6254:6;6243:9;6239:22;6201:70;:::i;:::-;6290:8;;-1:-1:-1;6175:96:207;-1:-1:-1;6378:2:207;6363:18;;6350:32;;-1:-1:-1;6394:16:207;;;6391:36;;;6423:1;6420;6413:12;6391:36;6462:60;6514:7;6503:8;6492:9;6488:24;6462:60;:::i;:::-;6541:8;;-1:-1:-1;6436:86:207;-1:-1:-1;6623:2:207;6608:18;;6595:32;;-1:-1:-1;6680:3:207;6665:19;;6652:33;;-1:-1:-1;6697:16:207;;;6694:36;;;6726:1;6723;6716:12;6694:36;;6765:60;6817:7;6806:8;6795:9;6791:24;6765:60;:::i;:::-;5650:1235;;;;-1:-1:-1;5650:1235:207;;-1:-1:-1;5650:1235:207;;;;;;6844:8;-1:-1:-1;;;5650:1235:207:o;6890:1015::-;7083:6;7091;7099;7107;7115;7123;7131;7184:3;7172:9;7163:7;7159:23;7155:33;7152:53;;;7201:1;7198;7191:12;7152:53;7237:9;7224:23;7214:33;;7298:2;7287:9;7283:18;7270:32;7321:18;7362:2;7354:6;7351:14;7348:34;;;7378:1;7375;7368:12;7348:34;7417:70;7479:7;7470:6;7459:9;7455:22;7417:70;:::i;:::-;7506:8;;-1:-1:-1;7391:96:207;-1:-1:-1;7391:96:207;;-1:-1:-1;7560:36:207;7592:2;7577:18;;7560:36;:::i;:::-;7550:46;;7649:2;7638:9;7634:18;7621:32;7605:48;;7678:2;7668:8;7665:16;7662:36;;;7694:1;7691;7684:12;7662:36;;7733:60;7785:7;7774:8;7763:9;7759:24;7733:60;:::i;:::-;6890:1015;;;;-1:-1:-1;6890:1015:207;;;;;;7894:3;7879:19;;;7866:33;;6890:1015;-1:-1:-1;;;;6890:1015:207:o;7910:211::-;8000:6;8053:2;8041:9;8032:7;8028:23;8024:32;8021:52;;;8069:1;8066;8059:12;8021:52;-1:-1:-1;8092:23:207;;7910:211;-1:-1:-1;7910:211:207:o;8339:184::-;-1:-1:-1;;;8388:1:207;8381:88;8488:4;8485:1;8478:15;8512:4;8509:1;8502:15;8528:334;8599:2;8593:9;8655:2;8645:13;;-1:-1:-1;;8641:86:207;8629:99;;8758:18;8743:34;;8779:22;;;8740:62;8737:88;;;8805:18;;:::i;:::-;8841:2;8834:22;8528:334;;-1:-1:-1;8528:334:207:o;8867:589::-;8909:5;8962:3;8955:4;8947:6;8943:17;8939:27;8929:55;;8980:1;8977;8970:12;8929:55;9016:6;9003:20;9042:18;9038:2;9035:26;9032:52;;;9064:18;;:::i;:::-;9108:114;9216:4;-1:-1:-1;;9140:4:207;9136:2;9132:13;9128:86;9124:97;9108:114;:::i;:::-;9247:2;9238:7;9231:19;9293:3;9286:4;9281:2;9273:6;9269:15;9265:26;9262:35;9259:55;;;9310:1;9307;9300:12;9259:55;9375:2;9368:4;9360:6;9356:17;9349:4;9340:7;9336:18;9323:55;9423:1;9398:16;;;9416:4;9394:27;9387:38;;;;9402:7;8867:589;-1:-1:-1;;;8867:589:207:o;9461:419::-;9569:6;9577;9630:2;9618:9;9609:7;9605:23;9601:32;9598:52;;;9646:1;9643;9636:12;9598:52;9682:9;9669:23;9659:33;;9743:2;9732:9;9728:18;9715:32;9770:18;9762:6;9759:30;9756:50;;;9802:1;9799;9792:12;9756:50;9825:49;9866:7;9857:6;9846:9;9842:22;9825:49;:::i;:::-;9815:59;;;9461:419;;;;;:::o;9885:635::-;10051:6;10059;10067;10075;10128:2;10116:9;10107:7;10103:23;10099:32;10096:52;;;10144:1;10141;10134:12;10096:52;10180:9;10167:23;10157:33;;10241:2;10230:9;10226:18;10213:32;10268:18;10260:6;10257:30;10254:50;;;10300:1;10297;10290:12;10254:50;10339:70;10401:7;10392:6;10381:9;10377:22;10339:70;:::i;:::-;9885:635;;10428:8;;-1:-1:-1;10313:96:207;;10510:2;10495:18;10482:32;;9885:635;-1:-1:-1;;;;9885:635:207:o;10525:482::-;10780:2;10769:9;10762:21;10743:4;10806:44;10846:2;10835:9;10831:18;10823:6;10806:44;:::i;:::-;10886:6;10881:2;10870:9;10866:18;10859:34;10941:9;10933:6;10929:22;10924:2;10913:9;10909:18;10902:50;10969:32;10994:6;10986;10969:32;:::i;11012:712::-;11066:5;11119:3;11112:4;11104:6;11100:17;11096:27;11086:55;;11137:1;11134;11127:12;11086:55;11173:6;11160:20;11199:4;11222:18;11218:2;11215:26;11212:52;;;11244:18;;:::i;:::-;11290:2;11287:1;11283:10;11313:28;11337:2;11333;11329:11;11313:28;:::i;:::-;11375:15;;;11445;;;11441:24;;;11406:12;;;;11477:15;;;11474:35;;;11505:1;11502;11495:12;11474:35;11541:2;11533:6;11529:15;11518:26;;11553:142;11569:6;11564:3;11561:15;11553:142;;;11635:17;;11623:30;;11586:12;;;;11673;;;;11553:142;;11729:655;11878:6;11886;11894;11902;11910;11963:3;11951:9;11942:7;11938:23;11934:33;11931:53;;;11980:1;11977;11970:12;11931:53;12016:9;12003:23;11993:33;;12077:2;12066:9;12062:18;12049:32;12104:18;12096:6;12093:30;12090:50;;;12136:1;12133;12126:12;12090:50;12159:61;12212:7;12203:6;12192:9;12188:22;12159:61;:::i;:::-;12149:71;;;12239:36;12271:2;12260:9;12256:18;12239:36;:::i;:::-;11729:655;;;;-1:-1:-1;12229:46:207;;12322:2;12307:18;;12294:32;;-1:-1:-1;12373:3:207;12358:19;12345:33;;11729:655;-1:-1:-1;;11729:655:207:o;12389:536::-;12515:6;12523;12531;12584:2;12572:9;12563:7;12559:23;12555:32;12552:52;;;12600:1;12597;12590:12;12552:52;12636:9;12623:23;12613:33;;12697:2;12686:9;12682:18;12669:32;12724:18;12716:6;12713:30;12710:50;;;12756:1;12753;12746:12;12710:50;12795:70;12857:7;12848:6;12837:9;12833:22;12795:70;:::i;:::-;12389:536;;12884:8;;-1:-1:-1;12769:96:207;;-1:-1:-1;;;;12389:536:207:o;13112:154::-;-1:-1:-1;;;;;13191:5:207;13187:54;13180:5;13177:65;13167:93;;13256:1;13253;13246:12;13271:554;13388:6;13396;13404;13457:2;13445:9;13436:7;13432:23;13428:32;13425:52;;;13473:1;13470;13463:12;13425:52;13512:9;13499:23;13531:31;13556:5;13531:31;:::i;:::-;13581:5;-1:-1:-1;13633:2:207;13618:18;;13605:32;;-1:-1:-1;13688:2:207;13673:18;;13660:32;13715:18;13704:30;;13701:50;;;13747:1;13744;13737:12;13701:50;13770:49;13811:7;13802:6;13791:9;13787:22;13770:49;:::i;:::-;13760:59;;;13271:554;;;;;:::o;13830:617::-;14001:6;14009;14017;14025;14078:3;14066:9;14057:7;14053:23;14049:33;14046:53;;;14095:1;14092;14085:12;14046:53;14131:9;14118:23;14108:33;;14192:2;14181:9;14177:18;14164:32;14219:18;14211:6;14208:30;14205:50;;;14251:1;14248;14241:12;14205:50;14274:61;14327:7;14318:6;14307:9;14303:22;14274:61;:::i;:::-;14264:71;;;14354:36;14386:2;14375:9;14371:18;14354:36;:::i;:::-;13830:617;;;;-1:-1:-1;14344:46:207;;14437:2;14422:18;14409:32;;-1:-1:-1;;13830:617:207:o;14634:517::-;14765:6;14773;14781;14834:2;14822:9;14813:7;14809:23;14805:32;14802:52;;;14850:1;14847;14840:12;14802:52;14886:9;14873:23;14863:33;;14947:2;14936:9;14932:18;14919:32;14974:18;14966:6;14963:30;14960:50;;;15006:1;15003;14996:12;14960:50;15029:61;15082:7;15073:6;15062:9;15058:22;15029:61;:::i;:::-;15019:71;;;15109:36;15141:2;15130:9;15126:18;15109:36;:::i;:::-;15099:46;;14634:517;;;;;:::o;15156:472::-;15250:6;15258;15311:2;15299:9;15290:7;15286:23;15282:32;15279:52;;;15327:1;15324;15317:12;15279:52;15366:9;15353:23;15385:31;15410:5;15385:31;:::i;:::-;15435:5;-1:-1:-1;15491:2:207;15476:18;;15463:32;15518:18;15507:30;;15504:50;;;15550:1;15547;15540:12;15633:1013;15787:6;15795;15803;15811;15819;15827;15880:3;15868:9;15859:7;15855:23;15851:33;15848:53;;;15897:1;15894;15887:12;15848:53;15933:9;15920:23;15910:33;;15994:2;15983:9;15979:18;15966:32;16017:18;16058:2;16050:6;16047:14;16044:34;;;16074:1;16071;16064:12;16044:34;16113:70;16175:7;16166:6;16155:9;16151:22;16113:70;:::i;:::-;16202:8;;-1:-1:-1;16087:96:207;-1:-1:-1;16287:2:207;16272:18;;16259:32;;-1:-1:-1;16331:14:207;16320:26;;16310:37;;16300:65;;16361:1;16358;16351:12;16300:65;16384:5;;-1:-1:-1;16442:2:207;16427:18;;16414:32;;16458:16;;;16455:36;;;16487:1;16484;16477:12;16651:165;16718:20;;16778:12;16767:24;;16757:35;;16747:63;;16806:1;16803;16796:12;16821:1061;16990:6;16998;17006;17014;17022;17030;17038;17046;17099:3;17087:9;17078:7;17074:23;17070:33;17067:53;;;17116:1;17113;17106:12;17067:53;17152:9;17139:23;17129:33;;17213:2;17202:9;17198:18;17185:32;17236:18;17277:2;17269:6;17266:14;17263:34;;;17293:1;17290;17283:12;17263:34;17332:70;17394:7;17385:6;17374:9;17370:22;17332:70;:::i;:::-;17421:8;;-1:-1:-1;17306:96:207;-1:-1:-1;17306:96:207;;-1:-1:-1;17475:36:207;17507:2;17492:18;;17475:36;:::i;:::-;17465:46;;17530:37;17563:2;17552:9;17548:18;17530:37;:::i;:::-;17520:47;;17586:38;17619:3;17608:9;17604:19;17586:38;:::i;:::-;17576:48;;17677:3;17666:9;17662:19;17649:33;17633:49;;17707:2;17697:8;17694:16;17691:36;;;17723:1;17720;17713:12;17887:264;17963:6;18016:2;18004:9;17995:7;17991:23;17987:32;17984:52;;;18032:1;18029;18022:12;17984:52;18071:9;18058:23;18090:31;18115:5;18090:31;:::i;19045:184::-;-1:-1:-1;;;19094:1:207;19087:88;19194:4;19191:1;19184:15;19218:4;19215:1;19208:15;19753:339;19930:2;19919:9;19912:21;19893:4;19950:44;19990:2;19979:9;19975:18;19967:6;19950:44;:::i;:::-;19942:52;;-1:-1:-1;;;;;20034:6:207;20030:55;20025:2;20014:9;20010:18;20003:83;19753:339;;;;;:::o;20097:175::-;20134:3;20178:4;20171:5;20167:16;20207:4;20198:7;20195:17;20192:43;;20215:18;;:::i;:::-;20264:1;20251:15;;20097:175;-1:-1:-1;;20097:175:207:o;20277:439::-;-1:-1:-1;;;;;20515:6:207;20511:55;20500:9;20493:74;20603:6;20598:2;20587:9;20583:18;20576:34;20646:2;20641;20630:9;20626:18;20619:30;20474:4;20666:44;20706:2;20695:9;20691:18;20683:6;20666:44;:::i;20721:151::-;20811:4;20804:12;;;20790;;;20786:31;;20829:14;;20826:40;;;20846:18;;:::i;21130:128::-;21197:9;;;21218:11;;;21215:37;;;21232:18;;:::i;21263:277::-;21330:6;21383:2;21371:9;21362:7;21358:23;21354:32;21351:52;;;21399:1;21396;21389:12;21351:52;21431:9;21425:16;21484:5;21477:13;21470:21;21463:5;21460:32;21450:60;;21506:1;21503;21496:12;21545:439;21598:3;21636:5;21630:12;21663:6;21658:3;21651:19;21689:4;21718;21713:3;21709:14;21702:21;;21757:4;21750:5;21746:16;21780:1;21790:169;21804:6;21801:1;21798:13;21790:169;;;21865:13;;21853:26;;21899:12;;;;21934:15;;;;21826:1;21819:9;21790:169;;;-1:-1:-1;21975:3:207;;21545:439;-1:-1:-1;;;;;21545:439:207:o;21989:511::-;22240:2;22229:9;22222:21;22203:4;22266:56;22318:2;22307:9;22303:18;22295:6;22266:56;:::i;:::-;22370:14;22362:6;22358:27;22353:2;22342:9;22338:18;22331:55;22434:9;22426:6;22422:22;22417:2;22406:9;22402:18;22395:50;22462:32;22487:6;22479;22462:32;:::i;22505:615::-;22815:6;22804:9;22797:25;22858:3;22853:2;22842:9;22838:18;22831:31;22778:4;22885:57;22937:3;22926:9;22922:19;22914:6;22885:57;:::i;:::-;22990:14;22982:6;22978:27;22973:2;22962:9;22958:18;22951:55;23054:9;23046:6;23042:22;23037:2;23026:9;23022:18;23015:50;23082:32;23107:6;23099;23082:32;:::i;23125:925::-;23574:66;23566:6;23562:79;23557:3;23550:92;23532:3;23661;23693:2;23689:1;23684:3;23680:11;23673:23;23725:6;23719:13;23741:74;23808:6;23804:1;23799:3;23795:11;23788:4;23780:6;23776:17;23741:74;:::i;:::-;23843:6;23838:3;23834:16;23824:26;;23878:2;23874:1;23870:2;23866:10;23859:22;23912:6;23906:13;23890:29;;23928:75;23994:8;23990:1;23986:2;23982:10;23975:4;23967:6;23963:17;23928:75;:::i;:::-;24023:17;24042:1;24019:25;;23125:925;-1:-1:-1;;;;;23125:925:207:o;24542:321::-;24750:6;24739:9;24732:25;24793:2;24788;24777:9;24773:18;24766:30;24713:4;24813:44;24853:2;24842:9;24838:18;24830:6;24813:44;:::i;24868:639::-;25118:6;25113:3;25106:19;25088:3;25144:2;25177;25172:3;25168:12;25209:6;25203:13;25274:2;25266:6;25262:15;25295:1;25305:175;25319:6;25316:1;25313:13;25305:175;;;25382:13;;25368:28;;25418:14;;;;25455:15;;;;25341:1;25334:9;25305:175;;;-1:-1:-1;25496:5:207;;24868:639;-1:-1:-1;;;;;;;24868:639:207:o;25512:184::-;-1:-1:-1;;;25561:1:207;25554:88;25661:4;25658:1;25651:15;25685:4;25682:1;25675:15;25701:168;25774:9;;;25805;;25822:15;;;25816:22;;25802:37;25792:71;;25843:18;;:::i;25874:463::-;26120:66;26112:6;26108:79;26097:9;26090:98;26224:6;26219:2;26208:9;26204:18;26197:34;26267:2;26262;26251:9;26247:18;26240:30;26071:4;26287:44;26327:2;26316:9;26312:18;26304:6;26287:44;:::i;26342:174::-;26409:12;26441:10;;;26453;;;26437:27;;26476:11;;;26473:37;;;26490:18;;:::i;:::-;26473:37;26342:174;;;;:::o;27168:898::-;27590:6;27579:9;27572:25;27633:3;27628:2;27617:9;27613:18;27606:31;27553:4;27660:57;27712:3;27701:9;27697:19;27689:6;27660:57;:::i;:::-;27765:4;27753:17;;27748:2;27733:18;;27726:45;27790:12;27838:15;;;27833:2;27818:18;;27811:43;27891:15;;27885:3;27870:19;;27863:44;27938:3;27923:19;;27916:35;;;27988:22;;;27982:3;27967:19;;27960:51;28028:32;27992:6;28045;28028:32;:::i;:::-;28020:40;27168:898;-1:-1:-1;;;;;;;;;;27168:898:207:o;28071:707::-;28410:3;28399:9;28392:22;28373:4;28437:57;28489:3;28478:9;28474:19;28466:6;28437:57;:::i;:::-;28542:14;28534:6;28530:27;28525:2;28514:9;28510:18;28503:55;28606:12;28598:6;28594:25;28589:2;28578:9;28574:18;28567:53;28656:6;28651:2;28640:9;28636:18;28629:34;28712:9;28704:6;28700:22;28694:3;28683:9;28679:19;28672:51;28740:32;28765:6;28757;28740:32;:::i;28783:688::-;29116:3;29105:9;29098:22;29079:4;29143:57;29195:3;29184:9;29180:19;29172:6;29143:57;:::i;:::-;29248:9;29240:6;29236:22;29231:2;29220:9;29216:18;29209:50;29282:32;29307:6;29299;29282:32;:::i;:::-;29268:46;;29350:6;29345:2;29334:9;29330:18;29323:34;29405:9;29397:6;29393:22;29388:2;29377:9;29373:18;29366:50;29433:32;29458:6;29450;29433:32;:::i;29476:894::-;29927:6;29916:9;29909:25;29970:3;29965:2;29954:9;29950:18;29943:31;29890:4;29997:57;30049:3;30038:9;30034:19;30026:6;29997:57;:::i;:::-;30102:9;30094:6;30090:22;30085:2;30074:9;30070:18;30063:50;30136:32;30161:6;30153;30136:32;:::i;:::-;30122:46;;30204:6;30199:2;30188:9;30184:18;30177:34;30260:9;30252:6;30248:22;30242:3;30231:9;30227:19;30220:51;30288:32;30313:6;30305;30288:32;:::i;:::-;30280:40;;;30357:6;30351:3;30340:9;30336:19;30329:35;29476:894;;;;;;;;;:::o;30658:261::-;30837:2;30826:9;30819:21;30800:4;30857:56;30909:2;30898:9;30894:18;30886:6;30857:56;:::i;30924:465::-;31221:6;31210:9;31203:25;31264:2;31259;31248:9;31244:18;31237:30;31184:4;31284:56;31336:2;31325:9;31321:18;31313:6;31284:56;:::i;:::-;31276:64;;31376:6;31371:2;31360:9;31356:18;31349:34;30924:465;;;;;;:::o;32233:545::-;32554:6;32543:9;32536:25;32597:3;32592:2;32581:9;32577:18;32570:31;32517:4;32618:57;32670:3;32659:9;32655:19;32647:6;32618:57;:::i;:::-;32723:4;32711:17;;;;32706:2;32691:18;;32684:45;-1:-1:-1;32760:2:207;32745:18;32738:34;32610:65;32233:545;-1:-1:-1;;32233:545:207:o;32783:184::-;32853:6;32906:2;32894:9;32885:7;32881:23;32877:32;32874:52;;;32922:1;32919;32912:12;32874:52;-1:-1:-1;32945:16:207;;32783:184;-1:-1:-1;32783:184:207:o;32972:706::-;33339:6;33328:9;33321:25;33382:3;33377:2;33366:9;33362:18;33355:31;33302:4;33409:57;33461:3;33450:9;33446:19;33438:6;33409:57;:::i;:::-;33514:4;33506:6;33502:17;33497:2;33486:9;33482:18;33475:45;33568:9;33560:6;33556:22;33551:2;33540:9;33536:18;33529:50;33596:32;33621:6;33613;33596:32;:::i;:::-;33588:40;;;33665:6;33659:3;33648:9;33644:19;33637:35;32972:706;;;;;;;;:::o;33683:359::-;33886:2;33875:9;33868:21;33849:4;33906:44;33946:2;33935:9;33931:18;33923:6;33906:44;:::i;:::-;33981:2;33966:18;;33959:34;;;;-1:-1:-1;34024:2:207;34009:18;34002:34;33898:52;33683:359;-1:-1:-1;33683:359:207:o;34047:287::-;34176:3;34214:6;34208:13;34230:66;34289:6;34284:3;34277:4;34269:6;34265:17;34230:66;:::i;:::-;34312:16;;;;;34047:287;-1:-1:-1;;34047:287:207:o;34339:274::-;34379:1;34405;34395:189;;-1:-1:-1;;;34437:1:207;34430:88;34541:4;34538:1;34531:15;34569:4;34566:1;34559:15;34395:189;-1:-1:-1;34598:9:207;;34339:274::o;34618:530::-;34803:3;34841:6;34835:13;34857:66;34916:6;34911:3;34904:4;34896:6;34892:17;34857:66;:::i;:::-;34992:2;34988:15;;;;35005:66;34984:88;34945:16;;;;34970:103;;;35100:2;35089:14;;35082:30;;;;35139:2;35128:14;;34618:530;-1:-1:-1;;34618:530:207:o","linkReferences":{},"immutableReferences":{"23111":[{"start":879,"length":32},{"start":4776,"length":32}]}},"methodIdentifiers":{"call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","initialize(address)":"c4d66de8","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"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[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"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\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract is the core \\\"World\\\" contract containing various methods for data manipulation, system calls, and dynamic function selector handling.\",\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The version of the Store contract.\"}},\"HelloWorld(bytes32)\":{\"details\":\"Emitted upon successful World initialization.\",\"params\":{\"worldVersion\":\"The version of the World being initialized.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The data for the system call.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The ABI data for the system call.\",\"delegator\":\"The address on whose behalf the system is called.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"constructor\":{\"details\":\"Event emitted when the World contract is created.\"},\"deleteRecord(bytes32,bytes32[])\":{\"details\":\"Requires the caller to have access to the table's namespace or name.\",\"params\":{\"keyTuple\":\"Array of keys identifying the record to delete.\",\"tableId\":\"The unique identifier for the table.\"}},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The dynamic data of the specified field.\"}},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified dynamic field.\"}},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to slice.\",\"end\":\"The ending position of the slice.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field slice.\",\"start\":\"The starting position of the slice.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The sliced data from the specified dynamic field.\"}},\"getField(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getFieldLayout(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table for which to retrieve the field layout.\"},\"returns\":{\"fieldLayout\":\"The layout of fields in the specified table.\"}},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"fieldLayout\":\"The layout of fields for measurement.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getKeySchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"keySchema\":\"The schema for keys in the specified table.\"}},\"getRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getRecord(bytes32,bytes32[],bytes32)\":{\"params\":{\"fieldLayout\":\"The layout of fields to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the static field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the static field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The static data of the specified field.\"}},\"getValueSchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"valueSchema\":\"The schema for values in the specified table.\"}},\"initialize(address)\":{\"details\":\"Only the initial creator can initialize. This can be done only once.\",\"params\":{\"initModule\":\"The core module to initialize the World with.\"}},\"installRootModule(address,bytes)\":{\"details\":\"The caller must own the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for module installation.\",\"module\":\"The module to be installed.\"}},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"params\":{\"byteLengthToPop\":\"The number of bytes to remove from the end of the dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to remove data from.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"dataToPush\":\"Data to append to the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to append to.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"dynamicData\":\"Dynamic data (variable length fields) of the record.\",\"encodedLengths\":\"Encoded lengths of data.\",\"keyTuple\":\"Array of keys identifying the record.\",\"staticData\":\"Static data (fixed length fields) of the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"data\":\"Data to write into the specified static field.\",\"fieldIndex\":\"Index of the static field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"params\":{\"data\":\"Data to splice into the dynamic data of the field.\",\"deleteCount\":\"Number of bytes to delete starting from the `startWithinField`.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"startWithinField\":\"Start position within the specified dynamic field.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"params\":{\"data\":\"Data to splice into the static data of the record.\",\"keyTuple\":\"Array of keys identifying the record.\",\"start\":\"Position from where the static data modification should start.\",\"tableId\":\"The unique identifier for the table.\"}},\"storeVersion()\":{\"returns\":{\"_0\":\"The current version of the store as a bytes32.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The current version of the world contract.\"}}},\"title\":\"World Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the store is initialized.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Address of the contract's creator.\"},\"deleteRecord(bytes32,bytes32[])\":{\"notice\":\"Deletes a record from the table identified by `tableId`.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specific dynamic (variable length) field in a record.\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified dynamic (variable length) field in a record.\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Retrieves a slice of a dynamic (variable length) field.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getFieldLayout(bytes32)\":{\"notice\":\"Fetches the field layout for a given table.\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getKeySchema(bytes32)\":{\"notice\":\"Retrieves the key schema for a given table.\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple.\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple and field layout.\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specific static (fixed length) field in a record.\"},\"getValueSchema(bytes32)\":{\"notice\":\"Retrieves the value schema for a given table.\"},\"initialize(address)\":{\"notice\":\"Initializes the World by installing the core module.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Installs a given root module in the World.\"},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"notice\":\"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a dynamic (varible length) field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a specified field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a specified field in the table, adhering to a specific layout.\"},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Writes a record in the table identified by `tableId`.\"},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a static (fixed length) field in the table identified by `tableId`.\"},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"notice\":\"Modifies dynamic (variable length) data in a record for a specified field.\"},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Modifies static (fixed length) data in a record at the specified position.\"},\"storeVersion()\":{\"notice\":\"Retrieves the version of the store.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/World.sol\":\"World\"},\"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/StoreData.sol\":{\"keccak256\":\"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210\",\"dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd\",\"dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF\"]},\"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/AccessControl.sol\":{\"keccak256\":\"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c\",\"dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89\",\"dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"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/SystemCall.sol\":{\"keccak256\":\"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d\",\"dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7\"]},\"node_modules/@latticexyz/world/src/World.sol\":{\"keccak256\":\"0x5f02e221a1f088b56d81894e210ccd97c097b8da2cdc677d073c2722f2a0564a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02134a975fb146c5b37ce8472245982120b13000a8628b99395200458e3fd5ef\",\"dweb:/ipfs/Qmd2Zq9LX1kkEE5UEA6oFWnSpBPTX9F9iU2Z74GHSaDwXX\"]},\"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/tables/Balances.sol\":{\"keccak256\":\"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458\",\"dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd\",\"dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol\":{\"keccak256\":\"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69\",\"dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e\",\"dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35\",\"dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e\",\"dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c\",\"dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2\",\"dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7\",\"dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571\",\"dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658\",\"dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d\",\"dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy\"]},\"node_modules/@latticexyz/world/src/version.sol\":{\"keccak256\":\"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e\",\"dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"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"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"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}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"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"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"pure","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The data for the system call.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"callFrom(address,bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The ABI data for the system call.","delegator":"The address on whose behalf the system is called.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"constructor":{"details":"Event emitted when the World contract is created."},"deleteRecord(bytes32,bytes32[])":{"details":"Requires the caller to have access to the table's namespace or name.","params":{"keyTuple":"Array of keys identifying the record to delete.","tableId":"The unique identifier for the table."}},"getDynamicField(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to retrieve.","keyTuple":"The tuple used as a key to fetch the dynamic field.","tableId":"The ID of the table."},"returns":{"data":"The dynamic data of the specified field."}},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified dynamic field."}},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to slice.","end":"The ending position of the slice.","keyTuple":"The tuple used as a key to fetch the dynamic field slice.","start":"The starting position of the slice.","tableId":"The ID of the table."},"returns":{"_0":"The sliced data from the specified dynamic field."}},"getField(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to retrieve.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getFieldLayout(bytes32)":{"params":{"tableId":"The ID of the table for which to retrieve the field layout."},"returns":{"fieldLayout":"The layout of fields in the specified table."}},"getFieldLength(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to measure.","fieldLayout":"The layout of fields for measurement.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getKeySchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"keySchema":"The schema for keys in the specified table."}},"getRecord(bytes32,bytes32[])":{"params":{"keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getRecord(bytes32,bytes32[],bytes32)":{"params":{"fieldLayout":"The layout of fields to retrieve.","keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the static field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the static field.","tableId":"The ID of the table."},"returns":{"data":"The static data of the specified field."}},"getValueSchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"valueSchema":"The schema for values in the specified table."}},"initialize(address)":{"details":"Only the initial creator can initialize. This can be done only once.","params":{"initModule":"The core module to initialize the World with."}},"installRootModule(address,bytes)":{"details":"The caller must own the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for module installation.","module":"The module to be installed."}},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"params":{"byteLengthToPop":"The number of bytes to remove from the end of the dynamic field.","dynamicFieldIndex":"Index of the dynamic field to remove data from.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"dataToPush":"Data to append to the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to append to.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"dynamicData":"Dynamic data (variable length fields) of the record.","encodedLengths":"Encoded lengths of data.","keyTuple":"Array of keys identifying the record.","staticData":"Static data (fixed length fields) of the record.","tableId":"The unique identifier for the table."}},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"data":"Data to write into the specified static field.","fieldIndex":"Index of the static field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"params":{"data":"Data to splice into the dynamic data of the field.","deleteCount":"Number of bytes to delete starting from the `startWithinField`.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","startWithinField":"Start position within the specified dynamic field.","tableId":"The unique identifier for the table."}},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"params":{"data":"Data to splice into the static data of the record.","keyTuple":"Array of keys identifying the record.","start":"Position from where the static data modification should start.","tableId":"The unique identifier for the table."}},"storeVersion()":{"returns":{"_0":"The current version of the store as a bytes32."}},"worldVersion()":{"returns":{"_0":"The current version of the world contract."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Calls a system with a given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Calls a system with a given system ID on behalf of the given delegator."},"creator()":{"notice":"Address of the contract's creator."},"deleteRecord(bytes32,bytes32[])":{"notice":"Deletes a record from the table identified by `tableId`."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specific dynamic (variable length) field in a record."},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified dynamic (variable length) field in a record."},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Retrieves a slice of a dynamic (variable length) field."},"getField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specified field in a record."},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specified field in a record."},"getFieldLayout(bytes32)":{"notice":"Fetches the field layout for a given table."},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified field in a record."},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Calculates the length of a specified field in a record."},"getKeySchema(bytes32)":{"notice":"Retrieves the key schema for a given table."},"getRecord(bytes32,bytes32[])":{"notice":"Fetches a record from a specified table using a provided key tuple."},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Fetches a record from a specified table using a provided key tuple and field layout."},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specific static (fixed length) field in a record."},"getValueSchema(bytes32)":{"notice":"Retrieves the value schema for a given table."},"initialize(address)":{"notice":"Initializes the World by installing the core module."},"installRootModule(address,bytes)":{"notice":"Installs a given root module in the World."},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"notice":"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`."},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`."},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a dynamic (varible length) field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a specified field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a specified field in the table, adhering to a specific layout."},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"notice":"Writes a record in the table identified by `tableId`."},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a static (fixed length) field in the table identified by `tableId`."},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"notice":"Modifies dynamic (variable length) data in a record for a specified field."},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Modifies static (fixed length) data in a record at the specified position."},"storeVersion()":{"notice":"Retrieves the version of the store."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/World.sol":"World"},"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/StoreData.sol":{"keccak256":"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd","urls":["bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210","dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28","urls":["bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd","dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF"],"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/AccessControl.sol":{"keccak256":"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439","urls":["bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c","dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a","urls":["bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89","dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"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/SystemCall.sol":{"keccak256":"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2","urls":["bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d","dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7"],"license":"MIT"},"node_modules/@latticexyz/world/src/World.sol":{"keccak256":"0x5f02e221a1f088b56d81894e210ccd97c097b8da2cdc677d073c2722f2a0564a","urls":["bzz-raw://02134a975fb146c5b37ce8472245982120b13000a8628b99395200458e3fd5ef","dweb:/ipfs/Qmd2Zq9LX1kkEE5UEA6oFWnSpBPTX9F9iU2Z74GHSaDwXX"],"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/tables/Balances.sol":{"keccak256":"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f","urls":["bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458","dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8","urls":["bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd","dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol":{"keccak256":"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395","urls":["bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69","dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc","urls":["bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e","dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf","urls":["bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35","dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd","urls":["bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e","dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568","urls":["bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c","dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68","urls":["bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2","dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21","urls":["bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7","dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51","urls":["bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571","dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91"],"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/requireInterface.sol":{"keccak256":"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730","urls":["bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658","dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C"],"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/systemHookTypes.sol":{"keccak256":"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145","urls":["bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d","dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy"],"license":"MIT"},"node_modules/@latticexyz/world/src/version.sol":{"keccak256":"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be","urls":["bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e","dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"}},"version":1},"id":57}
|