@latticexyz/world-modules 2.0.0-main-711f6e2a → 2.0.0-march-19-skystrife-playtest-f0a343b1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/AccessControl.sol/AccessControl.json +1 -1
- package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json +0 -55
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +0 -55
- 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 +0 -16
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +0 -16
- 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 +0 -5
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +0 -5
- 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/{InitModule.sol/InitModule.abi.json → CoreModule.sol/CoreModule.abi.json} +23 -149
- package/out/{InitModule.sol/InitModule.abi.json.d.ts → CoreModule.sol/CoreModule.abi.json.d.ts} +23 -149
- package/out/CoreModule.sol/CoreModule.json +1 -0
- package/out/{RegistrationSystem.sol/RegistrationSystem.abi.json → CoreSystem.sol/CoreSystem.abi.json} +157 -167
- package/out/{RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts → CoreSystem.sol/CoreSystem.abi.json.d.ts} +157 -167
- package/out/CoreSystem.sol/CoreSystem.json +1 -0
- 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/ERC20.t.sol/ERC20Test.json +1 -1
- package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
- package/out/ERC20Module.sol/ERC20Module.abi.json +24 -124
- package/out/ERC20Module.sol/ERC20Module.abi.json.d.ts +24 -124
- package/out/ERC20Module.sol/ERC20Module.json +1 -1
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json +8 -121
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json.d.ts +8 -121
- 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 +24 -124
- package/out/ERC721Module.sol/ERC721Module.abi.json.d.ts +24 -124
- package/out/ERC721Module.sol/ERC721Module.json +1 -1
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json +8 -121
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json.d.ts +8 -121
- 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 +23 -1
- package/out/FieldLayout.sol/FieldLayoutLib.abi.json.d.ts +23 -0
- 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 +0 -13
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.abi.json.d.ts +0 -13
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
- package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
- package/out/IBaseWorld.sol/IBaseWorld.abi.json +5 -230
- package/out/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +5 -230
- package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
- package/out/ICoreSystem.sol/ICoreSystem.json +1 -0
- package/out/IDelegationControl.sol/IDelegationControl.json +1 -1
- 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 +17 -4
- package/out/IModule.sol/IModule.abi.json.d.ts +17 -4
- 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/IStore.sol/IStore.abi.json +3 -191
- package/out/IStore.sol/IStore.abi.json.d.ts +3 -191
- package/out/IStore.sol/IStore.json +1 -1
- package/out/IStoreData.sol/IStoreData.abi.json +0 -6
- package/out/IStoreData.sol/IStoreData.abi.json.d.ts +0 -6
- package/out/IStoreData.sol/IStoreData.json +1 -1
- package/out/IStoreErrors.sol/IStoreErrors.abi.json +3 -51
- package/out/IStoreErrors.sol/IStoreErrors.abi.json.d.ts +3 -51
- package/out/IStoreErrors.sol/IStoreErrors.json +1 -1
- package/out/IStoreEvents.sol/IStoreEvents.abi.json +0 -19
- package/out/IStoreEvents.sol/IStoreEvents.abi.json.d.ts +0 -19
- 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.abi.json +0 -19
- package/out/IStoreWrite.sol/IStoreWrite.abi.json.d.ts +0 -19
- package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
- package/out/ISystemHook.sol/ISystemHook.json +1 -1
- package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json +15 -0
- package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json.d.ts +15 -0
- package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +1 -0
- package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +1 -1
- package/out/IWorldErrors.sol/IWorldErrors.abi.json +0 -11
- package/out/IWorldErrors.sol/IWorldErrors.abi.json.d.ts +0 -11
- package/out/IWorldErrors.sol/IWorldErrors.json +1 -1
- package/out/IWorldKernel.sol/IWorldCall.json +1 -1
- package/out/IWorldKernel.sol/IWorldKernel.abi.json +2 -39
- package/out/IWorldKernel.sol/IWorldKernel.abi.json.d.ts +2 -39
- 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 +4 -30
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json.d.ts +4 -30
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
- package/out/InstalledModules.sol/InstalledModules.json +1 -1
- package/out/KeysInTable.sol/KeysInTable.json +1 -1
- package/out/KeysInTableHook.sol/KeysInTableHook.abi.json +0 -22
- package/out/KeysInTableHook.sol/KeysInTableHook.abi.json.d.ts +0 -22
- package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
- package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +32 -3
- package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +32 -3
- package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json +8 -41
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json.d.ts +8 -41
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
- package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
- package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json +0 -6
- package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json.d.ts +0 -6
- package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
- package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +32 -3
- package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +32 -3
- package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json +8 -41
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json.d.ts +8 -41
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
- package/out/Memory.sol/Memory.json +1 -1
- package/out/Module.sol/Module.abi.json +17 -4
- package/out/Module.sol/Module.abi.json.d.ts +17 -4
- package/out/Module.sol/Module.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +1 -6
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +1 -6
- 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.abi.json +13 -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 +23 -123
- package/out/PuppetModule.sol/PuppetModule.abi.json.d.ts +23 -123
- package/out/PuppetModule.sol/PuppetModule.json +1 -1
- package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json +0 -14
- package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json.d.ts +0 -14
- 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/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.abi.json +18 -1
- package/out/{ISchemaErrors.sol/ISchemaErrors.abi.json.d.ts → Schema.sol/SchemaLib.abi.json.d.ts} +2 -2
- 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.abi.json +23 -1
- package/out/Slice.sol/SliceLib.json +1 -1
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json +23 -123
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json.d.ts +23 -123
- 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.abi.json +132 -1
- package/out/StoreCore.sol/StoreCore.abi.json.d.ts +132 -0
- package/out/StoreCore.sol/StoreCore.json +1 -1
- package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
- package/out/StoreData.sol/StoreData.abi.json +0 -22
- package/out/StoreData.sol/StoreData.abi.json.d.ts +0 -22
- 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 +0 -16
- package/out/StoreRead.sol/StoreRead.abi.json.d.ts +0 -16
- package/out/StoreRead.sol/StoreRead.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +8 -159
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +8 -159
- 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 +1 -98
- package/out/SystemSwitch.t.sol/EchoSystem.abi.json.d.ts +1 -98
- package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +15 -43
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +15 -43
- 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 +25 -125
- package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json.d.ts +25 -125
- 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 +0 -68
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json.d.ts +0 -68
- 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 +124 -53
- package/out/World.sol/World.abi.json.d.ts +124 -53
- 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 +8 -76
- package/out/World.t.sol/WorldTest.abi.json.d.ts +8 -76
- 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 +4 -52
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +4 -52
- 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 +10 -274
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +10 -274
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/query.t.sol/QueryTest.abi.json +8 -41
- package/out/query.t.sol/QueryTest.abi.json.d.ts +8 -41
- 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/out/world/src/IERC165.sol/IERC165.json +1 -1
- package/package.json +9 -9
- package/src/index.sol +6 -6
- package/src/interfaces/IBaseWorld.sol +4 -3
- package/src/interfaces/IERC20System.sol +1 -2
- package/src/interfaces/IPuppetFactorySystem.sol +1 -2
- package/src/interfaces/IUniqueEntitySystem.sol +7 -0
- package/src/modules/erc20-puppet/ERC20Module.sol +25 -16
- 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 +2 -1
- package/src/modules/erc20-puppet/registerERC20.sol +1 -1
- package/src/modules/erc20-puppet/tables/Allowances.sol +43 -12
- package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +44 -13
- package/src/modules/erc20-puppet/tables/ERC20Registry.sol +42 -12
- package/src/modules/erc20-puppet/tables/TotalSupply.sol +41 -12
- package/src/modules/erc20-puppet/utils.sol +1 -1
- package/src/modules/erc721-puppet/ERC721Module.sol +25 -16
- 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 -2
- package/src/modules/erc721-puppet/IERC721Mintable.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Receiver.sol +1 -2
- package/src/modules/erc721-puppet/constants.sol +2 -1
- package/src/modules/erc721-puppet/registerERC721.sol +1 -1
- package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +43 -12
- package/src/modules/erc721-puppet/tables/ERC721Registry.sol +42 -12
- package/src/modules/erc721-puppet/tables/OperatorApproval.sol +43 -12
- package/src/modules/erc721-puppet/tables/Owners.sol +42 -12
- package/src/modules/erc721-puppet/tables/TokenApproval.sol +42 -12
- package/src/modules/erc721-puppet/tables/TokenURI.sol +42 -12
- package/src/modules/erc721-puppet/utils.sol +1 -1
- package/src/modules/keysintable/KeysInTableHook.sol +1 -1
- package/src/modules/keysintable/KeysInTableModule.sol +23 -17
- 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 +51 -15
- package/src/modules/keysintable/tables/UsedKeysIndex.sol +51 -17
- package/src/modules/keyswithvalue/KeysWithValueHook.sol +1 -1
- package/src/modules/keyswithvalue/KeysWithValueModule.sol +17 -22
- 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 +43 -13
- 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 +9 -24
- package/src/modules/puppet/constants.sol +3 -4
- package/src/modules/puppet/createPuppet.sol +1 -1
- package/src/modules/puppet/tables/PuppetRegistry.sol +42 -12
- package/src/modules/puppet/utils.sol +1 -1
- package/src/modules/std-delegations/CallboundDelegationControl.sol +1 -1
- package/src/modules/std-delegations/StandardDelegationsModule.sol +6 -2
- 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 +3 -1
- package/src/modules/std-delegations/tables/CallboundDelegations.sol +49 -14
- package/src/modules/std-delegations/tables/SystemboundDelegations.sol +48 -14
- package/src/modules/std-delegations/tables/TimeboundDelegations.sol +47 -14
- package/src/modules/tokens/tables/Balances.sol +42 -12
- package/src/modules/uniqueentity/UniqueEntityModule.sol +15 -16
- package/src/modules/uniqueentity/UniqueEntitySystem.sol +1 -1
- package/src/modules/uniqueentity/constants.sol +3 -3
- package/src/modules/uniqueentity/getUniqueEntity.sol +3 -2
- package/src/modules/uniqueentity/tables/UniqueEntity.sol +42 -13
- package/src/modules/utils/ArrayLib.sol +2 -2
- package/src/utils/AccessControlLib.sol +1 -2
- package/src/utils/SystemSwitch.sol +10 -8
- package/dist/mud.config.d.ts +0 -256
- package/out/ERC165Checker.sol/ERC165Checker.json +0 -1
- package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json +0 -88
- package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json.d.ts +0 -88
- package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.json +0 -1
- package/out/IModuleErrors.sol/IModuleErrors.abi.json +0 -28
- package/out/IModuleErrors.sol/IModuleErrors.abi.json.d.ts +0 -28
- package/out/IModuleErrors.sol/IModuleErrors.json +0 -1
- package/out/IPackedCounterErrors.sol/IPackedCounterErrors.abi.json +0 -13
- package/out/IPackedCounterErrors.sol/IPackedCounterErrors.json +0 -1
- package/out/IRegistrationSystem.sol/IRegistrationSystem.abi.json +0 -1
- package/out/IRegistrationSystem.sol/IRegistrationSystem.json +0 -1
- package/out/ISchemaErrors.sol/ISchemaErrors.abi.json +0 -18
- package/out/ISchemaErrors.sol/ISchemaErrors.json +0 -1
- package/out/ISliceErrors.sol/ISliceErrors.abi.json +0 -23
- package/out/ISliceErrors.sol/ISliceErrors.json +0 -1
- package/out/IWorldEvents.sol/IWorldEvents.abi.json +0 -15
- package/out/IWorldEvents.sol/IWorldEvents.abi.json.d.ts +0 -15
- package/out/IWorldEvents.sol/IWorldEvents.json +0 -1
- package/out/InitModule.sol/InitModule.json +0 -1
- package/out/InitModuleAddress.sol/InitModuleAddress.abi.json +0 -1
- package/out/InitModuleAddress.sol/InitModuleAddress.json +0 -1
- package/out/LimitedCallContext.sol/LimitedCallContext.abi.json +0 -7
- package/out/LimitedCallContext.sol/LimitedCallContext.abi.json.d.ts +0 -7
- package/out/LimitedCallContext.sol/LimitedCallContext.json +0 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.json +0 -1
- /package/out/{ERC165Checker.sol/ERC165Checker.abi.json → ICoreSystem.sol/ICoreSystem.abi.json} +0 -0
- /package/out/{IPackedCounterErrors.sol/IPackedCounterErrors.abi.json.d.ts → PackedCounter.sol/PackedCounterInstance.abi.json.d.ts} +0 -0
- /package/out/{ISliceErrors.sol/ISliceErrors.abi.json.d.ts → Slice.sol/SliceLib.abi.json.d.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"install","inputs":[{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRoot","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ERC20Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x60c0604081905230608052620000159062000053565b604051809103906000f08015801562000032573d6000803e3d6000fd5b506001600160a01b031660a0523480156200004c57600080fd5b5062000061565b6147b3806200339b83390190565b60805160a0516133146200008760003960006102d7015260006101fb01526133146000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612af9565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612bd3565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612bd3565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612cc7565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612d9f565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612dbb565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612dbb565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612dbb565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612dbb565b8284610d2c565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dec565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610df6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610e10565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e96565b905060006108b184602001518560400151610eb3565b6040805160008152602081019091529091506108d08682868686610edf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610e10565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612dbb565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401612e0b565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac9190810190612e24565b806020019051810190610abf9190612e6d565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612dbb565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb92919060248101612e96565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f94565b9050610ca88160f81c90565b949350505050565b610d29817e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000610d1c611051565b610d246110d6565b61114d565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d6257610d62612eb5565b602002602001018181525050610de68482600085604051602001610db1919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611207565b50505050565b60006101f161127d565b6000610e098383805190602001206112bc565b9392505050565b6000610e1e60706010612ee1565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610e09565b60608282604051602001610ec8929190612ef4565b604051602081830303815290604052905092915050565b6000610ee961127d565b9050306001600160a01b03821603610f0d57610f088686868686611376565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f5a9089908990899089908990600401612f5f565b600060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b50505050505050505050565b600080610f9f61127d565b9050306001600160a01b03821603610fc557610fbd86868686611393565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611010908990899089908990600401612fb0565b602060405180830381865afa15801561102d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd9190612fdf565b604080516001808252818301909252606091816020015b60608152602001906001900390816110685790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ed5790505090506040518060400160405280600c81526020017f746f6b656e416464726573730000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b600061115761127d565b9050306001600160a01b0382160361117c576111778787878787876113c0565b6111fe565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906111cb908a908a908a908a908a908a90600401613052565b600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505050505b50505050505050565b600061121161127d565b9050306001600160a01b0382160361123057610f08868686868661181b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f5a908990899089908990899060040161309c565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806112b7573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061130157611301612eb5565b602002602001018181525050828160018151811061132157611321612eb5565b602090810291909101015260006113617f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f94565b905061136d8160f81c90565b95945050505050565b61138c85858585856113878b611830565b6118b5565b5050505050565b600061136d6113a28686611bee565b60ff858116601b0360080285901c166113bb8587611c44565b611c7d565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061143957507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561149a57613a3160f11b868760405160200161145891815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd9392916004016130e3565b6114a385611cce565b6114ae846001611f15565b6114b9836000611f15565b60e084901c60e885901c0160ff168251146115195760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146115795760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146115f15760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6115fa856120b1565b611603846120b1565b1461165557611611856120b1565b61161a846120b1565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61165e856120e3565b611667846120e3565b146116b957611675856120e3565b61167e846120e3565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6116c5866120b1565b811015611760576116ef6116d98583612100565b60c58111156116ea576116ea613124565b612121565b6008601b8390030287901c60ff1614611758576008601b8290030286901c60ff1661171d6116d98684612100565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016116bc565b5061176a86612181565b156117c457858660405160200161178391815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401612e0b565b61181086868686866040516020016117dc919061313a565b604051602081830303815290604052866040516020016117fc919061313a565b6040516020818303038152906040526121fa565b6108d08660016122d1565b61138c858561182a8487611c44565b85612377565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161187f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e16118ac7f746273746f72650000000000000000005461626c65730000000000000000000084612612565b60206000611c7d565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361194157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611934949392919061314d565b60405180910390a26108d0565b600061194c8761262e565b905060005b8151811015611a2557600082828151811061196e5761196e612eb5565b6020026020010151905061199a6001826affffffffffffffffffffff19166126b790919063ffffffff16565b15611a1c576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119e9908c908c908c908c908c908c90600401613197565b600060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050505b50600101611951565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a5c949392919061314d565b60405180910390a26000611a708888611bee565b90506000602087019050611a888260008951846126d5565b6000611a93856120e3565b1115611b17576000611aa58a8a612794565b878155905060208601915060008060005b611abf886120e3565b8160ff161015611b1257611ad48d8d836127ea565b9250611aef8a8260ff166028026038011c64ffffffffff1690565b9150611afe83600084886126d5565b611b088286612ee1565b9450600101611ab6565b505050505b60005b8351811015610f88576000848281518110611b3757611b37612eb5565b60200260200101519050611b636002826affffffffffffffffffffff19166126b790919063ffffffff16565b15611be5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611bb2908e908e908e908e908e908e90600401613197565b600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b505050505b50600101611b1a565b60008282604051602001611c039291906131f0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611c7557611c6b60ff601b83900360080287901c1683612ee1565b9150600101611c49565b509392505050565b600060208210611ca357602082048401935060208281611c9f57611c9f61322c565b0691505b508254600882021b602082900380841115611c75576001850154600882021c82179150509392505050565b80611d05576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d10826120e3565b90506005811115611d57576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611d62836120b1565b90506000611d708383612ee1565b9050601c811115611db7576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b83811015611e625760ff601b82900360080287901c166000819003611e0f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6020811115611e4d576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b611e578184612ee1565b925050600101611dbb565b50611e6c8561286a565b8114611eb857611e7b8561286a565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c168015611f0c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101611eba565b80158015611f21575081155b15611f425760405163d498615960e01b8152600060048201526024016102bd565b6000611f4d836120e3565b90506005811115611f745760405163d498615960e01b8152600481018290526024016102bd565b6000611f7f846120b1565b90506000611f8d8383612ee1565b9050601c811115611fb45760405163d498615960e01b8152600481018290526024016102bd565b6000805b83811015612020576000611fcf6116d98984612100565b90508060000361200b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120158184612ee1565b925050600101611fb8565b5061202a8661286a565b8114612055576120398661286a565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156111fe57600061206e6116d98984612100565b905080156120a8576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612057565b6000600860016120c360026020613242565b6120cd9190613242565b6120d79190613255565b8260ff911c1692915050565b600060086001806120f660026020613242565b6120c39190613242565b6000601b8290036008028360ff911c1660c5811115610e0957610e09613124565b6000808260c581111561213657612136613124565b60ff169050606181101561215057601f1660010192915050565b60618360c581111561216457612164613124565b036121725750601492915050565b50600092915050565b50919050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121ba576121ba612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611393565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006122318484610e96565b9050600061223f8585610eb3565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061227957612279612eb5565b6020908102919091010152610f887f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006118b5565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061230757612307612eb5565b6020026020010181815250506123727f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161235591151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b61181b565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361240157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516123f49392919061326c565b60405180910390a2610de6565b600061240d8585611bee565b9050600061241a8661262e565b905060005b81518110156124ef57600082828151811061243c5761243c612eb5565b602002602001015190506124686004826affffffffffffffffffffff19166126b790919063ffffffff16565b156124e6576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124b3908b908b908b908b906004016132a9565b600060405180830381600087803b1580156124cd57600080fd5b505af11580156124e1573d6000803e3d6000fd5b505050505b5060010161241f565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516125249392919061326c565b60405180910390a261253f828565ffffffffffff168561288d565b60005b81518110156111fe57600082828151811061255f5761255f612eb5565b6020026020010151905061258b6008826affffffffffffffffffffff19166126b790919063ffffffff16565b15612609576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906125d6908b908b908b908b906004016132a9565b600060405180830381600087803b1580156125f057600080fd5b505af1158015612604573d6000803e3d6000fd5b505050505b50600101612542565b6040805160208101849052908101829052600090606001611c03565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061266857612668612eb5565b602090810291909101015260006126a07f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836128a3565b9050610ca86126b282600084516128dd565b61296b565b60008160ff16826126c88560581c90565b1660ff1614905092915050565b821561274f57602083106126ff576020830484019350602083816126fb576126fb61322c565b0692505b821561274f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612740575050610de6565b50600194909401939182900391015b5b602082106127715780518455600190930192601f1990910190602001612750565b8115610de6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016127a99291906131f0565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016127ff9291906131f0565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000600861287a60026020613242565b6128849190613255565b9190911c919050565b6123728383835161289e8560200190565b6126d5565b6060610ca86128b38585856127ea565b60006128d8856128c3898961297c565b9060ff166028026038011c64ffffffffff1690565b61298f565b6000818311806128ed5750835182115b1561292a578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd939291906132e2565b602084016129388482612ee1565b905060006129468585613242565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610e0983601560006129b2565b6000610e0961298b8484612794565b5490565b60405160208101601f19603f8484010116604052828252611c7585858584612a2d565b606060006129c08560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816129e6576129e661322c565b04905060405193506020840160208202810160405281855260005b82811015612a21578451871c825293870193602090910190600101612a01565b50505050509392505050565b8215612ab45760208310612a5757602083048401935060208381612a5357612a5361322c565b0692505b8215612ab4576020839003600081841015612a7a5750600019600884021c612a84565b50600019600882021c5b8554600886021b818451168219821617845250818411612aa5575050610de6565b50600194909401939182900391015b5b60208210612ad65783548152600190930192601f1990910190602001612ab5565b8115610de6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612b0b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e0957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612b7457612b74612b3b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ba357612ba3612b3b565b604052919050565b600067ffffffffffffffff821115612bc557612bc5612b3b565b50601f01601f191660200190565b600060208284031215612be557600080fd5b813567ffffffffffffffff811115612bfc57600080fd5b8201601f81018413612c0d57600080fd5b8035612c20612c1b82612bab565b612b7a565b818152856020838501011115612c3557600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612c6e578181015183820152602001612c56565b50506000910152565b6000612c85612c1b84612bab565b9050828152838383011115612c9957600080fd5b610e09836020830184612c53565b600082601f830112612cb857600080fd5b610e0983835160208501612c77565b60008060408385031215612cda57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612cfd57600080fd5b602084015190925067ffffffffffffffff80821115612d1b57600080fd5b9084019060608287031215612d2f57600080fd5b612d37612b51565b825160ff81168114612d4857600080fd5b8152602083015182811115612d5c57600080fd5b612d6888828601612ca7565b602083015250604083015182811115612d8057600080fd5b612d8c88828601612ca7565b6040830152508093505050509250929050565b60008251612db1818460208701612c53565b9190910192915050565b8051602080830151919081101561217b5760001960209190910360031b1b16919050565b60008151808452612df7816020860160208601612c53565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184612ddf565b600060208284031215612e3657600080fd5b815167ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b610ca884825160208401612c77565b600060208284031215612e7f57600080fd5b81516001600160a01b0381168114610e0957600080fd5b83815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1612ecb565b60008351612f06818460208801612c53565b835190830190612f1a818360208801612c53565b01949350505050565b60008151808452602080850194506020840160005b83811015612f5457815187529582019590820190600101612f38565b509495945050505050565b85815260a060208201526000612f7860a0830187612f23565b8281036040840152612f8a8187612ddf565b90508460608401528281036080840152612fa48185612ddf565b98975050505050505050565b848152608060208201526000612fc96080830186612f23565b60ff949094166040830152506060015292915050565b600060208284031215612ff157600080fd5b5051919050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561304557601f19868403018952613033838351612ddf565b98840198925090830190600101613017565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061307d60c0830185612ff8565b82810360a084015261308f8185612ff8565b9998505050505050505050565b85815260a0602082015260006130b560a0830187612f23565b60ff8616604084015282810360608401526130d08186612ddf565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052602160045260246000fd5b602081526000610e096020830184612ff8565b6080815260006131606080830187612f23565b82810360208401526131728187612ddf565b9050846040840152828103606084015261318c8185612ddf565b979650505050505050565b86815260c0602082015260006131b060c0830188612f23565b82810360408401526131c28188612ddf565b905085606084015282810360808401526131dc8186612ddf565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561321f57815184529284019290840190600101613203565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b818103818111156101e1576101e1612ecb565b80820281158282048414176101e1576101e1612ecb565b60608152600061327f6060830186612f23565b65ffffffffffff85166020840152828103604084015261329f8185612ddf565b9695505050505050565b8481526080602082015260006132c26080830186612f23565b65ffffffffffff85166040840152828103606084015261318c8185612ddf565b6060815260006132f56060830186612ddf565b6020830194909452506040015291905056fea164736f6c6343000818000a608060405234801561001057600080fd5b50614793806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612090565b610045565b005b6000601082901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167f6e73000000000000000000000000000000000000000000000000000000000000176040517fb29e40890000000000000000000000000000000000000000000000000000000081526004810182905290915073ffffffffffffffffffffffffffffffffffffffff84169063b29e408990602401600060405180830381600087803b1580156100f957600080fd5b505af115801561010d573d6000803e3d6000fd5b5050505061012261011d83610222565b61025a565b61013361012e836102d6565b610308565b61014461013f83610374565b6103a6565b8273ffffffffffffffffffffffffffffffffffffffff16633350b6a9610169846103fc565b60405161017590612083565b604051809103906000f080158015610191573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b50505050505050565b6000610254613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610445565b92915050565b6102d3817e200100200000000000000000000000000000000000000000000000000000007e280200616100000000000000000000000000000000000000000000000000007e2001001f0000000000000000000000000000000000000000000000000000006102c66104cc565b6102ce6105a4565b61061b565b50565b6000610254613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610445565b6102d3817e200100200000000000000000000000000000000000000000000000000000007e140100610000000000000000000000000000000000000000000000000000007e2001001f0000000000000000000000000000000000000000000000000000006102c66106ee565b6000610254613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610445565b6102d3817e0101020100000000000000000000000000000000000000000000000000000060007e01010200c5c5000000000000000000000000000000000000000000000000006103f4610765565b6102ce610798565b60006102547f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d0000000000000000000000000000000000000000005b60006104536070601061211d565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b6040805160028082526060828101909352816020015b60608152602001906001900390816104e25790505090506040518060400160405280600781526020017f6163636f756e74000000000000000000000000000000000000000000000000008152508160008151811061054257610542612130565b60200260200101819052506040518060400160405280600781526020017f7370656e646572000000000000000000000000000000000000000000000000008152508160018151811061059657610596612130565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816105bb5790505090506040518060400160405280600581526020017f76616c75650000000000000000000000000000000000000000000000000000008152508160008151811061059657610596612130565b60006106256108b8565b90503073ffffffffffffffffffffffffffffffffffffffff82160361065757610652878787878787610904565b610219565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f49906106b3908a908a908a908a908a908a906004016121f0565b600060405180830381600087803b1580156106cd57600080fd5b505af11580156106e1573d6000803e3d6000fd5b5050505050505050505050565b604080516001808252818301909252606091816020015b60608152602001906001900390816107055790505090506040518060400160405280600781526020017f6163636f756e74000000000000000000000000000000000000000000000000008152508160008151811061059657610596612130565b60408051600080825260208201909252606091610792565b606081526020019060019003908161077d5790505b50905090565b60408051600380825260808201909252606091816020015b60608152602001906001900390816107b05790505090506040518060400160405280600881526020017f646563696d616c730000000000000000000000000000000000000000000000008152508160008151811061081057610810612130565b60200260200101819052506040518060400160405280600481526020017f6e616d65000000000000000000000000000000000000000000000000000000008152508160018151811061086457610864612130565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c00000000000000000000000000000000000000000000000000008152508160028151811061059657610596612130565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff16806108ff573391505090565b919050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061097d57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156109e757613a3160f11b868760405160200161099c91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526109de93929160040161223a565b60405180910390fd5b6109f085610d70565b6109fb846001610fb7565b610a06836000610fb7565b60e084901c60e885901c0160ff16825114610a665760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b60e085901c60e886901c0160ff16815114610ac65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614610b3e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b610b4785611153565b610b5084611153565b14610ba257610b5e85611153565b610b6784611153565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b610bab85611185565b610bb484611185565b14610c0657610bc285611185565b610bcb84611185565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b60005b610c1286611153565b811015610cad57610c3c610c2685836111a2565b60c5811115610c3757610c3761227b565b6111ca565b6008601b8390030287901c60ff1614610ca5576008601b8290030286901c60ff16610c6a610c2686846111a2565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b600101610c09565b50610cb786611224565b15610d11578586604051602001610cd091815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526109de9291600401612291565b610d5d8686868686604051602001610d2991906122aa565b60405160208183030381529060405286604051602001610d4991906122aa565b6040516020818303038152906040526112c9565b610d688660016113ac565b505050505050565b80610da7576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610db282611185565b90506005811115610df9576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016109de565b6000610e0483611153565b90506000610e12838361211d565b9050601c811115610e59576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016109de565b6000805b83811015610f045760ff601b82900360080287901c166000819003610eb1576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016109de565b6020811115610eef576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016109de565b610ef9818461211d565b925050600101610e5d565b50610f0e8561146a565b8114610f5a57610f1d8561146a565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016109de565b825b601c811015610d685760ff601b82900360080287901c168015610fae576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016109de565b50600101610f5c565b80158015610fc3575081155b15610fe45760405163d498615960e01b8152600060048201526024016109de565b6000610fef83611185565b905060058111156110165760405163d498615960e01b8152600481018290526024016109de565b600061102184611153565b9050600061102f838361211d565b9050601c8111156110565760405163d498615960e01b8152600481018290526024016109de565b6000805b838110156110c2576000611071610c2689846111a2565b9050806000036110ad576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110b7818461211d565b92505060010161105a565b506110cc8661146a565b81146110f7576110db8661146a565b60405163d498615960e01b81526004016109de91815260200190565b825b82811015610219576000611110610c2689846111a2565b9050801561114a576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016110f9565b600060086001611165600260206122bd565b61116f91906122bd565b61117991906122d0565b8260ff911c1692915050565b60006008600180611198600260206122bd565b61116591906122bd565b6000601b8290036008028360ff911c1660c58111156111c3576111c361227b565b9392505050565b6000808260c58111156111df576111df61227b565b60ff16905060618110156111f957601f1660010192915050565b60618360c581111561120d5761120d61227b565b0361121b5750601492915050565b50600092915050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061125d5761125d612130565b602090810291909101015260006112b57f746273746f72650000000000000000005265736f75726365496473000000000083837e0101000100000000000000000000000000000000000000000000000000000061148d565b90506112c18160f81c90565b949350505050565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061130084846114c3565b9050600061130e85856114e0565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061134857611348612130565b60209081029190910101526113a07f746273746f72650000000000000000005461626c657300000000000000000000828686867e6003022020200000000000000000000000000000000000000000000000000061150c565b50505050505050505050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106113e2576113e2612130565b6020026020010181815250506114657f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161143091151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611845565b505050565b6000600861147a600260206122bd565b61148491906122d0565b9190911c919050565b60006114ba61149c8686611861565b60ff858116601b0360080285901c166114b585876118b7565b6118f0565b95945050505050565b8151815160009181810160389190911b1760609190911b176111c3565b606082826040516020016114f59291906122e7565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361159857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161158b9493929190612352565b60405180910390a2610d68565b60006115a387611941565b905060005b815181101561167c5760008282815181106115c5576115c5612130565b602002602001015190506115f16001826affffffffffffffffffffff19166119ca90919063ffffffff16565b15611673576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611640908c908c908c908c908c908c9060040161239c565b600060405180830381600087803b15801561165a57600080fd5b505af115801561166e573d6000803e3d6000fd5b505050505b506001016115a8565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516116b39493929190612352565b60405180910390a260006116c78888611861565b905060006020870190506116df8260008951846119e8565b60006116ea85611185565b111561176e5760006116fc8a8a611aa6565b878155905060208601915060008060005b61171688611185565b8160ff1610156117695761172b8d8d83611afc565b92506117468a8260ff166028026038011c64ffffffffff1690565b915061175583600084886119e8565b61175f828661211d565b945060010161170d565b505050505b60005b83518110156113a057600084828151811061178e5761178e612130565b602002602001015190506117ba6002826affffffffffffffffffffff19166119ca90919063ffffffff16565b1561183c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611809908e908e908e908e908e908e9060040161239c565b600060405180830381600087803b15801561182357600080fd5b505af1158015611837573d6000803e3d6000fd5b505050505b50600101611771565b61185a858561185484876118b7565b85611b7c565b5050505050565b600082826040516020016118769291906123f5565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156118e8576118de60ff601b83900360080287901c168361211d565b91506001016118bc565b509392505050565b6000602082106119165760208204840193506020828161191257611912612431565b0691505b508254600882021b6020829003808411156118e8576001850154600882021c82179150509392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061197b5761197b612130565b602090810291909101015260006119b37f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611e17565b90506112c16119c58260008451611e51565b611edf565b60008160ff16826119db8560581c90565b1660ff1614905092915050565b8215611a625760208310611a1257602083048401935060208381611a0e57611a0e612431565b0692505b8215611a625760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611a53575050611aa0565b50600194909401939182900391015b5b60208210611a845780518455600190930192601f1990910190602001611a63565b8115611aa05783548151600019600885021c9182169119161784555b50505050565b60008282604051602001611abb9291906123f5565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611b119291906123f5565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611c0657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611bf993929190612447565b60405180910390a2611aa0565b6000611c128585611861565b90506000611c1f86611941565b905060005b8151811015611cf4576000828281518110611c4157611c41612130565b60200260200101519050611c6d6004826affffffffffffffffffffff19166119ca90919063ffffffff16565b15611ceb576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90611cb8908b908b908b908b90600401612484565b600060405180830381600087803b158015611cd257600080fd5b505af1158015611ce6573d6000803e3d6000fd5b505050505b50600101611c24565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051611d2993929190612447565b60405180910390a2611d44828565ffffffffffff1685611ef0565b60005b8151811015610219576000828281518110611d6457611d64612130565b60200260200101519050611d906008826affffffffffffffffffffff19166119ca90919063ffffffff16565b15611e0e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611ddb908b908b908b908b90600401612484565b600060405180830381600087803b158015611df557600080fd5b505af1158015611e09573d6000803e3d6000fd5b505050505b50600101611d47565b60606112c1611e27858585611afc565b6000611e4c85611e378989611f06565b9060ff166028026038011c64ffffffffff1690565b611f19565b600081831180611e615750835182115b15611e9e578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016109de939291906124bd565b60208401611eac848261211d565b90506000611eba85856122bd565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006111c38360156000611f3c565b61146583838351611f018560200190565b6119e8565b60006111c3611f158484611aa6565b5490565b60405160208101601f19603f84840101166040528282526118e885858584611fb7565b60606000611f4a8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611f7057611f70612431565b04905060405193506020840160208202810160405281855260005b82811015611fab578451871c825293870193602090910190600101611f8b565b50505050509392505050565b821561203e5760208310611fe157602083048401935060208381611fdd57611fdd612431565b0692505b821561203e5760208390036000818410156120045750600019600884021c61200e565b50600019600882021c5b8554600886021b81845116821982161784525081841161202f575050611aa0565b50600194909401939182900391015b5b602082106120605783548152600190930192601f199091019060200161203f565b8115611aa0576000600019600884021c8251865482191691161782525050505050565b6122a4806124e383390190565b600080604083850312156120a357600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146120c757600080fd5b915060208301357fffffffffffffffffffffffffffff000000000000000000000000000000000000811681146120fc57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561025457610254612107565b634e487b7160e01b600052603260045260246000fd5b60005b83811015612161578181015183820152602001612149565b50506000910152565b60008151808452612182816020860160208601612146565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b848110156121e357601f198684030189526121d183835161216a565b988401989250908301906001016121b5565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061221b60c0830185612196565b82810360a084015261222d8185612196565b9998505050505050505050565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006114ba606083018461216a565b634e487b7160e01b600052602160045260246000fd5b8281526040602082015260006112c1604083018461216a565b6020815260006111c36020830184612196565b8181038181111561025457610254612107565b808202811582820484141761025457610254612107565b600083516122f9818460208801612146565b83519083019061230d818360208801612146565b01949350505050565b60008151808452602080850194506020840160005b838110156123475781518752958201959082019060010161232b565b509495945050505050565b6080815260006123656080830187612316565b8281036020840152612377818761216a565b90508460408401528281036060840152612391818561216a565b979650505050505050565b86815260c0602082015260006123b560c0830188612316565b82810360408401526123c7818861216a565b905085606084015282810360808401526123e1818661216a565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561242457815184529284019290840190600101612408565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061245a6060830186612316565b65ffffffffffff85166020840152828103604084015261247a818561216a565b9695505050505050565b84815260806020820152600061249d6080830186612316565b65ffffffffffff851660408401528281036060840152612391818561216a565b6060815260006124d0606083018661216a565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612284806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f19116100975780639dc29fac116100665780639dc29fac146101e8578063a9059cbb146101fb578063dd62ed3e1461020e578063e1af802c1461022157600080fd5b806340c10f19146101ad57806345ec9354146101c257806370a08231146101cd57806395d89b41146101e057600080fd5b8063119df25f116100d3578063119df25f1461014a57806318160ddd1461016a57806323b872dd14610180578063313ce5671461019357600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063095ea7b314610137575b600080fd5b61010d610108366004611d13565b610229565b60405190151581526020015b60405180910390f35b61012a6102c2565b6040516101199190611da5565b61010d610145366004611dcf565b6102e1565b610152610303565b6040516001600160a01b039091168152602001610119565b61017261030d565b604051908152602001610119565b61010d61018e366004611df9565b610327565b61019b610357565b60405160ff9091168152602001610119565b6101c06101bb366004611dcf565b61036c565b005b36601f190135610172565b6101726101db366004611e35565b6103cc565b61012a6103e7565b6101c06101f6366004611dcf565b6103fc565b61010d610209366004611dcf565b610453565b61017261021c366004611e50565b61046b565b610152610487565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102bc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606102dc6102d76102d2610491565b6104af565b6104e1565b905090565b6000806102ec610303565b90506102f9818585610507565b5060019392505050565b60006102dc610665565b60006102dc61032261031d610491565b610697565b6106c9565b600080610332610303565b905061033f8582856106ee565b61034a858585610776565b60019150505b9392505050565b60006102dc6103676102d2610491565b61080c565b610374610854565b6001600160a01b0382166103bc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103c86000838361086f565b5050565b60006102bc6103e16103dc610491565b610a37565b83610a69565b60606102dc6103f76102d2610491565b610ad7565b610404610854565b6001600160a01b038216610447576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6103c88260008361086f565b60008061045e610303565b90506102f9818585610776565b600061035061048061047b610491565b610af6565b8484610b28565b60006102dc610bc3565b60008061049d30610bcd565b90506104a98160101b90565b91505090565b60006102bc613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610c52565b604080516000808252602082019092526060916104ff848383610cca565b949350505050565b6001600160a01b03831661054a576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b03821661058d576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6105a361059b61047b610491565b848484610d91565b6105ab610e48565b6001600160a01b031663c9a34acd7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256105ea866001600160a01b031690565b6001600160a01b0386166040805160208101889052016040516020818303038152906040526040518563ffffffff1660e01b815260040161062e9493929190611e99565b600060405180830381600087803b15801561064857600080fd5b505af115801561065c573d6000803e3d6000fd5b50505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106945750335b90565b60006102bc613a3160f11b837f546f74616c537570706c79000000000000000000000000000000000000000000610c52565b6040805160008082526020820190925260006104ff848383630100080160dd1b610f23565b60006107056106fe61047b610491565b8585610b28565b905060001981146107705781811015610763576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064016103b3565b6107708484848403610507565b50505050565b6001600160a01b0383166107b9576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b0382166107fc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b61080783838361086f565b505050565b6040805160008082526020820190925260006108498483837e01010201000000000000000000000000000000000000000000000000000000610f23565b60f81c949350505050565b61086d61086030610bcd565b610868610303565b610fe0565b565b6000610879610491565b9050600061088682610697565b9050600061089383610a37565b90506001600160a01b0386166108c5576108c082856108b1856106c9565b6108bb9190611ed4565b611081565b610935565b60006108d18288610a69565b905084811015610926576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260248101829052604481018690526064016103b3565b61093382888784036110a8565b505b6001600160a01b03851661095c576109578285610951856106c9565b03611081565b610972565b61097281868661096c858a610a69565b016110a8565b61097a610e48565b6001600160a01b031663c9a34acd7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109b9896001600160a01b031690565b6001600160a01b03891660408051602081018b9052016040516020818303038152906040526040518563ffffffff1660e01b81526004016109fd9493929190611e99565b600060405180830381600087803b158015610a1757600080fd5b505af1158015610a2b573d6000803e3d6000fd5b50505050505050505050565b60006102bc613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610c52565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610aae57610aae611ee7565b60209081029190910101526000610ace858383630100080160dd1b610f23565b95945050505050565b604080516000808252602082019092526060916104ff84836001610cca565b60006102bc613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610c52565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610b6d57610b6d611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610b9957610b99611ee7565b60209081029190910101526000610bb9868383630100080160dd1b610f23565b9695505050505050565b60006102dc611110565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610c1257610c12611ee7565b602090810291909101015260006104ff7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b610f23565b6000610c6060706010611ed4565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b60606000610cd6611110565b9050306001600160a01b03821603610cfb57610cf385858561114f565b915050610350565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610d4490889088908890600401611f39565b600060405180830381865afa158015610d61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf39190810190611f65565b509392505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610dd257610dd2611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610dfe57610dfe611ee7565b602002602001018181525050610e418582600085604051602001610e2491815260200190565b60408051601f19818403018152919052630100080160dd1b611189565b5050505050565b600080610e5430610bcd565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091610ed89101604051602081830303815290604052610ed290612012565b8361120c565b90506001600160a01b0381166102bc576040517f9434f7e1000000000000000000000000000000000000000000000000000000008152306004820152602481018390526044016103b3565b600080610f2e611110565b9050306001600160a01b03821603610f5457610f4c86868686611289565b9150506104ff565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610f9f908990899089908990600401612039565b602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190612068565b6001600160a01b0381166110357f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516176112b6565b6001600160a01b0316146103c85761104c82611352565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103b3929190612081565b60408051600080825260208201835291810183905290610807908490839060608201610e24565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106110ea576110ea611ee7565b6020026020010181815250506107708482600085604051602001610e2491815260200190565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061114a573391505090565b919050565b60606104ff61115f858585611480565b60006111848561116f8989611500565b9060ff166028026038011c64ffffffffff1690565b611513565b6000611193611110565b9050306001600160a01b038216036111b7576111b28686868686611536565b611204565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906109fd90899089908990899089906004016120ac565b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061124557611245611ee7565b6020908102919091010152600061127d8583837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c95945050505050565b6000610ace611298868661154b565b60ff858116601b0360080285901c166112b185876115a1565b6115d2565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112ef576112ef611ee7565b602090810291909101015260006113477f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c949350505050565b606081601081901b600061136583611623565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156113c0576113bb7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661163a565b6113f7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff1983161561141e576114198361163a565b611455565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611467939291906120f3565b6040516020818303038152906040529350505050919050565b60008383604051602001611495929190612181565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b600061035061150f84846116c0565b5490565b60405160208101601f19603f8484010116604052828252610d8985858584611716565b610e41858561154584876115a1565b856117e2565b60008282604051602001611560929190612181565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610d89576115c860ff601b83900360080287901c1683611ed4565b91506001016115a6565b6000602082106115f8576020820484019350602082816115f4576115f46121bd565b0691505b508254600882021b602082900380841115610d89576001850154600882021c82179150509392505050565b600061163160706010611ed4565b9190911b919050565b606060005b6010811015611690576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156116905760010161163f565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806104ff565b600082826040516020016116d5929190612181565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b821561179d57602083106117405760208304840193506020838161173c5761173c6121bd565b0692505b821561179d5760208390036000818410156117635750600019600884021c61176d565b50600019600882021c5b8554600886021b81845116821982161784525081841161178e575050610770565b50600194909401939182900391015b5b602082106117bf5783548152600190930192601f199091019060200161179e565b8115610770576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361186c57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161185f939291906121d3565b60405180910390a2610770565b6000611878858561154b565b9050600061188586611a7d565b905060005b815181101561195a5760008282815181106118a7576118a7611ee7565b602002602001015190506118d36004826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611951576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061191e908b908b908b908b90600401612206565b600060405180830381600087803b15801561193857600080fd5b505af115801561194c573d6000803e3d6000fd5b505050505b5060010161188a565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161198f939291906121d3565b60405180910390a26119aa828565ffffffffffff1685611b24565b60005b815181101561065c5760008282815181106119ca576119ca611ee7565b602002602001015190506119f66008826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611a74576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611a41908b908b908b908b90600401612206565b600060405180830381600087803b158015611a5b57600080fd5b505af1158015611a6f573d6000803e3d6000fd5b505050505b506001016119ad565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611ab757611ab7611ee7565b60209081029190910101526000611aef7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361114f565b90506104ff611b018260008451611b3a565b611bc8565b60008160ff1682611b178560581c90565b1660ff1614905092915050565b61080783838351611b358560200190565b611bd9565b600081831180611b4a5750835182115b15611b87578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103b39392919061223f565b60208401611b958482611ed4565b90506000611ba38585612264565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006103508360156000611c98565b8215611c535760208310611c0357602083048401935060208381611bff57611bff6121bd565b0692505b8215611c535760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611c44575050610770565b50600194909401939182900391015b5b60208210611c755780518455600190930192601f1990910190602001611c54565b8115610770576000600019600884021c8554835182191691161785555050505050565b60606000611ca68560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611ccc57611ccc6121bd565b04905060405193506020840160208202810160405281855260005b82811015611d07578451871c825293870193602090910190600101611ce7565b50505050509392505050565b600060208284031215611d2557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461035057600080fd5b60005b83811015611d70578181015183820152602001611d58565b50506000910152565b60008151808452611d91816020860160208601611d55565b601f01601f19169290920160200192915050565b6020815260006103506020830184611d79565b80356001600160a01b038116811461114a57600080fd5b60008060408385031215611de257600080fd5b611deb83611db8565b946020939093013593505050565b600080600060608486031215611e0e57600080fd5b611e1784611db8565b9250611e2560208501611db8565b9150604084013590509250925092565b600060208284031215611e4757600080fd5b61035082611db8565b60008060408385031215611e6357600080fd5b611e6c83611db8565b9150611e7a60208401611db8565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b848152836020820152826040820152608060608201526000610bb96080830184611d79565b634e487b7160e01b600052601160045260246000fd5b808201808211156102bc576102bc611ebe565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015611f2e57815187529582019590820190600101611f12565b509495945050505050565b838152606060208201526000611f526060830185611efd565b905060ff83166040830152949350505050565b600060208284031215611f7757600080fd5b815167ffffffffffffffff80821115611f8f57600080fd5b818401915084601f830112611fa357600080fd5b815181811115611fb557611fb5611e83565b604051601f8201601f19908116603f01168101908382118183101715611fdd57611fdd611e83565b81604052828152876020848701011115611ff657600080fd5b612007836020830160208801611d55565b979650505050505050565b80516020808301519190811015612033576000198160200360031b1b821691505b50919050565b8481526080602082015260006120526080830186611efd565b60ff949094166040830152506060015292915050565b60006020828403121561207a57600080fd5b5051919050565b6040815260006120946040830185611d79565b90506001600160a01b03831660208301529392505050565b85815260a0602082015260006120c560a0830187611efd565b60ff8616604084015282810360608401526120e08186611d79565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612154816003860160208901611d55565b808401905081600382015284519150612174826004830160208801611d55565b0160040195945050505050565b8281526000602080830184516020860160005b828110156121b057815184529284019290840190600101612194565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006121e66060830186611efd565b65ffffffffffff851660208401528281036040840152610bb98185611d79565b84815260806020820152600061221f6080830186611efd565b65ffffffffffff8516604084015282810360608401526120078185611d79565b6060815260006122526060830186611d79565b60208301949094525060400152919050565b818103818111156102bc576102bc611ebe56fea164736f6c6343000818000aa164736f6c6343000818000a","sourceMap":"1122:1793:135:-:0;;;;;644:4:59;600:49;;1263:36:135;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1215:85:135;;;1122:1793;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612af9565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612bd3565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612bd3565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612cc7565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612d9f565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612dbb565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612dbb565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612dbb565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612dbb565b8284610d2c565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dec565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610df6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610e10565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e96565b905060006108b184602001518560400151610eb3565b6040805160008152602081019091529091506108d08682868686610edf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610e10565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612dbb565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401612e0b565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac9190810190612e24565b806020019051810190610abf9190612e6d565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612dbb565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb92919060248101612e96565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f94565b9050610ca88160f81c90565b949350505050565b610d29817e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000610d1c611051565b610d246110d6565b61114d565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d6257610d62612eb5565b602002602001018181525050610de68482600085604051602001610db1919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611207565b50505050565b60006101f161127d565b6000610e098383805190602001206112bc565b9392505050565b6000610e1e60706010612ee1565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610e09565b60608282604051602001610ec8929190612ef4565b604051602081830303815290604052905092915050565b6000610ee961127d565b9050306001600160a01b03821603610f0d57610f088686868686611376565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f5a9089908990899089908990600401612f5f565b600060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b50505050505050505050565b600080610f9f61127d565b9050306001600160a01b03821603610fc557610fbd86868686611393565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611010908990899089908990600401612fb0565b602060405180830381865afa15801561102d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd9190612fdf565b604080516001808252818301909252606091816020015b60608152602001906001900390816110685790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ed5790505090506040518060400160405280600c81526020017f746f6b656e416464726573730000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b600061115761127d565b9050306001600160a01b0382160361117c576111778787878787876113c0565b6111fe565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906111cb908a908a908a908a908a908a90600401613052565b600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505050505b50505050505050565b600061121161127d565b9050306001600160a01b0382160361123057610f08868686868661181b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f5a908990899089908990899060040161309c565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806112b7573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061130157611301612eb5565b602002602001018181525050828160018151811061132157611321612eb5565b602090810291909101015260006113617f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f94565b905061136d8160f81c90565b95945050505050565b61138c85858585856113878b611830565b6118b5565b5050505050565b600061136d6113a28686611bee565b60ff858116601b0360080285901c166113bb8587611c44565b611c7d565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061143957507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561149a57613a3160f11b868760405160200161145891815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd9392916004016130e3565b6114a385611cce565b6114ae846001611f15565b6114b9836000611f15565b60e084901c60e885901c0160ff168251146115195760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146115795760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146115f15760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6115fa856120b1565b611603846120b1565b1461165557611611856120b1565b61161a846120b1565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61165e856120e3565b611667846120e3565b146116b957611675856120e3565b61167e846120e3565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6116c5866120b1565b811015611760576116ef6116d98583612100565b60c58111156116ea576116ea613124565b612121565b6008601b8390030287901c60ff1614611758576008601b8290030286901c60ff1661171d6116d98684612100565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016116bc565b5061176a86612181565b156117c457858660405160200161178391815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401612e0b565b61181086868686866040516020016117dc919061313a565b604051602081830303815290604052866040516020016117fc919061313a565b6040516020818303038152906040526121fa565b6108d08660016122d1565b61138c858561182a8487611c44565b85612377565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161187f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e16118ac7f746273746f72650000000000000000005461626c65730000000000000000000084612612565b60206000611c7d565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361194157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611934949392919061314d565b60405180910390a26108d0565b600061194c8761262e565b905060005b8151811015611a2557600082828151811061196e5761196e612eb5565b6020026020010151905061199a6001826affffffffffffffffffffff19166126b790919063ffffffff16565b15611a1c576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119e9908c908c908c908c908c908c90600401613197565b600060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050505b50600101611951565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a5c949392919061314d565b60405180910390a26000611a708888611bee565b90506000602087019050611a888260008951846126d5565b6000611a93856120e3565b1115611b17576000611aa58a8a612794565b878155905060208601915060008060005b611abf886120e3565b8160ff161015611b1257611ad48d8d836127ea565b9250611aef8a8260ff166028026038011c64ffffffffff1690565b9150611afe83600084886126d5565b611b088286612ee1565b9450600101611ab6565b505050505b60005b8351811015610f88576000848281518110611b3757611b37612eb5565b60200260200101519050611b636002826affffffffffffffffffffff19166126b790919063ffffffff16565b15611be5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611bb2908e908e908e908e908e908e90600401613197565b600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b505050505b50600101611b1a565b60008282604051602001611c039291906131f0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611c7557611c6b60ff601b83900360080287901c1683612ee1565b9150600101611c49565b509392505050565b600060208210611ca357602082048401935060208281611c9f57611c9f61322c565b0691505b508254600882021b602082900380841115611c75576001850154600882021c82179150509392505050565b80611d05576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d10826120e3565b90506005811115611d57576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611d62836120b1565b90506000611d708383612ee1565b9050601c811115611db7576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b83811015611e625760ff601b82900360080287901c166000819003611e0f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6020811115611e4d576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b611e578184612ee1565b925050600101611dbb565b50611e6c8561286a565b8114611eb857611e7b8561286a565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c168015611f0c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101611eba565b80158015611f21575081155b15611f425760405163d498615960e01b8152600060048201526024016102bd565b6000611f4d836120e3565b90506005811115611f745760405163d498615960e01b8152600481018290526024016102bd565b6000611f7f846120b1565b90506000611f8d8383612ee1565b9050601c811115611fb45760405163d498615960e01b8152600481018290526024016102bd565b6000805b83811015612020576000611fcf6116d98984612100565b90508060000361200b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120158184612ee1565b925050600101611fb8565b5061202a8661286a565b8114612055576120398661286a565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156111fe57600061206e6116d98984612100565b905080156120a8576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612057565b6000600860016120c360026020613242565b6120cd9190613242565b6120d79190613255565b8260ff911c1692915050565b600060086001806120f660026020613242565b6120c39190613242565b6000601b8290036008028360ff911c1660c5811115610e0957610e09613124565b6000808260c581111561213657612136613124565b60ff169050606181101561215057601f1660010192915050565b60618360c581111561216457612164613124565b036121725750601492915050565b50600092915050565b50919050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121ba576121ba612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611393565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006122318484610e96565b9050600061223f8585610eb3565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061227957612279612eb5565b6020908102919091010152610f887f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006118b5565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061230757612307612eb5565b6020026020010181815250506123727f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161235591151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b61181b565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361240157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516123f49392919061326c565b60405180910390a2610de6565b600061240d8585611bee565b9050600061241a8661262e565b905060005b81518110156124ef57600082828151811061243c5761243c612eb5565b602002602001015190506124686004826affffffffffffffffffffff19166126b790919063ffffffff16565b156124e6576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124b3908b908b908b908b906004016132a9565b600060405180830381600087803b1580156124cd57600080fd5b505af11580156124e1573d6000803e3d6000fd5b505050505b5060010161241f565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516125249392919061326c565b60405180910390a261253f828565ffffffffffff168561288d565b60005b81518110156111fe57600082828151811061255f5761255f612eb5565b6020026020010151905061258b6008826affffffffffffffffffffff19166126b790919063ffffffff16565b15612609576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906125d6908b908b908b908b906004016132a9565b600060405180830381600087803b1580156125f057600080fd5b505af1158015612604573d6000803e3d6000fd5b505050505b50600101612542565b6040805160208101849052908101829052600090606001611c03565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061266857612668612eb5565b602090810291909101015260006126a07f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836128a3565b9050610ca86126b282600084516128dd565b61296b565b60008160ff16826126c88560581c90565b1660ff1614905092915050565b821561274f57602083106126ff576020830484019350602083816126fb576126fb61322c565b0692505b821561274f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612740575050610de6565b50600194909401939182900391015b5b602082106127715780518455600190930192601f1990910190602001612750565b8115610de6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016127a99291906131f0565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016127ff9291906131f0565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000600861287a60026020613242565b6128849190613255565b9190911c919050565b6123728383835161289e8560200190565b6126d5565b6060610ca86128b38585856127ea565b60006128d8856128c3898961297c565b9060ff166028026038011c64ffffffffff1690565b61298f565b6000818311806128ed5750835182115b1561292a578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd939291906132e2565b602084016129388482612ee1565b905060006129468585613242565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610e0983601560006129b2565b6000610e0961298b8484612794565b5490565b60405160208101601f19603f8484010116604052828252611c7585858584612a2d565b606060006129c08560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816129e6576129e661322c565b04905060405193506020840160208202810160405281855260005b82811015612a21578451871c825293870193602090910190600101612a01565b50505050509392505050565b8215612ab45760208310612a5757602083048401935060208381612a5357612a5361322c565b0692505b8215612ab4576020839003600081841015612a7a5750600019600884021c612a84565b50600019600882021c5b8554600886021b818451168219821617845250818411612aa5575050610de6565b50600194909401939182900391015b5b60208210612ad65783548152600190930192601f1990910190602001612ab5565b8115610de6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612b0b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e0957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612b7457612b74612b3b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ba357612ba3612b3b565b604052919050565b600067ffffffffffffffff821115612bc557612bc5612b3b565b50601f01601f191660200190565b600060208284031215612be557600080fd5b813567ffffffffffffffff811115612bfc57600080fd5b8201601f81018413612c0d57600080fd5b8035612c20612c1b82612bab565b612b7a565b818152856020838501011115612c3557600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612c6e578181015183820152602001612c56565b50506000910152565b6000612c85612c1b84612bab565b9050828152838383011115612c9957600080fd5b610e09836020830184612c53565b600082601f830112612cb857600080fd5b610e0983835160208501612c77565b60008060408385031215612cda57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612cfd57600080fd5b602084015190925067ffffffffffffffff80821115612d1b57600080fd5b9084019060608287031215612d2f57600080fd5b612d37612b51565b825160ff81168114612d4857600080fd5b8152602083015182811115612d5c57600080fd5b612d6888828601612ca7565b602083015250604083015182811115612d8057600080fd5b612d8c88828601612ca7565b6040830152508093505050509250929050565b60008251612db1818460208701612c53565b9190910192915050565b8051602080830151919081101561217b5760001960209190910360031b1b16919050565b60008151808452612df7816020860160208601612c53565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184612ddf565b600060208284031215612e3657600080fd5b815167ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b610ca884825160208401612c77565b600060208284031215612e7f57600080fd5b81516001600160a01b0381168114610e0957600080fd5b83815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1612ecb565b60008351612f06818460208801612c53565b835190830190612f1a818360208801612c53565b01949350505050565b60008151808452602080850194506020840160005b83811015612f5457815187529582019590820190600101612f38565b509495945050505050565b85815260a060208201526000612f7860a0830187612f23565b8281036040840152612f8a8187612ddf565b90508460608401528281036080840152612fa48185612ddf565b98975050505050505050565b848152608060208201526000612fc96080830186612f23565b60ff949094166040830152506060015292915050565b600060208284031215612ff157600080fd5b5051919050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561304557601f19868403018952613033838351612ddf565b98840198925090830190600101613017565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061307d60c0830185612ff8565b82810360a084015261308f8185612ff8565b9998505050505050505050565b85815260a0602082015260006130b560a0830187612f23565b60ff8616604084015282810360608401526130d08186612ddf565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052602160045260246000fd5b602081526000610e096020830184612ff8565b6080815260006131606080830187612f23565b82810360208401526131728187612ddf565b9050846040840152828103606084015261318c8185612ddf565b979650505050505050565b86815260c0602082015260006131b060c0830188612f23565b82810360408401526131c28188612ddf565b905085606084015282810360808401526131dc8186612ddf565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561321f57815184529284019290840190600101613203565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b818103818111156101e1576101e1612ecb565b80820281158282048414176101e1576101e1612ecb565b60608152600061327f6060830186612f23565b65ffffffffffff85166020840152828103604084015261329f8185612ddf565b9695505050505050565b8481526080602082015260006132c26080830186612f23565b65ffffffffffff85166040840152828103606084015261318c8185612ddf565b6060815260006132f56060830186612ddf565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1122:1793:135:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;984:308:59;;;;;;:::i;:::-;;:::i;:::-;;;516:14:214;;509:22;491:41;;479:2;464:18;984:308:59;;;;;;;;1262:113:64;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:214;;;689:74;;677:2;662:18;1262:113:64;543:226:214;1305:1507:135;;;;;;:::i;:::-;;:::i;:::-;;1616:110:64;;;-1:-1:-1;;3800:14:64;3796:25;3783:39;2632:25:214;;2620:2;2605:18;1616:110:64;2486:177:214;2816:97:135;;;;;;:::i;:::-;;:::i;1942:98:64:-;;;:::i;984:308:59:-;1108:4;1133:40;;;1148:25;1133:40;;:104;;-1:-1:-1;1183:54:59;;;1198:39;1183:54;1133:104;:154;;;-1:-1:-1;1247:40:59;;;1262:25;1247:40;1133:154;1120:167;984:308;-1:-1:-1;;984:308:59:o;1262:113:64:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1305:1507:135:-;1427:40;1447:6;1455:11;1427:19;:40::i;:::-;1494:17;1513:33;1561:11;1550:53;;;;;;;;;;;;:::i;:::-;1493:110;;-1:-1:-1;1493:110:135;-1:-1:-1;1676:29:135;-1:-1:-1;;1676:29:135;;;1672:96;;1722:39;;;;;-1:-1:-1;;4839:79:214;;1722:39:135;;;4821:98:214;4794:18;;1722:39:135;;;;;;;;1672:96;1818:16;1848:8;:6;:8::i;:::-;1818:39;;1864:12;1878:23;1905:19;-1:-1:-1;;;;;1905:32:135;2002:5;2009:9;1945:75;;;;;;;;-1:-1:-1;;;;;5142:55:214;;;;5124:74;;-1:-1:-1;;5234:79:214;5229:2;5214:18;;5207:107;5112:2;5097:18;;4930:390;1945:75:135;;;;-1:-1:-1;;1945:75:135;;;;;;;;;;;;;;;;;;;;1905:121;;;1945:75;1905:121;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1863:163;;;;2037:7;2032:41;;2046:27;2062:10;2046:15;:27::i;:::-;2111:56;2129:27;2146:9;2129:16;:27::i;:::-;2158:8;2111:17;:56::i;:::-;2219:24;2246:25;2261:9;2246:14;:25::i;:::-;2219:52;;2277:14;2294:34;2307:5;2314:13;2294:12;:34::i;:::-;2277:51;-1:-1:-1;1597:18:65;1620:33;451:5:20;1620:33:65;;;;1589:65;-1:-1:-1;;;;;2468:23:135;;;1589:65:65;2505:12:135;:10;:12::i;:::-;2468:50;;;;;;;;;;;;;5822:25:214;;;;-1:-1:-1;;;;;5883:55:214;5863:18;;;5856:83;5795:18;;2468:50:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:141;;;-1:-1:-1;;;803:76:141;;;6133:92:214;836:16:141;6241:11:214;;;6234:100;854:24:141;6350:12:214;;;6343:101;2577:46:135;;-1:-1:-1;6460:12:214;;-1:-1:-1;803:76:141;;;;;;;;;;;;795:85;;;:::i;:::-;2577:21:135;:46::i;:::-;2572:167;;426:54:141;;443:18;426:54;;;7000:92:214;463:16:141;7108:11:214;;;7101:100;-1:-1:-1;;;;;2633:23:135;;;;;7217:12:214;;426:54:141;;;;;;;;;;;;418:63;;;:::i;:::-;2633:44:135;;;;;;;;;;;;;2632:25:214;;2620:2;2605:18;;2486:177;2633:44:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:141;;;-1:-1:-1;;;803:76:141;;;6133:92:214;836:16:141;6241:11:214;;;6234:100;854:24:141;6350:12:214;;;6343:101;2685:47:135;;-1:-1:-1;6460:12:214;;-1:-1:-1;803:76:141;;;;;;;;;;;;795:85;;;:::i;:::-;2685:22:135;:47::i;:::-;803:76:141;;;-1:-1:-1;;;803:76:141;;;6133:92:214;836:16:141;6241:11:214;;;6234:100;854:24:141;6350:12:214;;;6343:101;2744:63:135;;6460:12:214;803:76:141;;;;;;;;;;;;795:85;;;:::i;:::-;2787:11:135;2800:6;2744:17;:63::i;:::-;1355:1457;;;;;;;;1305:1507;:::o;2816:97::-;2876:32;;;;;;;;;;;;;;1942:98:64;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:64;3325:45;2992:383;:::o;1990:194:59:-;2092:39;2104:13;2119:11;2092;:39::i;:::-;2088:92;;;2148:25;;;;;;;;;;;;;;2088:92;1990:194;;:::o;348:217:102:-;551:6;545:13;538:4;530:6;526:17;519:40;1047:181:147;1106:10;1129:96;-1:-1:-1;;;1192:9:147;1209:13;1129:25;:96::i;14284:443:144:-;14366:24;14393:29;14406:6;:15;;;17372:26;;;10248:3:214;10244:16;;;;10262:66;10240:89;17372:26:144;;;10228:102:214;17372:26:144;;;;;;;;;10346:11:214;;;;17372:26:144;;;17284:119;14393:29;14366:56;;14429:29;14461:41;14475:6;:11;;;14488:6;:13;;;14461;:41::i;:::-;14429:73;;14508:25;14536:41;14550:6;:11;;;14563:6;:13;;;14536;:41::i;:::-;14613:16;;;14584:26;14613:16;;;;;;;;14508:69;;-1:-1:-1;14636:86:144;14658:8;14613:16;14679:11;14692:15;14508:69;14636:21;:86::i;:::-;14360:367;;;;14284:443;;:::o;1230:184:147:-;1287:10;1310:101;1346:15;1374:9;1391:17;1310:25;:101::i;799:322:185:-;740:64:184;;;757:15;740:64;;;6133:92:214;405:17:184;6241:11:214;;;6234:100;785:18:184;6350:12:214;;;6343:101;869:14:185;;-1:-1:-1;;;;;914:10:185;;;;;6460:12:214;740:64:184;;;;;;;;;;;;732:73;;;:::i;:::-;941:60:185;;;;;2632:25:214;;;2605:18;;941:60:185;;;-1:-1:-1;;941:60:185;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:185;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:185;;;696:18:105;578:36:65;2955:46;;2954:74;603:67:184;;;620:15;603:67;;;6133:92:214;405:17:184;6241:11:214;;;6234:100;648:21:184;6350:12:214;;;6343:101;6460:12;603:67:184;;;;;;;;;;;;595:76;;;:::i;:::-;1105:12:185;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;2499:315:31:-;2612:16;;;2626:1;2612:16;;;;;;;;;2564:11;;;;2612:16;;;;;;;;;;;;-1:-1:-1;2612:16:31;2583:45;;2667:10;2634:9;2644:1;2634:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;2685:13;2701:64;970:66;2738:9;2685:13;-1:-1:-1;;;2701:26:31;:64::i;:::-;2685:80;;2779:29;2800:5;2787:20;;7164:5;7078:97;2779:29;2771:38;2499:315;-1:-1:-1;;;;2499:315:31:o;2053:166:145:-;2107:107;2133:8;1042:66;1196;1353;2183:13;:11;:13::i;:::-;2198:15;:13;:15::i;:::-;2107:25;:107::i;:::-;2053:166;:::o;4765:301::-;4889:16;;;4903:1;4889:16;;;;;;;;;4860:26;;4889:16;;;;;;;;;;;-1:-1:-1;4889:16:145;4860:45;;4944:11;4911:9;4921:1;4911:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;4963:98;4990:8;5000:9;5011:1;5032:12;5014:32;;;;;;;9664:2:214;9660:15;;;;9677:66;9656:88;9644:101;;9770:2;9761:12;;9515:264;5014:32:145;;;;-1:-1:-1;;5014:32:145;;;;;;;;;1042:66;4963:26;:98::i;:::-;4854:212;4765:301;;;:::o;4048:97:64:-;4089:7;4111:29;:27;:29::i;1579:176:59:-;1672:4;1691:59;1712:13;1737:11;1727:22;;;;;;1691:20;:59::i;:::-;1684:66;1579:176;-1:-1:-1;;;1579:176:59:o;1046:257:65:-;1133:10;1262:26;438:6;451:5:20;1262:26:65;:::i;:::-;1244:13;;;:45;;451:5:20;1208:31:65;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:65;;;;;:::o;17594:334:144:-;17876:18;;17896:20;;17694:29;;2643:5:19;;;967:16;2674:39;;;;2656:58;2755:23;2740:39;;;;2722:58;17854:63:144;2502:344:19;18093:168:144;18181:12;18232:4;18247:6;18208:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18201:55;;18093:168;;;;:::o;6454:479:28:-;6640:21;6664:17;:15;:17::i;:::-;6640:41;-1:-1:-1;6716:4:28;-1:-1:-1;;;;;6691:30:28;;;6687:242;;6731:79;6751:7;6760:8;6770:10;6782:14;6798:11;6731:19;:79::i;:::-;6687:242;;;6831:91;;;;;-1:-1:-1;;;;;6831:31:28;;;;;:91;;6863:7;;6872:8;;6882:10;;6894:14;;6910:11;;6831:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6634:299;6454:479;;;;;:::o;17768:457::-;17925:7;17940:21;17964:17;:15;:17::i;:::-;17940:41;-1:-1:-1;18016:4:28;-1:-1:-1;;;;;17991:30:28;;;17987:234;;18038:68;18063:7;18072:8;18082:10;18094:11;18038:24;:68::i;:::-;18031:75;;;;;17987:234;18134:80;;;;;-1:-1:-1;;;;;18134:36:28;;;;;:80;;18171:7;;18180:8;;18190:10;;18202:11;;18134:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1555:142:145:-;1644:15;;;1657:1;1644:15;;;;;;;;;1601:24;;1644:15;;;;;;;;;;;;;;;;;;;;1633:26;;1665:27;;;;;;;;;;;;;;;;;:8;1674:1;1665:11;;;;;;;;:::i;:::-;;;;;;:27;;;;1555:142;:::o;1837:151::-;1932:15;;;1945:1;1932:15;;;;;;;;;1885:26;;1932:15;;;;;;;;;;;;;;;;;;;;1919:28;;1953:30;;;;;;;;;;;;;;;;;:10;1964:1;1953:13;;;;;;;;:::i;5640:520:28:-;5843:21;5867:17;:15;:17::i;:::-;5843:41;-1:-1:-1;5919:4:28;-1:-1:-1;;;;;5894:30:28;;;5890:266;;5934:91;5958:7;5967:11;5980:9;5991:11;6004:8;6014:10;5934:23;:91::i;:::-;5890:266;;;6046:103;;;;;-1:-1:-1;;;;;6046:35:28;;;;;:103;;6082:7;;6091:11;;6104:9;;6115:11;;6128:8;;6138:10;;6046:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5890:266;5837:323;5640:520;;;;;;:::o;10756:455::-;10928:21;10952:17;:15;:17::i;:::-;10928:41;-1:-1:-1;11004:4:28;-1:-1:-1;;;;;10979:30:28;;;10975:232;;11019:74;11044:7;11053:8;11063:10;11075:4;11081:11;11019:24;:74::i;10975:232::-;11114:86;;;;;-1:-1:-1;;;;;11114:36:28;;;;;:86;;11151:7;;11160:8;;11170:10;;11182:4;;11188:11;;11114:86;;;:::i;1832:227::-;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:28;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:28:o;3544:382:78:-;3679:16;;;3693:1;3679:16;;;;;;;;3626;;;;3679;3693:1;3679:16;;;;;;;;;;-1:-1:-1;3679:16:78;3650:45;;3740:13;-1:-1:-1;;;;;3724:31:78;3716:40;;3701:9;3711:1;3701:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;3777:13;3762:9;3772:1;3762:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;3797:13;3813:64;1081:66;3850:9;3797:13;-1:-1:-1;;;3813:26:78;:64::i;:::-;3797:80;;3891:29;3912:5;3899:20;;7164:5:31;7078:97;3891:29:78;3883:38;3544:382;-1:-1:-1;;;;;3544:382:78:o;11746:285:24:-;11932:94;11942:7;11951:8;11961:10;11973:14;11989:11;12002:23;12017:7;12002:14;:23::i;:::-;11932:9;:94::i;:::-;11746:285;;;;;:::o;35844:541::-;36001:7;36138:242;36182:59;36223:7;36232:8;36182:40;:59::i;:::-;36259:31;;;;4322:19:3;:27;579:1:34;4321:44:3;4287:79;;;4274:93;36308:63:24;36347:11;36360:10;36308:38;:63::i;:::-;36138:17;:242::i;6620:2614::-;-1:-1:-1;;;6880:7:24;:35;;;;;;:83;;-1:-1:-1;6940:23:24;6919:7;:44;;;;6880:83;6876:209;;;-1:-1:-1;;;7035:7:24;7068;7051:25;;;;;;15291:19:214;;15335:2;15326:12;;15131:213;7051:25:24;;;;-1:-1:-1;;7051:25:24;;;;;;;;;;6980:98;;;;;;;;;;:::i;6876:209::-;7131:22;:11;:20;:22::i;:::-;7194:40;:9;7227:4;7194:18;:40::i;:::-;7240:43;:11;7275:5;7240:20;:43::i;:::-;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7371:8:24;:15;:40;7367:148;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7492:15:24;;7428:80;;;;;;;;15991:25:214;;;;16032:18;;;16025:34;15964:18;;7428:80:24;15817:248:214;7367:148:24;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7565:10:24;:17;:44;7561:158;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7694:17:24;;7626:86;;;;;;;;15991:25:214;;;;16032:18;;;16025:34;15964:18;;7626:86:24;15817:248:214;7561:158:24;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7776:50:24;7772:171;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7843:93:24;;;;;;;;15991:25:214;;;;16032:18;;;16025:34;15964:18;;7843:93:24;15817:248:214;7772:171:24;7985:29;:11;:27;:29::i;:::-;7952;:11;:27;:29::i;:::-;:62;7948:225;;8090:29;:11;:27;:29::i;:::-;8129;:11;:27;:29::i;:::-;8031:135;;;;;;;;15991:25:214;;;;16032:18;;;16025:34;15964:18;;8031:135:24;15817:248:214;7948:225:24;8216:30;:11;:28;:30::i;:::-;8182;:11;:28;:30::i;:::-;:64;8178:230;;8323:30;:11;:28;:30::i;:::-;8363;:11;:28;:30::i;:::-;8263:138;;;;;;;;15991:25:214;;;;16032:18;;;16025:34;15964:18;;8263:138:24;15817:248:214;8178:230:24;8505:9;8500:314;8520:29;:11;:27;:29::i;:::-;8516:1;:33;8500:314;;;8594:44;:22;:11;8614:1;8594:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:34;4322:19:3;:27;;;4321:44;4287:79;;;4274:93;;8568:70:24;8564:244;;579:1:34;4322:19:3;:27;;;4321:44;4287:79;;;4274:93;;8745:44:24;:22;:11;8765:1;8745:19;:22::i;:44::-;8657:142;;;;;;;;15991:25:214;;;;16032:18;;;16025:34;15964:18;;8657:142:24;15817:248:214;8564:244:24;8551:3;;8500:314;;;;8876:31;8899:7;8876:22;:31::i;:::-;8872:140;;;8962:7;8995;8978:25;;;;;;15291:19:214;;15335:2;15326:12;;15131:213;8978:25:24;;;;-1:-1:-1;;8978:25:24;;;;;;;;;;8924:81;;;;;;;;;:::i;8872:140::-;9053:103;9065:7;9074:11;9087:9;9098:11;9122:8;9111:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9144:10;9133:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9053:11;:103::i;:::-;9192:37;9215:7;9224:4;9192:22;:37::i;22785:355::-;22957:178;22991:7;23016:8;23046:63;23085:11;23098:10;23046:38;:63::i;:::-;23124:4;22957:16;:178::i;3998:652::-;4065:11;4301:64;;;4297:111;;-1:-1:-1;1339:66:33;;3998:652:24;-1:-1:-1;3998:652:24:o;4297:111::-;4452:185;4498:85;1210:66:33;4574:7:24;4498:40;:85::i;:::-;4603:2;4625:1;4452:17;:185::i;12891:3164::-;13185:23;13164:7;:44;;;13160:211;;13291:7;13262:88;13300:8;13310:10;13322:14;13338:11;13262:88;;;;;;;;;:::i;:::-;;;;;;;;13358:7;;13160:211;13509:22;13534:24;13550:7;13534:15;:24::i;:::-;13509:49;;13569:9;13564:340;13584:5;:12;13580:1;:16;13564:340;;;13611:9;13633:5;13639:1;13633:8;;;;;;;;:::i;:::-;;;;;;;13611:31;;13654:33;409:6:36;13654:4:24;:14;;;;;:33;;;;:::i;:::-;13650:248;;;13699:190;;;;;3536:35:4;;;;;13699:47:24;;:190;;13758:7;;13777:8;;13797:10;;13819:14;;13845:11;;13868;;13699:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13650:248;-1:-1:-1;13598:3:24;;13564:340;;;;13981:7;13952:88;13990:8;14000:10;14012:14;14028:11;13952:88;;;;;;;;;:::i;:::-;;;;;;;;14104:26;14133:59;14174:7;14183:8;14133:40;:59::i;:::-;14104:88;-1:-1:-1;14198:21:24;894:4:18;884:15;;14198:54:24;;14258:149;14296:18;14330:1;14347:10;:17;14387:13;14258;:149::i;:::-;14507:1;14474:30;:11;:28;:30::i;:::-;:34;14470:1174;;;14593:33;14629:66;14677:7;14686:8;14629:47;:66::i;:::-;695:28:23;;;14593:102:24;-1:-1:-1;894:4:18;884:15;;14869:47:24;;15025:27;15060:25;15098:7;15093:545;15111:30;:11;:28;:30::i;:::-;15107:1;:34;;;15093:545;;;15177:63;15219:7;15228:8;15238:1;15177:41;:63::i;:::-;15155:85;-1:-1:-1;15270:25:24;:14;15293:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;15270:25:24;15250:45;;15305:170;15347:19;15386:1;15407:17;15451:13;15305;:170::i;:::-;15485:34;15502:17;15485:34;;:::i;:::-;;-1:-1:-1;15616:3:24;;15093:545;;;;14510:1134;;;14470:1174;15718:9;15713:338;15733:5;:12;15729:1;:16;15713:338;;;15760:9;15782:5;15788:1;15782:8;;;;;;;;:::i;:::-;;;;;;;15760:31;;15803:32;503:6:36;15803:4:24;:14;;;;;:32;;;;:::i;:::-;15799:246;;;15847:189;;;;;3536:35:4;;;;;15847:46:24;;:189;;15905:7;;15924:8;;15944:10;;15966:14;;15992:11;;16015;;15847:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15799:246;-1:-1:-1;15747:3:24;;15713:338;;50476:191;50578:7;50642;50651:8;50625:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50625:35:24;;;;;;;;;50615:46;;50625:35;50615:46;;;;42033:22;50608:53;;50476:191;-1:-1:-1;;;50476:191:24:o;51493:242::-;51589:7;;;51628:84;51648:10;51644:14;;:1;:14;51628:84;;;51673:32;4274:93:3;4322:19;:27;;;579:1:34;4321:44:3;4287:79;;;4274:93;51673:32:24;;:::i;:::-;;-1:-1:-1;51660:3:24;;51628:84;;;-1:-1:-1;51724:6:24;51493:242;-1:-1:-1;;;51493:242:24:o;8945:812:23:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:23;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;6617:1665:3:-;6300:45;6680:87;;6722:38;;;;;;;;;;;;;;6680:87;6773:25;6801:30;:11;:28;:30::i;:::-;6773:58;;944:1:34;6841:17:3;:38;6837:156;;;6896:90;;;;;;;;15991:25:214;;;944:1:34;16032:18:214;;;16025:34;15964:18;;6896:90:3;15817:248:214;6837:156:3;6999:24;7026:29;:11;:27;:29::i;:::-;6999:56;-1:-1:-1;7061:23:3;7087:36;7106:17;6999:56;7087:36;:::i;:::-;7061:62;;689:2:34;7133:15:3;:34;7129:141;;;7184:79;;;;;;;;15991:25:214;;;689:2:34;16032:18:214;;;16025:34;15964:18;;7184:79:3;15817:248:214;7129:141:3;7312:25;7348:9;7343:429;7363:16;7359:1;:20;7343:429;;;4274:93;4322:19;:27;;;579:1:34;4321:44:3;4287:79;;;4274:93;7391:24;7452:21;;;7448:234;;7492:52;;;;;;;;2632:25:214;;;2605:18;;7492:52:3;2486:177:214;7448:234:3;376:2:34;7563:16:3;:28;7559:123;;;7610:63;;;;;;;;2632:25:214;;;2605:18;;7610:63:3;2486:177:214;7559:123:3;7689:37;7710:16;7689:37;;:::i;:::-;;-1:-1:-1;;7754:3:3;;7343:429;;;;7839:30;:11;:28;:30::i;:::-;7818:17;:51;7814:184;;7941:30;:11;:28;:30::i;:::-;7886:105;;;;;;;;15991:25:214;;;;16032:18;;;16025:34;;;15964:18;;7886:105:3;15817:248:214;7814:184:3;8054:16;8037:241;689:2:34;8072:1:3;:20;8037:241;;;4274:93;4322:19;:27;;;579:1:34;4321:44:3;4287:79;;;4274:93;8168:21;;8164:108;;8208:55;;;;;;;;2632:25:214;;;2605:18;;8208:55:3;2486:177:214;8164:108:3;-1:-1:-1;8094:3:3;;8037:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;6300:45:3;;5881:16:21;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;2632:25:214;2605:18;;5906:37:21;2486:177:214;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;944:1:34;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;2632:25:214;;;2605:18;;6116:53:21;2486:177:214;6065:104:21;6176:24;6203;:6;:22;:24::i;:::-;6176:51;-1:-1:-1;6297:23:21;6323:36;6342:17;6176:51;6323:36;:::i;:::-;6297:62;;689:2:34;6369:15:21;:34;6365:98;;;6412:51;;-1:-1:-1;;;6412:51:21;;;;;2632:25:214;;;2605:18;;6412:51:21;2486:177:214;6365:98:21;6524:25;6560:9;6555:314;6575:16;6571:1;:20;6555:314;;;6603:24;6630:39;:17;:6;6645:1;6630:14;:17::i;:39::-;6603:66;;6681:16;6701:1;6681:21;6677:102;;6721:49;;;;;;;;;;;;;;6677:102;6786:37;6807:16;6786:37;;:::i;:::-;;-1:-1:-1;;6851:3:21;;6555:314;;;;6937:25;:6;:23;:25::i;:::-;6916:17;:46;6912:135;;7014:25;:6;:23;:25::i;:::-;6979:61;;-1:-1:-1;;;6979:61:21;;;;;;2632:25:214;;2620:2;2605:18;;2486:177;6912:135:21;7122:16;7105:286;7144:15;7140:1;:19;7105:286;;;7171:24;7198:39;:17;:6;7213:1;7198:14;:17::i;:39::-;7171:66;-1:-1:-1;7249:20:21;;7245:101;;7288:49;;;;;;;;;;;;;;7245:101;-1:-1:-1;7373:3:21;;7105:286;;4978:171:3;5051:7;579:1:34;1533;1517:13;1529:1;376:2;1517:13;:::i;:::-;:17;;;;:::i;:::-;1516:34;;;;:::i;:::-;5087:11:3;5066:78;5079:64;;5066:78;;4978:171;-1:-1:-1;;4978:171:3:o;5376:173::-;5450:7;579:1:34;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;4019:206:21:-;4089:10;4179:19;:27;;;4210:1;4178:33;4157:6;4132:82;4149:63;;4132:82;;;;;;;;;:::i;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;2855:314:31:-;2969:16;;;2983:1;2969:16;;;;;;;;;2921:11;;;;2969:16;;;;;;;;;;;;-1:-1:-1;2969:16:31;2940:45;;3024:10;2991:9;3001:1;2991:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3042:13;3058:62;970:66;3093:9;3042:13;-1:-1:-1;;;3058:24:31;:62::i;19791:676:33:-;24354:53;;;;;;21688:19:214;;;21723:12;;;21716:28;;;24327:12:33;21760::214;;;21753:28;;;24354:53:33;;;;;;;;;;21797:12:214;;;;24354:53:33;;;20082:29;20114:55;20128:18;20148:20;20114:13;:55::i;:::-;20082:87;;20175:25;20203:55;20217:18;20237:20;20203:13;:55::i;:::-;20294:16;;;20308:1;20294:16;;;;;;;;;20175:83;;-1:-1:-1;20265:26:33;;20294:16;;;;;;;;;;;;-1:-1:-1;20294:16:33;20265:45;;20349:7;20316:9;20326:1;20316:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20364:98;1210:66;20394:9;20405:11;20418:15;20435:12;1339:66;20364:19;:98::i;4219:268:31:-;4319:16;;;4333:1;4319:16;;;;;;;;;4290:26;;4319:16;;;;;;;;;;;-1:-1:-1;4319:16:31;4290:45;;4374:10;4341:9;4351:1;4341:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4392:90;970:66;954:83;;4427:9;4438:1;4459:6;4441:26;;;;;;19943:14:214;19936:22;19931:3;19927:32;19915:45;;19985:1;19976:11;;19792:201;4441:26:31;;;;-1:-1:-1;;4441:26:31;;;;;;;;;-1:-1:-1;;;4392:24:31;:90::i;:::-;4284:203;4219:268;;:::o;16691:1682:24:-;16891:23;16870:7;:44;;;16866:235;;17024:7;16977:103;17043:8;17060:5;17073:4;16977:103;;;;;;;;:::i;:::-;;;;;;;;17088:7;;16866:235;17107:16;17126:59;17167:7;17176:8;17126:40;:59::i;:::-;17107:78;;17331:22;17356:24;17372:7;17356:15;:24::i;:::-;17331:49;;17391:9;17386:328;17406:5;:12;17402:1;:16;17386:328;;;17433:9;17455:5;17461:1;17455:8;;;;;;;;:::i;:::-;;;;;;;17433:31;;17476:41;614:6:36;17476:4:24;:14;;;;;:41;;;;:::i;:::-;17472:236;;;17529:170;;;;;3536:35:4;;;;;17529:54:24;;:170;;17605:7;;17634:8;;17661:5;;17684:4;;17529:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17472:236;-1:-1:-1;17420:3:24;;17386:328;;;;17818:7;17771:103;17837:8;17854:5;17867:4;17771:103;;;;;;;;:::i;:::-;;;;;;;;17924:70;17956:8;17974:5;17924:70;;17987:4;17924:13;:70::i;:::-;18048:9;18043:326;18063:5;:12;18059:1;:16;18043:326;;;18090:9;18112:5;18118:1;18112:8;;;;;;;;:::i;:::-;;;;;;;18090:31;;18133:40;723:6:36;18133:4:24;:14;;;;;:40;;;;:::i;:::-;18129:234;;;18185:169;;;;;3536:35:4;;;;;18185:53:24;;:169;;18260:7;;18289:8;;18316:5;;18339:4;;18185:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18129:234;-1:-1:-1;18077:3:24;;18043:326;;50919:282;51164:30;;;;;;21322:19:214;;;21357:12;;;21350:28;;;51007:7:24;;21394:12:214;;51164:30:24;21134:278:214;3655:342:32;3771:16;;;3785:1;3771:16;;;;;;;;;3712:22;;3742:26;;3771:16;;;;;;;;;;;;-1:-1:-1;3771:16:32;3742:45;;3826:7;3793:9;3803:1;3793:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3841:18;3862:49;968:66;3898:9;3841:18;3862:25;:49::i;:::-;3841:70;;3925:66;:44;3946:5;3953:1;3956:5;:12;3925:20;:44::i;:::-;:64;:66::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:23:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:34;804:25:35;;782:48;2208:18:23;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:23;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:23;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;3761:21:23;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:23;;;;:::o;53041:230:24:-;53162:7;53246;53255:8;53229:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53229:35:24;;;;;;;;;53219:46;;53229:35;53219:46;;;;42196:40;53192:73;;53041:230;-1:-1:-1;;;53041:230:24:o;52412:274::-;52556:7;52661;52670:8;52644:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52634:46;;;;;;52613:17;52606:25;;52586:45;;;42105:34;52586:45;:94;52578:103;;52571:110;;52412:274;;;;;:::o;4597:171:3:-;4671:7;579:1:34;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;4693:70:3;;;;;4597:171;-1:-1:-1;4597:171:3:o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:23;1055:5;:68::i;36853:522:24:-;36989:12;37113:257;37152:79;37194:7;37203:8;37213:17;37152:41;:79::i;:::-;37249:1;37268:93;37343:17;37268:66;37316:7;37325:8;37268:47;:66::i;:::-;:74;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;37268:93:24;37113:12;:257::i;2003:574:22:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:22;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:22:o;40103:220:38:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;53609:301:24:-;53730:13;53822:82;53853:48;53883:7;53892:8;53853:29;:48::i;:::-;4711:21:23;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:23;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:40:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:40;2831:45;-1:-1:-1;692:17:22;3238:38;;2882:20:40;3044:11;3238:38:22;3044:11:40;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;6076:2380:23:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:23;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:23;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;8389:20:23;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:23;;;;:::o;14:332:214:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:214;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:334::-;1292:2;1286:9;1348:2;1338:13;;-1:-1:-1;;1334:86:214;1322:99;;1451:18;1436:34;;1472:22;;;1433:62;1430:88;;;1498:18;;:::i;:::-;1534:2;1527:22;1221:334;;-1:-1:-1;1221:334:214:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:214;1708:15;-1:-1:-1;;1704:88:214;1794:4;1700:99;;1560:245::o;1810:671::-;1878:6;1931:2;1919:9;1910:7;1906:23;1902:32;1899:52;;;1947:1;1944;1937:12;1899:52;1987:9;1974:23;2020:18;2012:6;2009:30;2006:50;;;2052:1;2049;2042:12;2006:50;2075:22;;2128:4;2120:13;;2116:27;-1:-1:-1;2106:55:214;;2157:1;2154;2147:12;2106:55;2193:2;2180:16;2218:48;2234:31;2262:2;2234:31;:::i;:::-;2218:48;:::i;:::-;2289:2;2282:5;2275:17;2329:7;2324:2;2319;2315;2311:11;2307:20;2304:33;2301:53;;;2350:1;2347;2340:12;2301:53;2405:2;2400;2396;2392:11;2387:2;2380:5;2376:14;2363:45;2449:1;2428:14;;;2444:2;2424:23;2417:34;;;;2432:5;1810:671;-1:-1:-1;;;;1810:671:214:o;2668:250::-;2753:1;2763:113;2777:6;2774:1;2771:13;2763:113;;;2853:11;;;2847:18;2834:11;;;2827:39;2799:2;2792:10;2763:113;;;-1:-1:-1;;2910:1:214;2892:16;;2885:27;2668:250::o;2923:321::-;2999:5;3028:52;3044:35;3072:6;3044:35;:::i;3028:52::-;3019:61;;3103:6;3096:5;3089:21;3143:3;3134:6;3129:3;3125:16;3122:25;3119:45;;;3160:1;3157;3150:12;3119:45;3173:65;3231:6;3224:4;3217:5;3213:16;3208:3;3173:65;:::i;3249:237::-;3303:5;3356:3;3349:4;3341:6;3337:17;3333:27;3323:55;;3374:1;3371;3364:12;3323:55;3396:84;3476:3;3467:6;3461:13;3454:4;3446:6;3442:17;3396:84;:::i;3491:1179::-;3606:6;3614;3667:2;3655:9;3646:7;3642:23;3638:32;3635:52;;;3683:1;3680;3673:12;3635:52;3715:9;3709:16;-1:-1:-1;;3758:5:214;3754:78;3747:5;3744:89;3734:117;;3847:1;3844;3837:12;3734:117;3919:2;3904:18;;3898:25;3870:5;;-1:-1:-1;3942:18:214;3972:14;;;3969:34;;;3999:1;3996;3989:12;3969:34;4022:22;;;;4078:4;4060:16;;;4056:27;4053:47;;;4096:1;4093;4086:12;4053:47;4124:22;;:::i;:::-;4176:2;4170:9;4223:4;4214:7;4210:18;4201:7;4198:31;4188:59;;4243:1;4240;4233:12;4188:59;4256:24;;4319:2;4311:11;;4305:18;4335:16;;;4332:36;;;4364:1;4361;4354:12;4332:36;4402:56;4450:7;4439:8;4435:2;4431:17;4402:56;:::i;:::-;4397:2;4388:7;4384:16;4377:82;;4498:2;4494;4490:11;4484:18;4527:2;4517:8;4514:16;4511:36;;;4543:1;4540;4533:12;4511:36;4581:56;4629:7;4618:8;4614:2;4610:17;4581:56;:::i;:::-;4576:2;4567:7;4563:16;4556:82;;4657:7;4647:17;;;;;3491:1179;;;;;:::o;5325:287::-;5454:3;5492:6;5486:13;5508:66;5567:6;5562:3;5555:4;5547:6;5543:17;5508:66;:::i;:::-;5590:16;;;;;5325:287;-1:-1:-1;;5325:287:214:o;6483:357::-;6601:12;;6648:4;6637:16;;;6631:23;;6601:12;6666:16;;6663:171;;;-1:-1:-1;;6740:4:214;6736:17;;;;6733:1;6729:25;6725:98;6714:110;;6483:357;-1:-1:-1;6483:357:214:o;7453:329::-;7494:3;7532:5;7526:12;7559:6;7554:3;7547:19;7575:76;7644:6;7637:4;7632:3;7628:14;7621:4;7614:5;7610:16;7575:76;:::i;:::-;7696:2;7684:15;-1:-1:-1;;7680:88:214;7671:98;;;;7771:4;7667:109;;7453:329;-1:-1:-1;;7453:329:214:o;7787:319::-;7993:6;7982:9;7975:25;8036:2;8031;8020:9;8016:18;8009:30;7956:4;8056:44;8096:2;8085:9;8081:18;8073:6;8056:44;:::i;8111:458::-;8190:6;8243:2;8231:9;8222:7;8218:23;8214:32;8211:52;;;8259:1;8256;8249:12;8211:52;8292:9;8286:16;8325:18;8317:6;8314:30;8311:50;;;8357:1;8354;8347:12;8311:50;8380:22;;8433:4;8425:13;;8421:27;-1:-1:-1;8411:55:214;;8462:1;8459;8452:12;8411:55;8485:78;8555:7;8550:2;8544:9;8539:2;8535;8531:11;8485:78;:::i;8574:321::-;8652:6;8705:2;8693:9;8684:7;8680:23;8676:32;8673:52;;;8721:1;8718;8711:12;8673:52;8753:9;8747:16;-1:-1:-1;;;;;8796:5:214;8792:54;8785:5;8782:65;8772:93;;8861:1;8858;8851:12;8900:421;9165:6;9154:9;9147:25;9208:6;9203:2;9192:9;9188:18;9181:34;9251:2;9246;9235:9;9231:18;9224:30;9128:4;9271:44;9311:2;9300:9;9296:18;9288:6;9271:44;:::i;9326:184::-;-1:-1:-1;;;9375:1:214;9368:88;9475:4;9472:1;9465:15;9499:4;9496:1;9489:15;9784:184;-1:-1:-1;;;9833:1:214;9826:88;9933:4;9930:1;9923:15;9957:4;9954:1;9947:15;9973:125;10038:9;;;10059:10;;;10056:36;;;10072:18;;:::i;10368:492::-;10543:3;10581:6;10575:13;10597:66;10656:6;10651:3;10644:4;10636:6;10632:17;10597:66;:::i;:::-;10726:13;;10685:16;;;;10748:70;10726:13;10685:16;10795:4;10783:17;;10748:70;:::i;:::-;10834:20;;10368:492;-1:-1:-1;;;;10368:492:214:o;10865:439::-;10918:3;10956:5;10950:12;10983:6;10978:3;10971:19;11009:4;11038;11033:3;11029:14;11022:21;;11077:4;11070:5;11066:16;11100:1;11110:169;11124:6;11121:1;11118:13;11110:169;;;11185:13;;11173:26;;11219:12;;;;11254:15;;;;11146:1;11139:9;11110:169;;;-1:-1:-1;11295:3:214;;10865:439;-1:-1:-1;;;;;10865:439:214:o;11309:791::-;11701:6;11690:9;11683:25;11744:3;11739:2;11728:9;11724:18;11717:31;11664:4;11771:57;11823:3;11812:9;11808:19;11800:6;11771:57;:::i;:::-;11876:9;11868:6;11864:22;11859:2;11848:9;11844:18;11837:50;11910:32;11935:6;11927;11910:32;:::i;:::-;11896:46;;11978:6;11973:2;11962:9;11958:18;11951:34;12034:9;12026:6;12022:22;12016:3;12005:9;12001:19;11994:51;12062:32;12087:6;12079;12062:32;:::i;:::-;12054:40;11309:791;-1:-1:-1;;;;;;;;11309:791:214:o;12105:546::-;12427:6;12416:9;12409:25;12470:3;12465:2;12454:9;12450:18;12443:31;12390:4;12491:57;12543:3;12532:9;12528:19;12520:6;12491:57;:::i;:::-;12596:4;12584:17;;;;12579:2;12564:18;;12557:45;-1:-1:-1;12633:2:214;12618:18;12611:34;12483:65;12105:546;-1:-1:-1;;12105:546:214:o;12656:184::-;12726:6;12779:2;12767:9;12758:7;12754:23;12750:32;12747:52;;;12795:1;12792;12785:12;12747:52;-1:-1:-1;12818:16:214;;12656:184;-1:-1:-1;12656:184:214:o;12845:656::-;12897:3;12928;12960:5;12954:12;12987:6;12982:3;12975:19;13013:4;13042;13037:3;13033:14;13026:21;;13100:4;13090:6;13087:1;13083:14;13076:5;13072:26;13068:37;13139:4;13132:5;13128:16;13162:1;13172:303;13186:6;13183:1;13180:13;13172:303;;;-1:-1:-1;;13261:5:214;13255:4;13251:16;13247:89;13242:3;13235:102;13358:37;13390:4;13381:6;13375:13;13358:37;:::i;:::-;13453:12;;;;13350:45;-1:-1:-1;13418:15:214;;;;13208:1;13201:9;13172:303;;;-1:-1:-1;13491:4:214;;12845:656;-1:-1:-1;;;;;;;12845:656:214:o;13506:908::-;14032:6;14021:9;14014:25;14075:6;14070:2;14059:9;14055:18;14048:34;14118:6;14113:2;14102:9;14098:18;14091:34;14161:6;14156:2;14145:9;14141:18;14134:34;14205:3;14199;14188:9;14184:19;14177:32;13995:4;14232:56;14283:3;14272:9;14268:19;14260:6;14232:56;:::i;:::-;14337:9;14329:6;14325:22;14319:3;14308:9;14304:19;14297:51;14365:43;14401:6;14393;14365:43;:::i;:::-;14357:51;13506:908;-1:-1:-1;;;;;;;;;13506:908:214:o;14419:707::-;14787:6;14776:9;14769:25;14830:3;14825:2;14814:9;14810:18;14803:31;14750:4;14857:57;14909:3;14898:9;14894:19;14886:6;14857:57;:::i;:::-;14962:4;14954:6;14950:17;14945:2;14934:9;14930:18;14923:45;15016:9;15008:6;15004:22;14999:2;14988:9;14984:18;14977:50;15044:32;15069:6;15061;15044:32;:::i;:::-;15036:40;;;15113:6;15107:3;15096:9;15092:19;15085:35;14419:707;;;;;;;;:::o;15349:463::-;15595:66;15587:6;15583:79;15572:9;15565:98;15699:6;15694:2;15683:9;15679:18;15672:34;15742:2;15737;15726:9;15722:18;15715:30;15546:4;15762:44;15802:2;15791:9;15787:18;15779:6;15762:44;:::i;16070:184::-;-1:-1:-1;;;16119:1:214;16112:88;16219:4;16216:1;16209:15;16243:4;16240:1;16233:15;16585:280;16784:2;16773:9;16766:21;16747:4;16804:55;16855:2;16844:9;16840:18;16832:6;16804:55;:::i;16870:688::-;17203:3;17192:9;17185:22;17166:4;17230:57;17282:3;17271:9;17267:19;17259:6;17230:57;:::i;:::-;17335:9;17327:6;17323:22;17318:2;17307:9;17303:18;17296:50;17369:32;17394:6;17386;17369:32;:::i;:::-;17355:46;;17437:6;17432:2;17421:9;17417:18;17410:34;17492:9;17484:6;17480:22;17475:2;17464:9;17460:18;17453:50;17520:32;17545:6;17537;17520:32;:::i;:::-;17512:40;16870:688;-1:-1:-1;;;;;;;16870:688:214:o;17563:895::-;18015:6;18004:9;17997:25;18058:3;18053:2;18042:9;18038:18;18031:31;17978:4;18085:57;18137:3;18126:9;18122:19;18114:6;18085:57;:::i;:::-;18190:9;18182:6;18178:22;18173:2;18162:9;18158:18;18151:50;18224:32;18249:6;18241;18224:32;:::i;:::-;18210:46;;18292:6;18287:2;18276:9;18272:18;18265:34;18348:9;18340:6;18336:22;18330:3;18319:9;18315:19;18308:51;18376:32;18401:6;18393;18376:32;:::i;:::-;18368:40;;;18445:6;18439:3;18428:9;18424:19;18417:35;17563:895;;;;;;;;;:::o;18463:639::-;18713:6;18708:3;18701:19;18683:3;18739:2;18772;18767:3;18763:12;18804:6;18798:13;18869:2;18861:6;18857:15;18890:1;18900:175;18914:6;18911:1;18908:13;18900:175;;;18977:13;;18963:28;;19013:14;;;;19050:15;;;;18936:1;18929:9;18900:175;;;-1:-1:-1;19091:5:214;;18463:639;-1:-1:-1;;;;;;;18463:639:214:o;19107:184::-;-1:-1:-1;;;19156:1:214;19149:88;19256:4;19253:1;19246:15;19280:4;19277:1;19270:15;19486:128;19553:9;;;19574:11;;;19571:37;;;19588:18;;:::i;19619:168::-;19692:9;;;19723;;19740:15;;;19734:22;;19720:37;19710:71;;19761:18;;:::i;19998:511::-;20249:2;20238:9;20231:21;20212:4;20275:56;20327:2;20316:9;20312:18;20304:6;20275:56;:::i;:::-;20379:14;20371:6;20367:27;20362:2;20351:9;20347:18;20340:55;20443:9;20435:6;20431:22;20426:2;20415:9;20411:18;20404:50;20471:32;20496:6;20488;20471:32;:::i;:::-;20463:40;19998:511;-1:-1:-1;;;;;;19998:511:214:o;20514:615::-;20824:6;20813:9;20806:25;20867:3;20862:2;20851:9;20847:18;20840:31;20787:4;20894:57;20946:3;20935:9;20931:19;20923:6;20894:57;:::i;:::-;20999:14;20991:6;20987:27;20982:2;20971:9;20967:18;20960:55;21063:9;21055:6;21051:22;21046:2;21035:9;21031:18;21024:50;21091:32;21116:6;21108;21091:32;:::i;21820:359::-;22023:2;22012:9;22005:21;21986:4;22043:44;22083:2;22072:9;22068:18;22060:6;22043:44;:::i;:::-;22118:2;22103:18;;22096:34;;;;-1:-1:-1;22161:2:214;22146:18;22139:34;22035:52;21820:359;-1:-1:-1;21820:359:214:o","linkReferences":{},"immutableReferences":{"23059":[{"start":507,"length":32}],"90989":[{"start":727,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","install(bytes)":"13861fb5","installRoot(bytes)":"7c5b0335","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"ERC20Module_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"install(bytes)\":{\"details\":\"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments that may be needed during the installation process.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.\",\"params\":{\"interfaceId\":\"The bytes4 identifier for the interface.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"install(bytes)\":{\"notice\":\"Installs the module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc20-puppet/ERC20Module.sol\":\"ERC20Module\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e\",\"dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol\":{\"keccak256\":\"0xb7fea790ba0b4897d68a6ad1b6272969762acda712f8e465655f0b4ea9d86c03\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4227afe9f8fae6c1e691105afd0cea4a17cfa079f55774547a6ae9bc125b4a37\",\"dweb:/ipfs/QmVA8i35XwNNkS2PCNGTvNSQutwFbVx8qYf5SqsqY9KhaV\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699\",\"dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xf1af17eb0d23488342f7addadecd166c58b21c8a7c2d942d9d57f0ee489463fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d35fceb7562a14c126b996c497a9bae51edc72a0a79aec1dc3ebe6921ea32021\",\"dweb:/ipfs/QmTRDmwg771nVBdjmd77didbDPaaXBY11hbPGXBumuH1XJ\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x5e50e8c87b09a34f8b4141adb779ccb25f37e8c102ee28dc85dd77db9993db82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d0ebfe462012320c7795ddd29ca9fc0ee738327a92507b776379aabd34324cf2\",\"dweb:/ipfs/QmacJ8TwoMekCWvv8LMrDRmBBMKkE6yRvAUBN4twWeLMCa\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a\",\"dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a\",\"dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8\",\"dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8\",\"dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912\",\"dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xe5c0071b598577e12f02a423dc2185403cfa8c5a62926fbda83dc5d846cb612a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a2af2477805d80280401d3c6ffc57117e52e33492f8d3d57bee7fb37636658e\",\"dweb:/ipfs/QmeonwdLCzZVkDfLaLKcMZwTXfkVYXAgZptHbuKri2rtn3\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0x8fa0fe6f180267dd17948607704000850b896dd16570525a2347949023022b54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45a984963246009d0021961527210f77b0af851b18cdc9efc7ef0ed3c7b98958\",\"dweb:/ipfs/QmU8JAbabZeujX18JF4KCaCW34PbwSe8zR6Cc1cNRUJ4Bh\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x740924c595b68e61be8a49929ca49a4de7115b96f6f6c79ffb509f3ad60d4ba7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6d91ca5cd0984996fe1c4a3efc204585c8f8cae7bde65a7cda2900928cc36c6\",\"dweb:/ipfs/QmNYGENCUk3d9xPeuepminJWG5u63uF9yVBYPXnbLdbCXV\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x80430eb75c567e46d5da44070c6c366bca93204fab4243d47faceed7f8b25a54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://514940d33af3389e4702b72e250c8ce35fad10d55c2c8c8163f5a578390ce903\",\"dweb:/ipfs/QmWZ7qwGCZZVWCXDK1bryF1iL8WevoMQJVSNnmQknvTUMy\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xd99e81434439567e123dbade39850ea3e439ed7a33fe9a609ca6f1e08214908d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a00f6f27be952688d8db4ed77667d55219a56a04973db4d421a2776eb46da88b\",\"dweb:/ipfs/QmRqDmtDwZ8pXCcJFzwP7JDtUk86LmhWDrZBKy6q9UK9rz\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x6d2ed705d31dafb682c9e13a6ae895b998b32bcca71ea4cd925f8bb55fcdb86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dcb65f32eb25b2582f8dd6eaa83e4aaa348ce06a9f9f45c17e536b0b87ab2b92\",\"dweb:/ipfs/QmNfvtWV8wQEKSAoNAN7W1UVftEuyDA4J48WZcGhDSEm9K\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d\",\"dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73\",\"dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62\",\"dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xc4d0de173640fcc0ec93b2a7fbdc17ce13964e42f3eaf9ba28ad274c422b4664\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82eef2fa01d32f953eaeb17665edc6557c5f42f101cf95a452af9266c39b9efd\",\"dweb:/ipfs/QmV7pYCFgvGxAacv1mKK7DUsayP4wPRPBTfsnatAxFJKdH\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/modules/erc20-puppet/ERC20Module.sol\":{\"keccak256\":\"0x25e2b481c28b4be69b2103a2e98b9e4c5ddf81b373726b2ae9f00c14af53a217\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01d4973ca1b88c8f640c6f6c65a50691bf50707ba7ec89c4bd46488450eeec12\",\"dweb:/ipfs/QmPpwGqc3HL8CctbPbKaXSse97Mm5mq7AwyxP5DcrpwQeJ\"]},\"src/modules/erc20-puppet/ERC20System.sol\":{\"keccak256\":\"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466\",\"dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s\"]},\"src/modules/erc20-puppet/IERC20.sol\":{\"keccak256\":\"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c\",\"dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj\"]},\"src/modules/erc20-puppet/IERC20Errors.sol\":{\"keccak256\":\"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2\",\"dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR\"]},\"src/modules/erc20-puppet/IERC20Events.sol\":{\"keccak256\":\"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd\",\"dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ\"]},\"src/modules/erc20-puppet/IERC20Mintable.sol\":{\"keccak256\":\"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208\",\"dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL\"]},\"src/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4\",\"dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX\"]},\"src/modules/erc20-puppet/tables/Allowances.sol\":{\"keccak256\":\"0x6f6194f2f4116c766b821cda624d54b5c133a1b1168b21438c66adbed4955d8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f1a2f769d8143fae8084a0c0c24607f01148c68e37752c958da5ee3dd6b3ff2\",\"dweb:/ipfs/QmRXCQ9eimmQ3JSC55DQ7zES3HDDf1gCCyzogndn9ycC9m\"]},\"src/modules/erc20-puppet/tables/ERC20Metadata.sol\":{\"keccak256\":\"0xf7901fcb44066b86f6c017ad56955870a8182fa2de0262b7fef6cd5c6ceed4f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35f1cbee6f3e948cfc3f9cb5ed4dc4d66ce5746b49aabaf774ec88288ed946fb\",\"dweb:/ipfs/QmfGfuZDnwza3YpQHpjVVGVypjW9FMrfmn7rPMZbQypg7t\"]},\"src/modules/erc20-puppet/tables/ERC20Registry.sol\":{\"keccak256\":\"0x3313ba688430f09caf49eb6193fa80694da3ce2270f45b394526b6ca91ca5dd1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a80d0aa69190f631ca4539470fb3e32af001b7de517d1556a608240c7ae8f6e\",\"dweb:/ipfs/QmPPjm1hx3qtYhNHN9mNVQBCrd3PihHLaQuxdgkM9PfzAh\"]},\"src/modules/erc20-puppet/tables/TotalSupply.sol\":{\"keccak256\":\"0x4776ef7919090903a984f2866366eea1311fcf11c7a651628f74e7920940ba0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb3dc779acd81160d2cbf7c2d8fcad69982b4f4ef168d62ab56cdd4058738308\",\"dweb:/ipfs/QmXGYvGUX7kmZn8HEoN2gcR4fsBU8eWvuPBmiHDfNfJRjR\"]},\"src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e\",\"dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6\",\"dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d\",\"dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9\",\"dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c\",\"dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d\",\"dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398\",\"dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0x3d45aa09db0bce534c74f05db503a656e7fded6edd6df5bd4b01a2643aba079e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1658767a1024a4c1bf85eb8915f27ccc118406c845b693fdfd1f03202a825f06\",\"dweb:/ipfs/QmehUvN5jUV4HDCujFUDBCBwsNZoaqktmXimTvra2XEayX\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0xde83d725a3cf14e27d649e4d281036c4595bc5f922597d2933b62df8f701841c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a0afd2364ce7309d1f8853839d993631e5ded140da73d500e62f459bad392e7\",\"dweb:/ipfs/Qmb59XU6qeQhWmkN1hjaWzSR1EdQ9YuCD31vzqrqeB2yrs\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC20Module_InvalidNamespace"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"install"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"installRoot"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"install(bytes)":{"details":"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.","params":{"encodedArgs":"The ABI encoded arguments that may be needed during the installation process."}},"supportsInterface(bytes4)":{"details":"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.","params":{"interfaceId":"The bytes4 identifier for the interface."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"install(bytes)":{"notice":"Installs the module."},"supportsInterface(bytes4)":{"notice":"Checks if the given interfaceId is supported by this contract."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/erc20-puppet/ERC20Module.sol":"ERC20Module"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2","urls":["bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e","dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol":{"keccak256":"0xb7fea790ba0b4897d68a6ad1b6272969762acda712f8e465655f0b4ea9d86c03","urls":["bzz-raw://4227afe9f8fae6c1e691105afd0cea4a17cfa079f55774547a6ae9bc125b4a37","dweb:/ipfs/QmVA8i35XwNNkS2PCNGTvNSQutwFbVx8qYf5SqsqY9KhaV"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d","urls":["bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699","dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xf1af17eb0d23488342f7addadecd166c58b21c8a7c2d942d9d57f0ee489463fb","urls":["bzz-raw://d35fceb7562a14c126b996c497a9bae51edc72a0a79aec1dc3ebe6921ea32021","dweb:/ipfs/QmTRDmwg771nVBdjmd77didbDPaaXBY11hbPGXBumuH1XJ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x5e50e8c87b09a34f8b4141adb779ccb25f37e8c102ee28dc85dd77db9993db82","urls":["bzz-raw://d0ebfe462012320c7795ddd29ca9fc0ee738327a92507b776379aabd34324cf2","dweb:/ipfs/QmacJ8TwoMekCWvv8LMrDRmBBMKkE6yRvAUBN4twWeLMCa"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7","urls":["bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a","dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721","urls":["bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a","dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66","urls":["bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8","dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8","urls":["bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8","dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2","urls":["bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912","dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xe5c0071b598577e12f02a423dc2185403cfa8c5a62926fbda83dc5d846cb612a","urls":["bzz-raw://0a2af2477805d80280401d3c6ffc57117e52e33492f8d3d57bee7fb37636658e","dweb:/ipfs/QmeonwdLCzZVkDfLaLKcMZwTXfkVYXAgZptHbuKri2rtn3"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0x8fa0fe6f180267dd17948607704000850b896dd16570525a2347949023022b54","urls":["bzz-raw://45a984963246009d0021961527210f77b0af851b18cdc9efc7ef0ed3c7b98958","dweb:/ipfs/QmU8JAbabZeujX18JF4KCaCW34PbwSe8zR6Cc1cNRUJ4Bh"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x740924c595b68e61be8a49929ca49a4de7115b96f6f6c79ffb509f3ad60d4ba7","urls":["bzz-raw://b6d91ca5cd0984996fe1c4a3efc204585c8f8cae7bde65a7cda2900928cc36c6","dweb:/ipfs/QmNYGENCUk3d9xPeuepminJWG5u63uF9yVBYPXnbLdbCXV"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x80430eb75c567e46d5da44070c6c366bca93204fab4243d47faceed7f8b25a54","urls":["bzz-raw://514940d33af3389e4702b72e250c8ce35fad10d55c2c8c8163f5a578390ce903","dweb:/ipfs/QmWZ7qwGCZZVWCXDK1bryF1iL8WevoMQJVSNnmQknvTUMy"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xd99e81434439567e123dbade39850ea3e439ed7a33fe9a609ca6f1e08214908d","urls":["bzz-raw://a00f6f27be952688d8db4ed77667d55219a56a04973db4d421a2776eb46da88b","dweb:/ipfs/QmRqDmtDwZ8pXCcJFzwP7JDtUk86LmhWDrZBKy6q9UK9rz"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x6d2ed705d31dafb682c9e13a6ae895b998b32bcca71ea4cd925f8bb55fcdb86a","urls":["bzz-raw://dcb65f32eb25b2582f8dd6eaa83e4aaa348ce06a9f9f45c17e536b0b87ab2b92","dweb:/ipfs/QmNfvtWV8wQEKSAoNAN7W1UVftEuyDA4J48WZcGhDSEm9K"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c","urls":["bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d","dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa","urls":["bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73","dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91","urls":["bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62","dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xc4d0de173640fcc0ec93b2a7fbdc17ce13964e42f3eaf9ba28ad274c422b4664","urls":["bzz-raw://82eef2fa01d32f953eaeb17665edc6557c5f42f101cf95a452af9266c39b9efd","dweb:/ipfs/QmV7pYCFgvGxAacv1mKK7DUsayP4wPRPBTfsnatAxFJKdH"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/modules/erc20-puppet/ERC20Module.sol":{"keccak256":"0x25e2b481c28b4be69b2103a2e98b9e4c5ddf81b373726b2ae9f00c14af53a217","urls":["bzz-raw://01d4973ca1b88c8f640c6f6c65a50691bf50707ba7ec89c4bd46488450eeec12","dweb:/ipfs/QmPpwGqc3HL8CctbPbKaXSse97Mm5mq7AwyxP5DcrpwQeJ"],"license":"MIT"},"src/modules/erc20-puppet/ERC20System.sol":{"keccak256":"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9","urls":["bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466","dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s"],"license":"MIT"},"src/modules/erc20-puppet/IERC20.sol":{"keccak256":"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b","urls":["bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c","dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Errors.sol":{"keccak256":"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce","urls":["bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2","dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Events.sol":{"keccak256":"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff","urls":["bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd","dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Mintable.sol":{"keccak256":"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163","urls":["bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208","dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL"],"license":"MIT"},"src/modules/erc20-puppet/constants.sol":{"keccak256":"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e","urls":["bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4","dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX"],"license":"MIT"},"src/modules/erc20-puppet/tables/Allowances.sol":{"keccak256":"0x6f6194f2f4116c766b821cda624d54b5c133a1b1168b21438c66adbed4955d8e","urls":["bzz-raw://1f1a2f769d8143fae8084a0c0c24607f01148c68e37752c958da5ee3dd6b3ff2","dweb:/ipfs/QmRXCQ9eimmQ3JSC55DQ7zES3HDDf1gCCyzogndn9ycC9m"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Metadata.sol":{"keccak256":"0xf7901fcb44066b86f6c017ad56955870a8182fa2de0262b7fef6cd5c6ceed4f1","urls":["bzz-raw://35f1cbee6f3e948cfc3f9cb5ed4dc4d66ce5746b49aabaf774ec88288ed946fb","dweb:/ipfs/QmfGfuZDnwza3YpQHpjVVGVypjW9FMrfmn7rPMZbQypg7t"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Registry.sol":{"keccak256":"0x3313ba688430f09caf49eb6193fa80694da3ce2270f45b394526b6ca91ca5dd1","urls":["bzz-raw://7a80d0aa69190f631ca4539470fb3e32af001b7de517d1556a608240c7ae8f6e","dweb:/ipfs/QmPPjm1hx3qtYhNHN9mNVQBCrd3PihHLaQuxdgkM9PfzAh"],"license":"MIT"},"src/modules/erc20-puppet/tables/TotalSupply.sol":{"keccak256":"0x4776ef7919090903a984f2866366eea1311fcf11c7a651628f74e7920940ba0d","urls":["bzz-raw://cb3dc779acd81160d2cbf7c2d8fcad69982b4f4ef168d62ab56cdd4058738308","dweb:/ipfs/QmXGYvGUX7kmZn8HEoN2gcR4fsBU8eWvuPBmiHDfNfJRjR"],"license":"MIT"},"src/modules/erc20-puppet/utils.sol":{"keccak256":"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32","urls":["bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e","dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9","urls":["bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6","dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3","urls":["bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d","dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe","urls":["bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9","dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72","urls":["bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c","dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e","urls":["bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d","dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1","urls":["bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398","dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0x3d45aa09db0bce534c74f05db503a656e7fded6edd6df5bd4b01a2643aba079e","urls":["bzz-raw://1658767a1024a4c1bf85eb8915f27ccc118406c845b693fdfd1f03202a825f06","dweb:/ipfs/QmehUvN5jUV4HDCujFUDBCBwsNZoaqktmXimTvra2XEayX"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d","urls":["bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489","dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0xde83d725a3cf14e27d649e4d281036c4595bc5f922597d2933b62df8f701841c","urls":["bzz-raw://9a0afd2364ce7309d1f8853839d993631e5ded140da73d500e62f459bad392e7","dweb:/ipfs/Qmb59XU6qeQhWmkN1hjaWzSR1EdQ9YuCD31vzqrqeB2yrs"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"}},"version":1},"id":135}
|
1
|
+
{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[],"outputs":[{"name":"","type":"bytes16","internalType":"bytes16"}],"stateMutability":"pure"},{"type":"function","name":"install","inputs":[{"name":"args","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRoot","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ERC20Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"FieldLayoutLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord","inputs":[]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsZero","inputs":[]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"string","internalType":"string"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"SchemaLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x60a0604052604051620000129062000050565b604051809103906000f0801580156200002f573d6000803e3d6000fd5b506001600160a01b03166080523480156200004957600080fd5b506200005e565b6148c180620034c983390190565b60805161344f6200007a600039600061034a015261344f6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806317d7de7c1161005b57806317d7de7c146100df57806345ec93541461010d5780637c5b033514610120578063e1af802c1461013357600080fd5b806301ffc9a714610082578063119df25f146100aa57806313861fb5146100ca575b600080fd5b610095610090366004612c1b565b61013b565b60405190151581526020015b60405180910390f35b6100b26101d4565b6040516001600160a01b0390911681526020016100a1565b6100dd6100d8366004612cf5565b6101e3565b005b6040517f65726332302d707570706574000000000000000000000000000000000000000081526020016100a1565b604051601f1936013581526020016100a1565b6100dd61012e366004612cf5565b6106a0565b6100b26106d2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f79f50b5b0000000000000000000000000000000000000000000000000000000014806101ce57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101de6106dc565b905090565b60006001600160a01b031661021f7f65726332302d7075707065740000000000000000000000000000000000000000838051906020012061070e565b6001600160a01b03161461025f576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080828060200190518101906102769190612de9565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff19831601610305576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b61030d610835565b60006103176106d2565b6040516001600160a01b03828116602483015271ffffffffffffffffffffffffffffffffffff19861660448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169060640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c200000000000000000000000000000000000000000000000000000000179052516103d39190612ec1565b600060405180830381855af49150503d806000811461040e576040519150601f19603f3d011682016040523d82523d6000602084013e610413565b606091505b505050610428610422846108c5565b836108f7565b600061043384610999565b9050600061044183836109e6565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601087901c16176001600160a01b03841663ef5d6bbb826104a26101d4565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b15801561050157600080fd5b505af1158015610515573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610597935001905060405160208183030381529060405261059290612edd565b610cb6565b6106185760408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610618910160405160208183030381529060405261061390612edd565b610d9a565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610697910160405160208183030381529060405261069090612edd565b8284610de6565b50505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101de610ea6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061070b5750335b90565b60408051600280825260608201835260009283929190602083019080368337019050509050836fffffffffffffffffffffffffffffffff19168160008151811061075a5761075a612f01565b602002602001018181525050828160018151811061077a5761077a612f01565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f496e7374616c6c65644d6f64756c657300000000000000000000000000000000603082015281518082039093018352810190526000906108299061080190612edd565b8360007e14010014000000000000000000000000000000000000000000000000000000610ee5565b60601c95945050505050565b6040805160008082526020820190925261086090651c1d5c1c195d60d21b908051906020012061070e565b6001600160a01b0316036108c357604051651c1d5c1c195d60d21b602082015260300160408051601f19818403018152908290527f217ef9250000000000000000000000000000000000000000000000000000000082526102fc91600401612f43565b565b60006101ce613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610fa2565b600061094682600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061095c83602001518460400151611029565b9050600061097284602001518560400151611046565b6040805160008152602081019091529091506109918682868686611072565b505050505050565b60006101ce7f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610fa2565b604080517f73790000000000000000000000000000000000000000000000000000000000006020820152651c1d5c1c195d60d21b60228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af089101604051602081830303815290604052610a7290612edd565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610b0f929190600401612f56565b6000604051808303816000875af1158015610b2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b569190810190612f6f565b806020019051810190610b699190612fb8565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f73790000000000000000000000000000000000000000000000000000000000006020820152651c1d5c1c195d60d21b60228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610c3590612edd565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610c7e92919060248101612fe1565b600060405180830381600087803b158015610c9857600080fd5b505af1158015610cac573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610cef57610cef612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201528151808203909301835281019052600090610d8690610d5e90612edd565b8360007e01010001000000000000000000000000000000000000000000000000000000610ee5565b9050610d928160f81c90565b949350505050565b610de3817e14010014000000000000000000000000000000000000000000000000000000610dc6611127565b610dce61119f565b610dd66111d9565b610dde61125e565b6112d5565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e1c57610e1c612f01565b602002602001018181525050610ea08482600085604051602001610e6b919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e1401001400000000000000000000000000000000000000000000000000000061138e565b50505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610ee0573391505090565b919050565b600080610ef0610ea6565b9050306001600160a01b03821603610f1657610f0e86868686611404565b915050610d92565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610f6190899089908990899060040161303b565b602060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e919061306a565b6000610fb060706010613099565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b8151815160009181810160389190911b1760609190911b17611022565b6060828260405160200161105b9291906130ac565b604051602081830303815290604052905092915050565b600061107c610ea6565b9050306001600160a01b038216036110a05761109b868686868661143a565b610991565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb906110ed90899089908990899089906004016130db565b600060405180830381600087803b15801561110757600080fd5b505af115801561111b573d6000803e3d6000fd5b50505050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061116157611161612f01565b602002602001019060c581111561117a5761117a61312c565b908160c581111561118d5761118d61312c565b90525061119981611457565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061116157611161612f01565b604080516001808252818301909252606091816020015b60608152602001906001900390816111f05790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061125057611250612f01565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816112755790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061125057611250612f01565b60006112df610ea6565b9050306001600160a01b03821603611304576112ff878787878787611612565b610697565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f4990611353908a908a908a908a908a908a90600401613197565b600060405180830381600087803b15801561136d57600080fd5b505af1158015611381573d6000803e3d6000fd5b5050505050505050505050565b6000611398610ea6565b9050306001600160a01b038216036113b75761109b86868686866118ff565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906110ed90899089908990899089906004016131e1565b60006114316114138686611914565b60ff858116601b0360080285901c1661142c858761196a565b6119ad565b95945050505050565b611450858585858561144b8b6119fe565b611afc565b5050505050565b6000601c82511115611481578151604051635318beb960e01b81526004016102fc91815260200190565b60008080805b855181101561155c5760006114c58783815181106114a7576114a7612f01565b602002602001015160c58111156114c0576114c061312c565b611deb565b9050806000036114da57600190920191611512565b8215611512576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061153357611533612f01565b602002602001015160c581111561154c5761154c61312c565b901b949094179350600101611487565b50600581111561158257604051635318beb960e01b8152600481018290526024016102fc565b8451819003600861159560026020613228565b61159f919061323b565b83901b9390931792600860016115b760026020613228565b6115c19190613228565b6115cb919061323b565b81901b939093179260086001806115e460026020613228565b6115ee9190613228565b6115f89190613228565b611602919061323b565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061168b57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116ec57613a3160f11b86876040516020016116aa91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102fc939291600401613252565b6116f7856000611e4b565b611702846001611fcd565b61170d836000611fcd565b60e084901c60e885901c0160ff1682511461176d5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102fc565b60e085901c60e886901c0160ff168151146117cd5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102fc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146118455760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102fc565b61184e86612174565b156118a857858660405160200161186791815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102fc9291600401612f56565b6118f486868686866040516020016118c09190613293565b604051602081830303815290604052866040516020016118e09190613293565b604051602081830303815290604052612244565b610991866001612358565b611450858561190e848761196a565b8561244f565b600082826040516020016119299291906132a6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156119a55761199160ff601b83900360080287901c1683613099565b91508061199d816132d4565b91505061196f565b509392505050565b6000602082106119d3576020820484019350602082816119cf576119cf6132ee565b0691505b508254600882021b6020829003808411156119a5576001850154600882021c82179150509392505050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c65730000000000000000000000000000000000000000000000000000603082015260009101604051602081830303815290604052611a5d90612edd565b8203611a8957507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526101ce91611af39101604051602081830303815290604052611aed90612edd565b846126a8565b602060006119ad565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b329493929190613304565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603610991576000611b73876126c4565b905060005b8151811015611c56576000828281518110611b9557611b95612f01565b60200260200101519050611bc16001826affffffffffffffffffffff191661278c90919063ffffffff16565b15611c43576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c10908c908c908c908c908c908c9060040161334e565b600060405180830381600087803b158015611c2a57600080fd5b505af1158015611c3e573d6000803e3d6000fd5b505050505b5080611c4e816132d4565b915050611b78565b506000611c638888611914565b90506000602087019050611c7b826000838a516127aa565b6000611c868561286a565b1115611d0a576000611c988a8a6128a7565b878155905060208601915060008060005b611cb28861286a565b8160ff161015611d0557611cc78d8d836128fd565b9250611ce28a8260ff166028026038011c64ffffffffff1690565b9150611cf183600087856127aa565b611cfb8286613099565b9450600101611ca9565b505050505b60005b835181101561111b576000848281518110611d2a57611d2a612f01565b60200260200101519050611d566002826affffffffffffffffffffff191661278c90919063ffffffff16565b15611dd8576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611da5908e908e908e908e908e908e9060040161334e565b600060405180830381600087803b158015611dbf57600080fd5b505af1158015611dd3573d6000803e3d6000fd5b505050505b5080611de3816132d4565b915050611d0d565b6000808260c5811115611e0057611e0061312c565b60ff1690506061811015611e1a57601f1660010192915050565b60618360c5811115611e2e57611e2e61312c565b03611e3c5750601492915050565b50600092915050565b50919050565b80158015611e57575081155b15611e91576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600060048201526024016102fc565b6000611e9c8361286a565b90506005811115611edc576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016102fc565b6000611ee78461297d565b90506000611ef58383613099565b9050601c811115611f35576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016102fc565b60005b828110156109915760ff601b82900360080287901c166000819003611f89576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020811115611fc4576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611f38565b80158015611fd9575081155b15611ffa57604051635318beb960e01b8152600060048201526024016102fc565b60006120058361286a565b9050600581111561202c57604051635318beb960e01b8152600481018290526024016102fc565b60006120378461297d565b905060006120458383613099565b9050601c81111561206c57604051635318beb960e01b8152600481018290526024016102fc565b60008060005b8381101561212d57600061209a6120898a8461298f565b60c58111156114c0576114c061312c565b11156120e4578481106120d9576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190920191612125565b8481101561211e576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b600101612072565b5083821461215157604051635318beb960e01b8152600481018390526024016102fc565b84811461069757604051635318beb960e01b8152600481018290526024016102fc565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121ad576121ad612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201528151808203909301835281019052600090610d869061221c90612edd565b8360007e01010001000000000000000000000000000000000000000000000000000000611404565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061227b8484611029565b905060006122898585611046565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106122c3576122c3612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152815180820390930183528101905261111b9061232f90612edd565b828686867e60030220202000000000000000000000000000000000000000000000000000611afc565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061238e5761238e612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f757263654964730000000000000000000000000000000000000000006030820152815180820390930183528101905261244a906123fa90612edd565b8260008560405160200161241591151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006118ff565b505050565b600061245b8585611914565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be858585604051612491939291906133a7565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146124cd5750610ea0565b60006124d8866126c4565b905060005b81518110156125b75760008282815181106124fa576124fa612f01565b602002602001015190506125266004826affffffffffffffffffffff191661278c90919063ffffffff16565b156125a4576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612571908b908b908b908b906004016133e4565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b505050505b50806125af816132d4565b9150506124dd565b506125cb828565ffffffffffff16856129b0565b60005b81518110156106975760008282815181106125eb576125eb612f01565b602002602001015190506126176008826affffffffffffffffffffff191661278c90919063ffffffff16565b15612695576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612662908b908b908b908b906004016133e4565b600060405180830381600087803b15801561267c57600080fd5b505af1158015612690573d6000803e3d6000fd5b505050505b50806126a0816132d4565b9150506125ce565b6040805160208101849052908101829052600090606001611929565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126fe576126fe612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b7300000000000000000000000000000000000000000000603082015281518082039093018352810190526000906127759061276d90612edd565b8360006129c0565b9050610d9261278782600084516129fa565b612a8a565b60008160ff168261279d8560581c90565b1660ff1614905092915050565b821561282457602083106127d4576020830484019350602083816127d0576127d06132ee565b0692505b82156128245760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311612815575050610ea0565b50600194909401939182019190035b5b602081106128465781518455600190930192602090910190601f1901612825565b8015610ea0576000600019600883021c198554845182169119161785555050505050565b6000600860018061287d60026020613228565b6128879190613228565b6128919190613228565b61289b919061323b565b8260ff911c1692915050565b600082826040516020016128bc9291906132a6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016129129291906132a6565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008600161288760026020613228565b6000601b8290036008028360ff911c1660c58111156110225761102261312c565b61244a83836020840184516127aa565b6060610d926129d08585856128fd565b6129f3846129de8888612a9b565b9060ff166028026038011c64ffffffffff1690565b6000612aae565b6000818311158015612a0d575083518211155b612a49578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102fc9392919061341d565b60208401612a578482613099565b90506000612a658585613228565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006110228360156000612ad1565b6000611022612aaa84846128a7565b5490565b60405160208101601f19603f85840101166040528382526119a585858584612b4c565b60606000612adf8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612b0557612b056132ee565b04905060405193506020840160208202810160405281855260005b82811015612b40578451871c825293870193602090910190600101612b20565b50505050509392505050565b8115612bd55760208210612b7657602082048401935060208281612b7257612b726132ee565b0691505b8115612bd5576020829003600081851015612b9a5750600019600885021c19612ba5565b50600019600882021c195b8554600885021b811984511682821617845250818511612bc6575050610ea0565b50600194909401939283900392015b5b60208310612bf75783548152600190930192601f1990920191602001612bd6565b8215610ea0576000600019600885021c198251865482169119161782525050505050565b600060208284031215612c2d57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461102257600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612c9657612c96612c5d565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612cc557612cc5612c5d565b604052919050565b600067ffffffffffffffff821115612ce757612ce7612c5d565b50601f01601f191660200190565b600060208284031215612d0757600080fd5b813567ffffffffffffffff811115612d1e57600080fd5b8201601f81018413612d2f57600080fd5b8035612d42612d3d82612ccd565b612c9c565b818152856020838501011115612d5757600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612d90578181015183820152602001612d78565b50506000910152565b6000612da7612d3d84612ccd565b9050828152838383011115612dbb57600080fd5b611022836020830184612d75565b600082601f830112612dda57600080fd5b61102283835160208501612d99565b60008060408385031215612dfc57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612e1f57600080fd5b602084015190925067ffffffffffffffff80821115612e3d57600080fd5b9084019060608287031215612e5157600080fd5b612e59612c73565b825160ff81168114612e6a57600080fd5b8152602083015182811115612e7e57600080fd5b612e8a88828601612dc9565b602083015250604083015182811115612ea257600080fd5b612eae88828601612dc9565b6040830152508093505050509250929050565b60008251612ed3818460208701612d75565b9190910192915050565b80516020808301519190811015611e455760001960209190910360031b1b16919050565b634e487b7160e01b600052603260045260246000fd5b60008151808452612f2f816020860160208601612d75565b601f01601f19169290920160200192915050565b6020815260006110226020830184612f17565b828152604060208201526000610d926040830184612f17565b600060208284031215612f8157600080fd5b815167ffffffffffffffff811115612f9857600080fd5b8201601f81018413612fa957600080fd5b610d9284825160208401612d99565b600060208284031215612fca57600080fd5b81516001600160a01b038116811461102257600080fd5b8381528260208201526060604082015260006114316060830184612f17565b600081518084526020808501945080840160005b8381101561303057815187529582019590820190600101613014565b509495945050505050565b8481526080602082015260006130546080830186613000565b60ff949094166040830152506060015292915050565b60006020828403121561307c57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ce576101ce613083565b600083516130be818460208801612d75565b8351908301906130d2818360208801612d75565b01949350505050565b85815260a0602082015260006130f460a0830187613000565b82810360408401526131068187612f17565b905084606084015282810360808401526131208185612f17565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b600081518084526020808501808196508360051b8101915082860160005b8581101561318a578284038952613178848351612f17565b98850198935090840190600101613160565b5091979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006131c260c0830185613142565b82810360a08401526131d48185613142565b9998505050505050505050565b85815260a0602082015260006131fa60a0830187613000565b60ff8616604084015282810360608401526132158186612f17565b9150508260808301529695505050505050565b818103818111156101ce576101ce613083565b80820281158282048414176101ce576101ce613083565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006114316060830184612f17565b6020815260006110226020830184613142565b82815260006020808301845182860160005b8281101561318a578151845292840192908401906001016132b8565b600060001982036132e7576132e7613083565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6080815260006133176080830187613000565b82810360208401526133298187612f17565b905084604084015282810360608401526133438185612f17565b979650505050505050565b86815260c06020820152600061336760c0830188613000565b82810360408401526133798188612f17565b905085606084015282810360808401526133938186612f17565b9150508260a0830152979650505050505050565b6060815260006133ba6060830186613000565b65ffffffffffff8516602084015282810360408401526133da8185612f17565b9695505050505050565b8481526080602082015260006133fd6080830186613000565b65ffffffffffff8516604084015282810360608401526133438185612f17565b6060815260006134306060830186612f17565b6020830194909452506040015291905056fea164736f6c6343000815000a608060405234801561001057600080fd5b506148a1806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612140565b610045565b005b61005661005182610155565b61018d565b610067610062826101d9565b61020b565b61007861007382610247565b610279565b8173ffffffffffffffffffffffffffffffffffffffff16633350b6a961009d836102bd565b6040516100a990612133565b604051809103906000f0801580156100c5573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561013957600080fd5b505af115801561014d573d6000803e3d6000fd5b505050505050565b6000610187613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610306565b92915050565b6101d6817e200100200000000000000000000000000000000000000000000000000000006101b961038d565b6101c161044a565b6101c9610484565b6101d161055c565b6105d3565b50565b6000610187613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610306565b6101d6817e200100200000000000000000000000000000000000000000000000000000006102376106a7565b61023f61044a565b6101c96106e1565b6000610187613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610306565b6101d6817e010102010000000000000000000000000000000000000000000000000000006102a5610758565b6102ad610771565b6102b5610836565b6101d1610869565b60006101877f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d0000000000000000000000000000000000000000005b6000610314607060106121cd565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b604080516002808252606082018352600092839291906020830190803683370190505090506061816000815181106103c7576103c76121e0565b602002602001019060c58111156103e0576103e06121f6565b908160c58111156103f3576103f36121f6565b8152505060618160018151811061040c5761040c6121e0565b602002602001019060c5811115610425576104256121f6565b908160c5811115610438576104386121f6565b90525061044481610989565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050601f8160008151811061040c5761040c6121e0565b6040805160028082526060828101909352816020015b606081526020019060019003908161049a5790505090506040518060400160405280600781526020017f6163636f756e7400000000000000000000000000000000000000000000000000815250816000815181106104fa576104fa6121e0565b60200260200101819052506040518060400160405280600781526020017f7370656e646572000000000000000000000000000000000000000000000000008152508160018151811061054e5761054e6121e0565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816105735790505090506040518060400160405280600581526020017f76616c75650000000000000000000000000000000000000000000000000000008152508160008151811061054e5761054e6121e0565b60006105dd610b4d565b90503073ffffffffffffffffffffffffffffffffffffffff82160361060f5761060a878787878787610b99565b61069e565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f499061066b908a908a908a908a908a908a906004016122b4565b600060405180830381600087803b15801561068557600080fd5b505af1158015610699573d6000803e3d6000fd5b505050505b50505050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061040c5761040c6121e0565b604080516001808252818301909252606091816020015b60608152602001906001900390816106f85790505090506040518060400160405280600781526020017f6163636f756e74000000000000000000000000000000000000000000000000008152508160008151811061054e5761054e6121e0565b6040805160008082526020820190925261044481610989565b60408051600380825260808201909252600091829190602082016060803683370190505090506000816000815181106107ac576107ac6121e0565b602002602001019060c58111156107c5576107c56121f6565b908160c58111156107d8576107d86121f6565b8152505060c5816001815181106107f1576107f16121e0565b602002602001019060c581111561080a5761080a6121f6565b908160c581111561081d5761081d6121f6565b8152505060c58160028151811061040c5761040c6121e0565b60408051600080825260208201909252606091610863565b606081526020019060019003908161084e5790505b50905090565b60408051600380825260808201909252606091816020015b60608152602001906001900390816108815790505090506040518060400160405280600881526020017f646563696d616c73000000000000000000000000000000000000000000000000815250816000815181106108e1576108e16121e0565b60200260200101819052506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600181518110610935576109356121e0565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c00000000000000000000000000000000000000000000000000008152508160028151811061054e5761054e6121e0565b6000601c825111156109bc578151604051635318beb960e01b81526004016109b391815260200190565b60405180910390fd5b60008080805b8551811015610a97576000610a008783815181106109e2576109e26121e0565b602002602001015160c58111156109fb576109fb6121f6565b610e86565b905080600003610a1557600190920191610a4d565b8215610a4d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110610a6e57610a6e6121e0565b602002602001015160c5811115610a8757610a876121f6565b901b9490941793506001016109c2565b506005811115610abd57604051635318beb960e01b8152600481018290526024016109b3565b84518190036008610ad0600260206122fe565b610ada9190612311565b83901b939093179260086001610af2600260206122fe565b610afc91906122fe565b610b069190612311565b81901b93909317926008600180610b1f600260206122fe565b610b2991906122fe565b610b3391906122fe565b610b3d9190612311565b9190911b92909217949350505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610b94573391505090565b919050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590610c1257507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b15610c7357613a3160f11b8687604051602001610c3191815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526109b3939291600401612328565b610c7e856000610ee6565b610c89846001611068565b610c94836000611068565b60e084901c60e885901c0160ff16825114610cf45760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109b3565b60e085901c60e886901c0160ff16815114610d545760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109b3565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614610dcc5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109b3565b610dd58661120f565b15610e2f578586604051602001610dee91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526109b39291600401612369565b610e7b8686868686604051602001610e479190612382565b60405160208183030381529060405286604051602001610e679190612382565b6040516020818303038152906040526112f3565b61014d866001611413565b6000808260c5811115610e9b57610e9b6121f6565b60ff1690506061811015610eb557601f1660010192915050565b60618360c5811115610ec957610ec96121f6565b03610ed75750601492915050565b50600092915050565b50919050565b80158015610ef2575081155b15610f2c576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600060048201526024016109b3565b6000610f378361150a565b90506005811115610f77576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016109b3565b6000610f8284611547565b90506000610f9083836121cd565b9050601c811115610fd0576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016109b3565b60005b8281101561014d5760ff601b82900360080287901c166000819003611024576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081111561105f576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101610fd3565b80158015611074575081155b1561109557604051635318beb960e01b8152600060048201526024016109b3565b60006110a08361150a565b905060058111156110c757604051635318beb960e01b8152600481018290526024016109b3565b60006110d284611547565b905060006110e083836121cd565b9050601c81111561110757604051635318beb960e01b8152600481018290526024016109b3565b60008060005b838110156111c85760006111356111248a84611559565b60c58111156109fb576109fb6121f6565b111561117f57848110611174576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909201916111c0565b848110156111b9576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b60010161110d565b508382146111ec57604051635318beb960e01b8152600481018390526024016109b3565b84811461069e57604051635318beb960e01b8152600481018290526024016109b3565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611248576112486121e0565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f75726365496473000000000000000000000000000000000000000000603082015281518082039093018352810190526000906112df906112b790612395565b8360007e01010001000000000000000000000000000000000000000000000000000000611581565b90506112eb8160f81c90565b949350505050565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061132a84846115b7565b9050600061133885856115d4565b60408051600180825281830190925291925060009190602080830190803683370190505090508981600081518110611372576113726121e0565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052611407906113de90612395565b828686867e60030220202000000000000000000000000000000000000000000000000000611600565b50505050505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611449576114496121e0565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201528151808203909301835281019052611505906114b590612395565b826000856040516020016114d091151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006118ef565b505050565b6000600860018061151d600260206122fe565b61152791906122fe565b61153191906122fe565b61153b9190612311565b8260ff911c1692915050565b600060086001611527600260206122fe565b6000601b8290036008028360ff911c1660c581111561157a5761157a6121f6565b9392505050565b60006115ae611590868661190b565b60ff858116601b0360080285901c166115a98587611961565b6119a4565b95945050505050565b8151815160009181810160389190911b1760609190911b1761157a565b606082826040516020016115e99291906123b9565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516116369493929190612423565b60405180910390a2613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000160361014d576000611677876119f5565b905060005b815181101561175a576000828281518110611699576116996121e0565b602002602001015190506116c56001826affffffffffffffffffffff1916611abd90919063ffffffff16565b15611747576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611714908c908c908c908c908c908c9060040161246d565b600060405180830381600087803b15801561172e57600080fd5b505af1158015611742573d6000803e3d6000fd5b505050505b5080611752816124c6565b91505061167c565b506000611767888861190b565b9050600060208701905061177f826000838a51611adb565b600061178a8561150a565b111561180e57600061179c8a8a611b99565b878155905060208601915060008060005b6117b68861150a565b8160ff161015611809576117cb8d8d83611bef565b92506117e68a8260ff166028026038011c64ffffffffff1690565b91506117f58360008785611adb565b6117ff82866121cd565b94506001016117ad565b505050505b60005b835181101561140757600084828151811061182e5761182e6121e0565b6020026020010151905061185a6002826affffffffffffffffffffff1916611abd90919063ffffffff16565b156118dc576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906118a9908e908e908e908e908e908e9060040161246d565b600060405180830381600087803b1580156118c357600080fd5b505af11580156118d7573d6000803e3d6000fd5b505050505b50806118e7816124c6565b915050611811565b61190485856118fe8487611961565b85611c6f565b5050505050565b600082826040516020016119209291906124e0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561199c5761198860ff601b83900360080287901c16836121cd565b915080611994816124c6565b915050611966565b509392505050565b6000602082106119ca576020820484019350602082816119c6576119c661251b565b0691505b508254600882021b60208290038084111561199c576001850154600882021c82179150509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a2f57611a2f6121e0565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611aa690611a9e90612395565b836000611ec8565b90506112eb611ab88260008451611f02565b611f92565b60008160ff1682611ace8560581c90565b1660ff1614905092915050565b8215611b555760208310611b0557602083048401935060208381611b0157611b0161251b565b0692505b8215611b555760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611b46575050611b93565b50600194909401939182019190035b5b60208110611b775781518455600190930192602090910190601f1901611b56565b8015611b935783548251600019600884021c9182169119161784555b50505050565b60008282604051602001611bae9291906124e0565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611c049291906124e0565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000611c7b858561190b565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be858585604051611cb193929190612531565b60405180910390a2613a3160f11b857fffff0000000000000000000000000000000000000000000000000000000000001614611ced5750611b93565b6000611cf8866119f5565b905060005b8151811015611dd7576000828281518110611d1a57611d1a6121e0565b60200260200101519050611d466004826affffffffffffffffffffff1916611abd90919063ffffffff16565b15611dc4576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90611d91908b908b908b908b9060040161256e565b600060405180830381600087803b158015611dab57600080fd5b505af1158015611dbf573d6000803e3d6000fd5b505050505b5080611dcf816124c6565b915050611cfd565b50611deb828565ffffffffffff1685611fa3565b60005b815181101561069e576000828281518110611e0b57611e0b6121e0565b60200260200101519050611e376008826affffffffffffffffffffff1916611abd90919063ffffffff16565b15611eb5576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611e82908b908b908b908b9060040161256e565b600060405180830381600087803b158015611e9c57600080fd5b505af1158015611eb0573d6000803e3d6000fd5b505050505b5080611ec0816124c6565b915050611dee565b60606112eb611ed8858585611bef565b611efb84611ee68888611fb3565b9060ff166028026038011c64ffffffffff1690565b6000611fc6565b6000818311158015611f15575083518211155b611f51578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016109b3939291906125a7565b60208401611f5f84826121cd565b90506000611f6d85856122fe565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061157a8360156000611fe9565b6115058383602084018451611adb565b600061157a611fc28484611b99565b5490565b60405160208101601f19603f858401011660405283825261199c85858584612064565b60606000611ff78560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161201d5761201d61251b565b04905060405193506020840160208202810160405281855260005b82811015612058578451871c825293870193602090910190600101612038565b50505050509392505050565b81156120ed576020821061208e5760208204840193506020828161208a5761208a61251b565b0691505b81156120ed5760208290036000818510156120b25750600019600885021c196120bd565b50600019600882021c195b8554600885021b8119845116828216178452508185116120de575050611b93565b50600194909401939283900392015b5b6020831061210f5783548152600190930192601f19909201916020016120ee565b8215611b93576000600019600885021c198251865482169119161782525050505050565b6122c8806125cd83390190565b6000806040838503121561215357600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461217757600080fd5b915060208301357fffffffffffffffffffffffffffff000000000000000000000000000000000000811681146121ac57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610187576101876121b7565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60005b8381101561222757818101518382015260200161220f565b50506000910152565b6000815180845261224881602086016020860161220c565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156122a757601f19868403018952612295838351612230565b98840198925090830190600101612279565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006122df60c083018561225c565b82810360a08401526122f1818561225c565b9998505050505050505050565b81810381811115610187576101876121b7565b8082028115828204841417610187576101876121b7565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006115ae6060830184612230565b8281526040602082015260006112eb6040830184612230565b60208152600061157a602083018461225c565b80516020808301519190811015610ee05760001960209190910360031b1b16919050565b600083516123cb81846020880161220c565b8351908301906123df81836020880161220c565b01949350505050565b600081518084526020808501945080840160005b83811015612418578151875295820195908201906001016123fc565b509495945050505050565b60808152600061243660808301876123e8565b82810360208401526124488187612230565b905084604084015282810360608401526124628185612230565b979650505050505050565b86815260c06020820152600061248660c08301886123e8565b82810360408401526124988188612230565b905085606084015282810360808401526124b28186612230565b9150508260a0830152979650505050505050565b600060001982036124d9576124d96121b7565b5060010190565b82815260006020808301845182860160005b8281101561250e578151845292840192908401906001016124f2565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061254460608301866123e8565b65ffffffffffff8516602084015282810360408401526125648185612230565b9695505050505050565b84815260806020820152600061258760808301866123e8565b65ffffffffffff8516604084015282810360608401526124628185612230565b6060815260006125ba6060830186612230565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b506122a8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f19116100975780639dc29fac116100665780639dc29fac146101e8578063a9059cbb146101fb578063dd62ed3e1461020e578063e1af802c1461022157600080fd5b806340c10f19146101ad57806345ec9354146101c257806370a08231146101cd57806395d89b41146101e057600080fd5b8063119df25f116100d3578063119df25f1461014a57806318160ddd1461016a57806323b872dd14610180578063313ce5671461019357600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063095ea7b314610137575b600080fd5b61010d610108366004611dad565b610229565b60405190151581526020015b60405180910390f35b61012a6102c2565b6040516101199190611e3f565b61010d610145366004611e69565b6102e1565b610152610303565b6040516001600160a01b039091168152602001610119565b61017261030d565b604051908152602001610119565b61010d61018e366004611e93565b610327565b61019b610357565b60405160ff9091168152602001610119565b6101c06101bb366004611e69565b61036c565b005b36601f190135610172565b6101726101db366004611ecf565b6103cc565b61012a6103e7565b6101c06101f6366004611e69565b6103fc565b61010d610209366004611e69565b610453565b61017261021c366004611eea565b61046b565b610152610487565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb42128800000000000000000000000000000000000000000000000000000000014806102bc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606102dc6102d76102d2610491565b6104af565b6104e1565b905090565b6000806102ec610303565b90506102f9818585610507565b5060019392505050565b60006102dc610665565b60006102dc61032261031d610491565b610697565b6106c9565b600080610332610303565b905061033f8582856106ee565b61034a858585610776565b60019150505b9392505050565b60006102dc6103676102d2610491565b61080c565b610374610854565b6001600160a01b0382166103bc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103c86000838361086f565b5050565b60006102bc6103e16103dc610491565b610a37565b83610a69565b60606102dc6103f76102d2610491565b610ad7565b610404610854565b6001600160a01b038216610447576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6103c88260008361086f565b60008061045e610303565b90506102f9818585610776565b600061035061048061047b610491565b610af6565b8484610b28565b60006102dc610bc3565b60008061049d30610c02565b90506104a98160101b90565b91505090565b60006102bc613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610cde565b604080516000808252602082019092526060916104ff848383610d65565b949350505050565b6001600160a01b03831661054a576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b03821661058d576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6105a361059b61047b610491565b848484610e2c565b6105ab610ee3565b6001600160a01b031663c9a34acd7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256105ea866001600160a01b031690565b6001600160a01b0386166040805160208101889052016040516020818303038152906040526040518563ffffffff1660e01b815260040161062e9493929190611f33565b600060405180830381600087803b15801561064857600080fd5b505af115801561065c573d6000803e3d6000fd5b50505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106945750335b90565b60006102bc613a3160f11b837f546f74616c537570706c79000000000000000000000000000000000000000000610cde565b6040805160008082526020820190925260006104ff848383630100080160dd1b610fbe565b60006107056106fe61047b610491565b8585610b28565b905060001981146107705781811015610763576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064016103b3565b6107708484848403610507565b50505050565b6001600160a01b0383166107b9576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b0382166107fc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b61080783838361086f565b505050565b6040805160008082526020820190925260006108498483837e01010201000000000000000000000000000000000000000000000000000000610fbe565b60f81c949350505050565b61086d61086030610c02565b610868610303565b61107b565b565b6000610879610491565b9050600061088682610697565b9050600061089383610a37565b90506001600160a01b0386166108c5576108c082856108b1856106c9565b6108bb9190611f6e565b61111c565b610935565b60006108d18288610a69565b905084811015610926576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260248101829052604481018690526064016103b3565b6109338288878403611143565b505b6001600160a01b03851661095c576109578285610951856106c9565b0361111c565b610972565b61097281868661096c858a610a69565b01611143565b61097a610ee3565b6001600160a01b031663c9a34acd7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109b9896001600160a01b031690565b6001600160a01b03891660408051602081018b9052016040516020818303038152906040526040518563ffffffff1660e01b81526004016109fd9493929190611f33565b600060405180830381600087803b158015610a1757600080fd5b505af1158015610a2b573d6000803e3d6000fd5b50505050505050505050565b60006102bc613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610cde565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610aae57610aae611f81565b60209081029190910101526000610ace858383630100080160dd1b610fbe565b95945050505050565b604080516000808252602082019092526060916104ff84836001610d65565b60006102bc613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610cde565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610b6d57610b6d611f81565b602002602001018181525050826001600160a01b031660001b81600181518110610b9957610b99611f81565b60209081029190910101526000610bb9868383630100080160dd1b610fbe565b9695505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610bfd573391505090565b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610c4757610c47611f81565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f53797374656d5265676973747279000000000000000000000000000000000000603082015281518082039093018352810190526000906104ff90610cce90611f97565b836000630100080160dd1b610fbe565b6000610cec60706010611f6e565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b60606000610d71610bc3565b9050306001600160a01b03821603610d9657610d8e8585856111ab565b915050610350565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610ddf90889088908890600401611ff9565b600060405180830381865afa158015610dfc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d8e9190810190612025565b509392505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610e6d57610e6d611f81565b602002602001018181525050826001600160a01b031660001b81600181518110610e9957610e99611f81565b602002602001018181525050610edc8582600085604051602001610ebf91815260200190565b60408051601f19818403018152919052630100080160dd1b6111e5565b5050505050565b600080610eef30610c02565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091610f739101604051602081830303815290604052610f6d90611f97565b83611268565b90506001600160a01b0381166102bc576040517f9434f7e1000000000000000000000000000000000000000000000000000000008152306004820152602481018390526044016103b3565b600080610fc9610bc3565b9050306001600160a01b03821603610fef57610fe7868686866112e5565b9150506104ff565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061103a9089908990899089906004016120d2565b602060405180830381865afa158015611057573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe79190612101565b6001600160a01b0381166110d07f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617611312565b6001600160a01b0316146103c8576110e782611405565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103b392919061211a565b60408051600080825260208201835291810183905290610807908490839060608201610ebf565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b8160008151811061118557611185611f81565b6020026020010181815250506107708482600085604051602001610ebf91815260200190565b60606104ff6111bb858585611581565b6111de846111c98888611601565b9060ff166028026038011c64ffffffffff1690565b6000611614565b60006111ef610bc3565b9050306001600160a01b038216036112135761120e8686868686611637565b611260565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906109fd9089908990899089908990600401612145565b505050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112a1576112a1611f81565b602090810291909101015260006112d98583837e14010014000000000000000000000000000000000000000000000000000000610fbe565b60601c95945050505050565b6000610ace6112f4868661164c565b60ff858116601b0360080285901c1661130d85876116a2565b6116dd565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061134b5761134b611f81565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f4e616d6573706163654f776e6572000000000000000000000000000000000000603082015281518082039093018352810190526000906113fa906113d290611f97565b8360007e14010014000000000000000000000000000000000000000000000000000000610fbe565b60601c949350505050565b606081601081901b60006114188361172e565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561146b577fffffffffffffffffffffffffffff000000000000000000000000000000000000831661148d565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156114bb57826114dd565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040517fffff00000000000000000000000000000000000000000000000000000000000090931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190527fffffffffffffffffffffffffffffffff00000000000000000000000000000000928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b6000838360405160200161159692919061218c565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006103506116108484611745565b5490565b60405160208101601f19603f8584010116604052838252610e248585858461179b565b610edc858561164684876116a2565b8561186a565b6000828260405160200161166192919061218c565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610e24576116c960ff601b83900360080287901c1683611f6e565b9150806116d5816121c7565b9150506116a7565b600060208210611703576020820484019350602082816116ff576116ff6121e1565b0691505b508254600882021b602082900380841115610e24576001850154600882021c82179150509392505050565b600061173c60706010611f6e565b9190911b919050565b6000828260405160200161175a92919061218c565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b811561182457602082106117c5576020820484019350602082816117c1576117c16121e1565b0691505b81156118245760208290036000818510156117e95750600019600885021c196117f4565b50600019600882021c195b8554600885021b811984511682821617845250818511611815575050610770565b50600194909401939283900392015b5b602083106118465783548152600190930192601f1990920191602001611825565b8215610770576000600019600885021c198251865482169119161782525050505050565b6000611876858561164c565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8585856040516118ac939291906121f7565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146118e85750610770565b60006118f386611ac3565b905060005b81518110156119d257600082828151811061191557611915611f81565b602002602001015190506119416004826affffffffffffffffffffff1916611ba390919063ffffffff16565b156119bf576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061198c908b908b908b908b9060040161222a565b600060405180830381600087803b1580156119a657600080fd5b505af11580156119ba573d6000803e3d6000fd5b505050505b50806119ca816121c7565b9150506118f8565b506119e6828565ffffffffffff1685611bc1565b60005b815181101561065c576000828281518110611a0657611a06611f81565b60200260200101519050611a326008826affffffffffffffffffffff1916611ba390919063ffffffff16565b15611ab0576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611a7d908b908b908b908b9060040161222a565b600060405180830381600087803b158015611a9757600080fd5b505af1158015611aab573d6000803e3d6000fd5b505050505b5080611abb816121c7565b9150506119e9565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611afd57611afd611f81565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611b8c90611b8490611f97565b8360006111ab565b90506104ff611b9e8260008451611bd1565b611c61565b60008160ff1682611bb48560581c90565b1660ff1614905092915050565b6108078383602084018451611c72565b6000818311158015611be4575083518211155b611c20578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103b393929190612263565b60208401611c2e8482611f6e565b90506000611c3c8585612288565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006103508360156000611d32565b8215611cec5760208310611c9c57602083048401935060208381611c9857611c986121e1565b0692505b8215611cec5760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611cdd575050610770565b50600194909401939182019190035b5b60208110611d0e5781518455600190930192602090910190601f1901611ced565b8015610770576000600019600883021c198554845182169119161785555050505050565b60606000611d408560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611d6657611d666121e1565b04905060405193506020840160208202810160405281855260005b82811015611da1578451871c825293870193602090910190600101611d81565b50505050509392505050565b600060208284031215611dbf57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461035057600080fd5b60005b83811015611e0a578181015183820152602001611df2565b50506000910152565b60008151808452611e2b816020860160208601611def565b601f01601f19169290920160200192915050565b6020815260006103506020830184611e13565b80356001600160a01b0381168114610bfd57600080fd5b60008060408385031215611e7c57600080fd5b611e8583611e52565b946020939093013593505050565b600080600060608486031215611ea857600080fd5b611eb184611e52565b9250611ebf60208501611e52565b9150604084013590509250925092565b600060208284031215611ee157600080fd5b61035082611e52565b60008060408385031215611efd57600080fd5b611f0683611e52565b9150611f1460208401611e52565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b848152836020820152826040820152608060608201526000610bb96080830184611e13565b634e487b7160e01b600052601160045260246000fd5b808201808211156102bc576102bc611f58565b634e487b7160e01b600052603260045260246000fd5b80516020808301519190811015611fb8576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b83811015611fee57815187529582019590820190600101611fd2565b509495945050505050565b8381526060602082015260006120126060830185611fbe565b905060ff83166040830152949350505050565b60006020828403121561203757600080fd5b815167ffffffffffffffff8082111561204f57600080fd5b818401915084601f83011261206357600080fd5b81518181111561207557612075611f1d565b604051601f8201601f19908116603f0116810190838211818310171561209d5761209d611f1d565b816040528281528760208487010111156120b657600080fd5b6120c7836020830160208801611def565b979650505050505050565b8481526080602082015260006120eb6080830186611fbe565b60ff949094166040830152506060015292915050565b60006020828403121561211357600080fd5b5051919050565b60408152600061212d6040830185611e13565b90506001600160a01b03831660208301529392505050565b85815260a06020820152600061215e60a0830187611fbe565b60ff8616604084015282810360608401526121798186611e13565b9150508260808301529695505050505050565b82815260006020808301845182860160005b828110156121ba5781518452928401929084019060010161219e565b5091979650505050505050565b600060001982036121da576121da611f58565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60608152600061220a6060830186611fbe565b65ffffffffffff851660208401528281036040840152610bb98185611e13565b8481526080602082015260006122436080830186611fbe565b65ffffffffffff8516604084015282810360608401526120c78185611e13565b6060815260006122766060830186611e13565b60208301949094525060400152919050565b818103818111156102bc576102bc611f5856fea164736f6c6343000815000aa164736f6c6343000815000a","sourceMap":"1229:2128:122:-:0;;;1370:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1322:85:122;;;1229:2128;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806317d7de7c1161005b57806317d7de7c146100df57806345ec93541461010d5780637c5b033514610120578063e1af802c1461013357600080fd5b806301ffc9a714610082578063119df25f146100aa57806313861fb5146100ca575b600080fd5b610095610090366004612c1b565b61013b565b60405190151581526020015b60405180910390f35b6100b26101d4565b6040516001600160a01b0390911681526020016100a1565b6100dd6100d8366004612cf5565b6101e3565b005b6040517f65726332302d707570706574000000000000000000000000000000000000000081526020016100a1565b604051601f1936013581526020016100a1565b6100dd61012e366004612cf5565b6106a0565b6100b26106d2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f79f50b5b0000000000000000000000000000000000000000000000000000000014806101ce57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101de6106dc565b905090565b60006001600160a01b031661021f7f65726332302d7075707065740000000000000000000000000000000000000000838051906020012061070e565b6001600160a01b03161461025f576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080828060200190518101906102769190612de9565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff19831601610305576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b61030d610835565b60006103176106d2565b6040516001600160a01b03828116602483015271ffffffffffffffffffffffffffffffffffff19861660448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169060640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c200000000000000000000000000000000000000000000000000000000179052516103d39190612ec1565b600060405180830381855af49150503d806000811461040e576040519150601f19603f3d011682016040523d82523d6000602084013e610413565b606091505b505050610428610422846108c5565b836108f7565b600061043384610999565b9050600061044183836109e6565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601087901c16176001600160a01b03841663ef5d6bbb826104a26101d4565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b15801561050157600080fd5b505af1158015610515573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610597935001905060405160208183030381529060405261059290612edd565b610cb6565b6106185760408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610618910160405160208183030381529060405261061390612edd565b610d9a565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610697910160405160208183030381529060405261069090612edd565b8284610de6565b50505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101de610ea6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061070b5750335b90565b60408051600280825260608201835260009283929190602083019080368337019050509050836fffffffffffffffffffffffffffffffff19168160008151811061075a5761075a612f01565b602002602001018181525050828160018151811061077a5761077a612f01565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f496e7374616c6c65644d6f64756c657300000000000000000000000000000000603082015281518082039093018352810190526000906108299061080190612edd565b8360007e14010014000000000000000000000000000000000000000000000000000000610ee5565b60601c95945050505050565b6040805160008082526020820190925261086090651c1d5c1c195d60d21b908051906020012061070e565b6001600160a01b0316036108c357604051651c1d5c1c195d60d21b602082015260300160408051601f19818403018152908290527f217ef9250000000000000000000000000000000000000000000000000000000082526102fc91600401612f43565b565b60006101ce613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610fa2565b600061094682600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061095c83602001518460400151611029565b9050600061097284602001518560400151611046565b6040805160008152602081019091529091506109918682868686611072565b505050505050565b60006101ce7f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610fa2565b604080517f73790000000000000000000000000000000000000000000000000000000000006020820152651c1d5c1c195d60d21b60228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af089101604051602081830303815290604052610a7290612edd565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610b0f929190600401612f56565b6000604051808303816000875af1158015610b2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b569190810190612f6f565b806020019051810190610b699190612fb8565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f73790000000000000000000000000000000000000000000000000000000000006020820152651c1d5c1c195d60d21b60228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610c3590612edd565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610c7e92919060248101612fe1565b600060405180830381600087803b158015610c9857600080fd5b505af1158015610cac573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610cef57610cef612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201528151808203909301835281019052600090610d8690610d5e90612edd565b8360007e01010001000000000000000000000000000000000000000000000000000000610ee5565b9050610d928160f81c90565b949350505050565b610de3817e14010014000000000000000000000000000000000000000000000000000000610dc6611127565b610dce61119f565b610dd66111d9565b610dde61125e565b6112d5565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e1c57610e1c612f01565b602002602001018181525050610ea08482600085604051602001610e6b919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e1401001400000000000000000000000000000000000000000000000000000061138e565b50505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610ee0573391505090565b919050565b600080610ef0610ea6565b9050306001600160a01b03821603610f1657610f0e86868686611404565b915050610d92565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610f6190899089908990899060040161303b565b602060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e919061306a565b6000610fb060706010613099565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b8151815160009181810160389190911b1760609190911b17611022565b6060828260405160200161105b9291906130ac565b604051602081830303815290604052905092915050565b600061107c610ea6565b9050306001600160a01b038216036110a05761109b868686868661143a565b610991565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb906110ed90899089908990899089906004016130db565b600060405180830381600087803b15801561110757600080fd5b505af115801561111b573d6000803e3d6000fd5b50505050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061116157611161612f01565b602002602001019060c581111561117a5761117a61312c565b908160c581111561118d5761118d61312c565b90525061119981611457565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061116157611161612f01565b604080516001808252818301909252606091816020015b60608152602001906001900390816111f05790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061125057611250612f01565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816112755790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061125057611250612f01565b60006112df610ea6565b9050306001600160a01b03821603611304576112ff878787878787611612565b610697565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f4990611353908a908a908a908a908a908a90600401613197565b600060405180830381600087803b15801561136d57600080fd5b505af1158015611381573d6000803e3d6000fd5b5050505050505050505050565b6000611398610ea6565b9050306001600160a01b038216036113b75761109b86868686866118ff565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906110ed90899089908990899089906004016131e1565b60006114316114138686611914565b60ff858116601b0360080285901c1661142c858761196a565b6119ad565b95945050505050565b611450858585858561144b8b6119fe565b611afc565b5050505050565b6000601c82511115611481578151604051635318beb960e01b81526004016102fc91815260200190565b60008080805b855181101561155c5760006114c58783815181106114a7576114a7612f01565b602002602001015160c58111156114c0576114c061312c565b611deb565b9050806000036114da57600190920191611512565b8215611512576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061153357611533612f01565b602002602001015160c581111561154c5761154c61312c565b901b949094179350600101611487565b50600581111561158257604051635318beb960e01b8152600481018290526024016102fc565b8451819003600861159560026020613228565b61159f919061323b565b83901b9390931792600860016115b760026020613228565b6115c19190613228565b6115cb919061323b565b81901b939093179260086001806115e460026020613228565b6115ee9190613228565b6115f89190613228565b611602919061323b565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061168b57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116ec57613a3160f11b86876040516020016116aa91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102fc939291600401613252565b6116f7856000611e4b565b611702846001611fcd565b61170d836000611fcd565b60e084901c60e885901c0160ff1682511461176d5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102fc565b60e085901c60e886901c0160ff168151146117cd5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102fc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146118455760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102fc565b61184e86612174565b156118a857858660405160200161186791815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102fc9291600401612f56565b6118f486868686866040516020016118c09190613293565b604051602081830303815290604052866040516020016118e09190613293565b604051602081830303815290604052612244565b610991866001612358565b611450858561190e848761196a565b8561244f565b600082826040516020016119299291906132a6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156119a55761199160ff601b83900360080287901c1683613099565b91508061199d816132d4565b91505061196f565b509392505050565b6000602082106119d3576020820484019350602082816119cf576119cf6132ee565b0691505b508254600882021b6020829003808411156119a5576001850154600882021c82179150509392505050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c65730000000000000000000000000000000000000000000000000000603082015260009101604051602081830303815290604052611a5d90612edd565b8203611a8957507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201526473746f726560d81b60228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526101ce91611af39101604051602081830303815290604052611aed90612edd565b846126a8565b602060006119ad565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b329493929190613304565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603610991576000611b73876126c4565b905060005b8151811015611c56576000828281518110611b9557611b95612f01565b60200260200101519050611bc16001826affffffffffffffffffffff191661278c90919063ffffffff16565b15611c43576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c10908c908c908c908c908c908c9060040161334e565b600060405180830381600087803b158015611c2a57600080fd5b505af1158015611c3e573d6000803e3d6000fd5b505050505b5080611c4e816132d4565b915050611b78565b506000611c638888611914565b90506000602087019050611c7b826000838a516127aa565b6000611c868561286a565b1115611d0a576000611c988a8a6128a7565b878155905060208601915060008060005b611cb28861286a565b8160ff161015611d0557611cc78d8d836128fd565b9250611ce28a8260ff166028026038011c64ffffffffff1690565b9150611cf183600087856127aa565b611cfb8286613099565b9450600101611ca9565b505050505b60005b835181101561111b576000848281518110611d2a57611d2a612f01565b60200260200101519050611d566002826affffffffffffffffffffff191661278c90919063ffffffff16565b15611dd8576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611da5908e908e908e908e908e908e9060040161334e565b600060405180830381600087803b158015611dbf57600080fd5b505af1158015611dd3573d6000803e3d6000fd5b505050505b5080611de3816132d4565b915050611d0d565b6000808260c5811115611e0057611e0061312c565b60ff1690506061811015611e1a57601f1660010192915050565b60618360c5811115611e2e57611e2e61312c565b03611e3c5750601492915050565b50600092915050565b50919050565b80158015611e57575081155b15611e91576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600060048201526024016102fc565b6000611e9c8361286a565b90506005811115611edc576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016102fc565b6000611ee78461297d565b90506000611ef58383613099565b9050601c811115611f35576040517f97e36a0a000000000000000000000000000000000000000000000000000000008152600481018290526024016102fc565b60005b828110156109915760ff601b82900360080287901c166000819003611f89576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020811115611fc4576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611f38565b80158015611fd9575081155b15611ffa57604051635318beb960e01b8152600060048201526024016102fc565b60006120058361286a565b9050600581111561202c57604051635318beb960e01b8152600481018290526024016102fc565b60006120378461297d565b905060006120458383613099565b9050601c81111561206c57604051635318beb960e01b8152600481018290526024016102fc565b60008060005b8381101561212d57600061209a6120898a8461298f565b60c58111156114c0576114c061312c565b11156120e4578481106120d9576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600190920191612125565b8481101561211e576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b600101612072565b5083821461215157604051635318beb960e01b8152600481018390526024016102fc565b84811461069757604051635318beb960e01b8152600481018290526024016102fc565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121ad576121ad612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201528151808203909301835281019052600090610d869061221c90612edd565b8360007e01010001000000000000000000000000000000000000000000000000000000611404565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061227b8484611029565b905060006122898585611046565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106122c3576122c3612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c657300000000000000000000000000000000000000000000000000006030820152815180820390930183528101905261111b9061232f90612edd565b828686867e60030220202000000000000000000000000000000000000000000000000000611afc565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061238e5761238e612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f757263654964730000000000000000000000000000000000000000006030820152815180820390930183528101905261244a906123fa90612edd565b8260008560405160200161241591151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006118ff565b505050565b600061245b8585611914565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be858585604051612491939291906133a7565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146124cd5750610ea0565b60006124d8866126c4565b905060005b81518110156125b75760008282815181106124fa576124fa612f01565b602002602001015190506125266004826affffffffffffffffffffff191661278c90919063ffffffff16565b156125a4576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612571908b908b908b908b906004016133e4565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b505050505b50806125af816132d4565b9150506124dd565b506125cb828565ffffffffffff16856129b0565b60005b81518110156106975760008282815181106125eb576125eb612f01565b602002602001015190506126176008826affffffffffffffffffffff191661278c90919063ffffffff16565b15612695576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612662908b908b908b908b906004016133e4565b600060405180830381600087803b15801561267c57600080fd5b505af1158015612690573d6000803e3d6000fd5b505050505b50806126a0816132d4565b9150506125ce565b6040805160208101849052908101829052600090606001611929565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126fe576126fe612f01565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b7300000000000000000000000000000000000000000000603082015281518082039093018352810190526000906127759061276d90612edd565b8360006129c0565b9050610d9261278782600084516129fa565b612a8a565b60008160ff168261279d8560581c90565b1660ff1614905092915050565b821561282457602083106127d4576020830484019350602083816127d0576127d06132ee565b0692505b82156128245760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311612815575050610ea0565b50600194909401939182019190035b5b602081106128465781518455600190930192602090910190601f1901612825565b8015610ea0576000600019600883021c198554845182169119161785555050505050565b6000600860018061287d60026020613228565b6128879190613228565b6128919190613228565b61289b919061323b565b8260ff911c1692915050565b600082826040516020016128bc9291906132a6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016129129291906132a6565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008600161288760026020613228565b6000601b8290036008028360ff911c1660c58111156110225761102261312c565b61244a83836020840184516127aa565b6060610d926129d08585856128fd565b6129f3846129de8888612a9b565b9060ff166028026038011c64ffffffffff1690565b6000612aae565b6000818311158015612a0d575083518211155b612a49578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102fc9392919061341d565b60208401612a578482613099565b90506000612a658585613228565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006110228360156000612ad1565b6000611022612aaa84846128a7565b5490565b60405160208101601f19603f85840101166040528382526119a585858584612b4c565b60606000612adf8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612b0557612b056132ee565b04905060405193506020840160208202810160405281855260005b82811015612b40578451871c825293870193602090910190600101612b20565b50505050509392505050565b8115612bd55760208210612b7657602082048401935060208281612b7257612b726132ee565b0691505b8115612bd5576020829003600081851015612b9a5750600019600885021c19612ba5565b50600019600882021c195b8554600885021b811984511682821617845250818511612bc6575050610ea0565b50600194909401939283900392015b5b60208310612bf75783548152600190930192601f1990920191602001612bd6565b8215610ea0576000600019600885021c198251865482169119161782525050505050565b600060208284031215612c2d57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461102257600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612c9657612c96612c5d565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612cc557612cc5612c5d565b604052919050565b600067ffffffffffffffff821115612ce757612ce7612c5d565b50601f01601f191660200190565b600060208284031215612d0757600080fd5b813567ffffffffffffffff811115612d1e57600080fd5b8201601f81018413612d2f57600080fd5b8035612d42612d3d82612ccd565b612c9c565b818152856020838501011115612d5757600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612d90578181015183820152602001612d78565b50506000910152565b6000612da7612d3d84612ccd565b9050828152838383011115612dbb57600080fd5b611022836020830184612d75565b600082601f830112612dda57600080fd5b61102283835160208501612d99565b60008060408385031215612dfc57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612e1f57600080fd5b602084015190925067ffffffffffffffff80821115612e3d57600080fd5b9084019060608287031215612e5157600080fd5b612e59612c73565b825160ff81168114612e6a57600080fd5b8152602083015182811115612e7e57600080fd5b612e8a88828601612dc9565b602083015250604083015182811115612ea257600080fd5b612eae88828601612dc9565b6040830152508093505050509250929050565b60008251612ed3818460208701612d75565b9190910192915050565b80516020808301519190811015611e455760001960209190910360031b1b16919050565b634e487b7160e01b600052603260045260246000fd5b60008151808452612f2f816020860160208601612d75565b601f01601f19169290920160200192915050565b6020815260006110226020830184612f17565b828152604060208201526000610d926040830184612f17565b600060208284031215612f8157600080fd5b815167ffffffffffffffff811115612f9857600080fd5b8201601f81018413612fa957600080fd5b610d9284825160208401612d99565b600060208284031215612fca57600080fd5b81516001600160a01b038116811461102257600080fd5b8381528260208201526060604082015260006114316060830184612f17565b600081518084526020808501945080840160005b8381101561303057815187529582019590820190600101613014565b509495945050505050565b8481526080602082015260006130546080830186613000565b60ff949094166040830152506060015292915050565b60006020828403121561307c57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ce576101ce613083565b600083516130be818460208801612d75565b8351908301906130d2818360208801612d75565b01949350505050565b85815260a0602082015260006130f460a0830187613000565b82810360408401526131068187612f17565b905084606084015282810360808401526131208185612f17565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b600081518084526020808501808196508360051b8101915082860160005b8581101561318a578284038952613178848351612f17565b98850198935090840190600101613160565b5091979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006131c260c0830185613142565b82810360a08401526131d48185613142565b9998505050505050505050565b85815260a0602082015260006131fa60a0830187613000565b60ff8616604084015282810360608401526132158186612f17565b9150508260808301529695505050505050565b818103818111156101ce576101ce613083565b80820281158282048414176101ce576101ce613083565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006114316060830184612f17565b6020815260006110226020830184613142565b82815260006020808301845182860160005b8281101561318a578151845292840192908401906001016132b8565b600060001982036132e7576132e7613083565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6080815260006133176080830187613000565b82810360208401526133298187612f17565b905084604084015282810360608401526133438185612f17565b979650505050505050565b86815260c06020820152600061336760c0830188613000565b82810360408401526133798188612f17565b905085606084015282810360808401526133938186612f17565b9150508260a0830152979650505050505050565b6060815260006133ba6060830186613000565b65ffffffffffff8516602084015282810360408401526133da8185612f17565b9695505050505050565b8481526080602082015260006133fd6080830186613000565b65ffffffffffff8516604084015282810360608401526133438185612f17565b6060815260006134306060830186612f17565b6020830194909452506040015291905056fea164736f6c6343000815000a","sourceMap":"1229:2128:122:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;754:220:52;;;;;;:::i;:::-;;:::i;:::-;;;516:14:201;;509:22;491:41;;479:2;464:18;754:220:52;;;;;;;;1245:113:57;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:201;;;689:74;;677:2;662:18;1245:113:57;543:226:201;1780:1474:122;;;;;;:::i;:::-;;:::i;:::-;;1412:87;;;1483:11;2632:98:201;;2620:2;2605:18;1412:87:122;2486:250:201;1599:110:57;;;-1:-1:-1;;3585:14:57;3581:23;3568:37;2887:25:201;;2875:2;2860:18;1599:110:57;2741:177:201;3258:97:122;;;;;;:::i;:::-;;:::i;1925:95:57:-;;;:::i;754:220:52:-;878:4;897:34;;;360:110:47;897:34:52;;:72;;-1:-1:-1;935:34:52;;;188::46;935::52;897:72;890:79;754:220;-1:-1:-1;;754:220:52:o;1245:113:57:-;1288:14;1317:36;:34;:36::i;:::-;1310:43;;1245:113;:::o;1780:1474:122:-;1961:1;-1:-1:-1;;;;;1899:64:122;:50;1920:11;1943:4;1933:15;;;;;;1899:20;:50::i;:::-;-1:-1:-1;;;;;1899:64:122;;1895:117;;1980:25;;;;;;;;;;;;;;1895:117;2039:17;2058:33;2106:4;2095:46;;;;;;;;;;;;:::i;:::-;2038:103;;-1:-1:-1;2038:103:122;-1:-1:-1;2214:29:122;-1:-1:-1;;2214:29:122;;;2210:96;;2260:39;;;;;-1:-1:-1;;5094:79:201;;2260:39:122;;;5076:98:201;5049:18;;2260:39:122;;;;;;;;2210:96;2340:22;:20;:22::i;:::-;2413:16;2443:8;:6;:8::i;:::-;2491:75;;-1:-1:-1;;;;;5397:55:201;;;2491:75:122;;;5379:74:201;-1:-1:-1;;5489:79:201;;5469:18;;;5462:107;5397:55;;-1:-1:-1;2458:19:122;:32;;;;5352:18:201;;2491:75:122;;;-1:-1:-1;;2491:75:122;;;;;;;;;;;;;;;;;;;;2458:109;;;2491:75;2458:109;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2605:56;2623:27;2640:9;2623:16;:27::i;:::-;2652:8;2605:17;:56::i;:::-;2713:24;2740:25;2755:9;2740:14;:25::i;:::-;2713:52;;2771:14;2788:34;2801:5;2808:13;2788:12;:34::i;:::-;2771:51;-1:-1:-1;1559:18:58;1582:33;336:5:16;1582:33:58;;;;1551:65;-1:-1:-1;;;;;2962:23:122;;;1551:65:58;2999:12:122;:10;:12::i;:::-;2962:50;;;;;;;;;;;;;6077:25:201;;;;-1:-1:-1;;;;;6138:55:201;6118:18;;;6111:83;6050:18;;2962:50:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;850:76:128;;;-1:-1:-1;;;850:76:128;;;6388:92:201;883:16:128;6496:11:201;;;6489:100;901:24:128;6605:12:201;;;6598:101;3071:46:122;;-1:-1:-1;6715:12:201;;-1:-1:-1;850:76:128;;;;;;;;;;;;842:85;;;:::i;:::-;3071:21:122;:46::i;:::-;3066:115;;850:76:128;;;-1:-1:-1;;;850:76:128;;;6388:92:201;883:16:128;6496:11:201;;;6489:100;901:24:128;6605:12:201;;;6598:101;3127:47:122;;6715:12:201;850:76:128;;;;;;;;;;;;842:85;;;:::i;:::-;3127:22:122;:47::i;:::-;850:76:128;;;-1:-1:-1;;;850:76:128;;;6388:92:201;883:16:128;6496:11:201;;;6489:100;901:24:128;6605:12:201;;;6598:101;3186:63:122;;6715:12:201;850:76:128;;;;;;;;;;;;842:85;;;:::i;:::-;3229:11:122;3242:6;3186:17;:63::i;:::-;1823:1431;;;;;;1780:1474;:::o;3258:97::-;3318:32;;;;;;;;;;;;;;1925:95:57;1964:7;1986:29;:27;:29::i;2779:381::-;3063:34;3067:14;3063:34;3050:48;3046:2;3042:57;;3110:45;;-1:-1:-1;3145:10:57;3110:45;2779:381;:::o;4272:357:70:-;4409:16;;;4423:1;4409:16;;;;;;;;4351:21;;;;4409:16;4423:1;4409:16;;;;;;;;;;-1:-1:-1;4409:16:70;4380:45;;4454:10;4446:19;;;4431:9;4441:1;4431:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;4486:13;4471:9;4481:1;4471:12;;;;;;;;:::i;:::-;;;;;;;;;;;:28;;;;1164:79;;;-1:-1:-1;;;1164:79:70;;;6388:92:201;1197:16:70;6496:11:201;;;6489:100;1215:27:70;6605:12:201;;;6598:101;1164:79:70;;;;;;;;;;6715:12:201;;1164:79:70;;-1:-1:-1;;4522:64:70;;1156:88;;;:::i;:::-;4559:9;4570:1;1361:66;4522:26;:64::i;:::-;4600:23;;;4272:357;-1:-1:-1;;;;;4272:357:70:o;1503:273:122:-;1654:12;;;1680:1;1654:12;;;;;;;;;1603:65;;-1:-1:-1;;;387:17:171;1644:23:122;;;;;;1603:20;:65::i;:::-;-1:-1:-1;;;;;1603:79:122;;1599:173;;1731:32;;-1:-1:-1;;;1731:32:122;;;7418:92:201;7526:12;;1731:32:122;;;-1:-1:-1;;1731:32:122;;;;;;;;;;1699:66;;;;;;;;:::i;1599:173::-;1503:273::o;1047:181:134:-;1106:10;1129:96;-1:-1:-1;;;1192:9:134;1209:13;1129:25;:96::i;15107:443:131:-;15189:24;15216:29;15229:6;:15;;;18192:26;;;11776:3:201;11772:16;;;;11790:66;11768:89;18192:26:131;;;11756:102:201;18192:26:131;;;;;;;;;11874:11:201;;;;18192:26:131;;;18104:119;15216:29;15189:56;;15252:29;15284:41;15298:6;:11;;;15311:6;:13;;;15284;:41::i;:::-;15252:73;;15331:25;15359:41;15373:6;:11;;;15386:6;:13;;;15359;:41::i;:::-;15436:16;;;15407:26;15436:16;;;;;;;;15331:69;;-1:-1:-1;15459:86:131;15481:8;15436:16;15502:11;15515:15;15331:69;15459:21;:86::i;:::-;15183:367;;;;15107:443;;:::o;1230:184:134:-;1287:10;1310:101;1346:15;1374:9;1391:17;1310:25;:101::i;799:322:172:-;659:64:171;;;676:15;659:64;;;6388:92:201;-1:-1:-1;;;6496:11:201;;;6489:100;704:18:171;6605:12:201;;;6598:101;869:14:172;;-1:-1:-1;;;;;914:10:172;;;;;6715:12:201;659:64:171;;;;;;;;;;;;651:73;;;:::i;:::-;941:60:172;;;;;2887:25:201;;;2860:18;;941:60:172;;;-1:-1:-1;;941:60:172;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:172;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:172;;;1079:18:93;606:36:58;2848:46;;2847:74;522:67:171;;;539:15;522:67;;;6388:92:201;-1:-1:-1;;;6496:11:201;;;6489:100;567:21:171;6605:12:201;;;6598:101;6715:12;522:67:171;;;;;;;;;;;;514:76;;;:::i;:::-;1105:12:172;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;3213:315:27:-;3326:16;;;3340:1;3326:16;;;;;;;;;3278:11;;;;3326:16;;;;;;;;;;;;-1:-1:-1;3326:16:27;3297:45;;3381:10;3348:9;3358:1;3348:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:27;;;6388:92:201;-1:-1:-1;;;6496:11:201;;;6489:100;1098:22:27;6605:12:201;;;6598:101;1047:74:27;;;;;;;;;;6715:12:201;;1047:74:27;;-1:-1:-1;;3415:64:27;;1039:83;;;:::i;:::-;3452:9;3463:1;1234:66;3415:26;:64::i;:::-;3399:80;;3493:29;3514:5;3501:20;;7878:5;7792:97;3493:29;3485:38;3213:315;-1:-1:-1;;;;3213:315:27:o;2827:174:132:-;2881:115;2907:8;1251:66;2931:14;:12;:14::i;:::-;2947:16;:14;:16::i;:::-;2965:13;:11;:13::i;:::-;2980:15;:13;:15::i;:::-;2881:25;:115::i;:::-;2827:174;:::o;5555:301::-;5679:16;;;5693:1;5679:16;;;;;;;;;5650:26;;5679:16;;;;;;;;;;;-1:-1:-1;5679:16:132;5650:45;;5734:11;5701:9;5711:1;5701:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5753:98;5780:8;5790:9;5801:1;5822:12;5804:32;;;;;;;10012:2:201;10008:15;;;;10025:66;10004:88;9992:101;;10118:2;10109:12;;9863:264;5804:32:132;;;;-1:-1:-1;;5804:32:132;;;;;;;;;1251:66;5753:26;:98::i;:::-;5644:212;5555:301;;;:::o;1766:227:24:-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:24;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:24:o;17702:457::-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:24;-1:-1:-1;;;;;17925:30:24;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:24;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1008:257:58:-;1095:10;1224:26;399:6;336:5:16;1224:26:58;:::i;:::-;1206:13;;;:45;;336:5:16;1170:31:58;;;;;1151:15;;;:51;:101;;-1:-1:-1;1008:257:58;;;;;;:::o;18414:334:131:-;18696:18;;18716:20;;18514:29;;2377:5:15;;;785;2408:39;;;;2390:58;2489:23;2474:39;;;;2456:58;18674:63:131;2236:344:15;18913:168:131;19001:12;19052:4;19067:6;19028:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19021:55;;18913:168;;;;:::o;6388:479:24:-;6574:21;6598:17;:15;:17::i;:::-;6574:41;-1:-1:-1;6650:4:24;-1:-1:-1;;;;;6625:30:24;;;6621:242;;6665:79;6685:7;6694:8;6704:10;6716:14;6732:11;6665:19;:79::i;:::-;6621:242;;;6765:91;;;;;-1:-1:-1;;;;;6765:31:24;;;;;:91;;6797:7;;6806:8;;6816:10;;6828:14;;6844:11;;6765:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6568:299;6388:479;;;;;:::o;1670:200:132:-;1764:19;;;1781:1;1764:19;;;;;;;;;1717:6;;;;1764:19;;;;;;;;;;;;-1:-1:-1;1764:19:132;1731:52;;1805:18;1789:10;1800:1;1789:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1837:28:132;1854:10;1837:16;:28::i;:::-;1830:35;;;1670:200;:::o;1987:208::-;2085:19;;;2102:1;2085:19;;;;;;;;;2036:6;;;;2085:19;;;;;;;;;;;;-1:-1:-1;2085:19:132;2050:54;;2128:18;2110:12;2123:1;2110:15;;;;;;;;:::i;2329:142::-;2418:15;;;2431:1;2418:15;;;;;;;;;2375:24;;2418:15;;;;;;;;;;;;;;;;;;;;2407:26;;2439:27;;;;;;;;;;;;;;;;;:8;2448:1;2439:11;;;;;;;;:::i;:::-;;;;;;:27;;;;2329:142;:::o;2611:151::-;2706:15;;;2719:1;2706:15;;;;;;;;;2659:26;;2706:15;;;;;;;;;;;;;;;;;;;;2693:28;;2727:30;;;;;;;;;;;;;;;;;:10;2738:1;2727:13;;;;;;;;:::i;5574:520:24:-;5777:21;5801:17;:15;:17::i;:::-;5777:41;-1:-1:-1;5853:4:24;-1:-1:-1;;;;;5828:30:24;;;5824:266;;5868:91;5892:7;5901:11;5914:9;5925:11;5938:8;5948:10;5868:23;:91::i;:::-;5824:266;;;5980:103;;;;;-1:-1:-1;;;;;5980:35:24;;;;;:103;;6016:7;;6025:11;;6038:9;;6049:11;;6062:8;;6072:10;;5980:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5771:323;5574:520;;;;;;:::o;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;35212:541:20:-;35369:7;35506:242;35550:59;35591:7;35600:8;35550:40;:59::i;:::-;35627:31;;;;4044:19:3;:27;537:1:30;4043:44:3;4009:79;;;3996:93;35676:63:20;35715:11;35728:10;35676:38;:63::i;:::-;35506:17;:242::i;:::-;35493:255;35212:541;-1:-1:-1;;;;;35212:541:20:o;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;:::-;11576:285;;;;;:::o;1247:2059:17:-;1315:6;647:2:30;1333:7:17;:14;:33;1329:85;;;1399:7;:14;1375:39;;-1:-1:-1;;;1375:39:17;;;;;;2887:25:201;;2875:2;2860:18;;2741:177;1329:85:17;1420:14;;;;1621:956;1645:7;:14;1641:1;:18;1621:956;;;1671:24;1698:32;:7;1706:1;1698:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1671:59;;1743:16;1763:1;1743:21;1739:404;;1928:15;;;;;1739:404;;;1972:17;;1968:175;;2096:38;;;;;;;;;;;;;;1968:175;2269:16;2254:31;;;;537:1:30;2531::17;2527;437:2:30;2509:19:17;:23;2508:40;2492:7;2500:1;2492:10;;;;;;;;:::i;:::-;;;;;;;2484:19;;;;;;;;:::i;:::-;:65;;2474:75;;;;;-1:-1:-1;2559:3:17;;1621:956;;;;902:1:30;2621:13:17;:34;2617:85;;;2664:38;;-1:-1:-1;;;2664:38:17;;;;;2887:25:201;;;2860:18;;2664:38:17;2741:177:201;2617:85:17;2802:14;;:30;;;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3090:41:17;;;3080:51;;;;;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3147:47:17;;;3137:57;;;;;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3210:49:17;;;;3200:59;;;;;1247:2059;-1:-1:-1;;;;1247:2059:17:o;7479:1764:20:-;-1:-1:-1;;;7739:7:20;:35;;;;;;:83;;-1:-1:-1;7799:23:20;7778:7;:44;;;;7739:83;7735:209;;;-1:-1:-1;;;7894:7:20;7927;7910:25;;;;;;16093:19:201;;16137:2;16128:12;;15933:213;7910:25:20;;;;-1:-1:-1;;7910:25:20;;;;;;;;;;7839:98;;;;;;;;;;:::i;7735:209::-;7990:43;:11;8025:5;7990:20;:43::i;:::-;8074:40;:9;8107:4;8074:18;:40::i;:::-;8120:43;:11;8155:5;8120:20;:43::i;:::-;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8251:8:20;:15;:40;8247:148;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8372:15:20;;8308:80;;;;;;;;16794:25:201;;;;16835:18;;;16828:34;16767:18;;8308:80:20;16620:248:201;8247:148:20;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8445:10:20;:17;:44;8441:158;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8574:17:20;;8506:86;;;;;;;;16794:25:201;;;;16835:18;;;16828:34;16767:18;;8506:86:20;16620:248:201;8441:158:20;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8656:50:20;8652:171;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;8723:93:20;;;;;;;;16794:25:201;;;;16835:18;;;16828:34;16767:18;;8723:93:20;16620:248:201;8652:171:20;8885:31;8908:7;8885:22;:31::i;:::-;8881:140;;;8971:7;9004;8987:25;;;;;;16093:19:201;;16137:2;16128:12;;15933:213;8987:25:20;;;;-1:-1:-1;;8987:25:20;;;;;;;;;;8933:81;;;;;;;;;:::i;8881:140::-;9062:103;9074:7;9083:11;9096:9;9107:11;9131:8;9120:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9153:10;9142:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9062:11;:103::i;:::-;9201:37;9224:7;9233:4;9201:22;:37::i;22277:355::-;22449:178;22483:7;22508:8;22538:63;22577:11;22590:10;22538:38;:63::i;:::-;22616:4;22449:16;:178::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;4858:651:20:-;1147:69:29;;;-1:-1:-1;;;1147:69:29;;;6388:92:201;-1:-1:-1;;;6496:11:201;;;6489:100;1198:17:29;6605:12:201;;;6598:101;4925:11:20;;6715: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;;;6388:92:201;-1:-1:-1;;;6496:11:201;;;6489:100;1198:17:29;6605:12:201;;;6598:101;5313:183:20;;5359:83;;6715:12:201;1147:69:29;;;;;;;;;;;;1139:78;;;:::i;:::-;5433:7:20;5359:40;:83::i;:::-;5462:2;5484:1;5313:17;:183::i;12721:3002::-;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;;3195:520:1;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;6418:1197:3:-;6540:10;6539:11;:36;;;;-1:-1:-1;6022:45:3;;6554:21;6535:95;;;6584:46;;;;;6628:1;6584:46;;;2887:25:201;2860:18;;6584:46:3;2741:177:201;6535:95:3;6698:25;6726:30;:11;:28;:30::i;:::-;6698:58;;902:1:30;6766:17:3;:38;6762:113;;;6813:62;;;;;;;;2887:25:201;;;2860:18;;6813:62:3;2741:177:201;6762:113:3;6882:24;6909:29;:11;:27;:29::i;:::-;6882:56;-1:-1:-1;7013:23:3;7039:36;7058:17;6882:56;7039:36;:::i;:::-;7013:62;;647:2:30;7085:15:3;:34;7081:107;;;7128:60;;;;;;;;2887:25:201;;;2860:18;;7128:60:3;2741:177:201;7081:107:3;7236:9;7231:380;7251:16;7247:1;:20;7231:380;;;3996:93;4044:19;:27;;;537:1:30;4043:44:3;4009:79;;;3996:93;7279:24;7340:21;;;7336:230;;7380:50;;;;;;;;;;;;;;7336:230;334:2:30;7449:16:3;:28;7445:121;;;7496:61;;;;;;;;;;;;;;7445:121;-1:-1:-1;7593:3:3;;7231:380;;5689:1683:17;5796:10;5795:11;:31;;;;-1:-1:-1;6022:45:3;;5810:16:17;5791:80;;;5835:36;;-1:-1:-1;;;5835:36:17;;5869:1;5835:36;;;2887:25:201;2860:18;;5835:36:17;2741:177:201;5791:80:17;5934:25;5962;:6;:23;:25::i;:::-;5934:53;;902:1:30;5997:17:17;:38;5993:103;;;6044:52;;-1:-1:-1;;;6044:52:17;;;;;2887:25:201;;;2860:18;;6044:52:17;2741:177:201;5993:103:17;6103:24;6130;:6;:22;:24::i;:::-;6103:51;-1:-1:-1;6224:23:17;6250:36;6269:17;6103:51;6250:36;:::i;:::-;6224:62;;647:2:30;6296:15:17;:34;6292:97;;;6339:50;;-1:-1:-1;;;6339:50:17;;;;;2887:25:201;;;2860:18;;6339:50:17;2741:177:201;6292:97:17;6448:25;6479:26;6516:9;6511:551;6531:15;6527:1;:19;6511:551;;;6604:1;6562:39;:17;:6;6577:1;6562:14;:17::i;:::-;:37;;;;;;;;:::i;:39::-;:43;6558:459;;;6666:16;6661:1;:21;6657:82;;6691:48;;;;;;;;;;;;;;6657:82;6771:19;;;;;6558:459;;;6873:16;6869:1;:20;6865:81;;;6898:48;;;;;;;;;;;;;;6865:81;6978:20;;;;;6558:459;7044:3;;6511:551;;;;7135:16;7114:17;:37;7110:102;;7160:52;;-1:-1:-1;;;7160:52:17;;;;;2887:25:201;;;2860:18;;7160:52:17;2741:177:201;7110:102:17;7288:17;7266:18;:39;7262:105;;7314:53;;-1:-1:-1;;;7314:53:17;;;;;2887:25:201;;;2860:18;;7314:53:17;2741:177:201;3569:314:27;3683:16;;;3697:1;3683:16;;;;;;;;;3635:11;;;;3683:16;;;;;;;;;;;;-1:-1:-1;3683:16:27;3654:45;;3738:10;3705:9;3715:1;3705:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:27;;;6388:92:201;-1:-1:-1;;;6496:11:201;;;6489:100;1098:22:27;6605:12:201;;;6598:101;1047:74:27;;;;;;;;;;6715:12:201;;1047:74:27;;-1:-1:-1;;3772:62:27;;1039:83;;;:::i;:::-;3807:9;3818:1;1234:66;3772:24;:62::i;20632:676:29:-;25186:53;;;;;;22203:19:201;;;22238:12;;;22231:28;;;25159:12:29;22275::201;;;22268:28;;;25186:53:29;;;;;;;;;;22312:12:201;;;;25186:53:29;;;20923:29;20955:55;20969:18;20989:20;20955:13;:55::i;:::-;20923:87;;21016:25;21044:55;21058:18;21078:20;21044:13;:55::i;:::-;21135:16;;;21149:1;21135:16;;;;;;;;;21016:83;;-1:-1:-1;21106:26:29;;21135:16;;;;;;;;;;;;-1:-1:-1;21135:16:29;21106:45;;21190:7;21157:9;21167:1;21157:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1147:69;;;-1:-1:-1;;;1147:69:29;;;6388:92:201;-1:-1:-1;;;6496:11:201;;;6489:100;1198:17:29;6605:12:201;;;6598:101;1147:69:29;;;;;;;;;;6715:12:201;;1147:69:29;;21205:98;;1139:78;;;:::i;:::-;21235:9;21246:11;21259:15;21276:12;1324:66;21205:19;:98::i;4933:268:27:-;5033:16;;;5047:1;5033:16;;;;;;;;;5004:26;;5033:16;;;;;;;;;;;-1:-1:-1;5033:16:27;5004:45;;5088:10;5055:9;5065:1;5055:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:27;;;6388:92:201;-1:-1:-1;;;6496:11:201;;;6489:100;1098:22:27;6605:12:201;;;6598:101;1047:74:27;;;;;;;;;;6715:12:201;;1047:74:27;;5106:90;;1039:83;;;:::i;:::-;5141:9;5152:1;5173:6;5155:26;;;;;;20456:14:201;20449:22;20444:3;20440:32;20428:45;;20498:1;20489:11;;20305:201;5155:26:27;;;;-1:-1:-1;;5155:26:27;;;;;;;;;1234:66;5106:24;:90::i;:::-;4998:203;4933:268;;:::o;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;;50062:282;50307:30;;;;;;21837:19:201;;;21872:12;;;21865:28;;;50150:7:20;;21909:12:201;;50307:30:20;21649:278:201;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;;;6388:92:201;-1:-1:-1;;;6496:11:201;;;6489:100;1098:21:28;6605:12:201;;;6598:101;1047:73:28;;;;;;;;;;6715:12:201;;1047:73:28;;-1:-1:-1;;4579:49:28;;1039:82;;;:::i;:::-;4615:9;4626:1;4579:25;:49::i;:::-;4558:70;;4642:66;:44;4663:5;4670:1;4673:5;:12;4642:20;:44::i;:::-;:64;:66::i;2891:136:4:-;2961:4;3013:9;2980:42;;2999:9;2981:15;2991:4;3790:26;;;3660:162;2981:15;:27;2980:42;;;2973:49;;2891:136;;;;:::o;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;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;52184:230:20:-;52305:7;52389;52398:8;52372:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52372:35:20;;;;;;;;;52362:46;;52372:35;52362:46;;;;41389:40;52335:73;;52184:230;-1:-1:-1;;;52184:230:20:o;51555:274::-;51699:7;51804;51813:8;51787:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;51777:46;;;;;;51756:17;51749:25;;51729:45;;;41298:34;51729:45;:94;51721:103;;51714:110;;51555:274;;;;;:::o;4700:171:3:-;4773:7;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;3948:206:17:-;4018:10;4108:19;:27;;;4139:1;4107:33;4086:6;4061:82;4078:63;;4061:82;;;;;;;;;:::i;850:162:19:-;939:68;945:14;961:6;826:4:14;816:15;;995:4:19;:11;939:5;:68::i;36221:522:20:-;36357:12;36481:257;36520:79;36562:7;36571:8;36581:17;36520:41;:79::i;:::-;36617:93;36692:17;36617:66;36665:7;36674:8;36617:47;:66::i;:::-;:74;6743:16:15;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;36617:93:20;36728:1;36481:12;:257::i;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;52752:301:20:-;52873:13;52965:82;52996:48;53026:7;53035:8;52996:29;:48::i;:::-;4572:21:19;;4466:137;4903:665;5315:4;5309:11;5356:4;5344:17;;-1:-1:-1;;5234:14:19;5403:26;;;5234:14;5230:28;5375:4;5368:63;5475:6;5467;5460:22;5493:51;5498:14;5514:6;5522;5530:13;5493:4;:51::i;2631:1127:36:-;2751:22;2781:21;2805;:11;2946:3:18;2924:25;;2850:104;2805:21:36;2781:45;-1:-1:-1;643:17:18;3187:38;;2832:20:36;2994:11;3187:38:18;2994:11:36;2979:26;;;;:::i;:::-;;2965:40;;3114:4;3108:11;3099:20;;3157:4;3150:5;3146:16;3217:2;3204:11;3200:20;3186:12;3182:39;3176:4;3169:53;3265:11;3258:5;3251:26;3308:1;3285:463;3324:11;3321:1;3318:18;3285:463;;;3718:20;;3697:42;;3676:64;;3590:31;;;;3503:4;3485:23;;;;3411:1;3404:9;3285:463;;;3289:28;;3066:688;;;2631:1127;;;;;:::o;5933:2374:19:-;6050:10;;6046:1537;;6203:2;6193:6;:12;6189:122;;6266:2;6257:6;:11;6239:29;;;;6290:2;6280:12;;;;;;:::i;:::-;;;;6189:122;6401:10;;6397:1180;;6609:2;:11;;;6483:21;6667:22;;;6663:133;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;;;-1:-1:-1;;;1080:1:31;1067:14;;1045:37;1043:40;6663:133:19;6979:14;6973:21;6969:1;6961:6;6957:14;6953:42;7226:4;7222:9;7206:13;7200:20;7196:36;7127:4;7115:10;7111:21;7054:192;7027:13;7007:251;;7317:13;7307:6;:23;7303:36;;7332:7;;;;7303:36;-1:-1:-1;7480:1:19;7462:19;;;;;7535:23;;;;;7493:30;6397:1180;7612:253;7629:2;7619:6;:12;7612:253;;7723:21;;7701:44;;7798:1;7780:19;;;;-1:-1:-1;;7838:12:19;;;;7826:2;7809:19;7612:253;;;7933:10;;7929:374;;7953:12;-1:-1:-1;;1080:1:31;1067:14;;1045:37;1043:40;8235:20:19;;8150:21;;8146:32;;8257:9;;8231:36;8095:184;8052:237;;-1:-1:-1;5933:2374:19;;;;:::o;14:332:201:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:201;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:334::-;1292:2;1286:9;1348:2;1338:13;;-1:-1:-1;;1334:86:201;1322:99;;1451:18;1436:34;;1472:22;;;1433:62;1430:88;;;1498:18;;:::i;:::-;1534:2;1527:22;1221:334;;-1:-1:-1;1221:334:201:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:201;1708:15;-1:-1:-1;;1704:88:201;1794:4;1700:99;;1560:245::o;1810:671::-;1878:6;1931:2;1919:9;1910:7;1906:23;1902:32;1899:52;;;1947:1;1944;1937:12;1899:52;1987:9;1974:23;2020:18;2012:6;2009:30;2006:50;;;2052:1;2049;2042:12;2006:50;2075:22;;2128:4;2120:13;;2116:27;-1:-1:-1;2106:55:201;;2157:1;2154;2147:12;2106:55;2193:2;2180:16;2218:48;2234:31;2262:2;2234:31;:::i;:::-;2218:48;:::i;:::-;2289:2;2282:5;2275:17;2329:7;2324:2;2319;2315;2311:11;2307:20;2304:33;2301:53;;;2350:1;2347;2340:12;2301:53;2405:2;2400;2396;2392:11;2387:2;2380:5;2376:14;2363:45;2449:1;2428:14;;;2444:2;2424:23;2417:34;;;;2432:5;1810:671;-1:-1:-1;;;;1810:671:201:o;2923:250::-;3008:1;3018:113;3032:6;3029:1;3026:13;3018:113;;;3108:11;;;3102:18;3089:11;;;3082:39;3054:2;3047:10;3018:113;;;-1:-1:-1;;3165:1:201;3147:16;;3140:27;2923:250::o;3178:321::-;3254:5;3283:52;3299:35;3327:6;3299:35;:::i;3283:52::-;3274:61;;3358:6;3351:5;3344:21;3398:3;3389:6;3384:3;3380:16;3377:25;3374:45;;;3415:1;3412;3405:12;3374:45;3428:65;3486:6;3479:4;3472:5;3468:16;3463:3;3428:65;:::i;3504:237::-;3558:5;3611:3;3604:4;3596:6;3592:17;3588:27;3578:55;;3629:1;3626;3619:12;3578:55;3651:84;3731:3;3722:6;3716:13;3709:4;3701:6;3697:17;3651:84;:::i;3746:1179::-;3861:6;3869;3922:2;3910:9;3901:7;3897:23;3893:32;3890:52;;;3938:1;3935;3928:12;3890:52;3970:9;3964:16;-1:-1:-1;;4013:5:201;4009:78;4002:5;3999:89;3989:117;;4102:1;4099;4092:12;3989:117;4174:2;4159:18;;4153:25;4125:5;;-1:-1:-1;4197:18:201;4227:14;;;4224:34;;;4254:1;4251;4244:12;4224:34;4277:22;;;;4333:4;4315:16;;;4311:27;4308:47;;;4351:1;4348;4341:12;4308:47;4379:22;;:::i;:::-;4431:2;4425:9;4478:4;4469:7;4465:18;4456:7;4453:31;4443:59;;4498:1;4495;4488:12;4443:59;4511:24;;4574:2;4566:11;;4560:18;4590:16;;;4587:36;;;4619:1;4616;4609:12;4587:36;4657:56;4705:7;4694:8;4690:2;4686:17;4657:56;:::i;:::-;4652:2;4643:7;4639:16;4632:82;;4753:2;4749;4745:11;4739:18;4782:2;4772:8;4769:16;4766:36;;;4798:1;4795;4788:12;4766:36;4836:56;4884:7;4873:8;4869:2;4865:17;4836:56;:::i;:::-;4831:2;4822:7;4818:16;4811:82;;4912:7;4902:17;;;;;3746:1179;;;;;:::o;5580:287::-;5709:3;5747:6;5741:13;5763:66;5822:6;5817:3;5810:4;5802:6;5798:17;5763:66;:::i;:::-;5845:16;;;;;5580:287;-1:-1:-1;;5580:287:201:o;6738:357::-;6856:12;;6903:4;6892:16;;;6886:23;;6856:12;6921:16;;6918:171;;;-1:-1:-1;;6995:4:201;6991:17;;;;6988:1;6984:25;6980:98;6969:110;;6738:357;-1:-1:-1;6738:357:201:o;7100:184::-;-1:-1:-1;;;7149:1:201;7142:88;7249:4;7246:1;7239:15;7273:4;7270:1;7263:15;7549:330;7591:3;7629:5;7623:12;7656:6;7651:3;7644:19;7672:76;7741:6;7734:4;7729:3;7725:14;7718:4;7711:5;7707:16;7672:76;:::i;:::-;7793:2;7781:15;-1:-1:-1;;7777:88:201;7768:98;;;;7868:4;7764:109;;7549:330;-1:-1:-1;;7549:330:201:o;7884:220::-;8033:2;8022:9;8015:21;7996:4;8053:45;8094:2;8083:9;8079:18;8071:6;8053:45;:::i;8322:320::-;8528:6;8517:9;8510:25;8571:2;8566;8555:9;8551:18;8544:30;8491:4;8591:45;8632:2;8621:9;8617:18;8609:6;8591:45;:::i;8647:458::-;8726:6;8779:2;8767:9;8758:7;8754:23;8750:32;8747:52;;;8795:1;8792;8785:12;8747:52;8828:9;8822:16;8861:18;8853:6;8850:30;8847:50;;;8893:1;8890;8883:12;8847:50;8916:22;;8969:4;8961:13;;8957:27;-1:-1:-1;8947:55:201;;8998:1;8995;8988:12;8947:55;9021:78;9091:7;9086:2;9080:9;9075:2;9071;9067:11;9021:78;:::i;9110:321::-;9188:6;9241:2;9229:9;9220:7;9216:23;9212:32;9209:52;;;9257:1;9254;9247:12;9209:52;9289:9;9283:16;-1:-1:-1;;;;;9332:5:201;9328:54;9321:5;9318:65;9308:93;;9397:1;9394;9387:12;9436:422;9701:6;9690:9;9683:25;9744:6;9739:2;9728:9;9724:18;9717:34;9787:2;9782;9771:9;9767:18;9760:30;9664:4;9807:45;9848:2;9837:9;9833:18;9825:6;9807:45;:::i;10132:435::-;10185:3;10223:5;10217:12;10250:6;10245:3;10238:19;10276:4;10305:2;10300:3;10296:12;10289:19;;10342:2;10335:5;10331:14;10363:1;10373:169;10387:6;10384:1;10381:13;10373:169;;;10448:13;;10436:26;;10482:12;;;;10517:15;;;;10409:1;10402:9;10373:169;;;-1:-1:-1;10558:3:201;;10132:435;-1:-1:-1;;;;;10132:435:201:o;10572:546::-;10894:6;10883:9;10876:25;10937:3;10932:2;10921:9;10917:18;10910:31;10857:4;10958:57;11010:3;10999:9;10995:19;10987:6;10958:57;:::i;:::-;11063:4;11051:17;;;;11046:2;11031:18;;11024:45;-1:-1:-1;11100:2:201;11085:18;11078:34;10950:65;10572:546;-1:-1:-1;;10572:546:201:o;11123:184::-;11193:6;11246:2;11234:9;11225:7;11221:23;11217:32;11214:52;;;11262:1;11259;11252:12;11214:52;-1:-1:-1;11285:16:201;;11123:184;-1:-1:-1;11123:184:201:o;11312:::-;-1:-1:-1;;;11361:1:201;11354:88;11461:4;11458:1;11451:15;11485:4;11482:1;11475:15;11501:125;11566:9;;;11587:10;;;11584:36;;;11600:18;;:::i;11896:492::-;12071:3;12109:6;12103:13;12125:66;12184:6;12179:3;12172:4;12164:6;12160:17;12125:66;:::i;:::-;12254:13;;12213:16;;;;12276:70;12254:13;12213:16;12323:4;12311:17;;12276:70;:::i;:::-;12362:20;;11896:492;-1:-1:-1;;;;11896:492:201:o;12393:793::-;12785:6;12774:9;12767:25;12828:3;12823:2;12812:9;12808:18;12801:31;12748:4;12855:57;12907:3;12896:9;12892:19;12884:6;12855:57;:::i;:::-;12960:9;12952:6;12948:22;12943:2;12932:9;12928:18;12921:50;12994:33;13020:6;13012;12994:33;:::i;:::-;12980:47;;13063:6;13058:2;13047:9;13043:18;13036:34;13119:9;13111:6;13107:22;13101:3;13090:9;13086:19;13079:51;13147:33;13173:6;13165;13147:33;:::i;:::-;13139:41;12393:793;-1:-1:-1;;;;;;;;12393:793:201:o;13191:184::-;-1:-1:-1;;;13240:1:201;13233:88;13340:4;13337:1;13330:15;13364:4;13361:1;13354:15;13380:616;13432:3;13470:5;13464:12;13497:6;13492:3;13485:19;13523:4;13564:2;13559:3;13555:12;13589:11;13616;13609:18;;13666:6;13663:1;13659:14;13652:5;13648:26;13636:38;;13708:2;13701:5;13697:14;13729:1;13739:231;13753:6;13750:1;13747:13;13739:231;;;13824:5;13818:4;13814:16;13809:3;13802:29;13852:38;13885:4;13876:6;13870:13;13852:38;:::i;:::-;13948:12;;;;13844:46;-1:-1:-1;13913:15:201;;;;13775:1;13768:9;13739:231;;;-1:-1:-1;13986:4:201;;13380:616;-1:-1:-1;;;;;;;13380:616:201:o;14001:908::-;14527:6;14516:9;14509:25;14570:6;14565:2;14554:9;14550:18;14543:34;14613:6;14608:2;14597:9;14593:18;14586:34;14656:6;14651:2;14640:9;14636:18;14629:34;14700:3;14694;14683:9;14679:19;14672:32;14490:4;14727:56;14778:3;14767:9;14763:19;14755:6;14727:56;:::i;:::-;14832:9;14824:6;14820:22;14814:3;14803:9;14799:19;14792:51;14860:43;14896:6;14888;14860:43;:::i;:::-;14852:51;14001:908;-1:-1:-1;;;;;;;;;14001:908:201:o;14914:708::-;15282:6;15271:9;15264:25;15325:3;15320:2;15309:9;15305:18;15298:31;15245:4;15352:57;15404:3;15393:9;15389:19;15381:6;15352:57;:::i;:::-;15457:4;15449:6;15445:17;15440:2;15429:9;15425:18;15418:45;15511:9;15503:6;15499:22;15494:2;15483:9;15479:18;15472:50;15539:33;15565:6;15557;15539:33;:::i;:::-;15531:41;;;15609:6;15603:3;15592:9;15588:19;15581:35;14914:708;;;;;;;;:::o;15627:128::-;15694:9;;;15715:11;;;15712:37;;;15729:18;;:::i;15760:168::-;15833:9;;;15864;;15881:15;;;15875:22;;15861:37;15851:71;;15902:18;;:::i;16151:464::-;16397:66;16389:6;16385:79;16374:9;16367:98;16501:6;16496:2;16485:9;16481:18;16474:34;16544:2;16539;16528:9;16524:18;16517:30;16348:4;16564:45;16605:2;16594:9;16590:18;16582:6;16564:45;:::i;17200:280::-;17399:2;17388:9;17381:21;17362:4;17419:55;17470:2;17459:9;17455:18;17447:6;17419:55;:::i;17485:639::-;17735:6;17730:3;17723:19;17705:3;17761:2;17794;17789:3;17785:12;17826:6;17820:13;17891:2;17883:6;17879:15;17912:1;17922:175;17936:6;17933:1;17930:13;17922:175;;;17999:13;;17985:28;;18035:14;;;;18072:15;;;;17958:1;17951:9;17922:175;;18129:195;18168:3;-1:-1:-1;;18192:5:201;18189:77;18186:103;;18269:18;;:::i;:::-;-1:-1:-1;18316:1:201;18305:13;;18129:195::o;18329:184::-;-1:-1:-1;;;18378:1:201;18371:88;18478:4;18475:1;18468:15;18502:4;18499:1;18492:15;18518:690;18851:3;18840:9;18833:22;18814:4;18878:57;18930:3;18919:9;18915:19;18907:6;18878:57;:::i;:::-;18983:9;18975:6;18971:22;18966:2;18955:9;18951:18;18944:50;19017:33;19043:6;19035;19017:33;:::i;:::-;19003:47;;19086:6;19081:2;19070:9;19066:18;19059:34;19141:9;19133:6;19129:22;19124:2;19113:9;19109:18;19102:50;19169:33;19195:6;19187;19169:33;:::i;:::-;19161:41;18518:690;-1:-1:-1;;;;;;;18518:690:201:o;19213:897::-;19665:6;19654:9;19647:25;19708:3;19703:2;19692:9;19688:18;19681:31;19628:4;19735:57;19787:3;19776:9;19772:19;19764:6;19735:57;:::i;:::-;19840:9;19832:6;19828:22;19823:2;19812:9;19808:18;19801:50;19874:33;19900:6;19892;19874:33;:::i;:::-;19860:47;;19943:6;19938:2;19927:9;19923:18;19916:34;19999:9;19991:6;19987:22;19981:3;19970:9;19966:19;19959:51;20027:33;20053:6;20045;20027:33;:::i;:::-;20019:41;;;20097:6;20091:3;20080:9;20076:19;20069:35;19213:897;;;;;;;;;:::o;20511:512::-;20762:2;20751:9;20744:21;20725:4;20788:56;20840:2;20829:9;20825:18;20817:6;20788:56;:::i;:::-;20892:14;20884:6;20880:27;20875:2;20864:9;20860:18;20853:55;20956:9;20948:6;20944:22;20939:2;20928:9;20924:18;20917:50;20984:33;21010:6;21002;20984:33;:::i;:::-;20976:41;20511:512;-1:-1:-1;;;;;;20511:512:201:o;21028:616::-;21338:6;21327:9;21320:25;21381:3;21376:2;21365:9;21361:18;21354:31;21301:4;21408:57;21460:3;21449:9;21445:19;21437:6;21408:57;:::i;:::-;21513:14;21505:6;21501:27;21496:2;21485:9;21481:18;21474:55;21577:9;21569:6;21565:22;21560:2;21549:9;21545:18;21538:50;21605:33;21631:6;21623;21605:33;:::i;22335:360::-;22538:2;22527:9;22520:21;22501:4;22558:45;22599:2;22588:9;22584:18;22576:6;22558:45;:::i;:::-;22634:2;22619:18;;22612:34;;;;-1:-1:-1;22677:2:201;22662:18;22655:34;22550:53;22335:360;-1:-1:-1;22335:360:201:o","linkReferences":{},"immutableReferences":{"89973":[{"start":842,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getName()":"17d7de7c","install(bytes)":"13861fb5","installRoot(bytes)":"7c5b0335","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"ERC20Module_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"dependency\",\"type\":\"string\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"SchemaLib_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"SchemaLib_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"getName()\":{\"details\":\"Provides a way to identify the module by a unique name.\",\"returns\":{\"_0\":\"The name of the module as a bytes16.\"}},\"install(bytes)\":{\"details\":\"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.\",\"params\":{\"args\":\"Arguments that may be needed during the installation process.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.\",\"params\":{\"interfaceId\":\"The bytes4 identifier for the interface.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"getName()\":{\"notice\":\"Return the name of the module.\"},\"install(bytes)\":{\"notice\":\"Installs the module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc20-puppet/ERC20Module.sol\":\"ERC20Module\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba\",\"dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18\",\"dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e\",\"dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0\",\"dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c\",\"dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x130f0925a5bf4f732ef9758b47eca18c77d1bb34546ea9463321e9df766435a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68767e3db6fd6538a4577a1c30fe03e05bf9d316cdd43a66657e93c008b76f45\",\"dweb:/ipfs/QmSZmUBSfhk3v5gNu5GgwcYuWbb1FFDKYpDKvpXVahfyTw\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534\",\"dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5\",\"dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751\",\"dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95\",\"dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a\",\"dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0xebe8f1d4a86bcd052afe19773cc5b48da49a7742033c2cc6f06c17a20be907b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20dd17dc78d0aff086ae0b80823cdc8544cdef4b545ec58303a1a8ef19c5372c\",\"dweb:/ipfs/QmdTBo4xSMEQAQoae5o2L2DB7yGBv9TmzZwR3LmUjynEY9\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d\",\"dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883\",\"dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5\",\"dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd\",\"dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255\",\"dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5\",\"dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8\",\"dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8\",\"dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b\",\"dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0\",\"dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad\",\"dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198\",\"dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff\"]},\"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/SystemRegistry.sol\":{\"keccak256\":\"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae\",\"dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1\",\"dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/modules/core/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]},\"src/modules/erc20-puppet/ERC20Module.sol\":{\"keccak256\":\"0xd228562b1974e15d04903262356d5e472001997d8f85f7ee82ac94bc55c2d453\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://792dcc71b19aceb3da51c3a3ed14976b01555e12719e7b53f39823a7ab13d4e6\",\"dweb:/ipfs/QmYJDNxECGAMUCPKLiVSvz61a6sdXSPt3iK1UwzpkQpaoR\"]},\"src/modules/erc20-puppet/ERC20System.sol\":{\"keccak256\":\"0xb84141880fce305b424d3aaa48c7c813f5b2cf8b6140781917ae59b2a2dde154\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc6168e5757f5383c7f5113d25e9c8f61b482c103dd72c0409e6c53e0b008d85\",\"dweb:/ipfs/QmSF74y8miTyvz1SvgXsxZSmnTBUcspqfc5HQzQB2CfVot\"]},\"src/modules/erc20-puppet/IERC20.sol\":{\"keccak256\":\"0x9526a245dd9b2527be8ce0304869de8b6b3fa5ce5c4a9878ae4c164eb048b75a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7bf0ce8ec02dfbded17da925a23e8ee7c9dc99ad4c42a1d3a3f6954ee363d2a9\",\"dweb:/ipfs/QmWSjpZDkdvvemfpPa7zvHbGHp15xeeAQDNPUvyepPcdvS\"]},\"src/modules/erc20-puppet/IERC20Errors.sol\":{\"keccak256\":\"0xe9614a529c1886f58a9346c5e23d588729b8358876cdaaa1e02c05aedb49d1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6da79a2b8813b856be2532bf2a4108703bc438a0d899e72a13113e624e3cf6b\",\"dweb:/ipfs/QmXm41JU4yapHaDDjuExTKgpX2FdDNmyDQgvGwK7Qv9PE6\"]},\"src/modules/erc20-puppet/IERC20Events.sol\":{\"keccak256\":\"0x22b66b1bc5609d9be78150221ff0ecc85fe22c39dad6ac9a02aef4fc7347296d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13bfceb7a6e7869f16cf9f3046308b834b0d64bffcd55828cd12edab0efa8e5f\",\"dweb:/ipfs/QmVPXYHx9MszicYsovZrwmafe1zv9amAuX4qpvzYdcufj5\"]},\"src/modules/erc20-puppet/IERC20Mintable.sol\":{\"keccak256\":\"0x1f17e23ada0ab60edb2d70322f6317832167ab261825fc9cc8c22fed4fdf167f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66f4ed9a5449dea5585a91c846bfd25a4af400e86d55d3646177a147d3f7d205\",\"dweb:/ipfs/Qmc2Yxm9HEvRepmNdgRxN1zvvq8SxbDfJ5zA8WorooiH6E\"]},\"src/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xbc3dceef68daf66c30b51387398268598b85442f85b5d6a2100a882518036889\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://085db7a1d6d673b76b5a66c3da6828ba45e104cf64a36707d671f21710cf1c7b\",\"dweb:/ipfs/QmVsPmdFTCZnBckz2RLSQZ43mK3LUBDu26WRHtiXTs4fsk\"]},\"src/modules/erc20-puppet/tables/Allowances.sol\":{\"keccak256\":\"0x701b2f518f8702cb41c924c4ac4bd64a5fe2ad470a7639f1163428bd83305b74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41844112f540ef1a0e15a578810bb5b7f1cfb2036ddd4867bcba7e453b1c3768\",\"dweb:/ipfs/QmQnLcXDE3T9mCTJbGVp6CTjNgXbEcWBa92hiGtitahszo\"]},\"src/modules/erc20-puppet/tables/ERC20Metadata.sol\":{\"keccak256\":\"0x17618ef023cb4d1fa9e53b183bc0e796b3042ca0dab69544e2044997e8f71253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://103799676aa6d5fbe321d6fdd83de10f8ba670fc98b2cf62b40eaae07f9abbee\",\"dweb:/ipfs/QmNs9JYUd4ThSnFMwFHHXoAinCGbBSPMvH2bz4tUFTfQ51\"]},\"src/modules/erc20-puppet/tables/ERC20Registry.sol\":{\"keccak256\":\"0xd84e88798b32ca0a8d5321b832262f4aaf74fe2cb28a0bb1073d17f4fe3b649e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac87a8c584663f797aaedfa76fccf0641e1db326e276a602746147eb84419ab7\",\"dweb:/ipfs/Qmdjcr9mEoZ5RDDyaHjZcysaimsocLmDmPiRXxD3YtbiEM\"]},\"src/modules/erc20-puppet/tables/TotalSupply.sol\":{\"keccak256\":\"0xebbf33ab9020c92e18035eea0992ad2bd058735d1c5b14e381c79e917043e385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26de448ed8a278775618b215248ac0cb603f6828efc0f562f6a7e3460e6c8a7b\",\"dweb:/ipfs/Qmcd3gJAvDCrWRQK3fT5yhXRN17c5suJBkyJzRdAQ6Xbn9\"]},\"src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x745e5260697e8c0f962c8d72fadeb4e47fc59e57c26f67f4f3b94fc118b19ce4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3282e8b0947abd80491027e7fc347466b5e0bf737148001cdd492de45c0aa14e\",\"dweb:/ipfs/QmNx7zvfz8ThSLdypvBeJUFCpTBKJnRCKrYZBaqAbac8nN\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x8933512836ec527a90f1fd44cf01870b302cd5f080d1dc9f64ea11c41e46d2ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://854b7887821c26da985de13e8fb476bd8bd52c411284793789d19d34d9112f3b\",\"dweb:/ipfs/QmcHweSL5z6Mwro4dm4sLnzy7WmzdZud5yW7KQ36mnZTYD\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0x8ba3488fee9e5503fa77b39609cfa2eed78be87636ada50e99094b0edc5a79e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08214be4e0315011bb8c675c955f560865687d9129be342ab420bbb5d123f37b\",\"dweb:/ipfs/QmXFbsptKuD6fxKhhb7FatDBRE4seDnmefNB2WG6MEHHmW\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0x47fc8ab186eba9b965c8cde4ff814eb9973302cbe1de6ee96f4539b62278fd85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04eb1f7b3d964cefef88285546dbcbdc4f1c4e03d2364d37cdda5c79f9d9bb5a\",\"dweb:/ipfs/QmddEmBYqWtnd63FCZgnHz2ukk1ZFTwLv2bMkVYwsXTG5t\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0x7f94270573d344a1aea188e3920acab0f6c3befe9e7f27a1759df091f73db9e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc35076fb222a6e77a6968ef62856db69c4bb757f83f9849fe6abd8bb983002f\",\"dweb:/ipfs/QmVKRXYS1Xj1ckMZg6i9XPp8LbE4BXR8GL2XBfiFvnPnk9\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0xb5379ef41cc6ab6a27bc8bee21f73094ecccd7af0b54e61bf7180b04dd828207\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7edb00d3c48110499790cc93573b3d4e7626a7d56c7243a57d0cbe2b1b86d449\",\"dweb:/ipfs/QmU9c1n3vftuRM4WjSmBhodZvSKwfovvzakdre2AYQTrur\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x3ec80fa8b953772490089a2ec073109f4e06bdcb12ddc4f6501384340f64232e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ecfe683e78efc41c21ed5be647cb4654ccdbf38f8ef4358067f87b39dc997c\",\"dweb:/ipfs/QmTrt6U6BnykBBJqVmHQkgAxEcqZ6X5LHDQZgWVGVPR1X3\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0xe746e9170bee8f229554971e2ebdeda0ac4b4d342f92c711a9c22882c0ebe4f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e8ba2b16545929f480da8b5d6980fe5f92bb87b7b09178b5236aeede72a7436\",\"dweb:/ipfs/QmUT9HGrXJB1jiyFW14kqGGGb8v86w2UscWuzWWfcmPTuE\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x725bf79655d814b0b04e2f64a8eb3a01dbd87cebf6c9674fb656363cc72c6e66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6efcc323f7cdf8e0d284dafe714f9dd922d63c747e9a34d6e71473943b50805c\",\"dweb:/ipfs/QmcxA7uqyhAV7m3svQstVhsjvLYbcgUq1nQCk7vqACAsQf\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x1a5efec938f8f444e25499f55c11782e2f8425ecb4bb7642b3e4d89ef5c94283\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b8cc1696ae88061b5b469111ee6bd4c25919756d3c85e2830a92dd7a344bda8d\",\"dweb:/ipfs/QmNZKrU7NkRHmvvm98kaLYFusEmH3e7sJdCwciuUWzCCxe\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0xb31878bda3f249c941719f6aa743bc739701418ed3effd2b5e6b4f28219e3f88\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a56bea3221f0663c35375beea4803b0d4ebc7e004828b89ef72c0cfec8e009e0\",\"dweb:/ipfs/QmPNZig8c2ou4uZFMjotG1CGT3ZcTU2aCt3C2RTSLkx3w8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC20Module_InvalidNamespace"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"FieldLayoutLib_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord"},{"inputs":[],"type":"error","name":"FieldLayoutLib_StaticLengthIsZero"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"string","name":"dependency","type":"string"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"SchemaLib_InvalidLength"},{"inputs":[],"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getName","outputs":[{"internalType":"bytes16","name":"","type":"bytes16"}]},{"inputs":[{"internalType":"bytes","name":"args","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"install"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"installRoot"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"getName()":{"details":"Provides a way to identify the module by a unique name.","returns":{"_0":"The name of the module as a bytes16."}},"install(bytes)":{"details":"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.","params":{"args":"Arguments that may be needed during the installation process."}},"supportsInterface(bytes4)":{"details":"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.","params":{"interfaceId":"The bytes4 identifier for the interface."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"getName()":{"notice":"Return the name of the module."},"install(bytes)":{"notice":"Installs the module."},"supportsInterface(bytes4)":{"notice":"Checks if the given interfaceId is supported by this contract."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/erc20-puppet/ERC20Module.sol":"ERC20Module"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb","urls":["bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4","dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558","urls":["bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4","dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0","urls":["bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba","dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd","urls":["bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18","dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf","urls":["bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2","dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827","urls":["bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0","dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5","urls":["bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a","dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212","urls":["bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc","dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f","urls":["bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d","dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e","urls":["bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e","dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37","urls":["bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac","dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f","urls":["bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115","dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b","urls":["bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1","dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7","urls":["bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5","dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb","urls":["bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0","dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed","urls":["bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d","dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401","urls":["bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3","dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32","urls":["bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c","dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x130f0925a5bf4f732ef9758b47eca18c77d1bb34546ea9463321e9df766435a1","urls":["bzz-raw://68767e3db6fd6538a4577a1c30fe03e05bf9d316cdd43a66657e93c008b76f45","dweb:/ipfs/QmSZmUBSfhk3v5gNu5GgwcYuWbb1FFDKYpDKvpXVahfyTw"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180","urls":["bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534","dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416","urls":["bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7","dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3","urls":["bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6","dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e","urls":["bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5","dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789","urls":["bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751","dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14","urls":["bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95","dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb","urls":["bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a","dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076","urls":["bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793","dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"],"license":"MIT"},"node_modules/@latticexyz/store/src/leftMask.sol":{"keccak256":"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f","urls":["bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401","dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5","urls":["bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81","dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2","urls":["bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84","dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04","urls":["bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1","dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d","urls":["bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49","dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b","urls":["bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256","dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c","urls":["bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491","dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0xebe8f1d4a86bcd052afe19773cc5b48da49a7742033c2cc6f06c17a20be907b9","urls":["bzz-raw://20dd17dc78d0aff086ae0b80823cdc8544cdef4b545ec58303a1a8ef19c5372c","dweb:/ipfs/QmdTBo4xSMEQAQoae5o2L2DB7yGBv9TmzZwR3LmUjynEY9"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553","urls":["bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d","dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581","urls":["bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883","dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db","urls":["bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510","dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500","urls":["bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d","dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7","urls":["bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83","dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb","urls":["bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c","dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719","urls":["bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5","dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd","urls":["bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd","dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a","urls":["bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518","dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417","urls":["bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb","dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593","urls":["bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255","dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55","urls":["bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5","dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc","urls":["bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8","dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97","urls":["bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8","dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol":{"keccak256":"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57","urls":["bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b","dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263","urls":["bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0","dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62","urls":["bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad","dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c","urls":["bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198","dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff"],"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/SystemRegistry.sol":{"keccak256":"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d","urls":["bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae","dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9","urls":["bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1","dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588","urls":["bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218","dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/types.sol":{"keccak256":"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a","urls":["bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3","dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55","urls":["bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df","dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746","urls":["bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2","dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"],"license":"MIT"},"src/modules/erc20-puppet/ERC20Module.sol":{"keccak256":"0xd228562b1974e15d04903262356d5e472001997d8f85f7ee82ac94bc55c2d453","urls":["bzz-raw://792dcc71b19aceb3da51c3a3ed14976b01555e12719e7b53f39823a7ab13d4e6","dweb:/ipfs/QmYJDNxECGAMUCPKLiVSvz61a6sdXSPt3iK1UwzpkQpaoR"],"license":"MIT"},"src/modules/erc20-puppet/ERC20System.sol":{"keccak256":"0xb84141880fce305b424d3aaa48c7c813f5b2cf8b6140781917ae59b2a2dde154","urls":["bzz-raw://fc6168e5757f5383c7f5113d25e9c8f61b482c103dd72c0409e6c53e0b008d85","dweb:/ipfs/QmSF74y8miTyvz1SvgXsxZSmnTBUcspqfc5HQzQB2CfVot"],"license":"MIT"},"src/modules/erc20-puppet/IERC20.sol":{"keccak256":"0x9526a245dd9b2527be8ce0304869de8b6b3fa5ce5c4a9878ae4c164eb048b75a","urls":["bzz-raw://7bf0ce8ec02dfbded17da925a23e8ee7c9dc99ad4c42a1d3a3f6954ee363d2a9","dweb:/ipfs/QmWSjpZDkdvvemfpPa7zvHbGHp15xeeAQDNPUvyepPcdvS"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Errors.sol":{"keccak256":"0xe9614a529c1886f58a9346c5e23d588729b8358876cdaaa1e02c05aedb49d1e3","urls":["bzz-raw://d6da79a2b8813b856be2532bf2a4108703bc438a0d899e72a13113e624e3cf6b","dweb:/ipfs/QmXm41JU4yapHaDDjuExTKgpX2FdDNmyDQgvGwK7Qv9PE6"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Events.sol":{"keccak256":"0x22b66b1bc5609d9be78150221ff0ecc85fe22c39dad6ac9a02aef4fc7347296d","urls":["bzz-raw://13bfceb7a6e7869f16cf9f3046308b834b0d64bffcd55828cd12edab0efa8e5f","dweb:/ipfs/QmVPXYHx9MszicYsovZrwmafe1zv9amAuX4qpvzYdcufj5"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Mintable.sol":{"keccak256":"0x1f17e23ada0ab60edb2d70322f6317832167ab261825fc9cc8c22fed4fdf167f","urls":["bzz-raw://66f4ed9a5449dea5585a91c846bfd25a4af400e86d55d3646177a147d3f7d205","dweb:/ipfs/Qmc2Yxm9HEvRepmNdgRxN1zvvq8SxbDfJ5zA8WorooiH6E"],"license":"MIT"},"src/modules/erc20-puppet/constants.sol":{"keccak256":"0xbc3dceef68daf66c30b51387398268598b85442f85b5d6a2100a882518036889","urls":["bzz-raw://085db7a1d6d673b76b5a66c3da6828ba45e104cf64a36707d671f21710cf1c7b","dweb:/ipfs/QmVsPmdFTCZnBckz2RLSQZ43mK3LUBDu26WRHtiXTs4fsk"],"license":"MIT"},"src/modules/erc20-puppet/tables/Allowances.sol":{"keccak256":"0x701b2f518f8702cb41c924c4ac4bd64a5fe2ad470a7639f1163428bd83305b74","urls":["bzz-raw://41844112f540ef1a0e15a578810bb5b7f1cfb2036ddd4867bcba7e453b1c3768","dweb:/ipfs/QmQnLcXDE3T9mCTJbGVp6CTjNgXbEcWBa92hiGtitahszo"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Metadata.sol":{"keccak256":"0x17618ef023cb4d1fa9e53b183bc0e796b3042ca0dab69544e2044997e8f71253","urls":["bzz-raw://103799676aa6d5fbe321d6fdd83de10f8ba670fc98b2cf62b40eaae07f9abbee","dweb:/ipfs/QmNs9JYUd4ThSnFMwFHHXoAinCGbBSPMvH2bz4tUFTfQ51"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Registry.sol":{"keccak256":"0xd84e88798b32ca0a8d5321b832262f4aaf74fe2cb28a0bb1073d17f4fe3b649e","urls":["bzz-raw://ac87a8c584663f797aaedfa76fccf0641e1db326e276a602746147eb84419ab7","dweb:/ipfs/Qmdjcr9mEoZ5RDDyaHjZcysaimsocLmDmPiRXxD3YtbiEM"],"license":"MIT"},"src/modules/erc20-puppet/tables/TotalSupply.sol":{"keccak256":"0xebbf33ab9020c92e18035eea0992ad2bd058735d1c5b14e381c79e917043e385","urls":["bzz-raw://26de448ed8a278775618b215248ac0cb603f6828efc0f562f6a7e3460e6c8a7b","dweb:/ipfs/Qmcd3gJAvDCrWRQK3fT5yhXRN17c5suJBkyJzRdAQ6Xbn9"],"license":"MIT"},"src/modules/erc20-puppet/utils.sol":{"keccak256":"0x745e5260697e8c0f962c8d72fadeb4e47fc59e57c26f67f4f3b94fc118b19ce4","urls":["bzz-raw://3282e8b0947abd80491027e7fc347466b5e0bf737148001cdd492de45c0aa14e","dweb:/ipfs/QmNx7zvfz8ThSLdypvBeJUFCpTBKJnRCKrYZBaqAbac8nN"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x8933512836ec527a90f1fd44cf01870b302cd5f080d1dc9f64ea11c41e46d2ab","urls":["bzz-raw://854b7887821c26da985de13e8fb476bd8bd52c411284793789d19d34d9112f3b","dweb:/ipfs/QmcHweSL5z6Mwro4dm4sLnzy7WmzdZud5yW7KQ36mnZTYD"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0x8ba3488fee9e5503fa77b39609cfa2eed78be87636ada50e99094b0edc5a79e0","urls":["bzz-raw://08214be4e0315011bb8c675c955f560865687d9129be342ab420bbb5d123f37b","dweb:/ipfs/QmXFbsptKuD6fxKhhb7FatDBRE4seDnmefNB2WG6MEHHmW"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0x47fc8ab186eba9b965c8cde4ff814eb9973302cbe1de6ee96f4539b62278fd85","urls":["bzz-raw://04eb1f7b3d964cefef88285546dbcbdc4f1c4e03d2364d37cdda5c79f9d9bb5a","dweb:/ipfs/QmddEmBYqWtnd63FCZgnHz2ukk1ZFTwLv2bMkVYwsXTG5t"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0x7f94270573d344a1aea188e3920acab0f6c3befe9e7f27a1759df091f73db9e5","urls":["bzz-raw://fc35076fb222a6e77a6968ef62856db69c4bb757f83f9849fe6abd8bb983002f","dweb:/ipfs/QmVKRXYS1Xj1ckMZg6i9XPp8LbE4BXR8GL2XBfiFvnPnk9"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0xb5379ef41cc6ab6a27bc8bee21f73094ecccd7af0b54e61bf7180b04dd828207","urls":["bzz-raw://7edb00d3c48110499790cc93573b3d4e7626a7d56c7243a57d0cbe2b1b86d449","dweb:/ipfs/QmU9c1n3vftuRM4WjSmBhodZvSKwfovvzakdre2AYQTrur"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x3ec80fa8b953772490089a2ec073109f4e06bdcb12ddc4f6501384340f64232e","urls":["bzz-raw://93ecfe683e78efc41c21ed5be647cb4654ccdbf38f8ef4358067f87b39dc997c","dweb:/ipfs/QmTrt6U6BnykBBJqVmHQkgAxEcqZ6X5LHDQZgWVGVPR1X3"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0xe746e9170bee8f229554971e2ebdeda0ac4b4d342f92c711a9c22882c0ebe4f4","urls":["bzz-raw://8e8ba2b16545929f480da8b5d6980fe5f92bb87b7b09178b5236aeede72a7436","dweb:/ipfs/QmUT9HGrXJB1jiyFW14kqGGGb8v86w2UscWuzWWfcmPTuE"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x725bf79655d814b0b04e2f64a8eb3a01dbd87cebf6c9674fb656363cc72c6e66","urls":["bzz-raw://6efcc323f7cdf8e0d284dafe714f9dd922d63c747e9a34d6e71473943b50805c","dweb:/ipfs/QmcxA7uqyhAV7m3svQstVhsjvLYbcgUq1nQCk7vqACAsQf"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0x1a5efec938f8f444e25499f55c11782e2f8425ecb4bb7642b3e4d89ef5c94283","urls":["bzz-raw://b8cc1696ae88061b5b469111ee6bd4c25919756d3c85e2830a92dd7a344bda8d","dweb:/ipfs/QmNZKrU7NkRHmvvm98kaLYFusEmH3e7sJdCwciuUWzCCxe"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0xb31878bda3f249c941719f6aa743bc739701418ed3effd2b5e6b4f28219e3f88","urls":["bzz-raw://a56bea3221f0663c35375beea4803b0d4ebc7e004828b89ef72c0cfec8e009e0","dweb:/ipfs/QmPNZig8c2ou4uZFMjotG1CGT3ZcTU2aCt3C2RTSLkx3w8"],"license":"MIT"}},"version":1},"id":122}
|