@latticexyz/world 2.0.0-alpha.1.21 → 2.0.0-alpha.1.22

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 (133) hide show
  1. package/abi/AccessControl.sol/AccessControl.json +241 -241
  2. package/abi/AccessManagementSystem.sol/AccessManagementSystem.json +157 -157
  3. package/abi/AddressArray.sol/AddressArray.json +1124 -1124
  4. package/abi/ArrayLib.sol/ArrayLib.json +139 -139
  5. package/abi/Bool.sol/Bool.json +704 -704
  6. package/abi/Bytes.sol/Bytes.json +6 -6
  7. package/abi/Call.sol/Call.json +112 -112
  8. package/abi/Callbacks.sol/Callbacks.json +1100 -1100
  9. package/abi/CoreModule.sol/CoreModule.json +542 -542
  10. package/abi/CoreSystem.sol/CoreSystem.json +92 -92
  11. package/abi/DecodeSlice.sol/DecodeSlice.json +3891 -3891
  12. package/abi/EncodeArray.sol/EncodeArray.json +3344 -3344
  13. package/abi/FunctionSelectors.sol/FunctionSelectors.json +1678 -1678
  14. package/abi/Hooks.sol/Hooks.json +1100 -1100
  15. package/abi/IAccessManagementSystem.sol/IAccessManagementSystem.json +32 -32
  16. package/abi/IBaseWorld.sol/IBaseWorld.json +224 -99
  17. package/abi/ICoreSystem.sol/ICoreSystem.json +6 -6
  18. package/abi/IModule.sol/IModule.json +28 -28
  19. package/abi/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +40 -40
  20. package/abi/IStore.sol/IStore.json +551 -349
  21. package/abi/IStore.sol/IStoreData.json +551 -349
  22. package/abi/IStore.sol/IStoreHook.json +495 -349
  23. package/abi/IStore.sol/IStoreRead.json +495 -349
  24. package/abi/IStore.sol/IStoreRegistration.json +495 -349
  25. package/abi/IStore.sol/IStoreWrite.json +551 -349
  26. package/abi/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.json +80 -80
  27. package/abi/ISystemHook.sol/ISystemHook.json +19 -19
  28. package/abi/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +13 -13
  29. package/abi/IWorldKernel.sol/IWorldCall.json +455 -276
  30. package/abi/IWorldKernel.sol/IWorldData.json +524 -276
  31. package/abi/IWorldKernel.sol/IWorldKernel.json +524 -276
  32. package/abi/IWorldKernel.sol/IWorldModuleInstallation.json +455 -276
  33. package/abi/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +198 -198
  34. package/abi/InstalledModules.sol/InstalledModules.json +1351 -1351
  35. package/abi/KeysWithValue.sol/KeysWithValue.json +1124 -1124
  36. package/abi/KeysWithValueHook.sol/KeysWithValueHook.json +416 -416
  37. package/abi/KeysWithValueModule.sol/KeysWithValueModule.json +293 -293
  38. package/abi/Memory.sol/Memory.json +131 -131
  39. package/abi/Mixed.sol/Mixed.json +2781 -2781
  40. package/abi/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +138 -138
  41. package/abi/NamespaceOwner.sol/NamespaceOwner.json +782 -782
  42. package/abi/PackedCounter.sol/PackedCounterLib.json +665 -665
  43. package/abi/ResourceAccess.sol/ResourceAccess.json +926 -926
  44. package/abi/ResourceSelector.sol/ResourceSelector.json +253 -253
  45. package/abi/ResourceType.sol/ResourceType.json +831 -831
  46. package/abi/Schema.sol/SchemaLib.json +1469 -1469
  47. package/abi/SchemaType.sol/SchemaType.json +315 -315
  48. package/abi/Slice.sol/SliceInstance.json +429 -429
  49. package/abi/Slice.sol/SliceLib.json +429 -429
  50. package/abi/Storage.sol/Storage.json +1024 -1061
  51. package/abi/StoreCore.sol/StoreCore.json +10434 -7652
  52. package/abi/StoreCore.sol/StoreCoreExtended.json +10434 -7652
  53. package/abi/StoreCore.sol/StoreCoreInternal.json +10434 -7652
  54. package/abi/StoreMetadata.sol/StoreMetadata.json +2116 -2116
  55. package/abi/StoreRead.sol/StoreRead.json +247 -247
  56. package/abi/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +339 -339
  57. package/abi/StoreSwitch.sol/StoreSwitch.json +1814 -1359
  58. package/abi/System.sol/System.json +31 -31
  59. package/abi/SystemRegistry.sol/SystemRegistry.json +794 -794
  60. package/abi/Systems.sol/Systems.json +1412 -1412
  61. package/abi/TableId.sol/TableId.json +27 -27
  62. package/abi/Tables.sol/Tables.json +92 -92
  63. package/abi/TightCoder.sol/TightCoder.json +275 -275
  64. package/abi/Types.sol/Types.json +8 -8
  65. package/abi/UniqueEntity.sol/UniqueEntity.json +683 -683
  66. package/abi/UniqueEntityModule.sol/UniqueEntityModule.json +232 -232
  67. package/abi/UniqueEntitySystem.sol/UniqueEntitySystem.json +114 -114
  68. package/abi/Utils.sol/Utils.json +67 -67
  69. package/abi/Vector2.sol/Vector2.json +1473 -1473
  70. package/abi/World.sol/World.json +2426 -1491
  71. package/abi/WorldContext.sol/WorldContext.json +65 -65
  72. package/abi/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1140 -1140
  73. package/abi/console.sol/console.json +11417 -11417
  74. package/abi/constants.sol/constants.json +34 -34
  75. package/abi/getKeysWithValue.sol/getKeysWithValue.json +129 -129
  76. package/abi/getTargetTableSelector.sol/getTargetTableSelector.json +75 -75
  77. package/abi/getUniqueEntity.sol/getUniqueEntity.json +88 -88
  78. package/abi/interfaces/IErrors.sol/IErrors.json +57 -57
  79. package/abi/src/Bytes.sol/Bytes.json +1225 -1225
  80. package/abi/src/IStore.sol/IStore.json +727 -525
  81. package/abi/src/IStore.sol/IStoreData.json +727 -525
  82. package/abi/src/IStore.sol/IStoreHook.json +671 -525
  83. package/abi/src/IStore.sol/IStoreRead.json +671 -525
  84. package/abi/src/IStore.sol/IStoreRegistration.json +671 -525
  85. package/abi/src/IStore.sol/IStoreWrite.json +727 -525
  86. package/abi/src/Memory.sol/Memory.json +131 -131
  87. package/abi/src/PackedCounter.sol/PackedCounterLib.json +683 -683
  88. package/abi/src/Schema.sol/SchemaLib.json +1493 -1493
  89. package/abi/src/Slice.sol/SliceInstance.json +429 -429
  90. package/abi/src/Slice.sol/SliceLib.json +429 -429
  91. package/abi/src/StoreCore.sol/StoreCore.json +12500 -9718
  92. package/abi/src/StoreCore.sol/StoreCoreExtended.json +12500 -9718
  93. package/abi/src/StoreCore.sol/StoreCoreInternal.json +12500 -9718
  94. package/abi/src/StoreSwitch.sol/StoreSwitch.json +1822 -1367
  95. package/abi/tightcoder/EncodeArray.sol/EncodeArray.json +3344 -3344
  96. package/package.json +6 -6
  97. package/src/World.sol +32 -0
  98. package/src/interfaces/IWorldKernel.sol +12 -0
  99. package/types/ethers-contracts/IBaseWorld.ts +116 -0
  100. package/types/ethers-contracts/IStore.sol/IStore.ts +55 -0
  101. package/types/ethers-contracts/IStore.sol/IStoreData.ts +55 -0
  102. package/types/ethers-contracts/IStore.sol/IStoreWrite.ts +55 -0
  103. package/types/ethers-contracts/IWorldKernel.sol/IWorldData.ts +61 -0
  104. package/types/ethers-contracts/IWorldKernel.sol/IWorldKernel.ts +61 -0
  105. package/types/ethers-contracts/World.ts +116 -0
  106. package/types/ethers-contracts/factories/AccessManagementSystem__factory.ts +1 -1
  107. package/types/ethers-contracts/factories/CoreModule__factory.ts +1 -1
  108. package/types/ethers-contracts/factories/CoreSystem__factory.ts +1 -1
  109. package/types/ethers-contracts/factories/IBaseWorld__factory.ts +61 -0
  110. package/types/ethers-contracts/factories/IStore.sol/IStoreData__factory.ts +28 -0
  111. package/types/ethers-contracts/factories/IStore.sol/IStoreWrite__factory.ts +28 -0
  112. package/types/ethers-contracts/factories/IStore.sol/IStore__factory.ts +28 -0
  113. package/types/ethers-contracts/factories/IWorldKernel.sol/IWorldData__factory.ts +33 -0
  114. package/types/ethers-contracts/factories/IWorldKernel.sol/IWorldKernel__factory.ts +33 -0
  115. package/types/ethers-contracts/factories/KeysWithValueHook__factory.ts +1 -1
  116. package/types/ethers-contracts/factories/KeysWithValueModule__factory.ts +1 -1
  117. package/types/ethers-contracts/factories/ModuleInstallationSystem__factory.ts +1 -1
  118. package/types/ethers-contracts/factories/StoreCore__factory.ts +1 -1
  119. package/types/ethers-contracts/factories/StoreRead__factory.ts +1 -1
  120. package/types/ethers-contracts/factories/StoreRegistrationSystem__factory.ts +1 -1
  121. package/types/ethers-contracts/factories/StoreSwitch__factory.ts +1 -1
  122. package/types/ethers-contracts/factories/UniqueEntityModule__factory.ts +1 -1
  123. package/types/ethers-contracts/factories/UniqueEntitySystem__factory.ts +1 -1
  124. package/types/ethers-contracts/factories/WorldRegistrationSystem__factory.ts +1 -1
  125. package/types/ethers-contracts/factories/World__factory.ts +62 -1
  126. package/types/ethers-contracts/factories/src/IStore.sol/IStoreData__factory.ts +28 -0
  127. package/types/ethers-contracts/factories/src/IStore.sol/IStoreWrite__factory.ts +28 -0
  128. package/types/ethers-contracts/factories/src/IStore.sol/IStore__factory.ts +28 -0
  129. package/types/ethers-contracts/factories/src/StoreCore__factory.ts +1 -1
  130. package/types/ethers-contracts/factories/src/StoreSwitch__factory.ts +1 -1
  131. package/types/ethers-contracts/src/IStore.sol/IStore.ts +55 -0
  132. package/types/ethers-contracts/src/IStore.sol/IStoreData.ts +55 -0
  133. package/types/ethers-contracts/src/IStore.sol/IStoreWrite.ts +55 -0
@@ -97,16 +97,16 @@
97
97
  }
98
98
  ],
