@latticexyz/world-modules 3.0.0-main-3440a86b5 → 3.0.0-main-69eb63b59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/mud.config.d.ts +364 -485
  2. package/out/AccessControl.sol/AccessControl.json +1 -1
  3. package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
  4. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  5. package/out/AddressArray.sol/AddressArray.json +1 -1
  6. package/out/Allowances.sol/Allowances.json +1 -1
  7. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  8. package/out/Balances.sol/Balances.json +1 -1
  9. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  10. package/out/Bool.sol/Bool.json +1 -1
  11. package/out/CallWithSignatureModule.t.sol/Unstable_CallWithSignatureModuleTest.json +1 -1
  12. package/out/CallWithSignatureNonces.sol/CallWithSignatureNonces.json +1 -1
  13. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  14. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  15. package/out/Delegation.sol/Delegation.json +1 -1
  16. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  17. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  18. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  19. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  20. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  21. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  22. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  23. package/out/ERC20System.sol/ERC20System.json +1 -1
  24. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  25. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  26. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  27. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  28. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  29. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  30. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  31. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  32. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  33. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  34. package/out/ERC721System.sol/ERC721System.json +1 -1
  35. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  36. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  37. package/out/Hook.sol/HookInstance.json +1 -1
  38. package/out/Hook.sol/HookLib.json +1 -1
  39. package/out/Hooks.sol/Hooks.json +1 -1
  40. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
  41. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  42. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
  43. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
  44. package/out/IWorld.sol/IWorld.json +1 -1
  45. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  46. package/out/InitModule.sol/InitModule.json +1 -1
  47. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  48. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  49. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  50. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  51. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  52. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  53. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  54. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  55. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  56. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  57. package/out/Module.sol/Module.json +1 -1
  58. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  59. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  60. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  61. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  62. package/out/Owners.sol/Owners.json +1 -1
  63. package/out/Puppet.sol/Puppet.json +1 -1
  64. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  65. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  66. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  67. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  68. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  69. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  70. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  71. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  72. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  73. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  74. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  75. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  76. package/out/StoreCore.sol/StoreCore.json +1 -1
  77. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  78. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  79. package/out/StoreKernel.sol/StoreKernel.json +1 -1
  80. package/out/StoreRead.sol/StoreRead.json +1 -1
  81. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  82. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  83. package/out/System.sol/System.json +1 -1
  84. package/out/SystemCall.sol/SystemCall.json +1 -1
  85. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  86. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  87. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  88. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  89. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  90. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  91. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  92. package/out/Systems.sol/Systems.json +1 -1
  93. package/out/Tables.sol/Tables.json +1 -1
  94. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  95. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  96. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  97. package/out/TokenURI.sol/TokenURI.json +1 -1
  98. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  99. package/out/TwoFields.sol/TwoFields.json +1 -1
  100. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  101. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  102. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  103. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  104. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  105. package/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json +1 -1
  106. package/out/Unstable_CallWithSignatureSystem.sol/Unstable_CallWithSignatureSystem.json +1 -1
  107. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  108. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  109. package/out/World.sol/World.json +1 -1
  110. package/out/World.t.sol/EchoSystemHook.json +1 -1
  111. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  112. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  113. package/out/World.t.sol/RevertSystemHook.json +1 -1
  114. package/out/World.t.sol/WorldTest.json +1 -1
  115. package/out/World.t.sol/WorldTestSystem.json +1 -1
  116. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  117. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  118. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  119. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  120. package/out/build-info/{d124ec78488e616c9174ecbe10ecd017.json → 8fbdca985baae8f468de7defa17de7fb.json} +1 -1
  121. package/out/query.t.sol/QueryTest.json +1 -1
  122. package/out/tables/Balances.sol/Balances.json +1 -1
  123. package/package.json +9 -9
