@latticexyz/world-modules 2.0.0-main-212aeea9 → 2.0.0-main-3042f86e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/out/AccessControl.sol/AccessControl.json +1 -1
  2. package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
  3. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  4. package/out/AddressArray.sol/AddressArray.json +1 -1
  5. package/out/Allowances.sol/Allowances.json +1 -1
  6. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  7. package/out/Balances.sol/Balances.json +1 -1
  8. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  9. package/out/Bool.sol/Bool.json +1 -1
  10. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  11. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  12. package/out/Delegation.sol/Delegation.json +1 -1
  13. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  14. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  15. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  16. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  17. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  18. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  19. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  20. package/out/ERC20System.sol/ERC20System.json +1 -1
  21. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  22. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  23. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  24. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  25. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  26. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  27. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  28. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  29. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  30. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  31. package/out/ERC721System.sol/ERC721System.json +1 -1
  32. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  33. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  34. package/out/Hook.sol/HookInstance.json +1 -1
  35. package/out/Hook.sol/HookLib.json +1 -1
  36. package/out/Hooks.sol/Hooks.json +1 -1
  37. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  38. package/out/InitModule.sol/InitModule.json +1 -1
  39. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  40. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  41. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  42. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  43. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +0 -16
  44. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +0 -16
  45. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  46. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  47. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  48. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  49. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +0 -16
  50. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +0 -16
  51. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  52. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  53. package/out/Module.sol/Module.json +1 -1
  54. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  55. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  56. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  57. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  58. package/out/Owners.sol/Owners.json +1 -1
  59. package/out/Puppet.sol/Puppet.json +1 -1
  60. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  61. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  62. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  63. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  64. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  65. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  66. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  67. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  68. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  69. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  70. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  71. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  72. package/out/StoreCore.sol/StoreCore.json +1 -1
  73. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  74. package/out/StoreData.sol/StoreData.json +1 -1
  75. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  76. package/out/StoreRead.sol/StoreRead.json +1 -1
  77. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  78. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  79. package/out/System.sol/System.json +1 -1
  80. package/out/SystemCall.sol/SystemCall.json +1 -1
  81. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  82. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  83. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  84. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  85. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +0 -16
  86. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +0 -16
  87. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  88. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  89. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  90. package/out/Systems.sol/Systems.json +1 -1
  91. package/out/Tables.sol/Tables.json +1 -1
  92. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  93. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  94. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  95. package/out/TokenURI.sol/TokenURI.json +1 -1
  96. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  97. package/out/TwoFields.sol/TwoFields.json +1 -1
  98. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  99. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  100. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  101. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  102. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  103. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  104. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  105. package/out/World.sol/World.json +1 -1
  106. package/out/World.t.sol/EchoSystemHook.json +1 -1
  107. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  108. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  109. package/out/World.t.sol/RevertSystemHook.json +1 -1
  110. package/out/World.t.sol/WorldTest.json +1 -1
  111. package/out/World.t.sol/WorldTestSystem.json +1 -1
  112. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  113. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  114. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  115. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  116. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  117. package/out/query.t.sol/QueryTest.json +1 -1
  118. package/out/tables/Balances.sol/Balances.json +1 -1
  119. package/package.json +8 -8
  120. package/src/modules/erc20-puppet/tables/Allowances.sol +8 -29
  121. package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +8 -29
  122. package/src/modules/erc20-puppet/tables/ERC20Registry.sol +8 -28
  123. package/src/modules/erc20-puppet/tables/TotalSupply.sol +8 -27
  124. package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +8 -29
  125. package/src/modules/erc721-puppet/tables/ERC721Registry.sol +8 -28
  126. package/src/modules/erc721-puppet/tables/OperatorApproval.sol +8 -29
  127. package/src/modules/erc721-puppet/tables/Owners.sol +8 -28
  128. package/src/modules/erc721-puppet/tables/TokenApproval.sol +8 -28
  129. package/src/modules/erc721-puppet/tables/TokenURI.sol +8 -28
  130. package/src/modules/keysintable/KeysInTableModule.sol +4 -4
  131. package/src/modules/keysintable/tables/KeysInTable.sol +9 -33
  132. package/src/modules/keysintable/tables/UsedKeysIndex.sol +9 -31
  133. package/src/modules/keyswithvalue/KeysWithValueModule.sol +2 -2
  134. package/src/modules/keyswithvalue/tables/KeysWithValue.sol +9 -29
  135. package/src/modules/puppet/tables/PuppetRegistry.sol +8 -28
  136. package/src/modules/std-delegations/tables/CallboundDelegations.sol +8 -31
  137. package/src/modules/std-delegations/tables/SystemboundDelegations.sol +8 -30
  138. package/src/modules/std-delegations/tables/TimeboundDelegations.sol +8 -29
  139. package/src/modules/tokens/tables/Balances.sol +8 -28
  140. package/src/modules/uniqueentity/tables/UniqueEntity.sol +9 -28
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"onAfterDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSetRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeDeleteRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSetRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StoreHook_NotImplemented","inputs":[]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506125cf806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d0e565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611eaa565b6101fd565b005b6100e26100f2366004611f5e565b610262565b6100e2610105366004611f5e565b61031d565b6100e2610118366004611eaa565b61034f565b6100e2610105366004612002565b6100e2610139366004612052565b61039b565b6100e261014c366004612002565b6103ef565b6100e261015f366004612052565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610519565b9050600061022f661ad95e5ddd985b60ca1b8b6105f4565b9050610256818a600081518110610248576102486120df565b6020026020010151846106d1565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b886105f4565b90506000610287888885610519565b90506102ae82886000815181106102a0576102a06120df565b6020026020010151836106d1565b8351606090156102e3578686866040516020016102cd93929190612119565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a600081518110610305576103056120df565b6020026020010151610712565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610519565b90506000610381661ad95e5ddd985b60ca1b8b6105f4565b905061025681838b600081518110610305576103056120df565b60006103a685610480565b905060006103b5868684610519565b905060006103cd661ad95e5ddd985b60ca1b886105f4565b90506103e68187600081518110610248576102486120df565b50505050505050565b60006103fc848484610519565b90506000610414661ad95e5ddd985b60ca1b866105f4565b905061042d8185600081518110610248576102486120df565b5050505050565b600061043f85610480565b9050600061044e868684610519565b90506000610466661ad95e5ddd985b60ca1b886105f4565b90506103e6818388600081518110610305576103056120df565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b96120df565b602090810291909101015260006105117f746273746f72650000000000000000005461626c65730000000000000000000083837e60030220202000000000000000000000000000000000000000000000000000610782565b949350505050565b60008060008061052761083f565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105569392919061218c565b600060405180830381865afa158015610573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059b91908101906121fa565b9250925092506000815111156105e0578282826040516020016105c093929190612119565b6040516020818303038152906040528051906020012093505050506105ed565b5050805160209091012090505b9392505050565b6000806106008361084e565b9050600061060e8460101b90565b9050603861061d81601061227d565b610627919061227d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c6106586038601061227d565b7f74620000000000000000000000000000000000000000000000000000000000007fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b60006106e7836106e18685610865565b906108d9565b90508051600003610701576106fc84836109a7565b61070c565b61070c8483836109f8565b50505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610748576107486120df565b60200260200101818152505061070c848260008560405160200161076e91815260200190565b604051602081830303815290604052610a4f565b60008061078d610af5565b9050306001600160a01b038216036107b3576107ab86868686610b34565b915050610511565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906107fe908990899089908990600401612290565b602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906122bf565b6000610849610af5565b905090565b600061085c6070601061227d565b9190911b919050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061089f5761089f6120df565b60200260200101818152505060006108b985836000610b61565b90506108d06108cb8260008451610c28565b610cbf565b95945050505050565b60606000835167ffffffffffffffff8111156108f7576108f7611d50565b604051908082528060200260200182016040528015610920578160200160208202803683370190505b5090506000805b855181101561099d5784868281518110610943576109436120df565b60200260200101511461099557858181518110610962576109626120df565b602002602001015183838151811061097c5761097c6120df565b602090810291909101015281610991816122d8565b9250505b600101610927565b5081529392505050565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106109dd576109dd6120df565b6020026020010181815250506109f38382610cd0565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2e57610a2e6120df565b60200260200101818152505061070c84826000610a4a86610d6b565b610d7b565b6000610a59610af5565b9050306001600160a01b03821603610a7c57610a7785858585610dee565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610ac790889088908890889060040161231e565b600060405180830381600087803b158015610ae157600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b2f573391505090565b919050565b60006108d0610b438686610e31565b60ff858116601b0360080285901c16610b5c8587610e87565b610eb8565b60606000610b6d610af5565b9050306001600160a01b03821603610b9257610b8a858585610f09565b9150506105ed565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610bdb90889088908890600401612352565b600060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8a919081019061237e565b509392505050565b600081831180610c385750835182115b15610c7e578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c75939291906123b3565b60405180910390fd5b60208401610c8c848261227d565b90506000610c9a85856123d8565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006105ed8360206000610f43565b6000610cda610af5565b9050306001600160a01b03821603610cf6576109f38383610fbe565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d3d90869086906004016123eb565b600060405180830381600087803b158015610d5757600080fd5b505af11580156103e6573d6000803e3d6000fd5b6060816105ed8160206000610fd5565b6000610d85610af5565b9050306001600160a01b03821603610da357610a7785858585611029565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610ac790889088908890889060040161231e565b6000610dfa8585611064565b90506000610e17828560ff166028026038011c64ffffffffff1690565b9050610e298686868460008888611077565b505050505050565b60008282604051602001610e46929190612404565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c2057610eae60ff601b83900360080287901c168361227d565b9150600101610e8c565b600060208210610ede57602082048401935060208281610eda57610eda612440565b0691505b508254600882021b602082900380841115610c20576001850154600882021c82179150509392505050565b6060610511610f198585856114b1565b6000610f3e85610f298989611064565b9060ff166028026038011c64ffffffffff1690565b611531565b60606000610f518560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610f7757610f77612440565b04905060405193506020840160208202810160405281855260005b82811015610fb2578451871c825293870193602090910190600101610f92565b50505050509392505050565b610fd18282610fcc85611554565b6115d9565b5050565b82516060906000610fe68583612456565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fb2578051871b83529187019160019190910190602001611008565b60006110358585611064565b90506000611052828560ff166028026038011c64ffffffffff1690565b9050610e298686866000858888611077565b60006105ed61107384846118d8565b5490565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614611137577f746200000000000000000000000000000000000000000000000000000000000087886040516020016110f591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c7593929160040161246d565b6000611152828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116b91906123d8565b611175919061227d565b905080821415801561119757508161118d86886124ae565b64ffffffffff1614155b156111e7576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610c75565b818664ffffffffff161115611238576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610c75565b600061124584898461192e565b905060006112528b6119fc565b905060005b815181101561131d576000828281518110611274576112746120df565b602002602001015190506112a06010826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561131457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016112e197969594939291906124d3565b600060405180830381600087803b1580156112fb57600080fd5b505af115801561130f573d6000803e3d6000fd5b505050505b50600101611257565b5064ffffffffff881660005b8a60ff168160ff16101561135c57611350878260ff166028026038011c64ffffffffff1690565b90910190600101611329565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161139796959493929190612531565b60405180910390a2508284146113b85760006113b38c8c6118d8565b839055505b60006113c58c8c8c6114b1565b90506113d9818a64ffffffffff1689611aa3565b5060005b81518110156114a35760008282815181106113fa576113fa6120df565b602002602001015190506114266020826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561149a57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161146797969594939291906124d3565b600060405180830381600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050505b506001016113dd565b505050505050505050505050565b600083836040516020016114c6929190612404565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8484010116604052828252610c2085858584611ab9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d0000000000000000000082016115a357507e60030220202000000000000000000000000000000000000000000000000000919050565b6101f76115d07f746273746f72650000000000000000005461626c65730000000000000000000084611b85565b60206000610eb8565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361165f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051611652919061258d565b60405180910390a2505050565b600061166a846119fc565b905060005b815181101561173d57600082828151811061168c5761168c6120df565b602002602001015190506116b86040826affffffffffffffffffffff1916611a8590919063ffffffff16565b15611734576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117019089908990899060040161218c565b600060405180830381600087803b15801561171b57600080fd5b505af115801561172f573d6000803e3d6000fd5b505050505b5060010161166f565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161176e919061258d565b60405180910390a260006117828585610e31565b90506117db81600061179386611ba1565b67ffffffffffffffff8111156117ab576117ab611d50565b6040519080825280601f01601f1916602001820160405280156117d5576020820181803683370190505b50611aa3565b60006117e684611bc4565b11156118075760006117f886866118d8565b9050611805816020611c01565b505b60005b8251811015610e29576000838281518110611827576118276120df565b602002602001015190506118536080826affffffffffffffffffffff1916611a8590919063ffffffff16565b156118cf576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061189c908a908a908a9060040161218c565b600060405180830381600087803b1580156118b657600080fd5b505af11580156118ca573d6000803e3d6000fd5b505050505b5060010161180a565b600082826040516020016118ed929190612404565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff821115611972576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610c75565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119a457808503820191506119ac565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a3657611a366120df565b60209081029190910101526000611a6e7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610f09565b9050610511611a808260008451610c28565b611c3e565b60008160ff1682611a968560581c90565b1660ff1614905092915050565b6109f383838351611ab48560200190565b611c4f565b8215611b405760208310611ae357602083048401935060208381611adf57611adf612440565b0692505b8215611b40576020839003600081841015611b065750600019600884021c611b10565b50600019600882021c5b8554600886021b818451168219821617845250818411611b3157505061070c565b50600194909401939182900391015b5b60208210611b625783548152600190930192601f1990910190602001611b41565b811561070c576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e46565b60006008611bb1600260206123d8565b611bbb9190612456565b9190911c919050565b60006008600180611bd7600260206123d8565b611be191906123d8565b611beb91906123d8565b611bf59190612456565b8260ff911c1692915050565b60006020611c1083601f61227d565b611c1a91906125a0565b611c24908461227d565b90505b808310156109f35760008355600183019250611c27565b606060006105ed8360156000610f43565b8215611cc95760208310611c7957602083048401935060208381611c7557611c75612440565b0692505b8215611cc95760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611cba57505061070c565b50600194909401939182900391015b5b60208210611ceb5780518455600190930192601f1990910190602001611cca565b811561070c576000600019600884021c8554835182191691161785555050505050565b600060208284031215611d2057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146105ed57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8f57611d8f611d50565b604052919050565b600082601f830112611da857600080fd5b8135602067ffffffffffffffff821115611dc457611dc4611d50565b8160051b611dd3828201611d66565b9283528481018201928281019087851115611ded57600080fd5b83870192505b84831015611e0c57823582529183019190830190611df3565b979650505050505050565b803564ffffffffff81168114610b2f57600080fd5b600067ffffffffffffffff821115611e4657611e46611d50565b50601f01601f191660200190565b600082601f830112611e6557600080fd5b8135611e78611e7382611e2c565b611d66565b818152846020838601011115611e8d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611ec557600080fd5b87359650602088013567ffffffffffffffff80821115611ee457600080fd5b611ef08b838c01611d97565b975060408a0135915060ff82168214611f0857600080fd5b819650611f1760608b01611e17565b9550611f2560808b01611e17565b945060a08a0135935060c08a0135915080821115611f4257600080fd5b50611f4f8a828b01611e54565b91505092959891949750929550565b60008060008060008060c08789031215611f7757600080fd5b86359550602087013567ffffffffffffffff80821115611f9657600080fd5b611fa28a838b01611d97565b96506040890135915080821115611fb857600080fd5b611fc48a838b01611e54565b9550606089013594506080890135915080821115611fe157600080fd5b50611fee89828a01611e54565b92505060a087013590509295509295509295565b60008060006060848603121561201757600080fd5b83359250602084013567ffffffffffffffff81111561203557600080fd5b61204186828701611d97565b925050604084013590509250925092565b6000806000806080858703121561206857600080fd5b84359350602085013567ffffffffffffffff8082111561208757600080fd5b61209388838901611d97565b94506040870135915065ffffffffffff821682146120b057600080fd5b909250606086013590808211156120c657600080fd5b506120d387828801611e54565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b838110156121105781810151838201526020016120f8565b50506000910152565b6000845161212b8184602089016120f5565b820184815283516121438160208085019088016120f5565b0160200195945050505050565b60008151808452602080850194506020840160005b8381101561218157815187529582019590820190600101612165565b509495945050505050565b8381526060602082015260006121a56060830185612150565b9050826040830152949350505050565b600082601f8301126121c657600080fd5b81516121d4611e7382611e2c565b8181528460208386010111156121e957600080fd5b6105118260208301602087016120f5565b60008060006060848603121561220f57600080fd5b835167ffffffffffffffff8082111561222757600080fd5b612233878388016121b5565b945060208601519350604086015191508082111561225057600080fd5b5061225d868287016121b5565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f7612267565b8481526080602082015260006122a96080830186612150565b60ff949094166040830152506060015292915050565b6000602082840312156122d157600080fd5b5051919050565b600060001982036122eb576122eb612267565b5060010190565b6000815180845261230a8160208601602086016120f5565b601f01601f19169290920160200192915050565b8481526080602082015260006123376080830186612150565b60ff851660408401528281036060840152611e0c81856122f2565b83815260606020820152600061236b6060830185612150565b905060ff83166040830152949350505050565b60006020828403121561239057600080fd5b815167ffffffffffffffff8111156123a757600080fd5b610511848285016121b5565b6060815260006123c660608301866122f2565b60208301949094525060400152919050565b818103818111156101f7576101f7612267565b8281526040602082015260006105116040830184612150565b8281526000602080830184516020860160005b8281101561243357815184529284019290840190600101612417565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f7612267565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108d060608301846122f2565b64ffffffffff8181168382160190808211156124cc576124cc612267565b5092915050565b87815260e0602082015260006124ec60e0830189612150565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261252381856122f2565b9a9950505050505050505050565b60c08152600061254460c0830189612150565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261258081856122f2565b9998505050505050505050565b6020815260006105ed6020830184612150565b6000826125bd57634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000818000a","sourceMap":"1167:4801:167:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d0e565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611eaa565b6101fd565b005b6100e26100f2366004611f5e565b610262565b6100e2610105366004611f5e565b61031d565b6100e2610118366004611eaa565b61034f565b6100e2610105366004612002565b6100e2610139366004612052565b61039b565b6100e261014c366004612002565b6103ef565b6100e261015f366004612052565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610519565b9050600061022f661ad95e5ddd985b60ca1b8b6105f4565b9050610256818a600081518110610248576102486120df565b6020026020010151846106d1565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b886105f4565b90506000610287888885610519565b90506102ae82886000815181106102a0576102a06120df565b6020026020010151836106d1565b8351606090156102e3578686866040516020016102cd93929190612119565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a600081518110610305576103056120df565b6020026020010151610712565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610519565b90506000610381661ad95e5ddd985b60ca1b8b6105f4565b905061025681838b600081518110610305576103056120df565b60006103a685610480565b905060006103b5868684610519565b905060006103cd661ad95e5ddd985b60ca1b886105f4565b90506103e68187600081518110610248576102486120df565b50505050505050565b60006103fc848484610519565b90506000610414661ad95e5ddd985b60ca1b866105f4565b905061042d8185600081518110610248576102486120df565b5050505050565b600061043f85610480565b9050600061044e868684610519565b90506000610466661ad95e5ddd985b60ca1b886105f4565b90506103e6818388600081518110610305576103056120df565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b96120df565b602090810291909101015260006105117f746273746f72650000000000000000005461626c65730000000000000000000083837e60030220202000000000000000000000000000000000000000000000000000610782565b949350505050565b60008060008061052761083f565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105569392919061218c565b600060405180830381865afa158015610573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059b91908101906121fa565b9250925092506000815111156105e0578282826040516020016105c093929190612119565b6040516020818303038152906040528051906020012093505050506105ed565b5050805160209091012090505b9392505050565b6000806106008361084e565b9050600061060e8460101b90565b9050603861061d81601061227d565b610627919061227d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c6106586038601061227d565b7f74620000000000000000000000000000000000000000000000000000000000007fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b60006106e7836106e18685610865565b906108d9565b90508051600003610701576106fc84836109a7565b61070c565b61070c8483836109f8565b50505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610748576107486120df565b60200260200101818152505061070c848260008560405160200161076e91815260200190565b604051602081830303815290604052610a4f565b60008061078d610af5565b9050306001600160a01b038216036107b3576107ab86868686610b34565b915050610511565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906107fe908990899089908990600401612290565b602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906122bf565b6000610849610af5565b905090565b600061085c6070601061227d565b9190911b919050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061089f5761089f6120df565b60200260200101818152505060006108b985836000610b61565b90506108d06108cb8260008451610c28565b610cbf565b95945050505050565b60606000835167ffffffffffffffff8111156108f7576108f7611d50565b604051908082528060200260200182016040528015610920578160200160208202803683370190505b5090506000805b855181101561099d5784868281518110610943576109436120df565b60200260200101511461099557858181518110610962576109626120df565b602002602001015183838151811061097c5761097c6120df565b602090810291909101015281610991816122d8565b9250505b600101610927565b5081529392505050565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106109dd576109dd6120df565b6020026020010181815250506109f38382610cd0565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2e57610a2e6120df565b60200260200101818152505061070c84826000610a4a86610d6b565b610d7b565b6000610a59610af5565b9050306001600160a01b03821603610a7c57610a7785858585610dee565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610ac790889088908890889060040161231e565b600060405180830381600087803b158015610ae157600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b2f573391505090565b919050565b60006108d0610b438686610e31565b60ff858116601b0360080285901c16610b5c8587610e87565b610eb8565b60606000610b6d610af5565b9050306001600160a01b03821603610b9257610b8a858585610f09565b9150506105ed565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610bdb90889088908890600401612352565b600060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8a919081019061237e565b509392505050565b600081831180610c385750835182115b15610c7e578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c75939291906123b3565b60405180910390fd5b60208401610c8c848261227d565b90506000610c9a85856123d8565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006105ed8360206000610f43565b6000610cda610af5565b9050306001600160a01b03821603610cf6576109f38383610fbe565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d3d90869086906004016123eb565b600060405180830381600087803b158015610d5757600080fd5b505af11580156103e6573d6000803e3d6000fd5b6060816105ed8160206000610fd5565b6000610d85610af5565b9050306001600160a01b03821603610da357610a7785858585611029565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610ac790889088908890889060040161231e565b6000610dfa8585611064565b90506000610e17828560ff166028026038011c64ffffffffff1690565b9050610e298686868460008888611077565b505050505050565b60008282604051602001610e46929190612404565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c2057610eae60ff601b83900360080287901c168361227d565b9150600101610e8c565b600060208210610ede57602082048401935060208281610eda57610eda612440565b0691505b508254600882021b602082900380841115610c20576001850154600882021c82179150509392505050565b6060610511610f198585856114b1565b6000610f3e85610f298989611064565b9060ff166028026038011c64ffffffffff1690565b611531565b60606000610f518560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610f7757610f77612440565b04905060405193506020840160208202810160405281855260005b82811015610fb2578451871c825293870193602090910190600101610f92565b50505050509392505050565b610fd18282610fcc85611554565b6115d9565b5050565b82516060906000610fe68583612456565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fb2578051871b83529187019160019190910190602001611008565b60006110358585611064565b90506000611052828560ff166028026038011c64ffffffffff1690565b9050610e298686866000858888611077565b60006105ed61107384846118d8565b5490565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614611137577f746200000000000000000000000000000000000000000000000000000000000087886040516020016110f591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c7593929160040161246d565b6000611152828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116b91906123d8565b611175919061227d565b905080821415801561119757508161118d86886124ae565b64ffffffffff1614155b156111e7576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610c75565b818664ffffffffff161115611238576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610c75565b600061124584898461192e565b905060006112528b6119fc565b905060005b815181101561131d576000828281518110611274576112746120df565b602002602001015190506112a06010826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561131457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016112e197969594939291906124d3565b600060405180830381600087803b1580156112fb57600080fd5b505af115801561130f573d6000803e3d6000fd5b505050505b50600101611257565b5064ffffffffff881660005b8a60ff168160ff16101561135c57611350878260ff166028026038011c64ffffffffff1690565b90910190600101611329565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161139796959493929190612531565b60405180910390a2508284146113b85760006113b38c8c6118d8565b839055505b60006113c58c8c8c6114b1565b90506113d9818a64ffffffffff1689611aa3565b5060005b81518110156114a35760008282815181106113fa576113fa6120df565b602002602001015190506114266020826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561149a57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161146797969594939291906124d3565b600060405180830381600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050505b506001016113dd565b505050505050505050505050565b600083836040516020016114c6929190612404565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8484010116604052828252610c2085858584611ab9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d0000000000000000000082016115a357507e60030220202000000000000000000000000000000000000000000000000000919050565b6101f76115d07f746273746f72650000000000000000005461626c65730000000000000000000084611b85565b60206000610eb8565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361165f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051611652919061258d565b60405180910390a2505050565b600061166a846119fc565b905060005b815181101561173d57600082828151811061168c5761168c6120df565b602002602001015190506116b86040826affffffffffffffffffffff1916611a8590919063ffffffff16565b15611734576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117019089908990899060040161218c565b600060405180830381600087803b15801561171b57600080fd5b505af115801561172f573d6000803e3d6000fd5b505050505b5060010161166f565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161176e919061258d565b60405180910390a260006117828585610e31565b90506117db81600061179386611ba1565b67ffffffffffffffff8111156117ab576117ab611d50565b6040519080825280601f01601f1916602001820160405280156117d5576020820181803683370190505b50611aa3565b60006117e684611bc4565b11156118075760006117f886866118d8565b9050611805816020611c01565b505b60005b8251811015610e29576000838281518110611827576118276120df565b602002602001015190506118536080826affffffffffffffffffffff1916611a8590919063ffffffff16565b156118cf576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061189c908a908a908a9060040161218c565b600060405180830381600087803b1580156118b657600080fd5b505af11580156118ca573d6000803e3d6000fd5b505050505b5060010161180a565b600082826040516020016118ed929190612404565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff821115611972576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610c75565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119a457808503820191506119ac565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a3657611a366120df565b60209081029190910101526000611a6e7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610f09565b9050610511611a808260008451610c28565b611c3e565b60008160ff1682611a968560581c90565b1660ff1614905092915050565b6109f383838351611ab48560200190565b611c4f565b8215611b405760208310611ae357602083048401935060208381611adf57611adf612440565b0692505b8215611b40576020839003600081841015611b065750600019600884021c611b10565b50600019600882021c5b8554600886021b818451168219821617845250818411611b3157505061070c565b50600194909401939182900391015b5b60208210611b625783548152600190930192601f1990910190602001611b41565b811561070c576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e46565b60006008611bb1600260206123d8565b611bbb9190612456565b9190911c919050565b60006008600180611bd7600260206123d8565b611be191906123d8565b611beb91906123d8565b611bf59190612456565b8260ff911c1692915050565b60006020611c1083601f61227d565b611c1a91906125a0565b611c24908461227d565b90505b808310156109f35760008355600183019250611c27565b606060006105ed8360156000610f43565b8215611cc95760208310611c7957602083048401935060208381611c7557611c75612440565b0692505b8215611cc95760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611cba57505061070c565b50600194909401939182900391015b5b60208210611ceb5780518455600190930192601f1990910190602001611cca565b811561070c576000600019600884021c8554835182191691161785555050505050565b600060208284031215611d2057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146105ed57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8f57611d8f611d50565b604052919050565b600082601f830112611da857600080fd5b8135602067ffffffffffffffff821115611dc457611dc4611d50565b8160051b611dd3828201611d66565b9283528481018201928281019087851115611ded57600080fd5b83870192505b84831015611e0c57823582529183019190830190611df3565b979650505050505050565b803564ffffffffff81168114610b2f57600080fd5b600067ffffffffffffffff821115611e4657611e46611d50565b50601f01601f191660200190565b600082601f830112611e6557600080fd5b8135611e78611e7382611e2c565b611d66565b818152846020838601011115611e8d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611ec557600080fd5b87359650602088013567ffffffffffffffff80821115611ee457600080fd5b611ef08b838c01611d97565b975060408a0135915060ff82168214611f0857600080fd5b819650611f1760608b01611e17565b9550611f2560808b01611e17565b945060a08a0135935060c08a0135915080821115611f4257600080fd5b50611f4f8a828b01611e54565b91505092959891949750929550565b60008060008060008060c08789031215611f7757600080fd5b86359550602087013567ffffffffffffffff80821115611f9657600080fd5b611fa28a838b01611d97565b96506040890135915080821115611fb857600080fd5b611fc48a838b01611e54565b9550606089013594506080890135915080821115611fe157600080fd5b50611fee89828a01611e54565b92505060a087013590509295509295509295565b60008060006060848603121561201757600080fd5b83359250602084013567ffffffffffffffff81111561203557600080fd5b61204186828701611d97565b925050604084013590509250925092565b6000806000806080858703121561206857600080fd5b84359350602085013567ffffffffffffffff8082111561208757600080fd5b61209388838901611d97565b94506040870135915065ffffffffffff821682146120b057600080fd5b909250606086013590808211156120c657600080fd5b506120d387828801611e54565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b838110156121105781810151838201526020016120f8565b50506000910152565b6000845161212b8184602089016120f5565b820184815283516121438160208085019088016120f5565b0160200195945050505050565b60008151808452602080850194506020840160005b8381101561218157815187529582019590820190600101612165565b509495945050505050565b8381526060602082015260006121a56060830185612150565b9050826040830152949350505050565b600082601f8301126121c657600080fd5b81516121d4611e7382611e2c565b8181528460208386010111156121e957600080fd5b6105118260208301602087016120f5565b60008060006060848603121561220f57600080fd5b835167ffffffffffffffff8082111561222757600080fd5b612233878388016121b5565b945060208601519350604086015191508082111561225057600080fd5b5061225d868287016121b5565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f7612267565b8481526080602082015260006122a96080830186612150565b60ff949094166040830152506060015292915050565b6000602082840312156122d157600080fd5b5051919050565b600060001982036122eb576122eb612267565b5060010190565b6000815180845261230a8160208601602086016120f5565b601f01601f19169290920160200192915050565b8481526080602082015260006123376080830186612150565b60ff851660408401528281036060840152611e0c81856122f2565b83815260606020820152600061236b6060830185612150565b905060ff83166040830152949350505050565b60006020828403121561239057600080fd5b815167ffffffffffffffff8111156123a757600080fd5b610511848285016121b5565b6060815260006123c660608301866122f2565b60208301949094525060400152919050565b818103818111156101f7576101f7612267565b8281526040602082015260006105116040830184612150565b8281526000602080830184516020860160005b8281101561243357815184529284019290840190600101612417565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f7612267565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108d060608301846122f2565b64ffffffffff8181168382160190808211156124cc576124cc612267565b5092915050565b87815260e0602082015260006124ec60e0830189612150565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261252381856122f2565b9a9950505050505050505050565b60c08152600061254460c0830189612150565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261258081856122f2565b9998505050505050505050565b6020815260006105ed6020830184612150565b6000826125bd57634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000818000a","sourceMap":"1167:4801:167:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;929:187:22;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;929:187:22;;;;;;;3316:565:167;;;;;;:::i;:::-;;:::i;:::-;;1408:873;;;;;;:::i;:::-;;:::i;2475:266:22:-;;;;;;:::i;:::-;;:::i;3885:544:167:-;;;;;;:::i;:::-;;:::i;7591:160:22:-;;;;;;:::i;2285:522:167:-;;;;;;:::i;:::-;;:::i;4433:449::-;;;;;;:::i;:::-;;:::i;2811:501::-;;;;;;:::i;:::-;;:::i;929:187:22:-;1005:4;1024:43;;;1039:28;1024:43;;:87;;-1:-1:-1;1071:40:22;;;1086:25;1071:40;1024:87;1017:94;929:187;-1:-1:-1;;929:187:22:o;3316:565:167:-;3578:23;3604:36;3626:13;3604:21;:36::i;:::-;3578:62;;3646:21;3670:57;3690:13;3705:8;3715:11;3670:19;:57::i;:::-;3646:81;;3733:24;3760:49;-1:-1:-1;;;3795:13:167;3760:16;:49::i;:::-;3733:76;;3815:61;3834:13;3849:8;3858:1;3849:11;;;;;;;;:::i;:::-;;;;;;;3862:13;3815:18;:61::i;:::-;3504:377;;;3316:565;;;;;;;:::o;1408:873::-;1644:24;1671:49;-1:-1:-1;;;1706:13:167;1671:16;:49::i;:::-;1644:76;;1757:21;1781:57;1801:13;1816:8;1826:11;1781:19;:57::i;:::-;1757:81;;1913:61;1932:13;1947:8;1956:1;1947:11;;;;;;;;:::i;:::-;;;;;;;1960:13;1913:18;:61::i;:::-;2067:18;;2040:17;;2067:22;2063:145;;2123:10;2135:14;2151:11;2106:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2099:64;;2063:145;;;-1:-1:-1;2191:10:167;2063:145;2213:63;2232:13;2257:4;2247:15;;;;;;2264:8;2273:1;2264:11;;;;;;;;:::i;:::-;;;;;;;2213:18;:63::i;:::-;1638:643;;;1408:873;;;;;;:::o;2475:266:22:-;2710:26;;;;;;;;;;;;;;3885:544:167;4136:23;4162:36;4184:13;4162:21;:36::i;:::-;4136:62;;4204:16;4223:57;4243:13;4258:8;4268:11;4223:19;:57::i;:::-;4204:76;;4286:24;4313:49;-1:-1:-1;;;4348:13:167;4313:16;:49::i;:::-;4286:76;;4368:56;4387:13;4402:8;4412;4421:1;4412:11;;;;;;;;:::i;2285:522::-;2504:23;2530:36;2552:13;2530:21;:36::i;:::-;2504:62;;2572:21;2596:57;2616:13;2631:8;2641:11;2596:19;:57::i;:::-;2572:81;;2659:24;2686:49;-1:-1:-1;;;2721:13:167;2686:16;:49::i;:::-;2659:76;;2741:61;2760:13;2775:8;2784:1;2775:11;;;;;;;;:::i;2741:61::-;2430:377;;;2285:522;;;;:::o;4433:449::-;4647:21;4671:57;4691:13;4706:8;4716:11;4671:19;:57::i;:::-;4647:81;;4734:24;4761:49;-1:-1:-1;;;4796:13:167;4761:16;:49::i;:::-;4734:76;;4816:61;4835:13;4850:8;4859:1;4850:11;;;;;;;;:::i;4816:61::-;4573:309;;4433:449;;;:::o;2811:501::-;3019:23;3045:36;3067:13;3045:21;:36::i;:::-;3019:62;;3087:16;3106:57;3126:13;3141:8;3151:11;3106:19;:57::i;:::-;3087:76;;3169:24;3196:49;-1:-1:-1;;;3231:13:167;3196:16;:49::i;:::-;3169:76;;3251:56;3270:13;3285:8;3295;3304:1;3295:11;;;;;;;;:::i;3540:327:29:-;3667:16;;;3681:1;3667:16;;;;;;;;;3607:23;;;;3667:16;;;;;;;;;;;;-1:-1:-1;3667:16:29;3638:45;;3722:7;3689:9;3699:1;3689:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3737:13;3753:64;1342:66;3790:9;3737:13;1471:66;3753:26;:64::i;:::-;3737:80;3540:327;-1:-1:-1;;;;3540:327:29:o;4886:512:167:-;5032:17;5058:23;5083:28;5113:24;5141:8;:6;:8::i;:::-;-1:-1:-1;;;;;5141:18:167;;5167:13;5188:8;5204:11;5141:80;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5141:80:167;;;;;;;;;;;;:::i;:::-;5057:164;;;;;;5252:1;5231:11;:18;:22;5227:167;;;5297:10;5309:14;5325:11;5280:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5270:68;;;;;;5263:75;;;;;;;5227:167;-1:-1:-1;;5366:21:167;;;;;;;;-1:-1:-1;4886:512:167;;;;;;:::o;1052:559:171:-;1142:10;1158:17;1178:46;1210:13;1178:31;:46::i;:::-;1158:66;;1228:27;1265:51;1302:13;451:5:16;2634:44:59;;2536:148;1265:51:171;1228:89;-1:-1:-1;401:5:171;1544:33;401:5;451::16;1544:33:171;:::i;:::-;:56;;;;:::i;:::-;1521:18;;;:80;;1474:33;354:5;451::16;1474:33:171;:::i;:::-;1363:14;1440:29;;;;;:68;;451:5:16;1390:37:171;;;;;1355:154;:247;;;-1:-1:-1;;1052:559:171;;;;:::o;5402:564:167:-;5573:38;5614:55;5665:3;5614:43;5632:13;5647:9;5614:17;:43::i;:::-;:50;;:55::i;:::-;5573:96;;5680:21;:28;5712:1;5680:33;5676:286;;5770:52;5797:13;5812:9;5770:26;:52::i;:::-;5676:286;;;5889:66;5907:13;5922:9;5933:21;5889:17;:66::i;:::-;5497:469;5402:564;;;:::o;14483:258:172:-;14599:16;;;14613:1;14599:16;;;;;;;;;14570:26;;14599:16;;;;;;;;;;;-1:-1:-1;14599:16:172;14570:45;;14636:9;14621;14631:1;14621:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;14652:84;14683:8;14693:9;14704:1;14725:8;14707:28;;;;;;9738:19:208;;9782:2;9773:12;;9609:182;14707:28:172;;;;;;;;;;;;;14652:30;:84::i;17768:457:24:-;17925:7;17940:21;17964:17;:15;:17::i;:::-;17940:41;-1:-1:-1;18016:4:24;-1:-1:-1;;;;;17991:30:24;;;17987:234;;18038:68;18063:7;18072:8;18082:10;18094:11;18038:24;:68::i;:::-;18031:75;;;;;17987:234;18134:80;;;;;-1:-1:-1;;;;;18134:36:24;;;;;:80;;18171:7;;18180:8;;18190:10;;18202:11;;18134:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1292:112:167:-;1333:10;1369:29;:27;:29::i;:::-;1351:48;;1292:112;:::o;3162:160:59:-;3225:7;3289:26;438:6;451:5:16;3289:26:59;:::i;:::-;3255:61;;;;;3162:160;-1:-1:-1;3162:160:59:o;4485:354:172:-;4628:16;;;4642:1;4628:16;;;;;;;;;4561:30;;4599:26;;4628:16;;;;;;;;;;;;-1:-1:-1;4628:16:172;4599:45;;4665:9;4650;4660:1;4650:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;4681:18;4702:51;4730:8;4740:9;4751:1;4702:27;:51::i;:::-;4681:72;;4767:66;:44;4788:5;4795:1;4798:5;:12;4767:20;:44::i;:::-;:64;:66::i;:::-;4759:75;4485:354;-1:-1:-1;;;;;4485:354:172:o;834:531:196:-;912:16;936:25;978:3;:10;964:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;964:25:196;;936:53;;995:21;1027:9;1022:150;1042:3;:10;1038:1;:14;1022:150;;;1081:7;1071:3;1075:1;1071:6;;;;;;;;:::i;:::-;;;;;;;:17;1067:99;;1126:3;1130:1;1126:6;;;;;;;;:::i;:::-;;;;;;;1100:8;1109:13;1100:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;1142:15;;;;:::i;:::-;;;;1067:99;1054:3;;1022:150;;;-1:-1:-1;1302:31:196;;;834:531;-1:-1:-1;;;834:531:196:o;20171:209:172:-;20277:16;;;20291:1;20277:16;;;;;;;;;20248:26;;20277:16;;;;;;;;;;;-1:-1:-1;20277:16:172;20248:45;;20314:9;20299;20309:1;20299:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;20330:45;20355:8;20365:9;20330:24;:45::i;:::-;20242:138;20171:209;;:::o;6809:275::-;6938:16;;;6952:1;6938:16;;;;;;;;;6909:26;;6938:16;;;;;;;;;;;-1:-1:-1;6938:16:172;6909:45;;6975:9;6960;6970:1;6960:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;6991:88;7019:8;7029:9;7040:1;7043:35;7063:13;7043:18;:35::i;:::-;6991:27;:88::i;12340:451:24:-;12500:21;12524:17;:15;:17::i;:::-;12500:41;-1:-1:-1;12576:4:24;-1:-1:-1;;;;;12551:30:24;;;12547:240;;12591:78;12620:7;12629:8;12639:17;12658:10;12591:28;:78::i;:::-;12547:240;;;12690:90;;;;;-1:-1:-1;;;;;12690:40:24;;;;;:90;;12731:7;;12740:8;;12750:17;;12769:10;;12690:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1832:227;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:24;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:24:o;38205:541:20:-;38362:7;38499:242;38543:59;38584:7;38593:8;38543:40;:59::i;:::-;38620:31;;;;4677:19:3;:27;579:1:30;4676:44:3;4642:79;;;4629:93;38669:63:20;38708:11;38721:10;38669:38;:63::i;:::-;38499:17;:242::i;18591:431:24:-;18727:12;18747:21;18771:17;:15;:17::i;:::-;18747:41;-1:-1:-1;18823:4:24;-1:-1:-1;;;;;18798:30:24;;;18794:224;;18845:63;18871:7;18880:8;18890:17;18845:25;:63::i;:::-;18838:70;;;;;18794:224;18936:75;;;;;-1:-1:-1;;;;;18936:37:24;;;;;:75;;18974:7;;18983:8;;18993:17;;18936:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18936:75:24;;;;;;;;;;;;:::i;18794:224::-;18741:281;18591:431;;;;;:::o;2020:561:18:-;2111:5;2206:3;2198:5;:11;:32;;;;2219:4;:11;2213:3;:17;2198:32;2194:80;;;2257:4;2263:5;2270:3;2239:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;2194:80;2340:4;2330:15;;2387:16;2398:5;2330:15;2387:16;:::i;:::-;;-1:-1:-1;2409:12:18;2424:11;2430:5;2424:3;:11;:::i;:::-;709:17;2559:15;2551:3;2540:14;;;;2539:36;;;;;;-1:-1:-1;;;;;2020:561:18:o;45284:220:34:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;13842:301:24:-;13926:21;13950:17;:15;:17::i;:::-;13926:41;-1:-1:-1;14002:4:24;-1:-1:-1;;;;;13977:30:24;;;13973:166;;14017:41;14040:7;14049:8;14017:22;:41::i;13973:166::-;14079:53;;;;;-1:-1:-1;;;;;14079:34:24;;;;;:53;;14114:7;;14123:8;;14079:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44950:222:35;45014:12;45104:6;45128:39;45104:6;45161:2;45165:1;45128:17;:39::i;11564:424:24:-;11715:21;11739:17;:15;:17::i;:::-;11715:41;-1:-1:-1;11791:4:24;-1:-1:-1;;;;;11766:30:24;;;11762:222;;11806:69;11832:7;11841:8;11851:17;11870:4;11806:25;:69::i;11762:222::-;11896:81;;;;;-1:-1:-1;;;;;11896:37:24;;;;;:81;;11934:7;;11943:8;;11953:17;;11972:4;;11896:81;;;:::i;30802:790:20:-;31061:36;31100:66;31148:7;31157:8;31100:47;:66::i;:::-;31061:105;-1:-1:-1;31172:26:20;31208:49;31061:105;31239:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;31208:49:20;31172:86;;31296:291;31350:7;31375:8;31410:17;31460:19;31501:1;31516:10;31558:22;31296:36;:291::i;:::-;30956:636;;30802:790;;;;:::o;52834:191::-;52936:7;53000;53009:8;52983:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52983:35:20;;;;;;;;;52973:46;;52983:35;52973:46;;;;44394:22;52966:53;;52834:191;-1:-1:-1;;;52834:191:20:o;53851:242::-;53947:7;;;53986:84;54006:10;54002:14;;:1;:14;53986:84;;;54031:32;4629:93:3;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;54031:32:20;;:::i;:::-;;-1:-1:-1;54018:3:20;;53986:84;;8945:812:19;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:19;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;39214:522:20:-;39350:12;39474:257;39513:79;39555:7;39564:8;39574:17;39513:41;:79::i;:::-;39610:1;39629:93;39704:17;39629:66;39677:7;39686:8;39629:47;:66::i;:::-;:74;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;39629:93:20;39474:12;:257::i;2681:1129:36:-;2801:22;2831:21;2855;:11;3001:3:18;2979:25;;2905:104;2855:21:36;2831:45;-1:-1:-1;709:17:18;3242:38;;2882:20:36;3044:11;3242:38:18;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;27616:145:20:-;27700:56;27713:7;27722:8;27732:23;27747:7;27732:14;:23::i;:::-;27700:12;:56::i;:::-;27616:145;;:::o;830:1343:36:-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:36;1474:15;;-1:-1:-1;;1358:16:36;1531:32;;;1358:16;1354:32;1503:4;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;;26217:737:20;26468:36;26507:66;26555:7;26564:8;26507:47;:66::i;:::-;26468:105;-1:-1:-1;26579:26:20;26615:49;26468:105;26646:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;26615:49:20;26579:86;;26672:277;26726:7;26751:8;26786:17;26829:1;26851:19;26884:4;26920:22;26672:36;:277::i;55967:301::-;56088:13;56180:82;56211:48;56241:7;56250:8;56211:29;:48::i;:::-;4711:21:19;;4605:137;46287:3996:20;46705:14;46684:7;:35;;;46680:161;;46775:14;46791:7;46824;46807:25;;;;;;9738:19:208;;9782:2;9773:12;;9609:182;46807:25:20;;;;-1:-1:-1;;46807:25:20;;;;;;;;;;46736:98;;;;;;;;;;:::i;46680:161::-;46847:27;46877:49;:22;46908:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;46877:49:20;46847:79;;46932:26;46997:4;:11;46983;46961:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46932:76;;47280:18;47257:19;:41;;:98;;;;-1:-1:-1;47336:19:20;47302:30;47321:11;47302:16;:30;:::i;:::-;:53;;;;47257:98;47253:218;;;47372:92;;;;;15405:12:208;15444:15;;;47372:92:20;;;15426:34:208;15496:15;;;15476:18;;;15469:43;15548:15;;15528:18;;;15521:43;15368:18;;47372:92:20;15199:371:208;47253:218:20;47577:19;47558:16;:38;;;47554:140;;;47613:74;;;;;;;;15748:25:208;;;15821:12;15809:25;;15789:18;;;15782:53;15721:18;;47613:74:20;15575:266:208;47554:140:20;47733:35;47771:72;:22;47805:17;47824:18;47771:33;:72::i;:::-;47733:110;;47990:22;48015:24;48031:7;48015:15;:24::i;:::-;47990:49;;48050:9;48045:486;48065:5;:12;48061:1;:16;48045:486;;;48092:9;48114:5;48120:1;48114:8;;;;;;;;:::i;:::-;;;;;;;48092:31;;48135:42;836:6:32;48135:4:20;:14;;;;;:42;;;;:::i;:::-;48131:394;;;3536:35:4;;;;-1:-1:-1;;;;;48189:55:20;;48266:7;48295:8;48334:17;48381:16;48422:11;48461:22;48501:4;48189:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48131:394;-1:-1:-1;48079:3:20;;48045:486;;;-1:-1:-1;48589:32:20;;;:13;48729:107;48747:17;48743:21;;:1;:21;;;48729:107;;;48792:33;:22;48823:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;48792:33:20;48783:42;;;;48766:3;;48729:107;;;;48958:7;48905:274;48985:8;49022:17;49063:5;49092:11;49129:21;49166:4;48905:274;;;;;;;;;;;:::i;:::-;;;;;;;;48537:649;49271:18;49248:19;:41;49244:248;;49299:31;49333:48;49363:7;49372:8;49333:29;:48::i;:::-;695:28:19;;;-1:-1:-1;49244:248:20;49549:27;49579:61;49603:7;49612:8;49622:17;49579:23;:61::i;:::-;49549:91;;49648:92;49680:19;49709:16;49648:92;;49733:4;49648:13;:92::i;:::-;49541:206;49801:9;49796:483;49816:5;:12;49812:1;:16;49796:483;;;49843:9;49865:5;49871:1;49865:8;;;;;;;;:::i;:::-;;;;;;;49843:31;;49886:41;947:6:32;49886:4:20;:14;;;;;:41;;;;:::i;:::-;49882:391;;;3536:35:4;;;;-1:-1:-1;;;;;49939:54:20;;50015:7;50044:8;50083:17;50130:16;50171:11;50210:21;50249:4;49939:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49882:391;-1:-1:-1;49830:3:20;;49796:483;;;;46530:3753;;;;46287:3996;;;;;;;:::o;54770:274::-;54914:7;55019;55028:8;55002:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54992:46;;;;;;54971:17;54964:25;;54944:45;;;44466:34;54944:45;:94;54936:103;;54929:110;;54770:274;;;;;:::o;5042:669:19:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;1358:16:36;5546:26:19;;;1358:16:36;1354:32;5518:4:19;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;6417:652:20:-;6484:11;6720:64;;;6716:111;;-1:-1:-1;1471:66:29;;6417:652:20;-1:-1:-1;6417:652:20:o;6716:111::-;6871:185;6917:85;1342:66:29;6993:7:20;6917:40;:85::i;:::-;7022:2;7044:1;6871:17;:185::i;28360:1778::-;28548:23;28527:7;:44;;;28523:160;;28644:7;28625:37;28653:8;28625:37;;;;;;:::i;:::-;;;;;;;;28360:1778;;;:::o;28523:160::-;28824:22;28849:24;28865:7;28849:15;:24::i;:::-;28824:49;;28884:9;28879:235;28899:5;:12;28895:1;:16;28879:235;;;28926:9;28948:5;28954:1;28948:8;;;;;;;;:::i;:::-;;;;;;;28926:31;;28969:36;1049:6:32;28969:4:20;:14;;;;;:36;;;;:::i;:::-;28965:143;;;29017:82;;;;;3536:35:4;;;;;29017:50:20;;:82;;29068:7;;29077:8;;29087:11;;29017:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28965:143;-1:-1:-1;28913:3:20;;28879:235;;;;29181:7;29162:37;29190:8;29162:37;;;;;;:::i;:::-;;;;;;;;29232:26;29261:59;29302:7;29311:8;29261:40;:59::i;:::-;29232:88;;29326:113;29358:18;29386:1;29405:30;:11;:28;:30::i;:::-;29395:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29395:41:20;;29326:13;:113::i;:::-;29658:1;29625:30;:11;:28;:30::i;:::-;:34;29621:236;;;29669:33;29705:66;29753:7;29762:8;29705:47;:66::i;:::-;29669:102;;29779:71;29810:25;29845:2;29779:12;:71::i;:::-;29661:196;29621:236;29906:9;29901:233;29921:5;:12;29917:1;:16;29901:233;;;29948:9;29970:5;29976:1;29970:8;;;;;;;;:::i;:::-;;;;;;;29948:31;;29991:35;1149:6:32;29991:4:20;:14;;;;;:35;;;;:::i;:::-;29987:141;;;30038:81;;;;;3536:35:4;;;;;30038:49:20;;:81;;30088:7;;30097:8;;30107:11;;30038:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29987:141;-1:-1:-1;29935:3:20;;29901:233;;55399:230;55520:7;55604;55613:8;55587:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55587:35:20;;;;;;;;;55577:46;;55587:35;55577:46;;;;44557:40;55550:73;;55399:230;-1:-1:-1;;;55399:230:20:o;7395:1488:15:-;7521:13;1070:16;7546:25;;7542:97;;;7588:44;;;;;;;;17952:25:208;;;17925:18;;7588:44:15;17806:177:208;7542:97:15;7701:13;6382:59;;;6999:16;;;988;6999;900;6988:27;6948:68;;;6926:92;;7964:38;;;7960:192;;8047:19;8029:15;:37;8014:52;;;;7960:192;;;8128:15;8106:19;:37;8091:52;;;;7960:192;-1:-1:-1;8468:16:15;900;988;8335;;;;8324:27;8460:35;;;8774:5;8613:26;8594:45;;;;8593:61;;;8755:24;;;;8784:34;;;;;8754:65;;-1:-1:-1;7395:1488:15;;;;;:::o;4132:342:28:-;4248:16;;;4262:1;4248:16;;;;;;;;;4189:22;;4219:26;;4248:16;;;;;;;;;;;;-1:-1:-1;4248:16:28;4219:45;;4303:7;4270:9;4280:1;4270:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4318:18;4339:49;1100:66;4375:9;4318:18;4339:25;:49::i;:::-;4318:70;;4402:66;:44;4423:5;4430:1;4433:5;:12;4402:20;:44::i;:::-;:64;:66::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:19:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::14;884:15;;758:151;1098:24:19;1055:5;:68::i;6076:2380::-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:19;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:19;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:19;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:19;;;;:::o;53277:282:20:-;53522:30;;;;;;18176:19:208;;;18211:12;;;18204:28;;;53365:7:20;;18248:12:208;;53522:30:20;17988:278:208;4952:171:3;5026:7;579:1:30;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;5048:70:3;;;;;4952:171;-1:-1:-1;4952:171:3:o;5731:173::-;5805:7;579:1:30;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1684:38;;;;:::i;:::-;5841:11:3;5820:79;5833:65;;5820:79;;5731:173;-1:-1:-1;;5731:173:3:o;4032:370:19:-;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;;40103:220:34;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:19:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:19;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:19;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:19;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:19;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:19;;;;:::o;14:332:208:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:184;-1:-1:-1;;;592:1:208;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:334;803:2;797:9;859:2;849:13;;-1:-1:-1;;845:86:208;833:99;;962:18;947:34;;983:22;;;944:62;941:88;;;1009:18;;:::i;:::-;1045:2;1038:22;732:334;;-1:-1:-1;732:334:208:o;1071:712::-;1125:5;1178:3;1171:4;1163:6;1159:17;1155:27;1145:55;;1196:1;1193;1186:12;1145:55;1232:6;1219:20;1258:4;1281:18;1277:2;1274:26;1271:52;;;1303:18;;:::i;:::-;1349:2;1346:1;1342:10;1372:28;1396:2;1392;1388:11;1372:28;:::i;:::-;1434:15;;;1504;;;1500:24;;;1465:12;;;;1536:15;;;1533:35;;;1564:1;1561;1554:12;1533:35;1600:2;1592:6;1588:15;1577:26;;1612:142;1628:6;1623:3;1620:15;1612:142;;;1694:17;;1682:30;;1645:12;;;;1732;;;;1612:142;;;1772:5;1071:712;-1:-1:-1;;;;;;;1071:712:208:o;1788:165::-;1855:20;;1915:12;1904:24;;1894:35;;1884:63;;1943:1;1940;1933:12;1958:245;2006:4;2039:18;2031:6;2028:30;2025:56;;;2061:18;;:::i;:::-;-1:-1:-1;2118:2:208;2106:15;-1:-1:-1;;2102:88:208;2192:4;2098:99;;1958:245::o;2208:462::-;2250:5;2303:3;2296:4;2288:6;2284:17;2280:27;2270:55;;2321:1;2318;2311:12;2270:55;2357:6;2344:20;2388:48;2404:31;2432:2;2404:31;:::i;:::-;2388:48;:::i;:::-;2461:2;2452:7;2445:19;2507:3;2500:4;2495:2;2487:6;2483:15;2479:26;2476:35;2473:55;;;2524:1;2521;2514:12;2473:55;2589:2;2582:4;2574:6;2570:17;2563:4;2554:7;2550:18;2537:55;2637:1;2612:16;;;2630:4;2608:27;2601:38;;;;2616:7;2208:462;-1:-1:-1;;;2208:462:208:o;2675:1073::-;2883:6;2891;2899;2907;2915;2923;2931;2984:3;2972:9;2963:7;2959:23;2955:33;2952:53;;;3001:1;2998;2991:12;2952:53;3037:9;3024:23;3014:33;;3098:2;3087:9;3083:18;3070:32;3121:18;3162:2;3154:6;3151:14;3148:34;;;3178:1;3175;3168:12;3148:34;3201:61;3254:7;3245:6;3234:9;3230:22;3201:61;:::i;:::-;3191:71;;3312:2;3301:9;3297:18;3284:32;3271:45;;3356:4;3349:5;3345:16;3338:5;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3399:5;3389:15;;3423:37;3456:2;3445:9;3441:18;3423:37;:::i;:::-;3413:47;;3479:38;3512:3;3501:9;3497:19;3479:38;:::i;:::-;3469:48;;3564:3;3553:9;3549:19;3536:33;3526:43;;3622:3;3611:9;3607:19;3594:33;3578:49;;3652:2;3642:8;3639:16;3636:36;;;3668:1;3665;3658:12;3636:36;;3691:51;3734:7;3723:8;3712:9;3708:24;3691:51;:::i;:::-;3681:61;;;2675:1073;;;;;;;;;;:::o;3753:1068::-;3996:6;4004;4012;4020;4028;4036;4089:3;4077:9;4068:7;4064:23;4060:33;4057:53;;;4106:1;4103;4096:12;4057:53;4142:9;4129:23;4119:33;;4203:2;4192:9;4188:18;4175:32;4226:18;4267:2;4259:6;4256:14;4253:34;;;4283:1;4280;4273:12;4253:34;4306:61;4359:7;4350:6;4339:9;4335:22;4306:61;:::i;:::-;4296:71;;4420:2;4409:9;4405:18;4392:32;4376:48;;4449:2;4439:8;4436:16;4433:36;;;4465:1;4462;4455:12;4433:36;4488:51;4531:7;4520:8;4509:9;4505:24;4488:51;:::i;:::-;4478:61;;4586:2;4575:9;4571:18;4558:32;4548:42;;4643:3;4632:9;4628:19;4615:33;4599:49;;4673:2;4663:8;4660:16;4657:36;;;4689:1;4686;4679:12;4657:36;;4712:51;4755:7;4744:8;4733:9;4729:24;4712:51;:::i;:::-;4702:61;;;4810:3;4799:9;4795:19;4782:33;4772:43;;3753:1068;;;;;;;;:::o;4826:546::-;4990:6;4998;5006;5059:2;5047:9;5038:7;5034:23;5030:32;5027:52;;;5075:1;5072;5065:12;5027:52;5111:9;5098:23;5088:33;;5172:2;5161:9;5157:18;5144:32;5199:18;5191:6;5188:30;5185:50;;;5231:1;5228;5221:12;5185:50;5254:61;5307:7;5298:6;5287:9;5283:22;5254:61;:::i;:::-;5244:71;;;5362:2;5351:9;5347:18;5334:32;5324:42;;4826:546;;;;;:::o;5377:835::-;5527:6;5535;5543;5551;5604:3;5592:9;5583:7;5579:23;5575:33;5572:53;;;5621:1;5618;5611:12;5572:53;5657:9;5644:23;5634:33;;5718:2;5707:9;5703:18;5690:32;5741:18;5782:2;5774:6;5771:14;5768:34;;;5798:1;5795;5788:12;5768:34;5821:61;5874:7;5865:6;5854:9;5850:22;5821:61;:::i;:::-;5811:71;;5932:2;5921:9;5917:18;5904:32;5891:45;;5976:14;5969:5;5965:26;5958:5;5955:37;5945:65;;6006:1;6003;5996:12;5945:65;6029:5;;-1:-1:-1;6087:2:208;6072:18;;6059:32;;6103:16;;;6100:36;;;6132:1;6129;6122:12;6100:36;;6155:51;6198:7;6187:8;6176:9;6172:24;6155:51;:::i;:::-;6145:61;;;5377:835;;;;;;;:::o;6217:184::-;-1:-1:-1;;;6266:1:208;6259:88;6366:4;6363:1;6356:15;6390:4;6387:1;6380:15;6406:250;6491:1;6501:113;6515:6;6512:1;6509:13;6501:113;;;6591:11;;;6585:18;6572:11;;;6565:39;6537:2;6530:10;6501:113;;;-1:-1:-1;;6648:1:208;6630:16;;6623:27;6406:250::o;6661:606::-;6898:3;6936:6;6930:13;6952:66;7011:6;7006:3;6999:4;6991:6;6987:17;6952:66;:::i;:::-;7040:16;;7065:21;;;7111:13;;7133:81;7111:13;7198:4;7187:16;;;;7168:17;;7133:81;:::i;:::-;7234:20;7256:4;7230:31;;6661:606;-1:-1:-1;;;;;6661:606:208:o;7272:439::-;7325:3;7363:5;7357:12;7390:6;7385:3;7378:19;7416:4;7445;7440:3;7436:14;7429:21;;7484:4;7477:5;7473:16;7507:1;7517:169;7531:6;7528:1;7525:13;7517:169;;;7592:13;;7580:26;;7626:12;;;;7661:15;;;;7553:1;7546:9;7517:169;;;-1:-1:-1;7702:3:208;;7272:439;-1:-1:-1;;;;;7272:439:208:o;7716:465::-;8013:6;8002:9;7995:25;8056:2;8051;8040:9;8036:18;8029:30;7976:4;8076:56;8128:2;8117:9;8113:18;8105:6;8076:56;:::i;:::-;8068:64;;8168:6;8163:2;8152:9;8148:18;8141:34;7716:465;;;;;;:::o;8186:441::-;8239:5;8292:3;8285:4;8277:6;8273:17;8269:27;8259:55;;8310:1;8307;8300:12;8259:55;8339:6;8333:13;8370:48;8386:31;8414:2;8386:31;:::i;8370:48::-;8443:2;8434:7;8427:19;8489:3;8482:4;8477:2;8469:6;8465:15;8461:26;8458:35;8455:55;;;8506:1;8503;8496:12;8455:55;8519:77;8593:2;8586:4;8577:7;8573:18;8566:4;8558:6;8554:17;8519:77;:::i;8632:653::-;8772:6;8780;8788;8841:2;8829:9;8820:7;8816:23;8812:32;8809:52;;;8857:1;8854;8847:12;8809:52;8890:9;8884:16;8919:18;8960:2;8952:6;8949:14;8946:34;;;8976:1;8973;8966:12;8946:34;8999:60;9051:7;9042:6;9031:9;9027:22;8999:60;:::i;:::-;8989:70;;9099:2;9088:9;9084:18;9078:25;9068:35;;9149:2;9138:9;9134:18;9128:25;9112:41;;9178:2;9168:8;9165:16;9162:36;;;9194:1;9191;9184:12;9162:36;;9217:62;9271:7;9260:8;9249:9;9245:24;9217:62;:::i;:::-;9207:72;;;8632:653;;;;;:::o;9290:184::-;-1:-1:-1;;;9339:1:208;9332:88;9439:4;9436:1;9429:15;9463:4;9460:1;9453:15;9479:125;9544:9;;;9565:10;;;9562:36;;;9578:18;;:::i;9796:545::-;10117:6;10106:9;10099:25;10160:3;10155:2;10144:9;10140:18;10133:31;10080:4;10181:57;10233:3;10222:9;10218:19;10210:6;10181:57;:::i;:::-;10286:4;10274:17;;;;10269:2;10254:18;;10247:45;-1:-1:-1;10323:2:208;10308:18;10301:34;10173:65;9796:545;-1:-1:-1;;9796:545:208:o;10346:184::-;10416:6;10469:2;10457:9;10448:7;10444:23;10440:32;10437:52;;;10485:1;10482;10475:12;10437:52;-1:-1:-1;10508:16:208;;10346:184;-1:-1:-1;10346:184:208:o;10535:195::-;10574:3;-1:-1:-1;;10598:5:208;10595:77;10592:103;;10675:18;;:::i;:::-;-1:-1:-1;10722:1:208;10711:13;;10535:195::o;10735:329::-;10776:3;10814:5;10808:12;10841:6;10836:3;10829:19;10857:76;10926:6;10919:4;10914:3;10910:14;10903:4;10896:5;10892:16;10857:76;:::i;:::-;10978:2;10966:15;-1:-1:-1;;10962:88:208;10953:98;;;;11053:4;10949:109;;10735:329;-1:-1:-1;;10735:329:208:o;11069:603::-;11377:6;11366:9;11359:25;11420:3;11415:2;11404:9;11400:18;11393:31;11340:4;11447:57;11499:3;11488:9;11484:19;11476:6;11447:57;:::i;:::-;11552:4;11544:6;11540:17;11535:2;11524:9;11520:18;11513:45;11606:9;11598:6;11594:22;11589:2;11578:9;11574:18;11567:50;11634:32;11659:6;11651;11634:32;:::i;11677:441::-;11939:6;11928:9;11921:25;11982:2;11977;11966:9;11962:18;11955:30;11902:4;12002:56;12054:2;12043:9;12039:18;12031:6;12002:56;:::i;:::-;11994:64;;12106:4;12098:6;12094:17;12089:2;12078:9;12074:18;12067:45;11677:441;;;;;;:::o;12123:335::-;12202:6;12255:2;12243:9;12234:7;12230:23;12226:32;12223:52;;;12271:1;12268;12261:12;12223:52;12304:9;12298:16;12337:18;12329:6;12326:30;12323:50;;;12369:1;12366;12359:12;12323:50;12392:60;12444:7;12435:6;12424:9;12420:22;12392:60;:::i;12463:359::-;12666:2;12655:9;12648:21;12629:4;12686:44;12726:2;12715:9;12711:18;12703:6;12686:44;:::i;:::-;12761:2;12746:18;;12739:34;;;;-1:-1:-1;12804:2:208;12789:18;12782:34;12678:52;12463:359;-1:-1:-1;12463:359:208:o;12827:128::-;12894:9;;;12915:11;;;12912:37;;;12929:18;;:::i;12960:363::-;13198:6;13187:9;13180:25;13241:2;13236;13225:9;13221:18;13214:30;13161:4;13261:56;13313:2;13302:9;13298:18;13290:6;13261:56;:::i;13328:639::-;13578:6;13573:3;13566:19;13548:3;13604:2;13637;13632:3;13628:12;13669:6;13663:13;13734:2;13726:6;13722:15;13755:1;13765:175;13779:6;13776:1;13773:13;13765:175;;;13842:13;;13828:28;;13878:14;;;;13915:15;;;;13801:1;13794:9;13765:175;;;-1:-1:-1;13956:5:208;;13328:639;-1:-1:-1;;;;;;;13328:639:208:o;13972:184::-;-1:-1:-1;;;14021:1:208;14014:88;14121:4;14118:1;14111:15;14145:4;14142:1;14135:15;14161:168;14234:9;;;14265;;14282:15;;;14276:22;;14262:37;14252:71;;14303:18;;:::i;14552:463::-;14798:66;14790:6;14786:79;14775:9;14768:98;14902:6;14897:2;14886:9;14882:18;14875:34;14945:2;14940;14929:9;14925:18;14918:30;14749:4;14965:44;15005:2;14994:9;14990:18;14982:6;14965:44;:::i;15020:174::-;15087:12;15119:10;;;15131;;;15115:27;;15154:11;;;15151:37;;;15168:18;;:::i;:::-;15151:37;15020:174;;;;:::o;15846:898::-;16268:6;16257:9;16250:25;16311:3;16306:2;16295:9;16291:18;16284:31;16231:4;16338:57;16390:3;16379:9;16375:19;16367:6;16338:57;:::i;:::-;16443:4;16431:17;;16426:2;16411:18;;16404:45;16468:12;16516:15;;;16511:2;16496:18;;16489:43;16569:15;;16563:3;16548:19;;16541:44;16616:3;16601:19;;16594:35;;;16666:22;;;16660:3;16645:19;;16638:51;16706:32;16670:6;16723;16706:32;:::i;:::-;16698:40;15846:898;-1:-1:-1;;;;;;;;;;15846:898:208:o;16749:786::-;17112:3;17101:9;17094:22;17075:4;17139:57;17191:3;17180:9;17176:19;17168:6;17139:57;:::i;:::-;17244:4;17236:6;17232:17;17227:2;17216:9;17212:18;17205:45;17298:14;17290:6;17286:27;17281:2;17270:9;17266:18;17259:55;17362:12;17354:6;17350:25;17345:2;17334:9;17330:18;17323:53;17413:6;17407:3;17396:9;17392:19;17385:35;17469:9;17461:6;17457:22;17451:3;17440:9;17436:19;17429:51;17497:32;17522:6;17514;17497:32;:::i;:::-;17489:40;16749:786;-1:-1:-1;;;;;;;;;16749:786:208:o;17540:261::-;17719:2;17708:9;17701:21;17682:4;17739:56;17791:2;17780:9;17776:18;17768:6;17739:56;:::i;18271:274::-;18311:1;18337;18327:189;;-1:-1:-1;;;18369:1:208;18362:88;18473:4;18470:1;18463:15;18501:4;18498:1;18491:15;18327:189;-1:-1:-1;18530:9:208;;18271:274::o","linkReferences":{}},"methodIdentifiers":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":"83b5c95b","onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"5b28cdaf","onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"63584533","onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"a8ba8721","onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":"9faeaf45","onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"57066c9c","onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"55eb5a28","onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"964f667d","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreHook_NotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],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.\"}}},\"kind\":\"dev\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record was set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"This function is a part of the ERC-165 standard.\",\"params\":{\"interfaceId\":\"The ID of the interface to check.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"StoreHook_NotImplemented()\":[{\"notice\":\"Error emitted when a function is not implemented.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs after deleting a record.\"},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs after setting a record.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Check if the interface is supported.\"}},\"notice\":\"This is a very naive and inefficient implementation for now. We can optimize this by adding support for `setIndexOfField` in Store (See https://github.com/latticexyz/mud/issues/444) Note: if a table with composite keys is used, only the first key of the tuple is indexed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueHook.sol\":\"KeysWithValueHook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea\",\"dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40\",\"dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd\",\"dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1\",\"dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71\",\"dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d\",\"dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619\",\"dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2\",\"dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x1bbf8a76e921eadf1db34beae3f7b0825b8cc1bc0596edac30ae93be98a62654\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04b3dcf91a8d414d14a5446dc5a8e6b0df070bae8e2a9aee699d45f3faf5f536\",\"dweb:/ipfs/QmZKeAH3enK4byQ65a3EJDdAuSwLsMDiWi2pyG1gC1RQLr\"]},\"node_modules/@latticexyz/store/src/StoreHook.sol\":{\"keccak256\":\"0x106db773957424e7f4b480dda82ad32ae9dde375ae1668b3c3532aea28a01d70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f6594e693b5789ad4e78e036fb04dcaa693dfe45dde7e2cdbb52d90f70b6eaf\",\"dweb:/ipfs/QmddHrxD8LjvD34hsJxSL5UTrjKpEmjUdibhAmLNNTDZGD\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544\",\"dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271\",\"dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761\",\"dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a\",\"dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x0cfee97ee4634e2a9480333cb25b6f99f999910d7d3646b45780eb5485219592\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://491f8f7ec0e2da54e44a984576acab6cf63f4de86b296855fc749997fc297aec\",\"dweb:/ipfs/QmavXGLER27V4PTzcUxMTZ7aXr3RmBMoCZvvptBHwfBFzq\"]},\"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/IWorldKernel.sol\":{\"keccak256\":\"0x30297fcb2a9030acba2958a426682c19738ba95cfaf3c2b02433ab557292e775\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed70c1070c35df817975e3d1ebb5144b4e553b8c93e7b7f9219c52f3c9c2aab\",\"dweb:/ipfs/QmPenSRjCSSMxnZxBz3NheP4EogK7DBVepNdTjjw2amu7D\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff\",\"dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x32dfff6f3d3115a72f9469e3cef4314b839bcad8c7c95a51d51a1133ceb6043e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e24410ab22fb77b68622e23aac9096b9b5afb45ad653c25d29c32c8bc2df0f\",\"dweb:/ipfs/QmajJ6jMCD2ntHvwuhnoqN7p94xA8sZsLcDnmVhc5UbNQL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xdb1a1c2e357695ae07319b3f31173b4822f8a391f2161cee29fe33e9e0312375\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96f92e6ee90a213f72b3b576e3a83fea45852b2969b65be1a7337a6be690d13c\",\"dweb:/ipfs/QmewKWazvFmhkAHGdahAKR7D1cue2hYSgUs7WY5TP8q3kC\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xf441927971dfacd3bd0a9630b7dab2d0e3357124402adea4478f46987f34d3df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f094b805d28297d812a6d287370ad792beb5a957374456c1a4c50f364ec76d58\",\"dweb:/ipfs/QmcY6gU3wH9L8BaSGXhznRiZQjMD6ojgaAPxUDkjZa8viC\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/modules/keyswithvalue/KeysWithValueHook.sol\":{\"keccak256\":\"0xe9d3141d56a4e8ba63c5a27bf1e5efba0e965f412df628b5c930f323ccbcb1fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://672cac0b87825e0be28af368f1159fcf6902671dd4e0df0b1cf76e5f291ffcf8\",\"dweb:/ipfs/QmUfyGJuRg81AqGhQvkN3i8atQuRtab29tsw7xdirf7FT9\"]},\"src/modules/keyswithvalue/constants.sol\":{\"keccak256\":\"0x2dfaa126cd1631c54ddeb12b47467095c805ed6184777f72a06eca62548a13a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f2b92b56c94d51bfaa7ad549b21190f5af654dafa361cb5040b9321b39a580\",\"dweb:/ipfs/QmQmf2p22bSQSS47yt57hHUGNDtWmMQFFRMeP56d8AmUPC\"]},\"src/modules/keyswithvalue/getTargetTableId.sol\":{\"keccak256\":\"0xa718b0a5d5c1a78aaca1ce9de782d09145906b2093c674649b662d42b28ea609\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://17b788015db24d294f48d6160997072a4a78e5a6c17adec1e41860d055a24590\",\"dweb:/ipfs/QmagZKVsq25UJeE65Ky7rcUMN4fWsj6fUvcsJM1okNVxmJ\"]},\"src/modules/keyswithvalue/tables/KeysWithValue.sol\":{\"keccak256\":\"0xb7fcba47836e17014324b3006ce4c3839d71f391969e32bdd576a125f4a7e5aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e534b6e883c4bb0b54c94dd7bb3bc2c6104bf90e1a2ca9ecd80bf19a630d41eb\",\"dweb:/ipfs/QmTRa53skeJw7Kt8AQinBr3J8HtyNp38LKgqt1VJBGWYfx\"]},\"src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4\",\"dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[],"type":"error","name":"StoreHook_NotImplemented"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceStaticData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceStaticData"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","staticData":"The static data of the record.","tableId":"The ID of the table where the record was set."}},"supportsInterface(bytes4)":{"details":"This function is a part of the ERC-165 standard.","params":{"interfaceId":"The ID of the interface to check."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs after deleting a record."},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs after setting a record."},"supportsInterface(bytes4)":{"notice":"Check if the interface is supported."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/keyswithvalue/KeysWithValueHook.sol":"KeysWithValueHook"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4","urls":["bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea","dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf","urls":["bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40","dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0","urls":["bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd","dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1","urls":["bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1","dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006","urls":["bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71","dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e","urls":["bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d","dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9","urls":["bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619","dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5","urls":["bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2","dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x1bbf8a76e921eadf1db34beae3f7b0825b8cc1bc0596edac30ae93be98a62654","urls":["bzz-raw://04b3dcf91a8d414d14a5446dc5a8e6b0df070bae8e2a9aee699d45f3faf5f536","dweb:/ipfs/QmZKeAH3enK4byQ65a3EJDdAuSwLsMDiWi2pyG1gC1RQLr"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreHook.sol":{"keccak256":"0x106db773957424e7f4b480dda82ad32ae9dde375ae1668b3c3532aea28a01d70","urls":["bzz-raw://7f6594e693b5789ad4e78e036fb04dcaa693dfe45dde7e2cdbb52d90f70b6eaf","dweb:/ipfs/QmddHrxD8LjvD34hsJxSL5UTrjKpEmjUdibhAmLNNTDZGD"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07","urls":["bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544","dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0","urls":["bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271","dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7","urls":["bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761","dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1","urls":["bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a","dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x0cfee97ee4634e2a9480333cb25b6f99f999910d7d3646b45780eb5485219592","urls":["bzz-raw://491f8f7ec0e2da54e44a984576acab6cf63f4de86b296855fc749997fc297aec","dweb:/ipfs/QmavXGLER27V4PTzcUxMTZ7aXr3RmBMoCZvvptBHwfBFzq"],"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/IWorldKernel.sol":{"keccak256":"0x30297fcb2a9030acba2958a426682c19738ba95cfaf3c2b02433ab557292e775","urls":["bzz-raw://2ed70c1070c35df817975e3d1ebb5144b4e553b8c93e7b7f9219c52f3c9c2aab","dweb:/ipfs/QmPenSRjCSSMxnZxBz3NheP4EogK7DBVepNdTjjw2amu7D"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797","urls":["bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff","dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x32dfff6f3d3115a72f9469e3cef4314b839bcad8c7c95a51d51a1133ceb6043e","urls":["bzz-raw://52e24410ab22fb77b68622e23aac9096b9b5afb45ad653c25d29c32c8bc2df0f","dweb:/ipfs/QmajJ6jMCD2ntHvwuhnoqN7p94xA8sZsLcDnmVhc5UbNQL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xdb1a1c2e357695ae07319b3f31173b4822f8a391f2161cee29fe33e9e0312375","urls":["bzz-raw://96f92e6ee90a213f72b3b576e3a83fea45852b2969b65be1a7337a6be690d13c","dweb:/ipfs/QmewKWazvFmhkAHGdahAKR7D1cue2hYSgUs7WY5TP8q3kC"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xf441927971dfacd3bd0a9630b7dab2d0e3357124402adea4478f46987f34d3df","urls":["bzz-raw://f094b805d28297d812a6d287370ad792beb5a957374456c1a4c50f364ec76d58","dweb:/ipfs/QmcY6gU3wH9L8BaSGXhznRiZQjMD6ojgaAPxUDkjZa8viC"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/modules/keyswithvalue/KeysWithValueHook.sol":{"keccak256":"0xe9d3141d56a4e8ba63c5a27bf1e5efba0e965f412df628b5c930f323ccbcb1fe","urls":["bzz-raw://672cac0b87825e0be28af368f1159fcf6902671dd4e0df0b1cf76e5f291ffcf8","dweb:/ipfs/QmUfyGJuRg81AqGhQvkN3i8atQuRtab29tsw7xdirf7FT9"],"license":"MIT"},"src/modules/keyswithvalue/constants.sol":{"keccak256":"0x2dfaa126cd1631c54ddeb12b47467095c805ed6184777f72a06eca62548a13a0","urls":["bzz-raw://11f2b92b56c94d51bfaa7ad549b21190f5af654dafa361cb5040b9321b39a580","dweb:/ipfs/QmQmf2p22bSQSS47yt57hHUGNDtWmMQFFRMeP56d8AmUPC"],"license":"MIT"},"src/modules/keyswithvalue/getTargetTableId.sol":{"keccak256":"0xa718b0a5d5c1a78aaca1ce9de782d09145906b2093c674649b662d42b28ea609","urls":["bzz-raw://17b788015db24d294f48d6160997072a4a78e5a6c17adec1e41860d055a24590","dweb:/ipfs/QmagZKVsq25UJeE65Ky7rcUMN4fWsj6fUvcsJM1okNVxmJ"],"license":"MIT"},"src/modules/keyswithvalue/tables/KeysWithValue.sol":{"keccak256":"0xb7fcba47836e17014324b3006ce4c3839d71f391969e32bdd576a125f4a7e5aa","urls":["bzz-raw://e534b6e883c4bb0b54c94dd7bb3bc2c6104bf90e1a2ca9ecd80bf19a630d41eb","dweb:/ipfs/QmTRa53skeJw7Kt8AQinBr3J8HtyNp38LKgqt1VJBGWYfx"],"license":"MIT"},"src/modules/utils/ArrayLib.sol":{"keccak256":"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b","urls":["bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4","dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw"],"license":"MIT"}},"version":1},"id":167}
1
+ {"abi":[{"type":"function","name":"onAfterDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSetRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeDeleteRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSetRecord","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceDynamicData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"uint40","internalType":"uint40"},{"name":"","type":"bytes32","internalType":"PackedCounter"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceStaticData","inputs":[{"name":"sourceTableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"","type":"uint48","internalType":"uint48"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StoreHook_NotImplemented","inputs":[]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506125cf806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d0e565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611eaa565b6101fd565b005b6100e26100f2366004611f5e565b610262565b6100e2610105366004611f5e565b61031d565b6100e2610118366004611eaa565b61034f565b6100e2610105366004612002565b6100e2610139366004612052565b61039b565b6100e261014c366004612002565b6103ef565b6100e261015f366004612052565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610519565b9050600061022f661ad95e5ddd985b60ca1b8b6105f4565b9050610256818a600081518110610248576102486120df565b6020026020010151846106d1565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b886105f4565b90506000610287888885610519565b90506102ae82886000815181106102a0576102a06120df565b6020026020010151836106d1565b8351606090156102e3578686866040516020016102cd93929190612119565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a600081518110610305576103056120df565b6020026020010151610712565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610519565b90506000610381661ad95e5ddd985b60ca1b8b6105f4565b905061025681838b600081518110610305576103056120df565b60006103a685610480565b905060006103b5868684610519565b905060006103cd661ad95e5ddd985b60ca1b886105f4565b90506103e68187600081518110610248576102486120df565b50505050505050565b60006103fc848484610519565b90506000610414661ad95e5ddd985b60ca1b866105f4565b905061042d8185600081518110610248576102486120df565b5050505050565b600061043f85610480565b9050600061044e868684610519565b90506000610466661ad95e5ddd985b60ca1b886105f4565b90506103e6818388600081518110610305576103056120df565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b96120df565b602090810291909101015260006105117f746273746f72650000000000000000005461626c65730000000000000000000083837e60030220202000000000000000000000000000000000000000000000000000610782565b949350505050565b60008060008061052761083f565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105569392919061218c565b600060405180830381865afa158015610573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059b91908101906121fa565b9250925092506000815111156105e0578282826040516020016105c093929190612119565b6040516020818303038152906040528051906020012093505050506105ed565b5050805160209091012090505b9392505050565b6000806106008361084e565b9050600061060e8460101b90565b9050603861061d81601061227d565b610627919061227d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c6106586038601061227d565b7f74620000000000000000000000000000000000000000000000000000000000007fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b60006106e7836106e18685610865565b906108d9565b90508051600003610701576106fc84836109a7565b61070c565b61070c8483836109f8565b50505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610748576107486120df565b60200260200101818152505061070c848260008560405160200161076e91815260200190565b604051602081830303815290604052610a4f565b60008061078d610af5565b9050306001600160a01b038216036107b3576107ab86868686610b34565b915050610511565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906107fe908990899089908990600401612290565b602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906122bf565b6000610849610af5565b905090565b600061085c6070601061227d565b9190911b919050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061089f5761089f6120df565b60200260200101818152505060006108b985836000610b61565b90506108d06108cb8260008451610c28565b610cbf565b95945050505050565b60606000835167ffffffffffffffff8111156108f7576108f7611d50565b604051908082528060200260200182016040528015610920578160200160208202803683370190505b5090506000805b855181101561099d5784868281518110610943576109436120df565b60200260200101511461099557858181518110610962576109626120df565b602002602001015183838151811061097c5761097c6120df565b602090810291909101015281610991816122d8565b9250505b600101610927565b5081529392505050565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106109dd576109dd6120df565b6020026020010181815250506109f38382610cd0565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2e57610a2e6120df565b60200260200101818152505061070c84826000610a4a86610d6b565b610d7b565b6000610a59610af5565b9050306001600160a01b03821603610a7c57610a7785858585610dee565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610ac790889088908890889060040161231e565b600060405180830381600087803b158015610ae157600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b2f573391505090565b919050565b60006108d0610b438686610e31565b60ff858116601b0360080285901c16610b5c8587610e87565b610eb8565b60606000610b6d610af5565b9050306001600160a01b03821603610b9257610b8a858585610f09565b9150506105ed565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610bdb90889088908890600401612352565b600060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8a919081019061237e565b509392505050565b600081831180610c385750835182115b15610c7e578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c75939291906123b3565b60405180910390fd5b60208401610c8c848261227d565b90506000610c9a85856123d8565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006105ed8360206000610f43565b6000610cda610af5565b9050306001600160a01b03821603610cf6576109f38383610fbe565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d3d90869086906004016123eb565b600060405180830381600087803b158015610d5757600080fd5b505af11580156103e6573d6000803e3d6000fd5b6060816105ed8160206000610fd5565b6000610d85610af5565b9050306001600160a01b03821603610da357610a7785858585611029565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610ac790889088908890889060040161231e565b6000610dfa8585611064565b90506000610e17828560ff166028026038011c64ffffffffff1690565b9050610e298686868460008888611077565b505050505050565b60008282604051602001610e46929190612404565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c2057610eae60ff601b83900360080287901c168361227d565b9150600101610e8c565b600060208210610ede57602082048401935060208281610eda57610eda612440565b0691505b508254600882021b602082900380841115610c20576001850154600882021c82179150509392505050565b6060610511610f198585856114b1565b6000610f3e85610f298989611064565b9060ff166028026038011c64ffffffffff1690565b611531565b60606000610f518560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610f7757610f77612440565b04905060405193506020840160208202810160405281855260005b82811015610fb2578451871c825293870193602090910190600101610f92565b50505050509392505050565b610fd18282610fcc85611554565b6115d9565b5050565b82516060906000610fe68583612456565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fb2578051871b83529187019160019190910190602001611008565b60006110358585611064565b90506000611052828560ff166028026038011c64ffffffffff1690565b9050610e298686866000858888611077565b60006105ed61107384846118d8565b5490565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614611137577f746200000000000000000000000000000000000000000000000000000000000087886040516020016110f591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c7593929160040161246d565b6000611152828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116b91906123d8565b611175919061227d565b905080821415801561119757508161118d86886124ae565b64ffffffffff1614155b156111e7576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610c75565b818664ffffffffff161115611238576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610c75565b600061124584898461192e565b905060006112528b6119fc565b905060005b815181101561131d576000828281518110611274576112746120df565b602002602001015190506112a06010826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561131457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016112e197969594939291906124d3565b600060405180830381600087803b1580156112fb57600080fd5b505af115801561130f573d6000803e3d6000fd5b505050505b50600101611257565b5064ffffffffff881660005b8a60ff168160ff16101561135c57611350878260ff166028026038011c64ffffffffff1690565b90910190600101611329565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161139796959493929190612531565b60405180910390a2508284146113b85760006113b38c8c6118d8565b839055505b60006113c58c8c8c6114b1565b90506113d9818a64ffffffffff1689611aa3565b5060005b81518110156114a35760008282815181106113fa576113fa6120df565b602002602001015190506114266020826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561149a57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161146797969594939291906124d3565b600060405180830381600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050505b506001016113dd565b505050505050505050505050565b600083836040516020016114c6929190612404565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8484010116604052828252610c2085858584611ab9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d0000000000000000000082016115a357507e60030220202000000000000000000000000000000000000000000000000000919050565b6101f76115d07f746273746f72650000000000000000005461626c65730000000000000000000084611b85565b60206000610eb8565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361165f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051611652919061258d565b60405180910390a2505050565b600061166a846119fc565b905060005b815181101561173d57600082828151811061168c5761168c6120df565b602002602001015190506116b86040826affffffffffffffffffffff1916611a8590919063ffffffff16565b15611734576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117019089908990899060040161218c565b600060405180830381600087803b15801561171b57600080fd5b505af115801561172f573d6000803e3d6000fd5b505050505b5060010161166f565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161176e919061258d565b60405180910390a260006117828585610e31565b90506117db81600061179386611ba1565b67ffffffffffffffff8111156117ab576117ab611d50565b6040519080825280601f01601f1916602001820160405280156117d5576020820181803683370190505b50611aa3565b60006117e684611bc4565b11156118075760006117f886866118d8565b9050611805816020611c01565b505b60005b8251811015610e29576000838281518110611827576118276120df565b602002602001015190506118536080826affffffffffffffffffffff1916611a8590919063ffffffff16565b156118cf576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061189c908a908a908a9060040161218c565b600060405180830381600087803b1580156118b657600080fd5b505af11580156118ca573d6000803e3d6000fd5b505050505b5060010161180a565b600082826040516020016118ed929190612404565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff821115611972576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610c75565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119a457808503820191506119ac565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a3657611a366120df565b60209081029190910101526000611a6e7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610f09565b9050610511611a808260008451610c28565b611c3e565b60008160ff1682611a968560581c90565b1660ff1614905092915050565b6109f383838351611ab48560200190565b611c4f565b8215611b405760208310611ae357602083048401935060208381611adf57611adf612440565b0692505b8215611b40576020839003600081841015611b065750600019600884021c611b10565b50600019600882021c5b8554600886021b818451168219821617845250818411611b3157505061070c565b50600194909401939182900391015b5b60208210611b625783548152600190930192601f1990910190602001611b41565b811561070c576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e46565b60006008611bb1600260206123d8565b611bbb9190612456565b9190911c919050565b60006008600180611bd7600260206123d8565b611be191906123d8565b611beb91906123d8565b611bf59190612456565b8260ff911c1692915050565b60006020611c1083601f61227d565b611c1a91906125a0565b611c24908461227d565b90505b808310156109f35760008355600183019250611c27565b606060006105ed8360156000610f43565b8215611cc95760208310611c7957602083048401935060208381611c7557611c75612440565b0692505b8215611cc95760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611cba57505061070c565b50600194909401939182900391015b5b60208210611ceb5780518455600190930192601f1990910190602001611cca565b811561070c576000600019600884021c8554835182191691161785555050505050565b600060208284031215611d2057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146105ed57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8f57611d8f611d50565b604052919050565b600082601f830112611da857600080fd5b8135602067ffffffffffffffff821115611dc457611dc4611d50565b8160051b611dd3828201611d66565b9283528481018201928281019087851115611ded57600080fd5b83870192505b84831015611e0c57823582529183019190830190611df3565b979650505050505050565b803564ffffffffff81168114610b2f57600080fd5b600067ffffffffffffffff821115611e4657611e46611d50565b50601f01601f191660200190565b600082601f830112611e6557600080fd5b8135611e78611e7382611e2c565b611d66565b818152846020838601011115611e8d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611ec557600080fd5b87359650602088013567ffffffffffffffff80821115611ee457600080fd5b611ef08b838c01611d97565b975060408a0135915060ff82168214611f0857600080fd5b819650611f1760608b01611e17565b9550611f2560808b01611e17565b945060a08a0135935060c08a0135915080821115611f4257600080fd5b50611f4f8a828b01611e54565b91505092959891949750929550565b60008060008060008060c08789031215611f7757600080fd5b86359550602087013567ffffffffffffffff80821115611f9657600080fd5b611fa28a838b01611d97565b96506040890135915080821115611fb857600080fd5b611fc48a838b01611e54565b9550606089013594506080890135915080821115611fe157600080fd5b50611fee89828a01611e54565b92505060a087013590509295509295509295565b60008060006060848603121561201757600080fd5b83359250602084013567ffffffffffffffff81111561203557600080fd5b61204186828701611d97565b925050604084013590509250925092565b6000806000806080858703121561206857600080fd5b84359350602085013567ffffffffffffffff8082111561208757600080fd5b61209388838901611d97565b94506040870135915065ffffffffffff821682146120b057600080fd5b909250606086013590808211156120c657600080fd5b506120d387828801611e54565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b838110156121105781810151838201526020016120f8565b50506000910152565b6000845161212b8184602089016120f5565b820184815283516121438160208085019088016120f5565b0160200195945050505050565b60008151808452602080850194506020840160005b8381101561218157815187529582019590820190600101612165565b509495945050505050565b8381526060602082015260006121a56060830185612150565b9050826040830152949350505050565b600082601f8301126121c657600080fd5b81516121d4611e7382611e2c565b8181528460208386010111156121e957600080fd5b6105118260208301602087016120f5565b60008060006060848603121561220f57600080fd5b835167ffffffffffffffff8082111561222757600080fd5b612233878388016121b5565b945060208601519350604086015191508082111561225057600080fd5b5061225d868287016121b5565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f7612267565b8481526080602082015260006122a96080830186612150565b60ff949094166040830152506060015292915050565b6000602082840312156122d157600080fd5b5051919050565b600060001982036122eb576122eb612267565b5060010190565b6000815180845261230a8160208601602086016120f5565b601f01601f19169290920160200192915050565b8481526080602082015260006123376080830186612150565b60ff851660408401528281036060840152611e0c81856122f2565b83815260606020820152600061236b6060830185612150565b905060ff83166040830152949350505050565b60006020828403121561239057600080fd5b815167ffffffffffffffff8111156123a757600080fd5b610511848285016121b5565b6060815260006123c660608301866122f2565b60208301949094525060400152919050565b818103818111156101f7576101f7612267565b8281526040602082015260006105116040830184612150565b8281526000602080830184516020860160005b8281101561243357815184529284019290840190600101612417565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f7612267565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108d060608301846122f2565b64ffffffffff8181168382160190808211156124cc576124cc612267565b5092915050565b87815260e0602082015260006124ec60e0830189612150565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261252381856122f2565b9a9950505050505050505050565b60c08152600061254460c0830189612150565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261258081856122f2565b9998505050505050505050565b6020815260006105ed6020830184612150565b6000826125bd57634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000818000a","sourceMap":"1167:4801:167:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d1461012b5780639faeaf451461013e578063a8ba87211461015157600080fd5b8063635845331461010a57806383b5c95b1461011d57600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b6366004611d0e565b610164565b604051901515815260200160405180910390f35b6100e26100dd366004611eaa565b6101fd565b005b6100e26100f2366004611f5e565b610262565b6100e2610105366004611f5e565b61031d565b6100e2610118366004611eaa565b61034f565b6100e2610105366004612002565b6100e2610139366004612052565b61039b565b6100e261014c366004612002565b6103ef565b6100e261015f366004612052565b610434565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020888610480565b90506000610217898984610519565b9050600061022f661ad95e5ddd985b60ca1b8b6105f4565b9050610256818a600081518110610248576102486120df565b6020026020010151846106d1565b50505050505050505050565b6000610278661ad95e5ddd985b60ca1b886105f4565b90506000610287888885610519565b90506102ae82886000815181106102a0576102a06120df565b6020026020010151836106d1565b8351606090156102e3578686866040516020016102cd93929190612119565b60405160208183030381529060405290506102e6565b50855b6103128382805190602001208a600081518110610305576103056120df565b6020026020010151610712565b505050505050505050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061035a88610480565b90506000610369898984610519565b90506000610381661ad95e5ddd985b60ca1b8b6105f4565b905061025681838b600081518110610305576103056120df565b60006103a685610480565b905060006103b5868684610519565b905060006103cd661ad95e5ddd985b60ca1b886105f4565b90506103e68187600081518110610248576102486120df565b50505050505050565b60006103fc848484610519565b90506000610414661ad95e5ddd985b60ca1b866105f4565b905061042d8185600081518110610248576102486120df565b5050505050565b600061043f85610480565b9050600061044e868684610519565b90506000610466661ad95e5ddd985b60ca1b886105f4565b90506103e6818388600081518110610305576103056120df565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106104b9576104b96120df565b602090810291909101015260006105117f746273746f72650000000000000000005461626c65730000000000000000000083837e60030220202000000000000000000000000000000000000000000000000000610782565b949350505050565b60008060008061052761083f565b6001600160a01b031663419b58fd8888886040518463ffffffff1660e01b81526004016105569392919061218c565b600060405180830381865afa158015610573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059b91908101906121fa565b9250925092506000815111156105e0578282826040516020016105c093929190612119565b6040516020818303038152906040528051906020012093505050506105ed565b5050805160209091012090505b9392505050565b6000806106008361084e565b9050600061060e8460101b90565b9050603861061d81601061227d565b610627919061227d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c6106586038601061227d565b7f74620000000000000000000000000000000000000000000000000000000000007fffffffffffffff0000000000000000000000000000000000000000000000000093909316901c601087901c7dffffffffffffff00000000000000000000000000000000000000000000001617171791505092915050565b60006106e7836106e18685610865565b906108d9565b90508051600003610701576106fc84836109a7565b61070c565b61070c8483836109f8565b50505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610748576107486120df565b60200260200101818152505061070c848260008560405160200161076e91815260200190565b604051602081830303815290604052610a4f565b60008061078d610af5565b9050306001600160a01b038216036107b3576107ab86868686610b34565b915050610511565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906107fe908990899089908990600401612290565b602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab91906122bf565b6000610849610af5565b905090565b600061085c6070601061227d565b9190911b919050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061089f5761089f6120df565b60200260200101818152505060006108b985836000610b61565b90506108d06108cb8260008451610c28565b610cbf565b95945050505050565b60606000835167ffffffffffffffff8111156108f7576108f7611d50565b604051908082528060200260200182016040528015610920578160200160208202803683370190505b5090506000805b855181101561099d5784868281518110610943576109436120df565b60200260200101511461099557858181518110610962576109626120df565b602002602001015183838151811061097c5761097c6120df565b602090810291909101015281610991816122d8565b9250505b600101610927565b5081529392505050565b6040805160018082528183019092526000916020808301908036833701905050905081816000815181106109dd576109dd6120df565b6020026020010181815250506109f38382610cd0565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2e57610a2e6120df565b60200260200101818152505061070c84826000610a4a86610d6b565b610d7b565b6000610a59610af5565b9050306001600160a01b03821603610a7c57610a7785858585610dee565b61042d565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290610ac790889088908890889060040161231e565b600060405180830381600087803b158015610ae157600080fd5b505af1158015610312573d6000803e3d6000fd5b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610b2f573391505090565b919050565b60006108d0610b438686610e31565b60ff858116601b0360080285901c16610b5c8587610e87565b610eb8565b60606000610b6d610af5565b9050306001600160a01b03821603610b9257610b8a858585610f09565b9150506105ed565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610bdb90889088908890600401612352565b600060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8a919081019061237e565b509392505050565b600081831180610c385750835182115b15610c7e578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c75939291906123b3565b60405180910390fd5b60208401610c8c848261227d565b90506000610c9a85856123d8565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006105ed8360206000610f43565b6000610cda610af5565b9050306001600160a01b03821603610cf6576109f38383610fbe565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90610d3d90869086906004016123eb565b600060405180830381600087803b158015610d5757600080fd5b505af11580156103e6573d6000803e3d6000fd5b6060816105ed8160206000610fd5565b6000610d85610af5565b9050306001600160a01b03821603610da357610a7785858585611029565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290610ac790889088908890889060040161231e565b6000610dfa8585611064565b90506000610e17828560ff166028026038011c64ffffffffff1690565b9050610e298686868460008888611077565b505050505050565b60008282604051602001610e46929190612404565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610c2057610eae60ff601b83900360080287901c168361227d565b9150600101610e8c565b600060208210610ede57602082048401935060208281610eda57610eda612440565b0691505b508254600882021b602082900380841115610c20576001850154600882021c82179150509392505050565b6060610511610f198585856114b1565b6000610f3e85610f298989611064565b9060ff166028026038011c64ffffffffff1690565b611531565b60606000610f518560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281610f7757610f77612440565b04905060405193506020840160208202810160405281855260005b82811015610fb2578451871c825293870193602090910190600101610f92565b50505050509392505050565b610fd18282610fcc85611554565b6115d9565b5050565b82516060906000610fe68583612456565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015610fb2578051871b83529187019160019190910190602001611008565b60006110358585611064565b90506000611052828560ff166028026038011c64ffffffffff1690565b9050610e298686866000858888611077565b60006105ed61107384846118d8565b5490565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614611137577f746200000000000000000000000000000000000000000000000000000000000087886040516020016110f591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c7593929160040161246d565b6000611152828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361116b91906123d8565b611175919061227d565b905080821415801561119757508161118d86886124ae565b64ffffffffff1614155b156111e7576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610c75565b818664ffffffffff161115611238576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610c75565b600061124584898461192e565b905060006112528b6119fc565b905060005b815181101561131d576000828281518110611274576112746120df565b602002602001015190506112a06010826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561131457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016112e197969594939291906124d3565b600060405180830381600087803b1580156112fb57600080fd5b505af115801561130f573d6000803e3d6000fd5b505050505b50600101611257565b5064ffffffffff881660005b8a60ff168160ff16101561135c57611350878260ff166028026038011c64ffffffffff1690565b90910190600101611329565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161139796959493929190612531565b60405180910390a2508284146113b85760006113b38c8c6118d8565b839055505b60006113c58c8c8c6114b1565b90506113d9818a64ffffffffff1689611aa3565b5060005b81518110156114a35760008282815181106113fa576113fa6120df565b602002602001015190506114266020826affffffffffffffffffffff1916611a8590919063ffffffff16565b1561149a57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161146797969594939291906124d3565b600060405180830381600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050505b506001016113dd565b505050505050505050505050565b600083836040516020016114c6929190612404565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60405160208101601f19603f8484010116604052828252610c2085858584611ab9565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d0000000000000000000082016115a357507e60030220202000000000000000000000000000000000000000000000000000919050565b6101f76115d07f746273746f72650000000000000000005461626c65730000000000000000000084611b85565b60206000610eb8565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361165f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051611652919061258d565b60405180910390a2505050565b600061166a846119fc565b905060005b815181101561173d57600082828151811061168c5761168c6120df565b602002602001015190506116b86040826affffffffffffffffffffff1916611a8590919063ffffffff16565b15611734576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906117019089908990899060040161218c565b600060405180830381600087803b15801561171b57600080fd5b505af115801561172f573d6000803e3d6000fd5b505050505b5060010161166f565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161176e919061258d565b60405180910390a260006117828585610e31565b90506117db81600061179386611ba1565b67ffffffffffffffff8111156117ab576117ab611d50565b6040519080825280601f01601f1916602001820160405280156117d5576020820181803683370190505b50611aa3565b60006117e684611bc4565b11156118075760006117f886866118d8565b9050611805816020611c01565b505b60005b8251811015610e29576000838281518110611827576118276120df565b602002602001015190506118536080826affffffffffffffffffffff1916611a8590919063ffffffff16565b156118cf576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061189c908a908a908a9060040161218c565b600060405180830381600087803b1580156118b657600080fd5b505af11580156118ca573d6000803e3d6000fd5b505050505b5060010161180a565b600082826040516020016118ed929190612404565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600064ffffffffff821115611972576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610c75565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106119a457808503820191506119ac565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611a3657611a366120df565b60209081029190910101526000611a6e7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383610f09565b9050610511611a808260008451610c28565b611c3e565b60008160ff1682611a968560581c90565b1660ff1614905092915050565b6109f383838351611ab48560200190565b611c4f565b8215611b405760208310611ae357602083048401935060208381611adf57611adf612440565b0692505b8215611b40576020839003600081841015611b065750600019600884021c611b10565b50600019600882021c5b8554600886021b818451168219821617845250818411611b3157505061070c565b50600194909401939182900391015b5b60208210611b625783548152600190930192601f1990910190602001611b41565b811561070c576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e46565b60006008611bb1600260206123d8565b611bbb9190612456565b9190911c919050565b60006008600180611bd7600260206123d8565b611be191906123d8565b611beb91906123d8565b611bf59190612456565b8260ff911c1692915050565b60006020611c1083601f61227d565b611c1a91906125a0565b611c24908461227d565b90505b808310156109f35760008355600183019250611c27565b606060006105ed8360156000610f43565b8215611cc95760208310611c7957602083048401935060208381611c7557611c75612440565b0692505b8215611cc95760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611cba57505061070c565b50600194909401939182900391015b5b60208210611ceb5780518455600190930192601f1990910190602001611cca565b811561070c576000600019600884021c8554835182191691161785555050505050565b600060208284031215611d2057600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146105ed57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8f57611d8f611d50565b604052919050565b600082601f830112611da857600080fd5b8135602067ffffffffffffffff821115611dc457611dc4611d50565b8160051b611dd3828201611d66565b9283528481018201928281019087851115611ded57600080fd5b83870192505b84831015611e0c57823582529183019190830190611df3565b979650505050505050565b803564ffffffffff81168114610b2f57600080fd5b600067ffffffffffffffff821115611e4657611e46611d50565b50601f01601f191660200190565b600082601f830112611e6557600080fd5b8135611e78611e7382611e2c565b611d66565b818152846020838601011115611e8d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215611ec557600080fd5b87359650602088013567ffffffffffffffff80821115611ee457600080fd5b611ef08b838c01611d97565b975060408a0135915060ff82168214611f0857600080fd5b819650611f1760608b01611e17565b9550611f2560808b01611e17565b945060a08a0135935060c08a0135915080821115611f4257600080fd5b50611f4f8a828b01611e54565b91505092959891949750929550565b60008060008060008060c08789031215611f7757600080fd5b86359550602087013567ffffffffffffffff80821115611f9657600080fd5b611fa28a838b01611d97565b96506040890135915080821115611fb857600080fd5b611fc48a838b01611e54565b9550606089013594506080890135915080821115611fe157600080fd5b50611fee89828a01611e54565b92505060a087013590509295509295509295565b60008060006060848603121561201757600080fd5b83359250602084013567ffffffffffffffff81111561203557600080fd5b61204186828701611d97565b925050604084013590509250925092565b6000806000806080858703121561206857600080fd5b84359350602085013567ffffffffffffffff8082111561208757600080fd5b61209388838901611d97565b94506040870135915065ffffffffffff821682146120b057600080fd5b909250606086013590808211156120c657600080fd5b506120d387828801611e54565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60005b838110156121105781810151838201526020016120f8565b50506000910152565b6000845161212b8184602089016120f5565b820184815283516121438160208085019088016120f5565b0160200195945050505050565b60008151808452602080850194506020840160005b8381101561218157815187529582019590820190600101612165565b509495945050505050565b8381526060602082015260006121a56060830185612150565b9050826040830152949350505050565b600082601f8301126121c657600080fd5b81516121d4611e7382611e2c565b8181528460208386010111156121e957600080fd5b6105118260208301602087016120f5565b60008060006060848603121561220f57600080fd5b835167ffffffffffffffff8082111561222757600080fd5b612233878388016121b5565b945060208601519350604086015191508082111561225057600080fd5b5061225d868287016121b5565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101f7576101f7612267565b8481526080602082015260006122a96080830186612150565b60ff949094166040830152506060015292915050565b6000602082840312156122d157600080fd5b5051919050565b600060001982036122eb576122eb612267565b5060010190565b6000815180845261230a8160208601602086016120f5565b601f01601f19169290920160200192915050565b8481526080602082015260006123376080830186612150565b60ff851660408401528281036060840152611e0c81856122f2565b83815260606020820152600061236b6060830185612150565b905060ff83166040830152949350505050565b60006020828403121561239057600080fd5b815167ffffffffffffffff8111156123a757600080fd5b610511848285016121b5565b6060815260006123c660608301866122f2565b60208301949094525060400152919050565b818103818111156101f7576101f7612267565b8281526040602082015260006105116040830184612150565b8281526000602080830184516020860160005b8281101561243357815184529284019290840190600101612417565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b80820281158282048414176101f7576101f7612267565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006108d060608301846122f2565b64ffffffffff8181168382160190808211156124cc576124cc612267565b5092915050565b87815260e0602082015260006124ec60e0830189612150565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261252381856122f2565b9a9950505050505050505050565b60c08152600061254460c0830189612150565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261258081856122f2565b9998505050505050505050565b6020815260006105ed6020830184612150565b6000826125bd57634e487b7160e01b600052601260045260246000fd5b50049056fea164736f6c6343000818000a","sourceMap":"1167:4801:167:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;929:187:22;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;929:187:22;;;;;;;3316:565:167;;;;;;:::i;:::-;;:::i;:::-;;1408:873;;;;;;:::i;:::-;;:::i;2475:266:22:-;;;;;;:::i;:::-;;:::i;3885:544:167:-;;;;;;:::i;:::-;;:::i;7591:160:22:-;;;;;;:::i;2285:522:167:-;;;;;;:::i;:::-;;:::i;4433:449::-;;;;;;:::i;:::-;;:::i;2811:501::-;;;;;;:::i;:::-;;:::i;929:187:22:-;1005:4;1024:43;;;1039:28;1024:43;;:87;;-1:-1:-1;1071:40:22;;;1086:25;1071:40;1024:87;1017:94;929:187;-1:-1:-1;;929:187:22:o;3316:565:167:-;3578:23;3604:36;3626:13;3604:21;:36::i;:::-;3578:62;;3646:21;3670:57;3690:13;3705:8;3715:11;3670:19;:57::i;:::-;3646:81;;3733:24;3760:49;-1:-1:-1;;;3795:13:167;3760:16;:49::i;:::-;3733:76;;3815:61;3834:13;3849:8;3858:1;3849:11;;;;;;;;:::i;:::-;;;;;;;3862:13;3815:18;:61::i;:::-;3504:377;;;3316:565;;;;;;;:::o;1408:873::-;1644:24;1671:49;-1:-1:-1;;;1706:13:167;1671:16;:49::i;:::-;1644:76;;1757:21;1781:57;1801:13;1816:8;1826:11;1781:19;:57::i;:::-;1757:81;;1913:61;1932:13;1947:8;1956:1;1947:11;;;;;;;;:::i;:::-;;;;;;;1960:13;1913:18;:61::i;:::-;2067:18;;2040:17;;2067:22;2063:145;;2123:10;2135:14;2151:11;2106:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2099:64;;2063:145;;;-1:-1:-1;2191:10:167;2063:145;2213:63;2232:13;2257:4;2247:15;;;;;;2264:8;2273:1;2264:11;;;;;;;;:::i;:::-;;;;;;;2213:18;:63::i;:::-;1638:643;;;1408:873;;;;;;:::o;2475:266:22:-;2710:26;;;;;;;;;;;;;;3885:544:167;4136:23;4162:36;4184:13;4162:21;:36::i;:::-;4136:62;;4204:16;4223:57;4243:13;4258:8;4268:11;4223:19;:57::i;:::-;4204:76;;4286:24;4313:49;-1:-1:-1;;;4348:13:167;4313:16;:49::i;:::-;4286:76;;4368:56;4387:13;4402:8;4412;4421:1;4412:11;;;;;;;;:::i;2285:522::-;2504:23;2530:36;2552:13;2530:21;:36::i;:::-;2504:62;;2572:21;2596:57;2616:13;2631:8;2641:11;2596:19;:57::i;:::-;2572:81;;2659:24;2686:49;-1:-1:-1;;;2721:13:167;2686:16;:49::i;:::-;2659:76;;2741:61;2760:13;2775:8;2784:1;2775:11;;;;;;;;:::i;2741:61::-;2430:377;;;2285:522;;;;:::o;4433:449::-;4647:21;4671:57;4691:13;4706:8;4716:11;4671:19;:57::i;:::-;4647:81;;4734:24;4761:49;-1:-1:-1;;;4796:13:167;4761:16;:49::i;:::-;4734:76;;4816:61;4835:13;4850:8;4859:1;4850:11;;;;;;;;:::i;4816:61::-;4573:309;;4433:449;;;:::o;2811:501::-;3019:23;3045:36;3067:13;3045:21;:36::i;:::-;3019:62;;3087:16;3106:57;3126:13;3141:8;3151:11;3106:19;:57::i;:::-;3087:76;;3169:24;3196:49;-1:-1:-1;;;3231:13:167;3196:16;:49::i;:::-;3169:76;;3251:56;3270:13;3285:8;3295;3304:1;3295:11;;;;;;;;:::i;2935:327:29:-;3062:16;;;3076:1;3062:16;;;;;;;;;3002:23;;;;3062:16;;;;;;;;;;;;-1:-1:-1;3062:16:29;3033:45;;3117:7;3084:9;3094:1;3084:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3132:13;3148:64;1210:66;3185:9;3132:13;1339:66;3148:26;:64::i;:::-;3132:80;2935:327;-1:-1:-1;;;;2935:327:29:o;4886:512:167:-;5032:17;5058:23;5083:28;5113:24;5141:8;:6;:8::i;:::-;-1:-1:-1;;;;;5141:18:167;;5167:13;5188:8;5204:11;5141:80;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5141:80:167;;;;;;;;;;;;:::i;:::-;5057:164;;;;;;5252:1;5231:11;:18;:22;5227:167;;;5297:10;5309:14;5325:11;5280:57;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5270:68;;;;;;5263:75;;;;;;;5227:167;-1:-1:-1;;5366:21:167;;;;;;;;-1:-1:-1;4886:512:167;;;;;;:::o;1052:559:171:-;1142:10;1158:17;1178:46;1210:13;1178:31;:46::i;:::-;1158:66;;1228:27;1265:51;1302:13;451:5:16;2634:44:59;;2536:148;1265:51:171;1228:89;-1:-1:-1;401:5:171;1544:33;401:5;451::16;1544:33:171;:::i;:::-;:56;;;;:::i;:::-;1521:18;;;:80;;1474:33;354:5;451::16;1474:33:171;:::i;:::-;1363:14;1440:29;;;;;:68;;451:5:16;1390:37:171;;;;;1355:154;:247;;;-1:-1:-1;;1052:559:171;;;;:::o;5402:564:167:-;5573:38;5614:55;5665:3;5614:43;5632:13;5647:9;5614:17;:43::i;:::-;:50;;:55::i;:::-;5573:96;;5680:21;:28;5712:1;5680:33;5676:286;;5770:52;5797:13;5812:9;5770:26;:52::i;:::-;5676:286;;;5889:66;5907:13;5922:9;5933:21;5889:17;:66::i;:::-;5497:469;5402:564;;;:::o;13998:258:172:-;14114:16;;;14128:1;14114:16;;;;;;;;;14085:26;;14114:16;;;;;;;;;;;-1:-1:-1;14114:16:172;14085:45;;14151:9;14136;14146:1;14136:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;14167:84;14198:8;14208:9;14219:1;14240:8;14222:28;;;;;;9738:19:208;;9782:2;9773:12;;9609:182;14222:28:172;;;;;;;;;;;;;14167:30;:84::i;17768:457:24:-;17925:7;17940:21;17964:17;:15;:17::i;:::-;17940:41;-1:-1:-1;18016:4:24;-1:-1:-1;;;;;17991:30:24;;;17987:234;;18038:68;18063:7;18072:8;18082:10;18094:11;18038:24;:68::i;:::-;18031:75;;;;;17987:234;18134:80;;;;;-1:-1:-1;;;;;18134:36:24;;;;;:80;;18171:7;;18180:8;;18190:10;;18202:11;;18134:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1292:112:167:-;1333:10;1369:29;:27;:29::i;:::-;1351:48;;1292:112;:::o;3162:160:59:-;3225:7;3289:26;438:6;451:5:16;3289:26:59;:::i;:::-;3255:61;;;;;3162:160;-1:-1:-1;3162:160:59:o;4000:354:172:-;4143:16;;;4157:1;4143:16;;;;;;;;;4076:30;;4114:26;;4143:16;;;;;;;;;;;;-1:-1:-1;4143:16:172;4114:45;;4180:9;4165;4175:1;4165:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;4196:18;4217:51;4245:8;4255:9;4266:1;4217:27;:51::i;:::-;4196:72;;4282:66;:44;4303:5;4310:1;4313:5;:12;4282:20;:44::i;:::-;:64;:66::i;:::-;4274:75;4000:354;-1:-1:-1;;;;;4000:354:172:o;834:531:196:-;912:16;936:25;978:3;:10;964:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;964:25:196;;936:53;;995:21;1027:9;1022:150;1042:3;:10;1038:1;:14;1022:150;;;1081:7;1071:3;1075:1;1071:6;;;;;;;;:::i;:::-;;;;;;;:17;1067:99;;1126:3;1130:1;1126:6;;;;;;;;:::i;:::-;;;;;;;1100:8;1109:13;1100:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;1142:15;;;;:::i;:::-;;;;1067:99;1054:3;;1022:150;;;-1:-1:-1;1302:31:196;;;834:531;-1:-1:-1;;;834:531:196:o;19686:209:172:-;19792:16;;;19806:1;19792:16;;;;;;;;;19763:26;;19792:16;;;;;;;;;;;-1:-1:-1;19792:16:172;19763:45;;19829:9;19814;19824:1;19814:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;19845:45;19870:8;19880:9;19845:24;:45::i;:::-;19757:138;19686:209;;:::o;6324:275::-;6453:16;;;6467:1;6453:16;;;;;;;;;6424:26;;6453:16;;;;;;;;;;;-1:-1:-1;6453:16:172;6424:45;;6490:9;6475;6485:1;6475:12;;;;;;;;:::i;:::-;;;;;;:24;;;;;6506:88;6534:8;6544:9;6555:1;6558:35;6578:13;6558:18;:35::i;:::-;6506:27;:88::i;12340:451:24:-;12500:21;12524:17;:15;:17::i;:::-;12500:41;-1:-1:-1;12576:4:24;-1:-1:-1;;;;;12551:30:24;;;12547:240;;12591:78;12620:7;12629:8;12639:17;12658:10;12591:28;:78::i;:::-;12547:240;;;12690:90;;;;;-1:-1:-1;;;;;12690:40:24;;;;;:90;;12731:7;;12740:8;;12750:17;;12769:10;;12690:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1832:227;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:24;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:24:o;38189:541:20:-;38346:7;38483:242;38527:59;38568:7;38577:8;38527:40;:59::i;:::-;38604:31;;;;4677:19:3;:27;579:1:30;4676:44:3;4642:79;;;4629:93;38653:63:20;38692:11;38705:10;38653:38;:63::i;:::-;38483:17;:242::i;18591:431:24:-;18727:12;18747:21;18771:17;:15;:17::i;:::-;18747:41;-1:-1:-1;18823:4:24;-1:-1:-1;;;;;18798:30:24;;;18794:224;;18845:63;18871:7;18880:8;18890:17;18845:25;:63::i;:::-;18838:70;;;;;18794:224;18936:75;;;;;-1:-1:-1;;;;;18936:37:24;;;;;:75;;18974:7;;18983:8;;18993:17;;18936:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18936:75:24;;;;;;;;;;;;:::i;18794:224::-;18741:281;18591:431;;;;;:::o;2020:561:18:-;2111:5;2206:3;2198:5;:11;:32;;;;2219:4;:11;2213:3;:17;2198:32;2194:80;;;2257:4;2263:5;2270:3;2239:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;2194:80;2340:4;2330:15;;2387:16;2398:5;2330:15;2387:16;:::i;:::-;;-1:-1:-1;2409:12:18;2424:11;2430:5;2424:3;:11;:::i;:::-;709:17;2559:15;2551:3;2540:14;;;;2539:36;;;;;;-1:-1:-1;;;;;2020:561:18:o;45284:220:34:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;13842:301:24:-;13926:21;13950:17;:15;:17::i;:::-;13926:41;-1:-1:-1;14002:4:24;-1:-1:-1;;;;;13977:30:24;;;13973:166;;14017:41;14040:7;14049:8;14017:22;:41::i;13973:166::-;14079:53;;;;;-1:-1:-1;;;;;14079:34:24;;;;;:53;;14114:7;;14123:8;;14079:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44950:222:35;45014:12;45104:6;45128:39;45104:6;45161:2;45165:1;45128:17;:39::i;11564:424:24:-;11715:21;11739:17;:15;:17::i;:::-;11715:41;-1:-1:-1;11791:4:24;-1:-1:-1;;;;;11766:30:24;;;11762:222;;11806:69;11832:7;11841:8;11851:17;11870:4;11806:25;:69::i;11762:222::-;11896:81;;;;;-1:-1:-1;;;;;11896:37:24;;;;;:81;;11934:7;;11943:8;;11953:17;;11972:4;;11896:81;;;:::i;30786:790:20:-;31045:36;31084:66;31132:7;31141:8;31084:47;:66::i;:::-;31045:105;-1:-1:-1;31156:26:20;31192:49;31045:105;31223:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;31192:49:20;31156:86;;31280:291;31334:7;31359:8;31394:17;31444:19;31485:1;31500:10;31542:22;31280:36;:291::i;:::-;30940:636;;30786:790;;;;:::o;52818:191::-;52920:7;52984;52993:8;52967:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52967:35:20;;;;;;;;;52957:46;;52967:35;52957:46;;;;44378:22;52950:53;;52818:191;-1:-1:-1;;;52818:191:20:o;53835:242::-;53931:7;;;53970:84;53990:10;53986:14;;:1;:14;53970:84;;;54015:32;4629:93:3;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;54015:32:20;;:::i;:::-;;-1:-1:-1;54002:3:20;;53970:84;;8945:812:19;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:19;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;39198:522:20:-;39334:12;39458:257;39497:79;39539:7;39548:8;39558:17;39497:41;:79::i;:::-;39594:1;39613:93;39688:17;39613:66;39661:7;39670:8;39613:47;:66::i;:::-;:74;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;39613:93:20;39458:12;:257::i;2681:1129:36:-;2801:22;2831:21;2855;:11;3001:3:18;2979:25;;2905:104;2855:21:36;2831:45;-1:-1:-1;709:17:18;3242:38;;2882:20:36;3044:11;3242:38:18;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;27600:145:20:-;27684:56;27697:7;27706:8;27716:23;27731:7;27716:14;:23::i;:::-;27684:12;:56::i;:::-;27600:145;;:::o;830:1343:36:-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:36;1474:15;;-1:-1:-1;;1358:16:36;1531:32;;;1358:16;1354:32;1503:4;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;;26201:737:20;26452:36;26491:66;26539:7;26548:8;26491:47;:66::i;:::-;26452:105;-1:-1:-1;26563:26:20;26599:49;26452:105;26630:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;26599:49:20;26563:86;;26656:277;26710:7;26735:8;26770:17;26813:1;26835:19;26868:4;26904:22;26656:36;:277::i;55951:301::-;56072:13;56164:82;56195:48;56225:7;56234:8;56195:29;:48::i;:::-;4711:21:19;;4605:137;46271:3996:20;46689:14;46668:7;:35;;;46664:161;;46759:14;46775:7;46808;46791:25;;;;;;9738:19:208;;9782:2;9773:12;;9609:182;46791:25:20;;;;-1:-1:-1;;46791:25:20;;;;;;;;;;46720:98;;;;;;;;;;:::i;46664:161::-;46831:27;46861:49;:22;46892:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;46861:49:20;46831:79;;46916:26;46981:4;:11;46967;46945:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46916:76;;47264:18;47241:19;:41;;:98;;;;-1:-1:-1;47320:19:20;47286:30;47305:11;47286:16;:30;:::i;:::-;:53;;;;47241:98;47237:218;;;47356:92;;;;;15405:12:208;15444:15;;;47356:92:20;;;15426:34:208;15496:15;;;15476:18;;;15469:43;15548:15;;15528:18;;;15521:43;15368:18;;47356:92:20;15199:371:208;47237:218:20;47561:19;47542:16;:38;;;47538:140;;;47597:74;;;;;;;;15748:25:208;;;15821:12;15809:25;;15789:18;;;15782:53;15721:18;;47597:74:20;15575:266:208;47538:140:20;47717:35;47755:72;:22;47789:17;47808:18;47755:33;:72::i;:::-;47717:110;;47974:22;47999:24;48015:7;47999:15;:24::i;:::-;47974:49;;48034:9;48029:486;48049:5;:12;48045:1;:16;48029:486;;;48076:9;48098:5;48104:1;48098:8;;;;;;;;:::i;:::-;;;;;;;48076:31;;48119:42;836:6:32;48119:4:20;:14;;;;;:42;;;;:::i;:::-;48115:394;;;3536:35:4;;;;-1:-1:-1;;;;;48173:55:20;;48250:7;48279:8;48318:17;48365:16;48406:11;48445:22;48485:4;48173:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48115:394;-1:-1:-1;48063:3:20;;48029:486;;;-1:-1:-1;48573:32:20;;;:13;48713:107;48731:17;48727:21;;:1;:21;;;48713:107;;;48776:33;:22;48807:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;48776:33:20;48767:42;;;;48750:3;;48713:107;;;;48942:7;48889:274;48969:8;49006:17;49047:5;49076:11;49113:21;49150:4;48889:274;;;;;;;;;;;:::i;:::-;;;;;;;;48521:649;49255:18;49232:19;:41;49228:248;;49283:31;49317:48;49347:7;49356:8;49317:29;:48::i;:::-;695:28:19;;;-1:-1:-1;49228:248:20;49533:27;49563:61;49587:7;49596:8;49606:17;49563:23;:61::i;:::-;49533:91;;49632:92;49664:19;49693:16;49632:92;;49717:4;49632:13;:92::i;:::-;49525:206;49785:9;49780:483;49800:5;:12;49796:1;:16;49780:483;;;49827:9;49849:5;49855:1;49849:8;;;;;;;;:::i;:::-;;;;;;;49827:31;;49870:41;947:6:32;49870:4:20;:14;;;;;:41;;;;:::i;:::-;49866:391;;;3536:35:4;;;;-1:-1:-1;;;;;49923:54:20;;49999:7;50028:8;50067:17;50114:16;50155:11;50194:21;50233:4;49923:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49866:391;-1:-1:-1;49814:3:20;;49780:483;;;;46514:3753;;;;46271:3996;;;;;;;:::o;54754:274::-;54898:7;55003;55012:8;54986:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54976:46;;;;;;54955:17;54948:25;;54928:45;;;44450:34;54928:45;:94;54920:103;;54913:110;;54754:274;;;;;:::o;5042:669:19:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;1358:16:36;5546:26:19;;;1358:16:36;1354:32;5518:4:19;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;6401:652:20:-;6468:11;6704:64;;;6700:111;;-1:-1:-1;1339:66:29;;6401:652:20;-1:-1:-1;6401:652:20:o;6700:111::-;6855:185;6901:85;1210:66:29;6977:7:20;6901:40;:85::i;:::-;7006:2;7028:1;6855:17;:185::i;28344:1778::-;28532:23;28511:7;:44;;;28507:160;;28628:7;28609:37;28637:8;28609:37;;;;;;:::i;:::-;;;;;;;;28344:1778;;;:::o;28507:160::-;28808:22;28833:24;28849:7;28833:15;:24::i;:::-;28808:49;;28868:9;28863:235;28883:5;:12;28879:1;:16;28863:235;;;28910:9;28932:5;28938:1;28932:8;;;;;;;;:::i;:::-;;;;;;;28910:31;;28953:36;1049:6:32;28953:4:20;:14;;;;;:36;;;;:::i;:::-;28949:143;;;29001:82;;;;;3536:35:4;;;;;29001:50:20;;:82;;29052:7;;29061:8;;29071:11;;29001:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28949:143;-1:-1:-1;28897:3:20;;28863:235;;;;29165:7;29146:37;29174:8;29146:37;;;;;;:::i;:::-;;;;;;;;29216:26;29245:59;29286:7;29295:8;29245:40;:59::i;:::-;29216:88;;29310:113;29342:18;29370:1;29389:30;:11;:28;:30::i;:::-;29379:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29379:41:20;;29310:13;:113::i;:::-;29642:1;29609:30;:11;:28;:30::i;:::-;:34;29605:236;;;29653:33;29689:66;29737:7;29746:8;29689:47;:66::i;:::-;29653:102;;29763:71;29794:25;29829:2;29763:12;:71::i;:::-;29645:196;29605:236;29890:9;29885:233;29905:5;:12;29901:1;:16;29885:233;;;29932:9;29954:5;29960:1;29954:8;;;;;;;;:::i;:::-;;;;;;;29932:31;;29975:35;1149:6:32;29975:4:20;:14;;;;;:35;;;;:::i;:::-;29971:141;;;30022:81;;;;;3536:35:4;;;;;30022:49:20;;:81;;30072:7;;30081:8;;30091:11;;30022:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29971:141;-1:-1:-1;29919:3:20;;29885:233;;55383:230;55504:7;55588;55597:8;55571:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55571:35:20;;;;;;;;;55561:46;;55571:35;55561:46;;;;44541:40;55534:73;;55383:230;-1:-1:-1;;;55383:230:20:o;7395:1488:15:-;7521:13;1070:16;7546:25;;7542:97;;;7588:44;;;;;;;;17952:25:208;;;17925:18;;7588:44:15;17806:177:208;7542:97:15;7701:13;6382:59;;;6999:16;;;988;6999;900;6988:27;6948:68;;;6926:92;;7964:38;;;7960:192;;8047:19;8029:15;:37;8014:52;;;;7960:192;;;8128:15;8106:19;:37;8091:52;;;;7960:192;-1:-1:-1;8468:16:15;900;988;8335;;;;8324:27;8460:35;;;8774:5;8613:26;8594:45;;;;8593:61;;;8755:24;;;;8784:34;;;;;8754:65;;-1:-1:-1;7395:1488:15;;;;;:::o;3655:342:28:-;3771:16;;;3785:1;3771:16;;;;;;;;;3712:22;;3742:26;;3771:16;;;;;;;;;;;;-1:-1:-1;3771:16:28;3742:45;;3826:7;3793:9;3803:1;3793:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3841:18;3862:49;968:66;3898:9;3841:18;3862:25;:49::i;:::-;3841:70;;3925:66;:44;3946:5;3953:1;3956:5;:12;3925:20;:44::i;:::-;:64;:66::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:19:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::14;884:15;;758:151;1098:24:19;1055:5;:68::i;6076:2380::-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:19;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:19;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:19;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:19;;;;:::o;53261:282:20:-;53506:30;;;;;;18176:19:208;;;18211:12;;;18204:28;;;53349:7:20;;18248:12:208;;53506:30:20;17988:278:208;4952:171:3;5026:7;579:1:30;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;5048:70:3;;;;;4952:171;-1:-1:-1;4952:171:3:o;5731:173::-;5805:7;579:1:30;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1684:38;;;;:::i;:::-;5841:11:3;5820:79;5833:65;;5820:79;;5731:173;-1:-1:-1;;5731:173:3:o;4032:370:19:-;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;;40103:220:34;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:19:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:19;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:19;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:19;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:19;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:19;;;;:::o;14:332:208:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:184;-1:-1:-1;;;592:1:208;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:334;803:2;797:9;859:2;849:13;;-1:-1:-1;;845:86:208;833:99;;962:18;947:34;;983:22;;;944:62;941:88;;;1009:18;;:::i;:::-;1045:2;1038:22;732:334;;-1:-1:-1;732:334:208:o;1071:712::-;1125:5;1178:3;1171:4;1163:6;1159:17;1155:27;1145:55;;1196:1;1193;1186:12;1145:55;1232:6;1219:20;1258:4;1281:18;1277:2;1274:26;1271:52;;;1303:18;;:::i;:::-;1349:2;1346:1;1342:10;1372:28;1396:2;1392;1388:11;1372:28;:::i;:::-;1434:15;;;1504;;;1500:24;;;1465:12;;;;1536:15;;;1533:35;;;1564:1;1561;1554:12;1533:35;1600:2;1592:6;1588:15;1577:26;;1612:142;1628:6;1623:3;1620:15;1612:142;;;1694:17;;1682:30;;1645:12;;;;1732;;;;1612:142;;;1772:5;1071:712;-1:-1:-1;;;;;;;1071:712:208:o;1788:165::-;1855:20;;1915:12;1904:24;;1894:35;;1884:63;;1943:1;1940;1933:12;1958:245;2006:4;2039:18;2031:6;2028:30;2025:56;;;2061:18;;:::i;:::-;-1:-1:-1;2118:2:208;2106:15;-1:-1:-1;;2102:88:208;2192:4;2098:99;;1958:245::o;2208:462::-;2250:5;2303:3;2296:4;2288:6;2284:17;2280:27;2270:55;;2321:1;2318;2311:12;2270:55;2357:6;2344:20;2388:48;2404:31;2432:2;2404:31;:::i;:::-;2388:48;:::i;:::-;2461:2;2452:7;2445:19;2507:3;2500:4;2495:2;2487:6;2483:15;2479:26;2476:35;2473:55;;;2524:1;2521;2514:12;2473:55;2589:2;2582:4;2574:6;2570:17;2563:4;2554:7;2550:18;2537:55;2637:1;2612:16;;;2630:4;2608:27;2601:38;;;;2616:7;2208:462;-1:-1:-1;;;2208:462:208:o;2675:1073::-;2883:6;2891;2899;2907;2915;2923;2931;2984:3;2972:9;2963:7;2959:23;2955:33;2952:53;;;3001:1;2998;2991:12;2952:53;3037:9;3024:23;3014:33;;3098:2;3087:9;3083:18;3070:32;3121:18;3162:2;3154:6;3151:14;3148:34;;;3178:1;3175;3168:12;3148:34;3201:61;3254:7;3245:6;3234:9;3230:22;3201:61;:::i;:::-;3191:71;;3312:2;3301:9;3297:18;3284:32;3271:45;;3356:4;3349:5;3345:16;3338:5;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3399:5;3389:15;;3423:37;3456:2;3445:9;3441:18;3423:37;:::i;:::-;3413:47;;3479:38;3512:3;3501:9;3497:19;3479:38;:::i;:::-;3469:48;;3564:3;3553:9;3549:19;3536:33;3526:43;;3622:3;3611:9;3607:19;3594:33;3578:49;;3652:2;3642:8;3639:16;3636:36;;;3668:1;3665;3658:12;3636:36;;3691:51;3734:7;3723:8;3712:9;3708:24;3691:51;:::i;:::-;3681:61;;;2675:1073;;;;;;;;;;:::o;3753:1068::-;3996:6;4004;4012;4020;4028;4036;4089:3;4077:9;4068:7;4064:23;4060:33;4057:53;;;4106:1;4103;4096:12;4057:53;4142:9;4129:23;4119:33;;4203:2;4192:9;4188:18;4175:32;4226:18;4267:2;4259:6;4256:14;4253:34;;;4283:1;4280;4273:12;4253:34;4306:61;4359:7;4350:6;4339:9;4335:22;4306:61;:::i;:::-;4296:71;;4420:2;4409:9;4405:18;4392:32;4376:48;;4449:2;4439:8;4436:16;4433:36;;;4465:1;4462;4455:12;4433:36;4488:51;4531:7;4520:8;4509:9;4505:24;4488:51;:::i;:::-;4478:61;;4586:2;4575:9;4571:18;4558:32;4548:42;;4643:3;4632:9;4628:19;4615:33;4599:49;;4673:2;4663:8;4660:16;4657:36;;;4689:1;4686;4679:12;4657:36;;4712:51;4755:7;4744:8;4733:9;4729:24;4712:51;:::i;:::-;4702:61;;;4810:3;4799:9;4795:19;4782:33;4772:43;;3753:1068;;;;;;;;:::o;4826:546::-;4990:6;4998;5006;5059:2;5047:9;5038:7;5034:23;5030:32;5027:52;;;5075:1;5072;5065:12;5027:52;5111:9;5098:23;5088:33;;5172:2;5161:9;5157:18;5144:32;5199:18;5191:6;5188:30;5185:50;;;5231:1;5228;5221:12;5185:50;5254:61;5307:7;5298:6;5287:9;5283:22;5254:61;:::i;:::-;5244:71;;;5362:2;5351:9;5347:18;5334:32;5324:42;;4826:546;;;;;:::o;5377:835::-;5527:6;5535;5543;5551;5604:3;5592:9;5583:7;5579:23;5575:33;5572:53;;;5621:1;5618;5611:12;5572:53;5657:9;5644:23;5634:33;;5718:2;5707:9;5703:18;5690:32;5741:18;5782:2;5774:6;5771:14;5768:34;;;5798:1;5795;5788:12;5768:34;5821:61;5874:7;5865:6;5854:9;5850:22;5821:61;:::i;:::-;5811:71;;5932:2;5921:9;5917:18;5904:32;5891:45;;5976:14;5969:5;5965:26;5958:5;5955:37;5945:65;;6006:1;6003;5996:12;5945:65;6029:5;;-1:-1:-1;6087:2:208;6072:18;;6059:32;;6103:16;;;6100:36;;;6132:1;6129;6122:12;6100:36;;6155:51;6198:7;6187:8;6176:9;6172:24;6155:51;:::i;:::-;6145:61;;;5377:835;;;;;;;:::o;6217:184::-;-1:-1:-1;;;6266:1:208;6259:88;6366:4;6363:1;6356:15;6390:4;6387:1;6380:15;6406:250;6491:1;6501:113;6515:6;6512:1;6509:13;6501:113;;;6591:11;;;6585:18;6572:11;;;6565:39;6537:2;6530:10;6501:113;;;-1:-1:-1;;6648:1:208;6630:16;;6623:27;6406:250::o;6661:606::-;6898:3;6936:6;6930:13;6952:66;7011:6;7006:3;6999:4;6991:6;6987:17;6952:66;:::i;:::-;7040:16;;7065:21;;;7111:13;;7133:81;7111:13;7198:4;7187:16;;;;7168:17;;7133:81;:::i;:::-;7234:20;7256:4;7230:31;;6661:606;-1:-1:-1;;;;;6661:606:208:o;7272:439::-;7325:3;7363:5;7357:12;7390:6;7385:3;7378:19;7416:4;7445;7440:3;7436:14;7429:21;;7484:4;7477:5;7473:16;7507:1;7517:169;7531:6;7528:1;7525:13;7517:169;;;7592:13;;7580:26;;7626:12;;;;7661:15;;;;7553:1;7546:9;7517:169;;;-1:-1:-1;7702:3:208;;7272:439;-1:-1:-1;;;;;7272:439:208:o;7716:465::-;8013:6;8002:9;7995:25;8056:2;8051;8040:9;8036:18;8029:30;7976:4;8076:56;8128:2;8117:9;8113:18;8105:6;8076:56;:::i;:::-;8068:64;;8168:6;8163:2;8152:9;8148:18;8141:34;7716:465;;;;;;:::o;8186:441::-;8239:5;8292:3;8285:4;8277:6;8273:17;8269:27;8259:55;;8310:1;8307;8300:12;8259:55;8339:6;8333:13;8370:48;8386:31;8414:2;8386:31;:::i;8370:48::-;8443:2;8434:7;8427:19;8489:3;8482:4;8477:2;8469:6;8465:15;8461:26;8458:35;8455:55;;;8506:1;8503;8496:12;8455:55;8519:77;8593:2;8586:4;8577:7;8573:18;8566:4;8558:6;8554:17;8519:77;:::i;8632:653::-;8772:6;8780;8788;8841:2;8829:9;8820:7;8816:23;8812:32;8809:52;;;8857:1;8854;8847:12;8809:52;8890:9;8884:16;8919:18;8960:2;8952:6;8949:14;8946:34;;;8976:1;8973;8966:12;8946:34;8999:60;9051:7;9042:6;9031:9;9027:22;8999:60;:::i;:::-;8989:70;;9099:2;9088:9;9084:18;9078:25;9068:35;;9149:2;9138:9;9134:18;9128:25;9112:41;;9178:2;9168:8;9165:16;9162:36;;;9194:1;9191;9184:12;9162:36;;9217:62;9271:7;9260:8;9249:9;9245:24;9217:62;:::i;:::-;9207:72;;;8632:653;;;;;:::o;9290:184::-;-1:-1:-1;;;9339:1:208;9332:88;9439:4;9436:1;9429:15;9463:4;9460:1;9453:15;9479:125;9544:9;;;9565:10;;;9562:36;;;9578:18;;:::i;9796:545::-;10117:6;10106:9;10099:25;10160:3;10155:2;10144:9;10140:18;10133:31;10080:4;10181:57;10233:3;10222:9;10218:19;10210:6;10181:57;:::i;:::-;10286:4;10274:17;;;;10269:2;10254:18;;10247:45;-1:-1:-1;10323:2:208;10308:18;10301:34;10173:65;9796:545;-1:-1:-1;;9796:545:208:o;10346:184::-;10416:6;10469:2;10457:9;10448:7;10444:23;10440:32;10437:52;;;10485:1;10482;10475:12;10437:52;-1:-1:-1;10508:16:208;;10346:184;-1:-1:-1;10346:184:208:o;10535:195::-;10574:3;-1:-1:-1;;10598:5:208;10595:77;10592:103;;10675:18;;:::i;:::-;-1:-1:-1;10722:1:208;10711:13;;10535:195::o;10735:329::-;10776:3;10814:5;10808:12;10841:6;10836:3;10829:19;10857:76;10926:6;10919:4;10914:3;10910:14;10903:4;10896:5;10892:16;10857:76;:::i;:::-;10978:2;10966:15;-1:-1:-1;;10962:88:208;10953:98;;;;11053:4;10949:109;;10735:329;-1:-1:-1;;10735:329:208:o;11069:603::-;11377:6;11366:9;11359:25;11420:3;11415:2;11404:9;11400:18;11393:31;11340:4;11447:57;11499:3;11488:9;11484:19;11476:6;11447:57;:::i;:::-;11552:4;11544:6;11540:17;11535:2;11524:9;11520:18;11513:45;11606:9;11598:6;11594:22;11589:2;11578:9;11574:18;11567:50;11634:32;11659:6;11651;11634:32;:::i;11677:441::-;11939:6;11928:9;11921:25;11982:2;11977;11966:9;11962:18;11955:30;11902:4;12002:56;12054:2;12043:9;12039:18;12031:6;12002:56;:::i;:::-;11994:64;;12106:4;12098:6;12094:17;12089:2;12078:9;12074:18;12067:45;11677:441;;;;;;:::o;12123:335::-;12202:6;12255:2;12243:9;12234:7;12230:23;12226:32;12223:52;;;12271:1;12268;12261:12;12223:52;12304:9;12298:16;12337:18;12329:6;12326:30;12323:50;;;12369:1;12366;12359:12;12323:50;12392:60;12444:7;12435:6;12424:9;12420:22;12392:60;:::i;12463:359::-;12666:2;12655:9;12648:21;12629:4;12686:44;12726:2;12715:9;12711:18;12703:6;12686:44;:::i;:::-;12761:2;12746:18;;12739:34;;;;-1:-1:-1;12804:2:208;12789:18;12782:34;12678:52;12463:359;-1:-1:-1;12463:359:208:o;12827:128::-;12894:9;;;12915:11;;;12912:37;;;12929:18;;:::i;12960:363::-;13198:6;13187:9;13180:25;13241:2;13236;13225:9;13221:18;13214:30;13161:4;13261:56;13313:2;13302:9;13298:18;13290:6;13261:56;:::i;13328:639::-;13578:6;13573:3;13566:19;13548:3;13604:2;13637;13632:3;13628:12;13669:6;13663:13;13734:2;13726:6;13722:15;13755:1;13765:175;13779:6;13776:1;13773:13;13765:175;;;13842:13;;13828:28;;13878:14;;;;13915:15;;;;13801:1;13794:9;13765:175;;;-1:-1:-1;13956:5:208;;13328:639;-1:-1:-1;;;;;;;13328:639:208:o;13972:184::-;-1:-1:-1;;;14021:1:208;14014:88;14121:4;14118:1;14111:15;14145:4;14142:1;14135:15;14161:168;14234:9;;;14265;;14282:15;;;14276:22;;14262:37;14252:71;;14303:18;;:::i;14552:463::-;14798:66;14790:6;14786:79;14775:9;14768:98;14902:6;14897:2;14886:9;14882:18;14875:34;14945:2;14940;14929:9;14925:18;14918:30;14749:4;14965:44;15005:2;14994:9;14990:18;14982:6;14965:44;:::i;15020:174::-;15087:12;15119:10;;;15131;;;15115:27;;15154:11;;;15151:37;;;15168:18;;:::i;:::-;15151:37;15020:174;;;;:::o;15846:898::-;16268:6;16257:9;16250:25;16311:3;16306:2;16295:9;16291:18;16284:31;16231:4;16338:57;16390:3;16379:9;16375:19;16367:6;16338:57;:::i;:::-;16443:4;16431:17;;16426:2;16411:18;;16404:45;16468:12;16516:15;;;16511:2;16496:18;;16489:43;16569:15;;16563:3;16548:19;;16541:44;16616:3;16601:19;;16594:35;;;16666:22;;;16660:3;16645:19;;16638:51;16706:32;16670:6;16723;16706:32;:::i;:::-;16698:40;15846:898;-1:-1:-1;;;;;;;;;;15846:898:208:o;16749:786::-;17112:3;17101:9;17094:22;17075:4;17139:57;17191:3;17180:9;17176:19;17168:6;17139:57;:::i;:::-;17244:4;17236:6;17232:17;17227:2;17216:9;17212:18;17205:45;17298:14;17290:6;17286:27;17281:2;17270:9;17266:18;17259:55;17362:12;17354:6;17350:25;17345:2;17334:9;17330:18;17323:53;17413:6;17407:3;17396:9;17392:19;17385:35;17469:9;17461:6;17457:22;17451:3;17440:9;17436:19;17429:51;17497:32;17522:6;17514;17497:32;:::i;:::-;17489:40;16749:786;-1:-1:-1;;;;;;;;;16749:786:208:o;17540:261::-;17719:2;17708:9;17701:21;17682:4;17739:56;17791:2;17780:9;17776:18;17768:6;17739:56;:::i;18271:274::-;18311:1;18337;18327:189;;-1:-1:-1;;;18369:1:208;18362:88;18473:4;18470:1;18463:15;18501:4;18498:1;18491:15;18327:189;-1:-1:-1;18530:9:208;;18271:274::o","linkReferences":{}},"methodIdentifiers":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":"83b5c95b","onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"5b28cdaf","onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"63584533","onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"a8ba8721","onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":"9faeaf45","onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"57066c9c","onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"55eb5a28","onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"964f667d","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreHook_NotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"},{\"internalType\":\"PackedCounter\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],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.\"}}},\"kind\":\"dev\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record was set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"This function is a part of the ERC-165 standard.\",\"params\":{\"interfaceId\":\"The ID of the interface to check.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"StoreHook_NotImplemented()\":[{\"notice\":\"Error emitted when a function is not implemented.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs after deleting a record.\"},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs after setting a record.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Check if the interface is supported.\"}},\"notice\":\"This is a very naive and inefficient implementation for now. We can optimize this by adding support for `setIndexOfField` in Store (See https://github.com/latticexyz/mud/issues/444) Note: if a table with composite keys is used, only the first key of the tuple is indexed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueHook.sol\":\"KeysWithValueHook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea\",\"dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40\",\"dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd\",\"dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1\",\"dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71\",\"dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d\",\"dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619\",\"dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2\",\"dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xb1a9b7aace51268930fcf876ac9e2ecacbbc48eca52ce57b35666e02f616bc90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0885ac113cf1c10187eeec9ca78b6fab01e83d5d6e42cba870d89f22e33f101e\",\"dweb:/ipfs/QmXGcXjD1zt6gB7y8SGeADc5UruxkDqbGHeb8AEmpe2gCE\"]},\"node_modules/@latticexyz/store/src/StoreHook.sol\":{\"keccak256\":\"0x106db773957424e7f4b480dda82ad32ae9dde375ae1668b3c3532aea28a01d70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f6594e693b5789ad4e78e036fb04dcaa693dfe45dde7e2cdbb52d90f70b6eaf\",\"dweb:/ipfs/QmddHrxD8LjvD34hsJxSL5UTrjKpEmjUdibhAmLNNTDZGD\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8\",\"dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8\",\"dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912\",\"dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c\",\"dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x0cfee97ee4634e2a9480333cb25b6f99f999910d7d3646b45780eb5485219592\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://491f8f7ec0e2da54e44a984576acab6cf63f4de86b296855fc749997fc297aec\",\"dweb:/ipfs/QmavXGLER27V4PTzcUxMTZ7aXr3RmBMoCZvvptBHwfBFzq\"]},\"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/IWorldKernel.sol\":{\"keccak256\":\"0x30297fcb2a9030acba2958a426682c19738ba95cfaf3c2b02433ab557292e775\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed70c1070c35df817975e3d1ebb5144b4e553b8c93e7b7f9219c52f3c9c2aab\",\"dweb:/ipfs/QmPenSRjCSSMxnZxBz3NheP4EogK7DBVepNdTjjw2amu7D\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff\",\"dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x32dfff6f3d3115a72f9469e3cef4314b839bcad8c7c95a51d51a1133ceb6043e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e24410ab22fb77b68622e23aac9096b9b5afb45ad653c25d29c32c8bc2df0f\",\"dweb:/ipfs/QmajJ6jMCD2ntHvwuhnoqN7p94xA8sZsLcDnmVhc5UbNQL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xdb1a1c2e357695ae07319b3f31173b4822f8a391f2161cee29fe33e9e0312375\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96f92e6ee90a213f72b3b576e3a83fea45852b2969b65be1a7337a6be690d13c\",\"dweb:/ipfs/QmewKWazvFmhkAHGdahAKR7D1cue2hYSgUs7WY5TP8q3kC\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xf441927971dfacd3bd0a9630b7dab2d0e3357124402adea4478f46987f34d3df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f094b805d28297d812a6d287370ad792beb5a957374456c1a4c50f364ec76d58\",\"dweb:/ipfs/QmcY6gU3wH9L8BaSGXhznRiZQjMD6ojgaAPxUDkjZa8viC\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/modules/keyswithvalue/KeysWithValueHook.sol\":{\"keccak256\":\"0xe9d3141d56a4e8ba63c5a27bf1e5efba0e965f412df628b5c930f323ccbcb1fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://672cac0b87825e0be28af368f1159fcf6902671dd4e0df0b1cf76e5f291ffcf8\",\"dweb:/ipfs/QmUfyGJuRg81AqGhQvkN3i8atQuRtab29tsw7xdirf7FT9\"]},\"src/modules/keyswithvalue/constants.sol\":{\"keccak256\":\"0x2dfaa126cd1631c54ddeb12b47467095c805ed6184777f72a06eca62548a13a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f2b92b56c94d51bfaa7ad549b21190f5af654dafa361cb5040b9321b39a580\",\"dweb:/ipfs/QmQmf2p22bSQSS47yt57hHUGNDtWmMQFFRMeP56d8AmUPC\"]},\"src/modules/keyswithvalue/getTargetTableId.sol\":{\"keccak256\":\"0xa718b0a5d5c1a78aaca1ce9de782d09145906b2093c674649b662d42b28ea609\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://17b788015db24d294f48d6160997072a4a78e5a6c17adec1e41860d055a24590\",\"dweb:/ipfs/QmagZKVsq25UJeE65Ky7rcUMN4fWsj6fUvcsJM1okNVxmJ\"]},\"src/modules/keyswithvalue/tables/KeysWithValue.sol\":{\"keccak256\":\"0xbc5192cf651eeadc0b41c77d6c9d6751c81e5f935644076f23d2436b72a7452a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f033ee7b8a502b94c0cadfca78b8cd758ec076b3ff1af9215e1149bef1f551a\",\"dweb:/ipfs/QmVXadcuXhZbn2PdwQDXbdmr7qKRingBzwmtzaQHA8nYSb\"]},\"src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4\",\"dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[],"type":"error","name":"StoreHook_NotImplemented"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceStaticData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"uint40","name":"","type":"uint40"},{"internalType":"PackedCounter","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"sourceTableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"","type":"uint48"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceStaticData"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","staticData":"The static data of the record.","tableId":"The ID of the table where the record was set."}},"supportsInterface(bytes4)":{"details":"This function is a part of the ERC-165 standard.","params":{"interfaceId":"The ID of the interface to check."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs after deleting a record."},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs after setting a record."},"supportsInterface(bytes4)":{"notice":"Check if the interface is supported."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/keyswithvalue/KeysWithValueHook.sol":"KeysWithValueHook"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4","urls":["bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea","dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf","urls":["bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40","dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0","urls":["bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd","dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1","urls":["bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1","dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006","urls":["bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71","dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e","urls":["bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d","dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9","urls":["bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619","dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5","urls":["bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2","dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0xb1a9b7aace51268930fcf876ac9e2ecacbbc48eca52ce57b35666e02f616bc90","urls":["bzz-raw://0885ac113cf1c10187eeec9ca78b6fab01e83d5d6e42cba870d89f22e33f101e","dweb:/ipfs/QmXGcXjD1zt6gB7y8SGeADc5UruxkDqbGHeb8AEmpe2gCE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreHook.sol":{"keccak256":"0x106db773957424e7f4b480dda82ad32ae9dde375ae1668b3c3532aea28a01d70","urls":["bzz-raw://7f6594e693b5789ad4e78e036fb04dcaa693dfe45dde7e2cdbb52d90f70b6eaf","dweb:/ipfs/QmddHrxD8LjvD34hsJxSL5UTrjKpEmjUdibhAmLNNTDZGD"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66","urls":["bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8","dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8","urls":["bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8","dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2","urls":["bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912","dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4","urls":["bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c","dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x0cfee97ee4634e2a9480333cb25b6f99f999910d7d3646b45780eb5485219592","urls":["bzz-raw://491f8f7ec0e2da54e44a984576acab6cf63f4de86b296855fc749997fc297aec","dweb:/ipfs/QmavXGLER27V4PTzcUxMTZ7aXr3RmBMoCZvvptBHwfBFzq"],"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/IWorldKernel.sol":{"keccak256":"0x30297fcb2a9030acba2958a426682c19738ba95cfaf3c2b02433ab557292e775","urls":["bzz-raw://2ed70c1070c35df817975e3d1ebb5144b4e553b8c93e7b7f9219c52f3c9c2aab","dweb:/ipfs/QmPenSRjCSSMxnZxBz3NheP4EogK7DBVepNdTjjw2amu7D"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797","urls":["bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff","dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x32dfff6f3d3115a72f9469e3cef4314b839bcad8c7c95a51d51a1133ceb6043e","urls":["bzz-raw://52e24410ab22fb77b68622e23aac9096b9b5afb45ad653c25d29c32c8bc2df0f","dweb:/ipfs/QmajJ6jMCD2ntHvwuhnoqN7p94xA8sZsLcDnmVhc5UbNQL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xdb1a1c2e357695ae07319b3f31173b4822f8a391f2161cee29fe33e9e0312375","urls":["bzz-raw://96f92e6ee90a213f72b3b576e3a83fea45852b2969b65be1a7337a6be690d13c","dweb:/ipfs/QmewKWazvFmhkAHGdahAKR7D1cue2hYSgUs7WY5TP8q3kC"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xf441927971dfacd3bd0a9630b7dab2d0e3357124402adea4478f46987f34d3df","urls":["bzz-raw://f094b805d28297d812a6d287370ad792beb5a957374456c1a4c50f364ec76d58","dweb:/ipfs/QmcY6gU3wH9L8BaSGXhznRiZQjMD6ojgaAPxUDkjZa8viC"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/modules/keyswithvalue/KeysWithValueHook.sol":{"keccak256":"0xe9d3141d56a4e8ba63c5a27bf1e5efba0e965f412df628b5c930f323ccbcb1fe","urls":["bzz-raw://672cac0b87825e0be28af368f1159fcf6902671dd4e0df0b1cf76e5f291ffcf8","dweb:/ipfs/QmUfyGJuRg81AqGhQvkN3i8atQuRtab29tsw7xdirf7FT9"],"license":"MIT"},"src/modules/keyswithvalue/constants.sol":{"keccak256":"0x2dfaa126cd1631c54ddeb12b47467095c805ed6184777f72a06eca62548a13a0","urls":["bzz-raw://11f2b92b56c94d51bfaa7ad549b21190f5af654dafa361cb5040b9321b39a580","dweb:/ipfs/QmQmf2p22bSQSS47yt57hHUGNDtWmMQFFRMeP56d8AmUPC"],"license":"MIT"},"src/modules/keyswithvalue/getTargetTableId.sol":{"keccak256":"0xa718b0a5d5c1a78aaca1ce9de782d09145906b2093c674649b662d42b28ea609","urls":["bzz-raw://17b788015db24d294f48d6160997072a4a78e5a6c17adec1e41860d055a24590","dweb:/ipfs/QmagZKVsq25UJeE65Ky7rcUMN4fWsj6fUvcsJM1okNVxmJ"],"license":"MIT"},"src/modules/keyswithvalue/tables/KeysWithValue.sol":{"keccak256":"0xbc5192cf651eeadc0b41c77d6c9d6751c81e5f935644076f23d2436b72a7452a","urls":["bzz-raw://7f033ee7b8a502b94c0cadfca78b8cd758ec076b3ff1af9215e1149bef1f551a","dweb:/ipfs/QmVXadcuXhZbn2PdwQDXbdmr7qKRingBzwmtzaQHA8nYSb"],"license":"MIT"},"src/modules/utils/ArrayLib.sol":{"keccak256":"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b","urls":["bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4","dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw"],"license":"MIT"}},"version":1},"id":167}