99
99
  "bytecode": {
100
- "object": "0x60a06040526040516100109061004b565b604051809103906000f08015801561002c573d6000803e3d6000fd5b506001600160a01b031660805234801561004557600080fd5b50610059565b61214e8062001ef083390190565b608051611e746200007c600039600081816102e701526103470152611e746000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806313861fb51461003b57806317d7de7c14610050575b600080fd5b61004e610049366004611910565b610083565b005b604080517f696e646578000000000000000000000000000000000000000000000000000000815290519081900360200190f35b6000818060200190518101906100999190611990565b905060006100c77f6b6579737776616c00000000000000000000000000000000000000000000000083610372565b90506100d16103d2565b73ffffffffffffffffffffffffffffffffffffffff166331b99d89826100f78460801b90565b6100ff6103e1565b610107610459565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1681527fffffffffffffffffffffffffffffffff000000000000000000000000000000009485166004820152939092166024840152604483015260648201526084016020604051808303816000875af1158015610191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b59190611990565b506000806101c1610493565b915091506101cd6103d2565b73ffffffffffffffffffffffffffffffffffffffff1663096fcaa9846101f38660801b90565b85856040518563ffffffff1660e01b81526004016102149493929190611a01565b600060405180830381600087803b15801561022e57600080fd5b505af1158015610242573d6000803e3d6000fd5b5050505061024e6103d2565b73ffffffffffffffffffffffffffffffffffffffff1663f227e653846102748660801b90565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681527fffffffffffffffffffffffffffffffff0000000000000000000000000000000092831660048201529116602482015273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166044820152606401600060405180830381600087803b15801561032957600080fd5b505af115801561033d573d6000803e3d6000fd5b5050505061036b847f000000000000000000000000000000000000000000000000000000000000000061055b565b5050505050565b60008061037f8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006103dc610600565b905090565b6040805160018082528183019092526000918291906020808301908036833701905050905060c18160008151811061041b5761041b611aa8565b602002602001019060c581111561043457610434611abe565b908160c581111561044757610447611abe565b90525061045381610618565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061041b5761041b611aa8565b6040805160018082528183019092526060918291600091816020015b60608152602001906001900390816104af5790505090506040518060400160405280600d81526020017f6b6579735769746856616c7565000000000000000000000000000000000000008152508160008151811061050f5761050f611aa8565b6020026020010181905250806040518060400160405280600d81526020017f4b6579735769746856616c7565000000000000000000000000000000000000008152509092509250509091565b6105636108ad565b1561057657610572828261092b565b5050565b6040517f6e81fd710000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff821660248201523390636e81fd7190604401600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b505050505050565b600061060a6108ad565b61061357503390565b503090565b6000601c825111156106645781516040517f5318beb900000000000000000000000000000000000000000000000000000000815260040161065b91815260200190565b60405180910390fd5b60008060008060005b86518110156107905760006106ab88838151811061068d5761068d611aa8565b602002602001015160c58111156106a6576106a6611abe565b610935565b905061ffff8116156107015782156106ef576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836106f981611aea565b945050610706565b600192505b6107108186611b09565b945061078586610721846004611b2f565b8a858151811061073357610733611aa8565b602002602001015160c581111561074c5761074c611abe565b60f81b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b95505060010161066d565b5060008287516107a09190611b47565b9050600e8160ff1611156107e5576040517f5318beb900000000000000000000000000000000000000000000000000000000815260ff8216600482015260240161065b565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff851660f085901b1794507fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167dff000000000000000000000000000000000000000000000000000000000060e885901b161794507fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167cff0000000000000000000000000000000000000000000000000000000060e083901b16175b979650505050505050565b6000303b8082036108c057600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561090657600080fd5b505afa925050508015610917575060015b61092357600091505090565b600191505090565b61057282826109ed565b6000808260c581111561094a5761094a611abe565b60ff169050602081101561096a57610963816001611b2f565b9392505050565b604081101561098a576020610980826001611b2f565b6109639190611b6a565b60608110156109a0576040610980826001611b2f565b60608360c58111156109b4576109b4611abe565b036109c25750600192915050565b60618360c58111156109d6576109d6611abe565b036109e45750601492915050565b50600092915050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2357610a23611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b7300000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052610ae790610a9c90611b81565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660208201528390600090603401604051602081830303815290604052610aec565b505050565b610af46108ad565b15610b0a57610b0584848484610b85565b610b7f565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a600090610b4c908790879087908790600401611be3565b600060405180830381600087803b158015610b6657600080fd5b505af1158015610b7a573d6000803e3d6000fd5b505050505b50505050565b6000610b9085610dbd565b905060ff60e882901c81169084161015610bd6576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610be486868685610e12565b83604051602001610bf6929190611c17565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610c3c9493929190611be3565b60405180910390a16000610c4f87610e6b565b905060005b8151811015610d00576000828281518110610c7157610c71611aa8565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610cba9493929190611be3565b600060405180830381600087803b158015610cd457600080fd5b505af1158015610ce8573d6000803e3d6000fd5b50505050508080610cf890611c3d565b915050610c54565b50610d0e8787858888610f40565b60005b8151811015610b7a576000828281518110610d2e57610d2e611aa8565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610d779493929190611be3565b600060405180830381600087803b158015610d9157600080fd5b505af1158015610da5573d6000803e3d6000fd5b50505050508080610db590611c3d565b915050610d11565b6000610dc882610fb9565b905080610e0d5781610dd98361107e565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161065b929190611c57565b919050565b60606000610e2760ff60e885901c1685611b47565b90506000610e368787846110a9565b90506000610e518360ff16610e4b8a8a611102565b9061110f565b9050610e5d8282611141565b93505050505b949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610ea557610ea5611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b7300000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090610f2990610f2190611b81565b83600061114f565b9050610e63610f3b82600084516111f5565b611285565b6000610f5360ff60e886901c1684611b47565b90506000610f618787611296565b90506000610f6d825490565b90506000610f7e8260ff861661110f565b9050610f9c8460ff16865183610f949190611b2f565b8491906112ec565b8084559150610fae89898684896113c7565b505050505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610ff257610ff2611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d610000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110749061106e90611b81565b83611410565b9050610e63815490565b60608160405160200161109391815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016110e29493929190611c70565b60408051601f198184030181529190528051602090910120949350505050565b6000806110748484611296565b60008061111d836002611ca3565b611128906004611b2f565b905061113684826008021b90565b60f01c949350505050565b606061096383836000611447565b60606111596108ad565b15611170576111698484846114a7565b9050610963565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c906111b090879087908790600401611cc2565b600060405180830381865afa1580156111cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111699190810190611cee565b6000818311158015611208575083518211155b611244578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161065b93929190611d5c565b602084016112528482611b2f565b905060006112608585611b6a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061096383601460006114cb565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016112cd93929190611d81565b60408051601f1981840301815291905280516020909101209392505050565b600083816112fa8260e01c90565b9050600061130b878760ff1661110f565b905080851061132f5761131e8186611b6a565b6113289083611b2f565b9150611346565b6113398582611b6a565b6113439083611b6a565b91505b6000611353876002611ca3565b61135e906004611b2f565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006113d48686866110a9565b90506113e1602084611df7565b6113eb9082611b2f565b905060006113fa602085611e0b565b905061140782828561160e565b50505050505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016112cd93929190611e1f565b60608267ffffffffffffffff811115611462576114626118a1565b6040519080825280601f01601f19166020018201604052801561148c576020820181803683370190505b5090506020810161149f85858584611623565b509392505050565b606060006114b485610dbd565b90506114c2858585846116d8565b95945050505050565b606060006114d98560801c90565b90506fffffffffffffffffffffffffffffffff851660008461151157611500866008611ca3565b61150c90610100611b6a565b611514565b60005b9050600086838161152757611527611de1565b0490506115348784611e0b565b156115c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161065b565b602080820201604051955080860160405250808552600060208601855b83831015611600578051851c82526001929092019160209091019089016115de565b505050505050509392505050565b6000602082019050610b7f848483855161170b565b60208204840193506020828161163b5761163b611de1565b069150811561168c5760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611677575050610b7f565b611682600187611b2f565b9550509283900392015b602083106116b457835481526116a3600185611b2f565b9350601f199092019160200161168c565b8215610b7f576000600019600885021c198251865482169119161782525050505050565b606060ff60e883901c811690841610156116ff576116f8858585856117c9565b9050610e63565b6116f885858585610e12565b60208304840193506020838161172357611723611de1565b069250821561177c5760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611767575050610b7f565b611772600187611b2f565b9550509182019190035b602081106117a55781518455611793600185611b2f565b935060209190910190601f190161177c565b8015610b7f576000600019600883021c198554845182169119161785555050505050565b606060006117da8360ff8616611829565b905060006117f38260c58111156106a6576106a6611abe565b905060006118018888611410565b9050600061180f8688611855565b905061181c828483611447565b9998505050505050505050565b60006118418361183a846004611b2f565b6008021b90565b60f81c60c581111561096357610963611abe565b600080805b8360ff1681101561149f576118836118728683611829565b60c58111156106a6576106a6611abe565b61188d9083611b2f565b91508061189981611c3d565b91505061185a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156118e0576118e06118a1565b604052919050565b600067ffffffffffffffff821115611902576119026118a1565b50601f01601f191660200190565b60006020828403121561192257600080fd5b813567ffffffffffffffff81111561193957600080fd5b8201601f8101841361194a57600080fd5b803561195d611958826118e8565b6118b7565b81815285602083850101111561197257600080fd5b81602084016020830137600091810160200191909152949350505050565b6000602082840312156119a257600080fd5b5051919050565b60005b838110156119c45781810151838201526020016119ac565b83811115610b7f5750506000910152565b600081518084526119ed8160208601602086016119a9565b601f01601f19169290920160200192915050565b60007fffffffffffffffffffffffffffffffff00000000000000000000000000000000808716835260208187168185015260806040850152611a4660808501876119d5565b915083820360608501528185518084528284019150828160051b85010183880160005b83811015611a9757601f19878403018552611a858383516119d5565b94860194925090850190600101611a69565b50909b9a5050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103611b0057611b00611ad4565b60010192915050565b600061ffff808316818516808303821115611b2657611b26611ad4565b01949350505050565b60008219821115611b4257611b42611ad4565b500190565b600060ff821660ff841680821015611b6157611b61611ad4565b90039392505050565b600082821015611b7c57611b7c611ad4565b500390565b80516020808301519190811015611ba2576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b83811015611bd857815187529582019590820190600101611bbc565b509495945050505050565b848152608060208201526000611bfc6080830186611ba8565b60ff8516604084015282810360608401526108a281856119d5565b60008351611c298184602088016119a9565b835190830190611b268183602088016119a9565b60006000198203611c5057611c50611ad4565b5060010190565b828152604060208201526000610e6360408301846119d5565b848152836020820152608060408201526000611c8f6080830185611ba8565b905060ff8316606083015295945050505050565b6000816000190483118215151615611cbd57611cbd611ad4565b500290565b838152606060208201526000611cdb6060830185611ba8565b905060ff83166040830152949350505050565b600060208284031215611d0057600080fd5b815167ffffffffffffffff811115611d1757600080fd5b8201601f81018413611d2857600080fd5b8051611d36611958826118e8565b818152856020838501011115611d4b57600080fd5b6114c28260208301602086016119a9565b606081526000611d6f60608301866119d5565b60208301949094525060400152919050565b838152826020820152608060408201526000611da06080830184611ba8565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b634e487b7160e01b600052601260045260246000fd5b600082611e0657611e06611de1565b500490565b600082611e1a57611e1a611de1565b500690565b8381528260208201526060604082015260006114c26060830184611ba856fea2646970667358221220c0b4464bc446179992d3f098d7902b90b2053f4bdfaf3f1ec69b9a6c7da6dbc864736f6c634300080d0033608060405234801561001057600080fd5b5061212e806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063469b7ee2146100515780636b3d7d5f1461006657806382b6745f14610079578063b51fef6c1461008c575b600080fd5b61006461005f366004611bf1565b61009f565b005b610064610074366004611bf1565b610170565b610064610087366004611c79565b610239565b61006461009a366004611ce6565b61033e565b604051636624edbf60e11b8152600090339063cc49db7e906100c79088908890600401611d68565b600060405180830381865afa1580156100e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010c9190810190611dad565b80519060200120905060006101417f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b9050610168818660008151811061015a5761015a611e1b565b60200260200101518461045f565b505050505050565b604051636624edbf60e11b8152600090339063cc49db7e906101989088908890600401611d68565b600060405180830381865afa1580156101b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101dd9190810190611dad565b80519060200120905060006102127f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b905061016881838760008151811061022c5761022c611e1b565b6020026020010151610482565b60006102657f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b604051636624edbf60e11b8152909150600090339063cc49db7e906102909088908890600401611d68565b600060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102d59190810190611dad565b805190602001209050828051906020012081036102f3575050505050565b610318828560008151811061030a5761030a611e1b565b60200260200101518361045f565b6103378284805190602001208660008151811061022c5761022c611e1b565b5050505050565b604051636624edbf60e11b8152600090339063cc49db7e906103669086908690600401611d68565b600060405180830381865afa158015610383573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ab9190810190611dad565b80519060200120905060006103e07f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b90506103f9818460008151811061015a5761015a611e1b565b50505050565b60008061040c8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006104758361046f86856104f2565b90610566565b90506103f984838361063e565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106104b8576104b8611e1b565b6020026020010181815250506103f984826000856040516020016104de91815260200190565b604051602081830303815290604052610695565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061052c5761052c611e1b565b60200260200101818152505060006105468583600061072d565b905061055d61055882600084516107da565b610873565b95945050505050565b60606000835167ffffffffffffffff81111561058457610584611aac565b6040519080825280602002602001820160405280156105ad578160200160208202803683370190505b5090506000805b855181101561063457848682815181106105d0576105d0611e1b565b602002602001015114610622578581815181106105ef576105ef611e1b565b602002602001015183838151811061060957610609611e1b565b60209081029190910101528161061e81611e47565b9250505b8061062c81611e47565b9150506105b4565b5081529392505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061067457610674611e1b565b6020026020010181815250506103f98482600061069086610884565b610894565b61069d6108ef565b156106b3576106ae8484848461096d565b6103f9565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a6000906106f5908790879087908790600401611e8d565b600060405180830381600087803b15801561070f57600080fd5b505af1158015610723573d6000803e3d6000fd5b5050505050505050565b60606107376108ef565b1561074e57610747848484610ba5565b90506107d3565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c9061078e90879087908790600401611ec1565b600060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107479190810190611dad565b9392505050565b60008183111580156107ed575083518211155b610832578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161082993929190611eed565b60405180910390fd5b602084016108408482611f12565b9050600061084e8585611f2a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006107d38360206001610bc0565b6060816107d38160206001610d03565b61089c6108ef565b156108ad576106ae84848484610d8e565b6040517f114a7266000000000000000000000000000000000000000000000000000000008152339063114a7266906106f5908790879087908790600401611e8d565b6000303b80820361090257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561094857600080fd5b505afa925050508015610959575060015b61096557600091505090565b600191505090565b600061097885610f7e565b905060ff60e882901c811690841610156109be576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109cc86868685610fd3565b836040516020016109de929190611f41565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610a249493929190611e8d565b60405180910390a16000610a378761102c565b905060005b8151811015610ae8576000828281518110610a5957610a59611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610aa29493929190611e8d565b600060405180830381600087803b158015610abc57600080fd5b505af1158015610ad0573d6000803e3d6000fd5b50505050508080610ae090611e47565b915050610a3c565b50610af68787858888611101565b60005b8151811015610723576000828281518110610b1657610b16611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610b5f9493929190611e8d565b600060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b50505050508080610b9d90611e47565b915050610af9565b60606000610bb285610f7e565b905061055d8585858461117a565b60606000610bce8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610c0657610bf5866008611f70565b610c0190610100611f2a565b610c09565b60005b90506000868381610c1c57610c1c611f8f565b049050610c298784611fa5565b15610cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a650000006064820152608401610829565b602080820201604051955080860160405250808552600060208601855b83831015610cf5578051851c8252600192909201916020909101908901610cd3565b505050505050509392505050565b60606000838551610d149190611f70565b90508067ffffffffffffffff811115610d2f57610d2f611aac565b6040519080825280601f01601f191660200182016040528015610d59576020820181803683370190505b508051909250610d869086906fffffffffffffffffffffffffffffffff166020850160801b1786866111ad565b509392505050565b6000610d9985610f7e565b90507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4685858585604051610dd09493929190611e8d565b60405180910390a16000610de38661102c565b905060005b8151811015610e94576000828281518110610e0557610e05611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee2898989896040518563ffffffff1660e01b8152600401610e4e9493929190611e8d565b600060405180830381600087803b158015610e6857600080fd5b505af1158015610e7c573d6000803e3d6000fd5b50505050508080610e8c90611e47565b915050610de8565b5060ff60e883901c81169085161015610eb957610eb486868487876112cc565b610ec6565b610ec68686848787611377565b60005b8151811015610f75576000828281518110610ee657610ee6611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f898989896040518563ffffffff1660e01b8152600401610f2f9493929190611e8d565b600060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b50505050508080610f6d90611e47565b915050610ec9565b50505050505050565b6000610f89826113b2565b905080610fce5781610f9a83611477565b6040517fd623a70d000000000000000000000000000000000000000000000000000000008152600401610829929190611fb9565b919050565b60606000610fe860ff60e885901c1685611fd2565b90506000610ff78787846114a2565b905060006110128360ff1661100c8a8a6114fb565b90611508565b905061101e828261153a565b93505050505b949350505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061106657611066611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b73000000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110ea906110e290611ff5565b83600061072d565b90506110246110fc82600084516107da565b611548565b600061111460ff60e886901c1684611fd2565b905060006111228787611559565b9050600061112e825490565b9050600061113f8260ff8616611508565b905061115d8460ff168651836111559190611f12565b8491906115af565b808455915061116f898986848961168a565b505050505050505050565b606060ff60e883901c811690841610156111a15761119a858585856116ca565b9050611024565b61119a85858585610fd3565b835160006111bb8560801c90565b90506000836111e0576111cf856008611f70565b6111db90610100611f2a565b6111e3565b60005b905060006111f18685611f70565b90506fffffffffffffffffffffffffffffffff8716811115611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f7061636b46726f6d41727261793a20696e73756666696369656e7420616c6c6f60448201527f6361746564207061636b6564536c696365206c656e67746800000000000000006064820152608401610829565b600060208901845b868310156112bf578151851b815260019290920191602090910190880161129d565b5050505050505050505050565b60006112db8460ff851661172a565b905081516112f98260c58111156112f4576112f461201c565b611756565b14611350576113138160c58111156112f4576112f461201c565b82516040517f521b3d3300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610829565b600061135c8787611807565b9050600061136a868661183e565b905061072382828661188a565b600061138a60ff60e886901c1684611fd2565b9050611399868683855161189f565b60006113a68787846114a2565b9050610f7581846118d1565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113eb576113eb611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d6100000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061146d9061146790611ff5565b83611807565b9050611024815490565b60608160405160200161148c91815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016114db9493929190612032565b60408051601f198184030181529190528051602090910120949350505050565b60008061146d8484611559565b600080611516836002611f70565b611521906004611f12565b905061152f84826008021b90565b60f01c949350505050565b60606107d3838360006118e1565b606060006107d38360146000610bc0565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9838360405160200161159093929190612065565b60408051601f1981840301815291905280516020909101209392505050565b600083816115bd8260e01c90565b905060006115ce878760ff16611508565b90508085106115f2576115e18186611f2a565b6115eb9083611f12565b9150611609565b6115fc8582611f2a565b6116069083611f2a565b91505b6000611616876002611f70565b611621906004611f12565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006116978686866114a2565b90506116a46020846120c5565b6116ae9082611f12565b905060006116bd602085611fa5565b9050610f7582828561188a565b606060006116db8360ff861661172a565b905060006116f48260c58111156112f4576112f461201c565b905060006117028888611807565b90506000611710868861183e565b905061171d8284836118e1565b9998505050505050505050565b60006117428361173b846004611f12565b6008021b90565b60f81c60c58111156107d3576107d361201c565b6000808260c581111561176b5761176b61201c565b60ff1690506020811015611784576107d3816001611f12565b60408110156117a457602061179a826001611f12565b6107d39190611f2a565b60608110156117ba57604061179a826001611f12565b60608360c58111156117ce576117ce61201c565b036117dc5750600192915050565b60618360c58111156117f0576117f061201c565b036117fe5750601492915050565b50600092915050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611590939291906120d9565b600080805b8360ff16811015610d865761186c61185b868361172a565b60c58111156112f4576112f461201c565b6118769083611f12565b91508061188281611e47565b915050611843565b60006020820190506103f98484838551611939565b60006118ab8585611559565b905060006118b7825490565b90506118c78160ff8616856115af565b8083559050610168565b6118dd8260008361188a565b5050565b60608267ffffffffffffffff8111156118fc576118fc611aac565b6040519080825280601f01601f191660200182016040528015611926576020820181803683370190505b50905060208101610d86858585846119f7565b60208304840193506020838161195157611951611f8f565b06925082156119aa5760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116119955750506103f9565b6119a0600187611f12565b9550509182019190035b602081106119d357815184556119c1600185611f12565b935060209190910190601f19016119aa565b80156103f9576000600019600883021c198554845182169119161785555050505050565b602082048401935060208281611a0f57611a0f611f8f565b0691508115611a605760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611a4b5750506103f9565b611a56600187611f12565b9550509283900392015b60208310611a885783548152611a77600185611f12565b9350601f1990920191602001611a60565b82156103f9576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611aeb57611aeb611aac565b604052919050565b600082601f830112611b0457600080fd5b8135602067ffffffffffffffff821115611b2057611b20611aac565b8160051b611b2f828201611ac2565b9283528481018201928281019087851115611b4957600080fd5b83870192505b84831015611b6857823582529183019190830190611b4f565b979650505050505050565b600067ffffffffffffffff821115611b8d57611b8d611aac565b50601f01601f191660200190565b600082601f830112611bac57600080fd5b8135611bbf611bba82611b73565b611ac2565b818152846020838601011115611bd457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611c0757600080fd5b84359350602085013567ffffffffffffffff80821115611c2657600080fd5b611c3288838901611af3565b94506040870135915060ff82168214611c4a57600080fd5b90925060608601359080821115611c6057600080fd5b50611c6d87828801611b9b565b91505092959194509250565b600080600060608486031215611c8e57600080fd5b83359250602084013567ffffffffffffffff80821115611cad57600080fd5b611cb987838801611af3565b93506040860135915080821115611ccf57600080fd5b50611cdc86828701611b9b565b9150509250925092565b60008060408385031215611cf957600080fd5b82359150602083013567ffffffffffffffff811115611d1757600080fd5b611d2385828601611af3565b9150509250929050565b600081518084526020808501945080840160005b83811015611d5d57815187529582019590820190600101611d41565b509495945050505050565b8281526040602082015260006110246040830184611d2d565b60005b83811015611d9c578181015183820152602001611d84565b838111156103f95750506000910152565b600060208284031215611dbf57600080fd5b815167ffffffffffffffff811115611dd657600080fd5b8201601f81018413611de757600080fd5b8051611df5611bba82611b73565b818152856020838501011115611e0a57600080fd5b61055d826020830160208601611d81565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203611e5a57611e5a611e31565b5060010190565b60008151808452611e79816020860160208601611d81565b601f01601f19169290920160200192915050565b848152608060208201526000611ea66080830186611d2d565b60ff851660408401528281036060840152611b688185611e61565b838152606060208201526000611eda6060830185611d2d565b905060ff83166040830152949350505050565b606081526000611f006060830186611e61565b60208301949094525060400152919050565b60008219821115611f2557611f25611e31565b500190565b600082821015611f3c57611f3c611e31565b500390565b60008351611f53818460208801611d81565b835190830190611f67818360208801611d81565b01949350505050565b6000816000190483118215151615611f8a57611f8a611e31565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611fb457611fb4611f8f565b500690565b8281526040602082015260006110246040830184611e61565b600060ff821660ff841680821015611fec57611fec611e31565b90039392505050565b80516020808301519190811015612016576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052602160045260246000fd5b8481528360208201526080604082015260006120516080830185611d2d565b905060ff8316606083015295945050505050565b8381528260208201526080604082015260006120846080830184611d2d565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b6000826120d4576120d4611f8f565b500490565b83815282602082015260606040820152600061055d6060830184611d2d56fea264697066735822122024c991b672d789bcdb2f0907ef2fb5df57f7572af7b0b6c119e9f7047397f0d964736f6c634300080d0033",
100
+ "object": "0x60a06040526040516100109061004b565b604051809103906000f08015801561002c573d6000803e3d6000fd5b506001600160a01b031660805234801561004557600080fd5b50610059565b61214e8062001ef083390190565b608051611e746200007c600039600081816102e701526103470152611e746000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806313861fb51461003b57806317d7de7c14610050575b600080fd5b61004e610049366004611910565b610083565b005b604080517f696e646578000000000000000000000000000000000000000000000000000000815290519081900360200190f35b6000818060200190518101906100999190611990565b905060006100c77f6b6579737776616c00000000000000000000000000000000000000000000000083610372565b90506100d16103d2565b73ffffffffffffffffffffffffffffffffffffffff166331b99d89826100f78460801b90565b6100ff6103e1565b610107610459565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1681527fffffffffffffffffffffffffffffffff000000000000000000000000000000009485166004820152939092166024840152604483015260648201526084016020604051808303816000875af1158015610191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b59190611990565b506000806101c1610493565b915091506101cd6103d2565b73ffffffffffffffffffffffffffffffffffffffff1663096fcaa9846101f38660801b90565b85856040518563ffffffff1660e01b81526004016102149493929190611a01565b600060405180830381600087803b15801561022e57600080fd5b505af1158015610242573d6000803e3d6000fd5b5050505061024e6103d2565b73ffffffffffffffffffffffffffffffffffffffff1663f227e653846102748660801b90565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681527fffffffffffffffffffffffffffffffff0000000000000000000000000000000092831660048201529116602482015273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166044820152606401600060405180830381600087803b15801561032957600080fd5b505af115801561033d573d6000803e3d6000fd5b5050505061036b847f000000000000000000000000000000000000000000000000000000000000000061055b565b5050505050565b60008061037f8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006103dc610600565b905090565b6040805160018082528183019092526000918291906020808301908036833701905050905060c18160008151811061041b5761041b611aa8565b602002602001019060c581111561043457610434611abe565b908160c581111561044757610447611abe565b90525061045381610618565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061041b5761041b611aa8565b6040805160018082528183019092526060918291600091816020015b60608152602001906001900390816104af5790505090506040518060400160405280600d81526020017f6b6579735769746856616c7565000000000000000000000000000000000000008152508160008151811061050f5761050f611aa8565b6020026020010181905250806040518060400160405280600d81526020017f4b6579735769746856616c7565000000000000000000000000000000000000008152509092509250509091565b6105636108ad565b1561057657610572828261092b565b5050565b6040517f6e81fd710000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff821660248201523390636e81fd7190604401600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b505050505050565b600061060a6108ad565b61061357503390565b503090565b6000601c825111156106645781516040517f5318beb900000000000000000000000000000000000000000000000000000000815260040161065b91815260200190565b60405180910390fd5b60008060008060005b86518110156107905760006106ab88838151811061068d5761068d611aa8565b602002602001015160c58111156106a6576106a6611abe565b610935565b905061ffff8116156107015782156106ef576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836106f981611aea565b945050610706565b600192505b6107108186611b09565b945061078586610721846004611b2f565b8a858151811061073357610733611aa8565b602002602001015160c581111561074c5761074c611abe565b60f81b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b95505060010161066d565b5060008287516107a09190611b47565b9050600e8160ff1611156107e5576040517f5318beb900000000000000000000000000000000000000000000000000000000815260ff8216600482015260240161065b565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff851660f085901b1794507fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167dff000000000000000000000000000000000000000000000000000000000060e885901b161794507fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167cff0000000000000000000000000000000000000000000000000000000060e083901b16175b979650505050505050565b6000303b8082036108c057600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561090657600080fd5b505afa925050508015610917575060015b61092357600091505090565b600191505090565b61057282826109ed565b6000808260c581111561094a5761094a611abe565b60ff169050602081101561096a57610963816001611b2f565b9392505050565b604081101561098a576020610980826001611b2f565b6109639190611b6a565b60608110156109a0576040610980826001611b2f565b60608360c58111156109b4576109b4611abe565b036109c25750600192915050565b60618360c58111156109d6576109d6611abe565b036109e45750601492915050565b50600092915050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2357610a23611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b7300000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052610ae790610a9c90611b81565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660208201528390600090603401604051602081830303815290604052610aec565b505050565b610af46108ad565b15610b0a57610b0584848484610b85565b610b7f565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a600090610b4c908790879087908790600401611be3565b600060405180830381600087803b158015610b6657600080fd5b505af1158015610b7a573d6000803e3d6000fd5b505050505b50505050565b6000610b9085610dbd565b905060ff60e882901c81169084161015610bd6576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610be486868685610e12565b83604051602001610bf6929190611c17565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610c3c9493929190611be3565b60405180910390a16000610c4f87610e6b565b905060005b8151811015610d00576000828281518110610c7157610c71611aa8565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610cba9493929190611be3565b600060405180830381600087803b158015610cd457600080fd5b505af1158015610ce8573d6000803e3d6000fd5b50505050508080610cf890611c3d565b915050610c54565b50610d0e8787858888610f40565b60005b8151811015610b7a576000828281518110610d2e57610d2e611aa8565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610d779493929190611be3565b600060405180830381600087803b158015610d9157600080fd5b505af1158015610da5573d6000803e3d6000fd5b50505050508080610db590611c3d565b915050610d11565b6000610dc882610fb9565b905080610e0d5781610dd98361107e565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161065b929190611c57565b919050565b60606000610e2760ff60e885901c1685611b47565b90506000610e368787846110a9565b90506000610e518360ff16610e4b8a8a611102565b9061110f565b9050610e5d8282611141565b93505050505b949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610ea557610ea5611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b7300000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090610f2990610f2190611b81565b83600061114f565b9050610e63610f3b82600084516111f5565b611285565b6000610f5360ff60e886901c1684611b47565b90506000610f618787611296565b90506000610f6d825490565b90506000610f7e8260ff861661110f565b9050610f9c8460ff16865183610f949190611b2f565b8491906112ec565b8084559150610fae89898684896113c7565b505050505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610ff257610ff2611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d610000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110749061106e90611b81565b83611410565b9050610e63815490565b60608160405160200161109391815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016110e29493929190611c70565b60408051601f198184030181529190528051602090910120949350505050565b6000806110748484611296565b60008061111d836002611ca3565b611128906004611b2f565b905061113684826008021b90565b60f01c949350505050565b606061096383836000611447565b60606111596108ad565b15611170576111698484846114a7565b9050610963565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c906111b090879087908790600401611cc2565b600060405180830381865afa1580156111cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111699190810190611cee565b6000818311158015611208575083518211155b611244578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161065b93929190611d5c565b602084016112528482611b2f565b905060006112608585611b6a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061096383601460006114cb565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016112cd93929190611d81565b60408051601f1981840301815291905280516020909101209392505050565b600083816112fa8260e01c90565b9050600061130b878760ff1661110f565b905080851061132f5761131e8186611b6a565b6113289083611b2f565b9150611346565b6113398582611b6a565b6113439083611b6a565b91505b6000611353876002611ca3565b61135e906004611b2f565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006113d48686866110a9565b90506113e1602084611df7565b6113eb9082611b2f565b905060006113fa602085611e0b565b905061140782828561160e565b50505050505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016112cd93929190611e1f565b60608267ffffffffffffffff811115611462576114626118a1565b6040519080825280601f01601f19166020018201604052801561148c576020820181803683370190505b5090506020810161149f85858584611623565b509392505050565b606060006114b485610dbd565b90506114c2858585846116d8565b95945050505050565b606060006114d98560801c90565b90506fffffffffffffffffffffffffffffffff851660008461151157611500866008611ca3565b61150c90610100611b6a565b611514565b60005b9050600086838161152757611527611de1565b0490506115348784611e0b565b156115c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161065b565b602080820201604051955080860160405250808552600060208601855b83831015611600578051851c82526001929092019160209091019089016115de565b505050505050509392505050565b6000602082019050610b7f848483855161170b565b60208204840193506020828161163b5761163b611de1565b069150811561168c5760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611677575050610b7f565b611682600187611b2f565b9550509283900392015b602083106116b457835481526116a3600185611b2f565b9350601f199092019160200161168c565b8215610b7f576000600019600885021c198251865482169119161782525050505050565b606060ff60e883901c811690841610156116ff576116f8858585856117c9565b9050610e63565b6116f885858585610e12565b60208304840193506020838161172357611723611de1565b069250821561177c5760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611767575050610b7f565b611772600187611b2f565b9550509182019190035b602081106117a55781518455611793600185611b2f565b935060209190910190601f190161177c565b8015610b7f576000600019600883021c198554845182169119161785555050505050565b606060006117da8360ff8616611829565b905060006117f38260c58111156106a6576106a6611abe565b905060006118018888611410565b9050600061180f8688611855565b905061181c828483611447565b9998505050505050505050565b60006118418361183a846004611b2f565b6008021b90565b60f81c60c581111561096357610963611abe565b600080805b8360ff1681101561149f576118836118728683611829565b60c58111156106a6576106a6611abe565b61188d9083611b2f565b91508061189981611c3d565b91505061185a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156118e0576118e06118a1565b604052919050565b600067ffffffffffffffff821115611902576119026118a1565b50601f01601f191660200190565b60006020828403121561192257600080fd5b813567ffffffffffffffff81111561193957600080fd5b8201601f8101841361194a57600080fd5b803561195d611958826118e8565b6118b7565b81815285602083850101111561197257600080fd5b81602084016020830137600091810160200191909152949350505050565b6000602082840312156119a257600080fd5b5051919050565b60005b838110156119c45781810151838201526020016119ac565b83811115610b7f5750506000910152565b600081518084526119ed8160208601602086016119a9565b601f01601f19169290920160200192915050565b60007fffffffffffffffffffffffffffffffff00000000000000000000000000000000808716835260208187168185015260806040850152611a4660808501876119d5565b915083820360608501528185518084528284019150828160051b85010183880160005b83811015611a9757601f19878403018552611a858383516119d5565b94860194925090850190600101611a69565b50909b9a5050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103611b0057611b00611ad4565b60010192915050565b600061ffff808316818516808303821115611b2657611b26611ad4565b01949350505050565b60008219821115611b4257611b42611ad4565b500190565b600060ff821660ff841680821015611b6157611b61611ad4565b90039392505050565b600082821015611b7c57611b7c611ad4565b500390565b80516020808301519190811015611ba2576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b83811015611bd857815187529582019590820190600101611bbc565b509495945050505050565b848152608060208201526000611bfc6080830186611ba8565b60ff8516604084015282810360608401526108a281856119d5565b60008351611c298184602088016119a9565b835190830190611b268183602088016119a9565b60006000198203611c5057611c50611ad4565b5060010190565b828152604060208201526000610e6360408301846119d5565b848152836020820152608060408201526000611c8f6080830185611ba8565b905060ff8316606083015295945050505050565b6000816000190483118215151615611cbd57611cbd611ad4565b500290565b838152606060208201526000611cdb6060830185611ba8565b905060ff83166040830152949350505050565b600060208284031215611d0057600080fd5b815167ffffffffffffffff811115611d1757600080fd5b8201601f81018413611d2857600080fd5b8051611d36611958826118e8565b818152856020838501011115611d4b57600080fd5b6114c28260208301602086016119a9565b606081526000611d6f60608301866119d5565b60208301949094525060400152919050565b838152826020820152608060408201526000611da06080830184611ba8565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b634e487b7160e01b600052601260045260246000fd5b600082611e0657611e06611de1565b500490565b600082611e1a57611e1a611de1565b500690565b8381528260208201526060604082015260006114c26060830184611ba856fea2646970667358221220cf1a9149d3bce84c669f7708055412b901b6fac66769e0e3b851e708c4d59de564736f6c634300080d0033608060405234801561001057600080fd5b5061212e806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063469b7ee2146100515780636b3d7d5f1461006657806382b6745f14610079578063b51fef6c1461008c575b600080fd5b61006461005f366004611bf1565b61009f565b005b610064610074366004611bf1565b610170565b610064610087366004611c79565b610239565b61006461009a366004611ce6565b61033e565b604051636624edbf60e11b8152600090339063cc49db7e906100c79088908890600401611d68565b600060405180830381865afa1580156100e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010c9190810190611dad565b80519060200120905060006101417f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b9050610168818660008151811061015a5761015a611e1b565b60200260200101518461045f565b505050505050565b604051636624edbf60e11b8152600090339063cc49db7e906101989088908890600401611d68565b600060405180830381865afa1580156101b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101dd9190810190611dad565b80519060200120905060006102127f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b905061016881838760008151811061022c5761022c611e1b565b6020026020010151610482565b60006102657f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b604051636624edbf60e11b8152909150600090339063cc49db7e906102909088908890600401611d68565b600060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102d59190810190611dad565b805190602001209050828051906020012081036102f3575050505050565b610318828560008151811061030a5761030a611e1b565b60200260200101518361045f565b6103378284805190602001208660008151811061022c5761022c611e1b565b5050505050565b604051636624edbf60e11b8152600090339063cc49db7e906103669086908690600401611d68565b600060405180830381865afa158015610383573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ab9190810190611dad565b80519060200120905060006103e07f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b90506103f9818460008151811061015a5761015a611e1b565b50505050565b60008061040c8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006104758361046f86856104f2565b90610566565b90506103f984838361063e565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106104b8576104b8611e1b565b6020026020010181815250506103f984826000856040516020016104de91815260200190565b604051602081830303815290604052610695565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061052c5761052c611e1b565b60200260200101818152505060006105468583600061072d565b905061055d61055882600084516107da565b610873565b95945050505050565b60606000835167ffffffffffffffff81111561058457610584611aac565b6040519080825280602002602001820160405280156105ad578160200160208202803683370190505b5090506000805b855181101561063457848682815181106105d0576105d0611e1b565b602002602001015114610622578581815181106105ef576105ef611e1b565b602002602001015183838151811061060957610609611e1b565b60209081029190910101528161061e81611e47565b9250505b8061062c81611e47565b9150506105b4565b5081529392505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061067457610674611e1b565b6020026020010181815250506103f98482600061069086610884565b610894565b61069d6108ef565b156106b3576106ae8484848461096d565b6103f9565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a6000906106f5908790879087908790600401611e8d565b600060405180830381600087803b15801561070f57600080fd5b505af1158015610723573d6000803e3d6000fd5b5050505050505050565b60606107376108ef565b1561074e57610747848484610ba5565b90506107d3565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c9061078e90879087908790600401611ec1565b600060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107479190810190611dad565b9392505050565b60008183111580156107ed575083518211155b610832578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161082993929190611eed565b60405180910390fd5b602084016108408482611f12565b9050600061084e8585611f2a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006107d38360206001610bc0565b6060816107d38160206001610d03565b61089c6108ef565b156108ad576106ae84848484610d8e565b6040517f114a7266000000000000000000000000000000000000000000000000000000008152339063114a7266906106f5908790879087908790600401611e8d565b6000303b80820361090257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561094857600080fd5b505afa925050508015610959575060015b61096557600091505090565b600191505090565b600061097885610f7e565b905060ff60e882901c811690841610156109be576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109cc86868685610fd3565b836040516020016109de929190611f41565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610a249493929190611e8d565b60405180910390a16000610a378761102c565b905060005b8151811015610ae8576000828281518110610a5957610a59611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610aa29493929190611e8d565b600060405180830381600087803b158015610abc57600080fd5b505af1158015610ad0573d6000803e3d6000fd5b50505050508080610ae090611e47565b915050610a3c565b50610af68787858888611101565b60005b8151811015610723576000828281518110610b1657610b16611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610b5f9493929190611e8d565b600060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b50505050508080610b9d90611e47565b915050610af9565b60606000610bb285610f7e565b905061055d8585858461117a565b60606000610bce8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610c0657610bf5866008611f70565b610c0190610100611f2a565b610c09565b60005b90506000868381610c1c57610c1c611f8f565b049050610c298784611fa5565b15610cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a650000006064820152608401610829565b602080820201604051955080860160405250808552600060208601855b83831015610cf5578051851c8252600192909201916020909101908901610cd3565b505050505050509392505050565b60606000838551610d149190611f70565b90508067ffffffffffffffff811115610d2f57610d2f611aac565b6040519080825280601f01601f191660200182016040528015610d59576020820181803683370190505b508051909250610d869086906fffffffffffffffffffffffffffffffff166020850160801b1786866111ad565b509392505050565b6000610d9985610f7e565b90507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4685858585604051610dd09493929190611e8d565b60405180910390a16000610de38661102c565b905060005b8151811015610e94576000828281518110610e0557610e05611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee2898989896040518563ffffffff1660e01b8152600401610e4e9493929190611e8d565b600060405180830381600087803b158015610e6857600080fd5b505af1158015610e7c573d6000803e3d6000fd5b50505050508080610e8c90611e47565b915050610de8565b5060ff60e883901c81169085161015610eb957610eb486868487876112cc565b610ec6565b610ec68686848787611377565b60005b8151811015610f75576000828281518110610ee657610ee6611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f898989896040518563ffffffff1660e01b8152600401610f2f9493929190611e8d565b600060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b50505050508080610f6d90611e47565b915050610ec9565b50505050505050565b6000610f89826113b2565b905080610fce5781610f9a83611477565b6040517fd623a70d000000000000000000000000000000000000000000000000000000008152600401610829929190611fb9565b919050565b60606000610fe860ff60e885901c1685611fd2565b90506000610ff78787846114a2565b905060006110128360ff1661100c8a8a6114fb565b90611508565b905061101e828261153a565b93505050505b949350505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061106657611066611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b73000000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110ea906110e290611ff5565b83600061072d565b90506110246110fc82600084516107da565b611548565b600061111460ff60e886901c1684611fd2565b905060006111228787611559565b9050600061112e825490565b9050600061113f8260ff8616611508565b905061115d8460ff168651836111559190611f12565b8491906115af565b808455915061116f898986848961168a565b505050505050505050565b606060ff60e883901c811690841610156111a15761119a858585856116ca565b9050611024565b61119a85858585610fd3565b835160006111bb8560801c90565b90506000836111e0576111cf856008611f70565b6111db90610100611f2a565b6111e3565b60005b905060006111f18685611f70565b90506fffffffffffffffffffffffffffffffff8716811115611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f7061636b46726f6d41727261793a20696e73756666696369656e7420616c6c6f60448201527f6361746564207061636b6564536c696365206c656e67746800000000000000006064820152608401610829565b600060208901845b868310156112bf578151851b815260019290920191602090910190880161129d565b5050505050505050505050565b60006112db8460ff851661172a565b905081516112f98260c58111156112f4576112f461201c565b611756565b14611350576113138160c58111156112f4576112f461201c565b82516040517f521b3d3300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610829565b600061135c8787611807565b9050600061136a868661183e565b905061072382828661188a565b600061138a60ff60e886901c1684611fd2565b9050611399868683855161189f565b60006113a68787846114a2565b9050610f7581846118d1565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113eb576113eb611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d6100000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061146d9061146790611ff5565b83611807565b9050611024815490565b60608160405160200161148c91815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016114db9493929190612032565b60408051601f198184030181529190528051602090910120949350505050565b60008061146d8484611559565b600080611516836002611f70565b611521906004611f12565b905061152f84826008021b90565b60f01c949350505050565b60606107d3838360006118e1565b606060006107d38360146000610bc0565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9838360405160200161159093929190612065565b60408051601f1981840301815291905280516020909101209392505050565b600083816115bd8260e01c90565b905060006115ce878760ff16611508565b90508085106115f2576115e18186611f2a565b6115eb9083611f12565b9150611609565b6115fc8582611f2a565b6116069083611f2a565b91505b6000611616876002611f70565b611621906004611f12565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006116978686866114a2565b90506116a46020846120c5565b6116ae9082611f12565b905060006116bd602085611fa5565b9050610f7582828561188a565b606060006116db8360ff861661172a565b905060006116f48260c58111156112f4576112f461201c565b905060006117028888611807565b90506000611710868861183e565b905061171d8284836118e1565b9998505050505050505050565b60006117428361173b846004611f12565b6008021b90565b60f81c60c58111156107d3576107d361201c565b6000808260c581111561176b5761176b61201c565b60ff1690506020811015611784576107d3816001611f12565b60408110156117a457602061179a826001611f12565b6107d39190611f2a565b60608110156117ba57604061179a826001611f12565b60608360c58111156117ce576117ce61201c565b036117dc5750600192915050565b60618360c58111156117f0576117f061201c565b036117fe5750601492915050565b50600092915050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611590939291906120d9565b600080805b8360ff16811015610d865761186c61185b868361172a565b60c58111156112f4576112f461201c565b6118769083611f12565b91508061188281611e47565b915050611843565b60006020820190506103f98484838551611939565b60006118ab8585611559565b905060006118b7825490565b90506118c78160ff8616856115af565b8083559050610168565b6118dd8260008361188a565b5050565b60608267ffffffffffffffff8111156118fc576118fc611aac565b6040519080825280601f01601f191660200182016040528015611926576020820181803683370190505b50905060208101610d86858585846119f7565b60208304840193506020838161195157611951611f8f565b06925082156119aa5760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116119955750506103f9565b6119a0600187611f12565b9550509182019190035b602081106119d357815184556119c1600185611f12565b935060209190910190601f19016119aa565b80156103f9576000600019600883021c198554845182169119161785555050505050565b602082048401935060208281611a0f57611a0f611f8f565b0691508115611a605760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611a4b5750506103f9565b611a56600187611f12565b9550509283900392015b60208310611a885783548152611a77600185611f12565b9350601f1990920191602001611a60565b82156103f9576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611aeb57611aeb611aac565b604052919050565b600082601f830112611b0457600080fd5b8135602067ffffffffffffffff821115611b2057611b20611aac565b8160051b611b2f828201611ac2565b9283528481018201928281019087851115611b4957600080fd5b83870192505b84831015611b6857823582529183019190830190611b4f565b979650505050505050565b600067ffffffffffffffff821115611b8d57611b8d611aac565b50601f01601f191660200190565b600082601f830112611bac57600080fd5b8135611bbf611bba82611b73565b611ac2565b818152846020838601011115611bd457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611c0757600080fd5b84359350602085013567ffffffffffffffff80821115611c2657600080fd5b611c3288838901611af3565b94506040870135915060ff82168214611c4a57600080fd5b90925060608601359080821115611c6057600080fd5b50611c6d87828801611b9b565b91505092959194509250565b600080600060608486031215611c8e57600080fd5b83359250602084013567ffffffffffffffff80821115611cad57600080fd5b611cb987838801611af3565b93506040860135915080821115611ccf57600080fd5b50611cdc86828701611b9b565b9150509250925092565b60008060408385031215611cf957600080fd5b82359150602083013567ffffffffffffffff811115611d1757600080fd5b611d2385828601611af3565b9150509250929050565b600081518084526020808501945080840160005b83811015611d5d57815187529582019590820190600101611d41565b509495945050505050565b8281526040602082015260006110246040830184611d2d565b60005b83811015611d9c578181015183820152602001611d84565b838111156103f95750506000910152565b600060208284031215611dbf57600080fd5b815167ffffffffffffffff811115611dd657600080fd5b8201601f81018413611de757600080fd5b8051611df5611bba82611b73565b818152856020838501011115611e0a57600080fd5b61055d826020830160208601611d81565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203611e5a57611e5a611e31565b5060010190565b60008151808452611e79816020860160208601611d81565b601f01601f19169290920160200192915050565b848152608060208201526000611ea66080830186611d2d565b60ff851660408401528281036060840152611b688185611e61565b838152606060208201526000611eda6060830185611d2d565b905060ff83166040830152949350505050565b606081526000611f006060830186611e61565b60208301949094525060400152919050565b60008219821115611f2557611f25611e31565b500190565b600082821015611f3c57611f3c611e31565b500390565b60008351611f53818460208801611d81565b835190830190611f67818360208801611d81565b01949350505050565b6000816000190483118215151615611f8a57611f8a611e31565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611fb457611fb4611f8f565b500690565b8281526040602082015260006110246040830184611e61565b600060ff821660ff841680821015611fec57611fec611e31565b90039392505050565b80516020808301519190811015612016576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052602160045260246000fd5b8481528360208201526080604082015260006120516080830185611d2d565b905060ff8316606083015295945050505050565b8381528260208201526080604082015260006120846080830184611d2d565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b6000826120d4576120d4611f8f565b500490565b83815282602082015260606040820152600061055d6060830184611d2d56fea2646970667358221220d49e70709e9c3edaaa5bebc3a0fcfb1e0053a71143afab3d9c6e80405707c2db64736f6c634300080d0033",
101
101
  "sourceMap": "1273:1468:77:-:0;;;1551:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1516:58:77;;;1273:1468;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;",
102
102
  "linkReferences": {}
103
103
  },