@@ -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":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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":"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b50608051615828620000316000396000610bdb01526158286000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80636548a90a116100b2578063b29e408911610081578063cdc938c511610066578063cdc938c514610295578063d5f8337f146102a8578063e1af802c146102bb57600080fd5b8063b29e40891461026f578063bfdfaff71461028257600080fd5b80636548a90a146102235780638da798da14610236578063a92813ad14610249578063aa66e9c81461025c57600080fd5b80631d2257ba116101095780633350b6a9116100ee5780633350b6a9146101ea57806345ec9354146101fd578063530f4b601461021057600080fd5b80631d2257ba146101ab57806326d98102146101be57600080fd5b806301ffc9a71461013b57806305609129146101635780630ba51f4914610178578063119df25f1461018b575b600080fd5b61014e610149366004614c75565b6102c3565b60405190151581526020015b60405180910390f35b610176610171366004614cb4565b61032c565b005b610176610186366004614d30565b610353565b61019361041e565b6040516001600160a01b03909116815260200161015a565b6101766101b9366004614e7d565b61042d565b6101d16101cc366004614ed6565b61044d565b6040516001600160e01b0319909116815260200161015a565b6101766101f8366004614f1d565b6105a3565b604051601f19360135815260200161015a565b61017661021e366004614f75565b61071e565b6101d1610231366004614fb3565b61078a565b610176610244366004615016565b610865565b610176610257366004614cb4565b610927565b61017661026a366004615050565b610966565b61017661027d366004615050565b610998565b610176610290366004615069565b610a2d565b6101766102a33660046150a3565b610aed565b6101766102b6366004614f75565b610b06565b610193610bc7565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061032657506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610334610bd1565b6103458261034061041e565b610c35565b61034f8282610cae565b5050565b61035b610bd1565b600061036689610cd9565b6fffffffffffffffffffffffffffffffff1916036103c5578761038889610cf0565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b60405180910390fd5b6103e8616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e04565b6103f48861034061041e565b61041488888888610405888a615129565b61040f8789615129565b610e4f565b5050505050505050565b60006104286112b0565b905090565b610435610bd1565b61044861044061041e565b8484846112e2565b505050565b6000610457610bd1565b61737960f01b836001600160f01b031916146104b25761737960f01b8361047d85610cf0565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103bc939291906151af565b6104bb83610e04565b6104c78361034061041e565b60006104f06104d68560101b90565b71ffffffffffffffffffffffffffffffffffff191661133f565b9050600081846040516020016105079291906151d8565b604051602081830303815290604052905080805190602001209250600061052d846113c9565b90508015610573576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103bc565b84516020860120610585858883611479565b61058f8187611544565b6105998584611544565b5050505092915050565b6105ab610bd1565b61737960f01b836001600160f01b031916146105d15761737960f01b8361047d85610cf0565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b176105f581610e04565b6106018161034061041e565b61062b837fb5dee1270000000000000000000000000000000000000000000000000000000061160d565b600061063685610cd9565b6fffffffffffffffffffffffffffffffff191603610658578361038885610cf0565b600061066384611668565b905080158015906106745750848114155b156106b6576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103bc565b60006106c1866116ed565b90506001600160a01b038116156106ea576106db81611789565b6106e58382611808565b6106f5565b6106f58660016118a6565b610700868686611947565b61070a85876119ea565b61071683866001611a92565b505050505050565b610726610bd1565b610750827f1873396a0000000000000000000000000000000000000000000000000000000061160d565b610773616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e04565b61077f8361034061041e565b610448838383611b41565b6000610794610bd1565b60408051616e7360f01b602082015260006022820181905260308201526107d691016040516020818303038152906040526107ce90615230565b61034061041e565b8280519060200120905060008280519060200120905060006107f7836113c9565b9050801561083d576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319841660048201526024016103bc565b610848838784611479565b6108528285611544565b61085c8386611544565b50509392505050565b61086d610bd1565b610897827f6fdd1c800000000000000000000000000000000000000000000000000000000061160d565b6109136108a261041e565b600084846040516024016108b69190615254565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611c04565b5061034f8282805190602001206001611c31565b61092f610bd1565b61093b8261034061041e565b61034f7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611ce0565b61096e610bd1565b61097781611df3565b61098081610e04565b61098c8161034061041e565b61099581611e24565b50565b6109a0610bd1565b6109a981611df3565b6109b281611e8f565b6109bb81612081565b156109fe57806109ca82610cf0565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b610a098160016118a6565b610a1a81610a1561041e565b612106565b61099581610a2661041e565b6001611a92565b610a35610bd1565b610a3e83611df3565b610a47826121d0565b610a7d576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a898361034061041e565b6000610a94836116ed565b9050610ac0817f1a86b5500000000000000000000000000000000000000000000000000000000061160d565b610aca84846121ec565b815115610ae757610ae5610adc61041e565b8484600061226b565b505b50505050565b610af5610bd1565b610995610b0061041e565b8261227c565b610b0e610bd1565b61737960f01b836001600160f01b03191614610b345761737960f01b8361047d85610cf0565b610b5e827f540fbfa80000000000000000000000000000000000000000000000000000000061160d565b610b6783610e04565b610b8a616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e04565b610b968361034061041e565b610448836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b161761231e565b60006104286123c3565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c33576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610c62616e7360f01b6dffffffffffffffffffffffffffff60801b8516176123cd565b6001600160a01b03161461034f57610c7982610cf0565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103bc929190615267565b61034f7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611ce0565b6000610ce7607060106152a8565b9190911b919050565b606081601081901b6000610d0383610cd9565b90508271ffffffffffffffffffffffffffffffffffff19831615610d4457610d3f71ffffffffffffffffffffffffffffffffffff19841661133f565b610d7b565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610da257610d9d8361133f565b610dd9565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610deb939291906152bb565b6040516020818303038152906040529350505050919050565b610e0d81612081565b6109955780610e1b82610cf0565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b613a3160f11b866001600160f01b03191614801590610e7d5750611bdd60f21b866001600160f01b03191614155b15610ede57613a3160f11b8687604051602001610e9c91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103bc9392916004016151af565b610ee78561245e565b610ef28460016126a5565b610efd8360006126a5565b60e084901c60e885901c0160ff16825114610f5d5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff16815114610fbd5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110355760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b61103e85612841565b61104784612841565b146110995761105585612841565b61105e84612841565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b6110a285612873565b6110ab84612873565b146110fd576110b985612873565b6110c284612873565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60005b61110986612841565b8110156111a45761113361111d8583612890565b60c581111561112e5761112e615331565b6128b8565b6008601b8390030287901c60ff161461119c576008601b8290030286901c60ff1661116161111d8684612890565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b600101611100565b5060006111ce613a3160f11b6111ba8960101b90565b60101c6001600160f01b0319919091161790565b905060006111e5611bdd60f21b6111ba8a60101b90565b90506111f082612081565b806111ff57506111ff81612081565b1561125957878860405160200161121891815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103bc9291600401615110565b6112a588888888886040516020016112719190615347565b604051602081830303815290604052886040516020016112919190615347565b604051602081830303815290604052612918565b6104148860016118a6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112df5750335b90565b6112ed8484846129df565b6112f6826121d0565b15610ae7576000611306836116ed565b9050611332817f1a86b5500000000000000000000000000000000000000000000000000000000061160d565b610716858484600061226b565b606060005b6010811015611395576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561139557600101611344565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611421576114216153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612a95565b60006114858383612acb565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106114e3576114e36153c9565b602090810291909101015261153b7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612b0a565b50505050505050565b6060600061155183612e10565b9050600061155e84612e20565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115b7576115b76153c9565b60209081029190910101526107167f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612b0a565b6116178282612e49565b61034f576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103bc565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106116ad576116ad6153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612a95565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611726576117266153c9565b6020908102919091010152600061177e7f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612a95565b60601c949350505050565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106117cb576117cb6153c9565b602090810291909101015261034f7f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b612e65565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061183d5761183d6153c9565b602002602001018181525050816001600160a01b031660001b81600181518110611869576118696153c9565b60209081029190910101526104487f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b612e65565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106118dc576118dc6153c9565b6020026020010181815250506104487f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161192a91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b613131565b60006119538383613146565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611992576119926153c9565b602090810291909101015261153b7f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612b0a565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611a2c57611a2c6153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001611a7591815260200190565b60408051601f19818403018152919052630100080160dd1b613131565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611ac757611ac76153c9565b602002602001018181525050826001600160a01b031660001b81600181518110611af357611af36153c9565b602002602001018181525050610ae77f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161192a91151560f81b815260010190565b613a3160f11b836001600160f01b03191614611b7157613a3160f11b8384604051602001610e9c91815260200190565b611b7a83612081565b611bd3578283604051602001611b9291815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103bc9291600401615110565b610448836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613176565b6060600080611c158787878761321b565b9150915081611c2757611c2781613293565b9695505050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c7257611c726153c9565b6020026020010181815250508281600181518110611c9257611c926153c9565b602002602001018181525050610ae77f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b8260008560405160200161192a91151560f81b815260010190565b6000611cec848461329b565b90506000815167ffffffffffffffff811115611d0a57611d0a614dc6565b604051908082528060200260200182016040528015611d33578160200160208202803683370190505b5090506000805b8351811015611de457846001600160a01b0316611d7e858381518110611d6257611d626153c9565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611ddc57838181518110611d9e57611d9e6153c9565b6020026020010151838381518110611db857611db86153c9565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611d3a565b50808252610716868684613306565b616e7360f01b6dffffffffffffffffffffffffffff60801b821617811461099557616e7360f01b8161047d83610cf0565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611e5a57611e5a6153c9565b602090810291909101015261034f7f7462776f726c640000000000000000004e616d65737061636544656c656761748261335d565b6000611e9b8260101b90565b90506000611ebd71ffffffffffffffffffffffffffffffffffff19831661133f565b80519091508015610ae757611edf82611ed76001846153df565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611f70576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103bc565b60005b611f7e6001836153df565b811015610ae557602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f0000000000000000000000000000000000000000000000000000000000000014801561202b5750611fe683611ed78360016152a8565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b15612079576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103bc565b600101611f73565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106120ba576120ba6153c9565b602090810291909101015260006120fa7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612a95565b90506113c18160f81c90565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061213c5761213c6153c9565b6020026020010181815250506104487f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b8260008560405160200161219b919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000613131565b6000811515801561032657506121e5826133f8565b1592915050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612222576122226153c9565b6020026020010181815250506104487f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001611a7591815260200190565b6060600080611c1587878787613458565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106122bd576122bd6153c9565b602002602001018181525050816001600160a01b031660001b816001815181106122e9576122e96153c9565b60209081029190910101526104487f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261335d565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612354576123546153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b826000856040516020016123af91906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613628565b60006104286136d9565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612406576124066153c9565b6020908102919091010152600061177e7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612a95565b80612495576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006124a082612873565b905060058111156124e7576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103bc565b60006124f283612841565b9050600061250083836152a8565b9050601c811115612547576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103bc565b6000805b838110156125f25760ff601b82900360080287901c16600081900361259f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b60208111156125dd576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b6125e781846152a8565b92505060010161254b565b506125fc85613718565b81146126485761260b85613718565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103bc565b825b601c8110156107165760ff601b82900360080287901c16801561269c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b5060010161264a565b801580156126b1575081155b156126d25760405163d498615960e01b8152600060048201526024016103bc565b60006126dd83612873565b905060058111156127045760405163d498615960e01b8152600481018290526024016103bc565b600061270f84612841565b9050600061271d83836152a8565b9050601c8111156127445760405163d498615960e01b8152600481018290526024016103bc565b6000805b838110156127b057600061275f61111d8984612890565b90508060000361279b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a581846152a8565b925050600101612748565b506127ba86613718565b81146127e5576127c986613718565b60405163d498615960e01b81526004016103bc91815260200190565b825b8281101561153b5760006127fe61111d8984612890565b90508015612838576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016127e7565b600060086001612853600260206153df565b61285d91906153df565b61286791906153f2565b8260ff911c1692915050565b60006008600180612886600260206153df565b61285391906153df565b6000601b8290036008028360ff911c1660c58111156128b1576128b1615331565b9392505050565b6000808260c58111156128cd576128cd615331565b60ff16905060618110156128e757601f1660010192915050565b60618360c58111156128fb576128fb615331565b036129095750601492915050565b50600092915050565b50919050565b600061292586868661373b565b905060006129338484613771565b90506000612941858561378e565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061297b5761297b6153c9565b60209081029190910101526129d37f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612b0a565b50505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110612a2057612a206153c9565b602002602001018181525050826001600160a01b031660001b81600181518110612a4c57612a4c6153c9565b602002602001018181525050610ae77f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001611a7591815260200190565b6000612ac2612aa486866137a3565b60ff858116601b0360080285901c16612abd85876137f9565b613832565b95945050505050565b60608282604051602001612af39291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612b6357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612b569493929190615445565b60405180910390a2610716565b6000612b6e87613883565b905060005b8151811015612c47576000828281518110612b9057612b906153c9565b60200260200101519050612bbc6001826affffffffffffffffffffff191661390790919063ffffffff16565b15612c3e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612c0b908c908c908c908c908c908c90600401615484565b600060405180830381600087803b158015612c2557600080fd5b505af1158015612c39573d6000803e3d6000fd5b505050505b50600101612b73565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612c7e9493929190615445565b60405180910390a26000612c9288886137a3565b90506000602087019050612caa826000895184613925565b6000612cb585612873565b1115612d39576000612cc78a8a6139e4565b878155905060208601915060008060005b612ce188612873565b8160ff161015612d3457612cf68d8d83613a3a565b9250612d118a8260ff166028026038011c64ffffffffff1690565b9150612d208360008488613925565b612d2a82866152a8565b9450600101612cd8565b505050505b60005b83518110156129d3576000848281518110612d5957612d596153c9565b60200260200101519050612d856002826affffffffffffffffffffff191661390790919063ffffffff16565b15612e07576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612dd4908e908e908e908e908e908e90600401615484565b600060405180830381600087803b158015612dee57600080fd5b505af1158015612e02573d6000803e3d6000fd5b505050505b50600101612d3c565b60006103268251603881901b1790565b606081604051602001612e3391906154dd565b6040516020818303038152906040529050919050565b6000612e5483613aba565b80156128b157506128b18383613afb565b611bdd60f21b836001600160f01b03191603612eb857827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051612eab91906154f9565b60405180910390a2505050565b6000612ec384613883565b905060005b8151811015612f96576000828281518110612ee557612ee56153c9565b60200260200101519050612f116040826affffffffffffffffffffff191661390790919063ffffffff16565b15612f8d576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612f5a9089908990899060040161550c565b600060405180830381600087803b158015612f7457600080fd5b505af1158015612f88573d6000803e3d6000fd5b505050505b50600101612ec8565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0784604051612fc791906154f9565b60405180910390a26000612fdb85856137a3565b9050613034816000612fec86613718565b67ffffffffffffffff81111561300457613004614dc6565b6040519080825280601f01601f19166020018201604052801561302e576020820181803683370190505b50613bb3565b600061303f84612873565b111561306057600061305186866139e4565b905061305e816020613bc9565b505b60005b8251811015610716576000838281518110613080576130806153c9565b602002602001015190506130ac6080826affffffffffffffffffffff191661390790919063ffffffff16565b15613128576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906130f5908a908a908a9060040161550c565b600060405180830381600087803b15801561310f57600080fd5b505af1158015613123573d6000803e3d6000fd5b505050505b50600101613063565b610ae5858561314084876137f9565b85613c06565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612af3565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106131ac576131ac6153c9565b6020026020010181815250506104487f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b8260008560405160200161320791906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613e6e565b60006060836001600160a01b03166000613236858989613ea9565b60405161324391906154dd565b60006040518083038185875af1925050503d8060008114613280576040519150601f19603f3d011682016040523d82523d6000602084013e613285565b606091505b509097909650945050505050565b805160208201fd5b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106132d5576132d56153c9565b60200260200101818152505060006132ef85836000613ec0565b9050612ac26133018260008451613efa565b613f88565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061333c5761333c6153c9565b602002602001018181525050610ae78482600061335886613f99565b613fa9565b60006133676136d9565b9050306001600160a01b03821603613383576104488383613fe4565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906133ca9086908690600401615535565b600060405180830381600087803b1580156133e457600080fd5b505af115801561153b573d6000803e3d6000fd5b6040805161737960f01b60208201526000602282018190527f756e6c696d6974656400000000000000000000000000000000000000000000006030830152910160405160208183030381529060405261345090615230565b909114919050565b60006060600061346786613ff7565b905060005b815181101561353a576000828281518110613489576134896153c9565b602002602001015190506134b56001826affffffffffffffffffffff191661390790919063ffffffff16565b15613531576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906134fe908c908c908c9060040161554e565b600060405180830381600087803b15801561351857600080fd5b505af115801561352c573d6000803e3d6000fd5b505050505b5060010161346c565b5061354787858888614069565b909350915060005b815181101561361d57600082828151811061356c5761356c6153c9565b602002602001015190506135986002826affffffffffffffffffffff191661390790919063ffffffff16565b15613614576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f99906135e1908c908c908c9060040161554e565b600060405180830381600087803b1580156135fb57600080fd5b505af115801561360f573d6000803e3d6000fd5b505050505b5060010161354f565b505094509492505050565b60006136326136d9565b9050306001600160a01b038216036136555761365085858585613e6e565b610ae5565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906136a0908890889088908890600401615576565b600060405180830381600087803b1580156136ba57600080fd5b505af11580156136ce573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680613713573391505090565b919050565b60006008613728600260206153df565b61373291906153f2565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b176128b1565b60608282604051602001612af39291906155aa565b600082826040516020016137b89291906155d9565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561382a5761382060ff601b83900360080287901c16836152a8565b91506001016137fe565b509392505050565b6000602082106138585760208204840193506020828161385457613854615615565b0691505b508254600882021b60208290038084111561382a576001850154600882021c82179150509392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106138bd576138bd6153c9565b602090810291909101015260006138f57f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613ec0565b90506113c16133018260008451613efa565b60008160ff16826139188560581c90565b1660ff1614905092915050565b821561399f576020831061394f5760208304840193506020838161394b5761394b615615565b0692505b821561399f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613990575050610ae7565b50600194909401939182900391015b5b602082106139c15780518455600190930192601f19909101906020016139a0565b8115610ae7576000600019600884021c8554835182191691161785555050505050565b600082826040516020016139f99291906155d9565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613a4f9291906155d9565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000613ae6827f01ffc9a700000000000000000000000000000000000000000000000000000000613afb565b801561032657506121e5826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613b9c575060208210155b8015613ba85750600081115b979650505050505050565b61044883838351613bc48560200190565b613925565b60006020613bd883601f6152a8565b613be2919061562b565b613bec90846152a8565b90505b808310156104485760008355600183019250613bef565b611bdd60f21b846001600160f01b03191603613c5d57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051613c509392919061564d565b60405180910390a2610ae7565b6000613c6985856137a3565b90506000613c7686613883565b905060005b8151811015613d4b576000828281518110613c9857613c986153c9565b60200260200101519050613cc46004826affffffffffffffffffffff191661390790919063ffffffff16565b15613d42576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613d0f908b908b908b908b90600401615680565b600060405180830381600087803b158015613d2957600080fd5b505af1158015613d3d573d6000803e3d6000fd5b505050505b50600101613c7b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051613d809392919061564d565b60405180910390a2613d9b828565ffffffffffff1685613bb3565b60005b815181101561153b576000828281518110613dbb57613dbb6153c9565b60200260200101519050613de76008826affffffffffffffffffffff191661390790919063ffffffff16565b15613e65576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613e32908b908b908b908b90600401615680565b600060405180830381600087803b158015613e4c57600080fd5b505af1158015613e60573d6000803e3d6000fd5b505050505b50600101613d9e565b6000613e7a858561413b565b90506000613e97828560ff166028026038011c64ffffffffff1690565b9050610716868686846000888861414e565b6060838383604051602001613759939291906156b9565b60606113c1613ed0858585613a3a565b6000613ef585613ee0898961413b565b9060ff166028026038011c64ffffffffff1690565b6144f8565b600081831180613f0a5750835182115b15613f47578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103bc939291906156f8565b60208401613f5584826152a8565b90506000613f6385856153df565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006128b1836015600061451b565b6060816128b18160156000614596565b6000613fb5858561413b565b90506000613fd2828560ff166028026038011c64ffffffffff1690565b9050610716868686600085888861414e565b61034f8282613ff2856145ea565b612e65565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110614031576140316153c9565b602090810291909101015260006138f57f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383613ec0565b600060606000806140798661466f565b90925090506001600160a01b0382166140965785610e1b87610cf0565b806140a5576140a58689614727565b86156140e9576dffffffffffffffffffffffffffff60801b8616616e7360f01b1760006140d18261473e565b90506140e6826140e18b846152a8565b6147b7565b50505b60006140f58760101b90565b71ffffffffffffffffffffffffffffffffffff1916146141205761411b8888848861321b565b61412c565b61412c88888488614836565b90999098509650505050505050565b60006128b161414a84846139e4565b5490565b613a3160f11b876001600160f01b0319161461417e57613a3160f11b8788604051602001610e9c91815260200190565b6000614199828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836141b291906153df565b6141bc91906152a8565b90508082141580156141de5750816141d4868861571d565b64ffffffffff1614155b1561422e576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103bc565b818664ffffffffff16111561427f576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103bc565b600061428c848984614897565b905060006142998b613883565b905060005b81518110156143645760008282815181106142bb576142bb6153c9565b602002602001015190506142e76010826affffffffffffffffffffff191661390790919063ffffffff16565b1561435b57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016143289796959493929190615742565b600060405180830381600087803b15801561434257600080fd5b505af1158015614356573d6000803e3d6000fd5b505050505b5060010161429e565b5064ffffffffff881660005b8a60ff168160ff1610156143a357614397878260ff166028026038011c64ffffffffff1690565b90910190600101614370565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516143de969594939291906157a0565b60405180910390a2508284146143ff5760006143fa8c8c6139e4565b839055505b600061440c8c8c8c613a3a565b9050614420818a64ffffffffff1689613bb3565b5060005b81518110156144ea576000828281518110614441576144416153c9565b6020026020010151905061446d6020826affffffffffffffffffffff191661390790919063ffffffff16565b156144e157606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016144ae9796959493929190615742565b600060405180830381600087803b1580156144c857600080fd5b505af11580156144dc573d6000803e3d6000fd5b505050505b50600101614424565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261382a85858584614965565b606060006145298560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161454f5761454f615615565b04905060405193506020840160208202810160405281855260005b8281101561458a578451871c82529387019360209091019060010161456a565b50505050509392505050565b825160609060006145a785836153f2565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561458a578051871b835291870191600191909101906020016145c9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161463957507e60030220202000000000000000000000000000000000000000000000000000919050565b6103266146667f746273746f72650000000000000000005461626c65730000000000000000000084614a31565b60206000613832565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106146a9576146a96153c9565b6020908102919091010152600080806147027f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614a4d565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6147318282614b55565b61034f57610c7982610cf0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110614777576147776153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612a95565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106147ed576147ed6153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001611a7591815260200190565b60006060836001600160a01b031661484f848888613ea9565b60405161485c91906154dd565b600060405180830381855af49150503d8060008114613280576040519150601f19603f3d011682016040523d82523d6000602084013e613285565b600064ffffffffff8211156148db576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff1680851061490d5780850382019150614915565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156149ec576020831061498f5760208304840193506020838161498b5761498b615615565b0692505b82156149ec5760208390036000818410156149b25750600019600884021c6149bc565b50600019600882021c5b8554600886021b8184511682198216178452508184116149dd575050610ae7565b50600194909401939182900391015b5b60208210614a0e5783548152600190930192601f19909101906020016149ed565b8115610ae7576000600019600884021c8251865482191691161782525050505050565b60408051602081018490529081018290526000906060016137b8565b6060600060606000614a5e85613718565b9050614a6b878783614b8b565b93506000614a7886612873565b90508015614b4a57614a8a888861413b565b935066ffffffffffffff841667ffffffffffffffff811115614aae57614aae614dc6565b6040519080825280601f01601f191660200182016040528015614ad8576020820181803683370190505b5092506020830160005b828160ff161015614b47576000614afa8b8b84613a3a565b90506000614b17888460ff166028026038011c64ffffffffff1690565b9050614b268260008387614965565b614b3081856152a8565b935050508080614b3f906157fc565b915050614ae2565b50505b505093509350939050565b6000614b7b616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614bc4565b806128b157506128b18383614bc4565b606081600003614baa57506040805160208101909152600081526128b1565b6000614bb685856137a3565b9050612ac2816000856144f8565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614bfd57614bfd6153c9565b602002602001018181525050826001600160a01b031660001b81600181518110614c2957614c296153c9565b60209081029190910101526000614c697f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612a95565b9050612ac28160f81c90565b600060208284031215614c8757600080fd5b81356001600160e01b0319811681146128b157600080fd5b6001600160a01b038116811461099557600080fd5b60008060408385031215614cc757600080fd5b823591506020830135614cd981614c9f565b809150509250929050565b60008083601f840112614cf657600080fd5b50813567ffffffffffffffff811115614d0e57600080fd5b6020830191508360208260051b8501011115614d2957600080fd5b9250929050565b60008060008060008060008060c0898b031215614d4c57600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614d8057600080fd5b614d8c8c838d01614ce4565b909650945060a08b0135915080821115614da557600080fd5b50614db28b828c01614ce4565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614e0557614e05614dc6565b604052919050565b600082601f830112614e1e57600080fd5b813567ffffffffffffffff811115614e3857614e38614dc6565b614e4b6020601f19601f84011601614ddc565b818152846020838601011115614e6057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614e9257600080fd5b8335614e9d81614c9f565b925060208401359150604084013567ffffffffffffffff811115614ec057600080fd5b614ecc86828701614e0d565b9150509250925092565b60008060408385031215614ee957600080fd5b82359150602083013567ffffffffffffffff811115614f0757600080fd5b614f1385828601614e0d565b9150509250929050565b600080600060608486031215614f3257600080fd5b833592506020840135614f4481614c9f565b915060408401358015158114614f5957600080fd5b809150509250925092565b803560ff8116811461371357600080fd5b600080600060608486031215614f8a57600080fd5b833592506020840135614f9c81614c9f565b9150614faa60408501614f64565b90509250925092565b600080600060608486031215614fc857600080fd5b83359250602084013567ffffffffffffffff80821115614fe757600080fd5b614ff387838801614e0d565b9350604086013591508082111561500957600080fd5b50614ecc86828701614e0d565b6000806040838503121561502957600080fd5b823561503481614c9f565b9150602083013567ffffffffffffffff811115614f0757600080fd5b60006020828403121561506257600080fd5b5035919050565b60008060006060848603121561507e57600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614ec057600080fd5b6000602082840312156150b557600080fd5b81356128b181614c9f565b60005b838110156150db5781810151838201526020016150c3565b50506000910152565b600081518084526150fc8160208601602086016150c0565b601f01601f19169290920160200192915050565b8281526040602082015260006113c160408301846150e4565b600067ffffffffffffffff8084111561514457615144614dc6565b8360051b602061515660208301614ddc565b8681529185019160208101903684111561516f57600080fd5b865b848110156151a3578035868111156151895760008081fd5b61519536828b01614e0d565b845250918301918301615171565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612ac260608301846150e4565b600083516151ea8184602088016150c0565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516152248160028401602088016150c0565b01600201949350505050565b805160208083015191908110156129125760001960209190910360031b1b16919050565b6020815260006128b160208301846150e4565b60408152600061527a60408301856150e4565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032657610326615292565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516153048160038601602089016150c0565b8084019050816003820152845191506153248260048301602088016150c0565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156153bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526153aa8583516150e4565b94509285019290850190600101615370565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561032657610326615292565b808202811582820484141761032657610326615292565b60008151808452602080850194506020840160005b8381101561543a5781518752958201959082019060010161541e565b509495945050505050565b6080815260006154586080830187615409565b828103602084015261546a81876150e4565b90508460408401528281036060840152613ba881856150e4565b86815260c06020820152600061549d60c0830188615409565b82810360408401526154af81886150e4565b905085606084015282810360808401526154c981866150e4565b9150508260a0830152979650505050505050565b600082516154ef8184602087016150c0565b9190910192915050565b6020815260006128b16020830184615409565b8381526060602082015260006155256060830185615409565b9050826040830152949350505050565b8281526040602082015260006113c16040830184615409565b6001600160a01b0384168152826020820152606060408201526000612ac260608301846150e4565b84815260806020820152600061558f6080830186615409565b60ff851660408401528281036060840152613ba881856150e4565b600083516155bc8184602088016150c0565b8351908301906155d08183602088016150c0565b01949350505050565b8281526000602080830184516020860160005b82811015615608578151845292840192908401906001016155ec565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261564857634e487b7160e01b600052601260045260246000fd5b500490565b6060815260006156606060830186615409565b65ffffffffffff851660208401528281036040840152611c2781856150e4565b8481526080602082015260006156996080830186615409565b65ffffffffffff851660408401528281036060840152613ba881856150e4565b600084516156cb8184602089016150c0565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b60608152600061570b60608301866150e4565b60208301949094525060400152919050565b64ffffffffff81811683821601908082111561573b5761573b615292565b5092915050565b87815260e06020820152600061575b60e0830189615409565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261579281856150e4565b9a9950505050505050505050565b60c0815260006157b360c0830189615409565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526157ef81856150e4565b9998505050505050505050565b600060ff821660ff810361581257615812615292565b6001019291505056fea164736f6c6343000818000a","sourceMap":"740:212:89:-:0;;;981:4:88;938:48;;740:212:89;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80636548a90a116100b2578063b29e408911610081578063cdc938c511610066578063cdc938c514610295578063d5f8337f146102a8578063e1af802c146102bb57600080fd5b8063b29e40891461026f578063bfdfaff71461028257600080fd5b80636548a90a146102235780638da798da14610236578063a92813ad14610249578063aa66e9c81461025c57600080fd5b80631d2257ba116101095780633350b6a9116100ee5780633350b6a9146101ea57806345ec9354146101fd578063530f4b601461021057600080fd5b80631d2257ba146101ab57806326d98102146101be57600080fd5b806301ffc9a71461013b57806305609129146101635780630ba51f4914610178578063119df25f1461018b575b600080fd5b61014e610149366004614c75565b6102c3565b60405190151581526020015b60405180910390f35b610176610171366004614cb4565b61032c565b005b610176610186366004614d30565b610353565b61019361041e565b6040516001600160a01b03909116815260200161015a565b6101766101b9366004614e7d565b61042d565b6101d16101cc366004614ed6565b61044d565b6040516001600160e01b0319909116815260200161015a565b6101766101f8366004614f1d565b6105a3565b604051601f19360135815260200161015a565b61017661021e366004614f75565b61071e565b6101d1610231366004614fb3565b61078a565b610176610244366004615016565b610865565b610176610257366004614cb4565b610927565b61017661026a366004615050565b610966565b61017661027d366004615050565b610998565b610176610290366004615069565b610a2d565b6101766102a33660046150a3565b610aed565b6101766102b6366004614f75565b610b06565b610193610bc7565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061032657506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610334610bd1565b6103458261034061041e565b610c35565b61034f8282610cae565b5050565b61035b610bd1565b600061036689610cd9565b6fffffffffffffffffffffffffffffffff1916036103c5578761038889610cf0565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b60405180910390fd5b6103e8616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e04565b6103f48861034061041e565b61041488888888610405888a615129565b61040f8789615129565b610e4f565b5050505050505050565b60006104286112b0565b905090565b610435610bd1565b61044861044061041e565b8484846112e2565b505050565b6000610457610bd1565b61737960f01b836001600160f01b031916146104b25761737960f01b8361047d85610cf0565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103bc939291906151af565b6104bb83610e04565b6104c78361034061041e565b60006104f06104d68560101b90565b71ffffffffffffffffffffffffffffffffffff191661133f565b9050600081846040516020016105079291906151d8565b604051602081830303815290604052905080805190602001209250600061052d846113c9565b90508015610573576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103bc565b84516020860120610585858883611479565b61058f8187611544565b6105998584611544565b5050505092915050565b6105ab610bd1565b61737960f01b836001600160f01b031916146105d15761737960f01b8361047d85610cf0565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b176105f581610e04565b6106018161034061041e565b61062b837fb5dee1270000000000000000000000000000000000000000000000000000000061160d565b600061063685610cd9565b6fffffffffffffffffffffffffffffffff191603610658578361038885610cf0565b600061066384611668565b905080158015906106745750848114155b156106b6576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103bc565b60006106c1866116ed565b90506001600160a01b038116156106ea576106db81611789565b6106e58382611808565b6106f5565b6106f58660016118a6565b610700868686611947565b61070a85876119ea565b61071683866001611a92565b505050505050565b610726610bd1565b610750827f1873396a0000000000000000000000000000000000000000000000000000000061160d565b610773616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e04565b61077f8361034061041e565b610448838383611b41565b6000610794610bd1565b60408051616e7360f01b602082015260006022820181905260308201526107d691016040516020818303038152906040526107ce90615230565b61034061041e565b8280519060200120905060008280519060200120905060006107f7836113c9565b9050801561083d576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319841660048201526024016103bc565b610848838784611479565b6108528285611544565b61085c8386611544565b50509392505050565b61086d610bd1565b610897827f6fdd1c800000000000000000000000000000000000000000000000000000000061160d565b6109136108a261041e565b600084846040516024016108b69190615254565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611c04565b5061034f8282805190602001206001611c31565b61092f610bd1565b61093b8261034061041e565b61034f7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611ce0565b61096e610bd1565b61097781611df3565b61098081610e04565b61098c8161034061041e565b61099581611e24565b50565b6109a0610bd1565b6109a981611df3565b6109b281611e8f565b6109bb81612081565b156109fe57806109ca82610cf0565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b610a098160016118a6565b610a1a81610a1561041e565b612106565b61099581610a2661041e565b6001611a92565b610a35610bd1565b610a3e83611df3565b610a47826121d0565b610a7d576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a898361034061041e565b6000610a94836116ed565b9050610ac0817f1a86b5500000000000000000000000000000000000000000000000000000000061160d565b610aca84846121ec565b815115610ae757610ae5610adc61041e565b8484600061226b565b505b50505050565b610af5610bd1565b610995610b0061041e565b8261227c565b610b0e610bd1565b61737960f01b836001600160f01b03191614610b345761737960f01b8361047d85610cf0565b610b5e827f540fbfa80000000000000000000000000000000000000000000000000000000061160d565b610b6783610e04565b610b8a616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e04565b610b968361034061041e565b610448836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b161761231e565b60006104286123c3565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c33576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610c62616e7360f01b6dffffffffffffffffffffffffffff60801b8516176123cd565b6001600160a01b03161461034f57610c7982610cf0565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103bc929190615267565b61034f7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611ce0565b6000610ce7607060106152a8565b9190911b919050565b606081601081901b6000610d0383610cd9565b90508271ffffffffffffffffffffffffffffffffffff19831615610d4457610d3f71ffffffffffffffffffffffffffffffffffff19841661133f565b610d7b565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610da257610d9d8361133f565b610dd9565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610deb939291906152bb565b6040516020818303038152906040529350505050919050565b610e0d81612081565b6109955780610e1b82610cf0565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b613a3160f11b866001600160f01b03191614801590610e7d5750611bdd60f21b866001600160f01b03191614155b15610ede57613a3160f11b8687604051602001610e9c91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103bc9392916004016151af565b610ee78561245e565b610ef28460016126a5565b610efd8360006126a5565b60e084901c60e885901c0160ff16825114610f5d5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff16815114610fbd5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110355760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b61103e85612841565b61104784612841565b146110995761105585612841565b61105e84612841565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b6110a285612873565b6110ab84612873565b146110fd576110b985612873565b6110c284612873565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60005b61110986612841565b8110156111a45761113361111d8583612890565b60c581111561112e5761112e615331565b6128b8565b6008601b8390030287901c60ff161461119c576008601b8290030286901c60ff1661116161111d8684612890565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b600101611100565b5060006111ce613a3160f11b6111ba8960101b90565b60101c6001600160f01b0319919091161790565b905060006111e5611bdd60f21b6111ba8a60101b90565b90506111f082612081565b806111ff57506111ff81612081565b1561125957878860405160200161121891815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103bc9291600401615110565b6112a588888888886040516020016112719190615347565b604051602081830303815290604052886040516020016112919190615347565b604051602081830303815290604052612918565b6104148860016118a6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112df5750335b90565b6112ed8484846129df565b6112f6826121d0565b15610ae7576000611306836116ed565b9050611332817f1a86b5500000000000000000000000000000000000000000000000000000000061160d565b610716858484600061226b565b606060005b6010811015611395576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561139557600101611344565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611421576114216153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612a95565b60006114858383612acb565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106114e3576114e36153c9565b602090810291909101015261153b7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612b0a565b50505050505050565b6060600061155183612e10565b9050600061155e84612e20565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115b7576115b76153c9565b60209081029190910101526107167f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612b0a565b6116178282612e49565b61034f576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103bc565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106116ad576116ad6153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612a95565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611726576117266153c9565b6020908102919091010152600061177e7f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612a95565b60601c949350505050565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106117cb576117cb6153c9565b602090810291909101015261034f7f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b612e65565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061183d5761183d6153c9565b602002602001018181525050816001600160a01b031660001b81600181518110611869576118696153c9565b60209081029190910101526104487f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b612e65565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106118dc576118dc6153c9565b6020026020010181815250506104487f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161192a91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b613131565b60006119538383613146565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611992576119926153c9565b602090810291909101015261153b7f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612b0a565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611a2c57611a2c6153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001611a7591815260200190565b60408051601f19818403018152919052630100080160dd1b613131565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611ac757611ac76153c9565b602002602001018181525050826001600160a01b031660001b81600181518110611af357611af36153c9565b602002602001018181525050610ae77f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161192a91151560f81b815260010190565b613a3160f11b836001600160f01b03191614611b7157613a3160f11b8384604051602001610e9c91815260200190565b611b7a83612081565b611bd3578283604051602001611b9291815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103bc9291600401615110565b610448836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613176565b6060600080611c158787878761321b565b9150915081611c2757611c2781613293565b9695505050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c7257611c726153c9565b6020026020010181815250508281600181518110611c9257611c926153c9565b602002602001018181525050610ae77f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b8260008560405160200161192a91151560f81b815260010190565b6000611cec848461329b565b90506000815167ffffffffffffffff811115611d0a57611d0a614dc6565b604051908082528060200260200182016040528015611d33578160200160208202803683370190505b5090506000805b8351811015611de457846001600160a01b0316611d7e858381518110611d6257611d626153c9565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611ddc57838181518110611d9e57611d9e6153c9565b6020026020010151838381518110611db857611db86153c9565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611d3a565b50808252610716868684613306565b616e7360f01b6dffffffffffffffffffffffffffff60801b821617811461099557616e7360f01b8161047d83610cf0565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611e5a57611e5a6153c9565b602090810291909101015261034f7f7462776f726c640000000000000000004e616d65737061636544656c656761748261335d565b6000611e9b8260101b90565b90506000611ebd71ffffffffffffffffffffffffffffffffffff19831661133f565b80519091508015610ae757611edf82611ed76001846153df565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611f70576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103bc565b60005b611f7e6001836153df565b811015610ae557602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f0000000000000000000000000000000000000000000000000000000000000014801561202b5750611fe683611ed78360016152a8565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b15612079576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103bc565b600101611f73565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106120ba576120ba6153c9565b602090810291909101015260006120fa7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612a95565b90506113c18160f81c90565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061213c5761213c6153c9565b6020026020010181815250506104487f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b8260008560405160200161219b919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000613131565b6000811515801561032657506121e5826133f8565b1592915050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612222576122226153c9565b6020026020010181815250506104487f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001611a7591815260200190565b6060600080611c1587878787613458565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106122bd576122bd6153c9565b602002602001018181525050816001600160a01b031660001b816001815181106122e9576122e96153c9565b60209081029190910101526104487f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261335d565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612354576123546153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b826000856040516020016123af91906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613628565b60006104286136d9565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612406576124066153c9565b6020908102919091010152600061177e7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612a95565b80612495576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006124a082612873565b905060058111156124e7576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103bc565b60006124f283612841565b9050600061250083836152a8565b9050601c811115612547576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103bc565b6000805b838110156125f25760ff601b82900360080287901c16600081900361259f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b60208111156125dd576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b6125e781846152a8565b92505060010161254b565b506125fc85613718565b81146126485761260b85613718565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103bc565b825b601c8110156107165760ff601b82900360080287901c16801561269c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b5060010161264a565b801580156126b1575081155b156126d25760405163d498615960e01b8152600060048201526024016103bc565b60006126dd83612873565b905060058111156127045760405163d498615960e01b8152600481018290526024016103bc565b600061270f84612841565b9050600061271d83836152a8565b9050601c8111156127445760405163d498615960e01b8152600481018290526024016103bc565b6000805b838110156127b057600061275f61111d8984612890565b90508060000361279b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a581846152a8565b925050600101612748565b506127ba86613718565b81146127e5576127c986613718565b60405163d498615960e01b81526004016103bc91815260200190565b825b8281101561153b5760006127fe61111d8984612890565b90508015612838576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016127e7565b600060086001612853600260206153df565b61285d91906153df565b61286791906153f2565b8260ff911c1692915050565b60006008600180612886600260206153df565b61285391906153df565b6000601b8290036008028360ff911c1660c58111156128b1576128b1615331565b9392505050565b6000808260c58111156128cd576128cd615331565b60ff16905060618110156128e757601f1660010192915050565b60618360c58111156128fb576128fb615331565b036129095750601492915050565b50600092915050565b50919050565b600061292586868661373b565b905060006129338484613771565b90506000612941858561378e565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061297b5761297b6153c9565b60209081029190910101526129d37f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612b0a565b50505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110612a2057612a206153c9565b602002602001018181525050826001600160a01b031660001b81600181518110612a4c57612a4c6153c9565b602002602001018181525050610ae77f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001611a7591815260200190565b6000612ac2612aa486866137a3565b60ff858116601b0360080285901c16612abd85876137f9565b613832565b95945050505050565b60608282604051602001612af39291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612b6357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612b569493929190615445565b60405180910390a2610716565b6000612b6e87613883565b905060005b8151811015612c47576000828281518110612b9057612b906153c9565b60200260200101519050612bbc6001826affffffffffffffffffffff191661390790919063ffffffff16565b15612c3e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612c0b908c908c908c908c908c908c90600401615484565b600060405180830381600087803b158015612c2557600080fd5b505af1158015612c39573d6000803e3d6000fd5b505050505b50600101612b73565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612c7e9493929190615445565b60405180910390a26000612c9288886137a3565b90506000602087019050612caa826000895184613925565b6000612cb585612873565b1115612d39576000612cc78a8a6139e4565b878155905060208601915060008060005b612ce188612873565b8160ff161015612d3457612cf68d8d83613a3a565b9250612d118a8260ff166028026038011c64ffffffffff1690565b9150612d208360008488613925565b612d2a82866152a8565b9450600101612cd8565b505050505b60005b83518110156129d3576000848281518110612d5957612d596153c9565b60200260200101519050612d856002826affffffffffffffffffffff191661390790919063ffffffff16565b15612e07576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612dd4908e908e908e908e908e908e90600401615484565b600060405180830381600087803b158015612dee57600080fd5b505af1158015612e02573d6000803e3d6000fd5b505050505b50600101612d3c565b60006103268251603881901b1790565b606081604051602001612e3391906154dd565b6040516020818303038152906040529050919050565b6000612e5483613aba565b80156128b157506128b18383613afb565b611bdd60f21b836001600160f01b03191603612eb857827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051612eab91906154f9565b60405180910390a2505050565b6000612ec384613883565b905060005b8151811015612f96576000828281518110612ee557612ee56153c9565b60200260200101519050612f116040826affffffffffffffffffffff191661390790919063ffffffff16565b15612f8d576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612f5a9089908990899060040161550c565b600060405180830381600087803b158015612f7457600080fd5b505af1158015612f88573d6000803e3d6000fd5b505050505b50600101612ec8565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0784604051612fc791906154f9565b60405180910390a26000612fdb85856137a3565b9050613034816000612fec86613718565b67ffffffffffffffff81111561300457613004614dc6565b6040519080825280601f01601f19166020018201604052801561302e576020820181803683370190505b50613bb3565b600061303f84612873565b111561306057600061305186866139e4565b905061305e816020613bc9565b505b60005b8251811015610716576000838281518110613080576130806153c9565b602002602001015190506130ac6080826affffffffffffffffffffff191661390790919063ffffffff16565b15613128576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906130f5908a908a908a9060040161550c565b600060405180830381600087803b15801561310f57600080fd5b505af1158015613123573d6000803e3d6000fd5b505050505b50600101613063565b610ae5858561314084876137f9565b85613c06565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612af3565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106131ac576131ac6153c9565b6020026020010181815250506104487f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b8260008560405160200161320791906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613e6e565b60006060836001600160a01b03166000613236858989613ea9565b60405161324391906154dd565b60006040518083038185875af1925050503d8060008114613280576040519150601f19603f3d011682016040523d82523d6000602084013e613285565b606091505b509097909650945050505050565b805160208201fd5b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106132d5576132d56153c9565b60200260200101818152505060006132ef85836000613ec0565b9050612ac26133018260008451613efa565b613f88565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061333c5761333c6153c9565b602002602001018181525050610ae78482600061335886613f99565b613fa9565b60006133676136d9565b9050306001600160a01b03821603613383576104488383613fe4565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906133ca9086908690600401615535565b600060405180830381600087803b1580156133e457600080fd5b505af115801561153b573d6000803e3d6000fd5b6040805161737960f01b60208201526000602282018190527f756e6c696d6974656400000000000000000000000000000000000000000000006030830152910160405160208183030381529060405261345090615230565b909114919050565b60006060600061346786613ff7565b905060005b815181101561353a576000828281518110613489576134896153c9565b602002602001015190506134b56001826affffffffffffffffffffff191661390790919063ffffffff16565b15613531576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906134fe908c908c908c9060040161554e565b600060405180830381600087803b15801561351857600080fd5b505af115801561352c573d6000803e3d6000fd5b505050505b5060010161346c565b5061354787858888614069565b909350915060005b815181101561361d57600082828151811061356c5761356c6153c9565b602002602001015190506135986002826affffffffffffffffffffff191661390790919063ffffffff16565b15613614576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f99906135e1908c908c908c9060040161554e565b600060405180830381600087803b1580156135fb57600080fd5b505af115801561360f573d6000803e3d6000fd5b505050505b5060010161354f565b505094509492505050565b60006136326136d9565b9050306001600160a01b038216036136555761365085858585613e6e565b610ae5565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906136a0908890889088908890600401615576565b600060405180830381600087803b1580156136ba57600080fd5b505af11580156136ce573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680613713573391505090565b919050565b60006008613728600260206153df565b61373291906153f2565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b176128b1565b60608282604051602001612af39291906155aa565b600082826040516020016137b89291906155d9565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561382a5761382060ff601b83900360080287901c16836152a8565b91506001016137fe565b509392505050565b6000602082106138585760208204840193506020828161385457613854615615565b0691505b508254600882021b60208290038084111561382a576001850154600882021c82179150509392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106138bd576138bd6153c9565b602090810291909101015260006138f57f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613ec0565b90506113c16133018260008451613efa565b60008160ff16826139188560581c90565b1660ff1614905092915050565b821561399f576020831061394f5760208304840193506020838161394b5761394b615615565b0692505b821561399f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613990575050610ae7565b50600194909401939182900391015b5b602082106139c15780518455600190930192601f19909101906020016139a0565b8115610ae7576000600019600884021c8554835182191691161785555050505050565b600082826040516020016139f99291906155d9565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613a4f9291906155d9565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000613ae6827f01ffc9a700000000000000000000000000000000000000000000000000000000613afb565b801561032657506121e5826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613b9c575060208210155b8015613ba85750600081115b979650505050505050565b61044883838351613bc48560200190565b613925565b60006020613bd883601f6152a8565b613be2919061562b565b613bec90846152a8565b90505b808310156104485760008355600183019250613bef565b611bdd60f21b846001600160f01b03191603613c5d57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051613c509392919061564d565b60405180910390a2610ae7565b6000613c6985856137a3565b90506000613c7686613883565b905060005b8151811015613d4b576000828281518110613c9857613c986153c9565b60200260200101519050613cc46004826affffffffffffffffffffff191661390790919063ffffffff16565b15613d42576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613d0f908b908b908b908b90600401615680565b600060405180830381600087803b158015613d2957600080fd5b505af1158015613d3d573d6000803e3d6000fd5b505050505b50600101613c7b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051613d809392919061564d565b60405180910390a2613d9b828565ffffffffffff1685613bb3565b60005b815181101561153b576000828281518110613dbb57613dbb6153c9565b60200260200101519050613de76008826affffffffffffffffffffff191661390790919063ffffffff16565b15613e65576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613e32908b908b908b908b90600401615680565b600060405180830381600087803b158015613e4c57600080fd5b505af1158015613e60573d6000803e3d6000fd5b505050505b50600101613d9e565b6000613e7a858561413b565b90506000613e97828560ff166028026038011c64ffffffffff1690565b9050610716868686846000888861414e565b6060838383604051602001613759939291906156b9565b60606113c1613ed0858585613a3a565b6000613ef585613ee0898961413b565b9060ff166028026038011c64ffffffffff1690565b6144f8565b600081831180613f0a5750835182115b15613f47578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103bc939291906156f8565b60208401613f5584826152a8565b90506000613f6385856153df565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006128b1836015600061451b565b6060816128b18160156000614596565b6000613fb5858561413b565b90506000613fd2828560ff166028026038011c64ffffffffff1690565b9050610716868686600085888861414e565b61034f8282613ff2856145ea565b612e65565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110614031576140316153c9565b602090810291909101015260006138f57f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383613ec0565b600060606000806140798661466f565b90925090506001600160a01b0382166140965785610e1b87610cf0565b806140a5576140a58689614727565b86156140e9576dffffffffffffffffffffffffffff60801b8616616e7360f01b1760006140d18261473e565b90506140e6826140e18b846152a8565b6147b7565b50505b60006140f58760101b90565b71ffffffffffffffffffffffffffffffffffff1916146141205761411b8888848861321b565b61412c565b61412c88888488614836565b90999098509650505050505050565b60006128b161414a84846139e4565b5490565b613a3160f11b876001600160f01b0319161461417e57613a3160f11b8788604051602001610e9c91815260200190565b6000614199828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836141b291906153df565b6141bc91906152a8565b90508082141580156141de5750816141d4868861571d565b64ffffffffff1614155b1561422e576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103bc565b818664ffffffffff16111561427f576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103bc565b600061428c848984614897565b905060006142998b613883565b905060005b81518110156143645760008282815181106142bb576142bb6153c9565b602002602001015190506142e76010826affffffffffffffffffffff191661390790919063ffffffff16565b1561435b57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016143289796959493929190615742565b600060405180830381600087803b15801561434257600080fd5b505af1158015614356573d6000803e3d6000fd5b505050505b5060010161429e565b5064ffffffffff881660005b8a60ff168160ff1610156143a357614397878260ff166028026038011c64ffffffffff1690565b90910190600101614370565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516143de969594939291906157a0565b60405180910390a2508284146143ff5760006143fa8c8c6139e4565b839055505b600061440c8c8c8c613a3a565b9050614420818a64ffffffffff1689613bb3565b5060005b81518110156144ea576000828281518110614441576144416153c9565b6020026020010151905061446d6020826affffffffffffffffffffff191661390790919063ffffffff16565b156144e157606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016144ae9796959493929190615742565b600060405180830381600087803b1580156144c857600080fd5b505af11580156144dc573d6000803e3d6000fd5b505050505b50600101614424565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261382a85858584614965565b606060006145298560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161454f5761454f615615565b04905060405193506020840160208202810160405281855260005b8281101561458a578451871c82529387019360209091019060010161456a565b50505050509392505050565b825160609060006145a785836153f2565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561458a578051871b835291870191600191909101906020016145c9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161463957507e60030220202000000000000000000000000000000000000000000000000000919050565b6103266146667f746273746f72650000000000000000005461626c65730000000000000000000084614a31565b60206000613832565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106146a9576146a96153c9565b6020908102919091010152600080806147027f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614a4d565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6147318282614b55565b61034f57610c7982610cf0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110614777576147776153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612a95565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106147ed576147ed6153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001611a7591815260200190565b60006060836001600160a01b031661484f848888613ea9565b60405161485c91906154dd565b600060405180830381855af49150503d8060008114613280576040519150601f19603f3d011682016040523d82523d6000602084013e613285565b600064ffffffffff8211156148db576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff1680851061490d5780850382019150614915565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156149ec576020831061498f5760208304840193506020838161498b5761498b615615565b0692505b82156149ec5760208390036000818410156149b25750600019600884021c6149bc565b50600019600882021c5b8554600886021b8184511682198216178452508184116149dd575050610ae7565b50600194909401939182900391015b5b60208210614a0e5783548152600190930192601f19909101906020016149ed565b8115610ae7576000600019600884021c8251865482191691161782525050505050565b60408051602081018490529081018290526000906060016137b8565b6060600060606000614a5e85613718565b9050614a6b878783614b8b565b93506000614a7886612873565b90508015614b4a57614a8a888861413b565b935066ffffffffffffff841667ffffffffffffffff811115614aae57614aae614dc6565b6040519080825280601f01601f191660200182016040528015614ad8576020820181803683370190505b5092506020830160005b828160ff161015614b47576000614afa8b8b84613a3a565b90506000614b17888460ff166028026038011c64ffffffffff1690565b9050614b268260008387614965565b614b3081856152a8565b935050508080614b3f906157fc565b915050614ae2565b50505b505093509350939050565b6000614b7b616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614bc4565b806128b157506128b18383614bc4565b606081600003614baa57506040805160208101909152600081526128b1565b6000614bb685856137a3565b9050612ac2816000856144f8565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614bfd57614bfd6153c9565b602002602001018181525050826001600160a01b031660001b81600181518110614c2957614c296153c9565b60209081029190910101526000614c697f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612a95565b9050612ac28160f81c90565b600060208284031215614c8757600080fd5b81356001600160e01b0319811681146128b157600080fd5b6001600160a01b038116811461099557600080fd5b60008060408385031215614cc757600080fd5b823591506020830135614cd981614c9f565b809150509250929050565b60008083601f840112614cf657600080fd5b50813567ffffffffffffffff811115614d0e57600080fd5b6020830191508360208260051b8501011115614d2957600080fd5b9250929050565b60008060008060008060008060c0898b031215614d4c57600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614d8057600080fd5b614d8c8c838d01614ce4565b909650945060a08b0135915080821115614da557600080fd5b50614db28b828c01614ce4565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614e0557614e05614dc6565b604052919050565b600082601f830112614e1e57600080fd5b813567ffffffffffffffff811115614e3857614e38614dc6565b614e4b6020601f19601f84011601614ddc565b818152846020838601011115614e6057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614e9257600080fd5b8335614e9d81614c9f565b925060208401359150604084013567ffffffffffffffff811115614ec057600080fd5b614ecc86828701614e0d565b9150509250925092565b60008060408385031215614ee957600080fd5b82359150602083013567ffffffffffffffff811115614f0757600080fd5b614f1385828601614e0d565b9150509250929050565b600080600060608486031215614f3257600080fd5b833592506020840135614f4481614c9f565b915060408401358015158114614f5957600080fd5b809150509250925092565b803560ff8116811461371357600080fd5b600080600060608486031215614f8a57600080fd5b833592506020840135614f9c81614c9f565b9150614faa60408501614f64565b90509250925092565b600080600060608486031215614fc857600080fd5b83359250602084013567ffffffffffffffff80821115614fe757600080fd5b614ff387838801614e0d565b9350604086013591508082111561500957600080fd5b50614ecc86828701614e0d565b6000806040838503121561502957600080fd5b823561503481614c9f565b9150602083013567ffffffffffffffff811115614f0757600080fd5b60006020828403121561506257600080fd5b5035919050565b60008060006060848603121561507e57600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614ec057600080fd5b6000602082840312156150b557600080fd5b81356128b181614c9f565b60005b838110156150db5781810151838201526020016150c3565b50506000910152565b600081518084526150fc8160208601602086016150c0565b601f01601f19169290920160200192915050565b8281526040602082015260006113c160408301846150e4565b600067ffffffffffffffff8084111561514457615144614dc6565b8360051b602061515660208301614ddc565b8681529185019160208101903684111561516f57600080fd5b865b848110156151a3578035868111156151895760008081fd5b61519536828b01614e0d565b845250918301918301615171565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612ac260608301846150e4565b600083516151ea8184602088016150c0565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516152248160028401602088016150c0565b01600201949350505050565b805160208083015191908110156129125760001960209190910360031b1b16919050565b6020815260006128b160208301846150e4565b60408152600061527a60408301856150e4565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032657610326615292565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516153048160038601602089016150c0565b8084019050816003820152845191506153248260048301602088016150c0565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156153bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526153aa8583516150e4565b94509285019290850190600101615370565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561032657610326615292565b808202811582820484141761032657610326615292565b60008151808452602080850194506020840160005b8381101561543a5781518752958201959082019060010161541e565b509495945050505050565b6080815260006154586080830187615409565b828103602084015261546a81876150e4565b90508460408401528281036060840152613ba881856150e4565b86815260c06020820152600061549d60c0830188615409565b82810360408401526154af81886150e4565b905085606084015282810360808401526154c981866150e4565b9150508260a0830152979650505050505050565b600082516154ef8184602087016150c0565b9190910192915050565b6020815260006128b16020830184615409565b8381526060602082015260006155256060830185615409565b9050826040830152949350505050565b8281526040602082015260006113c16040830184615409565b6001600160a01b0384168152826020820152606060408201526000612ac260608301846150e4565b84815260806020820152600061558f6080830186615409565b60ff851660408401528281036060840152613ba881856150e4565b600083516155bc8184602088016150c0565b8351908301906155d08183602088016150c0565b01949350505050565b8281526000602080830184516020860160005b82811015615608578151845292840192908401906001016155ec565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261564857634e487b7160e01b600052601260045260246000fd5b500490565b6060815260006156606060830186615409565b65ffffffffffff851660208401528281036040840152611c2781856150e4565b8481526080602082015260006156996080830186615409565b65ffffffffffff851660408401528281036060840152613ba881856150e4565b600084516156cb8184602089016150c0565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b60608152600061570b60608301866150e4565b60208301949094525060400152919050565b64ffffffffff81811683821601908082111561573b5761573b615292565b5092915050565b87815260e06020820152600061575b60e0830189615409565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261579281856150e4565b9a9950505050505050505050565b60c0815260006157b360c0830189615409565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526157ef81856150e4565b9998505050505050505050565b600060ff821660ff810361581257615812615292565b6001019291505056fea164736f6c6343000818000a","sourceMap":"740:212:89:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:64;;;;;;:::i;:::-;;:::i;:::-;;;516:14:225;;509:22;491:41;;479:2;464:18;2331:198:64;;;;;;;;4111:293:96;;;;;;:::i;:::-;;:::i;:::-;;1963:748;;;;;;:::i;:::-;;:::i;1262:113:64:-;;;:::i;:::-;;;-1:-1:-1;;;;;2850:55:225;;;2832:74;;2820:2;2805:18;1262:113:64;2686:226:225;11929:233:97;;;;;;:::i;:::-;;:::i;8438:1584::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;5197:79:225;;;5179:98;;5167:2;5152:18;8438:1584:97;5035:248:225;5867:2236:97;;;;;;:::i;:::-;;:::i;1616:110:64:-;;;-1:-1:-1;;3800:14:64;3796:25;3783:39;5982:25:225;;5970:2;5955:18;1616:110:64;5836:177:225;3174:595:96;;;;;;:::i;:::-;;:::i;10428:1171:97:-;;;;;;:::i;:::-;;:::i;1085:570:95:-;;;;;;:::i;:::-;;:::i;4801:388:97:-;;;;;;:::i;:::-;;:::i;14217:466::-;;;;;;:::i;:::-;;:::i;2595:736::-;;;;;;:::i;:::-;;:::i;12888:1145::-;;;;;;:::i;:::-;;:::i;12347:223::-;;;;;;:::i;:::-;;:::i;3635:936::-;;;;;;:::i;:::-;;:::i;1942:98:64:-;;;:::i;2331:198::-;2407:4;-1:-1:-1;;;;;;2426:54:64;;2441:39;2426:54;;:98;;-1:-1:-1;;;;;;;2484:40:64;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:64:o;4111:293:96:-;1061:20:88;:18;:20::i;:::-;4265:49:96::1;4292:7;4301:12;:10;:12::i;:::-;4265:26;:49::i;:::-;4348:51;4378:7;4387:11;4348:29;:51::i;:::-;4111:293:::0;;:::o;1963:748::-;1061:20:88;:18;:20::i;:::-;2278:9:96::1;2257:17;:7:::0;:15:::1;:17::i;:::-;-1:-1:-1::0;;2257:30:96::1;::::0;2253:110:::1;;2328:7;2337:18;:7;:16;:18::i;:::-;2304:52;;;;;;;;;;;;:::i;:::-;;;;;;;;2253:110;2415:56;-1:-1:-1::0;;;;;;2955:46:65;;2954:74;2415:30:96::1;:56::i;:::-;2533:49;2560:7;2569:12;:10;:12::i;2533:49::-;2615:91;2639:7:::0;2648:11;2661:9;2672:11;2615:91:::1;2685:8:::0;;2615:91:::1;:::i;:::-;;2695:10:::0;;2615:91:::1;:::i;:::-;:23;:91::i;:::-;1963:748:::0;;;;;;;;:::o;1262:113:64:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;11929:233:97:-;1061:20:88;:18;:20::i;:::-;12081:76:97::1;12098:12;:10;:12::i;:::-;12112:9;12123:19;12144:12;12081:16;:76::i;:::-;11929:233:::0;;;:::o;8438:1584::-;8577:28;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;8684:8:97;-1:-1:-1;;;;;;8684:37:97::1;;8680:138;;-1:-1:-1::0;;;8781:8:97::1;8791:19;:8;:17;:19::i;:::-;8738:73;;;;;;;;;;;;;:::i;8680:138::-;8861:40;8892:8;8861:30;:40::i;:::-;8955:50;8982:8;8992:12;:10;:12::i;8955:50::-;9052:29;9084:59;9119:23;:8;451:5:20::0;2637:44:65;;2539:148;9119:23:97::1;-1:-1:-1::0;;9084:59:97::1;:34;:59::i;:::-;9052:91;;9149:36;9202:15;9225:23;9188:61;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9149:100;;9302:22;9286:40;;;;;;9255:72;;9393:27;9423:53;9454:21;9423:30;:53::i;:::-;9393:83:::0;-1:-1:-1;9487:40:97;;9483:111:::1;;9536:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;5197:79:225;;9536:58:97::1;::::0;::::1;5179:98:225::0;5152:18;;9536:58:97::1;5035:248:225::0;9483:111:97::1;9678:41:::0;;::::1;::::0;::::1;::::0;9726:79:::1;9749:21:::0;9772:8;9678:41;9726:22:::1;:79::i;:::-;9869:72;9893:22;9917:23;9869;:72::i;:::-;9947:70;9971:21;9994:22;9947:23;:70::i;:::-;8607:1415;;;;8438:1584:::0;;;;:::o;5867:2236::-;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;6055:8:97;-1:-1:-1;;;;;;6055:37:97::1;;6051:138;;-1:-1:-1::0;;;6152:8:97::1;6162:19;:8;:17;:19::i;6051:138::-;-1:-1:-1::0;;;2955:46:65;;-1:-1:-1;;;2954:74:65;6298:43:97::1;2954:74:65::0;6298:30:97::1;:43::i;:::-;6395:53;6422:11;6435:12;:10;:12::i;6395:53::-;6539:74;6564:6;6573:39;6539:16;:74::i;:::-;6706:9;6684:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6684:31:97::1;::::0;6680:98:::1;;6748:8;6758:19;:8;:17;:19::i;6680:98::-;6862:27;6892:36;6920:6;6892:19;:36::i;:::-;6862:66:::0;-1:-1:-1;6945:40:97;;;::::1;::::0;:110:::1;;;7046:8;7007:16;6989:66;;6945:110;6934:192;;;7077:42;::::0;::::1;::::0;;-1:-1:-1;;;;;2850:55:225;;7077:42:97::1;::::0;::::1;2832:74:225::0;2805:18;;7077:42:97::1;2686:226:225::0;6934:192:97::1;7190:22;7215:28;7234:8;7215:18;:28::i;:::-;7190:53:::0;-1:-1:-1;;;;;;7323:28:97;::::1;::::0;7319:411:::1;;7422:44;7451:14;7422:28;:44::i;:::-;7537:57;7566:11;7579:14;7537:28;:57::i;:::-;7319:411;;;7685:38;7708:8;7718:4;7685:22;:38::i;:::-;7817:53;7830:8;7848:6;7857:12;7817;:53::i;:::-;7942:46;7970:6;7979:8;7942:19;:46::i;:::-;8043:55;8063:11;8084:6;8093:4;8043:19;:55::i;:::-;5978:2125;;;5867:2236:::0;;;:::o;3174:595:96:-;1061:20:88;:18;:20::i;:::-;3387:68:96::1;3412:11;3426:28;3387:16;:68::i;:::-;3508:56;-1:-1:-1::0;;;;;;2955:46:65;;2954:74;2415:30:96::1;:56::i;3508:::-;3614:49;3641:7;3650:12;:10;:12::i;3614:49::-;3695:69;3723:7;3732:11;3745:18;3695:27;:69::i;10428:1171:97:-:0;10613:28;1061:20:88;:18;:20::i;:::-;625:63:86::1;::::0;;-1:-1:-1;;;625:63:86::1;::::0;::::1;12755:92:225::0;662:14:86::1;12863:11:225::0;;;12856:100;;;12972:12;;;12965:101;10701:59:97::1;::::0;13082:12:225;625:63:86::1;;;;;;;;;;;;617:72;;;:::i;:::-;10747:12:97;:10;:12::i;10701:59::-;10879:22;10863:40;;;;;;10832:72;;10910:29;10965:23;10949:41;;;;;;10910:81;;11057:27;11087:53;11118:21;11087:30;:53::i;:::-;11057:83:::0;-1:-1:-1;11151:40:97;;11147:111:::1;;11200:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;5197:79:225;;11200:58:97::1;::::0;::::1;5179:98:225::0;5152:18;;11200:58:97::1;5035:248:225::0;11147:111:97::1;11303:79;11326:21;11349:8;11359:22;11303;:79::i;:::-;11446:72;11470:22;11494:23;11446;:72::i;:::-;11524:70;11548:21;11571:22;11524:23;:70::i;:::-;10643:956;;10428:1171:::0;;;;;:::o;1085:570:95:-;1061:20:88;:18;:20::i;:::-;1251:60:95::1;1276:6;1285:25;1251:16;:60::i;:::-;1318:200;1385:12;:10;:12::i;:::-;1415:1;1440:6;1498:11;1465:46;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;1465:46:95;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;::::1;;::::0;::::1;::::0;;1318:47:::1;:200::i;:::-;;1582:68;1612:6;1631:11;1621:22;;;;;;1645:4;1582:21;:68::i;4801:388:97:-:0;1061:20:88;:18;:20::i;:::-;4958:50:97::1;4985:8;4995:12;:10;:12::i;4958:50::-;5103:81;1163:66:82;5153:8:97::0;5171:11;5103:27:::1;:81::i;14217:466::-:0;1061:20:88;:18;:20::i;:::-;14358:29:97::1;14375:11;14358:16;:29::i;:::-;14432:43;14463:11;14432:30;:43::i;:::-;14529:53;14556:11;14569:12;:10;:12::i;14529:53::-;14626:52;14666:11;14626:39;:52::i;:::-;14217:466:::0;:::o;2595:736::-;1061:20:88;:18;:20::i;:::-;2732:29:97::1;2749:11;2732:16;:29::i;:::-;2826:34;2848:11;2826:21;:34::i;:::-;2913:35;2936:11;2913:22;:35::i;:::-;2909:127;;;2993:11;3006:22;:11;:20;:22::i;:::-;2965:64;;;;;;;;;;;;:::i;2909:127::-;3080:41;3103:11;3116:4;3080:22;:41::i;:::-;3174:46;3194:11;3207:12;:10;:12::i;:::-;3174:19;:46::i;:::-;3274:52;3294:11;3307:12;:10;:12::i;:::-;3321:4;3274:19;:52::i;12888:1145::-:0;1061:20:88;:18;:20::i;:::-;13102:29:97::1;13119:11;13102:16;:29::i;:::-;13193:41;13214:19;13193:20;:41::i;:::-;13188:107;;13251:37;;;;;;;;;;;;;;13188:107;13348:53;13375:11;13388:12;:10;:12::i;13348:53::-;13500:25;13528:39;13547:19;13528:18;:39::i;:::-;13500:67;;13573:73;13590:17;13609:36;13573:16;:73::i;:::-;13692:65;13724:11;13737:19;13692:31;:65::i;:::-;13828:19:::0;;:23;13824:205:::1;;13861:161;13912:12;:10;:12::i;:::-;13944:19;13983:12;14012:1;13861:32;:161::i;:::-;;13824:205;13048:985;12888:1145:::0;;;:::o;12347:223::-;1061:20:88;:18;:20::i;:::-;12480:85:97::1;12528:12;:10;:12::i;:::-;12553:9;12480:34;:85::i;3635:936::-:0;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;3860:8:97;-1:-1:-1;;;;;;3860:37:97::1;;3856:138;;-1:-1:-1::0;;;3957:8:97::1;3967:19;:8;:17;:19::i;3856:138::-;4075:69;4100:11;4114:29;4075:16;:69::i;:::-;4186:40;4217:8;4186:30;:40::i;:::-;4280:57;-1:-1:-1::0;;;;;;2955:46:65;;2954:74;2415:30:96::1;:56::i;4280:57:97:-;4387:50;4414:8;4424:12;:10;:12::i;4387:50::-;4469:97;4486:8:::0;-1:-1:-1;;1053:20:5;;;;1045:29;1077:30;;;;;;1045:62;4469:16:97::1;:97::i;1942:98:64:-:0;1981:7;2003:32;:30;:32::i;1179:189:88:-;-1:-1:-1;;;;;1265:6:88;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;2140:233:46:-;-1:-1:-1;;;;;2225:58:46;;:48;-1:-1:-1;;;;;;2955:46:65;;2954:74;2225:19:46;:48::i;:::-;-1:-1:-1;;;;;2225:58:46;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;10984:172:24:-;11072:79;971:66:32;11121:7:24;11138:11;11072:27;:79::i;3165:160:65:-;3228:7;3292:26;438:6;451:5:20;3292:26:65;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:65:o;3486:592::-;3550:13;3620:10;451:5:20;2637:44:65;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:65;-1:-1:-1;;3839:35:65;;;:102;;3888:53;-1:-1:-1;;3888:53:65;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:65;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;2602:206:46:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;6637:2917:24:-;-1:-1:-1;;;6924:7:24;-1:-1:-1;;;;;;6924:35:24;;;;;:83;;-1:-1:-1;;;;6963:7:24;-1:-1:-1;;;;;;6963:44:24;;;6924:83;6920:209;;;-1:-1:-1;;;7079:7:24;7112;7095:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;7095:25:24;;;;-1:-1:-1;;7095:25:24;;;;;;;;;;7024:98;;;;;;;;;;:::i;6920:209::-;7175:22;:11;:20;:22::i;:::-;7238:40;:9;7271:4;7238:18;:40::i;:::-;7284:43;:11;7319:5;7284:20;:43::i;:::-;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7415:8:24;:15;:40;7411:148;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7536:15:24;;7472:80;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;7472:80:24;15502:248:225;7411:148:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7609:10:24;:17;:44;7605:158;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7738:17:24;;7670:86;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;7670:86:24;15502:248:225;7605:158:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7820:50:24;7816:171;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7887:93:24;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;7887:93:24;15502:248:225;7816:171:24;8029:29;:11;:27;:29::i;:::-;7996;:11;:27;:29::i;:::-;:62;7992:225;;8134:29;:11;:27;:29::i;:::-;8173;:11;:27;:29::i;:::-;8075:135;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;8075:135:24;15502:248:225;7992:225:24;8260:30;:11;:28;:30::i;:::-;8226;:11;:28;:30::i;:::-;:64;8222:230;;8367:30;:11;:28;:30::i;:::-;8407;:11;:28;:30::i;:::-;8307:138;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;8307:138:24;15502:248:225;8222:230:24;8549:9;8544:314;8564:29;:11;:27;:29::i;:::-;8560:1;:33;8544:314;;;8638:44;:22;:11;8658:1;8638:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8612:70:24;8608:244;;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8789:44:24;:22;:11;8809:1;8789:19;:22::i;:44::-;8701:142;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;8701:142:24;15502:248:225;8608:244:24;8595:3;;8544:314;;;;8938:25;8966:63;-1:-1:-1;;;9003:25:24;:7;451:5:20;2637:44:65;;2539:148;9003:25:24;451:5:20;1080:26;-1:-1:-1;;;;;;1061:15:20;;;;:46;;952:161;8966:63:24;8938:91;;9035:26;9064:72;-1:-1:-1;;;9110:25:24;:7;451:5:20;2637:44:65;;2539:148;9064:72:24;9035:101;;9146:38;9169:14;9146:22;:38::i;:::-;:81;;;;9188:39;9211:15;9188:22;:39::i;:::-;9142:190;;;9282:7;9315;9298:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;9298:25:24;;;;-1:-1:-1;;9298:25:24;;;;;;;;;;9244:81;;;;;;;;;:::i;9142:190::-;9373:103;9385:7;9394:11;9407:9;9418:11;9442:8;9431:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9464:10;9453:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9373:11;:103::i;:::-;9512:37;9535:7;9544:4;9512:22;:37::i;2992:383:64:-;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;604:859:98:-;792:116;832:9;854;886:19;792:26;:116::i;:::-;954:41;975:19;954:20;:41::i;:::-;950:511;;;1095:25;1123:39;1142:19;1123:18;:39::i;:::-;1095:67;;1168:73;1185:17;1204:36;1168:16;:73::i;:::-;1308:148;1357:9;1384:19;1421:12;1448:1;1308:32;:148::i;1862:325:65:-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:65;;3261:1:2;3257:13;;3253:24;2007:42:65;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;16952:79:225;;2092:30:65;;;16940:92:225;2092:30:65;;17048:12:225;;;;2092:30:65;;;875:21:2;;;2092:30:65;2142:39;2128:54;1862:325;-1:-1:-1;;;;1862:325:65:o;3150:332:75:-;3281:16;;;3295:1;3281:16;;;;;;;;;3225:19;;;;3281:16;;;;;;;;;;;;-1:-1:-1;3281:16:75;3252:45;;3326:21;3318:30;;;3303:9;3313:1;3303:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3355:13;3371:62;1174:66;3406:9;3355:13;1303:66;3371:24;:62::i;7390:465::-;7501:24;7528:46;7541:8;7551:22;7528:12;:46::i;:::-;7678:16;;;7692:1;7678:16;;;;;;;;;7501:73;;-1:-1:-1;7581:30:75;;7617:25;;7581:30;;7678:16;;;;;;;;;;;;-1:-1:-1;7678:16:75;7649:45;;7723:21;7715:30;;;7700:9;7710:1;7700:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;7752:98;1174:66;7782:9;7793:11;7806:15;7823:12;1303:66;7752:19;:98::i;:::-;7495:360;;;;7390:465;;;:::o;3188:456:76:-;3275:24;3305:30;3338:32;3352:17;3338:13;:32::i;:::-;3305:65;;3376:25;3404:32;3418:17;3404:13;:32::i;:::-;3472:16;;;3486:1;3472:16;;;;;;;;;3376:60;;-1:-1:-1;3443:26:76;;3472:16;;;;;;;;;;;;-1:-1:-1;3472:16:76;3443:45;;3517:16;3509:25;;;3494:9;3504:1;3494:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3541:98;1095:66;3571:9;3582:11;3595:15;3612:12;1224:66;3541:19;:98::i;692:238:100:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;17450:55:225;;853:70:100;;;17432:74:225;-1:-1:-1;;;;;;17542:79:225;;17522:18;;;17515:107;17405:18;;853:70:100;17260:368:225;3787:313:83;3896:16;;;3910:1;3896:16;;;;;;;;;3840:19;;;;3896:16;;;;;;;;;;;;-1:-1:-1;3896:16:83;3867:45;;3957:6;-1:-1:-1;;;;;3941:24:83;3933:33;;3918:9;3928:1;3918:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3973:13;3989:62;1169:66;4024:9;3973:13;-1:-1:-1;;;3989:24:83;:62::i;3076:307:84:-;3191:16;;;3205:1;3191:16;;;;;;;;;3140:14;;;;3191:16;;;;;;;;;;;;-1:-1:-1;3191:16:84;3162:45;;3246:8;3213:9;3223:1;3213:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3262:13;3278:62;1155:66;3313:9;3262:13;1284:66;3278:24;:62::i;:::-;3354:23;;;3076:307;-1:-1:-1;;;;3076:307:84:o;5765:222:83:-;5848:16;;;5862:1;5848:16;;;;;;;;;5819:26;;5848:16;;;;;;;;;;;-1:-1:-1;5848:16:83;5819:45;;5909:6;-1:-1:-1;;;;;5893:24:83;5885:33;;5870:9;5880:1;5870:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5925:57;1169:66;5958:9;-1:-1:-1;;;5925:22:83;:57::i;6294:295:81:-;6400:16;;;6414:1;6400:16;;;;;;;;6371:26;;6400:16;;;;;;;;;;-1:-1:-1;6400:16:81;6371:45;;6455:10;6422:9;6432:1;6422:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6511:6;-1:-1:-1;;;;;6495:24:81;6487:33;;6472:9;6482:1;6472:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6527:57;1169:66;6560:9;-1:-1:-1;;;6527:22:81;:57::i;4222:268:31:-;4322:16;;;4336:1;4322:16;;;;;;;;;4293:26;;4322:16;;;;;;;;;;;-1:-1:-1;4322:16:31;4293:45;;4377:10;4344:9;4354:1;4344:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4395:90;973:66;957:83;;4430:9;4441:1;4462:6;4444:26;;;;;;17784:14:225;17777:22;17772:3;17768:32;17756:45;;17826:1;17817:11;;17633:201;4444:26:31;;;;-1:-1:-1;;4444:26:31;;;;;;;;;-1:-1:-1;;;4395:24:31;:90::i;6916:424:84:-;7001:24;7028:34;7041:6;7049:12;7028;:34::i;:::-;7166:16;;;7180:1;7166:16;;;;;;;;;7001:61;;-1:-1:-1;7069:30:84;;7105:25;;7069:30;;7166:16;;;;;;;;;;;;-1:-1:-1;7166:16:84;7137:45;;7221:8;7188:9;7198:1;7188:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7237:98;1155:66;7267:9;7278:11;7291:15;7308:12;1284:66;7237:19;:98::i;5148:286:83:-;5243:16;;;5257:1;5243:16;;;;;;;;;5214:26;;5243:16;;;;;;;;;;;-1:-1:-1;5243:16:83;5214:45;;5304:6;-1:-1:-1;;;;;5288:24:83;5280:33;;5265:9;5275:1;5265:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5320:109;1169:66;1153:83;;5355:9;5366:1;5404:8;5369:45;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;5369:45:83;;;;-1:-1:-1;;5369:45:83;;;;;;;;;-1:-1:-1;;;5320:24:83;:109::i;5558:332:81:-;5668:16;;;5682:1;5668:16;;;;;;;;5639:26;;5668:16;;;;;;;;;;-1:-1:-1;5668:16:81;5639:45;;5723:10;5690:9;5700:1;5690:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5779:6;-1:-1:-1;;;;;5763:24:81;5755:33;;5740:9;5750:1;5740:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5795:90;1169:66;1153:83;;5830:9;5841:1;5862:6;5844:26;;;;;;17784:14:225;17777:22;17772:3;17768:32;17756:45;;17826:1;17817:11;;17633:201;10156:624:24;-1:-1:-1;;;10340:7:24;-1:-1:-1;;;;;;10340:35:24;;10336:161;;-1:-1:-1;;;10447:7:24;10480;10463:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;10336:161:24;10542:31;10565:7;10542:22;:31::i;:::-;10537:136;;10623:7;10656;10639:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;10639:25:24;;;;-1:-1:-1;;10639:25:24;;;;;;;;;;10590:76;;;;;;;;;:::i;10537:136::-;10679:96;10696:7;-1:-1:-1;;1053:20:5;;;;1045:29;1077:30;;;;;;1045:62;10679:16:24;:96::i;7191:399:64:-;7338:17;7364:12;7378:18;7400:125;7435:9;7462:8;7486:6;7510:8;7400:15;:125::i;:::-;7363:162;;;;7536:7;7531:36;;7545:22;7561:5;7545:15;:22::i;:::-;7580:5;7191:399;-1:-1:-1;;;;;;7191:399:64:o;5584:340:78:-;5706:16;;;5720:1;5706:16;;;;;;;;5677:26;;5706:16;;;;;;;;;;-1:-1:-1;5706:16:78;5677:45;;5767:13;-1:-1:-1;;;;;5751:31:78;5743:40;;5728:9;5738:1;5728:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;5804:13;5789:9;5799:1;5789:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;5824:95;1084:66;1068:83;;5859:9;5870:1;5891:11;5873:31;;;;;;17784:14:225;17777:22;17772:3;17768:32;17756:45;;17826:1;17817:11;;17633:201;1474:1069:5;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:5;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:5;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:5;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;-1:-1:-1;;2173:57:5;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;596:401:101:-;-1:-1:-1;;;;;;2955:46:65;;2954:74;821:10:101;803:79;799:196;;-1:-1:-1;;;956:10:101;968:21;:10;:19;:21::i;5973:214:79:-;6063:16;;;6077:1;6063:16;;;;;;;;;6034:26;;6063:16;;;;;;;;;;;-1:-1:-1;6063:16:79;6034:45;;6118:11;6085:9;6095:1;6085:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6137;1183:66;6172:9;6137:24;:45::i;648:795:102:-;776:17;796:25;:10;451:5:20;2637:44:65;;2539:148;796:25:102;776:45;-1:-1:-1;825:30:102;858:45;-1:-1:-1;;858:45:102;;:34;:45::i;:::-;940:30;;825:78;;-1:-1:-1;979:26:102;;975:466;;1017:68;1039:16;1058:26;1083:1;1058:22;:26;:::i;:::-;2742:27:2;2756:4;2742:27;2736:34;;2612:168;1017:68:102;:75;;;;1013:149;;1109:46;;;;;-1:-1:-1;;18323:79:225;;1109:46:102;;;18305:98:225;18278:18;;1109:46:102;18159:250:225;1013:149:102;1173:9;1168:269;1188:26;1213:1;1188:22;:26;:::i;:::-;1184:1;:30;1168:269;;;2756:4:2;2742:27;;;;2736:34;1242:50:102;;;;;:108;;;;-1:-1:-1;1296:47:102;1318:16;1337:5;:1;1341;1337:5;:::i;1296:47::-;:54;;;;;1242:108;1229:202;;;1376:46;;;;;-1:-1:-1;;18323:79:225;;1376:46:102;;;18305:98:225;18278:18;;1376:46:102;18159:250:225;1229:202:102;1216:3;;1168:269;;2858:314:31;2972:16;;;2986:1;2972:16;;;;;;;;;2924:11;;;;2972:16;;;;;;;;;;;;-1:-1:-1;2972:16:31;2943:45;;3027:10;2994:9;3004:1;2994:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3045:13;3061:62;973:66;3096:9;3045:13;-1:-1:-1;;;3061:24:31;:62::i;:::-;3045:78;;3137:29;3158:5;3145:20;;1650:10:20;1541:126;5023:265:80;5120:16;;;5134:1;5120:16;;;;;;;;;5091:26;;5120:16;;;;;;;;;;;-1:-1:-1;5120:16:80;5091:45;;5175:11;5142:9;5152:1;5142:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5194:89;1169:66;1153:83;;5229:9;5240:1;5261:5;5243:25;;;;;;;18563:2:225;18559:15;;;;-1:-1:-1;;18555:88:225;18543:101;;18669:2;18660:12;;18414:264;5243:25:80;;;;-1:-1:-1;;5243:25:80;;;;;;;;;1298:66;5194:24;:89::i;1509:162:47:-;1583:4;810:53;;;1602:64;;;;;1634:32;1646:19;1634:11;:32::i;:::-;1633:33;1595:71;1509:162;-1:-1:-1;;1509:162:47:o;5563:349:79:-;5677:16;;;5691:1;5677:16;;;;;;;;;5648:26;;5677:16;;;;;;;;;;;-1:-1:-1;5677:16:79;5648:45;;5732:11;5699:9;5709:1;5699:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5751:156;1183:66;1167:83;;5799:9;5816:1;5860:19;5825:56;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;5258:401:61;5402:17;5428:12;5442:23;5469:115;5499:6;5543:8;5569;5520:5;5469:13;:115::i;6646:291:85:-;6750:16;;;6764:1;6750:16;;;;;;;;6721:26;;6750:16;;;;;;;;;;-1:-1:-1;6750:16:85;6721:45;;6811:9;-1:-1:-1;;;;;6795:27:85;6787:36;;6772:9;6782:1;6772:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6868:9;-1:-1:-1;;;;;6852:27:85;6844:36;;6829:9;6839:1;6829:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;6887:45;1178:66;6922:9;6887:24;:45::i;9577:257:82:-;9674:16;;;9688:1;9674:16;;;;;;;;;9645:26;;9674:16;;;;;;;;;;;-1:-1:-1;9674:16:82;9645:45;;9729:8;9696:9;9706:1;9696:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;9745:84;1163:66;1147:83;;9786:9;9797:1;9818:8;9800:28;;;;;;;-1:-1:-1;;18824:79:225;;;;18812:92;;18929:2;18920:12;;18683:255;9800:28:82;;;;;;;;;;;;;9745:30;:84::i;4048:97:64:-;4089:7;4111:29;:27;:29::i;3750:306:80:-;3861:16;;;3875:1;3861:16;;;;;;;;;3811:13;;;;3861:16;;;;;;;;;;;;-1:-1:-1;3861:16:80;3832:45;;3916:11;3883:9;3893:1;3883:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3935:13;3951:62;1169:66;3986:9;3935:13;1298:66;3951:24;:62::i;6618:1665:4:-;6301:45;6681:87;;6723:38;;;;;;;;;;;;;;6681:87;6774:25;6802:30;:11;:28;:30::i;:::-;6774:58;;943:1:34;6842:17:4;:38;6838:156;;;6897:90;;;;;;;;15676:25:225;;;943:1:34;15717:18:225;;;15710:34;15649:18;;6897:90:4;15502:248:225;6838:156:4;7000:24;7027:29;:11;:27;:29::i;:::-;7000:56;-1:-1:-1;7062:23:4;7088:36;7107:17;7000:56;7088:36;:::i;:::-;7062:62;;689:2:34;7134:15:4;:34;7130:141;;;7185:79;;;;;;;;15676:25:225;;;689:2:34;15717:18:225;;;15710:34;15649:18;;7185:79:4;15502:248:225;7130:141:4;7313:25;7349:9;7344:429;7364:16;7360:1;:20;7344:429;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;7392:24;7453:21;;;7449:234;;7493:52;;;;;;;;5982:25:225;;;5955:18;;7493:52:4;5836:177:225;7449:234:4;376:2:34;7564:16:4;:28;7560:123;;;7611:63;;;;;;;;5982:25:225;;;5955:18;;7611:63:4;5836:177:225;7560:123:4;7690:37;7711:16;7690:37;;:::i;:::-;;-1:-1:-1;;7755:3:4;;7344:429;;;;7840:30;:11;:28;:30::i;:::-;7819:17;:51;7815:184;;7942:30;:11;:28;:30::i;:::-;7887:105;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;;;15649:18;;7887:105:4;15502:248:225;7815:184:4;8055:16;8038:241;689:2:34;8073:1:4;:20;8038:241;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;8169:21;;8165:108;;8209:55;;;;;;;;5982:25:225;;;5955:18;;8209:55:4;5836:177:225;8165:108:4;-1:-1:-1;8095:3:4;;8038:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;6301:45:4;;5881:16:21;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;5982:25:225;5955:18;;5906:37:21;5836:177:225;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;943:1:34;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;5982:25:225;;;5955:18;;6116:53:21;5836:177:225;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;;;;;5982:25:225;;;5955:18;;6412:51:21;5836:177:225;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;;;;;;5982:25:225;;5970:2;5955:18;;5836: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;;4979:171:4;5052:7;579:1:34;1532;1516:13;1528:1;376:2;1516:13;:::i;:::-;:17;;;;:::i;:::-;1515:34;;;;:::i;:::-;5088:11:4;5067:78;5080:64;;5067:78;;4979:171;-1:-1:-1;;4979:171:4:o;5377:173::-;5451:7;579:1:34;1704;;1684:13;1696:1;376:2;1684: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;:::-;4125:89;4019:206;-1:-1:-1;;;4019:206:21:o;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;19797:677:33:-;20005:24;20032:49;20045:11;20058:9;20069:11;20032:12;:49::i;:::-;20005:76;;20088:30;20121:55;20135:18;20155:20;20121:13;:55::i;:::-;20088:88;;20182:25;20210:55;20224:18;20244:20;20210:13;:55::i;:::-;20301:16;;;20315:1;20301:16;;;;;;;;;20182:83;;-1:-1:-1;20272:26:33;;20301:16;;;;;;;;;;;;-1:-1:-1;20301:16:33;20272:45;;20356:7;20323:9;20333:1;20323:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20371:98;1213:66;20401:9;20412:11;20425:15;20442:12;1342:66;20371:19;:98::i;:::-;19999:475;;;;19797:677;;;;;;:::o;6159:426:85:-;6287:16;;;6301:1;6287:16;;;;;;;;6258:26;;6287:16;;;;;;;;;;-1:-1:-1;6287:16:85;6258:45;;6348:9;-1:-1:-1;;;;;6332:27:85;6324:36;;6309:9;6319:1;6309:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6405:9;-1:-1:-1;;;;;6389:27:85;6381:36;;6366:9;6376:1;6366:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6424:156;1178:66;1162:83;;6472:9;6489:1;6533:19;6498:56;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;36171:541:24;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:4;:27;579:1:34;4322:44:4;4288:79;;;4275:93;36635:63:24;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;:::-;36452:255;36171:541;-1:-1:-1;;;;;36171:541:24:o;9334:179:75:-;9431:12;9475:8;9485:22;9458:50;;;;;;;;19492:19:225;;;-1:-1:-1;;;;;;19541:79:225;19536:2;19527:12;;19520:101;19646:2;19637:12;;19306:349;9458:50:75;;;;;;;;;;;;;9451:57;;9334:179;;;;:::o;13212:3165:24:-;-1:-1:-1;;;13486:7:24;-1:-1:-1;;;;;;13486:44:24;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:36;13976:4:24;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:5;;;;;14021:47:24;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:24;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:24;894:4:19;884:15;;14520:54:24;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:23;;;14915:102:24;-1:-1:-1;894:4:19;884:15;;15191:47:24;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:24;:14;15615:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:24;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:24;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:36;16125:4:24;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:5;;;;;16169:46:24;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:24;;16035:338;;5285:306:76;5364:30;5525:55;5554:17;5548:31;975:16:3;2068:39;;;2049:59;;1907:269;5756:155:76;5835:12;5886:17;5862:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;5855:51;;5756:155;;;:::o;1312:272:49:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;26296:1804:24:-;-1:-1:-1;;;26463:7:24;-1:-1:-1;;;;;;26463:44:24;;26459:173;;26593:7;26561:50;26602:8;26561:50;;;;;;:::i;:::-;;;;;;;;26296:1804;;;:::o;26459:173::-;26773:22;26798:24;26814:7;26798:15;:24::i;:::-;26773:49;;26833:9;26828:235;26848:5;:12;26844:1;:16;26828:235;;;26875:9;26897:5;26903:1;26897:8;;;;;;;;:::i;:::-;;;;;;;26875:31;;26918:36;1049:6:36;26918:4:24;:14;;;;;:36;;;;:::i;:::-;26914:143;;;26966:82;;;;;3536:35:5;;;;;26966:50:24;;:82;;27017:7;;27026:8;;27036:11;;26966:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26914:143;-1:-1:-1;26862:3:24;;26828:235;;;;27143:7;27111:50;27152:8;27111:50;;;;;;:::i;:::-;;;;;;;;27194:26;27223:59;27264:7;27273:8;27223:40;:59::i;:::-;27194:88;;27288:113;27320:18;27348:1;27367:30;:11;:28;:30::i;:::-;27357:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27357:41:24;;27288:13;:113::i;:::-;27620:1;27587:30;:11;:28;:30::i;:::-;:34;27583:236;;;27631:33;27667:66;27715:7;27724:8;27667:47;:66::i;:::-;27631:102;;27741:71;27772:25;27807:2;27741:12;:71::i;:::-;27623:196;27583:236;27868:9;27863:233;27883:5;:12;27879:1;:16;27863:233;;;27910:9;27932:5;27938:1;27932:8;;;;;;;;:::i;:::-;;;;;;;27910:31;;27953:35;1149:6:36;27953:4:24;:14;;;;;:35;;;;:::i;:::-;27949:141;;;28000:81;;;;;3536:35:5;;;;;28000:49:24;;:81;;28050:7;;28059:8;;28069:11;;28000:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27949:141;-1:-1:-1;27897:3:24;;27863:233;;23107:355;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;8747:150:84:-;8854:38;;8827:12;22899:15:225;;;-1:-1:-1;;22895:88:225;8854:38:84;;;22883:101:225;23030:14;;23023:22;23018:3;23014:32;23000:12;;;22993:54;8827:12:84;23063::225;;8854:38:84;22732:349:225;9658:254:32;9755:16;;;9769:1;9755:16;;;;;;;;;9726:26;;9755:16;;;;;;;;;;;-1:-1:-1;9755:16:32;9726:45;;9810:7;9777:9;9787:1;9777:12;;;;;;;;:::i;:::-;;;;;;:41;;;;;9825:82;971:66;955:83;;9864:9;9875:1;9896:8;9878:28;;;;;;;-1:-1:-1;;18824:79:225;;;;18812:92;;18929:2;18920:12;;18683:255;9878:28:32;;;;;;;;;;;;;9825;:82::i;5594:317:64:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:64;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:64;;;;-1:-1:-1;5594:317:64;-1:-1:-1;;;;;5594:317:64:o;348:217:103:-;551:6;545:13;538:4;530:6;526:17;519:40;3527:369:30;3667:16;;;3681:1;3667:16;;;;;;;;;3608:22;;3638:26;;3667:16;;;;;;;;;;;;-1:-1:-1;3667:16:30;3638:45;;3722:10;3689:9;3699:1;3689:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3740:18;3761:49;3787:8;3797:9;3808:1;3761:25;:49::i;:::-;3740:70;;3824:66;:44;3845:5;3852:1;3855:5;:12;3824:20;:44::i;:::-;:64;:66::i;4914:282::-;5040:16;;;5054:1;5040:16;;;;;;;;;5011:26;;5040:16;;;;;;;;;;;-1:-1:-1;5040:16:30;5011:45;;5095:10;5062:9;5072:1;5062:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5113:78;5139:8;5149:9;5160:1;5163:27;5183:5;5163:18;:27::i;:::-;5113:25;:78::i;13847:301:28:-;13931:21;13955:17;:15;:17::i;:::-;13931:41;-1:-1:-1;14007:4:28;-1:-1:-1;;;;;13982:30:28;;;13978:166;;14022:41;14045:7;14054:8;14022:22;:41::i;13978:166::-;14084:53;;;;;-1:-1:-1;;;;;14084:34:28;;;;;:53;;14119:7;;14128:8;;14084:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:181:47;764:71:86;;;-1:-1:-1;;;764:71:86;;;12755:92:225;1205:4:47;12863:11:225;;;12856:100;;;814:20:86;12972:12:225;;;12965:101;1205:4:47;13082:12:225;764:71:86;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:47;;;;1129:181;-1:-1:-1;1129:181:47:o;3782:1003:61:-;3918:12;3932:17;3981:22;4006:26;4023:8;4006:16;:26::i;:::-;3981:51;;4109:9;4104:228;4124:5;:12;4120:1;:16;4104:228;;;4151:9;4173:5;4179:1;4173:8;;;;;;;;:::i;:::-;;;;;;;4151:31;;4194:34;458:6:104;4194:4:61;:14;;;;;:34;;;;:::i;:::-;4190:136;;;4240:77;;;;;3536:35:5;;;;;4240:49:61;;:77;;4290:6;;4298:8;;4308;;4240:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4190:136;-1:-1:-1;4138:3:61;;4104:228;;;;4407:78;4422:6;4437:5;4454:8;4474;4407:4;:78::i;:::-;4389:96;;-1:-1:-1;4389:96:61;-1:-1:-1;4560:9:61;4555:226;4575:5;:12;4571:1;:16;4555:226;;;4602:9;4624:5;4630:1;4624:8;;;;;;;;:::i;:::-;;;;;;;4602:31;;4645:33;586:6:104;4645:4:61;:14;;;;;:33;;;;:::i;:::-;4641:134;;;4690:76;;;;;3536:35:5;;;;;4690:48:61;;:76;;4739:6;;4747:8;;4757;;4690:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:134;-1:-1:-1;4589:3:61;;4555:226;;;;3951:834;3782:1003;;;;;;;:::o;12345:451:28:-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:28;-1:-1:-1;;;;;12556:30:28;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:28;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12499:297;12345:451;;;;:::o;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:28;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:28:o;4598:171:4:-;4672:7;579:1:34;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:4;;;;;4598:171;-1:-1:-1;4598:171:4:o;24214:209:33:-;24365:53;;;;;;24779:19:225;;;24814:12;;;24807:28;;;24338:12:33;24851::225;;;24844:28;;;24338:12:33;24888::225;;24365:53:33;;;;;;;;;;;;;24358:60;;24214:209;;;;;:::o;24614:390::-;24924:32;;24958:34;;24740:30;;2662:5:3;;;975:16;2694:39;;;;2675:59;2776:23;2761:39;;;;2742:59;24901:92:33;2518:351:3;25169:234:33;25295:12;25346:18;25375:20;25322:76;;;;;;;;;:::i;50806:191:24:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:24;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:24:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:4;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;52003:32:24;;:::i;:::-;;-1:-1:-1;51990:3:24;;51958:84;;;-1:-1:-1;52054:6:24;51823:242;-1:-1:-1;;;51823: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;3658:342:32:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:32;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;3035:136:5:-;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;53371:230:24:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:24;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:24:o;52742:274::-;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;708:400:49:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:49;1073:7;-1:-1:-1;;;;;;4132:576:49;4295:56;;-1:-1:-1;;;;;;5197:79:225;;4295:56:49;;;5179:98:225;4234:4:49;;;;5152:18:225;;4295:56:49;;;-1:-1:-1;;4295:56:49;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:49;;-1:-1:-1;;4498:7:49;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:49:o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::19;884:15;;758:151;1098:24:23;1055:5;:68::i;4032:370::-;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;17013:1682:24;-1:-1:-1;;;17192:7:24;-1:-1:-1;;;;;;17192:44:24;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:36;17798:4:24;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:5;;;;;17851:54:24;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:24;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:36;18455:4:24;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:5;;;;;18507:53:24;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:24;;18365:326;;28764:791;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:24;29171:49;29023:106;29202:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:24;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;4897:201:64:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;37180:522:24:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:24;37440: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;39802:222:39:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;24152:738:24:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:24;24551:49;24403:106;24582:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:24;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;25552:145::-;25636:56;25649:7;25658:8;25668:23;25683:7;25668:14;:23::i;:::-;25636:12;:56::i;3857:344:82:-;3974:16;;;3988:1;3974:16;;;;;;;;;3915:22;;3945:26;;3974:16;;;;;;;;;;;;-1:-1:-1;3974:16:82;3945:45;;4029:8;3996:9;4006:1;3996:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4045:18;4066:49;1163:66;4102:9;4045:18;4066:25;:49::i;1761:1386:61:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:61;-1:-1:-1;;;;;;2067:27:61;;2063:106;;2139:8;2149:19;:8;:17;:19::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;-1:-1:-1;;;2955:46:65;;-1:-1:-1;;;2954:74:65;2432:22:61;2515:26;2954:74:65;2515:13:61;:26::i;:::-;2490:51;-1:-1:-1;2549:50:61;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:20;2637:44:65;;2539:148;2681:23:61;-1:-1:-1;;2681:41:61;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:61;-1:-1:-1;;;;;;;1761:1386:61:o;53939:303:24:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:23;;4605:137;44254:4001:24;-1:-1:-1;;;44652:7:24;-1:-1:-1;;;;;;44652:35:24;;44648:161;;-1:-1:-1;;;44759:7:24;44792;44775:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;44648:161:24;44815:27;44845:49;:22;44876:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:24;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:24;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;28943:12:225;28982:15;;;45340:92:24;;;28964:34:225;29034:15;;;29014:18;;;29007:43;29086:15;;29066:18;;;29059:43;28906:18;;45340:92:24;28737:371:225;45221:218:24;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;29286:25:225;;;29359:12;29347:25;;29327:18;;;29320:53;29259:18;;45581:74:24;29113:266:225;45522:140:24;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:36;46104:4:24;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:5;;;;-1:-1:-1;;;;;46158:55:24;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:24;;46014:486;;;-1:-1:-1;46558:32:24;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:24;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:23;;;-1:-1:-1;47216:248:24;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:36;47858:4:24;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:5;;;;-1:-1:-1;;;;;47911:54:24;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:24;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;5042:669:23:-;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;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:40;1474:15;;-1:-1:-1;;5373:16:23;1531:32:40;;;5373:16:23;5369:32;1503:4:40;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;4015:652:24;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:33;;4015:652:24;-1:-1:-1;4015:652:24:o;4314:111::-;4469:185;4515:85;1213:66:33;4591:7:24;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;5928:433:84:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:84;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;-1:-1:-1;;2756:4:2;2742:27;;2736:34;2742:27;;;;2736:34;7564:35:84;;;;;;7631:33;;;;;;-1:-1:-1;5928:433:84;-1:-1:-1;;;;;;5928:433:84:o;1546:281:46:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;3758:308:74:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:74;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:74;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:74;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;6415:321:64;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:64;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7468:1525:3;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;5982:25:225;;;5955:18;;7664:67:3;5836:177:225;7618:120:3;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:3;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:3;;;;;:::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;51249:282:24:-;51494:30;;;;;;31457:19:225;;;31492:12;;;31485:28;;;51337:7:24;;31529:12:225;;51494:30:24;31269:278:225;32759:1315:24;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:24;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:3;;;33532:33:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:24;-1:-1:-1;33518:47:24;-1:-1:-1;894:4:19;884:15;;33573:21:24;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:24;33808:25;:14;33831:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:24;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;955:327:46:-;1036:4;1178:56;-1:-1:-1;;;;;;2955:46:65;;2954:74;1227:6:46;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;48823:360:24:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:24;;;;;;;;;-1:-1:-1;48986:9:24;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;4006:378:81:-;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:81;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:81;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;-1:-1:-1;;;4273:24:81;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;1650:10:20;1541:126;14:332:225;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;-1:-1:-1;;;;;;223:5:225;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:166;-1:-1:-1;;;;;634:5:225;630:54;623:5;620:65;610:93;;699:1;696;689:12;714:377;832:6;840;893:2;881:9;872:7;868:23;864:32;861:52;;;909:1;906;899:12;861:52;945:9;932:23;922:33;;1005:2;994:9;990:18;977:32;1018:43;1055:5;1018:43;:::i;:::-;1080:5;1070:15;;;714:377;;;;;:::o;1096:375::-;1167:8;1177:6;1231:3;1224:4;1216:6;1212:17;1208:27;1198:55;;1249:1;1246;1239:12;1198:55;-1:-1:-1;1272:20:225;;1315:18;1304:30;;1301:50;;;1347:1;1344;1337:12;1301:50;1384:4;1376:6;1372:17;1360:29;;1444:3;1437:4;1427:6;1424:1;1420:14;1412:6;1408:27;1404:38;1401:47;1398:67;;;1461:1;1458;1451:12;1398:67;1096:375;;;;;:::o;1476:1205::-;1775:6;1783;1791;1799;1807;1815;1823;1831;1884:3;1872:9;1863:7;1859:23;1855:33;1852:53;;;1901:1;1898;1891:12;1852:53;1937:9;1924:23;1914:33;;1994:2;1983:9;1979:18;1966:32;1956:42;;2045:2;2034:9;2030:18;2017:32;2007:42;;2096:2;2085:9;2081:18;2068:32;2058:42;;2151:3;2140:9;2136:19;2123:33;2175:18;2216:2;2208:6;2205:14;2202:34;;;2232:1;2229;2222:12;2202:34;2271:78;2341:7;2332:6;2321:9;2317:22;2271:78;:::i;:::-;2368:8;;-1:-1:-1;2245:104:225;-1:-1:-1;2456:3:225;2441:19;;2428:33;;-1:-1:-1;2473:16:225;;;2470:36;;;2502:1;2499;2492:12;2470:36;;2541:80;2613:7;2602:8;2591:9;2587:24;2541:80;:::i;:::-;1476:1205;;;;-1:-1:-1;1476:1205:225;;-1:-1:-1;1476:1205:225;;;;;;2640:8;-1:-1:-1;;;1476:1205:225:o;2917:184::-;-1:-1:-1;;;2966:1:225;2959:88;3066:4;3063:1;3056:15;3090:4;3087:1;3080:15;3106:334;3177:2;3171:9;3233:2;3223:13;;-1:-1:-1;;3219:86:225;3207:99;;3336:18;3321:34;;3357:22;;;3318:62;3315:88;;;3383:18;;:::i;:::-;3419:2;3412:22;3106:334;;-1:-1:-1;3106:334:225:o;3445:589::-;3487:5;3540:3;3533:4;3525:6;3521:17;3517:27;3507:55;;3558:1;3555;3548:12;3507:55;3594:6;3581:20;3620:18;3616:2;3613:26;3610:52;;;3642:18;;:::i;:::-;3686:114;3794:4;-1:-1:-1;;3718:4:225;3714:2;3710:13;3706:86;3702:97;3686:114;:::i;:::-;3825:2;3816:7;3809:19;3871:3;3864:4;3859:2;3851:6;3847:15;3843:26;3840:35;3837:55;;;3888:1;3885;3878:12;3837:55;3953:2;3946:4;3938:6;3934:17;3927:4;3918:7;3914:18;3901:55;4001:1;3976:16;;;3994:4;3972:27;3965:38;;;;3980:7;3445:589;-1:-1:-1;;;3445:589:225:o;4039:566::-;4156:6;4164;4172;4225:2;4213:9;4204:7;4200:23;4196:32;4193:52;;;4241:1;4238;4231:12;4193:52;4280:9;4267:23;4299:43;4336:5;4299:43;:::i;:::-;4361:5;-1:-1:-1;4413:2:225;4398:18;;4385:32;;-1:-1:-1;4468:2:225;4453:18;;4440:32;4495:18;4484:30;;4481:50;;;4527:1;4524;4517:12;4481:50;4550:49;4591:7;4582:6;4571:9;4567:22;4550:49;:::i;:::-;4540:59;;;4039:566;;;;;:::o;4610:420::-;4719:6;4727;4780:2;4768:9;4759:7;4755:23;4751:32;4748:52;;;4796:1;4793;4786:12;4748:52;4832:9;4819:23;4809:33;;4893:2;4882:9;4878:18;4865:32;4920:18;4912:6;4909:30;4906:50;;;4952:1;4949;4942:12;4906:50;4975:49;5016:7;5007:6;4996:9;4992:22;4975:49;:::i;:::-;4965:59;;;4610:420;;;;;:::o;5288:543::-;5409:6;5417;5425;5478:2;5466:9;5457:7;5453:23;5449:32;5446:52;;;5494:1;5491;5484:12;5446:52;5530:9;5517:23;5507:33;;5590:2;5579:9;5575:18;5562:32;5603:43;5640:5;5603:43;:::i;:::-;5665:5;-1:-1:-1;5722:2:225;5707:18;;5694:32;5764:15;;5757:23;5745:36;;5735:64;;5795:1;5792;5785:12;5735:64;5818:7;5808:17;;;5288:543;;;;;:::o;6018:156::-;6084:20;;6144:4;6133:16;;6123:27;;6113:55;;6164:1;6161;6154:12;6179:447;6304:6;6312;6320;6373:2;6361:9;6352:7;6348:23;6344:32;6341:52;;;6389:1;6386;6379:12;6341:52;6425:9;6412:23;6402:33;;6485:2;6474:9;6470:18;6457:32;6498:43;6535:5;6498:43;:::i;:::-;6560:5;-1:-1:-1;6584:36:225;6616:2;6601:18;;6584:36;:::i;:::-;6574:46;;6179:447;;;;;:::o;6631:640::-;6759:6;6767;6775;6828:2;6816:9;6807:7;6803:23;6799:32;6796:52;;;6844:1;6841;6834:12;6796:52;6880:9;6867:23;6857:33;;6941:2;6930:9;6926:18;6913:32;6964:18;7005:2;6997:6;6994:14;6991:34;;;7021:1;7018;7011:12;6991:34;7044:49;7085:7;7076:6;7065:9;7061:22;7044:49;:::i;:::-;7034:59;;7146:2;7135:9;7131:18;7118:32;7102:48;;7175:2;7165:8;7162:16;7159:36;;;7191:1;7188;7181:12;7159:36;;7214:51;7257:7;7246:8;7235:9;7231:24;7214:51;:::i;7276:484::-;7370:6;7378;7431:2;7419:9;7410:7;7406:23;7402:32;7399:52;;;7447:1;7444;7437:12;7399:52;7486:9;7473:23;7505:43;7542:5;7505:43;:::i;:::-;7567:5;-1:-1:-1;7623:2:225;7608:18;;7595:32;7650:18;7639:30;;7636:50;;;7682:1;7679;7672:12;8149:211;8239:6;8292:2;8280:9;8271:7;8267:23;8263:32;8260:52;;;8308:1;8305;8298:12;8260:52;-1:-1:-1;8331:23:225;;8149:211;-1:-1:-1;8149:211:225:o;8365:518::-;8513:6;8521;8529;8582:2;8570:9;8561:7;8557:23;8553:32;8550:52;;;8598:1;8595;8588:12;8550:52;8634:9;8621:23;8611:33;;8691:2;8680:9;8676:18;8663:32;8653:42;;8746:2;8735:9;8731:18;8718:32;8773:18;8765:6;8762:30;8759:50;;;8805:1;8802;8795:12;8888:259;8947:6;9000:2;8988:9;8979:7;8975:23;8971:32;8968:52;;;9016:1;9013;9006:12;8968:52;9055:9;9042:23;9074:43;9111:5;9074:43;:::i;9606:250::-;9691:1;9701:113;9715:6;9712:1;9709:13;9701:113;;;9791:11;;;9785:18;9772:11;;;9765:39;9737:2;9730:10;9701:113;;;-1:-1:-1;;9848:1:225;9830:16;;9823:27;9606:250::o;9861:330::-;9903:3;9941:5;9935:12;9968:6;9963:3;9956:19;9984:76;10053:6;10046:4;10041:3;10037:14;10030:4;10023:5;10019:16;9984:76;:::i;:::-;10105:2;10093:15;-1:-1:-1;;10089:88:225;10080:98;;;;10180:4;10076:109;;9861:330;-1:-1:-1;;9861:330:225:o;10196:322::-;10404:6;10393:9;10386:25;10447:2;10442;10431:9;10427:18;10420:30;10367:4;10467:45;10508:2;10497:9;10493:18;10485:6;10467:45;:::i;10523:940::-;10661:9;10695:18;10736:2;10728:6;10725:14;10722:40;;;10742:18;;:::i;:::-;10788:6;10785:1;10781:14;10814:4;10838:30;10862:4;10858:2;10854:13;10838:30;:::i;:::-;10902:19;;;10974:14;;;;10946:4;10937:14;;;11011;11000:26;;10997:46;;;11039:1;11036;11029:12;10997:46;11063:5;11077:353;11093:6;11088:3;11085:15;11077:353;;;11179:3;11166:17;11215:2;11202:11;11199:19;11196:109;;;11259:1;11288:2;11284;11277:14;11196:109;11330:57;11372:14;11358:11;11351:5;11347:23;11330:57;:::i;:::-;11318:70;;-1:-1:-1;11408:12:225;;;;11110;;11077:353;;;-1:-1:-1;11452:5:225;10523:940;-1:-1:-1;;;;;;;10523:940:225:o;11468:464::-;-1:-1:-1;;;;;;11706:6:225;11702:79;11691:9;11684:98;11818:6;11813:2;11802:9;11798:18;11791:34;11861:2;11856;11845:9;11841:18;11834:30;11665:4;11881:45;11922:2;11911:9;11907:18;11899:6;11881:45;:::i;11937:630::-;12206:3;12244:6;12238:13;12260:66;12319:6;12314:3;12307:4;12299:6;12295:17;12260:66;:::i;:::-;12387:4;12348:16;;;12373:19;;;12417:13;;12439:78;12417:13;12504:1;12493:13;;12486:4;12474:17;;12439:78;:::i;:::-;12537:20;12559:1;12533:28;;11937:630;-1:-1:-1;;;;11937:630:225:o;13105:357::-;13223:12;;13270:4;13259:16;;;13253:23;;13223:12;13288:16;;13285:171;;;-1:-1:-1;;13362:4:225;13358:17;;;;13355:1;13351:25;13347:98;13336:110;;13105:357;-1:-1:-1;13105:357:225:o;13467:218::-;13614:2;13603:9;13596:21;13577:4;13634:45;13675:2;13664:9;13660:18;13652:6;13634:45;:::i;13690:340::-;13867:2;13856:9;13849:21;13830:4;13887:45;13928:2;13917:9;13913:18;13905:6;13887:45;:::i;:::-;13879:53;;-1:-1:-1;;;;;13972:6:225;13968:55;13963:2;13952:9;13948:18;13941:83;13690:340;;;;;:::o;14035:184::-;-1:-1:-1;;;14084:1:225;14077:88;14184:4;14181:1;14174:15;14208:4;14205:1;14198:15;14224:125;14289:9;;;14310:10;;;14307:36;;;14323:18;;:::i;14354:925::-;-1:-1:-1;;;;;;14795:6:225;14791:79;14786:3;14779:92;14761:3;14890;14922:2;14918:1;14913:3;14909:11;14902:23;14954:6;14948:13;14970:74;15037:6;15033:1;15028:3;15024:11;15017:4;15009:6;15005:17;14970:74;:::i;:::-;15072:6;15067:3;15063:16;15053:26;;15107:2;15103:1;15099:2;15095:10;15088:22;15141:6;15135:13;15119:29;;15157:75;15223:8;15219:1;15215:2;15211:10;15204:4;15196:6;15192:17;15157:75;:::i;:::-;15252:17;15271:1;15248:25;;14354:925;-1:-1:-1;;;;;14354:925:225:o;15755:184::-;-1:-1:-1;;;15804:1:225;15797:88;15904:4;15901:1;15894:15;15928:4;15925:1;15918:15;15944:862;16106:4;16135:2;16175;16164:9;16160:18;16205:2;16194:9;16187:21;16228:6;16263;16257:13;16294:6;16286;16279:22;16332:2;16321:9;16317:18;16310:25;;16394:2;16384:6;16381:1;16377:14;16366:9;16362:30;16358:39;16344:53;;16432:2;16424:6;16420:15;16453:1;16463:314;16477:6;16474:1;16471:13;16463:314;;;16566:66;16554:9;16546:6;16542:22;16538:95;16533:3;16526:108;16657:40;16690:6;16681;16675:13;16657:40;:::i;:::-;16647:50;-1:-1:-1;16755:12:225;;;;16720:15;;;;16499:1;16492:9;16463:314;;;-1:-1:-1;16794:6:225;;15944:862;-1:-1:-1;;;;;;;15944:862:225:o;17071:184::-;-1:-1:-1;;;17120:1:225;17113:88;17220:4;17217:1;17210:15;17244:4;17241:1;17234:15;18026:128;18093:9;;;18114:11;;;18111:37;;;18128:18;;:::i;19133:168::-;19206:9;;;19237;;19254:15;;;19248:22;;19234:37;19224:71;;19275:18;;:::i;19660:439::-;19713:3;19751:5;19745:12;19778:6;19773:3;19766:19;19804:4;19833;19828:3;19824:14;19817:21;;19872:4;19865:5;19861:16;19895:1;19905:169;19919:6;19916:1;19913:13;19905:169;;;19980:13;;19968:26;;20014:12;;;;20049:15;;;;19941:1;19934:9;19905:169;;;-1:-1:-1;20090:3:225;;19660:439;-1:-1:-1;;;;;19660:439:225:o;20104:691::-;20438:3;20427:9;20420:22;20401:4;20465:57;20517:3;20506:9;20502:19;20494:6;20465:57;:::i;:::-;20570:9;20562:6;20558:22;20553:2;20542:9;20538:18;20531:50;20604:33;20630:6;20622;20604:33;:::i;:::-;20590:47;;20673:6;20668:2;20657:9;20653:18;20646:34;20728:9;20720:6;20716:22;20711:2;20700:9;20696:18;20689:50;20756:33;20782:6;20774;20756:33;:::i;20800:898::-;21253:6;21242:9;21235:25;21296:3;21291:2;21280:9;21276:18;21269:31;21216:4;21323:57;21375:3;21364:9;21360:19;21352:6;21323:57;:::i;:::-;21428:9;21420:6;21416:22;21411:2;21400:9;21396:18;21389:50;21462:33;21488:6;21480;21462:33;:::i;:::-;21448:47;;21531:6;21526:2;21515:9;21511:18;21504:34;21587:9;21579:6;21575:22;21569:3;21558:9;21554:19;21547:51;21615:33;21641:6;21633;21615:33;:::i;:::-;21607:41;;;21685:6;21679:3;21668:9;21664:19;21657:35;20800:898;;;;;;;;;:::o;21703:287::-;21832:3;21870:6;21864:13;21886:66;21945:6;21940:3;21933:4;21925:6;21921:17;21886:66;:::i;:::-;21968:16;;;;;21703:287;-1:-1:-1;;21703:287:225:o;21995:261::-;22174:2;22163:9;22156:21;22137:4;22194:56;22246:2;22235:9;22231:18;22223:6;22194:56;:::i;22261:466::-;22559:6;22548:9;22541:25;22602:2;22597;22586:9;22582:18;22575:30;22522:4;22622:56;22674:2;22663:9;22659:18;22651:6;22622:56;:::i;:::-;22614:64;;22714:6;22709:2;22698:9;22694:18;22687:34;22261:466;;;;;;:::o;23086:363::-;23324:6;23313:9;23306:25;23367:2;23362;23351:9;23347:18;23340:30;23287:4;23387:56;23439:2;23428:9;23424:18;23416:6;23387:56;:::i;23454:440::-;-1:-1:-1;;;;;23692:6:225;23688:55;23677:9;23670:74;23780:6;23775:2;23764:9;23760:18;23753:34;23823:2;23818;23807:9;23803:18;23796:30;23651:4;23843:45;23884:2;23873:9;23869:18;23861:6;23843:45;:::i;23899:604::-;24207:6;24196:9;24189:25;24250:3;24245:2;24234:9;24230:18;24223:31;24170:4;24277:57;24329:3;24318:9;24314:19;24306:6;24277:57;:::i;:::-;24382:4;24374:6;24370:17;24365:2;24354:9;24350:18;24343:45;24436:9;24428:6;24424:22;24419:2;24408:9;24404:18;24397:50;24464:33;24490:6;24482;24464:33;:::i;24911:492::-;25086:3;25124:6;25118:13;25140:66;25199:6;25194:3;25187:4;25179:6;25175:17;25140:66;:::i;:::-;25269:13;;25228:16;;;;25291:70;25269:13;25228:16;25338:4;25326:17;;25291:70;:::i;:::-;25377:20;;24911:492;-1:-1:-1;;;;24911:492:225:o;25408:639::-;25658:6;25653:3;25646:19;25628:3;25684:2;25717;25712:3;25708:12;25749:6;25743:13;25814:2;25806:6;25802:15;25835:1;25845:175;25859:6;25856:1;25853:13;25845:175;;;25922:13;;25908:28;;25958:14;;;;25995:15;;;;25881:1;25874:9;25845:175;;;-1:-1:-1;26036:5:225;;25408:639;-1:-1:-1;;;;;;;25408:639:225:o;26052:184::-;-1:-1:-1;;;26101:1:225;26094:88;26201:4;26198:1;26191:15;26225:4;26222:1;26215:15;26241:274;26281:1;26307;26297:189;;-1:-1:-1;;;26339:1:225;26332:88;26443:4;26440:1;26433:15;26471:4;26468:1;26461:15;26297:189;-1:-1:-1;26500:9:225;;26241:274::o;26520:512::-;26771:2;26760:9;26753:21;26734:4;26797:56;26849:2;26838:9;26834:18;26826:6;26797:56;:::i;:::-;26901:14;26893:6;26889:27;26884:2;26873:9;26869:18;26862:55;26965:9;26957:6;26953:22;26948:2;26937:9;26933:18;26926:50;26993:33;27019:6;27011;26993:33;:::i;27037:616::-;27347:6;27336:9;27329:25;27390:3;27385:2;27374:9;27370:18;27363:31;27310:4;27417:57;27469:3;27458:9;27454:19;27446:6;27417:57;:::i;:::-;27522:14;27514:6;27510:27;27505:2;27494:9;27490:18;27483:55;27586:9;27578:6;27574:22;27569:2;27558:9;27554:18;27547:50;27614:33;27640:6;27632;27614:33;:::i;27658:530::-;27843:3;27881:6;27875:13;27897:66;27956:6;27951:3;27944:4;27936:6;27932:17;27897:66;:::i;:::-;28032:2;28028:15;;;;-1:-1:-1;;28024:88:225;27985:16;;;;28010:103;;;28140:2;28129:14;;28122:30;;;;28179:2;28168:14;;27658:530;-1:-1:-1;;27658:530:225:o;28193:360::-;28396:2;28385:9;28378:21;28359:4;28416:45;28457:2;28446:9;28442:18;28434:6;28416:45;:::i;:::-;28492:2;28477:18;;28470:34;;;;-1:-1:-1;28535:2:225;28520:18;28513:34;28408:53;28193:360;-1:-1:-1;28193:360:225:o;28558:174::-;28625:12;28657:10;;;28669;;;28653:27;;28692:11;;;28689:37;;;28706:18;;:::i;:::-;28689:37;28558:174;;;;:::o;29384:900::-;29807:6;29796:9;29789:25;29850:3;29845:2;29834:9;29830:18;29823:31;29770:4;29877:57;29929:3;29918:9;29914:19;29906:6;29877:57;:::i;:::-;29982:4;29970:17;;29965:2;29950:18;;29943:45;30007:12;30055:15;;;30050:2;30035:18;;30028:43;30108:15;;30102:3;30087:19;;30080:44;30155:3;30140:19;;30133:35;;;30205:22;;;30199:3;30184:19;;30177:51;30245:33;30209:6;30263;30245:33;:::i;:::-;30237:41;29384:900;-1:-1:-1;;;;;;;;;;29384:900:225:o;30289:788::-;30653:3;30642:9;30635:22;30616:4;30680:57;30732:3;30721:9;30717:19;30709:6;30680:57;:::i;:::-;30785:4;30777:6;30773:17;30768:2;30757:9;30753:18;30746:45;30839:14;30831:6;30827:27;30822:2;30811:9;30807:18;30800:55;30903:12;30895:6;30891:25;30886:2;30875:9;30871:18;30864:53;30954:6;30948:3;30937:9;30933:19;30926:35;31010:9;31002:6;30998:22;30992:3;30981:9;30977:19;30970:51;31038:33;31064:6;31056;31038:33;:::i;:::-;31030:41;30289:788;-1:-1:-1;;;;;;;;;30289:788:225:o;31552:175::-;31589:3;31633:4;31626:5;31622:16;31662:4;31653:7;31650:17;31647:43;;31670:18;;:::i;:::-;31719:1;31706:15;;31552:175;-1:-1:-1;;31552:175:225:o","linkReferences":{},"immutableReferences":{"35628":[{"start":3035,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","installModule(address,bytes)":"8da798da","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","supportsInterface(bytes4)":"01ffc9a7","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"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\":[{\"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\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"Aggregates multiple system implementations for the World.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"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.\"}}],\"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_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"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_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"installModule(address,bytes)\":{\"details\":\"Validates the given module against the IModule interface and delegates the installation process. The module is then registered in the InstalledModules table.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for module installation.\",\"module\":\"The module to be installed.\"}},\"registerDelegation(address,bytes32,bytes)\":{\"details\":\"Creates a new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\",\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\"}},\"registerFunctionSelector(bytes32,string)\":{\"details\":\"Creates a mapping between a World function and its associated system function\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerNamespace(bytes32)\":{\"details\":\"Creates a new namespace resource with the given ID\",\"params\":{\"namespaceId\":\"The unique identifier for the new namespace\"}},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"details\":\"Sets up a new delegation control for a specific namespace\",\"params\":{\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\",\"namespaceId\":\"The ID of the namespace\"}},\"registerRootFunctionSelector(bytes32,string,string)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\",\"worldFunctionSignature\":\"The signature of the World function\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerStoreHook(bytes32,address,uint8)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.\",\"params\":{\"enabledHooksBitmap\":\"A bitmap indicating which hook functionalities are enabled.\",\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table for which the hook is being registered.\"}},\"registerSystem(bytes32,address,bool)\":{\"details\":\"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.\",\"params\":{\"publicAccess\":\"Flag indicating if access control check is bypassed\",\"system\":\"The system being registered\",\"systemId\":\"The unique identifier for the system\"}},\"registerSystemHook(bytes32,address,uint8)\":{\"details\":\"Adds a new hook for the system at the provided system ID\",\"params\":{\"enabledHooksBitmap\":\"Bitmap indicating which hooks are enabled\",\"hookAddress\":\"The address of the hook being registered\",\"systemId\":\"The ID of the system\"}},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"details\":\"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.\",\"params\":{\"fieldLayout\":\"The field layout structure for the table.\",\"fieldNames\":\"The names of the fields in the table.\",\"keyNames\":\"The names associated with the keys in the table.\",\"keySchema\":\"The schema for the keys of the table.\",\"tableId\":\"The resource ID of the table.\",\"valueSchema\":\"The schema for the values within the table.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterDelegation(address)\":{\"details\":\"Deletes the new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\"}},\"unregisterNamespaceDelegation(bytes32)\":{\"details\":\"Deletes the delegation control for a specific namespace\",\"params\":{\"namespaceId\":\"The ID of the namespace\"}},\"unregisterStoreHook(bytes32,address)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs.\",\"params\":{\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table from which the hook is being unregistered.\"}},\"unregisterSystemHook(bytes32,address)\":{\"details\":\"Removes a hook for the system at the provided system ID\",\"params\":{\"hookAddress\":\"The address of the hook being unregistered\",\"systemId\":\"The ID of the system\"}}},\"title\":\"Registration System for World\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"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.\"}],\"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_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index 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_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"installModule(address,bytes)\":{\"notice\":\"Installs a module into the World under a specified namespace.\"},\"registerDelegation(address,bytes32,bytes)\":{\"notice\":\"Registers a delegation for the caller\"},\"registerFunctionSelector(bytes32,string)\":{\"notice\":\"Registers a new World function selector\"},\"registerNamespace(bytes32)\":{\"notice\":\"Registers a new namespace\"},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"notice\":\"Registers a delegation for a namespace\"},\"registerRootFunctionSelector(bytes32,string,string)\":{\"notice\":\"Registers a root World function selector\"},\"registerStoreHook(bytes32,address,uint8)\":{\"notice\":\"Register a storage hook for a specified table.\"},\"registerSystem(bytes32,address,bool)\":{\"notice\":\"Registers a system\"},\"registerSystemHook(bytes32,address,uint8)\":{\"notice\":\"Registers a new system hook\"},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"notice\":\"Register a table within the World framework.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterDelegation(address)\":{\"notice\":\"Unregisters a delegation\"},\"unregisterNamespaceDelegation(bytes32)\":{\"notice\":\"Unregisters a delegation for a namespace\"},\"unregisterStoreHook(bytes32,address)\":{\"notice\":\"Unregister a previously registered storage hook for a specified table.\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"notice\":\"This system aggregates World registration and installation functionalities externalized from the World contract, aiming to keep the World contract's bytecode lean.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol\":\"RegistrationSystem\"},\"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/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"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/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"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\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"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\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"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\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"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\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"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\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"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\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xb9d3ad8030a8d111971cbf775c1834313736c2f714d2bcb90fe065a928abe2c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://702c7297150819d078d498d3c6ebbc9dc9414c35aaf1f8e19ae4c5beb5048c7d\",\"dweb:/ipfs/QmZxKTDNLvVDV4jJ6S2qu9HnPbSXq1hRfgazJAL1xWkSkt\"]},\"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/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xe0b2ae91638eb7a609ce29428b3ab2a796f06558cf82cca9a258fd4ff06690dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://522872daab151f15b83bb63a41dd54bc9142b8875fabd43f4bdae209f7532fd1\",\"dweb:/ipfs/QmNRWboeoneiCkewk7BLp27yQCj7NE6DGNiaeWt6Z4jYtX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b\",\"dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729\",\"dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5\",\"dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol\":{\"keccak256\":\"0x5aa1ad023ec7e30b102275af8f76e08d195e277fd89fb5fffd8436adf7dbc3f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5389a9204b6714c8494f169277ccfdcf43ab3d969cafddf8a5eb61d2a2b827a4\",\"dweb:/ipfs/QmVvkj8hEcUQZTvHptDe7fEZHnH9bnut6f3jaLSquPgBCw\"]},\"node_modules/@latticexyz/world/src/modules/init/constants.sol\":{\"keccak256\":\"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752\",\"dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0x1be1b12b2b2c7ff519cbe503ddda58cd308a8067e9ff7a168f3833031cf3f93d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37cede506e9219fa7a1c518ece3fa6333ccad58b4b792629044288d2d9b9e8d1\",\"dweb:/ipfs/QmcFo72Bv2t5GFQgM71NNB7xNLnQwG39oE9KTrdaNsv9ZV\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86\",\"dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0x55eeb860659c933f5ab71fb362744fb75d429cd6d77c487c55e57fd0c52690f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b55452519e038f6e12ed2afe815bd30d1fdb172bd39ed6724e2c7da148c72daf\",\"dweb:/ipfs/QmerkghFNefXFacXzHVJDrLLDDykmEuHZ9VVVYf7V6GunZ\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/createDelegation.sol\":{\"keccak256\":\"0xcc77f108d653e54c3556047d69421c4864324aabbc4d29afc64c8ee20b1b622e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://974668744ac9b5d267952c52a60a6e2018067761a019af9cecfd2fbb3fa9a4aa\",\"dweb:/ipfs/QmaiBpSkRwLRGgB6GjWL2dAYVe78yKtmBDpodBKpBrY2Fz\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0x361f8259c4a5ba355b2aad118befe00f7fe5169be730d6c0ca11ab7a863bd6fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccc850a1ea57e900d85e2c5fac02c36d55b42d2345b439ea7044ea42f5a49c01\",\"dweb:/ipfs/QmVShgn2FgTTg9QGnL5Fzhovowmu1C7fABKLJTxbewZzEG\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":[{"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":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"}],"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."}},"installModule(address,bytes)":{"details":"Validates the given module against the IModule interface and delegates the installation process. The module is then registered in the InstalledModules table.","params":{"encodedArgs":"The ABI encoded arguments for module installation.","module":"The module to be installed."}},"registerDelegation(address,bytes32,bytes)":{"details":"Creates a new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee","delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation"}},"registerFunctionSelector(bytes32,string)":{"details":"Creates a mapping between a World function and its associated system function","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerNamespace(bytes32)":{"details":"Creates a new namespace resource with the given ID","params":{"namespaceId":"The unique identifier for the new namespace"}},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"details":"Sets up a new delegation control for a specific namespace","params":{"delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation","namespaceId":"The ID of the namespace"}},"registerRootFunctionSelector(bytes32,string,string)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID","worldFunctionSignature":"The signature of the World function"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerStoreHook(bytes32,address,uint8)":{"details":"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.","params":{"enabledHooksBitmap":"A bitmap indicating which hook functionalities are enabled.","hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table for which the hook is being registered."}},"registerSystem(bytes32,address,bool)":{"details":"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.","params":{"publicAccess":"Flag indicating if access control check is bypassed","system":"The system being registered","systemId":"The unique identifier for the system"}},"registerSystemHook(bytes32,address,uint8)":{"details":"Adds a new hook for the system at the provided system ID","params":{"enabledHooksBitmap":"Bitmap indicating which hooks are enabled","hookAddress":"The address of the hook being registered","systemId":"The ID of the system"}},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"details":"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.","params":{"fieldLayout":"The field layout structure for the table.","fieldNames":"The names of the fields in the table.","keyNames":"The names associated with the keys in the table.","keySchema":"The schema for the keys of the table.","tableId":"The resource ID of the table.","valueSchema":"The schema for the values within the table."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterDelegation(address)":{"details":"Deletes the new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee"}},"unregisterNamespaceDelegation(bytes32)":{"details":"Deletes the delegation control for a specific namespace","params":{"namespaceId":"The ID of the namespace"}},"unregisterStoreHook(bytes32,address)":{"details":"The caller must be the owner of the namespace to which the table belongs.","params":{"hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table from which the hook is being unregistered."}},"unregisterSystemHook(bytes32,address)":{"details":"Removes a hook for the system at the provided system ID","params":{"hookAddress":"The address of the hook being unregistered","systemId":"The ID of the system"}}},"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."},"installModule(address,bytes)":{"notice":"Installs a module into the World under a specified namespace."},"registerDelegation(address,bytes32,bytes)":{"notice":"Registers a delegation for the caller"},"registerFunctionSelector(bytes32,string)":{"notice":"Registers a new World function selector"},"registerNamespace(bytes32)":{"notice":"Registers a new namespace"},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"notice":"Registers a delegation for a namespace"},"registerRootFunctionSelector(bytes32,string,string)":{"notice":"Registers a root World function selector"},"registerStoreHook(bytes32,address,uint8)":{"notice":"Register a storage hook for a specified table."},"registerSystem(bytes32,address,bool)":{"notice":"Registers a system"},"registerSystemHook(bytes32,address,uint8)":{"notice":"Registers a new system hook"},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"notice":"Register a table within the World framework."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterDelegation(address)":{"notice":"Unregisters a delegation"},"unregisterNamespaceDelegation(bytes32)":{"notice":"Unregisters a delegation for a namespace"},"unregisterStoreHook(bytes32,address)":{"notice":"Unregister a previously registered storage hook for a specified table."},"unregisterSystemHook(bytes32,address)":{"notice":"Unregisters a system hook"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol":"RegistrationSystem"},"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/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"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/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"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/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":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"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":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"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":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"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/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"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":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"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":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"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":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xb9d3ad8030a8d111971cbf775c1834313736c2f714d2bcb90fe065a928abe2c8","urls":["bzz-raw://702c7297150819d078d498d3c6ebbc9dc9414c35aaf1f8e19ae4c5beb5048c7d","dweb:/ipfs/QmZxKTDNLvVDV4jJ6S2qu9HnPbSXq1hRfgazJAL1xWkSkt"],"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/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xe0b2ae91638eb7a609ce29428b3ab2a796f06558cf82cca9a258fd4ff06690dd","urls":["bzz-raw://522872daab151f15b83bb63a41dd54bc9142b8875fabd43f4bdae209f7532fd1","dweb:/ipfs/QmNRWboeoneiCkewk7BLp27yQCj7NE6DGNiaeWt6Z4jYtX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05","urls":["bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b","dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d","urls":["bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729","dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1","urls":["bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5","dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol":{"keccak256":"0x5aa1ad023ec7e30b102275af8f76e08d195e277fd89fb5fffd8436adf7dbc3f2","urls":["bzz-raw://5389a9204b6714c8494f169277ccfdcf43ab3d969cafddf8a5eb61d2a2b827a4","dweb:/ipfs/QmVvkj8hEcUQZTvHptDe7fEZHnH9bnut6f3jaLSquPgBCw"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/constants.sol":{"keccak256":"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9","urls":["bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752","dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol":{"keccak256":"0x1be1b12b2b2c7ff519cbe503ddda58cd308a8067e9ff7a168f3833031cf3f93d","urls":["bzz-raw://37cede506e9219fa7a1c518ece3fa6333ccad58b4b792629044288d2d9b9e8d1","dweb:/ipfs/QmcFo72Bv2t5GFQgM71NNB7xNLnQwG39oE9KTrdaNsv9ZV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":{"keccak256":"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498","urls":["bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86","dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0x55eeb860659c933f5ab71fb362744fb75d429cd6d77c487c55e57fd0c52690f6","urls":["bzz-raw://b55452519e038f6e12ed2afe815bd30d1fdb172bd39ed6724e2c7da148c72daf","dweb:/ipfs/QmerkghFNefXFacXzHVJDrLLDDykmEuHZ9VVVYf7V6GunZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/createDelegation.sol":{"keccak256":"0xcc77f108d653e54c3556047d69421c4864324aabbc4d29afc64c8ee20b1b622e","urls":["bzz-raw://974668744ac9b5d267952c52a60a6e2018067761a019af9cecfd2fbb3fa9a4aa","dweb:/ipfs/QmaiBpSkRwLRGgB6GjWL2dAYVe78yKtmBDpodBKpBrY2Fz"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0x361f8259c4a5ba355b2aad118befe00f7fe5169be730d6c0ca11ab7a863bd6fd","urls":["bzz-raw://ccc850a1ea57e900d85e2c5fac02c36d55b42d2345b439ea7044ea42f5a49c01","dweb:/ipfs/QmVShgn2FgTTg9QGnL5Fzhovowmu1C7fABKLJTxbewZzEG"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":89}
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":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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":"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b50608051615828620000316000396000610bdb01526158286000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80636548a90a116100b2578063b29e408911610081578063cdc938c511610066578063cdc938c514610295578063d5f8337f146102a8578063e1af802c146102bb57600080fd5b8063b29e40891461026f578063bfdfaff71461028257600080fd5b80636548a90a146102235780638da798da14610236578063a92813ad14610249578063aa66e9c81461025c57600080fd5b80631d2257ba116101095780633350b6a9116100ee5780633350b6a9146101ea57806345ec9354146101fd578063530f4b601461021057600080fd5b80631d2257ba146101ab57806326d98102146101be57600080fd5b806301ffc9a71461013b57806305609129146101635780630ba51f4914610178578063119df25f1461018b575b600080fd5b61014e610149366004614c75565b6102c3565b60405190151581526020015b60405180910390f35b610176610171366004614cb4565b61032c565b005b610176610186366004614d30565b610353565b61019361041e565b6040516001600160a01b03909116815260200161015a565b6101766101b9366004614e7d565b61042d565b6101d16101cc366004614ed6565b61044d565b6040516001600160e01b0319909116815260200161015a565b6101766101f8366004614f1d565b6105a3565b604051601f19360135815260200161015a565b61017661021e366004614f75565b61071e565b6101d1610231366004614fb3565b61078a565b610176610244366004615016565b610865565b610176610257366004614cb4565b610927565b61017661026a366004615050565b610966565b61017661027d366004615050565b610998565b610176610290366004615069565b610a2d565b6101766102a33660046150a3565b610aed565b6101766102b6366004614f75565b610b06565b610193610bc7565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061032657506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610334610bd1565b6103458261034061041e565b610c35565b61034f8282610cae565b5050565b61035b610bd1565b600061036689610cd9565b6fffffffffffffffffffffffffffffffff1916036103c5578761038889610cf0565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b60405180910390fd5b6103e8616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e04565b6103f48861034061041e565b61041488888888610405888a615129565b61040f8789615129565b610e4f565b5050505050505050565b60006104286112b0565b905090565b610435610bd1565b61044861044061041e565b8484846112e2565b505050565b6000610457610bd1565b61737960f01b836001600160f01b031916146104b25761737960f01b8361047d85610cf0565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103bc939291906151af565b6104bb83610e04565b6104c78361034061041e565b60006104f06104d68560101b90565b71ffffffffffffffffffffffffffffffffffff191661133f565b9050600081846040516020016105079291906151d8565b604051602081830303815290604052905080805190602001209250600061052d846113c9565b90508015610573576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103bc565b84516020860120610585858883611479565b61058f8187611544565b6105998584611544565b5050505092915050565b6105ab610bd1565b61737960f01b836001600160f01b031916146105d15761737960f01b8361047d85610cf0565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b176105f581610e04565b6106018161034061041e565b61062b837fb5dee1270000000000000000000000000000000000000000000000000000000061160d565b600061063685610cd9565b6fffffffffffffffffffffffffffffffff191603610658578361038885610cf0565b600061066384611668565b905080158015906106745750848114155b156106b6576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103bc565b60006106c1866116ed565b90506001600160a01b038116156106ea576106db81611789565b6106e58382611808565b6106f5565b6106f58660016118a6565b610700868686611947565b61070a85876119ea565b61071683866001611a92565b505050505050565b610726610bd1565b610750827f1873396a0000000000000000000000000000000000000000000000000000000061160d565b610773616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e04565b61077f8361034061041e565b610448838383611b41565b6000610794610bd1565b60408051616e7360f01b602082015260006022820181905260308201526107d691016040516020818303038152906040526107ce90615230565b61034061041e565b8280519060200120905060008280519060200120905060006107f7836113c9565b9050801561083d576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319841660048201526024016103bc565b610848838784611479565b6108528285611544565b61085c8386611544565b50509392505050565b61086d610bd1565b610897827f6fdd1c800000000000000000000000000000000000000000000000000000000061160d565b6109136108a261041e565b600084846040516024016108b69190615254565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611c04565b5061034f8282805190602001206001611c31565b61092f610bd1565b61093b8261034061041e565b61034f7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611ce0565b61096e610bd1565b61097781611df3565b61098081610e04565b61098c8161034061041e565b61099581611e24565b50565b6109a0610bd1565b6109a981611df3565b6109b281611e8f565b6109bb81612081565b156109fe57806109ca82610cf0565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b610a098160016118a6565b610a1a81610a1561041e565b612106565b61099581610a2661041e565b6001611a92565b610a35610bd1565b610a3e83611df3565b610a47826121d0565b610a7d576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a898361034061041e565b6000610a94836116ed565b9050610ac0817f1a86b5500000000000000000000000000000000000000000000000000000000061160d565b610aca84846121ec565b815115610ae757610ae5610adc61041e565b8484600061226b565b505b50505050565b610af5610bd1565b610995610b0061041e565b8261227c565b610b0e610bd1565b61737960f01b836001600160f01b03191614610b345761737960f01b8361047d85610cf0565b610b5e827f540fbfa80000000000000000000000000000000000000000000000000000000061160d565b610b6783610e04565b610b8a616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e04565b610b968361034061041e565b610448836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b161761231e565b60006104286123c3565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c33576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610c62616e7360f01b6dffffffffffffffffffffffffffff60801b8516176123cd565b6001600160a01b03161461034f57610c7982610cf0565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103bc929190615267565b61034f7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611ce0565b6000610ce7607060106152a8565b9190911b919050565b606081601081901b6000610d0383610cd9565b90508271ffffffffffffffffffffffffffffffffffff19831615610d4457610d3f71ffffffffffffffffffffffffffffffffffff19841661133f565b610d7b565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610da257610d9d8361133f565b610dd9565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610deb939291906152bb565b6040516020818303038152906040529350505050919050565b610e0d81612081565b6109955780610e1b82610cf0565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b613a3160f11b866001600160f01b03191614801590610e7d5750611bdd60f21b866001600160f01b03191614155b15610ede57613a3160f11b8687604051602001610e9c91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103bc9392916004016151af565b610ee78561245e565b610ef28460016126a5565b610efd8360006126a5565b60e084901c60e885901c0160ff16825114610f5d5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff16815114610fbd5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110355760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b61103e85612841565b61104784612841565b146110995761105585612841565b61105e84612841565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b6110a285612873565b6110ab84612873565b146110fd576110b985612873565b6110c284612873565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60005b61110986612841565b8110156111a45761113361111d8583612890565b60c581111561112e5761112e615331565b6128b8565b6008601b8390030287901c60ff161461119c576008601b8290030286901c60ff1661116161111d8684612890565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b600101611100565b5060006111ce613a3160f11b6111ba8960101b90565b60101c6001600160f01b0319919091161790565b905060006111e5611bdd60f21b6111ba8a60101b90565b90506111f082612081565b806111ff57506111ff81612081565b1561125957878860405160200161121891815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103bc9291600401615110565b6112a588888888886040516020016112719190615347565b604051602081830303815290604052886040516020016112919190615347565b604051602081830303815290604052612918565b6104148860016118a6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112df5750335b90565b6112ed8484846129df565b6112f6826121d0565b15610ae7576000611306836116ed565b9050611332817f1a86b5500000000000000000000000000000000000000000000000000000000061160d565b610716858484600061226b565b606060005b6010811015611395576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561139557600101611344565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611421576114216153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612a95565b60006114858383612acb565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106114e3576114e36153c9565b602090810291909101015261153b7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612b0a565b50505050505050565b6060600061155183612e10565b9050600061155e84612e20565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115b7576115b76153c9565b60209081029190910101526107167f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612b0a565b6116178282612e49565b61034f576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103bc565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106116ad576116ad6153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612a95565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611726576117266153c9565b6020908102919091010152600061177e7f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612a95565b60601c949350505050565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106117cb576117cb6153c9565b602090810291909101015261034f7f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b612e65565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061183d5761183d6153c9565b602002602001018181525050816001600160a01b031660001b81600181518110611869576118696153c9565b60209081029190910101526104487f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b612e65565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106118dc576118dc6153c9565b6020026020010181815250506104487f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161192a91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b613131565b60006119538383613146565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611992576119926153c9565b602090810291909101015261153b7f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612b0a565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611a2c57611a2c6153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001611a7591815260200190565b60408051601f19818403018152919052630100080160dd1b613131565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611ac757611ac76153c9565b602002602001018181525050826001600160a01b031660001b81600181518110611af357611af36153c9565b602002602001018181525050610ae77f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161192a91151560f81b815260010190565b613a3160f11b836001600160f01b03191614611b7157613a3160f11b8384604051602001610e9c91815260200190565b611b7a83612081565b611bd3578283604051602001611b9291815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103bc9291600401615110565b610448836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613176565b6060600080611c158787878761321b565b9150915081611c2757611c2781613293565b9695505050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c7257611c726153c9565b6020026020010181815250508281600181518110611c9257611c926153c9565b602002602001018181525050610ae77f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b8260008560405160200161192a91151560f81b815260010190565b6000611cec848461329b565b90506000815167ffffffffffffffff811115611d0a57611d0a614dc6565b604051908082528060200260200182016040528015611d33578160200160208202803683370190505b5090506000805b8351811015611de457846001600160a01b0316611d7e858381518110611d6257611d626153c9565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611ddc57838181518110611d9e57611d9e6153c9565b6020026020010151838381518110611db857611db86153c9565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611d3a565b50808252610716868684613306565b616e7360f01b6dffffffffffffffffffffffffffff60801b821617811461099557616e7360f01b8161047d83610cf0565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611e5a57611e5a6153c9565b602090810291909101015261034f7f7462776f726c640000000000000000004e616d65737061636544656c656761748261335d565b6000611e9b8260101b90565b90506000611ebd71ffffffffffffffffffffffffffffffffffff19831661133f565b80519091508015610ae757611edf82611ed76001846153df565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611f70576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103bc565b60005b611f7e6001836153df565b811015610ae557602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f0000000000000000000000000000000000000000000000000000000000000014801561202b5750611fe683611ed78360016152a8565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b15612079576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103bc565b600101611f73565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106120ba576120ba6153c9565b602090810291909101015260006120fa7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612a95565b90506113c18160f81c90565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061213c5761213c6153c9565b6020026020010181815250506104487f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b8260008560405160200161219b919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000613131565b6000811515801561032657506121e5826133f8565b1592915050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612222576122226153c9565b6020026020010181815250506104487f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001611a7591815260200190565b6060600080611c1587878787613458565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106122bd576122bd6153c9565b602002602001018181525050816001600160a01b031660001b816001815181106122e9576122e96153c9565b60209081029190910101526104487f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261335d565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612354576123546153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b826000856040516020016123af91906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613628565b60006104286136d9565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612406576124066153c9565b6020908102919091010152600061177e7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612a95565b80612495576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006124a082612873565b905060058111156124e7576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103bc565b60006124f283612841565b9050600061250083836152a8565b9050601c811115612547576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103bc565b6000805b838110156125f25760ff601b82900360080287901c16600081900361259f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b60208111156125dd576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b6125e781846152a8565b92505060010161254b565b506125fc85613718565b81146126485761260b85613718565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103bc565b825b601c8110156107165760ff601b82900360080287901c16801561269c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b5060010161264a565b801580156126b1575081155b156126d25760405163d498615960e01b8152600060048201526024016103bc565b60006126dd83612873565b905060058111156127045760405163d498615960e01b8152600481018290526024016103bc565b600061270f84612841565b9050600061271d83836152a8565b9050601c8111156127445760405163d498615960e01b8152600481018290526024016103bc565b6000805b838110156127b057600061275f61111d8984612890565b90508060000361279b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a581846152a8565b925050600101612748565b506127ba86613718565b81146127e5576127c986613718565b60405163d498615960e01b81526004016103bc91815260200190565b825b8281101561153b5760006127fe61111d8984612890565b90508015612838576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016127e7565b600060086001612853600260206153df565b61285d91906153df565b61286791906153f2565b8260ff911c1692915050565b60006008600180612886600260206153df565b61285391906153df565b6000601b8290036008028360ff911c1660c58111156128b1576128b1615331565b9392505050565b6000808260c58111156128cd576128cd615331565b60ff16905060618110156128e757601f1660010192915050565b60618360c58111156128fb576128fb615331565b036129095750601492915050565b50600092915050565b50919050565b600061292586868661373b565b905060006129338484613771565b90506000612941858561378e565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061297b5761297b6153c9565b60209081029190910101526129d37f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612b0a565b50505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110612a2057612a206153c9565b602002602001018181525050826001600160a01b031660001b81600181518110612a4c57612a4c6153c9565b602002602001018181525050610ae77f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001611a7591815260200190565b6000612ac2612aa486866137a3565b60ff858116601b0360080285901c16612abd85876137f9565b613832565b95945050505050565b60608282604051602001612af39291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612b6357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612b569493929190615445565b60405180910390a2610716565b6000612b6e87613883565b905060005b8151811015612c47576000828281518110612b9057612b906153c9565b60200260200101519050612bbc6001826affffffffffffffffffffff191661390790919063ffffffff16565b15612c3e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612c0b908c908c908c908c908c908c90600401615484565b600060405180830381600087803b158015612c2557600080fd5b505af1158015612c39573d6000803e3d6000fd5b505050505b50600101612b73565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612c7e9493929190615445565b60405180910390a26000612c9288886137a3565b90506000602087019050612caa826000895184613925565b6000612cb585612873565b1115612d39576000612cc78a8a6139e4565b878155905060208601915060008060005b612ce188612873565b8160ff161015612d3457612cf68d8d83613a3a565b9250612d118a8260ff166028026038011c64ffffffffff1690565b9150612d208360008488613925565b612d2a82866152a8565b9450600101612cd8565b505050505b60005b83518110156129d3576000848281518110612d5957612d596153c9565b60200260200101519050612d856002826affffffffffffffffffffff191661390790919063ffffffff16565b15612e07576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612dd4908e908e908e908e908e908e90600401615484565b600060405180830381600087803b158015612dee57600080fd5b505af1158015612e02573d6000803e3d6000fd5b505050505b50600101612d3c565b60006103268251603881901b1790565b606081604051602001612e3391906154dd565b6040516020818303038152906040529050919050565b6000612e5483613aba565b80156128b157506128b18383613afb565b611bdd60f21b836001600160f01b03191603612eb857827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051612eab91906154f9565b60405180910390a2505050565b6000612ec384613883565b905060005b8151811015612f96576000828281518110612ee557612ee56153c9565b60200260200101519050612f116040826affffffffffffffffffffff191661390790919063ffffffff16565b15612f8d576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612f5a9089908990899060040161550c565b600060405180830381600087803b158015612f7457600080fd5b505af1158015612f88573d6000803e3d6000fd5b505050505b50600101612ec8565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0784604051612fc791906154f9565b60405180910390a26000612fdb85856137a3565b9050613034816000612fec86613718565b67ffffffffffffffff81111561300457613004614dc6565b6040519080825280601f01601f19166020018201604052801561302e576020820181803683370190505b50613bb3565b600061303f84612873565b111561306057600061305186866139e4565b905061305e816020613bc9565b505b60005b8251811015610716576000838281518110613080576130806153c9565b602002602001015190506130ac6080826affffffffffffffffffffff191661390790919063ffffffff16565b15613128576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906130f5908a908a908a9060040161550c565b600060405180830381600087803b15801561310f57600080fd5b505af1158015613123573d6000803e3d6000fd5b505050505b50600101613063565b610ae5858561314084876137f9565b85613c06565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612af3565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106131ac576131ac6153c9565b6020026020010181815250506104487f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b8260008560405160200161320791906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613e6e565b60006060836001600160a01b03166000613236858989613ea9565b60405161324391906154dd565b60006040518083038185875af1925050503d8060008114613280576040519150601f19603f3d011682016040523d82523d6000602084013e613285565b606091505b509097909650945050505050565b805160208201fd5b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106132d5576132d56153c9565b60200260200101818152505060006132ef85836000613ec0565b9050612ac26133018260008451613efa565b613f88565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061333c5761333c6153c9565b602002602001018181525050610ae78482600061335886613f99565b613fa9565b60006133676136d9565b9050306001600160a01b03821603613383576104488383613fe4565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906133ca9086908690600401615535565b600060405180830381600087803b1580156133e457600080fd5b505af115801561153b573d6000803e3d6000fd5b6040805161737960f01b60208201526000602282018190527f756e6c696d6974656400000000000000000000000000000000000000000000006030830152910160405160208183030381529060405261345090615230565b909114919050565b60006060600061346786613ff7565b905060005b815181101561353a576000828281518110613489576134896153c9565b602002602001015190506134b56001826affffffffffffffffffffff191661390790919063ffffffff16565b15613531576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906134fe908c908c908c9060040161554e565b600060405180830381600087803b15801561351857600080fd5b505af115801561352c573d6000803e3d6000fd5b505050505b5060010161346c565b5061354787858888614069565b909350915060005b815181101561361d57600082828151811061356c5761356c6153c9565b602002602001015190506135986002826affffffffffffffffffffff191661390790919063ffffffff16565b15613614576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f99906135e1908c908c908c9060040161554e565b600060405180830381600087803b1580156135fb57600080fd5b505af115801561360f573d6000803e3d6000fd5b505050505b5060010161354f565b505094509492505050565b60006136326136d9565b9050306001600160a01b038216036136555761365085858585613e6e565b610ae5565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906136a0908890889088908890600401615576565b600060405180830381600087803b1580156136ba57600080fd5b505af11580156136ce573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680613713573391505090565b919050565b60006008613728600260206153df565b61373291906153f2565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b176128b1565b60608282604051602001612af39291906155aa565b600082826040516020016137b89291906155d9565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561382a5761382060ff601b83900360080287901c16836152a8565b91506001016137fe565b509392505050565b6000602082106138585760208204840193506020828161385457613854615615565b0691505b508254600882021b60208290038084111561382a576001850154600882021c82179150509392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106138bd576138bd6153c9565b602090810291909101015260006138f57f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613ec0565b90506113c16133018260008451613efa565b60008160ff16826139188560581c90565b1660ff1614905092915050565b821561399f576020831061394f5760208304840193506020838161394b5761394b615615565b0692505b821561399f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613990575050610ae7565b50600194909401939182900391015b5b602082106139c15780518455600190930192601f19909101906020016139a0565b8115610ae7576000600019600884021c8554835182191691161785555050505050565b600082826040516020016139f99291906155d9565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613a4f9291906155d9565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000613ae6827f01ffc9a700000000000000000000000000000000000000000000000000000000613afb565b801561032657506121e5826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613b9c575060208210155b8015613ba85750600081115b979650505050505050565b61044883838351613bc48560200190565b613925565b60006020613bd883601f6152a8565b613be2919061562b565b613bec90846152a8565b90505b808310156104485760008355600183019250613bef565b611bdd60f21b846001600160f01b03191603613c5d57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051613c509392919061564d565b60405180910390a2610ae7565b6000613c6985856137a3565b90506000613c7686613883565b905060005b8151811015613d4b576000828281518110613c9857613c986153c9565b60200260200101519050613cc46004826affffffffffffffffffffff191661390790919063ffffffff16565b15613d42576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613d0f908b908b908b908b90600401615680565b600060405180830381600087803b158015613d2957600080fd5b505af1158015613d3d573d6000803e3d6000fd5b505050505b50600101613c7b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051613d809392919061564d565b60405180910390a2613d9b828565ffffffffffff1685613bb3565b60005b815181101561153b576000828281518110613dbb57613dbb6153c9565b60200260200101519050613de76008826affffffffffffffffffffff191661390790919063ffffffff16565b15613e65576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613e32908b908b908b908b90600401615680565b600060405180830381600087803b158015613e4c57600080fd5b505af1158015613e60573d6000803e3d6000fd5b505050505b50600101613d9e565b6000613e7a858561413b565b90506000613e97828560ff166028026038011c64ffffffffff1690565b9050610716868686846000888861414e565b6060838383604051602001613759939291906156b9565b60606113c1613ed0858585613a3a565b6000613ef585613ee0898961413b565b9060ff166028026038011c64ffffffffff1690565b6144f8565b600081831180613f0a5750835182115b15613f47578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103bc939291906156f8565b60208401613f5584826152a8565b90506000613f6385856153df565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006128b1836015600061451b565b6060816128b18160156000614596565b6000613fb5858561413b565b90506000613fd2828560ff166028026038011c64ffffffffff1690565b9050610716868686600085888861414e565b61034f8282613ff2856145ea565b612e65565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110614031576140316153c9565b602090810291909101015260006138f57f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383613ec0565b600060606000806140798661466f565b90925090506001600160a01b0382166140965785610e1b87610cf0565b806140a5576140a58689614727565b86156140e9576dffffffffffffffffffffffffffff60801b8616616e7360f01b1760006140d18261473e565b90506140e6826140e18b846152a8565b6147b7565b50505b60006140f58760101b90565b71ffffffffffffffffffffffffffffffffffff1916146141205761411b8888848861321b565b61412c565b61412c88888488614836565b90999098509650505050505050565b60006128b161414a84846139e4565b5490565b613a3160f11b876001600160f01b0319161461417e57613a3160f11b8788604051602001610e9c91815260200190565b6000614199828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836141b291906153df565b6141bc91906152a8565b90508082141580156141de5750816141d4868861571d565b64ffffffffff1614155b1561422e576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103bc565b818664ffffffffff16111561427f576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103bc565b600061428c848984614897565b905060006142998b613883565b905060005b81518110156143645760008282815181106142bb576142bb6153c9565b602002602001015190506142e76010826affffffffffffffffffffff191661390790919063ffffffff16565b1561435b57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016143289796959493929190615742565b600060405180830381600087803b15801561434257600080fd5b505af1158015614356573d6000803e3d6000fd5b505050505b5060010161429e565b5064ffffffffff881660005b8a60ff168160ff1610156143a357614397878260ff166028026038011c64ffffffffff1690565b90910190600101614370565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516143de969594939291906157a0565b60405180910390a2508284146143ff5760006143fa8c8c6139e4565b839055505b600061440c8c8c8c613a3a565b9050614420818a64ffffffffff1689613bb3565b5060005b81518110156144ea576000828281518110614441576144416153c9565b6020026020010151905061446d6020826affffffffffffffffffffff191661390790919063ffffffff16565b156144e157606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016144ae9796959493929190615742565b600060405180830381600087803b1580156144c857600080fd5b505af11580156144dc573d6000803e3d6000fd5b505050505b50600101614424565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261382a85858584614965565b606060006145298560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161454f5761454f615615565b04905060405193506020840160208202810160405281855260005b8281101561458a578451871c82529387019360209091019060010161456a565b50505050509392505050565b825160609060006145a785836153f2565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561458a578051871b835291870191600191909101906020016145c9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161463957507e60030220202000000000000000000000000000000000000000000000000000919050565b6103266146667f746273746f72650000000000000000005461626c65730000000000000000000084614a31565b60206000613832565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106146a9576146a96153c9565b6020908102919091010152600080806147027f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614a4d565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6147318282614b55565b61034f57610c7982610cf0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110614777576147776153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612a95565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106147ed576147ed6153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001611a7591815260200190565b60006060836001600160a01b031661484f848888613ea9565b60405161485c91906154dd565b600060405180830381855af49150503d8060008114613280576040519150601f19603f3d011682016040523d82523d6000602084013e613285565b600064ffffffffff8211156148db576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff1680851061490d5780850382019150614915565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156149ec576020831061498f5760208304840193506020838161498b5761498b615615565b0692505b82156149ec5760208390036000818410156149b25750600019600884021c6149bc565b50600019600882021c5b8554600886021b8184511682198216178452508184116149dd575050610ae7565b50600194909401939182900391015b5b60208210614a0e5783548152600190930192601f19909101906020016149ed565b8115610ae7576000600019600884021c8251865482191691161782525050505050565b60408051602081018490529081018290526000906060016137b8565b6060600060606000614a5e85613718565b9050614a6b878783614b8b565b93506000614a7886612873565b90508015614b4a57614a8a888861413b565b935066ffffffffffffff841667ffffffffffffffff811115614aae57614aae614dc6565b6040519080825280601f01601f191660200182016040528015614ad8576020820181803683370190505b5092506020830160005b828160ff161015614b47576000614afa8b8b84613a3a565b90506000614b17888460ff166028026038011c64ffffffffff1690565b9050614b268260008387614965565b614b3081856152a8565b935050508080614b3f906157fc565b915050614ae2565b50505b505093509350939050565b6000614b7b616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614bc4565b806128b157506128b18383614bc4565b606081600003614baa57506040805160208101909152600081526128b1565b6000614bb685856137a3565b9050612ac2816000856144f8565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614bfd57614bfd6153c9565b602002602001018181525050826001600160a01b031660001b81600181518110614c2957614c296153c9565b60209081029190910101526000614c697f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612a95565b9050612ac28160f81c90565b600060208284031215614c8757600080fd5b81356001600160e01b0319811681146128b157600080fd5b6001600160a01b038116811461099557600080fd5b60008060408385031215614cc757600080fd5b823591506020830135614cd981614c9f565b809150509250929050565b60008083601f840112614cf657600080fd5b50813567ffffffffffffffff811115614d0e57600080fd5b6020830191508360208260051b8501011115614d2957600080fd5b9250929050565b60008060008060008060008060c0898b031215614d4c57600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614d8057600080fd5b614d8c8c838d01614ce4565b909650945060a08b0135915080821115614da557600080fd5b50614db28b828c01614ce4565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614e0557614e05614dc6565b604052919050565b600082601f830112614e1e57600080fd5b813567ffffffffffffffff811115614e3857614e38614dc6565b614e4b6020601f19601f84011601614ddc565b818152846020838601011115614e6057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614e9257600080fd5b8335614e9d81614c9f565b925060208401359150604084013567ffffffffffffffff811115614ec057600080fd5b614ecc86828701614e0d565b9150509250925092565b60008060408385031215614ee957600080fd5b82359150602083013567ffffffffffffffff811115614f0757600080fd5b614f1385828601614e0d565b9150509250929050565b600080600060608486031215614f3257600080fd5b833592506020840135614f4481614c9f565b915060408401358015158114614f5957600080fd5b809150509250925092565b803560ff8116811461371357600080fd5b600080600060608486031215614f8a57600080fd5b833592506020840135614f9c81614c9f565b9150614faa60408501614f64565b90509250925092565b600080600060608486031215614fc857600080fd5b83359250602084013567ffffffffffffffff80821115614fe757600080fd5b614ff387838801614e0d565b9350604086013591508082111561500957600080fd5b50614ecc86828701614e0d565b6000806040838503121561502957600080fd5b823561503481614c9f565b9150602083013567ffffffffffffffff811115614f0757600080fd5b60006020828403121561506257600080fd5b5035919050565b60008060006060848603121561507e57600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614ec057600080fd5b6000602082840312156150b557600080fd5b81356128b181614c9f565b60005b838110156150db5781810151838201526020016150c3565b50506000910152565b600081518084526150fc8160208601602086016150c0565b601f01601f19169290920160200192915050565b8281526040602082015260006113c160408301846150e4565b600067ffffffffffffffff8084111561514457615144614dc6565b8360051b602061515660208301614ddc565b8681529185019160208101903684111561516f57600080fd5b865b848110156151a3578035868111156151895760008081fd5b61519536828b01614e0d565b845250918301918301615171565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612ac260608301846150e4565b600083516151ea8184602088016150c0565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516152248160028401602088016150c0565b01600201949350505050565b805160208083015191908110156129125760001960209190910360031b1b16919050565b6020815260006128b160208301846150e4565b60408152600061527a60408301856150e4565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032657610326615292565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516153048160038601602089016150c0565b8084019050816003820152845191506153248260048301602088016150c0565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156153bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526153aa8583516150e4565b94509285019290850190600101615370565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561032657610326615292565b808202811582820484141761032657610326615292565b60008151808452602080850194506020840160005b8381101561543a5781518752958201959082019060010161541e565b509495945050505050565b6080815260006154586080830187615409565b828103602084015261546a81876150e4565b90508460408401528281036060840152613ba881856150e4565b86815260c06020820152600061549d60c0830188615409565b82810360408401526154af81886150e4565b905085606084015282810360808401526154c981866150e4565b9150508260a0830152979650505050505050565b600082516154ef8184602087016150c0565b9190910192915050565b6020815260006128b16020830184615409565b8381526060602082015260006155256060830185615409565b9050826040830152949350505050565b8281526040602082015260006113c16040830184615409565b6001600160a01b0384168152826020820152606060408201526000612ac260608301846150e4565b84815260806020820152600061558f6080830186615409565b60ff851660408401528281036060840152613ba881856150e4565b600083516155bc8184602088016150c0565b8351908301906155d08183602088016150c0565b01949350505050565b8281526000602080830184516020860160005b82811015615608578151845292840192908401906001016155ec565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261564857634e487b7160e01b600052601260045260246000fd5b500490565b6060815260006156606060830186615409565b65ffffffffffff851660208401528281036040840152611c2781856150e4565b8481526080602082015260006156996080830186615409565b65ffffffffffff851660408401528281036060840152613ba881856150e4565b600084516156cb8184602089016150c0565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b60608152600061570b60608301866150e4565b60208301949094525060400152919050565b64ffffffffff81811683821601908082111561573b5761573b615292565b5092915050565b87815260e06020820152600061575b60e0830189615409565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261579281856150e4565b9a9950505050505050505050565b60c0815260006157b360c0830189615409565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526157ef81856150e4565b9998505050505050505050565b600060ff821660ff810361581257615812615292565b6001019291505056fea164736f6c6343000818000a","sourceMap":"740:212:89:-:0;;;981:4:88;938:48;;740:212:89;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80636548a90a116100b2578063b29e408911610081578063cdc938c511610066578063cdc938c514610295578063d5f8337f146102a8578063e1af802c146102bb57600080fd5b8063b29e40891461026f578063bfdfaff71461028257600080fd5b80636548a90a146102235780638da798da14610236578063a92813ad14610249578063aa66e9c81461025c57600080fd5b80631d2257ba116101095780633350b6a9116100ee5780633350b6a9146101ea57806345ec9354146101fd578063530f4b601461021057600080fd5b80631d2257ba146101ab57806326d98102146101be57600080fd5b806301ffc9a71461013b57806305609129146101635780630ba51f4914610178578063119df25f1461018b575b600080fd5b61014e610149366004614c75565b6102c3565b60405190151581526020015b60405180910390f35b610176610171366004614cb4565b61032c565b005b610176610186366004614d30565b610353565b61019361041e565b6040516001600160a01b03909116815260200161015a565b6101766101b9366004614e7d565b61042d565b6101d16101cc366004614ed6565b61044d565b6040516001600160e01b0319909116815260200161015a565b6101766101f8366004614f1d565b6105a3565b604051601f19360135815260200161015a565b61017661021e366004614f75565b61071e565b6101d1610231366004614fb3565b61078a565b610176610244366004615016565b610865565b610176610257366004614cb4565b610927565b61017661026a366004615050565b610966565b61017661027d366004615050565b610998565b610176610290366004615069565b610a2d565b6101766102a33660046150a3565b610aed565b6101766102b6366004614f75565b610b06565b610193610bc7565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061032657506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610334610bd1565b6103458261034061041e565b610c35565b61034f8282610cae565b5050565b61035b610bd1565b600061036689610cd9565b6fffffffffffffffffffffffffffffffff1916036103c5578761038889610cf0565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b60405180910390fd5b6103e8616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e04565b6103f48861034061041e565b61041488888888610405888a615129565b61040f8789615129565b610e4f565b5050505050505050565b60006104286112b0565b905090565b610435610bd1565b61044861044061041e565b8484846112e2565b505050565b6000610457610bd1565b61737960f01b836001600160f01b031916146104b25761737960f01b8361047d85610cf0565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103bc939291906151af565b6104bb83610e04565b6104c78361034061041e565b60006104f06104d68560101b90565b71ffffffffffffffffffffffffffffffffffff191661133f565b9050600081846040516020016105079291906151d8565b604051602081830303815290604052905080805190602001209250600061052d846113c9565b90508015610573576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103bc565b84516020860120610585858883611479565b61058f8187611544565b6105998584611544565b5050505092915050565b6105ab610bd1565b61737960f01b836001600160f01b031916146105d15761737960f01b8361047d85610cf0565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b176105f581610e04565b6106018161034061041e565b61062b837fb5dee1270000000000000000000000000000000000000000000000000000000061160d565b600061063685610cd9565b6fffffffffffffffffffffffffffffffff191603610658578361038885610cf0565b600061066384611668565b905080158015906106745750848114155b156106b6576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103bc565b60006106c1866116ed565b90506001600160a01b038116156106ea576106db81611789565b6106e58382611808565b6106f5565b6106f58660016118a6565b610700868686611947565b61070a85876119ea565b61071683866001611a92565b505050505050565b610726610bd1565b610750827f1873396a0000000000000000000000000000000000000000000000000000000061160d565b610773616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e04565b61077f8361034061041e565b610448838383611b41565b6000610794610bd1565b60408051616e7360f01b602082015260006022820181905260308201526107d691016040516020818303038152906040526107ce90615230565b61034061041e565b8280519060200120905060008280519060200120905060006107f7836113c9565b9050801561083d576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319841660048201526024016103bc565b610848838784611479565b6108528285611544565b61085c8386611544565b50509392505050565b61086d610bd1565b610897827f6fdd1c800000000000000000000000000000000000000000000000000000000061160d565b6109136108a261041e565b600084846040516024016108b69190615254565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611c04565b5061034f8282805190602001206001611c31565b61092f610bd1565b61093b8261034061041e565b61034f7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611ce0565b61096e610bd1565b61097781611df3565b61098081610e04565b61098c8161034061041e565b61099581611e24565b50565b6109a0610bd1565b6109a981611df3565b6109b281611e8f565b6109bb81612081565b156109fe57806109ca82610cf0565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b610a098160016118a6565b610a1a81610a1561041e565b612106565b61099581610a2661041e565b6001611a92565b610a35610bd1565b610a3e83611df3565b610a47826121d0565b610a7d576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a898361034061041e565b6000610a94836116ed565b9050610ac0817f1a86b5500000000000000000000000000000000000000000000000000000000061160d565b610aca84846121ec565b815115610ae757610ae5610adc61041e565b8484600061226b565b505b50505050565b610af5610bd1565b610995610b0061041e565b8261227c565b610b0e610bd1565b61737960f01b836001600160f01b03191614610b345761737960f01b8361047d85610cf0565b610b5e827f540fbfa80000000000000000000000000000000000000000000000000000000061160d565b610b6783610e04565b610b8a616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e04565b610b968361034061041e565b610448836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b161761231e565b60006104286123c3565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c33576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610c62616e7360f01b6dffffffffffffffffffffffffffff60801b8516176123cd565b6001600160a01b03161461034f57610c7982610cf0565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103bc929190615267565b61034f7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611ce0565b6000610ce7607060106152a8565b9190911b919050565b606081601081901b6000610d0383610cd9565b90508271ffffffffffffffffffffffffffffffffffff19831615610d4457610d3f71ffffffffffffffffffffffffffffffffffff19841661133f565b610d7b565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610da257610d9d8361133f565b610dd9565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610deb939291906152bb565b6040516020818303038152906040529350505050919050565b610e0d81612081565b6109955780610e1b82610cf0565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103bc929190615110565b613a3160f11b866001600160f01b03191614801590610e7d5750611bdd60f21b866001600160f01b03191614155b15610ede57613a3160f11b8687604051602001610e9c91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103bc9392916004016151af565b610ee78561245e565b610ef28460016126a5565b610efd8360006126a5565b60e084901c60e885901c0160ff16825114610f5d5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff16815114610fbd5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110355760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b61103e85612841565b61104784612841565b146110995761105585612841565b61105e84612841565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b6110a285612873565b6110ab84612873565b146110fd576110b985612873565b6110c284612873565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60005b61110986612841565b8110156111a45761113361111d8583612890565b60c581111561112e5761112e615331565b6128b8565b6008601b8390030287901c60ff161461119c576008601b8290030286901c60ff1661116161111d8684612890565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b600101611100565b5060006111ce613a3160f11b6111ba8960101b90565b60101c6001600160f01b0319919091161790565b905060006111e5611bdd60f21b6111ba8a60101b90565b90506111f082612081565b806111ff57506111ff81612081565b1561125957878860405160200161121891815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103bc9291600401615110565b6112a588888888886040516020016112719190615347565b604051602081830303815290604052886040516020016112919190615347565b604051602081830303815290604052612918565b6104148860016118a6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112df5750335b90565b6112ed8484846129df565b6112f6826121d0565b15610ae7576000611306836116ed565b9050611332817f1a86b5500000000000000000000000000000000000000000000000000000000061160d565b610716858484600061226b565b606060005b6010811015611395576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561139557600101611344565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611421576114216153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612a95565b60006114858383612acb565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106114e3576114e36153c9565b602090810291909101015261153b7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612b0a565b50505050505050565b6060600061155183612e10565b9050600061155e84612e20565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115b7576115b76153c9565b60209081029190910101526107167f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612b0a565b6116178282612e49565b61034f576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103bc565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106116ad576116ad6153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612a95565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611726576117266153c9565b6020908102919091010152600061177e7f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612a95565b60601c949350505050565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106117cb576117cb6153c9565b602090810291909101015261034f7f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b612e65565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061183d5761183d6153c9565b602002602001018181525050816001600160a01b031660001b81600181518110611869576118696153c9565b60209081029190910101526104487f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b612e65565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106118dc576118dc6153c9565b6020026020010181815250506104487f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161192a91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b613131565b60006119538383613146565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611992576119926153c9565b602090810291909101015261153b7f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612b0a565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611a2c57611a2c6153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001611a7591815260200190565b60408051601f19818403018152919052630100080160dd1b613131565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611ac757611ac76153c9565b602002602001018181525050826001600160a01b031660001b81600181518110611af357611af36153c9565b602002602001018181525050610ae77f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161192a91151560f81b815260010190565b613a3160f11b836001600160f01b03191614611b7157613a3160f11b8384604051602001610e9c91815260200190565b611b7a83612081565b611bd3578283604051602001611b9291815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103bc9291600401615110565b610448836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613176565b6060600080611c158787878761321b565b9150915081611c2757611c2781613293565b9695505050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c7257611c726153c9565b6020026020010181815250508281600181518110611c9257611c926153c9565b602002602001018181525050610ae77f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b8260008560405160200161192a91151560f81b815260010190565b6000611cec848461329b565b90506000815167ffffffffffffffff811115611d0a57611d0a614dc6565b604051908082528060200260200182016040528015611d33578160200160208202803683370190505b5090506000805b8351811015611de457846001600160a01b0316611d7e858381518110611d6257611d626153c9565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611ddc57838181518110611d9e57611d9e6153c9565b6020026020010151838381518110611db857611db86153c9565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611d3a565b50808252610716868684613306565b616e7360f01b6dffffffffffffffffffffffffffff60801b821617811461099557616e7360f01b8161047d83610cf0565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611e5a57611e5a6153c9565b602090810291909101015261034f7f7462776f726c640000000000000000004e616d65737061636544656c656761748261335d565b6000611e9b8260101b90565b90506000611ebd71ffffffffffffffffffffffffffffffffffff19831661133f565b80519091508015610ae757611edf82611ed76001846153df565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611f70576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103bc565b60005b611f7e6001836153df565b811015610ae557602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f0000000000000000000000000000000000000000000000000000000000000014801561202b5750611fe683611ed78360016152a8565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b15612079576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103bc565b600101611f73565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106120ba576120ba6153c9565b602090810291909101015260006120fa7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612a95565b90506113c18160f81c90565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061213c5761213c6153c9565b6020026020010181815250506104487f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b8260008560405160200161219b919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000613131565b6000811515801561032657506121e5826133f8565b1592915050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612222576122226153c9565b6020026020010181815250506104487f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001611a7591815260200190565b6060600080611c1587878787613458565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106122bd576122bd6153c9565b602002602001018181525050816001600160a01b031660001b816001815181106122e9576122e96153c9565b60209081029190910101526104487f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261335d565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612354576123546153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b826000856040516020016123af91906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613628565b60006104286136d9565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612406576124066153c9565b6020908102919091010152600061177e7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612a95565b80612495576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006124a082612873565b905060058111156124e7576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103bc565b60006124f283612841565b9050600061250083836152a8565b9050601c811115612547576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103bc565b6000805b838110156125f25760ff601b82900360080287901c16600081900361259f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b60208111156125dd576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b6125e781846152a8565b92505060010161254b565b506125fc85613718565b81146126485761260b85613718565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103bc565b825b601c8110156107165760ff601b82900360080287901c16801561269c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b5060010161264a565b801580156126b1575081155b156126d25760405163d498615960e01b8152600060048201526024016103bc565b60006126dd83612873565b905060058111156127045760405163d498615960e01b8152600481018290526024016103bc565b600061270f84612841565b9050600061271d83836152a8565b9050601c8111156127445760405163d498615960e01b8152600481018290526024016103bc565b6000805b838110156127b057600061275f61111d8984612890565b90508060000361279b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a581846152a8565b925050600101612748565b506127ba86613718565b81146127e5576127c986613718565b60405163d498615960e01b81526004016103bc91815260200190565b825b8281101561153b5760006127fe61111d8984612890565b90508015612838576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016127e7565b600060086001612853600260206153df565b61285d91906153df565b61286791906153f2565b8260ff911c1692915050565b60006008600180612886600260206153df565b61285391906153df565b6000601b8290036008028360ff911c1660c58111156128b1576128b1615331565b9392505050565b6000808260c58111156128cd576128cd615331565b60ff16905060618110156128e757601f1660010192915050565b60618360c58111156128fb576128fb615331565b036129095750601492915050565b50600092915050565b50919050565b600061292586868661373b565b905060006129338484613771565b90506000612941858561378e565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061297b5761297b6153c9565b60209081029190910101526129d37f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612b0a565b50505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110612a2057612a206153c9565b602002602001018181525050826001600160a01b031660001b81600181518110612a4c57612a4c6153c9565b602002602001018181525050610ae77f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001611a7591815260200190565b6000612ac2612aa486866137a3565b60ff858116601b0360080285901c16612abd85876137f9565b613832565b95945050505050565b60608282604051602001612af39291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612b6357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612b569493929190615445565b60405180910390a2610716565b6000612b6e87613883565b905060005b8151811015612c47576000828281518110612b9057612b906153c9565b60200260200101519050612bbc6001826affffffffffffffffffffff191661390790919063ffffffff16565b15612c3e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612c0b908c908c908c908c908c908c90600401615484565b600060405180830381600087803b158015612c2557600080fd5b505af1158015612c39573d6000803e3d6000fd5b505050505b50600101612b73565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612c7e9493929190615445565b60405180910390a26000612c9288886137a3565b90506000602087019050612caa826000895184613925565b6000612cb585612873565b1115612d39576000612cc78a8a6139e4565b878155905060208601915060008060005b612ce188612873565b8160ff161015612d3457612cf68d8d83613a3a565b9250612d118a8260ff166028026038011c64ffffffffff1690565b9150612d208360008488613925565b612d2a82866152a8565b9450600101612cd8565b505050505b60005b83518110156129d3576000848281518110612d5957612d596153c9565b60200260200101519050612d856002826affffffffffffffffffffff191661390790919063ffffffff16565b15612e07576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612dd4908e908e908e908e908e908e90600401615484565b600060405180830381600087803b158015612dee57600080fd5b505af1158015612e02573d6000803e3d6000fd5b505050505b50600101612d3c565b60006103268251603881901b1790565b606081604051602001612e3391906154dd565b6040516020818303038152906040529050919050565b6000612e5483613aba565b80156128b157506128b18383613afb565b611bdd60f21b836001600160f01b03191603612eb857827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051612eab91906154f9565b60405180910390a2505050565b6000612ec384613883565b905060005b8151811015612f96576000828281518110612ee557612ee56153c9565b60200260200101519050612f116040826affffffffffffffffffffff191661390790919063ffffffff16565b15612f8d576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612f5a9089908990899060040161550c565b600060405180830381600087803b158015612f7457600080fd5b505af1158015612f88573d6000803e3d6000fd5b505050505b50600101612ec8565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0784604051612fc791906154f9565b60405180910390a26000612fdb85856137a3565b9050613034816000612fec86613718565b67ffffffffffffffff81111561300457613004614dc6565b6040519080825280601f01601f19166020018201604052801561302e576020820181803683370190505b50613bb3565b600061303f84612873565b111561306057600061305186866139e4565b905061305e816020613bc9565b505b60005b8251811015610716576000838281518110613080576130806153c9565b602002602001015190506130ac6080826affffffffffffffffffffff191661390790919063ffffffff16565b15613128576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906130f5908a908a908a9060040161550c565b600060405180830381600087803b15801561310f57600080fd5b505af1158015613123573d6000803e3d6000fd5b505050505b50600101613063565b610ae5858561314084876137f9565b85613c06565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612af3565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106131ac576131ac6153c9565b6020026020010181815250506104487f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b8260008560405160200161320791906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613e6e565b60006060836001600160a01b03166000613236858989613ea9565b60405161324391906154dd565b60006040518083038185875af1925050503d8060008114613280576040519150601f19603f3d011682016040523d82523d6000602084013e613285565b606091505b509097909650945050505050565b805160208201fd5b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106132d5576132d56153c9565b60200260200101818152505060006132ef85836000613ec0565b9050612ac26133018260008451613efa565b613f88565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061333c5761333c6153c9565b602002602001018181525050610ae78482600061335886613f99565b613fa9565b60006133676136d9565b9050306001600160a01b03821603613383576104488383613fe4565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906133ca9086908690600401615535565b600060405180830381600087803b1580156133e457600080fd5b505af115801561153b573d6000803e3d6000fd5b6040805161737960f01b60208201526000602282018190527f756e6c696d6974656400000000000000000000000000000000000000000000006030830152910160405160208183030381529060405261345090615230565b909114919050565b60006060600061346786613ff7565b905060005b815181101561353a576000828281518110613489576134896153c9565b602002602001015190506134b56001826affffffffffffffffffffff191661390790919063ffffffff16565b15613531576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906134fe908c908c908c9060040161554e565b600060405180830381600087803b15801561351857600080fd5b505af115801561352c573d6000803e3d6000fd5b505050505b5060010161346c565b5061354787858888614069565b909350915060005b815181101561361d57600082828151811061356c5761356c6153c9565b602002602001015190506135986002826affffffffffffffffffffff191661390790919063ffffffff16565b15613614576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f99906135e1908c908c908c9060040161554e565b600060405180830381600087803b1580156135fb57600080fd5b505af115801561360f573d6000803e3d6000fd5b505050505b5060010161354f565b505094509492505050565b60006136326136d9565b9050306001600160a01b038216036136555761365085858585613e6e565b610ae5565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906136a0908890889088908890600401615576565b600060405180830381600087803b1580156136ba57600080fd5b505af11580156136ce573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680613713573391505090565b919050565b60006008613728600260206153df565b61373291906153f2565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b176128b1565b60608282604051602001612af39291906155aa565b600082826040516020016137b89291906155d9565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561382a5761382060ff601b83900360080287901c16836152a8565b91506001016137fe565b509392505050565b6000602082106138585760208204840193506020828161385457613854615615565b0691505b508254600882021b60208290038084111561382a576001850154600882021c82179150509392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106138bd576138bd6153c9565b602090810291909101015260006138f57f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613ec0565b90506113c16133018260008451613efa565b60008160ff16826139188560581c90565b1660ff1614905092915050565b821561399f576020831061394f5760208304840193506020838161394b5761394b615615565b0692505b821561399f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613990575050610ae7565b50600194909401939182900391015b5b602082106139c15780518455600190930192601f19909101906020016139a0565b8115610ae7576000600019600884021c8554835182191691161785555050505050565b600082826040516020016139f99291906155d9565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613a4f9291906155d9565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000613ae6827f01ffc9a700000000000000000000000000000000000000000000000000000000613afb565b801561032657506121e5826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613b9c575060208210155b8015613ba85750600081115b979650505050505050565b61044883838351613bc48560200190565b613925565b60006020613bd883601f6152a8565b613be2919061562b565b613bec90846152a8565b90505b808310156104485760008355600183019250613bef565b611bdd60f21b846001600160f01b03191603613c5d57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051613c509392919061564d565b60405180910390a2610ae7565b6000613c6985856137a3565b90506000613c7686613883565b905060005b8151811015613d4b576000828281518110613c9857613c986153c9565b60200260200101519050613cc46004826affffffffffffffffffffff191661390790919063ffffffff16565b15613d42576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613d0f908b908b908b908b90600401615680565b600060405180830381600087803b158015613d2957600080fd5b505af1158015613d3d573d6000803e3d6000fd5b505050505b50600101613c7b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051613d809392919061564d565b60405180910390a2613d9b828565ffffffffffff1685613bb3565b60005b815181101561153b576000828281518110613dbb57613dbb6153c9565b60200260200101519050613de76008826affffffffffffffffffffff191661390790919063ffffffff16565b15613e65576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613e32908b908b908b908b90600401615680565b600060405180830381600087803b158015613e4c57600080fd5b505af1158015613e60573d6000803e3d6000fd5b505050505b50600101613d9e565b6000613e7a858561413b565b90506000613e97828560ff166028026038011c64ffffffffff1690565b9050610716868686846000888861414e565b6060838383604051602001613759939291906156b9565b60606113c1613ed0858585613a3a565b6000613ef585613ee0898961413b565b9060ff166028026038011c64ffffffffff1690565b6144f8565b600081831180613f0a5750835182115b15613f47578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103bc939291906156f8565b60208401613f5584826152a8565b90506000613f6385856153df565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006128b1836015600061451b565b6060816128b18160156000614596565b6000613fb5858561413b565b90506000613fd2828560ff166028026038011c64ffffffffff1690565b9050610716868686600085888861414e565b61034f8282613ff2856145ea565b612e65565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110614031576140316153c9565b602090810291909101015260006138f57f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383613ec0565b600060606000806140798661466f565b90925090506001600160a01b0382166140965785610e1b87610cf0565b806140a5576140a58689614727565b86156140e9576dffffffffffffffffffffffffffff60801b8616616e7360f01b1760006140d18261473e565b90506140e6826140e18b846152a8565b6147b7565b50505b60006140f58760101b90565b71ffffffffffffffffffffffffffffffffffff1916146141205761411b8888848861321b565b61412c565b61412c88888488614836565b90999098509650505050505050565b60006128b161414a84846139e4565b5490565b613a3160f11b876001600160f01b0319161461417e57613a3160f11b8788604051602001610e9c91815260200190565b6000614199828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836141b291906153df565b6141bc91906152a8565b90508082141580156141de5750816141d4868861571d565b64ffffffffff1614155b1561422e576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103bc565b818664ffffffffff16111561427f576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103bc565b600061428c848984614897565b905060006142998b613883565b905060005b81518110156143645760008282815181106142bb576142bb6153c9565b602002602001015190506142e76010826affffffffffffffffffffff191661390790919063ffffffff16565b1561435b57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016143289796959493929190615742565b600060405180830381600087803b15801561434257600080fd5b505af1158015614356573d6000803e3d6000fd5b505050505b5060010161429e565b5064ffffffffff881660005b8a60ff168160ff1610156143a357614397878260ff166028026038011c64ffffffffff1690565b90910190600101614370565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516143de969594939291906157a0565b60405180910390a2508284146143ff5760006143fa8c8c6139e4565b839055505b600061440c8c8c8c613a3a565b9050614420818a64ffffffffff1689613bb3565b5060005b81518110156144ea576000828281518110614441576144416153c9565b6020026020010151905061446d6020826affffffffffffffffffffff191661390790919063ffffffff16565b156144e157606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016144ae9796959493929190615742565b600060405180830381600087803b1580156144c857600080fd5b505af11580156144dc573d6000803e3d6000fd5b505050505b50600101614424565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261382a85858584614965565b606060006145298560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161454f5761454f615615565b04905060405193506020840160208202810160405281855260005b8281101561458a578451871c82529387019360209091019060010161456a565b50505050509392505050565b825160609060006145a785836153f2565b9050604051925060208301601f19603f83860101166040528184526000602088015b8482101561458a578051871b835291870191600191909101906020016145c9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161463957507e60030220202000000000000000000000000000000000000000000000000000919050565b6103266146667f746273746f72650000000000000000005461626c65730000000000000000000084614a31565b60206000613832565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106146a9576146a96153c9565b6020908102919091010152600080806147027f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614a4d565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6147318282614b55565b61034f57610c7982610cf0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110614777576147776153c9565b602090810291909101015260006113c17f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612a95565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106147ed576147ed6153c9565b6020026020010181815250506104487f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001611a7591815260200190565b60006060836001600160a01b031661484f848888613ea9565b60405161485c91906154dd565b600060405180830381855af49150503d8060008114613280576040519150601f19603f3d011682016040523d82523d6000602084013e613285565b600064ffffffffff8211156148db576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff1680851061490d5780850382019150614915565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156149ec576020831061498f5760208304840193506020838161498b5761498b615615565b0692505b82156149ec5760208390036000818410156149b25750600019600884021c6149bc565b50600019600882021c5b8554600886021b8184511682198216178452508184116149dd575050610ae7565b50600194909401939182900391015b5b60208210614a0e5783548152600190930192601f19909101906020016149ed565b8115610ae7576000600019600884021c8251865482191691161782525050505050565b60408051602081018490529081018290526000906060016137b8565b6060600060606000614a5e85613718565b9050614a6b878783614b8b565b93506000614a7886612873565b90508015614b4a57614a8a888861413b565b935066ffffffffffffff841667ffffffffffffffff811115614aae57614aae614dc6565b6040519080825280601f01601f191660200182016040528015614ad8576020820181803683370190505b5092506020830160005b828160ff161015614b47576000614afa8b8b84613a3a565b90506000614b17888460ff166028026038011c64ffffffffff1690565b9050614b268260008387614965565b614b3081856152a8565b935050508080614b3f906157fc565b915050614ae2565b50505b505093509350939050565b6000614b7b616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614bc4565b806128b157506128b18383614bc4565b606081600003614baa57506040805160208101909152600081526128b1565b6000614bb685856137a3565b9050612ac2816000856144f8565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614bfd57614bfd6153c9565b602002602001018181525050826001600160a01b031660001b81600181518110614c2957614c296153c9565b60209081029190910101526000614c697f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612a95565b9050612ac28160f81c90565b600060208284031215614c8757600080fd5b81356001600160e01b0319811681146128b157600080fd5b6001600160a01b038116811461099557600080fd5b60008060408385031215614cc757600080fd5b823591506020830135614cd981614c9f565b809150509250929050565b60008083601f840112614cf657600080fd5b50813567ffffffffffffffff811115614d0e57600080fd5b6020830191508360208260051b8501011115614d2957600080fd5b9250929050565b60008060008060008060008060c0898b031215614d4c57600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614d8057600080fd5b614d8c8c838d01614ce4565b909650945060a08b0135915080821115614da557600080fd5b50614db28b828c01614ce4565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614e0557614e05614dc6565b604052919050565b600082601f830112614e1e57600080fd5b813567ffffffffffffffff811115614e3857614e38614dc6565b614e4b6020601f19601f84011601614ddc565b818152846020838601011115614e6057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614e9257600080fd5b8335614e9d81614c9f565b925060208401359150604084013567ffffffffffffffff811115614ec057600080fd5b614ecc86828701614e0d565b9150509250925092565b60008060408385031215614ee957600080fd5b82359150602083013567ffffffffffffffff811115614f0757600080fd5b614f1385828601614e0d565b9150509250929050565b600080600060608486031215614f3257600080fd5b833592506020840135614f4481614c9f565b915060408401358015158114614f5957600080fd5b809150509250925092565b803560ff8116811461371357600080fd5b600080600060608486031215614f8a57600080fd5b833592506020840135614f9c81614c9f565b9150614faa60408501614f64565b90509250925092565b600080600060608486031215614fc857600080fd5b83359250602084013567ffffffffffffffff80821115614fe757600080fd5b614ff387838801614e0d565b9350604086013591508082111561500957600080fd5b50614ecc86828701614e0d565b6000806040838503121561502957600080fd5b823561503481614c9f565b9150602083013567ffffffffffffffff811115614f0757600080fd5b60006020828403121561506257600080fd5b5035919050565b60008060006060848603121561507e57600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614ec057600080fd5b6000602082840312156150b557600080fd5b81356128b181614c9f565b60005b838110156150db5781810151838201526020016150c3565b50506000910152565b600081518084526150fc8160208601602086016150c0565b601f01601f19169290920160200192915050565b8281526040602082015260006113c160408301846150e4565b600067ffffffffffffffff8084111561514457615144614dc6565b8360051b602061515660208301614ddc565b8681529185019160208101903684111561516f57600080fd5b865b848110156151a3578035868111156151895760008081fd5b61519536828b01614e0d565b845250918301918301615171565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612ac260608301846150e4565b600083516151ea8184602088016150c0565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516152248160028401602088016150c0565b01600201949350505050565b805160208083015191908110156129125760001960209190910360031b1b16919050565b6020815260006128b160208301846150e4565b60408152600061527a60408301856150e4565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032657610326615292565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516153048160038601602089016150c0565b8084019050816003820152845191506153248260048301602088016150c0565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156153bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526153aa8583516150e4565b94509285019290850190600101615370565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561032657610326615292565b808202811582820484141761032657610326615292565b60008151808452602080850194506020840160005b8381101561543a5781518752958201959082019060010161541e565b509495945050505050565b6080815260006154586080830187615409565b828103602084015261546a81876150e4565b90508460408401528281036060840152613ba881856150e4565b86815260c06020820152600061549d60c0830188615409565b82810360408401526154af81886150e4565b905085606084015282810360808401526154c981866150e4565b9150508260a0830152979650505050505050565b600082516154ef8184602087016150c0565b9190910192915050565b6020815260006128b16020830184615409565b8381526060602082015260006155256060830185615409565b9050826040830152949350505050565b8281526040602082015260006113c16040830184615409565b6001600160a01b0384168152826020820152606060408201526000612ac260608301846150e4565b84815260806020820152600061558f6080830186615409565b60ff851660408401528281036060840152613ba881856150e4565b600083516155bc8184602088016150c0565b8351908301906155d08183602088016150c0565b01949350505050565b8281526000602080830184516020860160005b82811015615608578151845292840192908401906001016155ec565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261564857634e487b7160e01b600052601260045260246000fd5b500490565b6060815260006156606060830186615409565b65ffffffffffff851660208401528281036040840152611c2781856150e4565b8481526080602082015260006156996080830186615409565b65ffffffffffff851660408401528281036060840152613ba881856150e4565b600084516156cb8184602089016150c0565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b60608152600061570b60608301866150e4565b60208301949094525060400152919050565b64ffffffffff81811683821601908082111561573b5761573b615292565b5092915050565b87815260e06020820152600061575b60e0830189615409565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261579281856150e4565b9a9950505050505050505050565b60c0815260006157b360c0830189615409565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526157ef81856150e4565b9998505050505050505050565b600060ff821660ff810361581257615812615292565b6001019291505056fea164736f6c6343000818000a","sourceMap":"740:212:89:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:64;;;;;;:::i;:::-;;:::i;:::-;;;516:14:225;;509:22;491:41;;479:2;464:18;2331:198:64;;;;;;;;4111:293:96;;;;;;:::i;:::-;;:::i;:::-;;1963:748;;;;;;:::i;:::-;;:::i;1262:113:64:-;;;:::i;:::-;;;-1:-1:-1;;;;;2850:55:225;;;2832:74;;2820:2;2805:18;1262:113:64;2686:226:225;11929:233:97;;;;;;:::i;:::-;;:::i;8438:1584::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;5197:79:225;;;5179:98;;5167:2;5152:18;8438:1584:97;5035:248:225;5867:2236:97;;;;;;:::i;:::-;;:::i;1616:110:64:-;;;-1:-1:-1;;3800:14:64;3796:25;3783:39;5982:25:225;;5970:2;5955:18;1616:110:64;5836:177:225;3174:595:96;;;;;;:::i;:::-;;:::i;10428:1171:97:-;;;;;;:::i;:::-;;:::i;1085:570:95:-;;;;;;:::i;:::-;;:::i;4801:388:97:-;;;;;;:::i;:::-;;:::i;14217:466::-;;;;;;:::i;:::-;;:::i;2595:736::-;;;;;;:::i;:::-;;:::i;12888:1145::-;;;;;;:::i;:::-;;:::i;12347:223::-;;;;;;:::i;:::-;;:::i;3635:936::-;;;;;;:::i;:::-;;:::i;1942:98:64:-;;;:::i;2331:198::-;2407:4;-1:-1:-1;;;;;;2426:54:64;;2441:39;2426:54;;:98;;-1:-1:-1;;;;;;;2484:40:64;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:64:o;4111:293:96:-;1061:20:88;:18;:20::i;:::-;4265:49:96::1;4292:7;4301:12;:10;:12::i;:::-;4265:26;:49::i;:::-;4348:51;4378:7;4387:11;4348:29;:51::i;:::-;4111:293:::0;;:::o;1963:748::-;1061:20:88;:18;:20::i;:::-;2278:9:96::1;2257:17;:7:::0;:15:::1;:17::i;:::-;-1:-1:-1::0;;2257:30:96::1;::::0;2253:110:::1;;2328:7;2337:18;:7;:16;:18::i;:::-;2304:52;;;;;;;;;;;;:::i;:::-;;;;;;;;2253:110;2415:56;-1:-1:-1::0;;;;;;2955:46:65;;2954:74;2415:30:96::1;:56::i;:::-;2533:49;2560:7;2569:12;:10;:12::i;2533:49::-;2615:91;2639:7:::0;2648:11;2661:9;2672:11;2615:91:::1;2685:8:::0;;2615:91:::1;:::i;:::-;;2695:10:::0;;2615:91:::1;:::i;:::-;:23;:91::i;:::-;1963:748:::0;;;;;;;;:::o;1262:113:64:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;11929:233:97:-;1061:20:88;:18;:20::i;:::-;12081:76:97::1;12098:12;:10;:12::i;:::-;12112:9;12123:19;12144:12;12081:16;:76::i;:::-;11929:233:::0;;;:::o;8438:1584::-;8577:28;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;8684:8:97;-1:-1:-1;;;;;;8684:37:97::1;;8680:138;;-1:-1:-1::0;;;8781:8:97::1;8791:19;:8;:17;:19::i;:::-;8738:73;;;;;;;;;;;;;:::i;8680:138::-;8861:40;8892:8;8861:30;:40::i;:::-;8955:50;8982:8;8992:12;:10;:12::i;8955:50::-;9052:29;9084:59;9119:23;:8;451:5:20::0;2637:44:65;;2539:148;9119:23:97::1;-1:-1:-1::0;;9084:59:97::1;:34;:59::i;:::-;9052:91;;9149:36;9202:15;9225:23;9188:61;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9149:100;;9302:22;9286:40;;;;;;9255:72;;9393:27;9423:53;9454:21;9423:30;:53::i;:::-;9393:83:::0;-1:-1:-1;9487:40:97;;9483:111:::1;;9536:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;5197:79:225;;9536:58:97::1;::::0;::::1;5179:98:225::0;5152:18;;9536:58:97::1;5035:248:225::0;9483:111:97::1;9678:41:::0;;::::1;::::0;::::1;::::0;9726:79:::1;9749:21:::0;9772:8;9678:41;9726:22:::1;:79::i;:::-;9869:72;9893:22;9917:23;9869;:72::i;:::-;9947:70;9971:21;9994:22;9947:23;:70::i;:::-;8607:1415;;;;8438:1584:::0;;;;:::o;5867:2236::-;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;6055:8:97;-1:-1:-1;;;;;;6055:37:97::1;;6051:138;;-1:-1:-1::0;;;6152:8:97::1;6162:19;:8;:17;:19::i;6051:138::-;-1:-1:-1::0;;;2955:46:65;;-1:-1:-1;;;2954:74:65;6298:43:97::1;2954:74:65::0;6298:30:97::1;:43::i;:::-;6395:53;6422:11;6435:12;:10;:12::i;6395:53::-;6539:74;6564:6;6573:39;6539:16;:74::i;:::-;6706:9;6684:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6684:31:97::1;::::0;6680:98:::1;;6748:8;6758:19;:8;:17;:19::i;6680:98::-;6862:27;6892:36;6920:6;6892:19;:36::i;:::-;6862:66:::0;-1:-1:-1;6945:40:97;;;::::1;::::0;:110:::1;;;7046:8;7007:16;6989:66;;6945:110;6934:192;;;7077:42;::::0;::::1;::::0;;-1:-1:-1;;;;;2850:55:225;;7077:42:97::1;::::0;::::1;2832:74:225::0;2805:18;;7077:42:97::1;2686:226:225::0;6934:192:97::1;7190:22;7215:28;7234:8;7215:18;:28::i;:::-;7190:53:::0;-1:-1:-1;;;;;;7323:28:97;::::1;::::0;7319:411:::1;;7422:44;7451:14;7422:28;:44::i;:::-;7537:57;7566:11;7579:14;7537:28;:57::i;:::-;7319:411;;;7685:38;7708:8;7718:4;7685:22;:38::i;:::-;7817:53;7830:8;7848:6;7857:12;7817;:53::i;:::-;7942:46;7970:6;7979:8;7942:19;:46::i;:::-;8043:55;8063:11;8084:6;8093:4;8043:19;:55::i;:::-;5978:2125;;;5867:2236:::0;;;:::o;3174:595:96:-;1061:20:88;:18;:20::i;:::-;3387:68:96::1;3412:11;3426:28;3387:16;:68::i;:::-;3508:56;-1:-1:-1::0;;;;;;2955:46:65;;2954:74;2415:30:96::1;:56::i;3508:::-;3614:49;3641:7;3650:12;:10;:12::i;3614:49::-;3695:69;3723:7;3732:11;3745:18;3695:27;:69::i;10428:1171:97:-:0;10613:28;1061:20:88;:18;:20::i;:::-;625:63:86::1;::::0;;-1:-1:-1;;;625:63:86::1;::::0;::::1;12755:92:225::0;662:14:86::1;12863:11:225::0;;;12856:100;;;12972:12;;;12965:101;10701:59:97::1;::::0;13082:12:225;625:63:86::1;;;;;;;;;;;;617:72;;;:::i;:::-;10747:12:97;:10;:12::i;10701:59::-;10879:22;10863:40;;;;;;10832:72;;10910:29;10965:23;10949:41;;;;;;10910:81;;11057:27;11087:53;11118:21;11087:30;:53::i;:::-;11057:83:::0;-1:-1:-1;11151:40:97;;11147:111:::1;;11200:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;5197:79:225;;11200:58:97::1;::::0;::::1;5179:98:225::0;5152:18;;11200:58:97::1;5035:248:225::0;11147:111:97::1;11303:79;11326:21;11349:8;11359:22;11303;:79::i;:::-;11446:72;11470:22;11494:23;11446;:72::i;:::-;11524:70;11548:21;11571:22;11524:23;:70::i;:::-;10643:956;;10428:1171:::0;;;;;:::o;1085:570:95:-;1061:20:88;:18;:20::i;:::-;1251:60:95::1;1276:6;1285:25;1251:16;:60::i;:::-;1318:200;1385:12;:10;:12::i;:::-;1415:1;1440:6;1498:11;1465:46;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;1465:46:95;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;::::1;;::::0;::::1;::::0;;1318:47:::1;:200::i;:::-;;1582:68;1612:6;1631:11;1621:22;;;;;;1645:4;1582:21;:68::i;4801:388:97:-:0;1061:20:88;:18;:20::i;:::-;4958:50:97::1;4985:8;4995:12;:10;:12::i;4958:50::-;5103:81;1163:66:82;5153:8:97::0;5171:11;5103:27:::1;:81::i;14217:466::-:0;1061:20:88;:18;:20::i;:::-;14358:29:97::1;14375:11;14358:16;:29::i;:::-;14432:43;14463:11;14432:30;:43::i;:::-;14529:53;14556:11;14569:12;:10;:12::i;14529:53::-;14626:52;14666:11;14626:39;:52::i;:::-;14217:466:::0;:::o;2595:736::-;1061:20:88;:18;:20::i;:::-;2732:29:97::1;2749:11;2732:16;:29::i;:::-;2826:34;2848:11;2826:21;:34::i;:::-;2913:35;2936:11;2913:22;:35::i;:::-;2909:127;;;2993:11;3006:22;:11;:20;:22::i;:::-;2965:64;;;;;;;;;;;;:::i;2909:127::-;3080:41;3103:11;3116:4;3080:22;:41::i;:::-;3174:46;3194:11;3207:12;:10;:12::i;:::-;3174:19;:46::i;:::-;3274:52;3294:11;3307:12;:10;:12::i;:::-;3321:4;3274:19;:52::i;12888:1145::-:0;1061:20:88;:18;:20::i;:::-;13102:29:97::1;13119:11;13102:16;:29::i;:::-;13193:41;13214:19;13193:20;:41::i;:::-;13188:107;;13251:37;;;;;;;;;;;;;;13188:107;13348:53;13375:11;13388:12;:10;:12::i;13348:53::-;13500:25;13528:39;13547:19;13528:18;:39::i;:::-;13500:67;;13573:73;13590:17;13609:36;13573:16;:73::i;:::-;13692:65;13724:11;13737:19;13692:31;:65::i;:::-;13828:19:::0;;:23;13824:205:::1;;13861:161;13912:12;:10;:12::i;:::-;13944:19;13983:12;14012:1;13861:32;:161::i;:::-;;13824:205;13048:985;12888:1145:::0;;;:::o;12347:223::-;1061:20:88;:18;:20::i;:::-;12480:85:97::1;12528:12;:10;:12::i;:::-;12553:9;12480:34;:85::i;3635:936::-:0;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;3860:8:97;-1:-1:-1;;;;;;3860:37:97::1;;3856:138;;-1:-1:-1::0;;;3957:8:97::1;3967:19;:8;:17;:19::i;3856:138::-;4075:69;4100:11;4114:29;4075:16;:69::i;:::-;4186:40;4217:8;4186:30;:40::i;:::-;4280:57;-1:-1:-1::0;;;;;;2955:46:65;;2954:74;2415:30:96::1;:56::i;4280:57:97:-;4387:50;4414:8;4424:12;:10;:12::i;4387:50::-;4469:97;4486:8:::0;-1:-1:-1;;1053:20:5;;;;1045:29;1077:30;;;;;;1045:62;4469:16:97::1;:97::i;1942:98:64:-:0;1981:7;2003:32;:30;:32::i;1179:189:88:-;-1:-1:-1;;;;;1265:6:88;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;2140:233:46:-;-1:-1:-1;;;;;2225:58:46;;:48;-1:-1:-1;;;;;;2955:46:65;;2954:74;2225:19:46;:48::i;:::-;-1:-1:-1;;;;;2225:58:46;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;10984:172:24:-;11072:79;969:66:32;11121:7:24;11138:11;11072:27;:79::i;3165:160:65:-;3228:7;3292:26;438:6;451:5:20;3292:26:65;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:65:o;3486:592::-;3550:13;3620:10;451:5:20;2637:44:65;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:65;-1:-1:-1;;3839:35:65;;;:102;;3888:53;-1:-1:-1;;3888:53:65;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:65;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;2602:206:46:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;6637:2917:24:-;-1:-1:-1;;;6924:7:24;-1:-1:-1;;;;;;6924:35:24;;;;;:83;;-1:-1:-1;;;;6963:7:24;-1:-1:-1;;;;;;6963:44:24;;;6924:83;6920:209;;;-1:-1:-1;;;7079:7:24;7112;7095:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;7095:25:24;;;;-1:-1:-1;;7095:25:24;;;;;;;;;;7024:98;;;;;;;;;;:::i;6920:209::-;7175:22;:11;:20;:22::i;:::-;7238:40;:9;7271:4;7238:18;:40::i;:::-;7284:43;:11;7319:5;7284:20;:43::i;:::-;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7415:8:24;:15;:40;7411:148;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7536:15:24;;7472:80;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;7472:80:24;15502:248:225;7411:148:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7609:10:24;:17;:44;7605:158;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7738:17:24;;7670:86;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;7670:86:24;15502:248:225;7605:158:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7820:50:24;7816:171;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7887:93:24;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;7887:93:24;15502:248:225;7816:171:24;8029:29;:11;:27;:29::i;:::-;7996;:11;:27;:29::i;:::-;:62;7992:225;;8134:29;:11;:27;:29::i;:::-;8173;:11;:27;:29::i;:::-;8075:135;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;8075:135:24;15502:248:225;7992:225:24;8260:30;:11;:28;:30::i;:::-;8226;:11;:28;:30::i;:::-;:64;8222:230;;8367:30;:11;:28;:30::i;:::-;8407;:11;:28;:30::i;:::-;8307:138;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;8307:138:24;15502:248:225;8222:230:24;8549:9;8544:314;8564:29;:11;:27;:29::i;:::-;8560:1;:33;8544:314;;;8638:44;:22;:11;8658:1;8638:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8612:70:24;8608:244;;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8789:44:24;:22;:11;8809:1;8789:19;:22::i;:44::-;8701:142;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;15649:18;;8701:142:24;15502:248:225;8608:244:24;8595:3;;8544:314;;;;8938:25;8966:63;-1:-1:-1;;;9003:25:24;:7;451:5:20;2637:44:65;;2539:148;9003:25:24;451:5:20;1080:26;-1:-1:-1;;;;;;1061:15:20;;;;:46;;952:161;8966:63:24;8938:91;;9035:26;9064:72;-1:-1:-1;;;9110:25:24;:7;451:5:20;2637:44:65;;2539:148;9064:72:24;9035:101;;9146:38;9169:14;9146:22;:38::i;:::-;:81;;;;9188:39;9211:15;9188:22;:39::i;:::-;9142:190;;;9282:7;9315;9298:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;9298:25:24;;;;-1:-1:-1;;9298:25:24;;;;;;;;;;9244:81;;;;;;;;;:::i;9142:190::-;9373:103;9385:7;9394:11;9407:9;9418:11;9442:8;9431:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9464:10;9453:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9373:11;:103::i;:::-;9512:37;9535:7;9544:4;9512:22;:37::i;2992:383:64:-;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;604:859:98:-;792:116;832:9;854;886:19;792:26;:116::i;:::-;954:41;975:19;954:20;:41::i;:::-;950:511;;;1095:25;1123:39;1142:19;1123:18;:39::i;:::-;1095:67;;1168:73;1185:17;1204:36;1168:16;:73::i;:::-;1308:148;1357:9;1384:19;1421:12;1448:1;1308:32;:148::i;1862:325:65:-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:65;;3261:1:2;3257:13;;3253:24;2007:42:65;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;16952:79:225;;2092:30:65;;;16940:92:225;2092:30:65;;17048:12:225;;;;2092:30:65;;;875:21:2;;;2092:30:65;2142:39;2128:54;1862:325;-1:-1:-1;;;;1862:325:65:o;3150:332:75:-;3281:16;;;3295:1;3281:16;;;;;;;;;3225:19;;;;3281:16;;;;;;;;;;;;-1:-1:-1;3281:16:75;3252:45;;3326:21;3318:30;;;3303:9;3313:1;3303:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3355:13;3371:62;1174:66;3406:9;3355:13;1303:66;3371:24;:62::i;7390:465::-;7501:24;7528:46;7541:8;7551:22;7528:12;:46::i;:::-;7678:16;;;7692:1;7678:16;;;;;;;;;7501:73;;-1:-1:-1;7581:30:75;;7617:25;;7581:30;;7678:16;;;;;;;;;;;;-1:-1:-1;7678:16:75;7649:45;;7723:21;7715:30;;;7700:9;7710:1;7700:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;7752:98;1174:66;7782:9;7793:11;7806:15;7823:12;1303:66;7752:19;:98::i;:::-;7495:360;;;;7390:465;;;:::o;3188:456:76:-;3275:24;3305:30;3338:32;3352:17;3338:13;:32::i;:::-;3305:65;;3376:25;3404:32;3418:17;3404:13;:32::i;:::-;3472:16;;;3486:1;3472:16;;;;;;;;;3376:60;;-1:-1:-1;3443:26:76;;3472:16;;;;;;;;;;;;-1:-1:-1;3472:16:76;3443:45;;3517:16;3509:25;;;3494:9;3504:1;3494:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3541:98;1095:66;3571:9;3582:11;3595:15;3612:12;1224:66;3541:19;:98::i;692:238:100:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;17450:55:225;;853:70:100;;;17432:74:225;-1:-1:-1;;;;;;17542:79:225;;17522:18;;;17515:107;17405:18;;853:70:100;17260:368:225;3787:313:83;3896:16;;;3910:1;3896:16;;;;;;;;;3840:19;;;;3896:16;;;;;;;;;;;;-1:-1:-1;3896:16:83;3867:45;;3957:6;-1:-1:-1;;;;;3941:24:83;3933:33;;3918:9;3928:1;3918:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3973:13;3989:62;1169:66;4024:9;3973:13;-1:-1:-1;;;3989:24:83;:62::i;3076:307:84:-;3191:16;;;3205:1;3191:16;;;;;;;;;3140:14;;;;3191:16;;;;;;;;;;;;-1:-1:-1;3191:16:84;3162:45;;3246:8;3213:9;3223:1;3213:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3262:13;3278:62;1155:66;3313:9;3262:13;1284:66;3278:24;:62::i;:::-;3354:23;;;3076:307;-1:-1:-1;;;;3076:307:84:o;5765:222:83:-;5848:16;;;5862:1;5848:16;;;;;;;;;5819:26;;5848:16;;;;;;;;;;;-1:-1:-1;5848:16:83;5819:45;;5909:6;-1:-1:-1;;;;;5893:24:83;5885:33;;5870:9;5880:1;5870:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5925:57;1169:66;5958:9;-1:-1:-1;;;5925:22:83;:57::i;6294:295:81:-;6400:16;;;6414:1;6400:16;;;;;;;;6371:26;;6400:16;;;;;;;;;;-1:-1:-1;6400:16:81;6371:45;;6455:10;6422:9;6432:1;6422:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6511:6;-1:-1:-1;;;;;6495:24:81;6487:33;;6472:9;6482:1;6472:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6527:57;1169:66;6560:9;-1:-1:-1;;;6527:22:81;:57::i;4220:268:31:-;4320:16;;;4334:1;4320:16;;;;;;;;;4291:26;;4320:16;;;;;;;;;;;-1:-1:-1;4320:16:31;4291:45;;4375:10;4342:9;4352:1;4342:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4393:90;971:66;955:83;;4428:9;4439:1;4460:6;4442:26;;;;;;17784:14:225;17777:22;17772:3;17768:32;17756:45;;17826:1;17817:11;;17633:201;4442:26:31;;;;-1:-1:-1;;4442:26:31;;;;;;;;;-1:-1:-1;;;4393:24:31;:90::i;6916:424:84:-;7001:24;7028:34;7041:6;7049:12;7028;:34::i;:::-;7166:16;;;7180:1;7166:16;;;;;;;;;7001:61;;-1:-1:-1;7069:30:84;;7105:25;;7069:30;;7166:16;;;;;;;;;;;;-1:-1:-1;7166:16:84;7137:45;;7221:8;7188:9;7198:1;7188:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7237:98;1155:66;7267:9;7278:11;7291:15;7308:12;1284:66;7237:19;:98::i;5148:286:83:-;5243:16;;;5257:1;5243:16;;;;;;;;;5214:26;;5243:16;;;;;;;;;;;-1:-1:-1;5243:16:83;5214:45;;5304:6;-1:-1:-1;;;;;5288:24:83;5280:33;;5265:9;5275:1;5265:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5320:109;1169:66;1153:83;;5355:9;5366:1;5404:8;5369:45;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;5369:45:83;;;;-1:-1:-1;;5369:45:83;;;;;;;;;-1:-1:-1;;;5320:24:83;:109::i;5558:332:81:-;5668:16;;;5682:1;5668:16;;;;;;;;5639:26;;5668:16;;;;;;;;;;-1:-1:-1;5668:16:81;5639:45;;5723:10;5690:9;5700:1;5690:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5779:6;-1:-1:-1;;;;;5763:24:81;5755:33;;5740:9;5750:1;5740:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5795:90;1169:66;1153:83;;5830:9;5841:1;5862:6;5844:26;;;;;;17784:14:225;17777:22;17772:3;17768:32;17756:45;;17826:1;17817:11;;17633:201;10156:624:24;-1:-1:-1;;;10340:7:24;-1:-1:-1;;;;;;10340:35:24;;10336:161;;-1:-1:-1;;;10447:7:24;10480;10463:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;10336:161:24;10542:31;10565:7;10542:22;:31::i;:::-;10537:136;;10623:7;10656;10639:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;10639:25:24;;;;-1:-1:-1;;10639:25:24;;;;;;;;;;10590:76;;;;;;;;;:::i;10537:136::-;10679:96;10696:7;-1:-1:-1;;1053:20:5;;;;1045:29;1077:30;;;;;;1045:62;10679:16:24;:96::i;7191:399:64:-;7338:17;7364:12;7378:18;7400:125;7435:9;7462:8;7486:6;7510:8;7400:15;:125::i;:::-;7363:162;;;;7536:7;7531:36;;7545:22;7561:5;7545:15;:22::i;:::-;7580:5;7191:399;-1:-1:-1;;;;;;7191:399:64:o;5584:340:78:-;5706:16;;;5720:1;5706:16;;;;;;;;5677:26;;5706:16;;;;;;;;;;-1:-1:-1;5706:16:78;5677:45;;5767:13;-1:-1:-1;;;;;5751:31:78;5743:40;;5728:9;5738:1;5728:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;5804:13;5789:9;5799:1;5789:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;5824:95;1084:66;1068:83;;5859:9;5870:1;5891:11;5873:31;;;;;;17784:14:225;17777:22;17772:3;17768:32;17756:45;;17826:1;17817:11;;17633:201;1474:1069:5;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:5;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:5;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:5;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;-1:-1:-1;;2173:57:5;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;596:401:101:-;-1:-1:-1;;;;;;2955:46:65;;2954:74;821:10:101;803:79;799:196;;-1:-1:-1;;;956:10:101;968:21;:10;:19;:21::i;5973:214:79:-;6063:16;;;6077:1;6063:16;;;;;;;;;6034:26;;6063:16;;;;;;;;;;;-1:-1:-1;6063:16:79;6034:45;;6118:11;6085:9;6095:1;6085:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6137;1183:66;6172:9;6137:24;:45::i;648:795:102:-;776:17;796:25;:10;451:5:20;2637:44:65;;2539:148;796:25:102;776:45;-1:-1:-1;825:30:102;858:45;-1:-1:-1;;858:45:102;;:34;:45::i;:::-;940:30;;825:78;;-1:-1:-1;979:26:102;;975:466;;1017:68;1039:16;1058:26;1083:1;1058:22;:26;:::i;:::-;2742:27:2;2756:4;2742:27;2736:34;;2612:168;1017:68:102;:75;;;;1013:149;;1109:46;;;;;-1:-1:-1;;18323:79:225;;1109:46:102;;;18305:98:225;18278:18;;1109:46:102;18159:250:225;1013:149:102;1173:9;1168:269;1188:26;1213:1;1188:22;:26;:::i;:::-;1184:1;:30;1168:269;;;2756:4:2;2742:27;;;;2736:34;1242:50:102;;;;;:108;;;;-1:-1:-1;1296:47:102;1318:16;1337:5;:1;1341;1337:5;:::i;1296:47::-;:54;;;;;1242:108;1229:202;;;1376:46;;;;;-1:-1:-1;;18323:79:225;;1376:46:102;;;18305:98:225;18278:18;;1376:46:102;18159:250:225;1229:202:102;1216:3;;1168:269;;2856:314:31;2970:16;;;2984:1;2970:16;;;;;;;;;2922:11;;;;2970:16;;;;;;;;;;;;-1:-1:-1;2970:16:31;2941:45;;3025:10;2992:9;3002:1;2992:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3043:13;3059:62;971:66;3094:9;3043:13;-1:-1:-1;;;3059:24:31;:62::i;:::-;3043:78;;3135:29;3156:5;3143:20;;1650:10:20;1541:126;5023:265:80;5120:16;;;5134:1;5120:16;;;;;;;;;5091:26;;5120:16;;;;;;;;;;;-1:-1:-1;5120:16:80;5091:45;;5175:11;5142:9;5152:1;5142:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5194:89;1169:66;1153:83;;5229:9;5240:1;5261:5;5243:25;;;;;;;18563:2:225;18559:15;;;;-1:-1:-1;;18555:88:225;18543:101;;18669:2;18660:12;;18414:264;5243:25:80;;;;-1:-1:-1;;5243:25:80;;;;;;;;;1298:66;5194:24;:89::i;1509:162:47:-;1583:4;810:53;;;1602:64;;;;;1634:32;1646:19;1634:11;:32::i;:::-;1633:33;1595:71;1509:162;-1:-1:-1;;1509:162:47:o;5563:349:79:-;5677:16;;;5691:1;5677:16;;;;;;;;;5648:26;;5677:16;;;;;;;;;;;-1:-1:-1;5677:16:79;5648:45;;5732:11;5699:9;5709:1;5699:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5751:156;1183:66;1167:83;;5799:9;5816:1;5860:19;5825:56;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;5258:401:61;5402:17;5428:12;5442:23;5469:115;5499:6;5543:8;5569;5520:5;5469:13;:115::i;6646:291:85:-;6750:16;;;6764:1;6750:16;;;;;;;;6721:26;;6750:16;;;;;;;;;;-1:-1:-1;6750:16:85;6721:45;;6811:9;-1:-1:-1;;;;;6795:27:85;6787:36;;6772:9;6782:1;6772:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6868:9;-1:-1:-1;;;;;6852:27:85;6844:36;;6829:9;6839:1;6829:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;6887:45;1178:66;6922:9;6887:24;:45::i;9577:257:82:-;9674:16;;;9688:1;9674:16;;;;;;;;;9645:26;;9674:16;;;;;;;;;;;-1:-1:-1;9674:16:82;9645:45;;9729:8;9696:9;9706:1;9696:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;9745:84;1163:66;1147:83;;9786:9;9797:1;9818:8;9800:28;;;;;;;-1:-1:-1;;18824:79:225;;;;18812:92;;18929:2;18920:12;;18683:255;9800:28:82;;;;;;;;;;;;;9745:30;:84::i;4048:97:64:-;4089:7;4111:29;:27;:29::i;3750:306:80:-;3861:16;;;3875:1;3861:16;;;;;;;;;3811:13;;;;3861:16;;;;;;;;;;;;-1:-1:-1;3861:16:80;3832:45;;3916:11;3883:9;3893:1;3883:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3935:13;3951:62;1169:66;3986:9;3935:13;1298:66;3951:24;:62::i;6618:1665:4:-;6301:45;6681:87;;6723:38;;;;;;;;;;;;;;6681:87;6774:25;6802:30;:11;:28;:30::i;:::-;6774:58;;943:1:34;6842:17:4;:38;6838:156;;;6897:90;;;;;;;;15676:25:225;;;943:1:34;15717:18:225;;;15710:34;15649:18;;6897:90:4;15502:248:225;6838:156:4;7000:24;7027:29;:11;:27;:29::i;:::-;7000:56;-1:-1:-1;7062:23:4;7088:36;7107:17;7000:56;7088:36;:::i;:::-;7062:62;;689:2:34;7134:15:4;:34;7130:141;;;7185:79;;;;;;;;15676:25:225;;;689:2:34;15717:18:225;;;15710:34;15649:18;;7185:79:4;15502:248:225;7130:141:4;7313:25;7349:9;7344:429;7364:16;7360:1;:20;7344:429;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;7392:24;7453:21;;;7449:234;;7493:52;;;;;;;;5982:25:225;;;5955:18;;7493:52:4;5836:177:225;7449:234:4;376:2:34;7564:16:4;:28;7560:123;;;7611:63;;;;;;;;5982:25:225;;;5955:18;;7611:63:4;5836:177:225;7560:123:4;7690:37;7711:16;7690:37;;:::i;:::-;;-1:-1:-1;;7755:3:4;;7344:429;;;;7840:30;:11;:28;:30::i;:::-;7819:17;:51;7815:184;;7942:30;:11;:28;:30::i;:::-;7887:105;;;;;;;;15676:25:225;;;;15717:18;;;15710:34;;;15649:18;;7887:105:4;15502:248:225;7815:184:4;8055:16;8038:241;689:2:34;8073:1:4;:20;8038:241;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;8169:21;;8165:108;;8209:55;;;;;;;;5982:25:225;;;5955:18;;8209:55:4;5836:177:225;8165:108:4;-1:-1:-1;8095:3:4;;8038:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;6301:45:4;;5881:16:21;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;5982:25:225;5955:18;;5906:37:21;5836:177:225;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;943:1:34;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;5982:25:225;;;5955:18;;6116:53:21;5836:177:225;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;;;;;5982:25:225;;;5955:18;;6412:51:21;5836:177:225;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;;;;;;5982:25:225;;5970:2;5955:18;;5836: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;;4979:171:4;5052:7;579:1:34;1532;1516:13;1528:1;376:2;1516:13;:::i;:::-;:17;;;;:::i;:::-;1515:34;;;;:::i;:::-;5088:11:4;5067:78;5080:64;;5067:78;;4979:171;-1:-1:-1;;4979:171:4:o;5377:173::-;5451:7;579:1:34;1704;;1684:13;1696:1;376:2;1684: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;:::-;4125:89;4019:206;-1:-1:-1;;;4019:206:21:o;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;19791:677:33:-;19999:24;20026:49;20039:11;20052:9;20063:11;20026:12;:49::i;:::-;19999:76;;20082:30;20115:55;20129:18;20149:20;20115:13;:55::i;:::-;20082:88;;20176:25;20204:55;20218:18;20238:20;20204:13;:55::i;:::-;20295:16;;;20309:1;20295:16;;;;;;;;;20176:83;;-1:-1:-1;20266:26:33;;20295:16;;;;;;;;;;;;-1:-1:-1;20295:16:33;20266:45;;20350:7;20317:9;20327:1;20317:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20365:98;1207:66;20395:9;20406:11;20419:15;20436:12;1336:66;20365:19;:98::i;:::-;19993:475;;;;19791:677;;;;;;:::o;6159:426:85:-;6287:16;;;6301:1;6287:16;;;;;;;;6258:26;;6287:16;;;;;;;;;;-1:-1:-1;6287:16:85;6258:45;;6348:9;-1:-1:-1;;;;;6332:27:85;6324:36;;6309:9;6319:1;6309:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6405:9;-1:-1:-1;;;;;6389:27:85;6381:36;;6366:9;6376:1;6366:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6424:156;1178:66;1162:83;;6472:9;6489:1;6533:19;6498:56;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;36171:541:24;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:4;:27;579:1:34;4322:44:4;4288:79;;;4275:93;36635:63:24;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;:::-;36452:255;36171:541;-1:-1:-1;;;;;36171:541:24:o;9334:179:75:-;9431:12;9475:8;9485:22;9458:50;;;;;;;;19492:19:225;;;-1:-1:-1;;;;;;19541:79:225;19536:2;19527:12;;19520:101;19646:2;19637:12;;19306:349;9458:50:75;;;;;;;;;;;;;9451:57;;9334:179;;;;:::o;13212:3165:24:-;-1:-1:-1;;;13486:7:24;-1:-1:-1;;;;;;13486:44:24;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:36;13976:4:24;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:5;;;;;14021:47:24;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:24;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:24;894:4:19;884:15;;14520:54:24;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:23;;;14915:102:24;-1:-1:-1;894:4:19;884:15;;15191:47:24;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:24;:14;15615:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:24;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:24;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:36;16125:4:24;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:5;;;;;16169:46:24;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:24;;16035:338;;5285:306:76;5364:30;5525:55;5554:17;5548:31;975:16:3;2068:39;;;2049:59;;1907:269;5756:155:76;5835:12;5886:17;5862:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;5855:51;;5756:155;;;:::o;1312:272:49:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;26296:1804:24:-;-1:-1:-1;;;26463:7:24;-1:-1:-1;;;;;;26463:44:24;;26459:173;;26593:7;26561:50;26602:8;26561:50;;;;;;:::i;:::-;;;;;;;;26296:1804;;;:::o;26459:173::-;26773:22;26798:24;26814:7;26798:15;:24::i;:::-;26773:49;;26833:9;26828:235;26848:5;:12;26844:1;:16;26828:235;;;26875:9;26897:5;26903:1;26897:8;;;;;;;;:::i;:::-;;;;;;;26875:31;;26918:36;1049:6:36;26918:4:24;:14;;;;;:36;;;;:::i;:::-;26914:143;;;26966:82;;;;;3536:35:5;;;;;26966:50:24;;:82;;27017:7;;27026:8;;27036:11;;26966:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26914:143;-1:-1:-1;26862:3:24;;26828:235;;;;27143:7;27111:50;27152:8;27111:50;;;;;;:::i;:::-;;;;;;;;27194:26;27223:59;27264:7;27273:8;27223:40;:59::i;:::-;27194:88;;27288:113;27320:18;27348:1;27367:30;:11;:28;:30::i;:::-;27357:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27357:41:24;;27288:13;:113::i;:::-;27620:1;27587:30;:11;:28;:30::i;:::-;:34;27583:236;;;27631:33;27667:66;27715:7;27724:8;27667:47;:66::i;:::-;27631:102;;27741:71;27772:25;27807:2;27741:12;:71::i;:::-;27623:196;27583:236;27868:9;27863:233;27883:5;:12;27879:1;:16;27863:233;;;27910:9;27932:5;27938:1;27932:8;;;;;;;;:::i;:::-;;;;;;;27910:31;;27953:35;1149:6:36;27953:4:24;:14;;;;;:35;;;;:::i;:::-;27949:141;;;28000:81;;;;;3536:35:5;;;;;28000:49:24;;:81;;28050:7;;28059:8;;28069:11;;28000:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27949:141;-1:-1:-1;27897:3:24;;27863:233;;23107:355;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;8747:150:84:-;8854:38;;8827:12;22899:15:225;;;-1:-1:-1;;22895:88:225;8854:38:84;;;22883:101:225;23030:14;;23023:22;23018:3;23014:32;23000:12;;;22993:54;8827:12:84;23063::225;;8854:38:84;22732:349:225;9656:254:32;9753:16;;;9767:1;9753:16;;;;;;;;;9724:26;;9753:16;;;;;;;;;;;-1:-1:-1;9753:16:32;9724:45;;9808:7;9775:9;9785:1;9775:12;;;;;;;;:::i;:::-;;;;;;:41;;;;;9823:82;969:66;953:83;;9862:9;9873:1;9894:8;9876:28;;;;;;;-1:-1:-1;;18824:79:225;;;;18812:92;;18929:2;18920:12;;18683:255;9876:28:32;;;;;;;;;;;;;9823;:82::i;5594:317:64:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:64;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:64;;;;-1:-1:-1;5594:317:64;-1:-1:-1;;;;;5594:317:64:o;348:217:103:-;551:6;545:13;538:4;530:6;526:17;519:40;3525:369:30;3665:16;;;3679:1;3665:16;;;;;;;;;3606:22;;3636:26;;3665:16;;;;;;;;;;;;-1:-1:-1;3665:16:30;3636:45;;3720:10;3687:9;3697:1;3687:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3738:18;3759:49;3785:8;3795:9;3806:1;3759:25;:49::i;:::-;3738:70;;3822:66;:44;3843:5;3850:1;3853:5;:12;3822:20;:44::i;:::-;:64;:66::i;4912:282::-;5038:16;;;5052:1;5038:16;;;;;;;;;5009:26;;5038:16;;;;;;;;;;;-1:-1:-1;5038:16:30;5009:45;;5093:10;5060:9;5070:1;5060:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5111:78;5137:8;5147:9;5158:1;5161:27;5181:5;5161:18;:27::i;:::-;5111:25;:78::i;13847:301:28:-;13931:21;13955:17;:15;:17::i;:::-;13931:41;-1:-1:-1;14007:4:28;-1:-1:-1;;;;;13982:30:28;;;13978:166;;14022:41;14045:7;14054:8;14022:22;:41::i;13978:166::-;14084:53;;;;;-1:-1:-1;;;;;14084:34:28;;;;;:53;;14119:7;;14128:8;;14084:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:181:47;764:71:86;;;-1:-1:-1;;;764:71:86;;;12755:92:225;1205:4:47;12863:11:225;;;12856:100;;;814:20:86;12972:12:225;;;12965:101;1205:4:47;13082:12:225;764:71:86;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:47;;;;1129:181;-1:-1:-1;1129:181:47:o;3782:1003:61:-;3918:12;3932:17;3981:22;4006:26;4023:8;4006:16;:26::i;:::-;3981:51;;4109:9;4104:228;4124:5;:12;4120:1;:16;4104:228;;;4151:9;4173:5;4179:1;4173:8;;;;;;;;:::i;:::-;;;;;;;4151:31;;4194:34;458:6:104;4194:4:61;:14;;;;;:34;;;;:::i;:::-;4190:136;;;4240:77;;;;;3536:35:5;;;;;4240:49:61;;:77;;4290:6;;4298:8;;4308;;4240:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4190:136;-1:-1:-1;4138:3:61;;4104:228;;;;4407:78;4422:6;4437:5;4454:8;4474;4407:4;:78::i;:::-;4389:96;;-1:-1:-1;4389:96:61;-1:-1:-1;4560:9:61;4555:226;4575:5;:12;4571:1;:16;4555:226;;;4602:9;4624:5;4630:1;4624:8;;;;;;;;:::i;:::-;;;;;;;4602:31;;4645:33;586:6:104;4645:4:61;:14;;;;;:33;;;;:::i;:::-;4641:134;;;4690:76;;;;;3536:35:5;;;;;4690:48:61;;:76;;4739:6;;4747:8;;4757;;4690:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:134;-1:-1:-1;4589:3:61;;4555:226;;;;3951:834;3782:1003;;;;;;;:::o;12345:451:28:-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:28;-1:-1:-1;;;;;12556:30:28;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:28;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12499:297;12345:451;;;;:::o;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:28;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:28:o;4598:171:4:-;4672:7;579:1:34;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:4;;;;;4598:171;-1:-1:-1;4598:171:4:o;24208:209:33:-;24359:53;;;;;;24779:19:225;;;24814:12;;;24807:28;;;24332:12:33;24851::225;;;24844:28;;;24332:12:33;24888::225;;24359:53:33;;;;;;;;;;;;;24352:60;;24208:209;;;;;:::o;24608:390::-;24918:32;;24952:34;;24734:30;;2662:5:3;;;975:16;2694:39;;;;2675:59;2776:23;2761:39;;;;2742:59;24895:92:33;2518:351:3;25163:234:33;25289:12;25340:18;25369:20;25316:76;;;;;;;;;:::i;50806:191:24:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:24;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:24:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:4;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;52003:32:24;;:::i;:::-;;-1:-1:-1;51990:3:24;;51958:84;;;-1:-1:-1;52054:6:24;51823:242;-1:-1:-1;;;51823: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;3656:342:32:-;3772:16;;;3786:1;3772:16;;;;;;;;;3713:22;;3743:26;;3772:16;;;;;;;;;;;;-1:-1:-1;3772:16:32;3743:45;;3827:7;3794:9;3804:1;3794:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3842:18;3863:49;969:66;3899:9;3842:18;3863:25;:49::i;:::-;3842:70;;3926:66;:44;3947:5;3954:1;3957:5;:12;3926:20;:44::i;3035:136:5:-;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;53371:230:24:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:24;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:24:o;52742:274::-;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;708:400:49:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:49;1073:7;-1:-1:-1;;;;;;4132:576:49;4295:56;;-1:-1:-1;;;;;;5197:79:225;;4295:56:49;;;5179:98:225;4234:4:49;;;;5152:18:225;;4295:56:49;;;-1:-1:-1;;4295:56:49;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:49;;-1:-1:-1;;4498:7:49;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:49:o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::19;884:15;;758:151;1098:24:23;1055:5;:68::i;4032:370::-;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;17013:1682:24;-1:-1:-1;;;17192:7:24;-1:-1:-1;;;;;;17192:44:24;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:36;17798:4:24;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:5;;;;;17851:54:24;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:24;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:36;18455:4:24;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:5;;;;;18507:53:24;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:24;;18365:326;;28764:791;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:24;29171:49;29023:106;29202:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:24;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;4897:201:64:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;37180:522:24:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:24;37440: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;39802:222:39:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;24152:738:24:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:24;24551:49;24403:106;24582:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:24;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;25552:145::-;25636:56;25649:7;25658:8;25668:23;25683:7;25668:14;:23::i;:::-;25636:12;:56::i;3857:344:82:-;3974:16;;;3988:1;3974:16;;;;;;;;;3915:22;;3945:26;;3974:16;;;;;;;;;;;;-1:-1:-1;3974:16:82;3945:45;;4029:8;3996:9;4006:1;3996:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4045:18;4066:49;1163:66;4102:9;4045:18;4066:25;:49::i;1761:1386:61:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:61;-1:-1:-1;;;;;;2067:27:61;;2063:106;;2139:8;2149:19;:8;:17;:19::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;-1:-1:-1;;;2955:46:65;;-1:-1:-1;;;2954:74:65;2432:22:61;2515:26;2954:74:65;2515:13:61;:26::i;:::-;2490:51;-1:-1:-1;2549:50:61;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:20;2637:44:65;;2539:148;2681:23:61;-1:-1:-1;;2681:41:61;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:61;-1:-1:-1;;;;;;;1761:1386:61:o;53939:303:24:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:23;;4605:137;44254:4001:24;-1:-1:-1;;;44652:7:24;-1:-1:-1;;;;;;44652:35:24;;44648:161;;-1:-1:-1;;;44759:7:24;44792;44775:25;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;44648:161:24;44815:27;44845:49;:22;44876:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:24;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:24;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;28943:12:225;28982:15;;;45340:92:24;;;28964:34:225;29034:15;;;29014:18;;;29007:43;29086:15;;29066:18;;;29059:43;28906:18;;45340:92:24;28737:371:225;45221:218:24;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;29286:25:225;;;29359:12;29347:25;;29327:18;;;29320:53;29259:18;;45581:74:24;29113:266:225;45522:140:24;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:36;46104:4:24;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:5;;;;-1:-1:-1;;;;;46158:55:24;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:24;;46014:486;;;-1:-1:-1;46558:32:24;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:24;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:23;;;-1:-1:-1;47216:248:24;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:36;47858:4:24;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:5;;;;-1:-1:-1;;;;;47911:54:24;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:24;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;5042:669:23:-;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;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:40;1474:15;;-1:-1:-1;;5373:16:23;1531:32:40;;;5373:16:23;5369:32;1503:4:40;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;4015:652:24;4082:11;4318:64;;;4314:111;;-1:-1:-1;1336:66:33;;4015:652:24;-1:-1:-1;4015:652:24:o;4314:111::-;4469:185;4515:85;1207:66:33;4591:7:24;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;5928:433:84:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:84;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;-1:-1:-1;;2756:4:2;2742:27;;2736:34;2742:27;;;;2736:34;7564:35:84;;;;;;7631:33;;;;;;-1:-1:-1;5928:433:84;-1:-1:-1;;;;;;5928:433:84:o;1546:281:46:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;3758:308:74:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:74;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:74;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:74;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;15444:19:225;;15488:2;15479:12;;15284:213;6415:321:64;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:64;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7468:1525:3;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;5982:25:225;;;5955:18;;7664:67:3;5836:177:225;7618:120:3;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:3;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:3;;;;;:::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;51249:282:24:-;51494:30;;;;;;31457:19:225;;;31492:12;;;31485:28;;;51337:7:24;;31529:12:225;;51494:30:24;31269:278:225;32759:1315:24;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:24;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:3;;;33532:33:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:24;-1:-1:-1;33518:47:24;-1:-1:-1;894:4:19;884:15;;33573:21:24;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:24;33808:25;:14;33831:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:24;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;955:327:46:-;1036:4;1178:56;-1:-1:-1;;;;;;2955:46:65;;2954:74;1227:6:46;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;48823:360:24:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:24;;;;;;;;;-1:-1:-1;48986:9:24;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;4006:378:81:-;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:81;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:81;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;-1:-1:-1;;;4273:24:81;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;1650:10:20;1541:126;14:332:225;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;-1:-1:-1;;;;;;223:5:225;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:166;-1:-1:-1;;;;;634:5:225;630:54;623:5;620:65;610:93;;699:1;696;689:12;714:377;832:6;840;893:2;881:9;872:7;868:23;864:32;861:52;;;909:1;906;899:12;861:52;945:9;932:23;922:33;;1005:2;994:9;990:18;977:32;1018:43;1055:5;1018:43;:::i;:::-;1080:5;1070:15;;;714:377;;;;;:::o;1096:375::-;1167:8;1177:6;1231:3;1224:4;1216:6;1212:17;1208:27;1198:55;;1249:1;1246;1239:12;1198:55;-1:-1:-1;1272:20:225;;1315:18;1304:30;;1301:50;;;1347:1;1344;1337:12;1301:50;1384:4;1376:6;1372:17;1360:29;;1444:3;1437:4;1427:6;1424:1;1420:14;1412:6;1408:27;1404:38;1401:47;1398:67;;;1461:1;1458;1451:12;1398:67;1096:375;;;;;:::o;1476:1205::-;1775:6;1783;1791;1799;1807;1815;1823;1831;1884:3;1872:9;1863:7;1859:23;1855:33;1852:53;;;1901:1;1898;1891:12;1852:53;1937:9;1924:23;1914:33;;1994:2;1983:9;1979:18;1966:32;1956:42;;2045:2;2034:9;2030:18;2017:32;2007:42;;2096:2;2085:9;2081:18;2068:32;2058:42;;2151:3;2140:9;2136:19;2123:33;2175:18;2216:2;2208:6;2205:14;2202:34;;;2232:1;2229;2222:12;2202:34;2271:78;2341:7;2332:6;2321:9;2317:22;2271:78;:::i;:::-;2368:8;;-1:-1:-1;2245:104:225;-1:-1:-1;2456:3:225;2441:19;;2428:33;;-1:-1:-1;2473:16:225;;;2470:36;;;2502:1;2499;2492:12;2470:36;;2541:80;2613:7;2602:8;2591:9;2587:24;2541:80;:::i;:::-;1476:1205;;;;-1:-1:-1;1476:1205:225;;-1:-1:-1;1476:1205:225;;;;;;2640:8;-1:-1:-1;;;1476:1205:225:o;2917:184::-;-1:-1:-1;;;2966:1:225;2959:88;3066:4;3063:1;3056:15;3090:4;3087:1;3080:15;3106:334;3177:2;3171:9;3233:2;3223:13;;-1:-1:-1;;3219:86:225;3207:99;;3336:18;3321:34;;3357:22;;;3318:62;3315:88;;;3383:18;;:::i;:::-;3419:2;3412:22;3106:334;;-1:-1:-1;3106:334:225:o;3445:589::-;3487:5;3540:3;3533:4;3525:6;3521:17;3517:27;3507:55;;3558:1;3555;3548:12;3507:55;3594:6;3581:20;3620:18;3616:2;3613:26;3610:52;;;3642:18;;:::i;:::-;3686:114;3794:4;-1:-1:-1;;3718:4:225;3714:2;3710:13;3706:86;3702:97;3686:114;:::i;:::-;3825:2;3816:7;3809:19;3871:3;3864:4;3859:2;3851:6;3847:15;3843:26;3840:35;3837:55;;;3888:1;3885;3878:12;3837:55;3953:2;3946:4;3938:6;3934:17;3927:4;3918:7;3914:18;3901:55;4001:1;3976:16;;;3994:4;3972:27;3965:38;;;;3980:7;3445:589;-1:-1:-1;;;3445:589:225:o;4039:566::-;4156:6;4164;4172;4225:2;4213:9;4204:7;4200:23;4196:32;4193:52;;;4241:1;4238;4231:12;4193:52;4280:9;4267:23;4299:43;4336:5;4299:43;:::i;:::-;4361:5;-1:-1:-1;4413:2:225;4398:18;;4385:32;;-1:-1:-1;4468:2:225;4453:18;;4440:32;4495:18;4484:30;;4481:50;;;4527:1;4524;4517:12;4481:50;4550:49;4591:7;4582:6;4571:9;4567:22;4550:49;:::i;:::-;4540:59;;;4039:566;;;;;:::o;4610:420::-;4719:6;4727;4780:2;4768:9;4759:7;4755:23;4751:32;4748:52;;;4796:1;4793;4786:12;4748:52;4832:9;4819:23;4809:33;;4893:2;4882:9;4878:18;4865:32;4920:18;4912:6;4909:30;4906:50;;;4952:1;4949;4942:12;4906:50;4975:49;5016:7;5007:6;4996:9;4992:22;4975:49;:::i;:::-;4965:59;;;4610:420;;;;;:::o;5288:543::-;5409:6;5417;5425;5478:2;5466:9;5457:7;5453:23;5449:32;5446:52;;;5494:1;5491;5484:12;5446:52;5530:9;5517:23;5507:33;;5590:2;5579:9;5575:18;5562:32;5603:43;5640:5;5603:43;:::i;:::-;5665:5;-1:-1:-1;5722:2:225;5707:18;;5694:32;5764:15;;5757:23;5745:36;;5735:64;;5795:1;5792;5785:12;5735:64;5818:7;5808:17;;;5288:543;;;;;:::o;6018:156::-;6084:20;;6144:4;6133:16;;6123:27;;6113:55;;6164:1;6161;6154:12;6179:447;6304:6;6312;6320;6373:2;6361:9;6352:7;6348:23;6344:32;6341:52;;;6389:1;6386;6379:12;6341:52;6425:9;6412:23;6402:33;;6485:2;6474:9;6470:18;6457:32;6498:43;6535:5;6498:43;:::i;:::-;6560:5;-1:-1:-1;6584:36:225;6616:2;6601:18;;6584:36;:::i;:::-;6574:46;;6179:447;;;;;:::o;6631:640::-;6759:6;6767;6775;6828:2;6816:9;6807:7;6803:23;6799:32;6796:52;;;6844:1;6841;6834:12;6796:52;6880:9;6867:23;6857:33;;6941:2;6930:9;6926:18;6913:32;6964:18;7005:2;6997:6;6994:14;6991:34;;;7021:1;7018;7011:12;6991:34;7044:49;7085:7;7076:6;7065:9;7061:22;7044:49;:::i;:::-;7034:59;;7146:2;7135:9;7131:18;7118:32;7102:48;;7175:2;7165:8;7162:16;7159:36;;;7191:1;7188;7181:12;7159:36;;7214:51;7257:7;7246:8;7235:9;7231:24;7214:51;:::i;7276:484::-;7370:6;7378;7431:2;7419:9;7410:7;7406:23;7402:32;7399:52;;;7447:1;7444;7437:12;7399:52;7486:9;7473:23;7505:43;7542:5;7505:43;:::i;:::-;7567:5;-1:-1:-1;7623:2:225;7608:18;;7595:32;7650:18;7639:30;;7636:50;;;7682:1;7679;7672:12;8149:211;8239:6;8292:2;8280:9;8271:7;8267:23;8263:32;8260:52;;;8308:1;8305;8298:12;8260:52;-1:-1:-1;8331:23:225;;8149:211;-1:-1:-1;8149:211:225:o;8365:518::-;8513:6;8521;8529;8582:2;8570:9;8561:7;8557:23;8553:32;8550:52;;;8598:1;8595;8588:12;8550:52;8634:9;8621:23;8611:33;;8691:2;8680:9;8676:18;8663:32;8653:42;;8746:2;8735:9;8731:18;8718:32;8773:18;8765:6;8762:30;8759:50;;;8805:1;8802;8795:12;8888:259;8947:6;9000:2;8988:9;8979:7;8975:23;8971:32;8968:52;;;9016:1;9013;9006:12;8968:52;9055:9;9042:23;9074:43;9111:5;9074:43;:::i;9606:250::-;9691:1;9701:113;9715:6;9712:1;9709:13;9701:113;;;9791:11;;;9785:18;9772:11;;;9765:39;9737:2;9730:10;9701:113;;;-1:-1:-1;;9848:1:225;9830:16;;9823:27;9606:250::o;9861:330::-;9903:3;9941:5;9935:12;9968:6;9963:3;9956:19;9984:76;10053:6;10046:4;10041:3;10037:14;10030:4;10023:5;10019:16;9984:76;:::i;:::-;10105:2;10093:15;-1:-1:-1;;10089:88:225;10080:98;;;;10180:4;10076:109;;9861:330;-1:-1:-1;;9861:330:225:o;10196:322::-;10404:6;10393:9;10386:25;10447:2;10442;10431:9;10427:18;10420:30;10367:4;10467:45;10508:2;10497:9;10493:18;10485:6;10467:45;:::i;10523:940::-;10661:9;10695:18;10736:2;10728:6;10725:14;10722:40;;;10742:18;;:::i;:::-;10788:6;10785:1;10781:14;10814:4;10838:30;10862:4;10858:2;10854:13;10838:30;:::i;:::-;10902:19;;;10974:14;;;;10946:4;10937:14;;;11011;11000:26;;10997:46;;;11039:1;11036;11029:12;10997:46;11063:5;11077:353;11093:6;11088:3;11085:15;11077:353;;;11179:3;11166:17;11215:2;11202:11;11199:19;11196:109;;;11259:1;11288:2;11284;11277:14;11196:109;11330:57;11372:14;11358:11;11351:5;11347:23;11330:57;:::i;:::-;11318:70;;-1:-1:-1;11408:12:225;;;;11110;;11077:353;;;-1:-1:-1;11452:5:225;10523:940;-1:-1:-1;;;;;;;10523:940:225:o;11468:464::-;-1:-1:-1;;;;;;11706:6:225;11702:79;11691:9;11684:98;11818:6;11813:2;11802:9;11798:18;11791:34;11861:2;11856;11845:9;11841:18;11834:30;11665:4;11881:45;11922:2;11911:9;11907:18;11899:6;11881:45;:::i;11937:630::-;12206:3;12244:6;12238:13;12260:66;12319:6;12314:3;12307:4;12299:6;12295:17;12260:66;:::i;:::-;12387:4;12348:16;;;12373:19;;;12417:13;;12439:78;12417:13;12504:1;12493:13;;12486:4;12474:17;;12439:78;:::i;:::-;12537:20;12559:1;12533:28;;11937:630;-1:-1:-1;;;;11937:630:225:o;13105:357::-;13223:12;;13270:4;13259:16;;;13253:23;;13223:12;13288:16;;13285:171;;;-1:-1:-1;;13362:4:225;13358:17;;;;13355:1;13351:25;13347:98;13336:110;;13105:357;-1:-1:-1;13105:357:225:o;13467:218::-;13614:2;13603:9;13596:21;13577:4;13634:45;13675:2;13664:9;13660:18;13652:6;13634:45;:::i;13690:340::-;13867:2;13856:9;13849:21;13830:4;13887:45;13928:2;13917:9;13913:18;13905:6;13887:45;:::i;:::-;13879:53;;-1:-1:-1;;;;;13972:6:225;13968:55;13963:2;13952:9;13948:18;13941:83;13690:340;;;;;:::o;14035:184::-;-1:-1:-1;;;14084:1:225;14077:88;14184:4;14181:1;14174:15;14208:4;14205:1;14198:15;14224:125;14289:9;;;14310:10;;;14307:36;;;14323:18;;:::i;14354:925::-;-1:-1:-1;;;;;;14795:6:225;14791:79;14786:3;14779:92;14761:3;14890;14922:2;14918:1;14913:3;14909:11;14902:23;14954:6;14948:13;14970:74;15037:6;15033:1;15028:3;15024:11;15017:4;15009:6;15005:17;14970:74;:::i;:::-;15072:6;15067:3;15063:16;15053:26;;15107:2;15103:1;15099:2;15095:10;15088:22;15141:6;15135:13;15119:29;;15157:75;15223:8;15219:1;15215:2;15211:10;15204:4;15196:6;15192:17;15157:75;:::i;:::-;15252:17;15271:1;15248:25;;14354:925;-1:-1:-1;;;;;14354:925:225:o;15755:184::-;-1:-1:-1;;;15804:1:225;15797:88;15904:4;15901:1;15894:15;15928:4;15925:1;15918:15;15944:862;16106:4;16135:2;16175;16164:9;16160:18;16205:2;16194:9;16187:21;16228:6;16263;16257:13;16294:6;16286;16279:22;16332:2;16321:9;16317:18;16310:25;;16394:2;16384:6;16381:1;16377:14;16366:9;16362:30;16358:39;16344:53;;16432:2;16424:6;16420:15;16453:1;16463:314;16477:6;16474:1;16471:13;16463:314;;;16566:66;16554:9;16546:6;16542:22;16538:95;16533:3;16526:108;16657:40;16690:6;16681;16675:13;16657:40;:::i;:::-;16647:50;-1:-1:-1;16755:12:225;;;;16720:15;;;;16499:1;16492:9;16463:314;;;-1:-1:-1;16794:6:225;;15944:862;-1:-1:-1;;;;;;;15944:862:225:o;17071:184::-;-1:-1:-1;;;17120:1:225;17113:88;17220:4;17217:1;17210:15;17244:4;17241:1;17234:15;18026:128;18093:9;;;18114:11;;;18111:37;;;18128:18;;:::i;19133:168::-;19206:9;;;19237;;19254:15;;;19248:22;;19234:37;19224:71;;19275:18;;:::i;19660:439::-;19713:3;19751:5;19745:12;19778:6;19773:3;19766:19;19804:4;19833;19828:3;19824:14;19817:21;;19872:4;19865:5;19861:16;19895:1;19905:169;19919:6;19916:1;19913:13;19905:169;;;19980:13;;19968:26;;20014:12;;;;20049:15;;;;19941:1;19934:9;19905:169;;;-1:-1:-1;20090:3:225;;19660:439;-1:-1:-1;;;;;19660:439:225:o;20104:691::-;20438:3;20427:9;20420:22;20401:4;20465:57;20517:3;20506:9;20502:19;20494:6;20465:57;:::i;:::-;20570:9;20562:6;20558:22;20553:2;20542:9;20538:18;20531:50;20604:33;20630:6;20622;20604:33;:::i;:::-;20590:47;;20673:6;20668:2;20657:9;20653:18;20646:34;20728:9;20720:6;20716:22;20711:2;20700:9;20696:18;20689:50;20756:33;20782:6;20774;20756:33;:::i;20800:898::-;21253:6;21242:9;21235:25;21296:3;21291:2;21280:9;21276:18;21269:31;21216:4;21323:57;21375:3;21364:9;21360:19;21352:6;21323:57;:::i;:::-;21428:9;21420:6;21416:22;21411:2;21400:9;21396:18;21389:50;21462:33;21488:6;21480;21462:33;:::i;:::-;21448:47;;21531:6;21526:2;21515:9;21511:18;21504:34;21587:9;21579:6;21575:22;21569:3;21558:9;21554:19;21547:51;21615:33;21641:6;21633;21615:33;:::i;:::-;21607:41;;;21685:6;21679:3;21668:9;21664:19;21657:35;20800:898;;;;;;;;;:::o;21703:287::-;21832:3;21870:6;21864:13;21886:66;21945:6;21940:3;21933:4;21925:6;21921:17;21886:66;:::i;:::-;21968:16;;;;;21703:287;-1:-1:-1;;21703:287:225:o;21995:261::-;22174:2;22163:9;22156:21;22137:4;22194:56;22246:2;22235:9;22231:18;22223:6;22194:56;:::i;22261:466::-;22559:6;22548:9;22541:25;22602:2;22597;22586:9;22582:18;22575:30;22522:4;22622:56;22674:2;22663:9;22659:18;22651:6;22622:56;:::i;:::-;22614:64;;22714:6;22709:2;22698:9;22694:18;22687:34;22261:466;;;;;;:::o;23086:363::-;23324:6;23313:9;23306:25;23367:2;23362;23351:9;23347:18;23340:30;23287:4;23387:56;23439:2;23428:9;23424:18;23416:6;23387:56;:::i;23454:440::-;-1:-1:-1;;;;;23692:6:225;23688:55;23677:9;23670:74;23780:6;23775:2;23764:9;23760:18;23753:34;23823:2;23818;23807:9;23803:18;23796:30;23651:4;23843:45;23884:2;23873:9;23869:18;23861:6;23843:45;:::i;23899:604::-;24207:6;24196:9;24189:25;24250:3;24245:2;24234:9;24230:18;24223:31;24170:4;24277:57;24329:3;24318:9;24314:19;24306:6;24277:57;:::i;:::-;24382:4;24374:6;24370:17;24365:2;24354:9;24350:18;24343:45;24436:9;24428:6;24424:22;24419:2;24408:9;24404:18;24397:50;24464:33;24490:6;24482;24464:33;:::i;24911:492::-;25086:3;25124:6;25118:13;25140:66;25199:6;25194:3;25187:4;25179:6;25175:17;25140:66;:::i;:::-;25269:13;;25228:16;;;;25291:70;25269:13;25228:16;25338:4;25326:17;;25291:70;:::i;:::-;25377:20;;24911:492;-1:-1:-1;;;;24911:492:225:o;25408:639::-;25658:6;25653:3;25646:19;25628:3;25684:2;25717;25712:3;25708:12;25749:6;25743:13;25814:2;25806:6;25802:15;25835:1;25845:175;25859:6;25856:1;25853:13;25845:175;;;25922:13;;25908:28;;25958:14;;;;25995:15;;;;25881:1;25874:9;25845:175;;;-1:-1:-1;26036:5:225;;25408:639;-1:-1:-1;;;;;;;25408:639:225:o;26052:184::-;-1:-1:-1;;;26101:1:225;26094:88;26201:4;26198:1;26191:15;26225:4;26222:1;26215:15;26241:274;26281:1;26307;26297:189;;-1:-1:-1;;;26339:1:225;26332:88;26443:4;26440:1;26433:15;26471:4;26468:1;26461:15;26297:189;-1:-1:-1;26500:9:225;;26241:274::o;26520:512::-;26771:2;26760:9;26753:21;26734:4;26797:56;26849:2;26838:9;26834:18;26826:6;26797:56;:::i;:::-;26901:14;26893:6;26889:27;26884:2;26873:9;26869:18;26862:55;26965:9;26957:6;26953:22;26948:2;26937:9;26933:18;26926:50;26993:33;27019:6;27011;26993:33;:::i;27037:616::-;27347:6;27336:9;27329:25;27390:3;27385:2;27374:9;27370:18;27363:31;27310:4;27417:57;27469:3;27458:9;27454:19;27446:6;27417:57;:::i;:::-;27522:14;27514:6;27510:27;27505:2;27494:9;27490:18;27483:55;27586:9;27578:6;27574:22;27569:2;27558:9;27554:18;27547:50;27614:33;27640:6;27632;27614:33;:::i;27658:530::-;27843:3;27881:6;27875:13;27897:66;27956:6;27951:3;27944:4;27936:6;27932:17;27897:66;:::i;:::-;28032:2;28028:15;;;;-1:-1:-1;;28024:88:225;27985:16;;;;28010:103;;;28140:2;28129:14;;28122:30;;;;28179:2;28168:14;;27658:530;-1:-1:-1;;27658:530:225:o;28193:360::-;28396:2;28385:9;28378:21;28359:4;28416:45;28457:2;28446:9;28442:18;28434:6;28416:45;:::i;:::-;28492:2;28477:18;;28470:34;;;;-1:-1:-1;28535:2:225;28520:18;28513:34;28408:53;28193:360;-1:-1:-1;28193:360:225:o;28558:174::-;28625:12;28657:10;;;28669;;;28653:27;;28692:11;;;28689:37;;;28706:18;;:::i;:::-;28689:37;28558:174;;;;:::o;29384:900::-;29807:6;29796:9;29789:25;29850:3;29845:2;29834:9;29830:18;29823:31;29770:4;29877:57;29929:3;29918:9;29914:19;29906:6;29877:57;:::i;:::-;29982:4;29970:17;;29965:2;29950:18;;29943:45;30007:12;30055:15;;;30050:2;30035:18;;30028:43;30108:15;;30102:3;30087:19;;30080:44;30155:3;30140:19;;30133:35;;;30205:22;;;30199:3;30184:19;;30177:51;30245:33;30209:6;30263;30245:33;:::i;:::-;30237:41;29384:900;-1:-1:-1;;;;;;;;;;29384:900:225:o;30289:788::-;30653:3;30642:9;30635:22;30616:4;30680:57;30732:3;30721:9;30717:19;30709:6;30680:57;:::i;:::-;30785:4;30777:6;30773:17;30768:2;30757:9;30753:18;30746:45;30839:14;30831:6;30827:27;30822:2;30811:9;30807:18;30800:55;30903:12;30895:6;30891:25;30886:2;30875:9;30871:18;30864:53;30954:6;30948:3;30937:9;30933:19;30926:35;31010:9;31002:6;30998:22;30992:3;30981:9;30977:19;30970:51;31038:33;31064:6;31056;31038:33;:::i;:::-;31030:41;30289:788;-1:-1:-1;;;;;;;;;30289:788:225:o;31552:175::-;31589:3;31633:4;31626:5;31622:16;31662:4;31653:7;31650:17;31647:43;;31670:18;;:::i;:::-;31719:1;31706:15;;31552:175;-1:-1:-1;;31552:175:225:o","linkReferences":{},"immutableReferences":{"35628":[{"start":3035,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","installModule(address,bytes)":"8da798da","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","supportsInterface(bytes4)":"01ffc9a7","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"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\":[{\"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\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"Aggregates multiple system implementations for the World.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"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.\"}}],\"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_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"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_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"installModule(address,bytes)\":{\"details\":\"Validates the given module against the IModule interface and delegates the installation process. The module is then registered in the InstalledModules table.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for module installation.\",\"module\":\"The module to be installed.\"}},\"registerDelegation(address,bytes32,bytes)\":{\"details\":\"Creates a new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\",\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\"}},\"registerFunctionSelector(bytes32,string)\":{\"details\":\"Creates a mapping between a World function and its associated system function\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerNamespace(bytes32)\":{\"details\":\"Creates a new namespace resource with the given ID\",\"params\":{\"namespaceId\":\"The unique identifier for the new namespace\"}},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"details\":\"Sets up a new delegation control for a specific namespace\",\"params\":{\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\",\"namespaceId\":\"The ID of the namespace\"}},\"registerRootFunctionSelector(bytes32,string,string)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\",\"worldFunctionSignature\":\"The signature of the World function\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerStoreHook(bytes32,address,uint8)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.\",\"params\":{\"enabledHooksBitmap\":\"A bitmap indicating which hook functionalities are enabled.\",\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table for which the hook is being registered.\"}},\"registerSystem(bytes32,address,bool)\":{\"details\":\"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.\",\"params\":{\"publicAccess\":\"Flag indicating if access control check is bypassed\",\"system\":\"The system being registered\",\"systemId\":\"The unique identifier for the system\"}},\"registerSystemHook(bytes32,address,uint8)\":{\"details\":\"Adds a new hook for the system at the provided system ID\",\"params\":{\"enabledHooksBitmap\":\"Bitmap indicating which hooks are enabled\",\"hookAddress\":\"The address of the hook being registered\",\"systemId\":\"The ID of the system\"}},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"details\":\"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.\",\"params\":{\"fieldLayout\":\"The field layout structure for the table.\",\"fieldNames\":\"The names of the fields in the table.\",\"keyNames\":\"The names associated with the keys in the table.\",\"keySchema\":\"The schema for the keys of the table.\",\"tableId\":\"The resource ID of the table.\",\"valueSchema\":\"The schema for the values within the table.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterDelegation(address)\":{\"details\":\"Deletes the new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\"}},\"unregisterNamespaceDelegation(bytes32)\":{\"details\":\"Deletes the delegation control for a specific namespace\",\"params\":{\"namespaceId\":\"The ID of the namespace\"}},\"unregisterStoreHook(bytes32,address)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs.\",\"params\":{\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table from which the hook is being unregistered.\"}},\"unregisterSystemHook(bytes32,address)\":{\"details\":\"Removes a hook for the system at the provided system ID\",\"params\":{\"hookAddress\":\"The address of the hook being unregistered\",\"systemId\":\"The ID of the system\"}}},\"title\":\"Registration System for World\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"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.\"}],\"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_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index 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_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"installModule(address,bytes)\":{\"notice\":\"Installs a module into the World under a specified namespace.\"},\"registerDelegation(address,bytes32,bytes)\":{\"notice\":\"Registers a delegation for the caller\"},\"registerFunctionSelector(bytes32,string)\":{\"notice\":\"Registers a new World function selector\"},\"registerNamespace(bytes32)\":{\"notice\":\"Registers a new namespace\"},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"notice\":\"Registers a delegation for a namespace\"},\"registerRootFunctionSelector(bytes32,string,string)\":{\"notice\":\"Registers a root World function selector\"},\"registerStoreHook(bytes32,address,uint8)\":{\"notice\":\"Register a storage hook for a specified table.\"},\"registerSystem(bytes32,address,bool)\":{\"notice\":\"Registers a system\"},\"registerSystemHook(bytes32,address,uint8)\":{\"notice\":\"Registers a new system hook\"},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"notice\":\"Register a table within the World framework.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterDelegation(address)\":{\"notice\":\"Unregisters a delegation\"},\"unregisterNamespaceDelegation(bytes32)\":{\"notice\":\"Unregisters a delegation for a namespace\"},\"unregisterStoreHook(bytes32,address)\":{\"notice\":\"Unregister a previously registered storage hook for a specified table.\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"notice\":\"This system aggregates World registration and installation functionalities externalized from the World contract, aiming to keep the World contract's bytecode lean.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol\":\"RegistrationSystem\"},\"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/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"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/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"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\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"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\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"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\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"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\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"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\":\"0xcc0fa969a57724e7a9184009e2b1ea8ecb209a06e283c6d2b6a15cabff35f39d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d91985b8f48fcb8259b776c10bc17a1656e8dbeaa15c0c0e73368af38e6cfc8a\",\"dweb:/ipfs/QmRiYbrXqqWcTrvwz95kN6ZiMhUBfLiUycxQiSGeZFDkuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xa52e8323cc7227d69a3c6b2e244b4e0face106eeaa5cf23e759b0278b0f4a7ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf5d3ede2d114c26abe7b5268ed17aedb56d6ded91af19019ecebb75edf48b36\",\"dweb:/ipfs/QmWwqNFjqWFhfv8ABRXV9mbZBGumz741YCmVuQPqtiVZaD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x155aa0e073774674596a28371a3a863ad1d6c44d418140269d2982a45e40734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c849ad6563c4afbdd7eec40042c9afa0d9919ece10c2acab390e358095ddd160\",\"dweb:/ipfs/QmbB7eVhKe3simEvugH18e1fBJKmwqionms3YWbWuRBDYV\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x7930483bedccb95dd73447108e67d576924c83ec591cb70c699cdea7ebaabccc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c23093bf098e8e1f224a0e20beb6860d461a5f8d33265d382e3d43bdc431080\",\"dweb:/ipfs/QmSQwjDCEgTUgUWajjETvCRJd18ZPRhYPyS6Rcg6wDizXw\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"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\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xb9d3ad8030a8d111971cbf775c1834313736c2f714d2bcb90fe065a928abe2c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://702c7297150819d078d498d3c6ebbc9dc9414c35aaf1f8e19ae4c5beb5048c7d\",\"dweb:/ipfs/QmZxKTDNLvVDV4jJ6S2qu9HnPbSXq1hRfgazJAL1xWkSkt\"]},\"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/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xe0b2ae91638eb7a609ce29428b3ab2a796f06558cf82cca9a258fd4ff06690dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://522872daab151f15b83bb63a41dd54bc9142b8875fabd43f4bdae209f7532fd1\",\"dweb:/ipfs/QmNRWboeoneiCkewk7BLp27yQCj7NE6DGNiaeWt6Z4jYtX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b\",\"dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729\",\"dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5\",\"dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol\":{\"keccak256\":\"0x5aa1ad023ec7e30b102275af8f76e08d195e277fd89fb5fffd8436adf7dbc3f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5389a9204b6714c8494f169277ccfdcf43ab3d969cafddf8a5eb61d2a2b827a4\",\"dweb:/ipfs/QmVvkj8hEcUQZTvHptDe7fEZHnH9bnut6f3jaLSquPgBCw\"]},\"node_modules/@latticexyz/world/src/modules/init/constants.sol\":{\"keccak256\":\"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752\",\"dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0x1be1b12b2b2c7ff519cbe503ddda58cd308a8067e9ff7a168f3833031cf3f93d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37cede506e9219fa7a1c518ece3fa6333ccad58b4b792629044288d2d9b9e8d1\",\"dweb:/ipfs/QmcFo72Bv2t5GFQgM71NNB7xNLnQwG39oE9KTrdaNsv9ZV\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86\",\"dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0x55eeb860659c933f5ab71fb362744fb75d429cd6d77c487c55e57fd0c52690f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b55452519e038f6e12ed2afe815bd30d1fdb172bd39ed6724e2c7da148c72daf\",\"dweb:/ipfs/QmerkghFNefXFacXzHVJDrLLDDykmEuHZ9VVVYf7V6GunZ\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/createDelegation.sol\":{\"keccak256\":\"0xcc77f108d653e54c3556047d69421c4864324aabbc4d29afc64c8ee20b1b622e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://974668744ac9b5d267952c52a60a6e2018067761a019af9cecfd2fbb3fa9a4aa\",\"dweb:/ipfs/QmaiBpSkRwLRGgB6GjWL2dAYVe78yKtmBDpodBKpBrY2Fz\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0x361f8259c4a5ba355b2aad118befe00f7fe5169be730d6c0ca11ab7a863bd6fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccc850a1ea57e900d85e2c5fac02c36d55b42d2345b439ea7044ea42f5a49c01\",\"dweb:/ipfs/QmVShgn2FgTTg9QGnL5Fzhovowmu1C7fABKLJTxbewZzEG\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":[{"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":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"}],"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."}},"installModule(address,bytes)":{"details":"Validates the given module against the IModule interface and delegates the installation process. The module is then registered in the InstalledModules table.","params":{"encodedArgs":"The ABI encoded arguments for module installation.","module":"The module to be installed."}},"registerDelegation(address,bytes32,bytes)":{"details":"Creates a new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee","delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation"}},"registerFunctionSelector(bytes32,string)":{"details":"Creates a mapping between a World function and its associated system function","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerNamespace(bytes32)":{"details":"Creates a new namespace resource with the given ID","params":{"namespaceId":"The unique identifier for the new namespace"}},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"details":"Sets up a new delegation control for a specific namespace","params":{"delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation","namespaceId":"The ID of the namespace"}},"registerRootFunctionSelector(bytes32,string,string)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID","worldFunctionSignature":"The signature of the World function"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerStoreHook(bytes32,address,uint8)":{"details":"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.","params":{"enabledHooksBitmap":"A bitmap indicating which hook functionalities are enabled.","hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table for which the hook is being registered."}},"registerSystem(bytes32,address,bool)":{"details":"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.","params":{"publicAccess":"Flag indicating if access control check is bypassed","system":"The system being registered","systemId":"The unique identifier for the system"}},"registerSystemHook(bytes32,address,uint8)":{"details":"Adds a new hook for the system at the provided system ID","params":{"enabledHooksBitmap":"Bitmap indicating which hooks are enabled","hookAddress":"The address of the hook being registered","systemId":"The ID of the system"}},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"details":"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.","params":{"fieldLayout":"The field layout structure for the table.","fieldNames":"The names of the fields in the table.","keyNames":"The names associated with the keys in the table.","keySchema":"The schema for the keys of the table.","tableId":"The resource ID of the table.","valueSchema":"The schema for the values within the table."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterDelegation(address)":{"details":"Deletes the new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee"}},"unregisterNamespaceDelegation(bytes32)":{"details":"Deletes the delegation control for a specific namespace","params":{"namespaceId":"The ID of the namespace"}},"unregisterStoreHook(bytes32,address)":{"details":"The caller must be the owner of the namespace to which the table belongs.","params":{"hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table from which the hook is being unregistered."}},"unregisterSystemHook(bytes32,address)":{"details":"Removes a hook for the system at the provided system ID","params":{"hookAddress":"The address of the hook being unregistered","systemId":"The ID of the system"}}},"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."},"installModule(address,bytes)":{"notice":"Installs a module into the World under a specified namespace."},"registerDelegation(address,bytes32,bytes)":{"notice":"Registers a delegation for the caller"},"registerFunctionSelector(bytes32,string)":{"notice":"Registers a new World function selector"},"registerNamespace(bytes32)":{"notice":"Registers a new namespace"},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"notice":"Registers a delegation for a namespace"},"registerRootFunctionSelector(bytes32,string,string)":{"notice":"Registers a root World function selector"},"registerStoreHook(bytes32,address,uint8)":{"notice":"Register a storage hook for a specified table."},"registerSystem(bytes32,address,bool)":{"notice":"Registers a system"},"registerSystemHook(bytes32,address,uint8)":{"notice":"Registers a new system hook"},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"notice":"Register a table within the World framework."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterDelegation(address)":{"notice":"Unregisters a delegation"},"unregisterNamespaceDelegation(bytes32)":{"notice":"Unregisters a delegation for a namespace"},"unregisterStoreHook(bytes32,address)":{"notice":"Unregister a previously registered storage hook for a specified table."},"unregisterSystemHook(bytes32,address)":{"notice":"Unregisters a system hook"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol":"RegistrationSystem"},"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/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"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/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"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/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":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"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":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"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":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"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/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"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":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"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":"0xcc0fa969a57724e7a9184009e2b1ea8ecb209a06e283c6d2b6a15cabff35f39d","urls":["bzz-raw://d91985b8f48fcb8259b776c10bc17a1656e8dbeaa15c0c0e73368af38e6cfc8a","dweb:/ipfs/QmRiYbrXqqWcTrvwz95kN6ZiMhUBfLiUycxQiSGeZFDkuo"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xa52e8323cc7227d69a3c6b2e244b4e0face106eeaa5cf23e759b0278b0f4a7ab","urls":["bzz-raw://bf5d3ede2d114c26abe7b5268ed17aedb56d6ded91af19019ecebb75edf48b36","dweb:/ipfs/QmWwqNFjqWFhfv8ABRXV9mbZBGumz741YCmVuQPqtiVZaD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x155aa0e073774674596a28371a3a863ad1d6c44d418140269d2982a45e40734b","urls":["bzz-raw://c849ad6563c4afbdd7eec40042c9afa0d9919ece10c2acab390e358095ddd160","dweb:/ipfs/QmbB7eVhKe3simEvugH18e1fBJKmwqionms3YWbWuRBDYV"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x7930483bedccb95dd73447108e67d576924c83ec591cb70c699cdea7ebaabccc","urls":["bzz-raw://5c23093bf098e8e1f224a0e20beb6860d461a5f8d33265d382e3d43bdc431080","dweb:/ipfs/QmSQwjDCEgTUgUWajjETvCRJd18ZPRhYPyS6Rcg6wDizXw"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"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":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xb9d3ad8030a8d111971cbf775c1834313736c2f714d2bcb90fe065a928abe2c8","urls":["bzz-raw://702c7297150819d078d498d3c6ebbc9dc9414c35aaf1f8e19ae4c5beb5048c7d","dweb:/ipfs/QmZxKTDNLvVDV4jJ6S2qu9HnPbSXq1hRfgazJAL1xWkSkt"],"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/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xe0b2ae91638eb7a609ce29428b3ab2a796f06558cf82cca9a258fd4ff06690dd","urls":["bzz-raw://522872daab151f15b83bb63a41dd54bc9142b8875fabd43f4bdae209f7532fd1","dweb:/ipfs/QmNRWboeoneiCkewk7BLp27yQCj7NE6DGNiaeWt6Z4jYtX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05","urls":["bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b","dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d","urls":["bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729","dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1","urls":["bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5","dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol":{"keccak256":"0x5aa1ad023ec7e30b102275af8f76e08d195e277fd89fb5fffd8436adf7dbc3f2","urls":["bzz-raw://5389a9204b6714c8494f169277ccfdcf43ab3d969cafddf8a5eb61d2a2b827a4","dweb:/ipfs/QmVvkj8hEcUQZTvHptDe7fEZHnH9bnut6f3jaLSquPgBCw"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/constants.sol":{"keccak256":"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9","urls":["bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752","dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol":{"keccak256":"0x1be1b12b2b2c7ff519cbe503ddda58cd308a8067e9ff7a168f3833031cf3f93d","urls":["bzz-raw://37cede506e9219fa7a1c518ece3fa6333ccad58b4b792629044288d2d9b9e8d1","dweb:/ipfs/QmcFo72Bv2t5GFQgM71NNB7xNLnQwG39oE9KTrdaNsv9ZV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":{"keccak256":"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498","urls":["bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86","dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0x55eeb860659c933f5ab71fb362744fb75d429cd6d77c487c55e57fd0c52690f6","urls":["bzz-raw://b55452519e038f6e12ed2afe815bd30d1fdb172bd39ed6724e2c7da148c72daf","dweb:/ipfs/QmerkghFNefXFacXzHVJDrLLDDykmEuHZ9VVVYf7V6GunZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/createDelegation.sol":{"keccak256":"0xcc77f108d653e54c3556047d69421c4864324aabbc4d29afc64c8ee20b1b622e","urls":["bzz-raw://974668744ac9b5d267952c52a60a6e2018067761a019af9cecfd2fbb3fa9a4aa","dweb:/ipfs/QmaiBpSkRwLRGgB6GjWL2dAYVe78yKtmBDpodBKpBrY2Fz"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0x361f8259c4a5ba355b2aad118befe00f7fe5169be730d6c0ca11ab7a863bd6fd","urls":["bzz-raw://ccc850a1ea57e900d85e2c5fac02c36d55b42d2345b439ea7044ea42f5a49c01","dweb:/ipfs/QmVShgn2FgTTg9QGnL5Fzhovowmu1C7fABKLJTxbewZzEG"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":89}