104
104
  "deployedBytecode": {
105
- "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806313861fb51461003b57806317d7de7c14610050575b600080fd5b61004e610049366004611910565b610083565b005b604080517f696e646578000000000000000000000000000000000000000000000000000000815290519081900360200190f35b6000818060200190518101906100999190611990565b905060006100c77f6b6579737776616c00000000000000000000000000000000000000000000000083610372565b90506100d16103d2565b73ffffffffffffffffffffffffffffffffffffffff166331b99d89826100f78460801b90565b6100ff6103e1565b610107610459565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1681527fffffffffffffffffffffffffffffffff000000000000000000000000000000009485166004820152939092166024840152604483015260648201526084016020604051808303816000875af1158015610191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b59190611990565b506000806101c1610493565b915091506101cd6103d2565b73ffffffffffffffffffffffffffffffffffffffff1663096fcaa9846101f38660801b90565b85856040518563ffffffff1660e01b81526004016102149493929190611a01565b600060405180830381600087803b15801561022e57600080fd5b505af1158015610242573d6000803e3d6000fd5b5050505061024e6103d2565b73ffffffffffffffffffffffffffffffffffffffff1663f227e653846102748660801b90565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681527fffffffffffffffffffffffffffffffff0000000000000000000000000000000092831660048201529116602482015273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166044820152606401600060405180830381600087803b15801561032957600080fd5b505af115801561033d573d6000803e3d6000fd5b5050505061036b847f000000000000000000000000000000000000000000000000000000000000000061055b565b5050505050565b60008061037f8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006103dc610600565b905090565b6040805160018082528183019092526000918291906020808301908036833701905050905060c18160008151811061041b5761041b611aa8565b602002602001019060c581111561043457610434611abe565b908160c581111561044757610447611abe565b90525061045381610618565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061041b5761041b611aa8565b6040805160018082528183019092526060918291600091816020015b60608152602001906001900390816104af5790505090506040518060400160405280600d81526020017f6b6579735769746856616c7565000000000000000000000000000000000000008152508160008151811061050f5761050f611aa8565b6020026020010181905250806040518060400160405280600d81526020017f4b6579735769746856616c7565000000000000000000000000000000000000008152509092509250509091565b6105636108ad565b1561057657610572828261092b565b5050565b6040517f6e81fd710000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff821660248201523390636e81fd7190604401600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b505050505050565b600061060a6108ad565b61061357503390565b503090565b6000601c825111156106645781516040517f5318beb900000000000000000000000000000000000000000000000000000000815260040161065b91815260200190565b60405180910390fd5b60008060008060005b86518110156107905760006106ab88838151811061068d5761068d611aa8565b602002602001015160c58111156106a6576106a6611abe565b610935565b905061ffff8116156107015782156106ef576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836106f981611aea565b945050610706565b600192505b6107108186611b09565b945061078586610721846004611b2f565b8a858151811061073357610733611aa8565b602002602001015160c581111561074c5761074c611abe565b60f81b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b95505060010161066d565b5060008287516107a09190611b47565b9050600e8160ff1611156107e5576040517f5318beb900000000000000000000000000000000000000000000000000000000815260ff8216600482015260240161065b565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff851660f085901b1794507fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167dff000000000000000000000000000000000000000000000000000000000060e885901b161794507fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167cff0000000000000000000000000000000000000000000000000000000060e083901b16175b979650505050505050565b6000303b8082036108c057600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561090657600080fd5b505afa925050508015610917575060015b61092357600091505090565b600191505090565b61057282826109ed565b6000808260c581111561094a5761094a611abe565b60ff169050602081101561096a57610963816001611b2f565b9392505050565b604081101561098a576020610980826001611b2f565b6109639190611b6a565b60608110156109a0576040610980826001611b2f565b60608360c58111156109b4576109b4611abe565b036109c25750600192915050565b60618360c58111156109d6576109d6611abe565b036109e45750601492915050565b50600092915050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2357610a23611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b7300000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052610ae790610a9c90611b81565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660208201528390600090603401604051602081830303815290604052610aec565b505050565b610af46108ad565b15610b0a57610b0584848484610b85565b610b7f565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a600090610b4c908790879087908790600401611be3565b600060405180830381600087803b158015610b6657600080fd5b505af1158015610b7a573d6000803e3d6000fd5b505050505b50505050565b6000610b9085610dbd565b905060ff60e882901c81169084161015610bd6576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610be486868685610e12565b83604051602001610bf6929190611c17565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610c3c9493929190611be3565b60405180910390a16000610c4f87610e6b565b905060005b8151811015610d00576000828281518110610c7157610c71611aa8565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610cba9493929190611be3565b600060405180830381600087803b158015610cd457600080fd5b505af1158015610ce8573d6000803e3d6000fd5b50505050508080610cf890611c3d565b915050610c54565b50610d0e8787858888610f40565b60005b8151811015610b7a576000828281518110610d2e57610d2e611aa8565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610d779493929190611be3565b600060405180830381600087803b158015610d9157600080fd5b505af1158015610da5573d6000803e3d6000fd5b50505050508080610db590611c3d565b915050610d11565b6000610dc882610fb9565b905080610e0d5781610dd98361107e565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161065b929190611c57565b919050565b60606000610e2760ff60e885901c1685611b47565b90506000610e368787846110a9565b90506000610e518360ff16610e4b8a8a611102565b9061110f565b9050610e5d8282611141565b93505050505b949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610ea557610ea5611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b7300000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090610f2990610f2190611b81565b83600061114f565b9050610e63610f3b82600084516111f5565b611285565b6000610f5360ff60e886901c1684611b47565b90506000610f618787611296565b90506000610f6d825490565b90506000610f7e8260ff861661110f565b9050610f9c8460ff16865183610f949190611b2f565b8491906112ec565b8084559150610fae89898684896113c7565b505050505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610ff257610ff2611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d610000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110749061106e90611b81565b83611410565b9050610e63815490565b60608160405160200161109391815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016110e29493929190611c70565b60408051601f198184030181529190528051602090910120949350505050565b6000806110748484611296565b60008061111d836002611ca3565b611128906004611b2f565b905061113684826008021b90565b60f01c949350505050565b606061096383836000611447565b60606111596108ad565b15611170576111698484846114a7565b9050610963565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c906111b090879087908790600401611cc2565b600060405180830381865afa1580156111cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111699190810190611cee565b6000818311158015611208575083518211155b611244578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161065b93929190611d5c565b602084016112528482611b2f565b905060006112608585611b6a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061096383601460006114cb565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016112cd93929190611d81565b60408051601f1981840301815291905280516020909101209392505050565b600083816112fa8260e01c90565b9050600061130b878760ff1661110f565b905080851061132f5761131e8186611b6a565b6113289083611b2f565b9150611346565b6113398582611b6a565b6113439083611b6a565b91505b6000611353876002611ca3565b61135e906004611b2f565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006113d48686866110a9565b90506113e1602084611df7565b6113eb9082611b2f565b905060006113fa602085611e0b565b905061140782828561160e565b50505050505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016112cd93929190611e1f565b60608267ffffffffffffffff811115611462576114626118a1565b6040519080825280601f01601f19166020018201604052801561148c576020820181803683370190505b5090506020810161149f85858584611623565b509392505050565b606060006114b485610dbd565b90506114c2858585846116d8565b95945050505050565b606060006114d98560801c90565b90506fffffffffffffffffffffffffffffffff851660008461151157611500866008611ca3565b61150c90610100611b6a565b611514565b60005b9050600086838161152757611527611de1565b0490506115348784611e0b565b156115c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161065b565b602080820201604051955080860160405250808552600060208601855b83831015611600578051851c82526001929092019160209091019089016115de565b505050505050509392505050565b6000602082019050610b7f848483855161170b565b60208204840193506020828161163b5761163b611de1565b069150811561168c5760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611677575050610b7f565b611682600187611b2f565b9550509283900392015b602083106116b457835481526116a3600185611b2f565b9350601f199092019160200161168c565b8215610b7f576000600019600885021c198251865482169119161782525050505050565b606060ff60e883901c811690841610156116ff576116f8858585856117c9565b9050610e63565b6116f885858585610e12565b60208304840193506020838161172357611723611de1565b069250821561177c5760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611767575050610b7f565b611772600187611b2f565b9550509182019190035b602081106117a55781518455611793600185611b2f565b935060209190910190601f190161177c565b8015610b7f576000600019600883021c198554845182169119161785555050505050565b606060006117da8360ff8616611829565b905060006117f38260c58111156106a6576106a6611abe565b905060006118018888611410565b9050600061180f8688611855565b905061181c828483611447565b9998505050505050505050565b60006118418361183a846004611b2f565b6008021b90565b60f81c60c581111561096357610963611abe565b600080805b8360ff1681101561149f576118836118728683611829565b60c58111156106a6576106a6611abe565b61188d9083611b2f565b91508061189981611c3d565b91505061185a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156118e0576118e06118a1565b604052919050565b600067ffffffffffffffff821115611902576119026118a1565b50601f01601f191660200190565b60006020828403121561192257600080fd5b813567ffffffffffffffff81111561193957600080fd5b8201601f8101841361194a57600080fd5b803561195d611958826118e8565b6118b7565b81815285602083850101111561197257600080fd5b81602084016020830137600091810160200191909152949350505050565b6000602082840312156119a257600080fd5b5051919050565b60005b838110156119c45781810151838201526020016119ac565b83811115610b7f5750506000910152565b600081518084526119ed8160208601602086016119a9565b601f01601f19169290920160200192915050565b60007fffffffffffffffffffffffffffffffff00000000000000000000000000000000808716835260208187168185015260806040850152611a4660808501876119d5565b915083820360608501528185518084528284019150828160051b85010183880160005b83811015611a9757601f19878403018552611a858383516119d5565b94860194925090850190600101611a69565b50909b9a5050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103611b0057611b00611ad4565b60010192915050565b600061ffff808316818516808303821115611b2657611b26611ad4565b01949350505050565b60008219821115611b4257611b42611ad4565b500190565b600060ff821660ff841680821015611b6157611b61611ad4565b90039392505050565b600082821015611b7c57611b7c611ad4565b500390565b80516020808301519190811015611ba2576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b83811015611bd857815187529582019590820190600101611bbc565b509495945050505050565b848152608060208201526000611bfc6080830186611ba8565b60ff8516604084015282810360608401526108a281856119d5565b60008351611c298184602088016119a9565b835190830190611b268183602088016119a9565b60006000198203611c5057611c50611ad4565b5060010190565b828152604060208201526000610e6360408301846119d5565b848152836020820152608060408201526000611c8f6080830185611ba8565b905060ff8316606083015295945050505050565b6000816000190483118215151615611cbd57611cbd611ad4565b500290565b838152606060208201526000611cdb6060830185611ba8565b905060ff83166040830152949350505050565b600060208284031215611d0057600080fd5b815167ffffffffffffffff811115611d1757600080fd5b8201601f81018413611d2857600080fd5b8051611d36611958826118e8565b818152856020838501011115611d4b57600080fd5b6114c28260208301602086016119a9565b606081526000611d6f60608301866119d5565b60208301949094525060400152919050565b838152826020820152608060408201526000611da06080830184611ba8565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b634e487b7160e01b600052601260045260246000fd5b600082611e0657611e06611de1565b500490565b600082611e1a57611e1a611de1565b500690565b8381528260208201526060604082015260006114c26060830184611ba856fea2646970667358221220c0b4464bc446179992d3f098d7902b90b2053f4bdfaf3f1ec69b9a6c7da6dbc864736f6c634300080d0033",
106
- "sourceMap": "1273:1468:77:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1666:1073;;;;;;:::i;:::-;;:::i;:::-;;1579:83;;;;1641:16;1614:98:93;;1579:83:77;;;;;;1602:2:93;1579:83:77;;;1666:1073;1765:21;1800:4;1789:27;;;;;;;;;;;;:::i;:::-;1765:51;;1822:27;1852:55;1875:16;1893:13;1852:22;:55::i;:::-;1822:85;;1958:8;:6;:8::i;:::-;1947:34;;;1989:19;2031:29;:19;1308:3:47;1288:23;;1192:125;2031:29:77;2068:25;:23;:25::i;:::-;2101:28;:26;:28::i;:::-;1947:188;;;;;;;;;;2209:66:93;2302:15;;;1947:188:77;;;2284:34:93;2354:15;;;;2334:18;;;2327:43;2386:18;;;2379:34;2429:18;;;2422:34;2171:19;;1947:188:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2189:23;2214:26;2244:27;:25;:27::i;:::-;2188:83;;;;2288:8;:6;:8::i;:::-;2277:32;;;2317:19;2359:29;:19;1308:3:47;1288:23;;1192:125;2359:29:77;2396:9;2413:10;2277:152;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2496:8;:6;:8::i;:::-;2485:32;;;2518:19;2554:29;:19;1308:3:47;1288:23;;1192:125;2554:29:77;2485:114;;;;;;;;;;4503:66:93;4596:15;;;2485:114:77;;;4578:34:93;4648:15;;4628:18;;;4621:43;4712:42;2593:4:77;4700:55:93;4680:18;;;4673:83;4466:18;;2485:114:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:50;2714:13;2729:4;2684:29;:50::i;:::-;1718:1021;;;;1666:1073;:::o;676:337:87:-;769:7;782:17;802:39;827:13;1308:3:47;1288:23;;1192:125;802:39:87;944:29;916:24;;944:35;977:2;944:35;;;;916:64;1006:3;984:25;;;;916:94;;-1:-1:-1;;676:337:87;;;;:::o;641:99:52:-;682:7;704:31;:29;:31::i;:::-;697:38;;641:99;:::o;907:194:80:-;995:19;;;1012:1;995:19;;;;;;;;;951:6;;;;995:19;;;;;;;;;;;;-1:-1:-1;995:19:80;965:49;;1033:24;1020:7;1028:1;1020:10;;;;;;;;:::i;:::-;;;;;;:37;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1071:25:80;1088:7;1071:16;:25::i;:::-;1064:32;;;907:194;:::o;1105:191::-;1196:19;;;1213:1;1196:19;;;;;;;;;1152:6;;;;1196:19;;;;;;;;;;;;-1:-1:-1;1196:19:80;1166:49;;1234:18;1221:7;1229:1;1221:10;;;;;;;;:::i;1334:215::-;1448:15;;;1461:1;1448:15;;;;;;;;;1380:13;;;;1418:27;;1448:15;;;;;;;;;;;;;;;;;;;;1418:45;;1469:32;;;;;;;;;;;;;;;;;:11;1481:1;1469:14;;;;;;;;:::i;:::-;;;;;;:32;;;;1532:11;1507:37;;;;;;;;;;;;;;;;;;;;;;;1334:215;;:::o;1253:225:32:-;1331:16;:14;:16::i;:::-;1327:147;;;1357:40;1385:5;1392:4;1357:27;:40::i;:::-;1253:225;;:::o;1327:147::-;1418:49;;;;;;;;5339:25:93;;;5412:42;5400:55;;5380:18;;;5373:83;1425:10:32;;1418:36;;5312:18:93;;1418:49:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1253:225;;:::o;1125:124::-;1177:7;1199:16;:14;:16::i;:::-;:45;;-1:-1:-1;1234:10:32;;641:99:52:o;1199:45:32:-;-1:-1:-1;1226:4:32;;1125:124::o;842:1591:27:-;910:6;945:2;928:7;:14;:19;924:71;;;980:7;:14;956:39;;;;;;;;;5613:25:93;;5601:2;5586:18;;5467:177;956:39:27;;;;;;;;924:71;1001:14;1021:13;1040:18;1193:21;1225:9;1220:665;1244:7;:14;1240:1;:18;1220:665;;;1270:23;1303:32;:7;1311:1;1303:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1270:66;-1:-1:-1;1413:20:27;;;;1409:322;;1537:16;1533:67;;;1562:38;;;;;;;;;;;;;;1533:67;1610:14;;;;:::i;:::-;;;;1409:322;;;1718:4;1699:23;;1409:322;1739:26;1749:16;1739:26;;:::i;:::-;;-1:-1:-1;1782:57:27;1798:6;1806:5;:1;1810;1806:5;:::i;:::-;1826:7;1834:1;1826:10;;;;;;;;:::i;:::-;;;;;;;1820:17;;;;;;;;:::i;:::-;1813:25;;1768:1:22;1764:13;;1935:29;;;1711:18;1760:24;;;1867:9;1856:21;;1924:41;1599:420;;;;;;1782:57:27;1773:66;-1:-1:-1;;1867:3:27;;1220:665;;;;1928:19;1974:12;1956:7;:14;1950:36;;;;:::i;:::-;1928:58;;2012:2;1996:13;:18;;;1992:69;;;2023:38;;;;;6754:4:93;6742:17;;2023:38:27;;;6724:36:93;6697:18;;2023:38:27;6580:186:93;1992:69:27;2379:9:22;2368:21;;2179:14:27;;;;2436:41:22;2142:53:27;-1:-1:-1;1867:9:22;1856:21;;1935:29;;;;;;1924:41;2219:57:27;-1:-1:-1;1867:9:22;1856:21;;1935:29;;;;;;1924:41;2318:49:27;2309:58;842:1591;-1:-1:-1;;;;;;;842:1591:27:o;624:497:32:-;673:12;802:9;790:22;915:13;;;911:30;;937:4;930:11;;;624:497;:::o;911:30::-;1034:4;1019:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1015:102;;1105:5;1095:15;;687:434;624:497;:::o;1015:102::-;1069:4;1059:14;;687:434;624:497;:::o;4690:115:30:-;4766:34;4777:7;4794:4;4766:10;:34::i;3194:543:21:-;3260:7;3273:13;3295:10;3289:17;;;;;;;;:::i;:::-;3273:33;;;;3323:2;3315:5;:10;3311:229;;;3357:9;:5;3365:1;3357:9;:::i;:::-;3350:16;3194:543;-1:-1:-1;;;3194:543:21:o;3311:229::-;3389:2;3381:5;:10;3377:163;;;3448:2;3436:9;:5;3444:1;3436:9;:::i;:::-;:14;;;;:::i;3377:163::-;3473:2;3465:5;:10;3461:79;;;3533:2;3521:9;:5;3529:1;3521:9;:::i;3461:79::-;3586:15;3572:10;:29;;;;;;;;:::i;:::-;;3568:118;;-1:-1:-1;3616:1:21;;3194:543;-1:-1:-1;;3194:543:21:o;3568:118::-;3646:18;3632:10;:32;;;;;;;;:::i;:::-;;3628:58;;-1:-1:-1;3679:2:21;;3194:543;-1:-1:-1;;3194:543:21:o;3628:58::-;-1:-1:-1;3733:1:21;;3194:543;-1:-1:-1;;3194:543:21:o;3662:238:37:-;3754:16;;;3768:1;3754:16;;;;;;;;;3722:29;;3754:16;;;;;;;;;;;-1:-1:-1;3754:16:37;3722:48;;3803:3;3776:12;3789:1;3776:15;;;;;;;;:::i;:::-;;;;;;;;;;;:32;;;;741:55;;;758:19;741:55;;;7143:28:93;779:16:37;7187:12:93;;;7180:37;741:55:37;;;;;;;;;;7233:12:93;;741:55:37;;3815:80;;733:64;;;:::i;:::-;3866:28;;7780:66:93;7767:2;7763:15;;;7759:88;3866:28:37;;;7747:101:93;3849:12:37;;3863:1;;7864:12:93;;3866:28:37;;;;;;;;;;;;3815:23;:80::i;:::-;3716:184;3662:238;;:::o;2765:301:32:-;2885:16;:14;:16::i;:::-;2881:181;;;2911:57;2933:5;2940:3;2945:10;2957;2911:21;:57::i;:::-;2881:181;;;2989:66;;;;;2996:10;;2989:30;;:66;;3020:5;;3027:3;;3032:10;;3044;;2989:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2881:181;2765:301;;;;:::o;9956:1224:30:-;10075:13;10091:18;10101:7;10091:9;:18::i;:::-;10075:34;-1:-1:-1;5041:45:27;;;;;;;10120:38:30;;;;10116:101;;;10175:35;;;;;;;;;;;;;;10116:101;10342:21;10390:69;10425:7;10434:3;10439:11;10452:6;10390:34;:69::i;:::-;10467:10;10366:117;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10342:141;;10532:50;10546:7;10555:3;10560:11;10573:8;10532:50;;;;;;;;;:::i;:::-;;;;;;;;10653:22;10678:18;10688:7;10678:9;:18::i;:::-;10653:43;;10707:9;10702:158;10722:5;:12;10718:1;:16;10702:158;;;10749:15;10778:5;10784:1;10778:8;;;;;;;;:::i;:::-;;;;;;;10749:38;;10795:4;:21;;;10817:7;10826:3;10831:11;10844:8;10795:58;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10741:119;10736:3;;;;;:::i;:::-;;;;10702:158;;;;10866:84;10904:7;10913:3;10918:6;10926:11;10939:10;10866:37;:84::i;:::-;11024:9;11019:157;11039:5;:12;11035:1;:16;11019:157;;;11066:15;11095:5;11101:1;11095:8;;;;;;;;:::i;:::-;;;;;;;11066:38;;11112:4;:20;;;11133:7;11142:3;11147:11;11160:8;11112:57;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11058:118;11053:3;;;;;:::i;:::-;;;;11019:157;;2576:240;2635:13;2665:37;2694:7;2665:28;:37::i;:::-;2656:46;-1:-1:-1;5426:35:27;2708:104:30;;2777:7;2786:18;:7;:16;:18::i;:::-;2745:60;;;;;;;;;;;;:::i;2708:104::-;2576:240;;;:::o;22642:552::-;22784:12;22868:24;22895:38;5041:45:27;;;;;;22895:11:30;:38;:::i;:::-;22868:65;;22939:16;22958:57;22982:7;22991:3;22996:18;22958:23;:57::i;:::-;22939:76;;23021:18;23042:71;23094:18;23042:71;;:43;23072:7;23081:3;23042:29;:43::i;:::-;:51;;:71::i;:::-;23021:92;;23127:62;23158:8;23176:10;23127:12;:62::i;:::-;23120:69;;;;;22642:552;;;;;;;:::o;2349:326:37:-;2460:16;;;2474:1;2460:16;;;;;;;;;2398:22;;2428:29;;2460:16;;;;;;;;;;;;-1:-1:-1;2460:16:37;2428:48;;2509:3;2482:12;2495:1;2482:15;;;;;;;;:::i;:::-;;;;;;;;;;;:32;;;;741:55;;;758:19;741:55;;;7143:28:93;779:16:37;7187:12:93;;;7180:37;741:55:37;;;;;;;;;;7233:12:93;;741:55:37;;-1:-1:-1;;2542:47:37;;733:64;;;:::i;:::-;2573:12;2587:1;2542:20;:47::i;:::-;2521:68;;2603:66;:44;2624:5;2631:1;2634:5;:12;2603:20;:44::i;:::-;:64;:66::i;19438:964:30:-;19604:24;19631:38;5041:45:27;;;;;;19631:11:30;:38;:::i;:::-;19604:65;;19721:31;19755:43;19785:7;19794:3;19755:29;:43::i;:::-;19721:77;;19804:28;19854:57;19885:23;3218:21:29;;3112:137;19854:57:30;19804:108;-1:-1:-1;19952:22:30;19977:42;19804:108;19977:42;;;:22;:42::i;:::-;19952:67;;20042:81;20068:18;20042:81;;20105:10;:17;20088:14;:34;;;;:::i;:::-;20042:14;;:81;:25;:81::i;:::-;461:28:29;;;20025:98:30;-1:-1:-1;20313:84:30;20336:7;20345:3;20350:18;20370:14;20386:10;20313:22;:84::i;:::-;19598:804;;;;19438:964;;;;;:::o;16785:292::-;16882:16;;;16896:1;16882:16;;;;;;;;;16845:6;;;;16882:16;;;;;;;;;;;;-1:-1:-1;16882:16:30;16859:39;;16913:7;16904:3;16908:1;16904:6;;;;;;;;:::i;:::-;;;;;;;;;;;:16;;;;16544:56;;;16561:19;16544:56;;;7143:28:93;16582:17:30;7187:12:93;;;7180:37;16544:56:30;;;;;;;;;;7233:12:93;;16544:56:30;;-1:-1:-1;;16945:59:30;;16536:65;;;:::i;:::-;17000:3;16945:40;:59::i;:::-;16926:78;;17029:42;17060:8;3218:21:29;;3112:137;78:124:33;136:13;188:7;171:25;;;;;;10001:19:93;;10045:2;10036:12;;9872:182;171:25:33;;;;;;;;;;;;;157:40;;78:124;;;:::o;24411:220:30:-;24541:7;16469:22;24598:7;24607:3;24612:11;24581:43;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;24581:43:30;;;;;;;;;24571:54;;24581:43;24571:54;;;;;24411:220;-1:-1:-1;;;;24411:220:30:o;24991:339::-;25092:13;25158:31;25192:43;25222:7;25231:3;25192:29;:43::i;2625:221:26:-;2709:7;;2745:9;:5;2753:1;2745:9;:::i;:::-;2741:13;;:1;:13;:::i;:::-;2724:30;;2782:57;2816:13;2832:6;4195:1:22;4191:13;4187:24;;4059:181;2782:57:26;2775:65;;;2625:221;-1:-1:-1;;;;2625:221:26:o;3253:140:29:-;3330:12;3357:31;3362:14;3378:6;3386:1;3357:4;:31::i;4206:285:32:-;4302:12;4326:16;:14;:16::i;:::-;4322:165;;;4359:42;4378:5;4385:3;4390:10;4359:18;:42::i;:::-;4352:49;;;;4322:165;4429:51;;;;;4436:10;;4429:27;;:51;;4457:5;;4464:3;;4469:10;;4429:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4429:51:32;;;;;;;;;;;;:::i;1563:570:28:-;1654:5;1752:3;1743:5;:12;;:34;;;;;1766:4;:11;1759:3;:18;;1743:34;1737:85;;1805:4;1811:5;1818:3;1787:35;;;;;;;;;;;;;:::i;1737:85::-;1890:4;1880:15;;1937:17;1949:5;1880:15;1937:17;:::i;:::-;;-1:-1:-1;1960:12:28;1975:11;1981:5;1975:3;:11;:::i;:::-;642:17;2111:15;2103:3;2091:15;;;;2090:37;;;;;;-1:-1:-1;;;;;1563:570:28:o;22003:279:41:-;22067:23;22161:29;22193:34;22211:4;22217:2;22221:5;22193:17;:34::i;24716:188:30:-;24817:7;16469:22;24874:7;24883:3;24857:40;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;24857:40:30;;;;;;;;;24847:51;;24857:40;24847:51;;;;;24716:188;-1:-1:-1;;;24716:188:30:o;2931:1018:26:-;3059:13;3128;3059;3219:20;3128:13;2453:51;;;2356:154;3219:20;3197:42;;3245:27;3275:36;3283:13;3304:5;3275:36;;:7;:36::i;:::-;3245:66;;3398:19;3379:15;:38;3375:184;;3442:37;3460:19;3442:15;:37;:::i;:::-;3427:52;;;;:::i;:::-;;;3375:184;;;3515:37;3537:15;3515:19;:37;:::i;:::-;3500:52;;;;:::i;:::-;;;3375:184;3621:14;3642:9;:5;3650:1;3642:9;:::i;:::-;3638:13;;:1;:13;:::i;:::-;3621:30;-1:-1:-1;2900:9:22;2889:21;;3767:27:26;;;;2957:41:22;3711:84:26;-1:-1:-1;2219:20:22;2278:1;2274:13;;2270:24;;;2379:9;2368:21;;3862:31:26;;;;2447:29:22;;;2436:41;3801:93:26;2931:1018;-1:-1:-1;;;;;;;;2931:1018:26:o;26211:657:30:-;26397:27;26427:57;26451:7;26460:3;26465:18;26427:23;:57::i;:::-;26397:87;-1:-1:-1;26588:19:30;26605:2;26588:14;:19;:::i;:::-;26565:42;;;;:::i;:::-;;-1:-1:-1;26732:14:30;26749:19;26766:2;26749:14;:19;:::i;:::-;26732:36;;26774:89;26806:19;26835:6;26849:11;26774:13;:89::i;:::-;26391:477;;26211:657;;;;;:::o;23642:171::-;23736:7;16469:22;23793:7;23802:3;23776:30;;;;;;;;;;:::i;3498:447:29:-;3591:19;3768:6;3758:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3758:17:29;-1:-1:-1;3749:26:29;-1:-1:-1;3854:4:29;3842:17;;3870:51;3875:14;3891:6;3899;3842:17;3870:4;:51::i;:::-;3927:13;3498:447;;;;;:::o;15699:214:30:-;15798:12;15818:13;15834:18;15844:7;15834:9;:18::i;:::-;15818:34;;15865:43;15874:7;15883:3;15888:11;15901:6;15865:8;:43::i;:::-;15858:50;15699:214;-1:-1:-1;;;;;15699:214:30:o;2422:1642:43:-;2535:22;2565:21;2589;:11;2372:3:28;2350:25;;2276:104;2589:21:43;2565:45;-1:-1:-1;642:17:28;2513:38;;2616:20:43;2683:11;:39;;2707:15;:11;2721:1;2707:15;:::i;:::-;2701:21;;:3;:21;:::i;:::-;2683:39;;;2697:1;2683:39;2665:57;;2769:19;2841:11;2826:12;:26;;;;;:::i;:::-;;;-1:-1:-1;3009:26:43;3024:11;3009:12;:26;:::i;:::-;:31;3005:123;;3050:71;;;;;13916:2:93;3050:71:43;;;13898:21:93;13955:2;13935:18;;;13928:30;13994:34;13974:18;;;13967:62;14065:31;14045:18;;;14038:59;14114:19;;3050:71:43;13714:425:93;3005:123:43;3314:4;3309:2;3296:11;3292:20;3288:31;3401:4;3395:11;3386:20;;3437:13;3430:5;3426:25;3420:4;3413:39;;3502:11;3495:5;3488:26;3545:1;3585:4;3578:5;3574:16;3640:13;3522:532;3668:11;3665:1;3662:18;3522:532;;;3997:19;;3984:33;;3964:54;;3755:1;3748:9;;;;;3798:4;3781:22;;;;3867:30;;3522:532;;;3526:135;;;3182:878;;;;2422:1642;;;;;:::o;503:238:29:-;592:21;663:4;657;653:15;636:32;;679:57;685:14;701:6;709:13;724:4;:11;679:5;:57::i;4079:2169::-;4354:2;4345:6;:11;4327:29;;;;4374:2;4364:12;;;;;;:::i;:::-;;;-1:-1:-1;4469:10:29;;4465:1005;;4667:2;:11;;;4547:21;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;4695:44:29;;4915:14;4909:21;4905:1;4897:6;4893:14;4889:42;5148:4;5144:9;5128:13;5122:20;5118:36;5053:4;5041:10;5037:21;4984:182;4959:13;4941:235;;5229:13;5219:6;:23;5215:36;;5244:7;;;;5215:36;5285:19;5303:1;5285:19;;:::i;:::-;;-1:-1:-1;;5432:23:29;;;;;5392:30;4465:1005;5516:2;5506:6;:12;5499:301;;5610:21;;5588:44;;5647:19;5665:1;5616:14;5647:19;:::i;:::-;;-1:-1:-1;;;5773:12:29;;;;5761:2;5744:19;5499:301;;;5868:10;;5864:380;;5888:12;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;6176:20:29;;6091:21;;6087:32;;6198:9;;6172:36;6036:184;5993:237;;-1:-1:-1;4079:2169:29;;;;:::o;16013:389:30:-;16147:12;5041:45:27;;;;;;;16171:38:30;;;;16167:231;;;16226:68;16260:7;16269:3;16274:11;16287:6;16226:33;:68::i;:::-;16219:75;;;;16167:231;16322:69;16357:7;16366:3;16371:11;16384:6;16322:34;:69::i;875:2233:29:-;1146:2;1137:6;:11;1119:29;;;;1166:2;1156:12;;;;;;:::i;:::-;;;-1:-1:-1;1261:10:29;;1257:1071;;1459:2;:11;;;1339:21;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;1487:37:29;;1685:1;1677:6;1673:14;1719:4;1708:9;1704:20;1696:28;;1772:13;1766:20;1755:9;1751:36;1733:54;;2006:4;2002:9;1985:14;1979:21;1975:37;1910:4;1898:10;1894:21;1841:183;1815:14;1797:237;;2087:13;2077:6;:23;2073:36;;2102:7;;;;2073:36;2143:19;2161:1;2143:19;;:::i;:::-;;-1:-1:-1;;2250:30:29;;;;2290:23;;1257:1071;2375:2;2365:6;:12;2358:301;;2470:20;;2447:44;;2506:19;2524:1;2454:14;2506:19;:::i;:::-;;-1:-1:-1;2620:2:29;2603:19;;;;;-1:-1:-1;;2632:12:29;2358:301;;;2727:10;;2723:381;;2747:12;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;3035:21:29;;2951:20;;2947:31;;3058:9;;3031:37;2896:184;2852:238;;-1:-1:-1;875:2233:29;;;;:::o;21935:599:30:-;22076:12;22167:21;22191:27;:6;:27;;;:14;:27::i;:::-;22167:51;;22224:18;22245:32;:10;:30;;;;;;;;:::i;:32::-;22224:53;;22283:16;22302:36;22325:7;22334:3;22302:22;:36::i;:::-;22283:55;;22344:14;22361:41;22382:6;22390:11;22361:20;:41::i;:::-;22344:58;;22451:78;22482:8;22500:10;22520:6;22451:12;:78::i;:::-;22444:85;21935:599;-1:-1:-1;;;;;;;;;21935:599:30:o;4502:165:27:-;4572:10;4614:46;4641:6;4650:9;:5;4658:1;4650:9;:::i;:::-;4195:1:22;4191:13;4187:24;;4059:181;4614:46:27;4608:53;;4597:65;;;;;;;;:::i;23900:251:30:-;23987:7;;;24026:102;24046:11;24042:15;;:1;:15;24026:102;;;24082:39;:17;:6;24097:1;24082:14;:17::i;:::-;:37;;;;;;;;:::i;:39::-;24072:49;;;;:::i;:::-;;-1:-1:-1;24059:3:30;;;;:::i;:::-;;;;24026:102;;14:184:93;-1:-1:-1;;;63:1:93;56:88;163:4;160:1;153:15;187:4;184:1;177:15;203:334;274:2;268:9;330:2;320:13;;-1:-1:-1;;316:86:93;304:99;;433:18;418:34;;454:22;;;415:62;412:88;;;480:18;;:::i;:::-;516:2;509:22;203:334;;-1:-1:-1;203:334:93:o;542:245::-;590:4;623:18;615:6;612:30;609:56;;;645:18;;:::i;:::-;-1:-1:-1;702:2:93;690:15;-1:-1:-1;;686:88:93;776:4;682:99;;542:245::o;792:671::-;860:6;913:2;901:9;892:7;888:23;884:32;881:52;;;929:1;926;919:12;881:52;969:9;956:23;1002:18;994:6;991:30;988:50;;;1034:1;1031;1024:12;988:50;1057:22;;1110:4;1102:13;;1098:27;-1:-1:-1;1088:55:93;;1139:1;1136;1129:12;1088:55;1175:2;1162:16;1200:48;1216:31;1244:2;1216:31;:::i;:::-;1200:48;:::i;:::-;1271:2;1264:5;1257:17;1311:7;1306:2;1301;1297;1293:11;1289:20;1286:33;1283:53;;;1332:1;1329;1322:12;1283:53;1387:2;1382;1378;1374:11;1369:2;1362:5;1358:14;1345:45;1431:1;1410:14;;;1426:2;1406:23;1399:34;;;;1414:5;792:671;-1:-1:-1;;;;792:671:93:o;1723:184::-;1793:6;1846:2;1834:9;1825:7;1821:23;1817:32;1814:52;;;1862:1;1859;1852:12;1814:52;-1:-1:-1;1885:16:93;;1723:184;-1:-1:-1;1723:184:93:o;2467:258::-;2539:1;2549:113;2563:6;2560:1;2557:13;2549:113;;;2639:11;;;2633:18;2620:11;;;2613:39;2585:2;2578:10;2549:113;;;2680:6;2677:1;2674:13;2671:48;;;-1:-1:-1;;2715:1:93;2697:16;;2690:27;2467:258::o;2730:317::-;2772:3;2810:5;2804:12;2837:6;2832:3;2825:19;2853:63;2909:6;2902:4;2897:3;2893:14;2886:4;2879:5;2875:16;2853:63;:::i;:::-;2961:2;2949:15;-1:-1:-1;;2945:88:93;2936:98;;;;3036:4;2932:109;;2730:317;-1:-1:-1;;2730:317:93:o;3052:1234::-;3318:4;3347:66;3452:2;3444:6;3440:15;3429:9;3422:34;3475:2;3525;3517:6;3513:15;3508:2;3497:9;3493:18;3486:43;3565:3;3560:2;3549:9;3545:18;3538:31;3592:46;3633:3;3622:9;3618:19;3610:6;3592:46;:::i;:::-;3578:60;;3686:9;3678:6;3674:22;3669:2;3658:9;3654:18;3647:50;3717:6;3752;3746:13;3783:6;3775;3768:22;3818:2;3810:6;3806:15;3799:22;;3877:2;3867:6;3864:1;3860:14;3852:6;3848:27;3844:36;3915:2;3907:6;3903:15;3936:1;3946:311;3960:6;3957:1;3954:13;3946:311;;;-1:-1:-1;;4037:6:93;4029;4025:19;4021:92;4016:3;4009:105;4137:40;4170:6;4161;4155:13;4137:40;:::i;:::-;4235:12;;;;4127:50;-1:-1:-1;4200:15:93;;;;3982:1;3975:9;3946:311;;;-1:-1:-1;4274:6:93;;3052:1234;-1:-1:-1;;;;;;;;;;;3052:1234:93:o;4767:184::-;-1:-1:-1;;;4816:1:93;4809:88;4916:4;4913:1;4906:15;4940:4;4937:1;4930:15;4956:184;-1:-1:-1;;;5005:1:93;4998:88;5105:4;5102:1;5095:15;5129:4;5126:1;5119:15;5649:184;-1:-1:-1;;;5698:1:93;5691:88;5798:4;5795:1;5788:15;5822:4;5819:1;5812:15;5838:175;5875:3;5919:4;5912:5;5908:16;5948:4;5939:7;5936:17;5933:43;;5956:18;;:::i;:::-;6005:1;5992:15;;5838:175;-1:-1:-1;;5838:175:93:o;6018:224::-;6057:3;6085:6;6118:2;6115:1;6111:10;6148:2;6145:1;6141:10;6179:3;6175:2;6171:12;6166:3;6163:21;6160:47;;;6187:18;;:::i;:::-;6223:13;;6018:224;-1:-1:-1;;;;6018:224:93:o;6247:128::-;6287:3;6318:1;6314:6;6311:1;6308:13;6305:39;;;6324:18;;:::i;:::-;-1:-1:-1;6360:9:93;;6247:128::o;6380:195::-;6418:4;6455;6452:1;6448:12;6487:4;6484:1;6480:12;6512:3;6507;6504:12;6501:38;;;6519:18;;:::i;:::-;6556:13;;;6380:195;-1:-1:-1;;;6380:195:93:o;6771:125::-;6811:4;6839:1;6836;6833:8;6830:34;;;6844:18;;:::i;:::-;-1:-1:-1;6881:9:93;;6771:125::o;7256:357::-;7374:12;;7421:4;7410:16;;;7404:23;;7374:12;7439:16;;7436:171;;;-1:-1:-1;;7519:6:93;7513:4;7509:17;7506:1;7502:25;7498:98;7491:5;7487:110;7478:119;;7436:171;;7256:357;;;:::o;7887:435::-;7940:3;7978:5;7972:12;8005:6;8000:3;7993:19;8031:4;8060:2;8055:3;8051:12;8044:19;;8097:2;8090:5;8086:14;8118:1;8128:169;8142:6;8139:1;8136:13;8128:169;;;8203:13;;8191:26;;8237:12;;;;8272:15;;;;8164:1;8157:9;8128:169;;;-1:-1:-1;8313:3:93;;7887:435;-1:-1:-1;;;;;7887:435:93:o;8327:573::-;8604:6;8593:9;8586:25;8647:3;8642:2;8631:9;8627:18;8620:31;8567:4;8674:57;8726:3;8715:9;8711:19;8703:6;8674:57;:::i;:::-;8779:4;8771:6;8767:17;8762:2;8751:9;8747:18;8740:45;8833:9;8825:6;8821:22;8816:2;8805:9;8801:18;8794:50;8861:33;8887:6;8879;8861:33;:::i;8905:466::-;9080:3;9118:6;9112:13;9134:53;9180:6;9175:3;9168:4;9160:6;9156:17;9134:53;:::i;:::-;9250:13;;9209:16;;;;9272:57;9250:13;9209:16;9306:4;9294:17;;9272:57;:::i;9376:195::-;9415:3;-1:-1:-1;;9439:5:93;9436:77;9433:103;;9516:18;;:::i;:::-;-1:-1:-1;9563:1:93;9552:13;;9376:195::o;9576:291::-;9753:6;9742:9;9735:25;9796:2;9791;9780:9;9776:18;9769:30;9716:4;9816:45;9857:2;9846:9;9842:18;9834:6;9816:45;:::i;10059:483::-;10318:6;10307:9;10300:25;10361:6;10356:2;10345:9;10341:18;10334:34;10404:3;10399:2;10388:9;10384:18;10377:31;10281:4;10425:57;10477:3;10466:9;10462:19;10454:6;10425:57;:::i;:::-;10417:65;;10530:4;10522:6;10518:17;10513:2;10502:9;10498:18;10491:45;10059:483;;;;;;;:::o;10547:228::-;10587:7;10713:1;-1:-1:-1;;10641:74:93;10638:1;10635:81;10630:1;10623:9;10616:17;10612:105;10609:131;;;10720:18;;:::i;:::-;-1:-1:-1;10760:9:93;;10547:228::o;10780:410::-;11011:6;11000:9;10993:25;11054:2;11049;11038:9;11034:18;11027:30;10974:4;11074:56;11126:2;11115:9;11111:18;11103:6;11074:56;:::i;:::-;11066:64;;11178:4;11170:6;11166:17;11161:2;11150:9;11146:18;11139:45;10780:410;;;;;;:::o;11195:634::-;11274:6;11327:2;11315:9;11306:7;11302:23;11298:32;11295:52;;;11343:1;11340;11333:12;11295:52;11376:9;11370:16;11409:18;11401:6;11398:30;11395:50;;;11441:1;11438;11431:12;11395:50;11464:22;;11517:4;11509:13;;11505:27;-1:-1:-1;11495:55:93;;11546:1;11543;11536:12;11495:55;11575:2;11569:9;11600:48;11616:31;11644:2;11616:31;:::i;11600:48::-;11671:2;11664:5;11657:17;11711:7;11706:2;11701;11697;11693:11;11689:20;11686:33;11683:53;;;11732:1;11729;11722:12;11683:53;11745:54;11796:2;11791;11784:5;11780:14;11775:2;11771;11767:11;11745:54;:::i;11834:360::-;12037:2;12026:9;12019:21;12000:4;12057:45;12098:2;12087:9;12083:18;12075:6;12057:45;:::i;:::-;12133:2;12118:18;;12111:34;;;;-1:-1:-1;12176:2:93;12161:18;12154:34;12049:53;11834:360;-1:-1:-1;11834:360:93:o;12199:671::-;12535:6;12524:9;12517:25;12578:6;12573:2;12562:9;12558:18;12551:34;12621:3;12616:2;12605:9;12601:18;12594:31;12498:4;12648:57;12700:3;12689:9;12685:19;12677:6;12648:57;:::i;:::-;12753:9;12745:6;12741:22;12736:2;12725:9;12721:18;12714:50;12788:1;12780:6;12773:17;12823:8;12818:2;12810:6;12806:15;12799:33;12861:2;12853:6;12849:15;12841:23;;;12199:671;;;;;;:::o;12875:184::-;-1:-1:-1;;;12924:1:93;12917:88;13024:4;13021:1;13014:15;13048:4;13045:1;13038:15;13064:120;13104:1;13130;13120:35;;13135:18;;:::i;:::-;-1:-1:-1;13169:9:93;;13064:120::o;13189:112::-;13221:1;13247;13237:35;;13252:18;;:::i;:::-;-1:-1:-1;13286:9:93;;13189:112::o;13306:403::-;13541:6;13530:9;13523:25;13584:6;13579:2;13568:9;13564:18;13557:34;13627:2;13622;13611:9;13607:18;13600:30;13504:4;13647:56;13699:2;13688:9;13684:18;13676:6;13647:56;:::i",
105
+ "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806313861fb51461003b57806317d7de7c14610050575b600080fd5b61004e610049366004611910565b610083565b005b604080517f696e646578000000000000000000000000000000000000000000000000000000815290519081900360200190f35b6000818060200190518101906100999190611990565b905060006100c77f6b6579737776616c00000000000000000000000000000000000000000000000083610372565b90506100d16103d2565b73ffffffffffffffffffffffffffffffffffffffff166331b99d89826100f78460801b90565b6100ff6103e1565b610107610459565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1681527fffffffffffffffffffffffffffffffff000000000000000000000000000000009485166004820152939092166024840152604483015260648201526084016020604051808303816000875af1158015610191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b59190611990565b506000806101c1610493565b915091506101cd6103d2565b73ffffffffffffffffffffffffffffffffffffffff1663096fcaa9846101f38660801b90565b85856040518563ffffffff1660e01b81526004016102149493929190611a01565b600060405180830381600087803b15801561022e57600080fd5b505af1158015610242573d6000803e3d6000fd5b5050505061024e6103d2565b73ffffffffffffffffffffffffffffffffffffffff1663f227e653846102748660801b90565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681527fffffffffffffffffffffffffffffffff0000000000000000000000000000000092831660048201529116602482015273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166044820152606401600060405180830381600087803b15801561032957600080fd5b505af115801561033d573d6000803e3d6000fd5b5050505061036b847f000000000000000000000000000000000000000000000000000000000000000061055b565b5050505050565b60008061037f8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006103dc610600565b905090565b6040805160018082528183019092526000918291906020808301908036833701905050905060c18160008151811061041b5761041b611aa8565b602002602001019060c581111561043457610434611abe565b908160c581111561044757610447611abe565b90525061045381610618565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061041b5761041b611aa8565b6040805160018082528183019092526060918291600091816020015b60608152602001906001900390816104af5790505090506040518060400160405280600d81526020017f6b6579735769746856616c7565000000000000000000000000000000000000008152508160008151811061050f5761050f611aa8565b6020026020010181905250806040518060400160405280600d81526020017f4b6579735769746856616c7565000000000000000000000000000000000000008152509092509250509091565b6105636108ad565b1561057657610572828261092b565b5050565b6040517f6e81fd710000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff821660248201523390636e81fd7190604401600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b505050505050565b600061060a6108ad565b61061357503390565b503090565b6000601c825111156106645781516040517f5318beb900000000000000000000000000000000000000000000000000000000815260040161065b91815260200190565b60405180910390fd5b60008060008060005b86518110156107905760006106ab88838151811061068d5761068d611aa8565b602002602001015160c58111156106a6576106a6611abe565b610935565b905061ffff8116156107015782156106ef576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836106f981611aea565b945050610706565b600192505b6107108186611b09565b945061078586610721846004611b2f565b8a858151811061073357610733611aa8565b602002602001015160c581111561074c5761074c611abe565b60f81b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b95505060010161066d565b5060008287516107a09190611b47565b9050600e8160ff1611156107e5576040517f5318beb900000000000000000000000000000000000000000000000000000000815260ff8216600482015260240161065b565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff851660f085901b1794507fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167dff000000000000000000000000000000000000000000000000000000000060e885901b161794507fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167cff0000000000000000000000000000000000000000000000000000000060e083901b16175b979650505050505050565b6000303b8082036108c057600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561090657600080fd5b505afa925050508015610917575060015b61092357600091505090565b600191505090565b61057282826109ed565b6000808260c581111561094a5761094a611abe565b60ff169050602081101561096a57610963816001611b2f565b9392505050565b604081101561098a576020610980826001611b2f565b6109639190611b6a565b60608110156109a0576040610980826001611b2f565b60608360c58111156109b4576109b4611abe565b036109c25750600192915050565b60618360c58111156109d6576109d6611abe565b036109e45750601492915050565b50600092915050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a2357610a23611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b7300000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052610ae790610a9c90611b81565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660208201528390600090603401604051602081830303815290604052610aec565b505050565b610af46108ad565b15610b0a57610b0584848484610b85565b610b7f565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a600090610b4c908790879087908790600401611be3565b600060405180830381600087803b158015610b6657600080fd5b505af1158015610b7a573d6000803e3d6000fd5b505050505b50505050565b6000610b9085610dbd565b905060ff60e882901c81169084161015610bd6576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610be486868685610e12565b83604051602001610bf6929190611c17565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610c3c9493929190611be3565b60405180910390a16000610c4f87610e6b565b905060005b8151811015610d00576000828281518110610c7157610c71611aa8565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610cba9493929190611be3565b600060405180830381600087803b158015610cd457600080fd5b505af1158015610ce8573d6000803e3d6000fd5b50505050508080610cf890611c3d565b915050610c54565b50610d0e8787858888610f40565b60005b8151811015610b7a576000828281518110610d2e57610d2e611aa8565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610d779493929190611be3565b600060405180830381600087803b158015610d9157600080fd5b505af1158015610da5573d6000803e3d6000fd5b50505050508080610db590611c3d565b915050610d11565b6000610dc882610fb9565b905080610e0d5781610dd98361107e565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161065b929190611c57565b919050565b60606000610e2760ff60e885901c1685611b47565b90506000610e368787846110a9565b90506000610e518360ff16610e4b8a8a611102565b9061110f565b9050610e5d8282611141565b93505050505b949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610ea557610ea5611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b7300000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090610f2990610f2190611b81565b83600061114f565b9050610e63610f3b82600084516111f5565b611285565b6000610f5360ff60e886901c1684611b47565b90506000610f618787611296565b90506000610f6d825490565b90506000610f7e8260ff861661110f565b9050610f9c8460ff16865183610f949190611b2f565b8491906112ec565b8084559150610fae89898684896113c7565b505050505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610ff257610ff2611aa8565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d610000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110749061106e90611b81565b83611410565b9050610e63815490565b60608160405160200161109391815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016110e29493929190611c70565b60408051601f198184030181529190528051602090910120949350505050565b6000806110748484611296565b60008061111d836002611ca3565b611128906004611b2f565b905061113684826008021b90565b60f01c949350505050565b606061096383836000611447565b60606111596108ad565b15611170576111698484846114a7565b9050610963565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c906111b090879087908790600401611cc2565b600060405180830381865afa1580156111cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111699190810190611cee565b6000818311158015611208575083518211155b611244578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161065b93929190611d5c565b602084016112528482611b2f565b905060006112608585611b6a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061096383601460006114cb565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016112cd93929190611d81565b60408051601f1981840301815291905280516020909101209392505050565b600083816112fa8260e01c90565b9050600061130b878760ff1661110f565b905080851061132f5761131e8186611b6a565b6113289083611b2f565b9150611346565b6113398582611b6a565b6113439083611b6a565b91505b6000611353876002611ca3565b61135e906004611b2f565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006113d48686866110a9565b90506113e1602084611df7565b6113eb9082611b2f565b905060006113fa602085611e0b565b905061140782828561160e565b50505050505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016112cd93929190611e1f565b60608267ffffffffffffffff811115611462576114626118a1565b6040519080825280601f01601f19166020018201604052801561148c576020820181803683370190505b5090506020810161149f85858584611623565b509392505050565b606060006114b485610dbd565b90506114c2858585846116d8565b95945050505050565b606060006114d98560801c90565b90506fffffffffffffffffffffffffffffffff851660008461151157611500866008611ca3565b61150c90610100611b6a565b611514565b60005b9050600086838161152757611527611de1565b0490506115348784611e0b565b156115c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161065b565b602080820201604051955080860160405250808552600060208601855b83831015611600578051851c82526001929092019160209091019089016115de565b505050505050509392505050565b6000602082019050610b7f848483855161170b565b60208204840193506020828161163b5761163b611de1565b069150811561168c5760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611677575050610b7f565b611682600187611b2f565b9550509283900392015b602083106116b457835481526116a3600185611b2f565b9350601f199092019160200161168c565b8215610b7f576000600019600885021c198251865482169119161782525050505050565b606060ff60e883901c811690841610156116ff576116f8858585856117c9565b9050610e63565b6116f885858585610e12565b60208304840193506020838161172357611723611de1565b069250821561177c5760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611767575050610b7f565b611772600187611b2f565b9550509182019190035b602081106117a55781518455611793600185611b2f565b935060209190910190601f190161177c565b8015610b7f576000600019600883021c198554845182169119161785555050505050565b606060006117da8360ff8616611829565b905060006117f38260c58111156106a6576106a6611abe565b905060006118018888611410565b9050600061180f8688611855565b905061181c828483611447565b9998505050505050505050565b60006118418361183a846004611b2f565b6008021b90565b60f81c60c581111561096357610963611abe565b600080805b8360ff1681101561149f576118836118728683611829565b60c58111156106a6576106a6611abe565b61188d9083611b2f565b91508061189981611c3d565b91505061185a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156118e0576118e06118a1565b604052919050565b600067ffffffffffffffff821115611902576119026118a1565b50601f01601f191660200190565b60006020828403121561192257600080fd5b813567ffffffffffffffff81111561193957600080fd5b8201601f8101841361194a57600080fd5b803561195d611958826118e8565b6118b7565b81815285602083850101111561197257600080fd5b81602084016020830137600091810160200191909152949350505050565b6000602082840312156119a257600080fd5b5051919050565b60005b838110156119c45781810151838201526020016119ac565b83811115610b7f5750506000910152565b600081518084526119ed8160208601602086016119a9565b601f01601f19169290920160200192915050565b60007fffffffffffffffffffffffffffffffff00000000000000000000000000000000808716835260208187168185015260806040850152611a4660808501876119d5565b915083820360608501528185518084528284019150828160051b85010183880160005b83811015611a9757601f19878403018552611a858383516119d5565b94860194925090850190600101611a69565b50909b9a5050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103611b0057611b00611ad4565b60010192915050565b600061ffff808316818516808303821115611b2657611b26611ad4565b01949350505050565b60008219821115611b4257611b42611ad4565b500190565b600060ff821660ff841680821015611b6157611b61611ad4565b90039392505050565b600082821015611b7c57611b7c611ad4565b500390565b80516020808301519190811015611ba2576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b83811015611bd857815187529582019590820190600101611bbc565b509495945050505050565b848152608060208201526000611bfc6080830186611ba8565b60ff8516604084015282810360608401526108a281856119d5565b60008351611c298184602088016119a9565b835190830190611b268183602088016119a9565b60006000198203611c5057611c50611ad4565b5060010190565b828152604060208201526000610e6360408301846119d5565b848152836020820152608060408201526000611c8f6080830185611ba8565b905060ff8316606083015295945050505050565b6000816000190483118215151615611cbd57611cbd611ad4565b500290565b838152606060208201526000611cdb6060830185611ba8565b905060ff83166040830152949350505050565b600060208284031215611d0057600080fd5b815167ffffffffffffffff811115611d1757600080fd5b8201601f81018413611d2857600080fd5b8051611d36611958826118e8565b818152856020838501011115611d4b57600080fd5b6114c28260208301602086016119a9565b606081526000611d6f60608301866119d5565b60208301949094525060400152919050565b838152826020820152608060408201526000611da06080830184611ba8565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b634e487b7160e01b600052601260045260246000fd5b600082611e0657611e06611de1565b500490565b600082611e1a57611e1a611de1565b500690565b8381528260208201526060604082015260006114c26060830184611ba856fea2646970667358221220cf1a9149d3bce84c669f7708055412b901b6fac66769e0e3b851e708c4d59de564736f6c634300080d0033",
106
+ "sourceMap": "1273:1468:77:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1666:1073;;;;;;:::i;:::-;;:::i;:::-;;1579:83;;;;1641:16;1614:98:93;;1579:83:77;;;;;;1602:2:93;1579:83:77;;;1666:1073;1765:21;1800:4;1789:27;;;;;;;;;;;;:::i;:::-;1765:51;;1822:27;1852:55;1875:16;1893:13;1852:22;:55::i;:::-;1822:85;;1958:8;:6;:8::i;:::-;1947:34;;;1989:19;2031:29;:19;1308:3:47;1288:23;;1192:125;2031:29:77;2068:25;:23;:25::i;:::-;2101:28;:26;:28::i;:::-;1947:188;;;;;;;;;;2209:66:93;2302:15;;;1947:188:77;;;2284:34:93;2354:15;;;;2334:18;;;2327:43;2386:18;;;2379:34;2429:18;;;2422:34;2171:19;;1947:188:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2189:23;2214:26;2244:27;:25;:27::i;:::-;2188:83;;;;2288:8;:6;:8::i;:::-;2277:32;;;2317:19;2359:29;:19;1308:3:47;1288:23;;1192:125;2359:29:77;2396:9;2413:10;2277:152;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2496:8;:6;:8::i;:::-;2485:32;;;2518:19;2554:29;:19;1308:3:47;1288:23;;1192:125;2554:29:77;2485:114;;;;;;;;;;4503:66:93;4596:15;;;2485:114:77;;;4578:34:93;4648:15;;4628:18;;;4621:43;4712:42;2593:4:77;4700:55:93;4680:18;;;4673:83;4466:18;;2485:114:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:50;2714:13;2729:4;2684:29;:50::i;:::-;1718:1021;;;;1666:1073;:::o;676:337:87:-;769:7;782:17;802:39;827:13;1308:3:47;1288:23;;1192:125;802:39:87;944:29;916:24;;944:35;977:2;944:35;;;;916:64;1006:3;984:25;;;;916:94;;-1:-1:-1;;676:337:87;;;;:::o;641:99:52:-;682:7;704:31;:29;:31::i;:::-;697:38;;641:99;:::o;907:194:80:-;995:19;;;1012:1;995:19;;;;;;;;;951:6;;;;995:19;;;;;;;;;;;;-1:-1:-1;995:19:80;965:49;;1033:24;1020:7;1028:1;1020:10;;;;;;;;:::i;:::-;;;;;;:37;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1071:25:80;1088:7;1071:16;:25::i;:::-;1064:32;;;907:194;:::o;1105:191::-;1196:19;;;1213:1;1196:19;;;;;;;;;1152:6;;;;1196:19;;;;;;;;;;;;-1:-1:-1;1196:19:80;1166:49;;1234:18;1221:7;1229:1;1221:10;;;;;;;;:::i;1334:215::-;1448:15;;;1461:1;1448:15;;;;;;;;;1380:13;;;;1418:27;;1448:15;;;;;;;;;;;;;;;;;;;;1418:45;;1469:32;;;;;;;;;;;;;;;;;:11;1481:1;1469:14;;;;;;;;:::i;:::-;;;;;;:32;;;;1532:11;1507:37;;;;;;;;;;;;;;;;;;;;;;;1334:215;;:::o;1204:225:32:-;1282:16;:14;:16::i;:::-;1278:147;;;1308:40;1336:5;1343:4;1308:27;:40::i;:::-;1204:225;;:::o;1278:147::-;1369:49;;;;;;;;5339:25:93;;;5412:42;5400:55;;5380:18;;;5373:83;1376:10:32;;1369:36;;5312:18:93;;1369:49:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1204:225;;:::o;1076:124::-;1128:7;1150:16;:14;:16::i;:::-;:45;;-1:-1:-1;1185:10:32;;641:99:52:o;1150:45:32:-;-1:-1:-1;1177:4:32;;1076:124::o;842:1591:27:-;910:6;945:2;928:7;:14;:19;924:71;;;980:7;:14;956:39;;;;;;;;;5613:25:93;;5601:2;5586:18;;5467:177;956:39:27;;;;;;;;924:71;1001:14;1021:13;1040:18;1193:21;1225:9;1220:665;1244:7;:14;1240:1;:18;1220:665;;;1270:23;1303:32;:7;1311:1;1303:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1270:66;-1:-1:-1;1413:20:27;;;;1409:322;;1537:16;1533:67;;;1562:38;;;;;;;;;;;;;;1533:67;1610:14;;;;:::i;:::-;;;;1409:322;;;1718:4;1699:23;;1409:322;1739:26;1749:16;1739:26;;:::i;:::-;;-1:-1:-1;1782:57:27;1798:6;1806:5;:1;1810;1806:5;:::i;:::-;1826:7;1834:1;1826:10;;;;;;;;:::i;:::-;;;;;;;1820:17;;;;;;;;:::i;:::-;1813:25;;1768:1:22;1764:13;;1935:29;;;1711:18;1760:24;;;1867:9;1856:21;;1924:41;1599:420;;;;;;1782:57:27;1773:66;-1:-1:-1;;1867:3:27;;1220:665;;;;1928:19;1974:12;1956:7;:14;1950:36;;;;:::i;:::-;1928:58;;2012:2;1996:13;:18;;;1992:69;;;2023:38;;;;;6754:4:93;6742:17;;2023:38:27;;;6724:36:93;6697:18;;2023:38:27;6580:186:93;1992:69:27;2379:9:22;2368:21;;2179:14:27;;;;2436:41:22;2142:53:27;-1:-1:-1;1867:9:22;1856:21;;1935:29;;;;;;1924:41;2219:57:27;-1:-1:-1;1867:9:22;1856:21;;1935:29;;;;;;1924:41;2318:49:27;2309:58;842:1591;-1:-1:-1;;;;;;;842:1591:27:o;575:497:32:-;624:12;753:9;741:22;866:13;;;862:30;;888:4;881:11;;;575:497;:::o;862:30::-;985:4;970:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;966:102;;1056:5;1046:15;;638:434;575:497;:::o;966:102::-;1020:4;1010:14;;638:434;575:497;:::o;4690:115:30:-;4766:34;4777:7;4794:4;4766:10;:34::i;3194:543:21:-;3260:7;3273:13;3295:10;3289:17;;;;;;;;:::i;:::-;3273:33;;;;3323:2;3315:5;:10;3311:229;;;3357:9;:5;3365:1;3357:9;:::i;:::-;3350:16;3194:543;-1:-1:-1;;;3194:543:21:o;3311:229::-;3389:2;3381:5;:10;3377:163;;;3448:2;3436:9;:5;3444:1;3436:9;:::i;:::-;:14;;;;:::i;3377:163::-;3473:2;3465:5;:10;3461:79;;;3533:2;3521:9;:5;3529:1;3521:9;:::i;3461:79::-;3586:15;3572:10;:29;;;;;;;;:::i;:::-;;3568:118;;-1:-1:-1;3616:1:21;;3194:543;-1:-1:-1;;3194:543:21:o;3568:118::-;3646:18;3632:10;:32;;;;;;;;:::i;:::-;;3628:58;;-1:-1:-1;3679:2:21;;3194:543;-1:-1:-1;;3194:543:21:o;3628:58::-;-1:-1:-1;3733:1:21;;3194:543;-1:-1:-1;;3194:543:21:o;3662:238:37:-;3754:16;;;3768:1;3754:16;;;;;;;;;3722:29;;3754:16;;;;;;;;;;;-1:-1:-1;3754:16:37;3722:48;;3803:3;3776:12;3789:1;3776:15;;;;;;;;:::i;:::-;;;;;;;;;;;:32;;;;741:55;;;758:19;741:55;;;7143:28:93;779:16:37;7187:12:93;;;7180:37;741:55:37;;;;;;;;;;7233:12:93;;741:55:37;;3815:80;;733:64;;;:::i;:::-;3866:28;;7780:66:93;7767:2;7763:15;;;7759:88;3866:28:37;;;7747:101:93;3849:12:37;;3863:1;;7864:12:93;;3866:28:37;;;;;;;;;;;;3815:23;:80::i;:::-;3716:184;3662:238;;:::o;2716:301:32:-;2836:16;:14;:16::i;:::-;2832:181;;;2862:57;2884:5;2891:3;2896:10;2908;2862:21;:57::i;:::-;2832:181;;;2940:66;;;;;2947:10;;2940:30;;:66;;2971:5;;2978:3;;2983:10;;2995;;2940:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2832:181;2716:301;;;;:::o;9956:1224:30:-;10075:13;10091:18;10101:7;10091:9;:18::i;:::-;10075:34;-1:-1:-1;5041:45:27;;;;;;;10120:38:30;;;;10116:101;;;10175:35;;;;;;;;;;;;;;10116:101;10342:21;10390:69;10425:7;10434:3;10439:11;10452:6;10390:34;:69::i;:::-;10467:10;10366:117;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10342:141;;10532:50;10546:7;10555:3;10560:11;10573:8;10532:50;;;;;;;;;:::i;:::-;;;;;;;;10653:22;10678:18;10688:7;10678:9;:18::i;:::-;10653:43;;10707:9;10702:158;10722:5;:12;10718:1;:16;10702:158;;;10749:15;10778:5;10784:1;10778:8;;;;;;;;:::i;:::-;;;;;;;10749:38;;10795:4;:21;;;10817:7;10826:3;10831:11;10844:8;10795:58;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10741:119;10736:3;;;;;:::i;:::-;;;;10702:158;;;;10866:84;10904:7;10913:3;10918:6;10926:11;10939:10;10866:37;:84::i;:::-;11024:9;11019:157;11039:5;:12;11035:1;:16;11019:157;;;11066:15;11095:5;11101:1;11095:8;;;;;;;;:::i;:::-;;;;;;;11066:38;;11112:4;:20;;;11133:7;11142:3;11147:11;11160:8;11112:57;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11058:118;11053:3;;;;;:::i;:::-;;;;11019:157;;2576:240;2635:13;2665:37;2694:7;2665:28;:37::i;:::-;2656:46;-1:-1:-1;5426:35:27;2708:104:30;;2777:7;2786:18;:7;:16;:18::i;:::-;2745:60;;;;;;;;;;;;:::i;2708:104::-;2576:240;;;:::o;24854:552::-;24996:12;25080:24;25107:38;5041:45:27;;;;;;25107:11:30;:38;:::i;:::-;25080:65;;25151:16;25170:57;25194:7;25203:3;25208:18;25170:23;:57::i;:::-;25151:76;;25233:18;25254:71;25306:18;25254:71;;:43;25284:7;25293:3;25254:29;:43::i;:::-;:51;;:71::i;:::-;25233:92;;25339:62;25370:8;25388:10;25339:12;:62::i;:::-;25332:69;;;;;24854:552;;;;;;;:::o;2349:326:37:-;2460:16;;;2474:1;2460:16;;;;;;;;;2398:22;;2428:29;;2460:16;;;;;;;;;;;;-1:-1:-1;2460:16:37;2428:48;;2509:3;2482:12;2495:1;2482:15;;;;;;;;:::i;:::-;;;;;;;;;;;:32;;;;741:55;;;758:19;741:55;;;7143:28:93;779:16:37;7187:12:93;;;7180:37;741:55:37;;;;;;;;;;7233:12:93;;741:55:37;;-1:-1:-1;;2542:47:37;;733:64;;;:::i;:::-;2573:12;2587:1;2542:20;:47::i;:::-;2521:68;;2603:66;:44;2624:5;2631:1;2634:5;:12;2603:20;:44::i;:::-;:64;:66::i;20759:964:30:-;20925:24;20952:38;5041:45:27;;;;;;20952:11:30;:38;:::i;:::-;20925:65;;21042:31;21076:43;21106:7;21115:3;21076:29;:43::i;:::-;21042:77;;21125:28;21175:57;21206:23;3169:21:29;;3063:137;21175:57:30;21125:108;-1:-1:-1;21273:22:30;21298:42;21125:108;21298:42;;;:22;:42::i;:::-;21273:67;;21363:81;21389:18;21363:81;;21426:10;:17;21409:14;:34;;;;:::i;:::-;21363:14;;:81;:25;:81::i;:::-;412:28:29;;;21346:98:30;-1:-1:-1;21634:84:30;21657:7;21666:3;21671:18;21691:14;21707:10;21634:22;:84::i;:::-;20919:804;;;;20759:964;;;;;:::o;18106:292::-;18203:16;;;18217:1;18203:16;;;;;;;;;18166:6;;;;18203:16;;;;;;;;;;;;-1:-1:-1;18203:16:30;18180:39;;18234:7;18225:3;18229:1;18225:6;;;;;;;;:::i;:::-;;;;;;;;;;;:16;;;;17865:56;;;17882:19;17865:56;;;7143:28:93;17903:17:30;7187:12:93;;;7180:37;17865:56:30;;;;;;;;;;7233:12:93;;17865:56:30;;-1:-1:-1;;18266:59:30;;17857:65;;;:::i;:::-;18321:3;18266:40;:59::i;:::-;18247:78;;18350:42;18381:8;3169:21:29;;3063:137;78:124:33;136:13;188:7;171:25;;;;;;10001:19:93;;10045:2;10036:12;;9872:182;171:25:33;;;;;;;;;;;;;157:40;;78:124;;;:::o;26623:220:30:-;26753:7;17790:22;26810:7;26819:3;26824:11;26793:43;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;26793:43:30;;;;;;;;;26783:54;;26793:43;26783:54;;;;;26623:220;-1:-1:-1;;;;26623:220:30:o;27203:339::-;27304:13;27370:31;27404:43;27434:7;27443:3;27404:29;:43::i;2625:221:26:-;2709:7;;2745:9;:5;2753:1;2745:9;:::i;:::-;2741:13;;:1;:13;:::i;:::-;2724:30;;2782:57;2816:13;2832:6;4195:1:22;4191:13;4187:24;;4059:181;2782:57:26;2775:65;;;2625:221;-1:-1:-1;;;;2625:221:26:o;3204:140:29:-;3281:12;3308:31;3313:14;3329:6;3337:1;3308:4;:31::i;4477:285:32:-;4573:12;4597:16;:14;:16::i;:::-;4593:165;;;4630:42;4649:5;4656:3;4661:10;4630:18;:42::i;:::-;4623:49;;;;4593:165;4700:51;;;;;4707:10;;4700:27;;:51;;4728:5;;4735:3;;4740:10;;4700:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4700:51:32;;;;;;;;;;;;:::i;1563:570:28:-;1654:5;1752:3;1743:5;:12;;:34;;;;;1766:4;:11;1759:3;:18;;1743:34;1737:85;;1805:4;1811:5;1818:3;1787:35;;;;;;;;;;;;;:::i;1737:85::-;1890:4;1880:15;;1937:17;1949:5;1880:15;1937:17;:::i;:::-;;-1:-1:-1;1960:12:28;1975:11;1981:5;1975:3;:11;:::i;:::-;642:17;2111:15;2103:3;2091:15;;;;2090:37;;;;;;-1:-1:-1;;;;;1563:570:28:o;22003:279:41:-;22067:23;22161:29;22193:34;22211:4;22217:2;22221:5;22193:17;:34::i;26928:188:30:-;27029:7;17790:22;27086:7;27095:3;27069:40;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;27069:40:30;;;;;;;;;27059:51;;27069:40;27059:51;;;;;26928:188;-1:-1:-1;;;26928:188:30:o;2931:1018:26:-;3059:13;3128;3059;3219:20;3128:13;2453:51;;;2356:154;3219:20;3197:42;;3245:27;3275:36;3283:13;3304:5;3275:36;;:7;:36::i;:::-;3245:66;;3398:19;3379:15;:38;3375:184;;3442:37;3460:19;3442:15;:37;:::i;:::-;3427:52;;;;:::i;:::-;;;3375:184;;;3515:37;3537:15;3515:19;:37;:::i;:::-;3500:52;;;;:::i;:::-;;;3375:184;3621:14;3642:9;:5;3650:1;3642:9;:::i;:::-;3638:13;;:1;:13;:::i;:::-;3621:30;-1:-1:-1;2900:9:22;2889:21;;3767:27:26;;;;2957:41:22;3711:84:26;-1:-1:-1;2219:20:22;2278:1;2274:13;;2270:24;;;2379:9;2368:21;;3862:31:26;;;;2447:29:22;;;2436:41;3801:93:26;2931:1018;-1:-1:-1;;;;;;;;2931:1018:26:o;28423:657:30:-;28609:27;28639:57;28663:7;28672:3;28677:18;28639:23;:57::i;:::-;28609:87;-1:-1:-1;28800:19:30;28817:2;28800:14;:19;:::i;:::-;28777:42;;;;:::i;:::-;;-1:-1:-1;28944:14:30;28961:19;28978:2;28961:14;:19;:::i;:::-;28944:36;;28986:89;29018:19;29047:6;29061:11;28986:13;:89::i;:::-;28603:477;;28423:657;;;;;:::o;25854:171::-;25948:7;17790:22;26005:7;26014:3;25988:30;;;;;;;;;;:::i;3449:447:29:-;3542:19;3719:6;3709:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3709:17:29;-1:-1:-1;3700:26:29;-1:-1:-1;3805:4:29;3793:17;;3821:51;3826:14;3842:6;3850;3793:17;3821:4;:51::i;:::-;3878:13;3449:447;;;;;:::o;17020:214:30:-;17119:12;17139:13;17155:18;17165:7;17155:9;:18::i;:::-;17139:34;;17186:43;17195:7;17204:3;17209:11;17222:6;17186:8;:43::i;:::-;17179:50;17020:214;-1:-1:-1;;;;;17020:214:30:o;2422:1642:43:-;2535:22;2565:21;2589;:11;2372:3:28;2350:25;;2276:104;2589:21:43;2565:45;-1:-1:-1;642:17:28;2513:38;;2616:20:43;2683:11;:39;;2707:15;:11;2721:1;2707:15;:::i;:::-;2701:21;;:3;:21;:::i;:::-;2683:39;;;2697:1;2683:39;2665:57;;2769:19;2841:11;2826:12;:26;;;;;:::i;:::-;;;-1:-1:-1;3009:26:43;3024:11;3009:12;:26;:::i;:::-;:31;3005:123;;3050:71;;;;;13916:2:93;3050:71:43;;;13898:21:93;13955:2;13935:18;;;13928:30;13994:34;13974:18;;;13967:62;14065:31;14045:18;;;14038:59;14114:19;;3050:71:43;13714:425:93;3005:123:43;3314:4;3309:2;3296:11;3292:20;3288:31;3401:4;3395:11;3386:20;;3437:13;3430:5;3426:25;3420:4;3413:39;;3502:11;3495:5;3488:26;3545:1;3585:4;3578:5;3574:16;3640:13;3522:532;3668:11;3665:1;3662:18;3522:532;;;3997:19;;3984:33;;3964:54;;3755:1;3748:9;;;;;3798:4;3781:22;;;;3867:30;;3522:532;;;3526:135;;;3182:878;;;;2422:1642;;;;;:::o;454:238:29:-;543:21;614:4;608;604:15;587:32;;630:57;636:14;652:6;660:13;675:4;:11;630:5;:57::i;4030:2169::-;4305:2;4296:6;:11;4278:29;;;;4325:2;4315:12;;;;;;:::i;:::-;;;-1:-1:-1;4420:10:29;;4416:1005;;4618:2;:11;;;4498:21;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;4646:44:29;;4866:14;4860:21;4856:1;4848:6;4844:14;4840:42;5099:4;5095:9;5079:13;5073:20;5069:36;5004:4;4992:10;4988:21;4935:182;4910:13;4892:235;;5180:13;5170:6;:23;5166:36;;5195:7;;;;5166:36;5236:19;5254:1;5236:19;;:::i;:::-;;-1:-1:-1;;5383:23:29;;;;;5343:30;4416:1005;5467:2;5457:6;:12;5450:301;;5561:21;;5539:44;;5598:19;5616:1;5567:14;5598:19;:::i;:::-;;-1:-1:-1;;;5724:12:29;;;;5712:2;5695:19;5450:301;;;5819:10;;5815:380;;5839:12;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;6127:20:29;;6042:21;;6038:32;;6149:9;;6123:36;5987:184;5944:237;;-1:-1:-1;4030:2169:29;;;;:::o;17334:389:30:-;17468:12;5041:45:27;;;;;;;17492:38:30;;;;17488:231;;;17547:68;17581:7;17590:3;17595:11;17608:6;17547:33;:68::i;:::-;17540:75;;;;17488:231;17643:69;17678:7;17687:3;17692:11;17705:6;17643:34;:69::i;826:2233:29:-;1097:2;1088:6;:11;1070:29;;;;1117:2;1107:12;;;;;;:::i;:::-;;;-1:-1:-1;1212:10:29;;1208:1071;;1410:2;:11;;;1290:21;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;1438:37:29;;1636:1;1628:6;1624:14;1670:4;1659:9;1655:20;1647:28;;1723:13;1717:20;1706:9;1702:36;1684:54;;1957:4;1953:9;1936:14;1930:21;1926:37;1861:4;1849:10;1845:21;1792:183;1766:14;1748:237;;2038:13;2028:6;:23;2024:36;;2053:7;;;;2024:36;2094:19;2112:1;2094:19;;:::i;:::-;;-1:-1:-1;;2201:30:29;;;;2241:23;;1208:1071;2326:2;2316:6;:12;2309:301;;2421:20;;2398:44;;2457:19;2475:1;2405:14;2457:19;:::i;:::-;;-1:-1:-1;2571:2:29;2554:19;;;;;-1:-1:-1;;2583:12:29;2309:301;;;2678:10;;2674:381;;2698:12;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;2986:21:29;;2902:20;;2898:31;;3009:9;;2982:37;2847:184;2803:238;;-1:-1:-1;826:2233:29;;;;:::o;24147:599:30:-;24288:12;24379:21;24403:27;:6;:27;;;:14;:27::i;:::-;24379:51;;24436:18;24457:32;:10;:30;;;;;;;;:::i;:32::-;24436:53;;24495:16;24514:36;24537:7;24546:3;24514:22;:36::i;:::-;24495:55;;24556:14;24573:41;24594:6;24602:11;24573:20;:41::i;:::-;24556:58;;24663:78;24694:8;24712:10;24732:6;24663:12;:78::i;:::-;24656:85;24147:599;-1:-1:-1;;;;;;;;;24147:599:30:o;4502:165:27:-;4572:10;4614:46;4641:6;4650:9;:5;4658:1;4650:9;:::i;:::-;4195:1:22;4191:13;4187:24;;4059:181;4614:46:27;4608:53;;4597:65;;;;;;;;:::i;26112:251:30:-;26199:7;;;26238:102;26258:11;26254:15;;:1;:15;26238:102;;;26294:39;:17;:6;26309:1;26294:14;:17::i;:::-;:37;;;;;;;;:::i;:39::-;26284:49;;;;:::i;:::-;;-1:-1:-1;26271:3:30;;;;:::i;:::-;;;;26238:102;;14:184:93;-1:-1:-1;;;63:1:93;56:88;163:4;160:1;153:15;187:4;184:1;177:15;203:334;274:2;268:9;330:2;320:13;;-1:-1:-1;;316:86:93;304:99;;433:18;418:34;;454:22;;;415:62;412:88;;;480:18;;:::i;:::-;516:2;509:22;203:334;;-1:-1:-1;203:334:93:o;542:245::-;590:4;623:18;615:6;612:30;609:56;;;645:18;;:::i;:::-;-1:-1:-1;702:2:93;690:15;-1:-1:-1;;686:88:93;776:4;682:99;;542:245::o;792:671::-;860:6;913:2;901:9;892:7;888:23;884:32;881:52;;;929:1;926;919:12;881:52;969:9;956:23;1002:18;994:6;991:30;988:50;;;1034:1;1031;1024:12;988:50;1057:22;;1110:4;1102:13;;1098:27;-1:-1:-1;1088:55:93;;1139:1;1136;1129:12;1088:55;1175:2;1162:16;1200:48;1216:31;1244:2;1216:31;:::i;:::-;1200:48;:::i;:::-;1271:2;1264:5;1257:17;1311:7;1306:2;1301;1297;1293:11;1289:20;1286:33;1283:53;;;1332:1;1329;1322:12;1283:53;1387:2;1382;1378;1374:11;1369:2;1362:5;1358:14;1345:45;1431:1;1410:14;;;1426:2;1406:23;1399:34;;;;1414:5;792:671;-1:-1:-1;;;;792:671:93:o;1723:184::-;1793:6;1846:2;1834:9;1825:7;1821:23;1817:32;1814:52;;;1862:1;1859;1852:12;1814:52;-1:-1:-1;1885:16:93;;1723:184;-1:-1:-1;1723:184:93:o;2467:258::-;2539:1;2549:113;2563:6;2560:1;2557:13;2549:113;;;2639:11;;;2633:18;2620:11;;;2613:39;2585:2;2578:10;2549:113;;;2680:6;2677:1;2674:13;2671:48;;;-1:-1:-1;;2715:1:93;2697:16;;2690:27;2467:258::o;2730:317::-;2772:3;2810:5;2804:12;2837:6;2832:3;2825:19;2853:63;2909:6;2902:4;2897:3;2893:14;2886:4;2879:5;2875:16;2853:63;:::i;:::-;2961:2;2949:15;-1:-1:-1;;2945:88:93;2936:98;;;;3036:4;2932:109;;2730:317;-1:-1:-1;;2730:317:93:o;3052:1234::-;3318:4;3347:66;3452:2;3444:6;3440:15;3429:9;3422:34;3475:2;3525;3517:6;3513:15;3508:2;3497:9;3493:18;3486:43;3565:3;3560:2;3549:9;3545:18;3538:31;3592:46;3633:3;3622:9;3618:19;3610:6;3592:46;:::i;:::-;3578:60;;3686:9;3678:6;3674:22;3669:2;3658:9;3654:18;3647:50;3717:6;3752;3746:13;3783:6;3775;3768:22;3818:2;3810:6;3806:15;3799:22;;3877:2;3867:6;3864:1;3860:14;3852:6;3848:27;3844:36;3915:2;3907:6;3903:15;3936:1;3946:311;3960:6;3957:1;3954:13;3946:311;;;-1:-1:-1;;4037:6:93;4029;4025:19;4021:92;4016:3;4009:105;4137:40;4170:6;4161;4155:13;4137:40;:::i;:::-;4235:12;;;;4127:50;-1:-1:-1;4200:15:93;;;;3982:1;3975:9;3946:311;;;-1:-1:-1;4274:6:93;;3052:1234;-1:-1:-1;;;;;;;;;;;3052:1234:93:o;4767:184::-;-1:-1:-1;;;4816:1:93;4809:88;4916:4;4913:1;4906:15;4940:4;4937:1;4930:15;4956:184;-1:-1:-1;;;5005:1:93;4998:88;5105:4;5102:1;5095:15;5129:4;5126:1;5119:15;5649:184;-1:-1:-1;;;5698:1:93;5691:88;5798:4;5795:1;5788:15;5822:4;5819:1;5812:15;5838:175;5875:3;5919:4;5912:5;5908:16;5948:4;5939:7;5936:17;5933:43;;5956:18;;:::i;:::-;6005:1;5992:15;;5838:175;-1:-1:-1;;5838:175:93:o;6018:224::-;6057:3;6085:6;6118:2;6115:1;6111:10;6148:2;6145:1;6141:10;6179:3;6175:2;6171:12;6166:3;6163:21;6160:47;;;6187:18;;:::i;:::-;6223:13;;6018:224;-1:-1:-1;;;;6018:224:93:o;6247:128::-;6287:3;6318:1;6314:6;6311:1;6308:13;6305:39;;;6324:18;;:::i;:::-;-1:-1:-1;6360:9:93;;6247:128::o;6380:195::-;6418:4;6455;6452:1;6448:12;6487:4;6484:1;6480:12;6512:3;6507;6504:12;6501:38;;;6519:18;;:::i;:::-;6556:13;;;6380:195;-1:-1:-1;;;6380:195:93:o;6771:125::-;6811:4;6839:1;6836;6833:8;6830:34;;;6844:18;;:::i;:::-;-1:-1:-1;6881:9:93;;6771:125::o;7256:357::-;7374:12;;7421:4;7410:16;;;7404:23;;7374:12;7439:16;;7436:171;;;-1:-1:-1;;7519:6:93;7513:4;7509:17;7506:1;7502:25;7498:98;7491:5;7487:110;7478:119;;7436:171;;7256:357;;;:::o;7887:435::-;7940:3;7978:5;7972:12;8005:6;8000:3;7993:19;8031:4;8060:2;8055:3;8051:12;8044:19;;8097:2;8090:5;8086:14;8118:1;8128:169;8142:6;8139:1;8136:13;8128:169;;;8203:13;;8191:26;;8237:12;;;;8272:15;;;;8164:1;8157:9;8128:169;;;-1:-1:-1;8313:3:93;;7887:435;-1:-1:-1;;;;;7887:435:93:o;8327:573::-;8604:6;8593:9;8586:25;8647:3;8642:2;8631:9;8627:18;8620:31;8567:4;8674:57;8726:3;8715:9;8711:19;8703:6;8674:57;:::i;:::-;8779:4;8771:6;8767:17;8762:2;8751:9;8747:18;8740:45;8833:9;8825:6;8821:22;8816:2;8805:9;8801:18;8794:50;8861:33;8887:6;8879;8861:33;:::i;8905:466::-;9080:3;9118:6;9112:13;9134:53;9180:6;9175:3;9168:4;9160:6;9156:17;9134:53;:::i;:::-;9250:13;;9209:16;;;;9272:57;9250:13;9209:16;9306:4;9294:17;;9272:57;:::i;9376:195::-;9415:3;-1:-1:-1;;9439:5:93;9436:77;9433:103;;9516:18;;:::i;:::-;-1:-1:-1;9563:1:93;9552:13;;9376:195::o;9576:291::-;9753:6;9742:9;9735:25;9796:2;9791;9780:9;9776:18;9769:30;9716:4;9816:45;9857:2;9846:9;9842:18;9834:6;9816:45;:::i;10059:483::-;10318:6;10307:9;10300:25;10361:6;10356:2;10345:9;10341:18;10334:34;10404:3;10399:2;10388:9;10384:18;10377:31;10281:4;10425:57;10477:3;10466:9;10462:19;10454:6;10425:57;:::i;:::-;10417:65;;10530:4;10522:6;10518:17;10513:2;10502:9;10498:18;10491:45;10059:483;;;;;;;:::o;10547:228::-;10587:7;10713:1;-1:-1:-1;;10641:74:93;10638:1;10635:81;10630:1;10623:9;10616:17;10612:105;10609:131;;;10720:18;;:::i;:::-;-1:-1:-1;10760:9:93;;10547:228::o;10780:410::-;11011:6;11000:9;10993:25;11054:2;11049;11038:9;11034:18;11027:30;10974:4;11074:56;11126:2;11115:9;11111:18;11103:6;11074:56;:::i;:::-;11066:64;;11178:4;11170:6;11166:17;11161:2;11150:9;11146:18;11139:45;10780:410;;;;;;:::o;11195:634::-;11274:6;11327:2;11315:9;11306:7;11302:23;11298:32;11295:52;;;11343:1;11340;11333:12;11295:52;11376:9;11370:16;11409:18;11401:6;11398:30;11395:50;;;11441:1;11438;11431:12;11395:50;11464:22;;11517:4;11509:13;;11505:27;-1:-1:-1;11495:55:93;;11546:1;11543;11536:12;11495:55;11575:2;11569:9;11600:48;11616:31;11644:2;11616:31;:::i;11600:48::-;11671:2;11664:5;11657:17;11711:7;11706:2;11701;11697;11693:11;11689:20;11686:33;11683:53;;;11732:1;11729;11722:12;11683:53;11745:54;11796:2;11791;11784:5;11780:14;11775:2;11771;11767:11;11745:54;:::i;11834:360::-;12037:2;12026:9;12019:21;12000:4;12057:45;12098:2;12087:9;12083:18;12075:6;12057:45;:::i;:::-;12133:2;12118:18;;12111:34;;;;-1:-1:-1;12176:2:93;12161:18;12154:34;12049:53;11834:360;-1:-1:-1;11834:360:93:o;12199:671::-;12535:6;12524:9;12517:25;12578:6;12573:2;12562:9;12558:18;12551:34;12621:3;12616:2;12605:9;12601:18;12594:31;12498:4;12648:57;12700:3;12689:9;12685:19;12677:6;12648:57;:::i;:::-;12753:9;12745:6;12741:22;12736:2;12725:9;12721:18;12714:50;12788:1;12780:6;12773:17;12823:8;12818:2;12810:6;12806:15;12799:33;12861:2;12853:6;12849:15;12841:23;;;12199:671;;;;;;:::o;12875:184::-;-1:-1:-1;;;12924:1:93;12917:88;13024:4;13021:1;13014:15;13048:4;13045:1;13038:15;13064:120;13104:1;13130;13120:35;;13135:18;;:::i;:::-;-1:-1:-1;13169:9:93;;13064:120::o;13189:112::-;13221:1;13247;13237:35;;13252:18;;:::i;:::-;-1:-1:-1;13286:9:93;;13189:112::o;13306:403::-;13541:6;13530:9;13523:25;13584:6;13579:2;13568:9;13564:18;13557:34;13627:2;13622;13611:9;13607:18;13600:30;13504:4;13647:56;13699:2;13688:9;13684:18;13676:6;13647:56;:::i",
107
107
  "linkReferences": {},
108
108
  "immutableReferences": {
109
- "38171": [
109
+ "38772": [
110
110
  {
111
111
  "start": 743,
112
112
  "length": 32
@@ -122,7 +122,7 @@
122
122
  "getName()": "17d7de7c",
123
123
  "install(bytes)": "13861fb5"
124
124
  },
125
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resourceSelector\",\"type\":\"string\"}],\"name\":\"RequiredModuleNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreCore_NotDynamicField\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getName()\":{\"notice\":\"Return the module name as a bytes16.\"},\"install(bytes)\":{\"notice\":\"A module expects to be called via the World contract, and therefore installs itself on its `msg.sender`.\"}},\"notice\":\"This module deploys a hook that is called when a value is set in the `sourceTableId` provided in the install methods arguments. The hook keeps track of the keys that map to a given value. from value to list of keys with this value. This mapping is stored in a table registered by the module at the `targetTableId` provided in the install methods arguments. Note: if a table with composite keys is used, only the first key is indexed Note: this module currently expects to be `delegatecalled` via World.installRootModule. Support for installing it via `World.installModule` depends on `World.callFrom` being implemented.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueModule.sol\":\"KeysWithValueModule\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"node_modules/@latticexyz/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5\",\"dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xd3d6a9bb72f5580e7b9794530a186e05e8d6da7c9172cb01e62fcc6e558dd052\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0625cb2a0d0e544800dff8194182aa440e1e6d61cc77b9e2d8d0186bce261146\",\"dweb:/ipfs/QmRmWWwTaJ7JPZZnJXavjJNXBzEjaK4KEzxaWj5MeJQUuH\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x86e1be7e58fbd1535c533a829f8a78c65136af92c9066e7d99d221a91dde8f9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5e232aefc4a518b0cc724b4b22e7b059a7bdde02e6512b627ce8693749c8de\",\"dweb:/ipfs/QmYsxGsak61jdiyq921tKzbWC7AtgA5FVsqsT1UL6CqzPT\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xce2d227fc668c385bfded0a5af295a63363eb02233bafb60b4acbf048d4d4500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://597a716eed53c2bbbc911f94e7b6440684210dec82f9dbcb31c1f18fe10d3e8e\",\"dweb:/ipfs/QmSyaRAoh56KznH1zEArkwNUg3b6r8tanP7EALnZBcs5DE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x1f0ba0265027e9f6e945ce3ab319bafb5312f285f82bdcc2f2beabd9d7e99d64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa22ad06665c32e8794eea0f93d8b9e3ce08d752d37a08a669688eb53f8faa08\",\"dweb:/ipfs/QmYLTumckjQcZwt7vCj2YzM91N5mtwaSQBLEYkBJPCpMtm\"]},\"node_modules/@latticexyz/store/src/TableId.sol\":{\"keccak256\":\"0x8c55662dc4f66be577bb96bfdcb65d95fe1323c733443ab749cb9ec1e58f0a6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://209ed70247c1c64b56d9b21f2902e67e0994cb89ac19be8e1553dac9d978fb76\",\"dweb:/ipfs/QmVLYNDwBL3GZidDpwqFZx916zoGZ5tWVztxKQFEEzVybP\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"node_modules/@latticexyz/store/src/codegen/Tables.sol\":{\"keccak256\":\"0x2eba8dd4e9f07b505438a2fb744ac7da26b1f6321b8a88054e9442db947ab435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd1a60dfff209a3f1df84aeb5d7f8a5cf0419c19be63bac428df0a779d5ba437\",\"dweb:/ipfs/QmaHem2GMJPHrtr1f7fk1ThTBESdYipmBxEEoKT1DBRmsd\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol\":{\"keccak256\":\"0x81f25ea159146621a7add30f6701d4787bdf828f8782488d5f9be3eb9b965130\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64c3fdcafe59b27faaf03d5102b83defad59679099d9d1616b2d928ab1e86727\",\"dweb:/ipfs/Qmdr1W6j6bHnE7tjjLMo3G4sAWr4mKePWGDycPEDuKUAJX\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc06e9aef4d145b3e10c1b210ea48a609744638609674c74bc7f77628f1b051d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94ea702795469b50d8c2cab53869caa456fe17d8b850445c59b9a1fd516d4b75\",\"dweb:/ipfs/QmNyiNVHyL2YnhiJfCpfjgNq7bSqCHghfS9wgQ8tTQ5x6e\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol\":{\"keccak256\":\"0xe48f64075029fd088e33201f451bf3fe9baed3db4360a58f7c710e5fd904fb21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e58e6ee54b6681f9ccb39259c4e22e74fdc1876c915c0143048810b03f4b3be\",\"dweb:/ipfs/QmQrxD8NDMd9DvrY5A9f1uRBjPwMgppoGn7w8R79qgdXuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreMetadata.sol\":{\"keccak256\":\"0x03eac5a0bbface43a3a01da3226443356a7aeeb6a88a063f6d9d18551613346c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f681ef065f0fed547f2675f4f21d8dd38e6d4845cccff0ac01e3d5b7b1a5c156\",\"dweb:/ipfs/QmcjEWQghNK2g1QHRqUWRmDXwweWhZTAJNRdyhyLpJf1V4\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol\":{\"keccak256\":\"0x6f77096a6301fa2438365eb4c577e5086f4e45369be801705f2a064af7de0d51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44b3fa75b4475ff46cbdb9bc9907a766716090e077e1e4a95314b20857a70136\",\"dweb:/ipfs/QmNwqMe3ehQL8aJkvU93nXMSyr9vMCYFXBUdZZ3BqKRKdz\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x046f0a2dc543c7a80be91ff26b19990a10fbe73cb605f4944af38e04326a43df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94f038e70179571d2aed3cbe03e812ce79a471372171fb78e8189bebd7ae1ac\",\"dweb:/ipfs/QmUV4bkaEc8hefLpLRaGwmu4WZsqRLE9e6R8UdaKPExb6p\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"src/AccessControl.sol\":{\"keccak256\":\"0x1709609787c064269c201ba1683bb965746ecfffc2fd3ca945665150c1452b61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d40409726d6ebb08666be0c098a45ae2992535d0acb785cd9283daf3173fe45b\",\"dweb:/ipfs/QmdELXD8o41THzejXXWeBBYgb38U5TcK3Q4EygbmBkMRE9\"]},\"src/Call.sol\":{\"keccak256\":\"0x27114d009081f1f0a5c0b62c9ebe30415c76ed02fa46b305202bb5163711d926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a553cf84c877160c8db6978083f09632800032de6dcc5d8a5c3b9c18cabeb578\",\"dweb:/ipfs/QmWyCDz5NobNAHEs1PCftXJzV5oCu5SKfmzfA9BynSccGn\"]},\"src/ResourceSelector.sol\":{\"keccak256\":\"0xf6a1714d556e95fda532f630ac1bd8fd9843e980dffce29f81a29c0b6f02d368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5075e64cc1224bcd8ab46c16f85874ac91efecbf5cbeb82e5c1e3fa4f1a1edfa\",\"dweb:/ipfs/QmTqCVF6k7CMsiUJ223mXumjVyoCCNU2uE9fUHDgBmDdRj\"]},\"src/System.sol\":{\"keccak256\":\"0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b\",\"dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38\"]},\"src/Types.sol\":{\"keccak256\":\"0xc5784c3845cb97da4e1147a62163865bfb0090f43a6c3f672d5d69b7806e6545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e849e5c0f3cf032ae2d5e77117f15cc942aa65f276e63a14feefe5b9bdd8b545\",\"dweb:/ipfs/QmSCpGZSBHjxrKm8LGD5tTEwe16aVd2ugQv5itA648hsVm\"]},\"src/WorldContext.sol\":{\"keccak256\":\"0xd44a445ff07ac1551e5a8f17450381664ecf68dcb1c89fee8fb11b9b73c9cd7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1235cc5636743b9afbb313676fc4c84ac5607142c758b0bfc59107aff79ed30c\",\"dweb:/ipfs/QmUtTUFjxKy7GtQC1Uzn6B2bRNZpcASFySPDjd16T47Rcz\"]},\"src/constants.sol\":{\"keccak256\":\"0xa0ae422aceefe0e7f200448201769e2bc527fa9e647475f65401558a03c0a83d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2473ca8ab5e184b7320c476fd07bdff31ff450fc750ab9eabb9c0a2ee43776e\",\"dweb:/ipfs/QmQ7sBqwPgj4AtsENyzCMFWVQeMzV5uuCN8ygNU2pKYotE\"]},\"src/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xba4f728be36df11f4a988b61a577998d45da89314e26dcfa139e465840cef116\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0226026036fed756d36bde2f2fa9f8ad0ab21595a82740500d187e84a87e5a11\",\"dweb:/ipfs/QmZu2MPVGWvfP59KeKPzJXNt5pd5sqyVqFS1YYANocYsmG\"]},\"src/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x9d15d5ac7512631590eda71cb19937d10a9b253d8a9b61bec54e7b0471b3b785\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b18f736784a0f38d5d6b62733fba106ecb84fc8d1b2390236ab8b162511e38\",\"dweb:/ipfs/QmPdvnPupSTBv8Vi2fRFe7A9NYfVuf2LtbdS1DiWXjHf9D\"]},\"src/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0x21e72828243fbf26d21594a423e9a32e86df07d3e435ea216a27c326546df106\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ac8c4b2cdeddaf458e562e3f236a5c798664443eca1658038540d5585ee090\",\"dweb:/ipfs/QmPbh7JmBcxqJV4YP78zVXpsmCSGnSN6g7M27MTkyUjRgG\"]},\"src/interfaces/IErrors.sol\":{\"keccak256\":\"0x8a8a5caf964d336b38123704893463589b3bf6195405c9929c21291faf0e2f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aa3dcd4d059015580dbcad309db99db7a18fe7c015f1f83f56d84684f27bd14\",\"dweb:/ipfs/QmVpQW1kF4ruDmXtnTSnGRuxr7RtJqo8NwEXtfdA5TVKq1\"]},\"src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"src/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xa46d19a0e2e8291f363ff4af0241d4e20253ffdad61701daf859ed0255eac842\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46829c84dd28d04a060d2b602724589f23ab5f783a22c7dfd7f5c4ecdd41ad5d\",\"dweb:/ipfs/QmVi1ac1q4mX7gpsUH5RRP8tFRj7mYPQr7WzFJdTbUwxxu\"]},\"src/interfaces/ISystemHook.sol\":{\"keccak256\":\"0x6302d7467fb8b6ddf1bc089037e2b5c06441e8f975caf172f4875686b822448d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6adcd8e6d0a1d8c1e027398e5159533561002bb321df887baedcb0fbdc05c91f\",\"dweb:/ipfs/QmXAVXzE6hMysP7SXvxKt6XetH7bnvGVUuXJVJqmG22RSn\"]},\"src/interfaces/IWorldKernel.sol\":{\"keccak256\":\"0x5634912fe97592848fb360d55c442f3b37d6a9e77db46695891f0d5d942138c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a48252b3e5286bd9119aad18366ec8b484334b93872239790717e44f2b125af2\",\"dweb:/ipfs/QmZddb4vrvyKNotTqr3gW3KsrVeH7fDYNv5Tr23uVema4x\"]},\"src/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xddfb5dbefc5b2e53cda52363efac5bb8ae4fb1753c0443623da35be4f216edfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fec23b4a08823f7ed5c95944826c7affa43870dccfdbb76e12843a665961faa5\",\"dweb:/ipfs/QmWdQ8gh4UXQpvpdYvi8unPb8tdba4KRkq2rDA2caiDmx1\"]},\"src/modules/core/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0x0c464af021df4bcc2e8e79d7e8a646a447f4b32cb286de5f45d23da5781fd082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958ff6c39938acad1cc6b39823f6aa358de357dbbc8ec853208e262dd580bd26\",\"dweb:/ipfs/QmPxKoWPNYVorZs8SQhUkwRWEFmD3N5Ry8ZBckDuhtumqD\"]},\"src/modules/core/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0x473a0da9d67d524222a1b69b5358be1ea978bee25f7779adc41c7d94d661b64f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7519eb2ec796dd7ac37a0766f281317f1dfbcdf6a723256bd39e872e56fa2bbf\",\"dweb:/ipfs/QmZ6MAyZWF6f2QstpV33KBPH9ZvoDmHCAHQ8KhMJALQMDj\"]},\"src/modules/core/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x3d8a4cac9dcd5f479faa48b5e5a82f4100615afa674c96e35a840847fedd043e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1f1136dc47239b2032ddbc77f907a2aac632f66f7a8b7f4596e848b2b47263c\",\"dweb:/ipfs/Qmd4XZ8mZs5R1B4oVJwSxxFWGj5VcZ6buKoWPeHJQr6oCu\"]},\"src/modules/core/tables/ResourceType.sol\":{\"keccak256\":\"0x86bbd2b81790839870cdd22ace8b8ac220e9e4c802eaa60d80cbd6317e38b860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc057e0c3e180abc83147f4aa7d5f0137685b6b424305a4d9b524889ea34c4c8\",\"dweb:/ipfs/QmQUsuwGSF15Xe7qxvEiJbR8RgWoLBzjvTjC3gFVio1XXw\"]},\"src/modules/core/tables/SystemRegistry.sol\":{\"keccak256\":\"0x0a1155046675fe9cb96657672edc580e96dedc65795e7218a874950e8c39d0d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e484c6527ce4dce3f8adec9eb43c3d3cc44ecf57405078afe235afd06f706f3d\",\"dweb:/ipfs/QmfUysQS3YRW64KMyMDgYfwcXJJ8CrQsntwpD8bh22d91Y\"]},\"src/modules/core/tables/Systems.sol\":{\"keccak256\":\"0x4bac2d11ed8b4c4ebd9a5ad7fe194c23c799d21aa222877896f0781c71c46eec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8df7240855a018acdc348724c495110ef8313841bfb33a1fe4bd2c67c378cbc\",\"dweb:/ipfs/QmevZAkn4ohkjUzzTp1nYEFENKTt8p8xY2eXAkofV7Pwkk\"]},\"src/modules/keyswithvalue/KeysWithValueHook.sol\":{\"keccak256\":\"0xd5b8e187e1fb41b6277841f1bac293328927b28bf3df7ec7c608b228dd428191\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6810995652ae64cb87a9b364c8da3545296d0182d59f185d7e1183a1cb451b5\",\"dweb:/ipfs/QmTRLyhLJqx8SaoMoxRayW9f4nNUoimMxtdwS5aFeHbLJ6\"]},\"src/modules/keyswithvalue/KeysWithValueModule.sol\":{\"keccak256\":\"0x307c5b022726e7b238e3aefbe53ca161251f8c173b6bc76086c25c4d2ada44a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f4b90628cbcd7dd3d6fd900f058e1b4ebb0534d27dc45dcd01248104c23a2af\",\"dweb:/ipfs/QmXH58wshHDAnZs4QFVXmdAWzvPJqtnLEBWh15Ymb44zmB\"]},\"src/modules/keyswithvalue/constants.sol\":{\"keccak256\":\"0x2a5a26b69d50f53a91e55a3610c56710397492f430f9e540262f3f20e7c1af42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b19745915771b8164be8a9fe9480da27f0c2b047fabe433bd6ba58a237a4113\",\"dweb:/ipfs/QmStodo89dzivK3vo5dB81wtmMMYgeAf1eDV3Ww2FSgxJ2\"]},\"src/modules/keyswithvalue/tables/KeysWithValue.sol\":{\"keccak256\":\"0xb8dd3db06887396bedfa41a6c3e914981ebbf563fba79f8bba745d1d8e3205dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d479b8a93e37461b6c4c107dbb702414faa2ce41ade4aeba0a0a70e3581cd67b\",\"dweb:/ipfs/QmWwjp1KYkJbWXWQRkLY5NoHSJmTvrQwvrxvTpZwYre378\"]},\"src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x076e493a5b9787066f18bfccb50644b213e0f551df58f3bb7123c6dc5ec746f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7008a793de155ec5894ae487faf73234d9295b7dcbbb9d54a60aa2f6600b96\",\"dweb:/ipfs/QmaBsoUJexgLZUThhrrgrecUnq1FXQX9amsfKMT8h2hN8K\"]},\"src/modules/utils/getTargetTableSelector.sol\":{\"keccak256\":\"0x395a31ea74520018039689906dfa097975b4cb8a7bd98ce5700256dee02f666f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9fca4bc7e1a3ea32ea731a3dd2e4e62d8e0e03e37623a4128f5223f5badab413\",\"dweb:/ipfs/QmP9j4M6Ff6VzxXYZNrNjJhBhUGa6BBziHvpo9GjT2SDnQ\"]},\"src/tables/InstalledModules.sol\":{\"keccak256\":\"0x0a2a13f174a53839754ab151d26d6d30018a9811e386691431660d0f19cd37fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c1e2784f21144cb127d3f18473541d33c7ad8f2f8e18f64fccc6f03bc34a667\",\"dweb:/ipfs/QmbAVUb6feHKm8weavZw4bzovsYHp9GqVzAw1LmA15xgNf\"]},\"src/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x305c60ea746f91db681eb9beaadbe3cd39e5d6839bb9499c0181c53fa312beb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3166cf67b2dc066ccd2145452b26069b8b849b68de52d759b226396f0f95c362\",\"dweb:/ipfs/QmSkM1zDeAVQay9XHNtKBS8Vv9hPmhzDbJ1Y9ihZjQsziU\"]},\"src/tables/ResourceAccess.sol\":{\"keccak256\":\"0x8bbcbae889a7c9b71d3606309f9013911693a23f110d869aa24f4c19636ef97c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d49a931783a91c903e7915c7489a6813dfb30bfdc9a634aaff0cb6b9894a45a\",\"dweb:/ipfs/QmeU9CzyZBAoYK7pRxDsAq22vXd6o5cnEAGQ26q7eQUoRc\"]}},\"version\":1}",
125
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resourceSelector\",\"type\":\"string\"}],\"name\":\"RequiredModuleNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreCore_NotDynamicField\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getName()\":{\"notice\":\"Return the module name as a bytes16.\"},\"install(bytes)\":{\"notice\":\"A module expects to be called via the World contract, and therefore installs itself on its `msg.sender`.\"}},\"notice\":\"This module deploys a hook that is called when a value is set in the `sourceTableId` provided in the install methods arguments. The hook keeps track of the keys that map to a given value. from value to list of keys with this value. This mapping is stored in a table registered by the module at the `targetTableId` provided in the install methods arguments. Note: if a table with composite keys is used, only the first key is indexed Note: this module currently expects to be `delegatecalled` via World.installRootModule. Support for installing it via `World.installModule` depends on `World.callFrom` being implemented.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueModule.sol\":\"KeysWithValueModule\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"node_modules/@latticexyz/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957\",\"dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xd3d6a9bb72f5580e7b9794530a186e05e8d6da7c9172cb01e62fcc6e558dd052\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0625cb2a0d0e544800dff8194182aa440e1e6d61cc77b9e2d8d0186bce261146\",\"dweb:/ipfs/QmRmWWwTaJ7JPZZnJXavjJNXBzEjaK4KEzxaWj5MeJQUuH\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x2ccca6556a3c2595479914d30efa84fc3b61cff30036522714a0ef99289ee2af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d169812a4159454be580d42fedee63d121646102e6462fe3b2ea905b69bee07\",\"dweb:/ipfs/QmXiKsMeN4nsdiqDwhuWfb4J3UF57B4rkuwkfbrRXA6vtb\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xba4d729be15ad4fd887f2bbaadd12a902af5470b62c58bd9157661177c60a671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfcf8588c9641afb6e2ed658f584f378909f0615da7a5bc5c919cf51c15b12ff\",\"dweb:/ipfs/QmZEbMyZZRL7oLKC8VMLmTFEK5LL1BAJyxnvmgSNiy5kVg\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x341c555b911581dc6a19e8eb6f64f9875ff92f8e1c9f3a9c3333129e802e130c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0809c8e9a4e46d7cce2d9a21fb315d5a3895d0e9af862fcc9b84733431ec94e0\",\"dweb:/ipfs/QmetNXMWrE1K57YJTEZMiFuEPa3yxnRvFnZFpSJRpQoTQi\"]},\"node_modules/@latticexyz/store/src/TableId.sol\":{\"keccak256\":\"0x8c55662dc4f66be577bb96bfdcb65d95fe1323c733443ab749cb9ec1e58f0a6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://209ed70247c1c64b56d9b21f2902e67e0994cb89ac19be8e1553dac9d978fb76\",\"dweb:/ipfs/QmVLYNDwBL3GZidDpwqFZx916zoGZ5tWVztxKQFEEzVybP\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"node_modules/@latticexyz/store/src/codegen/Tables.sol\":{\"keccak256\":\"0x2eba8dd4e9f07b505438a2fb744ac7da26b1f6321b8a88054e9442db947ab435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd1a60dfff209a3f1df84aeb5d7f8a5cf0419c19be63bac428df0a779d5ba437\",\"dweb:/ipfs/QmaHem2GMJPHrtr1f7fk1ThTBESdYipmBxEEoKT1DBRmsd\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol\":{\"keccak256\":\"0x81f25ea159146621a7add30f6701d4787bdf828f8782488d5f9be3eb9b965130\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64c3fdcafe59b27faaf03d5102b83defad59679099d9d1616b2d928ab1e86727\",\"dweb:/ipfs/Qmdr1W6j6bHnE7tjjLMo3G4sAWr4mKePWGDycPEDuKUAJX\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc06e9aef4d145b3e10c1b210ea48a609744638609674c74bc7f77628f1b051d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94ea702795469b50d8c2cab53869caa456fe17d8b850445c59b9a1fd516d4b75\",\"dweb:/ipfs/QmNyiNVHyL2YnhiJfCpfjgNq7bSqCHghfS9wgQ8tTQ5x6e\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol\":{\"keccak256\":\"0xe48f64075029fd088e33201f451bf3fe9baed3db4360a58f7c710e5fd904fb21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e58e6ee54b6681f9ccb39259c4e22e74fdc1876c915c0143048810b03f4b3be\",\"dweb:/ipfs/QmQrxD8NDMd9DvrY5A9f1uRBjPwMgppoGn7w8R79qgdXuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreMetadata.sol\":{\"keccak256\":\"0x03eac5a0bbface43a3a01da3226443356a7aeeb6a88a063f6d9d18551613346c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f681ef065f0fed547f2675f4f21d8dd38e6d4845cccff0ac01e3d5b7b1a5c156\",\"dweb:/ipfs/QmcjEWQghNK2g1QHRqUWRmDXwweWhZTAJNRdyhyLpJf1V4\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol\":{\"keccak256\":\"0x6f77096a6301fa2438365eb4c577e5086f4e45369be801705f2a064af7de0d51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44b3fa75b4475ff46cbdb9bc9907a766716090e077e1e4a95314b20857a70136\",\"dweb:/ipfs/QmNwqMe3ehQL8aJkvU93nXMSyr9vMCYFXBUdZZ3BqKRKdz\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x046f0a2dc543c7a80be91ff26b19990a10fbe73cb605f4944af38e04326a43df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94f038e70179571d2aed3cbe03e812ce79a471372171fb78e8189bebd7ae1ac\",\"dweb:/ipfs/QmUV4bkaEc8hefLpLRaGwmu4WZsqRLE9e6R8UdaKPExb6p\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"src/AccessControl.sol\":{\"keccak256\":\"0x1709609787c064269c201ba1683bb965746ecfffc2fd3ca945665150c1452b61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d40409726d6ebb08666be0c098a45ae2992535d0acb785cd9283daf3173fe45b\",\"dweb:/ipfs/QmdELXD8o41THzejXXWeBBYgb38U5TcK3Q4EygbmBkMRE9\"]},\"src/Call.sol\":{\"keccak256\":\"0x27114d009081f1f0a5c0b62c9ebe30415c76ed02fa46b305202bb5163711d926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a553cf84c877160c8db6978083f09632800032de6dcc5d8a5c3b9c18cabeb578\",\"dweb:/ipfs/QmWyCDz5NobNAHEs1PCftXJzV5oCu5SKfmzfA9BynSccGn\"]},\"src/ResourceSelector.sol\":{\"keccak256\":\"0xf6a1714d556e95fda532f630ac1bd8fd9843e980dffce29f81a29c0b6f02d368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5075e64cc1224bcd8ab46c16f85874ac91efecbf5cbeb82e5c1e3fa4f1a1edfa\",\"dweb:/ipfs/QmTqCVF6k7CMsiUJ223mXumjVyoCCNU2uE9fUHDgBmDdRj\"]},\"src/System.sol\":{\"keccak256\":\"0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b\",\"dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38\"]},\"src/Types.sol\":{\"keccak256\":\"0xc5784c3845cb97da4e1147a62163865bfb0090f43a6c3f672d5d69b7806e6545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e849e5c0f3cf032ae2d5e77117f15cc942aa65f276e63a14feefe5b9bdd8b545\",\"dweb:/ipfs/QmSCpGZSBHjxrKm8LGD5tTEwe16aVd2ugQv5itA648hsVm\"]},\"src/WorldContext.sol\":{\"keccak256\":\"0xd44a445ff07ac1551e5a8f17450381664ecf68dcb1c89fee8fb11b9b73c9cd7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1235cc5636743b9afbb313676fc4c84ac5607142c758b0bfc59107aff79ed30c\",\"dweb:/ipfs/QmUtTUFjxKy7GtQC1Uzn6B2bRNZpcASFySPDjd16T47Rcz\"]},\"src/constants.sol\":{\"keccak256\":\"0xa0ae422aceefe0e7f200448201769e2bc527fa9e647475f65401558a03c0a83d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2473ca8ab5e184b7320c476fd07bdff31ff450fc750ab9eabb9c0a2ee43776e\",\"dweb:/ipfs/QmQ7sBqwPgj4AtsENyzCMFWVQeMzV5uuCN8ygNU2pKYotE\"]},\"src/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xba4f728be36df11f4a988b61a577998d45da89314e26dcfa139e465840cef116\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0226026036fed756d36bde2f2fa9f8ad0ab21595a82740500d187e84a87e5a11\",\"dweb:/ipfs/QmZu2MPVGWvfP59KeKPzJXNt5pd5sqyVqFS1YYANocYsmG\"]},\"src/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x9d15d5ac7512631590eda71cb19937d10a9b253d8a9b61bec54e7b0471b3b785\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b18f736784a0f38d5d6b62733fba106ecb84fc8d1b2390236ab8b162511e38\",\"dweb:/ipfs/QmPdvnPupSTBv8Vi2fRFe7A9NYfVuf2LtbdS1DiWXjHf9D\"]},\"src/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0x21e72828243fbf26d21594a423e9a32e86df07d3e435ea216a27c326546df106\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ac8c4b2cdeddaf458e562e3f236a5c798664443eca1658038540d5585ee090\",\"dweb:/ipfs/QmPbh7JmBcxqJV4YP78zVXpsmCSGnSN6g7M27MTkyUjRgG\"]},\"src/interfaces/IErrors.sol\":{\"keccak256\":\"0x8a8a5caf964d336b38123704893463589b3bf6195405c9929c21291faf0e2f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aa3dcd4d059015580dbcad309db99db7a18fe7c015f1f83f56d84684f27bd14\",\"dweb:/ipfs/QmVpQW1kF4ruDmXtnTSnGRuxr7RtJqo8NwEXtfdA5TVKq1\"]},\"src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"src/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xa46d19a0e2e8291f363ff4af0241d4e20253ffdad61701daf859ed0255eac842\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46829c84dd28d04a060d2b602724589f23ab5f783a22c7dfd7f5c4ecdd41ad5d\",\"dweb:/ipfs/QmVi1ac1q4mX7gpsUH5RRP8tFRj7mYPQr7WzFJdTbUwxxu\"]},\"src/interfaces/ISystemHook.sol\":{\"keccak256\":\"0x6302d7467fb8b6ddf1bc089037e2b5c06441e8f975caf172f4875686b822448d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6adcd8e6d0a1d8c1e027398e5159533561002bb321df887baedcb0fbdc05c91f\",\"dweb:/ipfs/QmXAVXzE6hMysP7SXvxKt6XetH7bnvGVUuXJVJqmG22RSn\"]},\"src/interfaces/IWorldKernel.sol\":{\"keccak256\":\"0x9baf07e472a70ec8aba9dffb71a7dd7d970c1352c2b11fdbf4c21a54b61458e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c270f22eec9ee162bcb973349e4e96ffcacd70c7df53d0ce7eb33f3bdb1dd6e3\",\"dweb:/ipfs/QmWRgyG2o7cM8dJRNN3d72khRsaGVJBNjVP6XPW2uSyGmU\"]},\"src/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xddfb5dbefc5b2e53cda52363efac5bb8ae4fb1753c0443623da35be4f216edfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fec23b4a08823f7ed5c95944826c7affa43870dccfdbb76e12843a665961faa5\",\"dweb:/ipfs/QmWdQ8gh4UXQpvpdYvi8unPb8tdba4KRkq2rDA2caiDmx1\"]},\"src/modules/core/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0x0c464af021df4bcc2e8e79d7e8a646a447f4b32cb286de5f45d23da5781fd082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958ff6c39938acad1cc6b39823f6aa358de357dbbc8ec853208e262dd580bd26\",\"dweb:/ipfs/QmPxKoWPNYVorZs8SQhUkwRWEFmD3N5Ry8ZBckDuhtumqD\"]},\"src/modules/core/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0x473a0da9d67d524222a1b69b5358be1ea978bee25f7779adc41c7d94d661b64f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7519eb2ec796dd7ac37a0766f281317f1dfbcdf6a723256bd39e872e56fa2bbf\",\"dweb:/ipfs/QmZ6MAyZWF6f2QstpV33KBPH9ZvoDmHCAHQ8KhMJALQMDj\"]},\"src/modules/core/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x3d8a4cac9dcd5f479faa48b5e5a82f4100615afa674c96e35a840847fedd043e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1f1136dc47239b2032ddbc77f907a2aac632f66f7a8b7f4596e848b2b47263c\",\"dweb:/ipfs/Qmd4XZ8mZs5R1B4oVJwSxxFWGj5VcZ6buKoWPeHJQr6oCu\"]},\"src/modules/core/tables/ResourceType.sol\":{\"keccak256\":\"0x86bbd2b81790839870cdd22ace8b8ac220e9e4c802eaa60d80cbd6317e38b860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc057e0c3e180abc83147f4aa7d5f0137685b6b424305a4d9b524889ea34c4c8\",\"dweb:/ipfs/QmQUsuwGSF15Xe7qxvEiJbR8RgWoLBzjvTjC3gFVio1XXw\"]},\"src/modules/core/tables/SystemRegistry.sol\":{\"keccak256\":\"0x0a1155046675fe9cb96657672edc580e96dedc65795e7218a874950e8c39d0d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e484c6527ce4dce3f8adec9eb43c3d3cc44ecf57405078afe235afd06f706f3d\",\"dweb:/ipfs/QmfUysQS3YRW64KMyMDgYfwcXJJ8CrQsntwpD8bh22d91Y\"]},\"src/modules/core/tables/Systems.sol\":{\"keccak256\":\"0x4bac2d11ed8b4c4ebd9a5ad7fe194c23c799d21aa222877896f0781c71c46eec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8df7240855a018acdc348724c495110ef8313841bfb33a1fe4bd2c67c378cbc\",\"dweb:/ipfs/QmevZAkn4ohkjUzzTp1nYEFENKTt8p8xY2eXAkofV7Pwkk\"]},\"src/modules/keyswithvalue/KeysWithValueHook.sol\":{\"keccak256\":\"0xd5b8e187e1fb41b6277841f1bac293328927b28bf3df7ec7c608b228dd428191\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6810995652ae64cb87a9b364c8da3545296d0182d59f185d7e1183a1cb451b5\",\"dweb:/ipfs/QmTRLyhLJqx8SaoMoxRayW9f4nNUoimMxtdwS5aFeHbLJ6\"]},\"src/modules/keyswithvalue/KeysWithValueModule.sol\":{\"keccak256\":\"0x307c5b022726e7b238e3aefbe53ca161251f8c173b6bc76086c25c4d2ada44a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f4b90628cbcd7dd3d6fd900f058e1b4ebb0534d27dc45dcd01248104c23a2af\",\"dweb:/ipfs/QmXH58wshHDAnZs4QFVXmdAWzvPJqtnLEBWh15Ymb44zmB\"]},\"src/modules/keyswithvalue/constants.sol\":{\"keccak256\":\"0x2a5a26b69d50f53a91e55a3610c56710397492f430f9e540262f3f20e7c1af42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b19745915771b8164be8a9fe9480da27f0c2b047fabe433bd6ba58a237a4113\",\"dweb:/ipfs/QmStodo89dzivK3vo5dB81wtmMMYgeAf1eDV3Ww2FSgxJ2\"]},\"src/modules/keyswithvalue/tables/KeysWithValue.sol\":{\"keccak256\":\"0xb8dd3db06887396bedfa41a6c3e914981ebbf563fba79f8bba745d1d8e3205dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d479b8a93e37461b6c4c107dbb702414faa2ce41ade4aeba0a0a70e3581cd67b\",\"dweb:/ipfs/QmWwjp1KYkJbWXWQRkLY5NoHSJmTvrQwvrxvTpZwYre378\"]},\"src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x076e493a5b9787066f18bfccb50644b213e0f551df58f3bb7123c6dc5ec746f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7008a793de155ec5894ae487faf73234d9295b7dcbbb9d54a60aa2f6600b96\",\"dweb:/ipfs/QmaBsoUJexgLZUThhrrgrecUnq1FXQX9amsfKMT8h2hN8K\"]},\"src/modules/utils/getTargetTableSelector.sol\":{\"keccak256\":\"0x395a31ea74520018039689906dfa097975b4cb8a7bd98ce5700256dee02f666f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9fca4bc7e1a3ea32ea731a3dd2e4e62d8e0e03e37623a4128f5223f5badab413\",\"dweb:/ipfs/QmP9j4M6Ff6VzxXYZNrNjJhBhUGa6BBziHvpo9GjT2SDnQ\"]},\"src/tables/InstalledModules.sol\":{\"keccak256\":\"0x0a2a13f174a53839754ab151d26d6d30018a9811e386691431660d0f19cd37fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c1e2784f21144cb127d3f18473541d33c7ad8f2f8e18f64fccc6f03bc34a667\",\"dweb:/ipfs/QmbAVUb6feHKm8weavZw4bzovsYHp9GqVzAw1LmA15xgNf\"]},\"src/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x305c60ea746f91db681eb9beaadbe3cd39e5d6839bb9499c0181c53fa312beb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3166cf67b2dc066ccd2145452b26069b8b849b68de52d759b226396f0f95c362\",\"dweb:/ipfs/QmSkM1zDeAVQay9XHNtKBS8Vv9hPmhzDbJ1Y9ihZjQsziU\"]},\"src/tables/ResourceAccess.sol\":{\"keccak256\":\"0x8bbcbae889a7c9b71d3606309f9013911693a23f110d869aa24f4c19636ef97c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d49a931783a91c903e7915c7489a6813dfb30bfdc9a634aaff0cb6b9894a45a\",\"dweb:/ipfs/QmeU9CzyZBAoYK7pRxDsAq22vXd6o5cnEAGQ26q7eQUoRc\"]}},\"version\":1}",
126
126
  "metadata": {
127
127
  "compiler": {
128
128
  "version": "0.8.13+commit.abaa5c0e"
@@ -288,10 +288,10 @@
288
288
  "license": "MIT"
289
289
  },
290
290
  "node_modules/@latticexyz/store/src/IStore.sol": {
291
- "keccak256": "0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2",
291
+ "keccak256": "0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6",
292
292
  "urls": [
293
- "bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5",
294
- "dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2"
293
+ "bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957",
294
+ "dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL"
295
295
  ],
296
296
  "license": "MIT"
297
297
  },
@@ -328,26 +328,26 @@
328
328
  "license": "MIT"
329
329
  },
330
330
  "node_modules/@latticexyz/store/src/Storage.sol": {
331
- "keccak256": "0x86e1be7e58fbd1535c533a829f8a78c65136af92c9066e7d99d221a91dde8f9b",
331
+ "keccak256": "0x2ccca6556a3c2595479914d30efa84fc3b61cff30036522714a0ef99289ee2af",
332
332
  "urls": [
333
- "bzz-raw://3d5e232aefc4a518b0cc724b4b22e7b059a7bdde02e6512b627ce8693749c8de",
334
- "dweb:/ipfs/QmYsxGsak61jdiyq921tKzbWC7AtgA5FVsqsT1UL6CqzPT"
333
+ "bzz-raw://9d169812a4159454be580d42fedee63d121646102e6462fe3b2ea905b69bee07",
334
+ "dweb:/ipfs/QmXiKsMeN4nsdiqDwhuWfb4J3UF57B4rkuwkfbrRXA6vtb"
335
335
  ],
336
336
  "license": "MIT"
337
337
  },
338
338
  "node_modules/@latticexyz/store/src/StoreCore.sol": {
339
- "keccak256": "0xce2d227fc668c385bfded0a5af295a63363eb02233bafb60b4acbf048d4d4500",
339
+ "keccak256": "0xba4d729be15ad4fd887f2bbaadd12a902af5470b62c58bd9157661177c60a671",
340
340
  "urls": [
341
- "bzz-raw://597a716eed53c2bbbc911f94e7b6440684210dec82f9dbcb31c1f18fe10d3e8e",
342
- "dweb:/ipfs/QmSyaRAoh56KznH1zEArkwNUg3b6r8tanP7EALnZBcs5DE"
341
+ "bzz-raw://cfcf8588c9641afb6e2ed658f584f378909f0615da7a5bc5c919cf51c15b12ff",
342
+ "dweb:/ipfs/QmZEbMyZZRL7oLKC8VMLmTFEK5LL1BAJyxnvmgSNiy5kVg"
343
343
  ],
344
344
  "license": "MIT"
345
345
  },
346
346
  "node_modules/@latticexyz/store/src/StoreSwitch.sol": {
347
- "keccak256": "0x1f0ba0265027e9f6e945ce3ab319bafb5312f285f82bdcc2f2beabd9d7e99d64",
347
+ "keccak256": "0x341c555b911581dc6a19e8eb6f64f9875ff92f8e1c9f3a9c3333129e802e130c",
348
348
  "urls": [
349
- "bzz-raw://fa22ad06665c32e8794eea0f93d8b9e3ce08d752d37a08a669688eb53f8faa08",
350
- "dweb:/ipfs/QmYLTumckjQcZwt7vCj2YzM91N5mtwaSQBLEYkBJPCpMtm"
349
+ "bzz-raw://0809c8e9a4e46d7cce2d9a21fb315d5a3895d0e9af862fcc9b84733431ec94e0",
350
+ "dweb:/ipfs/QmetNXMWrE1K57YJTEZMiFuEPa3yxnRvFnZFpSJRpQoTQi"
351
351
  ],
352
352
  "license": "MIT"
353
353
  },
@@ -560,10 +560,10 @@
560
560
  "license": "MIT"
561
561
  },
562
562
  "src/interfaces/IWorldKernel.sol": {
563
- "keccak256": "0x5634912fe97592848fb360d55c442f3b37d6a9e77db46695891f0d5d942138c8",
563
+ "keccak256": "0x9baf07e472a70ec8aba9dffb71a7dd7d970c1352c2b11fdbf4c21a54b61458e7",
564
564
  "urls": [
565
- "bzz-raw://a48252b3e5286bd9119aad18366ec8b484334b93872239790717e44f2b125af2",
566
- "dweb:/ipfs/QmZddb4vrvyKNotTqr3gW3KsrVeH7fDYNv5Tr23uVema4x"
565
+ "bzz-raw://c270f22eec9ee162bcb973349e4e96ffcacd70c7df53d0ce7eb33f3bdb1dd6e3",
566
+ "dweb:/ipfs/QmWRgyG2o7cM8dJRNN3d72khRsaGVJBNjVP6XPW2uSyGmU"
567
567
  ],
568
568
  "license": "MIT"
569
569
  },
@@ -700,44 +700,44 @@
700
700
  },
701
701
  "ast": {
702
702
  "absolutePath": "src/modules/keyswithvalue/KeysWithValueModule.sol",
703
- "id": 38275,
703
+ "id": 38876,
704
704
  "exportedSymbols": {
705
705
  "IBaseWorld": [
706
- 33218
706
+ 33804
707
707
  ],
708
708
  "IModule": [
709
- 33277
709
+ 33863
710
710
  ],
711
711
  "KeysWithValue": [
712
- 39084
712
+ 39685
713
713
  ],
714
714
  "KeysWithValueHook": [
715
- 38136
715
+ 38737
716
716
  ],
717
717
  "KeysWithValueModule": [
718
- 38274
718
+ 38875
719
719
  ],
720
720
  "MODULE_NAMESPACE": [
721
- 38279
721
+ 38880
722
722
  ],
723
723
  "ResourceSelector": [
724
- 32525
724
+ 33049
725
725
  ],
726
726
  "StoreSwitch": [
727
- 21771
727
+ 22295
728
728
  ],
729
729
  "WorldContext": [
730
- 33161
730
+ 33747
731
731
  ],
732
732
  "getTargetTableSelector": [
733
- 39871
733
+ 40472
734
734
  ]
735
735
  },
736
736
  "nodeType": "SourceUnit",
737
737
  "src": "32:2710:77",
738
738
  "nodes": [
739
739
  {
740
- "id": 38138,
740
+ "id": 38739,
741
741
  "nodeType": "PragmaDirective",
742
742
  "src": "32:24:77",
743
743
  "nodes": [],
@@ -749,23 +749,23 @@
749
749
  ]
750
750
  },
751
751
  {
752
- "id": 38140,
752
+ "id": 38741,
753
753
  "nodeType": "ImportDirective",
754
754
  "src": "58:68:77",
755
755
  "nodes": [],
756
756
  "absolutePath": "node_modules/@latticexyz/store/src/StoreSwitch.sol",
757
757
  "file": "@latticexyz/store/src/StoreSwitch.sol",
758
758
  "nameLocation": "-1:-1:-1",
759
- "scope": 38275,
760
- "sourceUnit": 21772,
759
+ "scope": 38876,
760
+ "sourceUnit": 22296,
761
761
  "symbolAliases": [
762
762
  {
763
763
  "foreign": {
764
- "id": 38139,
764
+ "id": 38740,
765
765
  "name": "StoreSwitch",
766
766
  "nodeType": "Identifier",
767
767
  "overloadedDeclarations": [],
768
- "referencedDeclaration": 21771,
768
+ "referencedDeclaration": 22295,
769
769
  "src": "67:11:77",
770
770
  "typeDescriptions": {}
771
771
  },
@@ -775,23 +775,23 @@
775
775
  "unitAlias": ""
776
776
  },
777
777
  {
778
- "id": 38142,
778
+ "id": 38743,
779
779
  "nodeType": "ImportDirective",
780
780
  "src": "128:61:77",
781
781
  "nodes": [],
782
782
  "absolutePath": "src/interfaces/IBaseWorld.sol",
783
783
  "file": "../../interfaces/IBaseWorld.sol",
784
784
  "nameLocation": "-1:-1:-1",
785
- "scope": 38275,
786
- "sourceUnit": 33219,
785
+ "scope": 38876,
786
+ "sourceUnit": 33805,
787
787
  "symbolAliases": [
788
788
  {
789
789
  "foreign": {
790
- "id": 38141,
790
+ "id": 38742,
791
791
  "name": "IBaseWorld",
792
792
  "nodeType": "Identifier",
793
793
  "overloadedDeclarations": [],
794
- "referencedDeclaration": 33218,
794
+ "referencedDeclaration": 33804,
795
795
  "src": "137:10:77",
796
796
  "typeDescriptions": {}
797
797
  },
@@ -801,23 +801,23 @@
801
801
  "unitAlias": ""
802
802
  },
803
803
  {
804
- "id": 38144,
804
+ "id": 38745,
805
805
  "nodeType": "ImportDirective",
806
806
  "src": "190:55:77",
807
807
  "nodes": [],
808
808
  "absolutePath": "src/interfaces/IModule.sol",
809
809
  "file": "../../interfaces/IModule.sol",
810
810
  "nameLocation": "-1:-1:-1",
811
- "scope": 38275,
812
- "sourceUnit": 33278,
811
+ "scope": 38876,
812
+ "sourceUnit": 33864,
813
813
  "symbolAliases": [
814
814
  {
815
815
  "foreign": {
816
- "id": 38143,
816
+ "id": 38744,
817
817
  "name": "IModule",
818
818
  "nodeType": "Identifier",
819
819
  "overloadedDeclarations": [],
820
- "referencedDeclaration": 33277,
820
+ "referencedDeclaration": 33863,
821
821
  "src": "199:7:77",
822
822
  "typeDescriptions": {}
823
823
  },
@@ -827,23 +827,23 @@
827
827
  "unitAlias": ""
828
828
  },
829
829
  {
830
- "id": 38146,
830
+ "id": 38747,
831
831
  "nodeType": "ImportDirective",
832
832
  "src": "247:54:77",
833
833
  "nodes": [],
834
834
  "absolutePath": "src/WorldContext.sol",
835
835
  "file": "../../WorldContext.sol",
836
836
  "nameLocation": "-1:-1:-1",
837
- "scope": 38275,
838
- "sourceUnit": 33162,
837
+ "scope": 38876,
838
+ "sourceUnit": 33748,
839
839
  "symbolAliases": [
840
840
  {
841
841
  "foreign": {
842
- "id": 38145,
842
+ "id": 38746,
843
843
  "name": "WorldContext",
844
844
  "nodeType": "Identifier",
845
845
  "overloadedDeclarations": [],
846
- "referencedDeclaration": 33161,
846
+ "referencedDeclaration": 33747,
847
847
  "src": "256:12:77",
848
848
  "typeDescriptions": {}
849
849
  },
@@ -853,23 +853,23 @@
853
853
  "unitAlias": ""
854
854
  },
855
855
  {
856
- "id": 38148,
856
+ "id": 38749,
857
857
  "nodeType": "ImportDirective",
858
858
  "src": "302:62:77",
859
859
  "nodes": [],
860
860
  "absolutePath": "src/ResourceSelector.sol",
861
861
  "file": "../../ResourceSelector.sol",
862
862
  "nameLocation": "-1:-1:-1",
863
- "scope": 38275,
864
- "sourceUnit": 32526,
863
+ "scope": 38876,
864
+ "sourceUnit": 33050,
865
865
  "symbolAliases": [
866
866
  {
867
867
  "foreign": {
868
- "id": 38147,
868
+ "id": 38748,
869
869
  "name": "ResourceSelector",
870
870
  "nodeType": "Identifier",
871
871
  "overloadedDeclarations": [],
872
- "referencedDeclaration": 32525,
872
+ "referencedDeclaration": 33049,
873
873
  "src": "311:16:77",
874
874
  "typeDescriptions": {}
875
875
  },
@@ -879,23 +879,23 @@
879
879
  "unitAlias": ""
880
880
  },
881
881
  {
882
- "id": 38150,
882
+ "id": 38751,
883
883
  "nodeType": "ImportDirective",
884
884
  "src": "366:51:77",
885
885
  "nodes": [],
886
886
  "absolutePath": "src/modules/keyswithvalue/constants.sol",
887
887
  "file": "./constants.sol",
888
888
  "nameLocation": "-1:-1:-1",
889
- "scope": 38275,
890
- "sourceUnit": 38280,
889
+ "scope": 38876,
890
+ "sourceUnit": 38881,
891
891
  "symbolAliases": [
892
892
  {
893
893
  "foreign": {
894
- "id": 38149,
894
+ "id": 38750,
895
895
  "name": "MODULE_NAMESPACE",
896
896
  "nodeType": "Identifier",
897
897
  "overloadedDeclarations": [],
898
- "referencedDeclaration": 38279,
898
+ "referencedDeclaration": 38880,
899
899
  "src": "375:16:77",
900
900
  "typeDescriptions": {}
901
901
  },
@@ -905,23 +905,23 @@
905
905
  "unitAlias": ""
906
906
  },
907
907
  {
908
- "id": 38152,
908
+ "id": 38753,
909
909
  "nodeType": "ImportDirective",
910
910
  "src": "418:60:77",
911
911
  "nodes": [],
912
912
  "absolutePath": "src/modules/keyswithvalue/KeysWithValueHook.sol",
913
913
  "file": "./KeysWithValueHook.sol",
914
914
  "nameLocation": "-1:-1:-1",
915
- "scope": 38275,
916
- "sourceUnit": 38137,
915
+ "scope": 38876,
916
+ "sourceUnit": 38738,
917
917
  "symbolAliases": [
918
918
  {
919
919
  "foreign": {
920
- "id": 38151,
920
+ "id": 38752,
921
921
  "name": "KeysWithValueHook",
922
922
  "nodeType": "Identifier",
923
923
  "overloadedDeclarations": [],
924
- "referencedDeclaration": 38136,
924
+ "referencedDeclaration": 38737,
925
925
  "src": "427:17:77",
926
926
  "typeDescriptions": {}
927
927
  },
@@ -931,23 +931,23 @@
931
931
  "unitAlias": ""
932
932
  },
933
933
  {
934
- "id": 38154,
934
+ "id": 38755,
935
935
  "nodeType": "ImportDirective",
936
936
  "src": "479:59:77",
937
937
  "nodes": [],
938
938
  "absolutePath": "src/modules/keyswithvalue/tables/KeysWithValue.sol",
939
939
  "file": "./tables/KeysWithValue.sol",
940
940
  "nameLocation": "-1:-1:-1",
941
- "scope": 38275,
942
- "sourceUnit": 39085,
941
+ "scope": 38876,
942
+ "sourceUnit": 39686,
943
943
  "symbolAliases": [
944
944
  {
945
945
  "foreign": {
946
- "id": 38153,
946
+ "id": 38754,
947
947
  "name": "KeysWithValue",
948
948
  "nodeType": "Identifier",
949
949
  "overloadedDeclarations": [],
950
- "referencedDeclaration": 39084,
950
+ "referencedDeclaration": 39685,
951
951
  "src": "488:13:77",
952
952
  "typeDescriptions": {}
953
953
  },
@@ -957,23 +957,23 @@
957
957
  "unitAlias": ""
958
958
  },
959
959
  {
960
- "id": 38156,
960
+ "id": 38757,
961
961
  "nodeType": "ImportDirective",
962
962
  "src": "539:77:77",
963
963
  "nodes": [],
964
964
  "absolutePath": "src/modules/utils/getTargetTableSelector.sol",
965
965
  "file": "../utils/getTargetTableSelector.sol",
966
966
  "nameLocation": "-1:-1:-1",
967
- "scope": 38275,
968
- "sourceUnit": 39872,
967
+ "scope": 38876,
968
+ "sourceUnit": 40473,
969
969
  "symbolAliases": [
970
970
  {
971
971
  "foreign": {
972
- "id": 38155,
972
+ "id": 38756,
973
973
  "name": "getTargetTableSelector",
974
974
  "nodeType": "Identifier",
975
975
  "overloadedDeclarations": [],
976
- "referencedDeclaration": 39871,
976
+ "referencedDeclaration": 40472,
977
977
  "src": "548:22:77",
978
978
  "typeDescriptions": {}
979
979
  },
@@ -983,25 +983,25 @@
983
983
  "unitAlias": ""
984
984
  },
985
985
  {
986
- "id": 38274,
986
+ "id": 38875,
987
987
  "nodeType": "ContractDefinition",
988
988
  "src": "1273:1468:77",
989
989
  "nodes": [
990
990
  {
991
- "id": 38164,
991
+ "id": 38765,
992
992
  "nodeType": "UsingForDirective",
993
993
  "src": "1331:35:77",
994
994
  "nodes": [],
995
995
  "global": false,
996
996
  "libraryName": {
997
- "id": 38162,
997
+ "id": 38763,
998
998
  "name": "ResourceSelector",
999
999
  "nodeType": "IdentifierPath",
1000
- "referencedDeclaration": 32525,
1000
+ "referencedDeclaration": 33049,
1001
1001
  "src": "1337:16:77"
1002
1002
  },
1003
1003
  "typeName": {
1004
- "id": 38163,
1004
+ "id": 38764,
1005
1005
  "name": "bytes32",
1006
1006
  "nodeType": "ElementaryTypeName",
1007
1007
  "src": "1358:7:77",
@@ -1012,7 +1012,7 @@
1012
1012
  }
1013
1013
  },
1014
1014
  {
1015
- "id": 38171,
1015
+ "id": 38772,
1016
1016
  "nodeType": "VariableDeclaration",
1017
1017
  "src": "1516:58:77",
1018
1018
  "nodes": [],
@@ -1020,27 +1020,27 @@
1020
1020
  "mutability": "immutable",
1021
1021
  "name": "hook",
1022
1022
  "nameLocation": "1544:4:77",
1023
- "scope": 38274,
1023
+ "scope": 38875,
1024
1024
  "stateVariable": true,
1025
1025
  "storageLocation": "default",
1026
1026
  "typeDescriptions": {
1027
- "typeIdentifier": "t_contract$_KeysWithValueHook_$38136",
1027
+ "typeIdentifier": "t_contract$_KeysWithValueHook_$38737",
1028
1028
  "typeString": "contract KeysWithValueHook"
1029
1029
  },
1030
1030
  "typeName": {
1031
- "id": 38166,
1031
+ "id": 38767,
1032
1032
  "nodeType": "UserDefinedTypeName",
1033
1033
  "pathNode": {
1034
- "id": 38165,
1034
+ "id": 38766,
1035
1035
  "name": "KeysWithValueHook",
1036
1036
  "nodeType": "IdentifierPath",
1037
- "referencedDeclaration": 38136,
1037
+ "referencedDeclaration": 38737,
1038
1038
  "src": "1516:17:77"
1039
1039
  },
1040
- "referencedDeclaration": 38136,
1040
+ "referencedDeclaration": 38737,
1041
1041
  "src": "1516:17:77",
1042
1042
  "typeDescriptions": {
1043
- "typeIdentifier": "t_contract$_KeysWithValueHook_$38136",
1043
+ "typeIdentifier": "t_contract$_KeysWithValueHook_$38737",
1044
1044
  "typeString": "contract KeysWithValueHook"
1045
1045
  }
1046
1046
  },
@@ -1048,7 +1048,7 @@
1048
1048
  "arguments": [],
1049
1049
  "expression": {
1050
1050
  "argumentTypes": [],
1051
- "id": 38169,
1051
+ "id": 38770,
1052
1052
  "isConstant": false,
1053
1053
  "isLValue": false,
1054
1054
  "isPure": false,
@@ -1056,28 +1056,28 @@
1056
1056
  "nodeType": "NewExpression",
1057
1057
  "src": "1551:21:77",
1058
1058
  "typeDescriptions": {
1059
- "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_KeysWithValueHook_$38136_$",
1059
+ "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_KeysWithValueHook_$38737_$",
1060
1060
  "typeString": "function () returns (contract KeysWithValueHook)"
1061
1061
  },
1062
1062
  "typeName": {
1063
- "id": 38168,
1063
+ "id": 38769,
1064
1064
  "nodeType": "UserDefinedTypeName",
1065
1065
  "pathNode": {
1066
- "id": 38167,
1066
+ "id": 38768,
1067
1067
  "name": "KeysWithValueHook",
1068
1068
  "nodeType": "IdentifierPath",
1069
- "referencedDeclaration": 38136,
1069
+ "referencedDeclaration": 38737,
1070
1070
  "src": "1555:17:77"
1071
1071
  },
1072
- "referencedDeclaration": 38136,
1072
+ "referencedDeclaration": 38737,
1073
1073
  "src": "1555:17:77",
1074
1074
  "typeDescriptions": {
1075
- "typeIdentifier": "t_contract$_KeysWithValueHook_$38136",
1075
+ "typeIdentifier": "t_contract$_KeysWithValueHook_$38737",
1076
1076
  "typeString": "contract KeysWithValueHook"
1077
1077
  }
1078
1078
  }
1079
1079
  },
1080
- "id": 38170,
1080
+ "id": 38771,
1081
1081
  "isConstant": false,
1082
1082
  "isLValue": false,
1083
1083
  "isPure": false,
@@ -1088,19 +1088,19 @@
1088
1088
  "src": "1551:23:77",
1089
1089
  "tryCall": false,
1090
1090
  "typeDescriptions": {
1091
- "typeIdentifier": "t_contract$_KeysWithValueHook_$38136",
1091
+ "typeIdentifier": "t_contract$_KeysWithValueHook_$38737",
1092
1092
  "typeString": "contract KeysWithValueHook"
1093
1093
  }
1094
1094
  },
1095
1095
  "visibility": "internal"
1096
1096
  },
1097
1097
  {
1098
- "id": 38182,
1098
+ "id": 38783,
1099
1099
  "nodeType": "FunctionDefinition",
1100
1100
  "src": "1579:83:77",
1101
1101
  "nodes": [],
1102
1102
  "body": {
1103
- "id": 38181,
1103
+ "id": 38782,
1104
1104
  "nodeType": "Block",
1105
1105
  "src": "1628:34:77",
1106
1106
  "nodes": [],
@@ -1110,7 +1110,7 @@
1110
1110
  "arguments": [
1111
1111
  {
1112
1112
  "hexValue": "696e646578",
1113
- "id": 38178,
1113
+ "id": 38779,
1114
1114
  "isConstant": false,
1115
1115
  "isLValue": false,
1116
1116
  "isPure": true,
@@ -1132,7 +1132,7 @@
1132
1132
  "typeString": "literal_string \"index\""
1133
1133
  }
1134
1134
  ],
1135
- "id": 38177,
1135
+ "id": 38778,
1136
1136
  "isConstant": false,
1137
1137
  "isLValue": false,
1138
1138
  "isPure": true,
@@ -1144,14 +1144,14 @@
1144
1144
  "typeString": "type(bytes16)"
1145
1145
  },
1146
1146
  "typeName": {
1147
- "id": 38176,
1147
+ "id": 38777,
1148
1148
  "name": "bytes16",
1149
1149
  "nodeType": "ElementaryTypeName",
1150
1150
  "src": "1641:7:77",
1151
1151
  "typeDescriptions": {}
1152
1152
  }
1153
1153
  },
1154
- "id": 38179,
1154
+ "id": 38780,
1155
1155
  "isConstant": false,
1156
1156
  "isLValue": false,
1157
1157
  "isPure": true,
@@ -1166,15 +1166,15 @@
1166
1166
  "typeString": "bytes16"
1167
1167
  }
1168
1168
  },
1169
- "functionReturnParameters": 38175,
1170
- "id": 38180,
1169
+ "functionReturnParameters": 38776,
1170
+ "id": 38781,
1171
1171
  "nodeType": "Return",
1172
1172
  "src": "1634:23:77"
1173
1173
  }
1174
1174
  ]
1175
1175
  },
1176
1176
  "baseFunctions": [
1177
- 33270
1177
+ 33856
1178
1178
  ],
1179
1179
  "functionSelector": "17d7de7c",
1180
1180
  "implemented": true,
@@ -1183,23 +1183,23 @@
1183
1183
  "name": "getName",
1184
1184
  "nameLocation": "1588:7:77",
1185
1185
  "parameters": {
1186
- "id": 38172,
1186
+ "id": 38773,
1187
1187
  "nodeType": "ParameterList",
1188
1188
  "parameters": [],
1189
1189
  "src": "1595:2:77"
1190
1190
  },
1191
1191
  "returnParameters": {
1192
- "id": 38175,
1192
+ "id": 38776,
1193
1193
  "nodeType": "ParameterList",
1194
1194
  "parameters": [
1195
1195
  {
1196
1196
  "constant": false,
1197
- "id": 38174,
1197
+ "id": 38775,
1198
1198
  "mutability": "mutable",
1199
1199
  "name": "",
1200
1200
  "nameLocation": "-1:-1:-1",
1201
1201
  "nodeType": "VariableDeclaration",
1202
- "scope": 38182,
1202
+ "scope": 38783,
1203
1203
  "src": "1619:7:77",
1204
1204
  "stateVariable": false,
1205
1205
  "storageLocation": "default",
@@ -1208,7 +1208,7 @@
1208
1208
  "typeString": "bytes16"
1209
1209
  },
1210
1210
  "typeName": {
1211
- "id": 38173,
1211
+ "id": 38774,
1212
1212
  "name": "bytes16",
1213
1213
  "nodeType": "ElementaryTypeName",
1214
1214
  "src": "1619:7:77",
@@ -1222,35 +1222,35 @@
1222
1222
  ],
1223
1223
  "src": "1618:9:77"
1224
1224
  },
1225
- "scope": 38274,
1225
+ "scope": 38875,
1226
1226
  "stateMutability": "pure",
1227
1227
  "virtual": false,
1228
1228
  "visibility": "public"
1229
1229
  },
1230
1230
  {
1231
- "id": 38273,
1231
+ "id": 38874,
1232
1232
  "nodeType": "FunctionDefinition",
1233
1233
  "src": "1666:1073:77",
1234
1234
  "nodes": [],
1235
1235
  "body": {
1236
- "id": 38272,
1236
+ "id": 38873,
1237
1237
  "nodeType": "Block",
1238
1238
  "src": "1718:1021:77",
1239
1239
  "nodes": [],
1240
1240
  "statements": [
1241
1241
  {
1242
1242
  "assignments": [
1243
- 38189
1243
+ 38790
1244
1244
  ],
1245
1245
  "declarations": [
1246
1246
  {
1247
1247
  "constant": false,
1248
- "id": 38189,
1248
+ "id": 38790,
1249
1249
  "mutability": "mutable",
1250
1250
  "name": "sourceTableId",
1251
1251
  "nameLocation": "1773:13:77",
1252
1252
  "nodeType": "VariableDeclaration",
1253
- "scope": 38272,
1253
+ "scope": 38873,
1254
1254
  "src": "1765:21:77",
1255
1255
  "stateVariable": false,
1256
1256
  "storageLocation": "default",
@@ -1259,7 +1259,7 @@
1259
1259
  "typeString": "bytes32"
1260
1260
  },
1261
1261
  "typeName": {
1262
- "id": 38188,
1262
+ "id": 38789,
1263
1263
  "name": "bytes32",
1264
1264
  "nodeType": "ElementaryTypeName",
1265
1265
  "src": "1765:7:77",
@@ -1271,15 +1271,15 @@
1271
1271
  "visibility": "internal"
1272
1272
  }
1273
1273
  ],
1274
- "id": 38197,
1274
+ "id": 38798,
1275
1275
  "initialValue": {
1276
1276
  "arguments": [
1277
1277
  {
1278
- "id": 38192,
1278
+ "id": 38793,
1279
1279
  "name": "args",
1280
1280
  "nodeType": "Identifier",
1281
1281
  "overloadedDeclarations": [],
1282
- "referencedDeclaration": 38184,
1282
+ "referencedDeclaration": 38785,
1283
1283
  "src": "1800:4:77",
1284
1284
  "typeDescriptions": {
1285
1285
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -1289,7 +1289,7 @@
1289
1289
  {
1290
1290
  "components": [
1291
1291
  {
1292
- "id": 38194,
1292
+ "id": 38795,
1293
1293
  "isConstant": false,
1294
1294
  "isLValue": false,
1295
1295
  "isPure": true,
@@ -1301,7 +1301,7 @@
1301
1301
  "typeString": "type(bytes32)"
1302
1302
  },
1303
1303
  "typeName": {
1304
- "id": 38193,
1304
+ "id": 38794,
1305
1305
  "name": "bytes32",
1306
1306
  "nodeType": "ElementaryTypeName",
1307
1307
  "src": "1807:7:77",
@@ -1309,7 +1309,7 @@
1309
1309
  }
1310
1310
  }
1311
1311
  ],
1312
- "id": 38195,
1312
+ "id": 38796,
1313
1313
  "isConstant": false,
1314
1314
  "isInlineArray": false,
1315
1315
  "isLValue": false,
@@ -1335,7 +1335,7 @@
1335
1335
  }
1336
1336
  ],
1337
1337
  "expression": {
1338
- "id": 38190,
1338
+ "id": 38791,
1339
1339
  "name": "abi",
1340
1340
  "nodeType": "Identifier",
1341
1341
  "overloadedDeclarations": [],
@@ -1346,7 +1346,7 @@
1346
1346
  "typeString": "abi"
1347
1347
  }
1348
1348
  },
1349
- "id": 38191,
1349
+ "id": 38792,
1350
1350
  "isConstant": false,
1351
1351
  "isLValue": false,
1352
1352
  "isPure": true,
@@ -1359,7 +1359,7 @@
1359
1359
  "typeString": "function () pure"
1360
1360
  }
1361
1361
  },
1362
- "id": 38196,
1362
+ "id": 38797,
1363
1363
  "isConstant": false,
1364
1364
  "isLValue": false,
1365
1365
  "isPure": false,
@@ -1379,17 +1379,17 @@
1379
1379
  },
1380
1380
  {
1381
1381
  "assignments": [
1382
- 38199
1382
+ 38800
1383
1383
  ],
1384
1384
  "declarations": [
1385
1385
  {
1386
1386
  "constant": false,
1387
- "id": 38199,
1387
+ "id": 38800,
1388
1388
  "mutability": "mutable",
1389
1389
  "name": "targetTableSelector",
1390
1390
  "nameLocation": "1830:19:77",
1391
1391
  "nodeType": "VariableDeclaration",
1392
- "scope": 38272,
1392
+ "scope": 38873,
1393
1393
  "src": "1822:27:77",
1394
1394
  "stateVariable": false,
1395
1395
  "storageLocation": "default",
@@ -1398,7 +1398,7 @@
1398
1398
  "typeString": "bytes32"
1399
1399
  },
1400
1400
  "typeName": {
1401
- "id": 38198,
1401
+ "id": 38799,
1402
1402
  "name": "bytes32",
1403
1403
  "nodeType": "ElementaryTypeName",
1404
1404
  "src": "1822:7:77",
@@ -1410,15 +1410,15 @@
1410
1410
  "visibility": "internal"
1411
1411
  }
1412
1412
  ],
1413
- "id": 38204,
1413
+ "id": 38805,
1414
1414
  "initialValue": {
1415
1415
  "arguments": [
1416
1416
  {
1417
- "id": 38201,
1417
+ "id": 38802,
1418
1418
  "name": "MODULE_NAMESPACE",
1419
1419
  "nodeType": "Identifier",
1420
1420
  "overloadedDeclarations": [],
1421
- "referencedDeclaration": 38279,
1421
+ "referencedDeclaration": 38880,
1422
1422
  "src": "1875:16:77",
1423
1423
  "typeDescriptions": {
1424
1424
  "typeIdentifier": "t_bytes8",
@@ -1426,11 +1426,11 @@
1426
1426
  }
1427
1427
  },
1428
1428
  {
1429
- "id": 38202,
1429
+ "id": 38803,
1430
1430
  "name": "sourceTableId",
1431
1431
  "nodeType": "Identifier",
1432
1432
  "overloadedDeclarations": [],
1433
- "referencedDeclaration": 38189,
1433
+ "referencedDeclaration": 38790,
1434
1434
  "src": "1893:13:77",
1435
1435
  "typeDescriptions": {
1436
1436
  "typeIdentifier": "t_bytes32",
@@ -1449,18 +1449,18 @@
1449
1449
  "typeString": "bytes32"
1450
1450
  }
1451
1451
  ],
1452
- "id": 38200,
1452
+ "id": 38801,
1453
1453
  "name": "getTargetTableSelector",
1454
1454
  "nodeType": "Identifier",
1455
1455
  "overloadedDeclarations": [],
1456
- "referencedDeclaration": 39871,
1456
+ "referencedDeclaration": 40472,
1457
1457
  "src": "1852:22:77",
1458
1458
  "typeDescriptions": {
1459
1459
  "typeIdentifier": "t_function_internal_pure$_t_bytes8_$_t_bytes32_$returns$_t_bytes32_$",
1460
1460
  "typeString": "function (bytes8,bytes32) pure returns (bytes32)"
1461
1461
  }
1462
1462
  },
1463
- "id": 38203,
1463
+ "id": 38804,
1464
1464
  "isConstant": false,
1465
1465
  "isLValue": false,
1466
1466
  "isPure": false,
@@ -1486,32 +1486,32 @@
1486
1486
  "expression": {
1487
1487
  "argumentTypes": [],
1488
1488
  "expression": {
1489
- "id": 38210,
1489
+ "id": 38811,
1490
1490
  "name": "targetTableSelector",
1491
1491
  "nodeType": "Identifier",
1492
1492
  "overloadedDeclarations": [],
1493
- "referencedDeclaration": 38199,
1493
+ "referencedDeclaration": 38800,
1494
1494
  "src": "1989:19:77",
1495
1495
  "typeDescriptions": {
1496
1496
  "typeIdentifier": "t_bytes32",
1497
1497
  "typeString": "bytes32"
1498
1498
  }
1499
1499
  },
1500
- "id": 38211,
1500
+ "id": 38812,
1501
1501
  "isConstant": false,
1502
1502
  "isLValue": false,
1503
1503
  "isPure": false,
1504
1504
  "lValueRequested": false,
1505
1505
  "memberName": "getNamespace",
1506
1506
  "nodeType": "MemberAccess",
1507
- "referencedDeclaration": 32423,
1507
+ "referencedDeclaration": 32947,
1508
1508
  "src": "1989:32:77",
1509
1509
  "typeDescriptions": {
1510
1510
  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes16_$bound_to$_t_bytes32_$",
1511
1511
  "typeString": "function (bytes32) pure returns (bytes16)"
1512
1512
  }
1513
1513
  },
1514
- "id": 38212,
1514
+ "id": 38813,
1515
1515
  "isConstant": false,
1516
1516
  "isLValue": false,
1517
1517
  "isPure": false,
@@ -1531,32 +1531,32 @@
1531
1531
  "expression": {
1532
1532
  "argumentTypes": [],
1533
1533
  "expression": {
1534
- "id": 38213,
1534
+ "id": 38814,
1535
1535
  "name": "targetTableSelector",
1536
1536
  "nodeType": "Identifier",
1537
1537
  "overloadedDeclarations": [],
1538
- "referencedDeclaration": 38199,
1538
+ "referencedDeclaration": 38800,
1539
1539
  "src": "2031:19:77",
1540
1540
  "typeDescriptions": {
1541
1541
  "typeIdentifier": "t_bytes32",
1542
1542
  "typeString": "bytes32"
1543
1543
  }
1544
1544
  },
1545
- "id": 38214,
1545
+ "id": 38815,
1546
1546
  "isConstant": false,
1547
1547
  "isLValue": false,
1548
1548
  "isPure": false,
1549
1549
  "lValueRequested": false,
1550
1550
  "memberName": "getName",
1551
1551
  "nodeType": "MemberAccess",
1552
- "referencedDeclaration": 32439,
1552
+ "referencedDeclaration": 32963,
1553
1553
  "src": "2031:27:77",
1554
1554
  "typeDescriptions": {
1555
1555
  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes16_$bound_to$_t_bytes32_$",
1556
1556
  "typeString": "function (bytes32) pure returns (bytes16)"
1557
1557
  }
1558
1558
  },
1559
- "id": 38215,
1559
+ "id": 38816,
1560
1560
  "isConstant": false,
1561
1561
  "isLValue": false,
1562
1562
  "isPure": false,
@@ -1576,32 +1576,32 @@
1576
1576
  "expression": {
1577
1577
  "argumentTypes": [],
1578
1578
  "expression": {
1579
- "id": 38216,
1579
+ "id": 38817,
1580
1580
  "name": "KeysWithValue",
1581
1581
  "nodeType": "Identifier",
1582
1582
  "overloadedDeclarations": [],
1583
- "referencedDeclaration": 39084,
1583
+ "referencedDeclaration": 39685,
1584
1584
  "src": "2068:13:77",
1585
1585
  "typeDescriptions": {
1586
- "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39084_$",
1586
+ "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39685_$",
1587
1587
  "typeString": "type(library KeysWithValue)"
1588
1588
  }
1589
1589
  },
1590
- "id": 38217,
1590
+ "id": 38818,
1591
1591
  "isConstant": false,
1592
1592
  "isLValue": false,
1593
1593
  "isPure": false,
1594
1594
  "lValueRequested": false,
1595
1595
  "memberName": "getSchema",
1596
1596
  "nodeType": "MemberAccess",
1597
- "referencedDeclaration": 38407,
1597
+ "referencedDeclaration": 39008,
1598
1598
  "src": "2068:23:77",
1599
1599
  "typeDescriptions": {
1600
- "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$17918_$",
1600
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$18191_$",
1601
1601
  "typeString": "function () pure returns (Schema)"
1602
1602
  }
1603
1603
  },
1604
- "id": 38218,
1604
+ "id": 38819,
1605
1605
  "isConstant": false,
1606
1606
  "isLValue": false,
1607
1607
  "isPure": false,
@@ -1612,7 +1612,7 @@
1612
1612
  "src": "2068:25:77",
1613
1613
  "tryCall": false,
1614
1614
  "typeDescriptions": {
1615
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1615
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
1616
1616
  "typeString": "Schema"
1617
1617
  }
1618
1618
  },
@@ -1621,32 +1621,32 @@
1621
1621
  "expression": {
1622
1622
  "argumentTypes": [],
1623
1623
  "expression": {
1624
- "id": 38219,
1624
+ "id": 38820,
1625
1625
  "name": "KeysWithValue",
1626
1626
  "nodeType": "Identifier",
1627
1627
  "overloadedDeclarations": [],
1628
- "referencedDeclaration": 39084,
1628
+ "referencedDeclaration": 39685,
1629
1629
  "src": "2101:13:77",
1630
1630
  "typeDescriptions": {
1631
- "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39084_$",
1631
+ "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39685_$",
1632
1632
  "typeString": "type(library KeysWithValue)"
1633
1633
  }
1634
1634
  },
1635
- "id": 38220,
1635
+ "id": 38821,
1636
1636
  "isConstant": false,
1637
1637
  "isLValue": false,
1638
1638
  "isPure": false,
1639
1639
  "lValueRequested": false,
1640
1640
  "memberName": "getKeySchema",
1641
1641
  "nodeType": "MemberAccess",
1642
- "referencedDeclaration": 38438,
1642
+ "referencedDeclaration": 39039,
1643
1643
  "src": "2101:26:77",
1644
1644
  "typeDescriptions": {
1645
- "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$17918_$",
1645
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$18191_$",
1646
1646
  "typeString": "function () pure returns (Schema)"
1647
1647
  }
1648
1648
  },
1649
- "id": 38221,
1649
+ "id": 38822,
1650
1650
  "isConstant": false,
1651
1651
  "isLValue": false,
1652
1652
  "isPure": false,
@@ -1657,7 +1657,7 @@
1657
1657
  "src": "2101:28:77",
1658
1658
  "tryCall": false,
1659
1659
  "typeDescriptions": {
1660
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1660
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
1661
1661
  "typeString": "Schema"
1662
1662
  }
1663
1663
  }
@@ -1673,11 +1673,11 @@
1673
1673
  "typeString": "bytes16"
1674
1674
  },
1675
1675
  {
1676
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1676
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
1677
1677
  "typeString": "Schema"
1678
1678
  },
1679
1679
  {
1680
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1680
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
1681
1681
  "typeString": "Schema"
1682
1682
  }
1683
1683
  ],
@@ -1687,18 +1687,18 @@
1687
1687
  "arguments": [],
1688
1688
  "expression": {
1689
1689
  "argumentTypes": [],
1690
- "id": 38206,
1690
+ "id": 38807,
1691
1691
  "name": "_world",
1692
1692
  "nodeType": "Identifier",
1693
1693
  "overloadedDeclarations": [],
1694
- "referencedDeclaration": 33160,
1694
+ "referencedDeclaration": 33746,
1695
1695
  "src": "1958:6:77",
1696
1696
  "typeDescriptions": {
1697
1697
  "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
1698
1698
  "typeString": "function () view returns (address)"
1699
1699
  }
1700
1700
  },
1701
- "id": 38207,
1701
+ "id": 38808,
1702
1702
  "isConstant": false,
1703
1703
  "isLValue": false,
1704
1704
  "isPure": false,
@@ -1721,18 +1721,18 @@
1721
1721
  "typeString": "address"
1722
1722
  }
1723
1723
  ],
1724
- "id": 38205,
1724
+ "id": 38806,
1725
1725
  "name": "IBaseWorld",
1726
1726
  "nodeType": "Identifier",
1727
1727
  "overloadedDeclarations": [],
1728
- "referencedDeclaration": 33218,
1728
+ "referencedDeclaration": 33804,
1729
1729
  "src": "1947:10:77",
1730
1730
  "typeDescriptions": {
1731
- "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33218_$",
1731
+ "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33804_$",
1732
1732
  "typeString": "type(contract IBaseWorld)"
1733
1733
  }
1734
1734
  },
1735
- "id": 38208,
1735
+ "id": 38809,
1736
1736
  "isConstant": false,
1737
1737
  "isLValue": false,
1738
1738
  "isPure": false,
@@ -1743,25 +1743,25 @@
1743
1743
  "src": "1947:20:77",
1744
1744
  "tryCall": false,
1745
1745
  "typeDescriptions": {
1746
- "typeIdentifier": "t_contract$_IBaseWorld_$33218",
1746
+ "typeIdentifier": "t_contract$_IBaseWorld_$33804",
1747
1747
  "typeString": "contract IBaseWorld"
1748
1748
  }
1749
1749
  },
1750
- "id": 38209,
1750
+ "id": 38810,
1751
1751
  "isConstant": false,
1752
1752
  "isLValue": false,
1753
1753
  "isPure": false,
1754
1754
  "lValueRequested": false,
1755
1755
  "memberName": "registerTable",
1756
1756
  "nodeType": "MemberAccess",
1757
- "referencedDeclaration": 33484,
1757
+ "referencedDeclaration": 34085,
1758
1758
  "src": "1947:34:77",
1759
1759
  "typeDescriptions": {
1760
- "typeIdentifier": "t_function_external_nonpayable$_t_bytes16_$_t_bytes16_$_t_userDefinedValueType$_Schema_$17918_$_t_userDefinedValueType$_Schema_$17918_$returns$_t_bytes32_$",
1760
+ "typeIdentifier": "t_function_external_nonpayable$_t_bytes16_$_t_bytes16_$_t_userDefinedValueType$_Schema_$18191_$_t_userDefinedValueType$_Schema_$18191_$returns$_t_bytes32_$",
1761
1761
  "typeString": "function (bytes16,bytes16,Schema,Schema) external returns (bytes32)"
1762
1762
  }
1763
1763
  },
1764
- "id": 38222,
1764
+ "id": 38823,
1765
1765
  "isConstant": false,
1766
1766
  "isLValue": false,
1767
1767
  "isPure": false,
@@ -1776,24 +1776,24 @@
1776
1776
  "typeString": "bytes32"
1777
1777
  }
1778
1778
  },
1779
- "id": 38223,
1779
+ "id": 38824,
1780
1780
  "nodeType": "ExpressionStatement",
1781
1781
  "src": "1947:188:77"
1782
1782
  },
1783
1783
  {
1784
1784
  "assignments": [
1785
- 38225,
1786
- 38228
1785
+ 38826,
1786
+ 38829
1787
1787
  ],
1788
1788
  "declarations": [
1789
1789
  {
1790
1790
  "constant": false,
1791
- "id": 38225,
1791
+ "id": 38826,
1792
1792
  "mutability": "mutable",
1793
1793
  "name": "tableName",
1794
1794
  "nameLocation": "2203:9:77",
1795
1795
  "nodeType": "VariableDeclaration",
1796
- "scope": 38272,
1796
+ "scope": 38873,
1797
1797
  "src": "2189:23:77",
1798
1798
  "stateVariable": false,
1799
1799
  "storageLocation": "memory",
@@ -1802,7 +1802,7 @@
1802
1802
  "typeString": "string"
1803
1803
  },
1804
1804
  "typeName": {
1805
- "id": 38224,
1805
+ "id": 38825,
1806
1806
  "name": "string",
1807
1807
  "nodeType": "ElementaryTypeName",
1808
1808
  "src": "2189:6:77",
@@ -1815,12 +1815,12 @@
1815
1815
  },
1816
1816
  {
1817
1817
  "constant": false,
1818
- "id": 38228,
1818
+ "id": 38829,
1819
1819
  "mutability": "mutable",
1820
1820
  "name": "fieldNames",
1821
1821
  "nameLocation": "2230:10:77",
1822
1822
  "nodeType": "VariableDeclaration",
1823
- "scope": 38272,
1823
+ "scope": 38873,
1824
1824
  "src": "2214:26:77",
1825
1825
  "stateVariable": false,
1826
1826
  "storageLocation": "memory",
@@ -1830,7 +1830,7 @@
1830
1830
  },
1831
1831
  "typeName": {
1832
1832
  "baseType": {
1833
- "id": 38226,
1833
+ "id": 38827,
1834
1834
  "name": "string",
1835
1835
  "nodeType": "ElementaryTypeName",
1836
1836
  "src": "2214:6:77",
@@ -1839,7 +1839,7 @@
1839
1839
  "typeString": "string"
1840
1840
  }
1841
1841
  },
1842
- "id": 38227,
1842
+ "id": 38828,
1843
1843
  "nodeType": "ArrayTypeName",
1844
1844
  "src": "2214:8:77",
1845
1845
  "typeDescriptions": {
@@ -1850,38 +1850,38 @@
1850
1850
  "visibility": "internal"
1851
1851
  }
1852
1852
  ],
1853
- "id": 38232,
1853
+ "id": 38833,
1854
1854
  "initialValue": {
1855
1855
  "arguments": [],
1856
1856
  "expression": {
1857
1857
  "argumentTypes": [],
1858
1858
  "expression": {
1859
- "id": 38229,
1859
+ "id": 38830,
1860
1860
  "name": "KeysWithValue",
1861
1861
  "nodeType": "Identifier",
1862
1862
  "overloadedDeclarations": [],
1863
- "referencedDeclaration": 39084,
1863
+ "referencedDeclaration": 39685,
1864
1864
  "src": "2244:13:77",
1865
1865
  "typeDescriptions": {
1866
- "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39084_$",
1866
+ "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39685_$",
1867
1867
  "typeString": "type(library KeysWithValue)"
1868
1868
  }
1869
1869
  },
1870
- "id": 38230,
1870
+ "id": 38831,
1871
1871
  "isConstant": false,
1872
1872
  "isLValue": false,
1873
1873
  "isPure": false,
1874
1874
  "lValueRequested": false,
1875
1875
  "memberName": "getMetadata",
1876
1876
  "nodeType": "MemberAccess",
1877
- "referencedDeclaration": 38469,
1877
+ "referencedDeclaration": 39070,
1878
1878
  "src": "2244:25:77",
1879
1879
  "typeDescriptions": {
1880
1880
  "typeIdentifier": "t_function_internal_pure$__$returns$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
1881
1881
  "typeString": "function () pure returns (string memory,string memory[] memory)"
1882
1882
  }
1883
1883
  },
1884
- "id": 38231,
1884
+ "id": 38832,
1885
1885
  "isConstant": false,
1886
1886
  "isLValue": false,
1887
1887
  "isPure": false,
@@ -1907,32 +1907,32 @@
1907
1907
  "expression": {
1908
1908
  "argumentTypes": [],
1909
1909
  "expression": {
1910
- "id": 38238,
1910
+ "id": 38839,
1911
1911
  "name": "targetTableSelector",
1912
1912
  "nodeType": "Identifier",
1913
1913
  "overloadedDeclarations": [],
1914
- "referencedDeclaration": 38199,
1914
+ "referencedDeclaration": 38800,
1915
1915
  "src": "2317:19:77",
1916
1916
  "typeDescriptions": {
1917
1917
  "typeIdentifier": "t_bytes32",
1918
1918
  "typeString": "bytes32"
1919
1919
  }
1920
1920
  },
1921
- "id": 38239,
1921
+ "id": 38840,
1922
1922
  "isConstant": false,
1923
1923
  "isLValue": false,
1924
1924
  "isPure": false,
1925
1925
  "lValueRequested": false,
1926
1926
  "memberName": "getNamespace",
1927
1927
  "nodeType": "MemberAccess",
1928
- "referencedDeclaration": 32423,
1928
+ "referencedDeclaration": 32947,
1929
1929
  "src": "2317:32:77",
1930
1930
  "typeDescriptions": {
1931
1931
  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes16_$bound_to$_t_bytes32_$",
1932
1932
  "typeString": "function (bytes32) pure returns (bytes16)"
1933
1933
  }
1934
1934
  },
1935
- "id": 38240,
1935
+ "id": 38841,
1936
1936
  "isConstant": false,
1937
1937
  "isLValue": false,
1938
1938
  "isPure": false,
@@ -1952,32 +1952,32 @@
1952
1952
  "expression": {
1953
1953
  "argumentTypes": [],
1954
1954
  "expression": {
1955
- "id": 38241,
1955
+ "id": 38842,
1956
1956
  "name": "targetTableSelector",
1957
1957
  "nodeType": "Identifier",
1958
1958
  "overloadedDeclarations": [],
1959
- "referencedDeclaration": 38199,
1959
+ "referencedDeclaration": 38800,
1960
1960
  "src": "2359:19:77",
1961
1961
  "typeDescriptions": {
1962
1962
  "typeIdentifier": "t_bytes32",
1963
1963
  "typeString": "bytes32"
1964
1964
  }
1965
1965
  },
1966
- "id": 38242,
1966
+ "id": 38843,
1967
1967
  "isConstant": false,
1968
1968
  "isLValue": false,
1969
1969
  "isPure": false,
1970
1970
  "lValueRequested": false,
1971
1971
  "memberName": "getName",
1972
1972
  "nodeType": "MemberAccess",
1973
- "referencedDeclaration": 32439,
1973
+ "referencedDeclaration": 32963,
1974
1974
  "src": "2359:27:77",
1975
1975
  "typeDescriptions": {
1976
1976
  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes16_$bound_to$_t_bytes32_$",
1977
1977
  "typeString": "function (bytes32) pure returns (bytes16)"
1978
1978
  }
1979
1979
  },
1980
- "id": 38243,
1980
+ "id": 38844,
1981
1981
  "isConstant": false,
1982
1982
  "isLValue": false,
1983
1983
  "isPure": false,
@@ -1993,11 +1993,11 @@
1993
1993
  }
1994
1994
  },
1995
1995
  {
1996
- "id": 38244,
1996
+ "id": 38845,
1997
1997
  "name": "tableName",
1998
1998
  "nodeType": "Identifier",
1999
1999
  "overloadedDeclarations": [],
2000
- "referencedDeclaration": 38225,
2000
+ "referencedDeclaration": 38826,
2001
2001
  "src": "2396:9:77",
2002
2002
  "typeDescriptions": {
2003
2003
  "typeIdentifier": "t_string_memory_ptr",
@@ -2005,11 +2005,11 @@
2005
2005
  }
2006
2006
  },
2007
2007
  {
2008
- "id": 38245,
2008
+ "id": 38846,
2009
2009
  "name": "fieldNames",
2010
2010
  "nodeType": "Identifier",
2011
2011
  "overloadedDeclarations": [],
2012
- "referencedDeclaration": 38228,
2012
+ "referencedDeclaration": 38829,
2013
2013
  "src": "2413:10:77",
2014
2014
  "typeDescriptions": {
2015
2015
  "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
@@ -2042,18 +2042,18 @@
2042
2042
  "arguments": [],
2043
2043
  "expression": {
2044
2044
  "argumentTypes": [],
2045
- "id": 38234,
2045
+ "id": 38835,
2046
2046
  "name": "_world",
2047
2047
  "nodeType": "Identifier",
2048
2048
  "overloadedDeclarations": [],
2049
- "referencedDeclaration": 33160,
2049
+ "referencedDeclaration": 33746,
2050
2050
  "src": "2288:6:77",
2051
2051
  "typeDescriptions": {
2052
2052
  "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
2053
2053
  "typeString": "function () view returns (address)"
2054
2054
  }
2055
2055
  },
2056
- "id": 38235,
2056
+ "id": 38836,
2057
2057
  "isConstant": false,
2058
2058
  "isLValue": false,
2059
2059
  "isPure": false,
@@ -2076,18 +2076,18 @@
2076
2076
  "typeString": "address"
2077
2077
  }
2078
2078
  ],
2079
- "id": 38233,
2079
+ "id": 38834,
2080
2080
  "name": "IBaseWorld",
2081
2081
  "nodeType": "Identifier",
2082
2082
  "overloadedDeclarations": [],
2083
- "referencedDeclaration": 33218,
2083
+ "referencedDeclaration": 33804,
2084
2084
  "src": "2277:10:77",
2085
2085
  "typeDescriptions": {
2086
- "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33218_$",
2086
+ "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33804_$",
2087
2087
  "typeString": "type(contract IBaseWorld)"
2088
2088
  }
2089
2089
  },
2090
- "id": 38236,
2090
+ "id": 38837,
2091
2091
  "isConstant": false,
2092
2092
  "isLValue": false,
2093
2093
  "isPure": false,
@@ -2098,25 +2098,25 @@
2098
2098
  "src": "2277:20:77",
2099
2099
  "tryCall": false,
2100
2100
  "typeDescriptions": {
2101
- "typeIdentifier": "t_contract$_IBaseWorld_$33218",
2101
+ "typeIdentifier": "t_contract$_IBaseWorld_$33804",
2102
2102
  "typeString": "contract IBaseWorld"
2103
2103
  }
2104
2104
  },
2105
- "id": 38237,
2105
+ "id": 38838,
2106
2106
  "isConstant": false,
2107
2107
  "isLValue": false,
2108
2108
  "isPure": false,
2109
2109
  "lValueRequested": false,
2110
2110
  "memberName": "setMetadata",
2111
2111
  "nodeType": "MemberAccess",
2112
- "referencedDeclaration": 33496,
2112
+ "referencedDeclaration": 34097,
2113
2113
  "src": "2277:32:77",
2114
2114
  "typeDescriptions": {
2115
2115
  "typeIdentifier": "t_function_external_nonpayable$_t_bytes16_$_t_bytes16_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
2116
2116
  "typeString": "function (bytes16,bytes16,string memory,string memory[] memory) external"
2117
2117
  }
2118
2118
  },
2119
- "id": 38246,
2119
+ "id": 38847,
2120
2120
  "isConstant": false,
2121
2121
  "isLValue": false,
2122
2122
  "isPure": false,
@@ -2131,7 +2131,7 @@
2131
2131
  "typeString": "tuple()"
2132
2132
  }
2133
2133
  },
2134
- "id": 38247,
2134
+ "id": 38848,
2135
2135
  "nodeType": "ExpressionStatement",
2136
2136
  "src": "2277:152:77"
2137
2137
  },
@@ -2143,32 +2143,32 @@
2143
2143
  "expression": {
2144
2144
  "argumentTypes": [],
2145
2145
  "expression": {
2146
- "id": 38253,
2146
+ "id": 38854,
2147
2147
  "name": "targetTableSelector",
2148
2148
  "nodeType": "Identifier",
2149
2149
  "overloadedDeclarations": [],
2150
- "referencedDeclaration": 38199,
2150
+ "referencedDeclaration": 38800,
2151
2151
  "src": "2518:19:77",
2152
2152
  "typeDescriptions": {
2153
2153
  "typeIdentifier": "t_bytes32",
2154
2154
  "typeString": "bytes32"
2155
2155
  }
2156
2156
  },
2157
- "id": 38254,
2157
+ "id": 38855,
2158
2158
  "isConstant": false,
2159
2159
  "isLValue": false,
2160
2160
  "isPure": false,
2161
2161
  "lValueRequested": false,
2162
2162
  "memberName": "getNamespace",
2163
2163
  "nodeType": "MemberAccess",
2164
- "referencedDeclaration": 32423,
2164
+ "referencedDeclaration": 32947,
2165
2165
  "src": "2518:32:77",
2166
2166
  "typeDescriptions": {
2167
2167
  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes16_$bound_to$_t_bytes32_$",
2168
2168
  "typeString": "function (bytes32) pure returns (bytes16)"
2169
2169
  }
2170
2170
  },
2171
- "id": 38255,
2171
+ "id": 38856,
2172
2172
  "isConstant": false,
2173
2173
  "isLValue": false,
2174
2174
  "isPure": false,
@@ -2188,32 +2188,32 @@
2188
2188
  "expression": {
2189
2189
  "argumentTypes": [],
2190
2190
  "expression": {
2191
- "id": 38256,
2191
+ "id": 38857,
2192
2192
  "name": "targetTableSelector",
2193
2193
  "nodeType": "Identifier",
2194
2194
  "overloadedDeclarations": [],
2195
- "referencedDeclaration": 38199,
2195
+ "referencedDeclaration": 38800,
2196
2196
  "src": "2554:19:77",
2197
2197
  "typeDescriptions": {
2198
2198
  "typeIdentifier": "t_bytes32",
2199
2199
  "typeString": "bytes32"
2200
2200
  }
2201
2201
  },
2202
- "id": 38257,
2202
+ "id": 38858,
2203
2203
  "isConstant": false,
2204
2204
  "isLValue": false,
2205
2205
  "isPure": false,
2206
2206
  "lValueRequested": false,
2207
2207
  "memberName": "getName",
2208
2208
  "nodeType": "MemberAccess",
2209
- "referencedDeclaration": 32439,
2209
+ "referencedDeclaration": 32963,
2210
2210
  "src": "2554:27:77",
2211
2211
  "typeDescriptions": {
2212
2212
  "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes16_$bound_to$_t_bytes32_$",
2213
2213
  "typeString": "function (bytes32) pure returns (bytes16)"
2214
2214
  }
2215
2215
  },
2216
- "id": 38258,
2216
+ "id": 38859,
2217
2217
  "isConstant": false,
2218
2218
  "isLValue": false,
2219
2219
  "isPure": false,
@@ -2231,14 +2231,14 @@
2231
2231
  {
2232
2232
  "arguments": [
2233
2233
  {
2234
- "id": 38261,
2234
+ "id": 38862,
2235
2235
  "name": "hook",
2236
2236
  "nodeType": "Identifier",
2237
2237
  "overloadedDeclarations": [],
2238
- "referencedDeclaration": 38171,
2238
+ "referencedDeclaration": 38772,
2239
2239
  "src": "2593:4:77",
2240
2240
  "typeDescriptions": {
2241
- "typeIdentifier": "t_contract$_KeysWithValueHook_$38136",
2241
+ "typeIdentifier": "t_contract$_KeysWithValueHook_$38737",
2242
2242
  "typeString": "contract KeysWithValueHook"
2243
2243
  }
2244
2244
  }
@@ -2246,11 +2246,11 @@
2246
2246
  "expression": {
2247
2247
  "argumentTypes": [
2248
2248
  {
2249
- "typeIdentifier": "t_contract$_KeysWithValueHook_$38136",
2249
+ "typeIdentifier": "t_contract$_KeysWithValueHook_$38737",
2250
2250
  "typeString": "contract KeysWithValueHook"
2251
2251
  }
2252
2252
  ],
2253
- "id": 38260,
2253
+ "id": 38861,
2254
2254
  "isConstant": false,
2255
2255
  "isLValue": false,
2256
2256
  "isPure": true,
@@ -2262,14 +2262,14 @@
2262
2262
  "typeString": "type(address)"
2263
2263
  },
2264
2264
  "typeName": {
2265
- "id": 38259,
2265
+ "id": 38860,
2266
2266
  "name": "address",
2267
2267
  "nodeType": "ElementaryTypeName",
2268
2268
  "src": "2585:7:77",
2269
2269
  "typeDescriptions": {}
2270
2270
  }
2271
2271
  },
2272
- "id": 38262,
2272
+ "id": 38863,
2273
2273
  "isConstant": false,
2274
2274
  "isLValue": false,
2275
2275
  "isPure": false,
@@ -2306,18 +2306,18 @@
2306
2306
  "arguments": [],
2307
2307
  "expression": {
2308
2308
  "argumentTypes": [],
2309
- "id": 38249,
2309
+ "id": 38850,
2310
2310
  "name": "_world",
2311
2311
  "nodeType": "Identifier",
2312
2312
  "overloadedDeclarations": [],
2313
- "referencedDeclaration": 33160,
2313
+ "referencedDeclaration": 33746,
2314
2314
  "src": "2496:6:77",
2315
2315
  "typeDescriptions": {
2316
2316
  "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
2317
2317
  "typeString": "function () view returns (address)"
2318
2318
  }
2319
2319
  },
2320
- "id": 38250,
2320
+ "id": 38851,
2321
2321
  "isConstant": false,
2322
2322
  "isLValue": false,
2323
2323
  "isPure": false,
@@ -2340,18 +2340,18 @@
2340
2340
  "typeString": "address"
2341
2341
  }
2342
2342
  ],
2343
- "id": 38248,
2343
+ "id": 38849,
2344
2344
  "name": "IBaseWorld",
2345
2345
  "nodeType": "Identifier",
2346
2346
  "overloadedDeclarations": [],
2347
- "referencedDeclaration": 33218,
2347
+ "referencedDeclaration": 33804,
2348
2348
  "src": "2485:10:77",
2349
2349
  "typeDescriptions": {
2350
- "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33218_$",
2350
+ "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33804_$",
2351
2351
  "typeString": "type(contract IBaseWorld)"
2352
2352
  }
2353
2353
  },
2354
- "id": 38251,
2354
+ "id": 38852,
2355
2355
  "isConstant": false,
2356
2356
  "isLValue": false,
2357
2357
  "isPure": false,
@@ -2362,25 +2362,25 @@
2362
2362
  "src": "2485:20:77",
2363
2363
  "tryCall": false,
2364
2364
  "typeDescriptions": {
2365
- "typeIdentifier": "t_contract$_IBaseWorld_$33218",
2365
+ "typeIdentifier": "t_contract$_IBaseWorld_$33804",
2366
2366
  "typeString": "contract IBaseWorld"
2367
2367
  }
2368
2368
  },
2369
- "id": 38252,
2369
+ "id": 38853,
2370
2370
  "isConstant": false,
2371
2371
  "isLValue": false,
2372
2372
  "isPure": false,
2373
2373
  "lValueRequested": false,
2374
2374
  "memberName": "grantAccess",
2375
2375
  "nodeType": "MemberAccess",
2376
- "referencedDeclaration": 33180,
2376
+ "referencedDeclaration": 33766,
2377
2377
  "src": "2485:32:77",
2378
2378
  "typeDescriptions": {
2379
2379
  "typeIdentifier": "t_function_external_nonpayable$_t_bytes16_$_t_bytes16_$_t_address_$returns$__$",
2380
2380
  "typeString": "function (bytes16,bytes16,address) external"
2381
2381
  }
2382
2382
  },
2383
- "id": 38263,
2383
+ "id": 38864,
2384
2384
  "isConstant": false,
2385
2385
  "isLValue": false,
2386
2386
  "isPure": false,
@@ -2395,7 +2395,7 @@
2395
2395
  "typeString": "tuple()"
2396
2396
  }
2397
2397
  },
2398
- "id": 38264,
2398
+ "id": 38865,
2399
2399
  "nodeType": "ExpressionStatement",
2400
2400
  "src": "2485:114:77"
2401
2401
  },
@@ -2403,11 +2403,11 @@
2403
2403
  "expression": {
2404
2404
  "arguments": [
2405
2405
  {
2406
- "id": 38268,
2406
+ "id": 38869,
2407
2407
  "name": "sourceTableId",
2408
2408
  "nodeType": "Identifier",
2409
2409
  "overloadedDeclarations": [],
2410
- "referencedDeclaration": 38189,
2410
+ "referencedDeclaration": 38790,
2411
2411
  "src": "2714:13:77",
2412
2412
  "typeDescriptions": {
2413
2413
  "typeIdentifier": "t_bytes32",
@@ -2415,14 +2415,14 @@
2415
2415
  }
2416
2416
  },
2417
2417
  {
2418
- "id": 38269,
2418
+ "id": 38870,
2419
2419
  "name": "hook",
2420
2420
  "nodeType": "Identifier",
2421
2421
  "overloadedDeclarations": [],
2422
- "referencedDeclaration": 38171,
2422
+ "referencedDeclaration": 38772,
2423
2423
  "src": "2729:4:77",
2424
2424
  "typeDescriptions": {
2425
- "typeIdentifier": "t_contract$_KeysWithValueHook_$38136",
2425
+ "typeIdentifier": "t_contract$_KeysWithValueHook_$38737",
2426
2426
  "typeString": "contract KeysWithValueHook"
2427
2427
  }
2428
2428
  }
@@ -2434,37 +2434,37 @@
2434
2434
  "typeString": "bytes32"
2435
2435
  },
2436
2436
  {
2437
- "typeIdentifier": "t_contract$_KeysWithValueHook_$38136",
2437
+ "typeIdentifier": "t_contract$_KeysWithValueHook_$38737",
2438
2438
  "typeString": "contract KeysWithValueHook"
2439
2439
  }
2440
2440
  ],
2441
2441
  "expression": {
2442
- "id": 38265,
2442
+ "id": 38866,
2443
2443
  "name": "StoreSwitch",
2444
2444
  "nodeType": "Identifier",
2445
2445
  "overloadedDeclarations": [],
2446
- "referencedDeclaration": 21771,
2446
+ "referencedDeclaration": 22295,
2447
2447
  "src": "2684:11:77",
2448
2448
  "typeDescriptions": {
2449
- "typeIdentifier": "t_type$_t_contract$_StoreSwitch_$21771_$",
2449
+ "typeIdentifier": "t_type$_t_contract$_StoreSwitch_$22295_$",
2450
2450
  "typeString": "type(library StoreSwitch)"
2451
2451
  }
2452
2452
  },
2453
- "id": 38267,
2453
+ "id": 38868,
2454
2454
  "isConstant": false,
2455
2455
  "isLValue": false,
2456
2456
  "isPure": false,
2457
2457
  "lValueRequested": false,
2458
2458
  "memberName": "registerStoreHook",
2459
2459
  "nodeType": "MemberAccess",
2460
- "referencedDeclaration": 21386,
2460
+ "referencedDeclaration": 21872,
2461
2461
  "src": "2684:29:77",
2462
2462
  "typeDescriptions": {
2463
- "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStoreHook_$17411_$returns$__$",
2463
+ "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStoreHook_$17684_$returns$__$",
2464
2464
  "typeString": "function (bytes32,contract IStoreHook)"
2465
2465
  }
2466
2466
  },
2467
- "id": 38270,
2467
+ "id": 38871,
2468
2468
  "isConstant": false,
2469
2469
  "isLValue": false,
2470
2470
  "isPure": false,
@@ -2479,14 +2479,14 @@
2479
2479
  "typeString": "tuple()"
2480
2480
  }
2481
2481
  },
2482
- "id": 38271,
2482
+ "id": 38872,
2483
2483
  "nodeType": "ExpressionStatement",
2484
2484
  "src": "2684:50:77"
2485
2485
  }
2486
2486
  ]
2487
2487
  },
2488
2488
  "baseFunctions": [
2489
- 33276
2489
+ 33862
2490
2490
  ],
2491
2491
  "functionSelector": "13861fb5",
2492
2492
  "implemented": true,
@@ -2495,23 +2495,23 @@
2495
2495
  "name": "install",
2496
2496
  "nameLocation": "1675:7:77",
2497
2497
  "overrides": {
2498
- "id": 38186,
2498
+ "id": 38787,
2499
2499
  "nodeType": "OverrideSpecifier",
2500
2500
  "overrides": [],
2501
2501
  "src": "1709:8:77"
2502
2502
  },
2503
2503
  "parameters": {
2504
- "id": 38185,
2504
+ "id": 38786,
2505
2505
  "nodeType": "ParameterList",
2506
2506
  "parameters": [
2507
2507
  {
2508
2508
  "constant": false,
2509
- "id": 38184,
2509
+ "id": 38785,
2510
2510
  "mutability": "mutable",
2511
2511
  "name": "args",
2512
2512
  "nameLocation": "1696:4:77",
2513
2513
  "nodeType": "VariableDeclaration",
2514
- "scope": 38273,
2514
+ "scope": 38874,
2515
2515
  "src": "1683:17:77",
2516
2516
  "stateVariable": false,
2517
2517
  "storageLocation": "memory",
@@ -2520,7 +2520,7 @@
2520
2520
  "typeString": "bytes"
2521
2521
  },
2522
2522
  "typeName": {
2523
- "id": 38183,
2523
+ "id": 38784,
2524
2524
  "name": "bytes",
2525
2525
  "nodeType": "ElementaryTypeName",
2526
2526
  "src": "1683:5:77",
@@ -2535,12 +2535,12 @@
2535
2535
  "src": "1682:19:77"
2536
2536
  },
2537
2537
  "returnParameters": {
2538
- "id": 38187,
2538
+ "id": 38788,
2539
2539
  "nodeType": "ParameterList",
2540
2540
  "parameters": [],
2541
2541
  "src": "1718:0:77"
2542
2542
  },
2543
- "scope": 38274,
2543
+ "scope": 38875,
2544
2544
  "stateMutability": "nonpayable",
2545
2545
  "virtual": false,
2546
2546
  "visibility": "public"
@@ -2550,56 +2550,56 @@
2550
2550
  "baseContracts": [
2551
2551
  {
2552
2552
  "baseName": {
2553
- "id": 38158,
2553
+ "id": 38759,
2554
2554
  "name": "IModule",
2555
2555
  "nodeType": "IdentifierPath",
2556
- "referencedDeclaration": 33277,
2556
+ "referencedDeclaration": 33863,
2557
2557
  "src": "1305:7:77"
2558
2558
  },
2559
- "id": 38159,
2559
+ "id": 38760,
2560
2560
  "nodeType": "InheritanceSpecifier",
2561
2561
  "src": "1305:7:77"
2562
2562
  },
2563
2563
  {
2564
2564
  "baseName": {
2565
- "id": 38160,
2565
+ "id": 38761,
2566
2566
  "name": "WorldContext",
2567
2567
  "nodeType": "IdentifierPath",
2568
- "referencedDeclaration": 33161,
2568
+ "referencedDeclaration": 33747,
2569
2569
  "src": "1314:12:77"
2570
2570
  },
2571
- "id": 38161,
2571
+ "id": 38762,
2572
2572
  "nodeType": "InheritanceSpecifier",
2573
2573
  "src": "1314:12:77"
2574
2574
  }
2575
2575
  ],
2576
2576
  "canonicalName": "KeysWithValueModule",
2577
2577
  "contractDependencies": [
2578
- 38136
2578
+ 38737
2579
2579
  ],
2580
2580
  "contractKind": "contract",
2581
2581
  "documentation": {
2582
- "id": 38157,
2582
+ "id": 38758,
2583
2583
  "nodeType": "StructuredDocumentation",
2584
2584
  "src": "618:654:77",
2585
2585
  "text": " This module deploys a hook that is called when a value is set in the `sourceTableId`\n provided in the install methods arguments. The hook keeps track of the keys that map to a given value.\n from value to list of keys with this value. This mapping is stored in a table registered\n by the module at the `targetTableId` provided in the install methods arguments.\n Note: if a table with composite keys is used, only the first key is indexed\n Note: this module currently expects to be `delegatecalled` via World.installRootModule.\n Support for installing it via `World.installModule` depends on `World.callFrom` being implemented."
2586
2586
  },
2587
2587
  "fullyImplemented": true,
2588
2588
  "linearizedBaseContracts": [
2589
- 38274,
2590
- 33161,
2591
- 33277
2589
+ 38875,
2590
+ 33747,
2591
+ 33863
2592
2592
  ],
2593
2593
  "name": "KeysWithValueModule",
2594
2594
  "nameLocation": "1282:19:77",
2595
- "scope": 38275,
2595
+ "scope": 38876,
2596
2596
  "usedErrors": [
2597
- 17926,
2598
- 17928,
2599
- 18710,
2600
- 33264,
2601
- 43007,
2602
- 43011
2597
+ 18199,
2598
+ 18201,
2599
+ 18983,
2600
+ 33850,
2601
+ 43608,
2602
+ 43612
2603
2603
  ]
2604
2604
  }
2605
2605
  ],