@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
@@ -157,13 +157,13 @@
157
157
  }
158
158
  ],
159
159
  "bytecode": {
160
- "object": "0x608060405234801561001057600080fd5b5061212e806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063469b7ee2146100515780636b3d7d5f1461006657806382b6745f14610079578063b51fef6c1461008c575b600080fd5b61006461005f366004611bf1565b61009f565b005b610064610074366004611bf1565b610170565b610064610087366004611c79565b610239565b61006461009a366004611ce6565b61033e565b604051636624edbf60e11b8152600090339063cc49db7e906100c79088908890600401611d68565b600060405180830381865afa1580156100e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010c9190810190611dad565b80519060200120905060006101417f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b9050610168818660008151811061015a5761015a611e1b565b60200260200101518461045f565b505050505050565b604051636624edbf60e11b8152600090339063cc49db7e906101989088908890600401611d68565b600060405180830381865afa1580156101b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101dd9190810190611dad565b80519060200120905060006102127f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b905061016881838760008151811061022c5761022c611e1b565b6020026020010151610482565b60006102657f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b604051636624edbf60e11b8152909150600090339063cc49db7e906102909088908890600401611d68565b600060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102d59190810190611dad565b805190602001209050828051906020012081036102f3575050505050565b610318828560008151811061030a5761030a611e1b565b60200260200101518361045f565b6103378284805190602001208660008151811061022c5761022c611e1b565b5050505050565b604051636624edbf60e11b8152600090339063cc49db7e906103669086908690600401611d68565b600060405180830381865afa158015610383573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ab9190810190611dad565b80519060200120905060006103e07f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b90506103f9818460008151811061015a5761015a611e1b565b50505050565b60008061040c8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006104758361046f86856104f2565b90610566565b90506103f984838361063e565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106104b8576104b8611e1b565b6020026020010181815250506103f984826000856040516020016104de91815260200190565b604051602081830303815290604052610695565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061052c5761052c611e1b565b60200260200101818152505060006105468583600061072d565b905061055d61055882600084516107da565b610873565b95945050505050565b60606000835167ffffffffffffffff81111561058457610584611aac565b6040519080825280602002602001820160405280156105ad578160200160208202803683370190505b5090506000805b855181101561063457848682815181106105d0576105d0611e1b565b602002602001015114610622578581815181106105ef576105ef611e1b565b602002602001015183838151811061060957610609611e1b565b60209081029190910101528161061e81611e47565b9250505b8061062c81611e47565b9150506105b4565b5081529392505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061067457610674611e1b565b6020026020010181815250506103f98482600061069086610884565b610894565b61069d6108ef565b156106b3576106ae8484848461096d565b6103f9565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a6000906106f5908790879087908790600401611e8d565b600060405180830381600087803b15801561070f57600080fd5b505af1158015610723573d6000803e3d6000fd5b5050505050505050565b60606107376108ef565b1561074e57610747848484610ba5565b90506107d3565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c9061078e90879087908790600401611ec1565b600060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107479190810190611dad565b9392505050565b60008183111580156107ed575083518211155b610832578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161082993929190611eed565b60405180910390fd5b602084016108408482611f12565b9050600061084e8585611f2a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006107d38360206001610bc0565b6060816107d38160206001610d03565b61089c6108ef565b156108ad576106ae84848484610d8e565b6040517f114a7266000000000000000000000000000000000000000000000000000000008152339063114a7266906106f5908790879087908790600401611e8d565b6000303b80820361090257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561094857600080fd5b505afa925050508015610959575060015b61096557600091505090565b600191505090565b600061097885610f7e565b905060ff60e882901c811690841610156109be576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109cc86868685610fd3565b836040516020016109de929190611f41565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610a249493929190611e8d565b60405180910390a16000610a378761102c565b905060005b8151811015610ae8576000828281518110610a5957610a59611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610aa29493929190611e8d565b600060405180830381600087803b158015610abc57600080fd5b505af1158015610ad0573d6000803e3d6000fd5b50505050508080610ae090611e47565b915050610a3c565b50610af68787858888611101565b60005b8151811015610723576000828281518110610b1657610b16611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610b5f9493929190611e8d565b600060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b50505050508080610b9d90611e47565b915050610af9565b60606000610bb285610f7e565b905061055d8585858461117a565b60606000610bce8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610c0657610bf5866008611f70565b610c0190610100611f2a565b610c09565b60005b90506000868381610c1c57610c1c611f8f565b049050610c298784611fa5565b15610cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a650000006064820152608401610829565b602080820201604051955080860160405250808552600060208601855b83831015610cf5578051851c8252600192909201916020909101908901610cd3565b505050505050509392505050565b60606000838551610d149190611f70565b90508067ffffffffffffffff811115610d2f57610d2f611aac565b6040519080825280601f01601f191660200182016040528015610d59576020820181803683370190505b508051909250610d869086906fffffffffffffffffffffffffffffffff166020850160801b1786866111ad565b509392505050565b6000610d9985610f7e565b90507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4685858585604051610dd09493929190611e8d565b60405180910390a16000610de38661102c565b905060005b8151811015610e94576000828281518110610e0557610e05611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee2898989896040518563ffffffff1660e01b8152600401610e4e9493929190611e8d565b600060405180830381600087803b158015610e6857600080fd5b505af1158015610e7c573d6000803e3d6000fd5b50505050508080610e8c90611e47565b915050610de8565b5060ff60e883901c81169085161015610eb957610eb486868487876112cc565b610ec6565b610ec68686848787611377565b60005b8151811015610f75576000828281518110610ee657610ee6611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f898989896040518563ffffffff1660e01b8152600401610f2f9493929190611e8d565b600060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b50505050508080610f6d90611e47565b915050610ec9565b50505050505050565b6000610f89826113b2565b905080610fce5781610f9a83611477565b6040517fd623a70d000000000000000000000000000000000000000000000000000000008152600401610829929190611fb9565b919050565b60606000610fe860ff60e885901c1685611fd2565b90506000610ff78787846114a2565b905060006110128360ff1661100c8a8a6114fb565b90611508565b905061101e828261153a565b93505050505b949350505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061106657611066611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b73000000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110ea906110e290611ff5565b83600061072d565b90506110246110fc82600084516107da565b611548565b600061111460ff60e886901c1684611fd2565b905060006111228787611559565b9050600061112e825490565b9050600061113f8260ff8616611508565b905061115d8460ff168651836111559190611f12565b8491906115af565b808455915061116f898986848961168a565b505050505050505050565b606060ff60e883901c811690841610156111a15761119a858585856116ca565b9050611024565b61119a85858585610fd3565b835160006111bb8560801c90565b90506000836111e0576111cf856008611f70565b6111db90610100611f2a565b6111e3565b60005b905060006111f18685611f70565b90506fffffffffffffffffffffffffffffffff8716811115611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f7061636b46726f6d41727261793a20696e73756666696369656e7420616c6c6f60448201527f6361746564207061636b6564536c696365206c656e67746800000000000000006064820152608401610829565b600060208901845b868310156112bf578151851b815260019290920191602090910190880161129d565b5050505050505050505050565b60006112db8460ff851661172a565b905081516112f98260c58111156112f4576112f461201c565b611756565b14611350576113138160c58111156112f4576112f461201c565b82516040517f521b3d3300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610829565b600061135c8787611807565b9050600061136a868661183e565b905061072382828661188a565b600061138a60ff60e886901c1684611fd2565b9050611399868683855161189f565b60006113a68787846114a2565b9050610f7581846118d1565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113eb576113eb611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d6100000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061146d9061146790611ff5565b83611807565b9050611024815490565b60608160405160200161148c91815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016114db9493929190612032565b60408051601f198184030181529190528051602090910120949350505050565b60008061146d8484611559565b600080611516836002611f70565b611521906004611f12565b905061152f84826008021b90565b60f01c949350505050565b60606107d3838360006118e1565b606060006107d38360146000610bc0565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9838360405160200161159093929190612065565b60408051601f1981840301815291905280516020909101209392505050565b600083816115bd8260e01c90565b905060006115ce878760ff16611508565b90508085106115f2576115e18186611f2a565b6115eb9083611f12565b9150611609565b6115fc8582611f2a565b6116069083611f2a565b91505b6000611616876002611f70565b611621906004611f12565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006116978686866114a2565b90506116a46020846120c5565b6116ae9082611f12565b905060006116bd602085611fa5565b9050610f7582828561188a565b606060006116db8360ff861661172a565b905060006116f48260c58111156112f4576112f461201c565b905060006117028888611807565b90506000611710868861183e565b905061171d8284836118e1565b9998505050505050505050565b60006117428361173b846004611f12565b6008021b90565b60f81c60c58111156107d3576107d361201c565b6000808260c581111561176b5761176b61201c565b60ff1690506020811015611784576107d3816001611f12565b60408110156117a457602061179a826001611f12565b6107d39190611f2a565b60608110156117ba57604061179a826001611f12565b60608360c58111156117ce576117ce61201c565b036117dc5750600192915050565b60618360c58111156117f0576117f061201c565b036117fe5750601492915050565b50600092915050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611590939291906120d9565b600080805b8360ff16811015610d865761186c61185b868361172a565b60c58111156112f4576112f461201c565b6118769083611f12565b91508061188281611e47565b915050611843565b60006020820190506103f98484838551611939565b60006118ab8585611559565b905060006118b7825490565b90506118c78160ff8616856115af565b8083559050610168565b6118dd8260008361188a565b5050565b60608267ffffffffffffffff8111156118fc576118fc611aac565b6040519080825280601f01601f191660200182016040528015611926576020820181803683370190505b50905060208101610d86858585846119f7565b60208304840193506020838161195157611951611f8f565b06925082156119aa5760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116119955750506103f9565b6119a0600187611f12565b9550509182019190035b602081106119d357815184556119c1600185611f12565b935060209190910190601f19016119aa565b80156103f9576000600019600883021c198554845182169119161785555050505050565b602082048401935060208281611a0f57611a0f611f8f565b0691508115611a605760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611a4b5750506103f9565b611a56600187611f12565b9550509283900392015b60208310611a885783548152611a77600185611f12565b9350601f1990920191602001611a60565b82156103f9576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611aeb57611aeb611aac565b604052919050565b600082601f830112611b0457600080fd5b8135602067ffffffffffffffff821115611b2057611b20611aac565b8160051b611b2f828201611ac2565b9283528481018201928281019087851115611b4957600080fd5b83870192505b84831015611b6857823582529183019190830190611b4f565b979650505050505050565b600067ffffffffffffffff821115611b8d57611b8d611aac565b50601f01601f191660200190565b600082601f830112611bac57600080fd5b8135611bbf611bba82611b73565b611ac2565b818152846020838601011115611bd457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611c0757600080fd5b84359350602085013567ffffffffffffffff80821115611c2657600080fd5b611c3288838901611af3565b94506040870135915060ff82168214611c4a57600080fd5b90925060608601359080821115611c6057600080fd5b50611c6d87828801611b9b565b91505092959194509250565b600080600060608486031215611c8e57600080fd5b83359250602084013567ffffffffffffffff80821115611cad57600080fd5b611cb987838801611af3565b93506040860135915080821115611ccf57600080fd5b50611cdc86828701611b9b565b9150509250925092565b60008060408385031215611cf957600080fd5b82359150602083013567ffffffffffffffff811115611d1757600080fd5b611d2385828601611af3565b9150509250929050565b600081518084526020808501945080840160005b83811015611d5d57815187529582019590820190600101611d41565b509495945050505050565b8281526040602082015260006110246040830184611d2d565b60005b83811015611d9c578181015183820152602001611d84565b838111156103f95750506000910152565b600060208284031215611dbf57600080fd5b815167ffffffffffffffff811115611dd657600080fd5b8201601f81018413611de757600080fd5b8051611df5611bba82611b73565b818152856020838501011115611e0a57600080fd5b61055d826020830160208601611d81565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203611e5a57611e5a611e31565b5060010190565b60008151808452611e79816020860160208601611d81565b601f01601f19169290920160200192915050565b848152608060208201526000611ea66080830186611d2d565b60ff851660408401528281036060840152611b688185611e61565b838152606060208201526000611eda6060830185611d2d565b905060ff83166040830152949350505050565b606081526000611f006060830186611e61565b60208301949094525060400152919050565b60008219821115611f2557611f25611e31565b500190565b600082821015611f3c57611f3c611e31565b500390565b60008351611f53818460208801611d81565b835190830190611f67818360208801611d81565b01949350505050565b6000816000190483118215151615611f8a57611f8a611e31565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611fb457611fb4611f8f565b500690565b8281526040602082015260006110246040830184611e61565b600060ff821660ff841680821015611fec57611fec611e31565b90039392505050565b80516020808301519190811015612016576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052602160045260246000fd5b8481528360208201526080604082015260006120516080830185611d2d565b905060ff8316606083015295945050505050565b8381528260208201526080604082015260006120846080830184611d2d565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b6000826120d4576120d4611f8f565b500490565b83815282602082015260606040820152600061055d6060830184611d2d56fea264697066735822122024c991b672d789bcdb2f0907ef2fb5df57f7572af7b0b6c119e9f7047397f0d964736f6c634300080d0033",
160
+ "object": "0x608060405234801561001057600080fd5b5061212e806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063469b7ee2146100515780636b3d7d5f1461006657806382b6745f14610079578063b51fef6c1461008c575b600080fd5b61006461005f366004611bf1565b61009f565b005b610064610074366004611bf1565b610170565b610064610087366004611c79565b610239565b61006461009a366004611ce6565b61033e565b604051636624edbf60e11b8152600090339063cc49db7e906100c79088908890600401611d68565b600060405180830381865afa1580156100e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010c9190810190611dad565b80519060200120905060006101417f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b9050610168818660008151811061015a5761015a611e1b565b60200260200101518461045f565b505050505050565b604051636624edbf60e11b8152600090339063cc49db7e906101989088908890600401611d68565b600060405180830381865afa1580156101b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101dd9190810190611dad565b80519060200120905060006102127f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b905061016881838760008151811061022c5761022c611e1b565b6020026020010151610482565b60006102657f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b604051636624edbf60e11b8152909150600090339063cc49db7e906102909088908890600401611d68565b600060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102d59190810190611dad565b805190602001209050828051906020012081036102f3575050505050565b610318828560008151811061030a5761030a611e1b565b60200260200101518361045f565b6103378284805190602001208660008151811061022c5761022c611e1b565b5050505050565b604051636624edbf60e11b8152600090339063cc49db7e906103669086908690600401611d68565b600060405180830381865afa158015610383573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ab9190810190611dad565b80519060200120905060006103e07f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b90506103f9818460008151811061015a5761015a611e1b565b50505050565b60008061040c8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006104758361046f86856104f2565b90610566565b90506103f984838361063e565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106104b8576104b8611e1b565b6020026020010181815250506103f984826000856040516020016104de91815260200190565b604051602081830303815290604052610695565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061052c5761052c611e1b565b60200260200101818152505060006105468583600061072d565b905061055d61055882600084516107da565b610873565b95945050505050565b60606000835167ffffffffffffffff81111561058457610584611aac565b6040519080825280602002602001820160405280156105ad578160200160208202803683370190505b5090506000805b855181101561063457848682815181106105d0576105d0611e1b565b602002602001015114610622578581815181106105ef576105ef611e1b565b602002602001015183838151811061060957610609611e1b565b60209081029190910101528161061e81611e47565b9250505b8061062c81611e47565b9150506105b4565b5081529392505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061067457610674611e1b565b6020026020010181815250506103f98482600061069086610884565b610894565b61069d6108ef565b156106b3576106ae8484848461096d565b6103f9565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a6000906106f5908790879087908790600401611e8d565b600060405180830381600087803b15801561070f57600080fd5b505af1158015610723573d6000803e3d6000fd5b5050505050505050565b60606107376108ef565b1561074e57610747848484610ba5565b90506107d3565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c9061078e90879087908790600401611ec1565b600060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107479190810190611dad565b9392505050565b60008183111580156107ed575083518211155b610832578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161082993929190611eed565b60405180910390fd5b602084016108408482611f12565b9050600061084e8585611f2a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006107d38360206001610bc0565b6060816107d38160206001610d03565b61089c6108ef565b156108ad576106ae84848484610d8e565b6040517f114a7266000000000000000000000000000000000000000000000000000000008152339063114a7266906106f5908790879087908790600401611e8d565b6000303b80820361090257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561094857600080fd5b505afa925050508015610959575060015b61096557600091505090565b600191505090565b600061097885610f7e565b905060ff60e882901c811690841610156109be576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109cc86868685610fd3565b836040516020016109de929190611f41565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610a249493929190611e8d565b60405180910390a16000610a378761102c565b905060005b8151811015610ae8576000828281518110610a5957610a59611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610aa29493929190611e8d565b600060405180830381600087803b158015610abc57600080fd5b505af1158015610ad0573d6000803e3d6000fd5b50505050508080610ae090611e47565b915050610a3c565b50610af68787858888611101565b60005b8151811015610723576000828281518110610b1657610b16611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610b5f9493929190611e8d565b600060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b50505050508080610b9d90611e47565b915050610af9565b60606000610bb285610f7e565b905061055d8585858461117a565b60606000610bce8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610c0657610bf5866008611f70565b610c0190610100611f2a565b610c09565b60005b90506000868381610c1c57610c1c611f8f565b049050610c298784611fa5565b15610cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a650000006064820152608401610829565b602080820201604051955080860160405250808552600060208601855b83831015610cf5578051851c8252600192909201916020909101908901610cd3565b505050505050509392505050565b60606000838551610d149190611f70565b90508067ffffffffffffffff811115610d2f57610d2f611aac565b6040519080825280601f01601f191660200182016040528015610d59576020820181803683370190505b508051909250610d869086906fffffffffffffffffffffffffffffffff166020850160801b1786866111ad565b509392505050565b6000610d9985610f7e565b90507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4685858585604051610dd09493929190611e8d565b60405180910390a16000610de38661102c565b905060005b8151811015610e94576000828281518110610e0557610e05611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee2898989896040518563ffffffff1660e01b8152600401610e4e9493929190611e8d565b600060405180830381600087803b158015610e6857600080fd5b505af1158015610e7c573d6000803e3d6000fd5b50505050508080610e8c90611e47565b915050610de8565b5060ff60e883901c81169085161015610eb957610eb486868487876112cc565b610ec6565b610ec68686848787611377565b60005b8151811015610f75576000828281518110610ee657610ee6611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f898989896040518563ffffffff1660e01b8152600401610f2f9493929190611e8d565b600060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b50505050508080610f6d90611e47565b915050610ec9565b50505050505050565b6000610f89826113b2565b905080610fce5781610f9a83611477565b6040517fd623a70d000000000000000000000000000000000000000000000000000000008152600401610829929190611fb9565b919050565b60606000610fe860ff60e885901c1685611fd2565b90506000610ff78787846114a2565b905060006110128360ff1661100c8a8a6114fb565b90611508565b905061101e828261153a565b93505050505b949350505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061106657611066611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b73000000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110ea906110e290611ff5565b83600061072d565b90506110246110fc82600084516107da565b611548565b600061111460ff60e886901c1684611fd2565b905060006111228787611559565b9050600061112e825490565b9050600061113f8260ff8616611508565b905061115d8460ff168651836111559190611f12565b8491906115af565b808455915061116f898986848961168a565b505050505050505050565b606060ff60e883901c811690841610156111a15761119a858585856116ca565b9050611024565b61119a85858585610fd3565b835160006111bb8560801c90565b90506000836111e0576111cf856008611f70565b6111db90610100611f2a565b6111e3565b60005b905060006111f18685611f70565b90506fffffffffffffffffffffffffffffffff8716811115611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f7061636b46726f6d41727261793a20696e73756666696369656e7420616c6c6f60448201527f6361746564207061636b6564536c696365206c656e67746800000000000000006064820152608401610829565b600060208901845b868310156112bf578151851b815260019290920191602090910190880161129d565b5050505050505050505050565b60006112db8460ff851661172a565b905081516112f98260c58111156112f4576112f461201c565b611756565b14611350576113138160c58111156112f4576112f461201c565b82516040517f521b3d3300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610829565b600061135c8787611807565b9050600061136a868661183e565b905061072382828661188a565b600061138a60ff60e886901c1684611fd2565b9050611399868683855161189f565b60006113a68787846114a2565b9050610f7581846118d1565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113eb576113eb611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d6100000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061146d9061146790611ff5565b83611807565b9050611024815490565b60608160405160200161148c91815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016114db9493929190612032565b60408051601f198184030181529190528051602090910120949350505050565b60008061146d8484611559565b600080611516836002611f70565b611521906004611f12565b905061152f84826008021b90565b60f01c949350505050565b60606107d3838360006118e1565b606060006107d38360146000610bc0565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9838360405160200161159093929190612065565b60408051601f1981840301815291905280516020909101209392505050565b600083816115bd8260e01c90565b905060006115ce878760ff16611508565b90508085106115f2576115e18186611f2a565b6115eb9083611f12565b9150611609565b6115fc8582611f2a565b6116069083611f2a565b91505b6000611616876002611f70565b611621906004611f12565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006116978686866114a2565b90506116a46020846120c5565b6116ae9082611f12565b905060006116bd602085611fa5565b9050610f7582828561188a565b606060006116db8360ff861661172a565b905060006116f48260c58111156112f4576112f461201c565b905060006117028888611807565b90506000611710868861183e565b905061171d8284836118e1565b9998505050505050505050565b60006117428361173b846004611f12565b6008021b90565b60f81c60c58111156107d3576107d361201c565b6000808260c581111561176b5761176b61201c565b60ff1690506020811015611784576107d3816001611f12565b60408110156117a457602061179a826001611f12565b6107d39190611f2a565b60608110156117ba57604061179a826001611f12565b60608360c58111156117ce576117ce61201c565b036117dc5750600192915050565b60618360c58111156117f0576117f061201c565b036117fe5750601492915050565b50600092915050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611590939291906120d9565b600080805b8360ff16811015610d865761186c61185b868361172a565b60c58111156112f4576112f461201c565b6118769083611f12565b91508061188281611e47565b915050611843565b60006020820190506103f98484838551611939565b60006118ab8585611559565b905060006118b7825490565b90506118c78160ff8616856115af565b8083559050610168565b6118dd8260008361188a565b5050565b60608267ffffffffffffffff8111156118fc576118fc611aac565b6040519080825280601f01601f191660200182016040528015611926576020820181803683370190505b50905060208101610d86858585846119f7565b60208304840193506020838161195157611951611f8f565b06925082156119aa5760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116119955750506103f9565b6119a0600187611f12565b9550509182019190035b602081106119d357815184556119c1600185611f12565b935060209190910190601f19016119aa565b80156103f9576000600019600883021c198554845182169119161785555050505050565b602082048401935060208281611a0f57611a0f611f8f565b0691508115611a605760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611a4b5750506103f9565b611a56600187611f12565b9550509283900392015b60208310611a885783548152611a77600185611f12565b9350601f1990920191602001611a60565b82156103f9576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611aeb57611aeb611aac565b604052919050565b600082601f830112611b0457600080fd5b8135602067ffffffffffffffff821115611b2057611b20611aac565b8160051b611b2f828201611ac2565b9283528481018201928281019087851115611b4957600080fd5b83870192505b84831015611b6857823582529183019190830190611b4f565b979650505050505050565b600067ffffffffffffffff821115611b8d57611b8d611aac565b50601f01601f191660200190565b600082601f830112611bac57600080fd5b8135611bbf611bba82611b73565b611ac2565b818152846020838601011115611bd457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611c0757600080fd5b84359350602085013567ffffffffffffffff80821115611c2657600080fd5b611c3288838901611af3565b94506040870135915060ff82168214611c4a57600080fd5b90925060608601359080821115611c6057600080fd5b50611c6d87828801611b9b565b91505092959194509250565b600080600060608486031215611c8e57600080fd5b83359250602084013567ffffffffffffffff80821115611cad57600080fd5b611cb987838801611af3565b93506040860135915080821115611ccf57600080fd5b50611cdc86828701611b9b565b9150509250925092565b60008060408385031215611cf957600080fd5b82359150602083013567ffffffffffffffff811115611d1757600080fd5b611d2385828601611af3565b9150509250929050565b600081518084526020808501945080840160005b83811015611d5d57815187529582019590820190600101611d41565b509495945050505050565b8281526040602082015260006110246040830184611d2d565b60005b83811015611d9c578181015183820152602001611d84565b838111156103f95750506000910152565b600060208284031215611dbf57600080fd5b815167ffffffffffffffff811115611dd657600080fd5b8201601f81018413611de757600080fd5b8051611df5611bba82611b73565b818152856020838501011115611e0a57600080fd5b61055d826020830160208601611d81565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203611e5a57611e5a611e31565b5060010190565b60008151808452611e79816020860160208601611d81565b601f01601f19169290920160200192915050565b848152608060208201526000611ea66080830186611d2d565b60ff851660408401528281036060840152611b688185611e61565b838152606060208201526000611eda6060830185611d2d565b905060ff83166040830152949350505050565b606081526000611f006060830186611e61565b60208301949094525060400152919050565b60008219821115611f2557611f25611e31565b500190565b600082821015611f3c57611f3c611e31565b500390565b60008351611f53818460208801611d81565b835190830190611f67818360208801611d81565b01949350505050565b6000816000190483118215151615611f8a57611f8a611e31565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611fb457611fb4611f8f565b500690565b8281526040602082015260006110246040830184611e61565b600060ff821660ff841680821015611fec57611fec611e31565b90039392505050565b80516020808301519190811015612016576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052602160045260246000fd5b8481528360208201526080604082015260006120516080830185611d2d565b905060ff8316606083015295945050505050565b8381528260208201526080604082015260006120846080830184611d2d565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b6000826120d4576120d4611f8f565b500490565b83815282602082015260606040820152600061055d6060830184611d2d56fea2646970667358221220d49e70709e9c3edaaa5bebc3a0fcfb1e0053a71143afab3d9c6e80405707c2db64736f6c634300080d0033",
161
161
  "sourceMap": "878:2366:76:-:0;;;;;;;;;;;;;;;;;;;",
162
162
  "linkReferences": {}
163
163
  },
164
164
  "deployedBytecode": {
165
- "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063469b7ee2146100515780636b3d7d5f1461006657806382b6745f14610079578063b51fef6c1461008c575b600080fd5b61006461005f366004611bf1565b61009f565b005b610064610074366004611bf1565b610170565b610064610087366004611c79565b610239565b61006461009a366004611ce6565b61033e565b604051636624edbf60e11b8152600090339063cc49db7e906100c79088908890600401611d68565b600060405180830381865afa1580156100e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010c9190810190611dad565b80519060200120905060006101417f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b9050610168818660008151811061015a5761015a611e1b565b60200260200101518461045f565b505050505050565b604051636624edbf60e11b8152600090339063cc49db7e906101989088908890600401611d68565b600060405180830381865afa1580156101b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101dd9190810190611dad565b80519060200120905060006102127f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b905061016881838760008151811061022c5761022c611e1b565b6020026020010151610482565b60006102657f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b604051636624edbf60e11b8152909150600090339063cc49db7e906102909088908890600401611d68565b600060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102d59190810190611dad565b805190602001209050828051906020012081036102f3575050505050565b610318828560008151811061030a5761030a611e1b565b60200260200101518361045f565b6103378284805190602001208660008151811061022c5761022c611e1b565b5050505050565b604051636624edbf60e11b8152600090339063cc49db7e906103669086908690600401611d68565b600060405180830381865afa158015610383573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ab9190810190611dad565b80519060200120905060006103e07f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b90506103f9818460008151811061015a5761015a611e1b565b50505050565b60008061040c8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006104758361046f86856104f2565b90610566565b90506103f984838361063e565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106104b8576104b8611e1b565b6020026020010181815250506103f984826000856040516020016104de91815260200190565b604051602081830303815290604052610695565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061052c5761052c611e1b565b60200260200101818152505060006105468583600061072d565b905061055d61055882600084516107da565b610873565b95945050505050565b60606000835167ffffffffffffffff81111561058457610584611aac565b6040519080825280602002602001820160405280156105ad578160200160208202803683370190505b5090506000805b855181101561063457848682815181106105d0576105d0611e1b565b602002602001015114610622578581815181106105ef576105ef611e1b565b602002602001015183838151811061060957610609611e1b565b60209081029190910101528161061e81611e47565b9250505b8061062c81611e47565b9150506105b4565b5081529392505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061067457610674611e1b565b6020026020010181815250506103f98482600061069086610884565b610894565b61069d6108ef565b156106b3576106ae8484848461096d565b6103f9565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a6000906106f5908790879087908790600401611e8d565b600060405180830381600087803b15801561070f57600080fd5b505af1158015610723573d6000803e3d6000fd5b5050505050505050565b60606107376108ef565b1561074e57610747848484610ba5565b90506107d3565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c9061078e90879087908790600401611ec1565b600060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107479190810190611dad565b9392505050565b60008183111580156107ed575083518211155b610832578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161082993929190611eed565b60405180910390fd5b602084016108408482611f12565b9050600061084e8585611f2a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006107d38360206001610bc0565b6060816107d38160206001610d03565b61089c6108ef565b156108ad576106ae84848484610d8e565b6040517f114a7266000000000000000000000000000000000000000000000000000000008152339063114a7266906106f5908790879087908790600401611e8d565b6000303b80820361090257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561094857600080fd5b505afa925050508015610959575060015b61096557600091505090565b600191505090565b600061097885610f7e565b905060ff60e882901c811690841610156109be576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109cc86868685610fd3565b836040516020016109de929190611f41565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610a249493929190611e8d565b60405180910390a16000610a378761102c565b905060005b8151811015610ae8576000828281518110610a5957610a59611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610aa29493929190611e8d565b600060405180830381600087803b158015610abc57600080fd5b505af1158015610ad0573d6000803e3d6000fd5b50505050508080610ae090611e47565b915050610a3c565b50610af68787858888611101565b60005b8151811015610723576000828281518110610b1657610b16611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610b5f9493929190611e8d565b600060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b50505050508080610b9d90611e47565b915050610af9565b60606000610bb285610f7e565b905061055d8585858461117a565b60606000610bce8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610c0657610bf5866008611f70565b610c0190610100611f2a565b610c09565b60005b90506000868381610c1c57610c1c611f8f565b049050610c298784611fa5565b15610cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a650000006064820152608401610829565b602080820201604051955080860160405250808552600060208601855b83831015610cf5578051851c8252600192909201916020909101908901610cd3565b505050505050509392505050565b60606000838551610d149190611f70565b90508067ffffffffffffffff811115610d2f57610d2f611aac565b6040519080825280601f01601f191660200182016040528015610d59576020820181803683370190505b508051909250610d869086906fffffffffffffffffffffffffffffffff166020850160801b1786866111ad565b509392505050565b6000610d9985610f7e565b90507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4685858585604051610dd09493929190611e8d565b60405180910390a16000610de38661102c565b905060005b8151811015610e94576000828281518110610e0557610e05611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee2898989896040518563ffffffff1660e01b8152600401610e4e9493929190611e8d565b600060405180830381600087803b158015610e6857600080fd5b505af1158015610e7c573d6000803e3d6000fd5b50505050508080610e8c90611e47565b915050610de8565b5060ff60e883901c81169085161015610eb957610eb486868487876112cc565b610ec6565b610ec68686848787611377565b60005b8151811015610f75576000828281518110610ee657610ee6611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f898989896040518563ffffffff1660e01b8152600401610f2f9493929190611e8d565b600060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b50505050508080610f6d90611e47565b915050610ec9565b50505050505050565b6000610f89826113b2565b905080610fce5781610f9a83611477565b6040517fd623a70d000000000000000000000000000000000000000000000000000000008152600401610829929190611fb9565b919050565b60606000610fe860ff60e885901c1685611fd2565b90506000610ff78787846114a2565b905060006110128360ff1661100c8a8a6114fb565b90611508565b905061101e828261153a565b93505050505b949350505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061106657611066611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b73000000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110ea906110e290611ff5565b83600061072d565b90506110246110fc82600084516107da565b611548565b600061111460ff60e886901c1684611fd2565b905060006111228787611559565b9050600061112e825490565b9050600061113f8260ff8616611508565b905061115d8460ff168651836111559190611f12565b8491906115af565b808455915061116f898986848961168a565b505050505050505050565b606060ff60e883901c811690841610156111a15761119a858585856116ca565b9050611024565b61119a85858585610fd3565b835160006111bb8560801c90565b90506000836111e0576111cf856008611f70565b6111db90610100611f2a565b6111e3565b60005b905060006111f18685611f70565b90506fffffffffffffffffffffffffffffffff8716811115611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f7061636b46726f6d41727261793a20696e73756666696369656e7420616c6c6f60448201527f6361746564207061636b6564536c696365206c656e67746800000000000000006064820152608401610829565b600060208901845b868310156112bf578151851b815260019290920191602090910190880161129d565b5050505050505050505050565b60006112db8460ff851661172a565b905081516112f98260c58111156112f4576112f461201c565b611756565b14611350576113138160c58111156112f4576112f461201c565b82516040517f521b3d3300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610829565b600061135c8787611807565b9050600061136a868661183e565b905061072382828661188a565b600061138a60ff60e886901c1684611fd2565b9050611399868683855161189f565b60006113a68787846114a2565b9050610f7581846118d1565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113eb576113eb611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d6100000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061146d9061146790611ff5565b83611807565b9050611024815490565b60608160405160200161148c91815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016114db9493929190612032565b60408051601f198184030181529190528051602090910120949350505050565b60008061146d8484611559565b600080611516836002611f70565b611521906004611f12565b905061152f84826008021b90565b60f01c949350505050565b60606107d3838360006118e1565b606060006107d38360146000610bc0565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9838360405160200161159093929190612065565b60408051601f1981840301815291905280516020909101209392505050565b600083816115bd8260e01c90565b905060006115ce878760ff16611508565b90508085106115f2576115e18186611f2a565b6115eb9083611f12565b9150611609565b6115fc8582611f2a565b6116069083611f2a565b91505b6000611616876002611f70565b611621906004611f12565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006116978686866114a2565b90506116a46020846120c5565b6116ae9082611f12565b905060006116bd602085611fa5565b9050610f7582828561188a565b606060006116db8360ff861661172a565b905060006116f48260c58111156112f4576112f461201c565b905060006117028888611807565b90506000611710868861183e565b905061171d8284836118e1565b9998505050505050505050565b60006117428361173b846004611f12565b6008021b90565b60f81c60c58111156107d3576107d361201c565b6000808260c581111561176b5761176b61201c565b60ff1690506020811015611784576107d3816001611f12565b60408110156117a457602061179a826001611f12565b6107d39190611f2a565b60608110156117ba57604061179a826001611f12565b60608360c58111156117ce576117ce61201c565b036117dc5750600192915050565b60618360c58111156117f0576117f061201c565b036117fe5750601492915050565b50600092915050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611590939291906120d9565b600080805b8360ff16811015610d865761186c61185b868361172a565b60c58111156112f4576112f461201c565b6118769083611f12565b91508061188281611e47565b915050611843565b60006020820190506103f98484838551611939565b60006118ab8585611559565b905060006118b7825490565b90506118c78160ff8616856115af565b8083559050610168565b6118dd8260008361188a565b5050565b60608267ffffffffffffffff8111156118fc576118fc611aac565b6040519080825280601f01601f191660200182016040528015611926576020820181803683370190505b50905060208101610d86858585846119f7565b60208304840193506020838161195157611951611f8f565b06925082156119aa5760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116119955750506103f9565b6119a0600187611f12565b9550509182019190035b602081106119d357815184556119c1600185611f12565b935060209190910190601f19016119aa565b80156103f9576000600019600883021c198554845182169119161785555050505050565b602082048401935060208281611a0f57611a0f611f8f565b0691508115611a605760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611a4b5750506103f9565b611a56600187611f12565b9550509283900392015b60208310611a885783548152611a77600185611f12565b9350601f1990920191602001611a60565b82156103f9576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611aeb57611aeb611aac565b604052919050565b600082601f830112611b0457600080fd5b8135602067ffffffffffffffff821115611b2057611b20611aac565b8160051b611b2f828201611ac2565b9283528481018201928281019087851115611b4957600080fd5b83870192505b84831015611b6857823582529183019190830190611b4f565b979650505050505050565b600067ffffffffffffffff821115611b8d57611b8d611aac565b50601f01601f191660200190565b600082601f830112611bac57600080fd5b8135611bbf611bba82611b73565b611ac2565b818152846020838601011115611bd457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611c0757600080fd5b84359350602085013567ffffffffffffffff80821115611c2657600080fd5b611c3288838901611af3565b94506040870135915060ff82168214611c4a57600080fd5b90925060608601359080821115611c6057600080fd5b50611c6d87828801611b9b565b91505092959194509250565b600080600060608486031215611c8e57600080fd5b83359250602084013567ffffffffffffffff80821115611cad57600080fd5b611cb987838801611af3565b93506040860135915080821115611ccf57600080fd5b50611cdc86828701611b9b565b9150509250925092565b60008060408385031215611cf957600080fd5b82359150602083013567ffffffffffffffff811115611d1757600080fd5b611d2385828601611af3565b9150509250929050565b600081518084526020808501945080840160005b83811015611d5d57815187529582019590820190600101611d41565b509495945050505050565b8281526040602082015260006110246040830184611d2d565b60005b83811015611d9c578181015183820152602001611d84565b838111156103f95750506000910152565b600060208284031215611dbf57600080fd5b815167ffffffffffffffff811115611dd657600080fd5b8201601f81018413611de757600080fd5b8051611df5611bba82611b73565b818152856020838501011115611e0a57600080fd5b61055d826020830160208601611d81565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203611e5a57611e5a611e31565b5060010190565b60008151808452611e79816020860160208601611d81565b601f01601f19169290920160200192915050565b848152608060208201526000611ea66080830186611d2d565b60ff851660408401528281036060840152611b688185611e61565b838152606060208201526000611eda6060830185611d2d565b905060ff83166040830152949350505050565b606081526000611f006060830186611e61565b60208301949094525060400152919050565b60008219821115611f2557611f25611e31565b500190565b600082821015611f3c57611f3c611e31565b500390565b60008351611f53818460208801611d81565b835190830190611f67818360208801611d81565b01949350505050565b6000816000190483118215151615611f8a57611f8a611e31565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611fb457611fb4611f8f565b500690565b8281526040602082015260006110246040830184611e61565b600060ff821660ff841680821015611fec57611fec611e31565b90039392505050565b80516020808301519190811015612016576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052602160045260246000fd5b8481528360208201526080604082015260006120516080830185611d2d565b905060ff8316606083015295945050505050565b8381528260208201526080604082015260006120846080830184611d2d565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b6000826120d4576120d4611f8f565b500490565b83815282602082015260606040820152600061055d6060830184611d2d56fea264697066735822122024c991b672d789bcdb2f0907ef2fb5df57f7572af7b0b6c119e9f7047397f0d964736f6c634300080d0033",
166
- "sourceMap": "878:2366:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1652:412;;;;;;:::i;:::-;;:::i;:::-;;2068:391;;;;;;:::i;:::-;;:::i;994:654::-;;;;;;:::i;:::-;;:::i;2463:389::-;;;;;;:::i;:::-;;:::i;1652:412::-;1859:52;;-1:-1:-1;;;1859:52:76;;1825:21;;1870:10;;1859:32;;:52;;1892:13;;1907:3;;1859:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1859:52:76;;;;;;;;;;;;:::i;:::-;1849:63;;;;;;1825:87;;1918:21;1942:55;1965:16;1983:13;1942:22;:55::i;:::-;1918:79;;2003:56;2022:13;2037:3;2041:1;2037:6;;;;;;;;:::i;:::-;;;;;;;2045:13;2003:18;:56::i;:::-;1751:313;;1652:412;;;;:::o;2068:391::-;2259:52;;-1:-1:-1;;;2259:52:76;;2230:16;;2270:10;;2259:32;;:52;;2292:13;;2307:3;;2259:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2259:52:76;;;;;;;;;;;;:::i;:::-;2249:63;;;;;;2230:82;;2318:21;2342:55;2365:16;2383:13;2342:22;:55::i;:::-;2318:79;;2403:51;2422:13;2437:8;2447:3;2451:1;2447:6;;;;;;;;:::i;:::-;;;;;;;2403:18;:51::i;994:654::-;1092:21;1116:55;1139:16;1157:13;1116:22;:55::i;:::-;1242:52;;-1:-1:-1;;;1242:52:76;;1092:79;;-1:-1:-1;1208:21:76;;1253:10;;1242:32;;:52;;1275:13;;1290:3;;1242:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1242:52:76;;;;;;;;;;;;:::i;:::-;1232:63;;;;;;1208:87;;1375:4;1365:15;;;;;;1348:13;:32;1344:45;;1382:7;;994:654;;;:::o;1344:45::-;1463:56;1482:13;1497:3;1501:1;1497:6;;;;;;;;:::i;:::-;;;;;;;1505:13;1463:18;:56::i;:::-;1585:58;1604:13;1629:4;1619:15;;;;;;1636:3;1640:1;1636:6;;;;;;;;:::i;1585:58::-;1086:562;;994:654;;;:::o;2463:389::-;2647:52;;-1:-1:-1;;;2647:52:76;;2613:21;;2658:10;;2647:32;;:52;;2680:13;;2695:3;;2647:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2647:52:76;;;;;;;;;;;;:::i;:::-;2637:63;;;;;;2613:87;;2706:21;2730:55;2753:16;2771:13;2730:22;:55::i;:::-;2706:79;;2791:56;2810:13;2825:3;2829:1;2825:6;;;;;;;;:::i;2791:56::-;2539:313;;2463:389;;:::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;2856:386:76:-;3024:38;3065:55;3116:3;3065:43;3083:13;3098:9;3065:17;:43::i;:::-;:50;;:55::i;:::-;3024:96;;3171:66;3189:13;3204:9;3215:21;3171:17;:66::i;3985:268:80:-;4101:16;;;4115:1;4101:16;;;;;;;;;4069:29;;4101:16;;;;;;;;;;;-1:-1:-1;4101:16:80;4069:48;;4150:9;4123:12;4136:1;4123:15;;;;;;;;:::i;:::-;;;;;;:38;;;;;4168:80;4192:8;4202:12;4216:1;4237:8;4219:28;;;;;;5832:19:93;;5876:2;5867:12;;5703:182;4219:28:80;;;;;;;;;;;;;4168:23;:80::i;2456:364::-;2599:16;;;2613:1;2599:16;;;;;;;;;2529:30;;2567:29;;2599:16;;;;;;;;;;;;-1:-1:-1;2599:16:80;2567:48;;2648:9;2621:12;2634:1;2621:15;;;;;;;;:::i;:::-;;;;;;:38;;;;;2666:18;2687:47;2708:8;2718:12;2732:1;2687:20;:47::i;:::-;2666:68;;2748:66;:44;2769:5;2776:1;2779:5;:12;2748:20;:44::i;:::-;:64;:66::i;:::-;2740:75;2456:364;-1:-1:-1;;;;;2456:364:80:o;301:535:86:-;379:16;403:25;445:3;:10;431:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;431:25:86;;403:53;;462:21;498:9;493:150;513:3;:10;509:1;:14;493:150;;;552:7;542:3;546:1;542:6;;;;;;;;:::i;:::-;;;;;;;:17;538:99;;597:3;601:1;597:6;;;;;;;;:::i;:::-;;;;;;;571:8;580:13;571:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;613:15;;;;:::i;:::-;;;;538:99;525:3;;;;:::i;:::-;;;;493:150;;;-1:-1:-1;773:31:86;;;301:535;-1:-1:-1;;;301:535:86:o;3300:285:80:-;3429:16;;;3443:1;3429:16;;;;;;;;;3397:29;;3429:16;;;;;;;;;;;-1:-1:-1;3429:16:80;3397:48;;3478:9;3451:12;3464:1;3451:15;;;;;;;;:::i;:::-;;;;;;:38;;;;;3496:84;3517:8;3527:12;3541:1;3544:35;3564:13;3544:18;:35::i;:::-;3496:20;:84::i;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;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2765:301;;;;:::o;4206:285::-;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;4322:165::-;4206:285;;;;;:::o;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;21600:215:41:-;21664:23;21695:29;21727:33;21745:4;21751:2;21755:4;21727:17;:33::i;23054:230:42:-;23117:19;23214:5;23237:42;23214:5;23270:2;23274:4;23237:17;:42::i;2487:274:32:-;2598:16;:14;:16::i;:::-;2594:163;;;2624:48;2643:5;2650:3;2655:10;2667:4;2624:18;:48::i;2594:163::-;2693:57;;;;;2700:10;;2693:27;;:57;;2721:5;;2728:3;;2733:10;;2745:4;;2693:57;;;:::i;624:497::-;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;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;;15699:214;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;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;;;;;9431:2:93;3050:71:43;;;9413:21:93;9470:2;9450:18;;;9443:30;9509:34;9489:18;;;9482:62;9580:31;9560:18;;;9553:59;9629:19;;3050:71:43;9229: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;1863:315::-;1981:17;2006:20;2044:11;2029:5;:12;:26;;;;:::i;:::-;2006:49;;2078:12;2068:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2068:23:43;-1:-1:-1;1109:11:28;;2061:30:43;;-1:-1:-1;2097:76:43;;2115:5;;642:17:28;1109:22;944:4;934:15;;1101:3;1089:15;1088:44;2148:11:43;2161;2097:17;:76::i;:::-;2000:178;1863:315;;;;;:::o;7911:974:30:-;8021:13;8037:18;8047:7;8037:9;:18::i;:::-;8021:34;;8104:46;8118:7;8127:3;8132:11;8145:4;8104:46;;;;;;;;;:::i;:::-;;;;;;;;8221:22;8246:18;8256:7;8246:9;:18::i;:::-;8221:43;;8276:9;8271:154;8291:5;:12;8287:1;:16;8271:154;;;8318:15;8347:5;8353:1;8347:8;;;;;;;;:::i;:::-;;;;;;;8318:38;;8364:4;:21;;;8386:7;8395:3;8400:11;8413:4;8364:54;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8310:115;8305:3;;;;;:::i;:::-;;;;8271:154;;;-1:-1:-1;5041:45:27;;;;;;;8435:38:30;;;;8431:229;;;8483:74;8517:7;8526:3;8531:6;8539:11;8552:4;8483:33;:74::i;:::-;8431:229;;;8578:75;8613:7;8622:3;8627:6;8635:11;8648:4;8578:34;:75::i;:::-;8733:9;8728:153;8748:5;:12;8744:1;:16;8728:153;;;8775:15;8804:5;8810:1;8804:8;;;;;;;;:::i;:::-;;;;;;;8775:38;;8821:4;:20;;;8842:7;8851:3;8856:11;8869:4;8821:53;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8767:114;8762:3;;;;;:::i;:::-;;;;8728:153;;;;8015:870;;7911:974;;;;:::o;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;;;10396:28:93;779:16:37;10440:12:93;;;10433:37;741:55:37;;;;;;;;;;10486: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;16013:389::-;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;505:1225:43:-;675:12;;653:19;717:21;:11;2372:3:28;2350:25;;2276:104;717:21:43;693:45;;744:17;764:11;:39;;788:15;:11;802:1;788:15;:::i;:::-;782:21;;:3;:21;:::i;:::-;764:39;;;778:1;764:39;744:59;-1:-1:-1;950:20:43;973:25;987:11;973;:25;:::i;:::-;950:48;-1:-1:-1;642:17:28;2513:38;;1008:12:43;:35;1004:122;;;1053:66;;;;;11073:2:93;1053:66:43;;;11055:21:93;11112:2;11092:18;;;11085:30;11151:34;11131:18;;;11124:62;11222:26;11202:18;;;11195:54;11266:19;;1053:66:43;10871:420:93;1004:122:43;1211:1;1251:4;1244:5;1240:16;1306:13;1188:532;1334:11;1331:1;1328:18;1188:532;;;1666:18;;1651:34;;1630:56;;1421:1;1414:9;;;;;1464:4;1447:22;;;;1533:30;;1188:532;;;1192:135;;;1180:546;;;;505:1225;;;;:::o;18193:681:30:-;18410:21;18434:27;:6;:27;;;:14;:27::i;:::-;18410:51;;18507:4;:11;18471:32;:10;:30;;;;;;;;:::i;:::-;;:32::i;:::-;:47;18467:157;;18571:32;:10;:30;;;;;;;;:::i;:32::-;18605:11;;18535:82;;;;;;;;11659:25:93;;;;11700:18;;;11693:34;11632:18;;18535:82:30;11485:248:93;18467:157:30;18673:16;18692:36;18715:7;18724:3;18692:22;:36::i;:::-;18673:55;;18734:14;18751:41;18772:6;18780:11;18751:20;:41::i;:::-;18734:58;;18798:71;18830:8;18848:6;18862:4;18798:13;:71::i;18878:556::-;19035:24;19062:38;5041:45:27;;;;;;19062:11:30;:38;:::i;:::-;19035:65;;19145:75;19174:7;19183:3;19188:18;19208:4;:11;19145:28;:75::i;:::-;19270:27;19300:57;19324:7;19333:3;19338:18;19300:23;:57::i;:::-;19270:87;;19363:66;19395:19;19422:4;19363:13;:66::i;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;;;10396:28:93;16582:17:30;10440:12:93;;;10433:37;16544:56:30;;;;;;;;;;10486: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;;;;;;5832:19:93;;5876:2;5867:12;;5703: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;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;21935:599::-;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;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;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;23642:171:30:-;23736:7;16469:22;23793:7;23802:3;23776:30;;;;;;;;;;:::i;23900:251::-;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;;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;25428:682:30:-;25670:31;25704:43;25734:7;25743:3;25704:29;:43::i;:::-;25670:77;;25753:28;25803:57;25834:23;3218:21:29;;3112:137;25803:57:30;25753:108;-1:-1:-1;25919:63:30;25753:108;25919:63;;;25965:16;25919:25;:63::i;:::-;461:28:29;;;25902:80:30;-1:-1:-1;26016:89:30;376:123:29;264:108;337:30;343:14;359:1;362:4;337:5;:30::i;:::-;264:108;;:::o;3498:447::-;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;875:2233::-;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;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;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:712::-;596:5;649:3;642:4;634:6;630:17;626:27;616:55;;667:1;664;657:12;616:55;703:6;690:20;729:4;752:18;748:2;745:26;742:52;;;774:18;;:::i;:::-;820:2;817:1;813:10;843:28;867:2;863;859:11;843:28;:::i;:::-;905:15;;;975;;;971:24;;;936:12;;;;1007:15;;;1004:35;;;1035:1;1032;1025:12;1004:35;1071:2;1063:6;1059:15;1048:26;;1083:142;1099:6;1094:3;1091:15;1083:142;;;1165:17;;1153:30;;1116:12;;;;1203;;;;1083:142;;;1243:5;542:712;-1:-1:-1;;;;;;;542:712:93:o;1259:245::-;1307:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;-1:-1:-1;1419:2:93;1407:15;-1:-1:-1;;1403:88:93;1493:4;1399:99;;1259:245::o;1509:462::-;1551:5;1604:3;1597:4;1589:6;1585:17;1581:27;1571:55;;1622:1;1619;1612:12;1571:55;1658:6;1645:20;1689:48;1705:31;1733:2;1705:31;:::i;:::-;1689:48;:::i;:::-;1762:2;1753:7;1746:19;1808:3;1801:4;1796:2;1788:6;1784:15;1780:26;1777:35;1774:55;;;1825:1;1822;1815:12;1774:55;1890:2;1883:4;1875:6;1871:17;1864:4;1855:7;1851:18;1838:55;1938:1;1913:16;;;1931:4;1909:27;1902:38;;;;1917:7;1509:462;-1:-1:-1;;;1509:462:93:o;1976:793::-;2094:6;2102;2110;2118;2171:3;2159:9;2150:7;2146:23;2142:33;2139:53;;;2188:1;2185;2178:12;2139:53;2224:9;2211:23;2201:33;;2285:2;2274:9;2270:18;2257:32;2308:18;2349:2;2341:6;2338:14;2335:34;;;2365:1;2362;2355:12;2335:34;2388:61;2441:7;2432:6;2421:9;2417:22;2388:61;:::i;:::-;2378:71;;2499:2;2488:9;2484:18;2471:32;2458:45;;2543:4;2536:5;2532:16;2525:5;2522:27;2512:55;;2563:1;2560;2553:12;2512:55;2586:5;;-1:-1:-1;2644:2:93;2629:18;;2616:32;;2660:16;;;2657:36;;;2689:1;2686;2679:12;2657:36;;2712:51;2755:7;2744:8;2733:9;2729:24;2712:51;:::i;:::-;2702:61;;;1976:793;;;;;;;:::o;2774:635::-;2885:6;2893;2901;2954:2;2942:9;2933:7;2929:23;2925:32;2922:52;;;2970:1;2967;2960:12;2922:52;3006:9;2993:23;2983:33;;3067:2;3056:9;3052:18;3039:32;3090:18;3131:2;3123:6;3120:14;3117:34;;;3147:1;3144;3137:12;3117:34;3170:61;3223:7;3214:6;3203:9;3199:22;3170:61;:::i;:::-;3160:71;;3284:2;3273:9;3269:18;3256:32;3240:48;;3313:2;3303:8;3300:16;3297:36;;;3329:1;3326;3319:12;3297:36;;3352:51;3395:7;3384:8;3373:9;3369:24;3352:51;:::i;:::-;3342:61;;;2774:635;;;;;:::o;3414:416::-;3507:6;3515;3568:2;3556:9;3547:7;3543:23;3539:32;3536:52;;;3584:1;3581;3574:12;3536:52;3620:9;3607:23;3597:33;;3681:2;3670:9;3666:18;3653:32;3708:18;3700:6;3697:30;3694:50;;;3740:1;3737;3730:12;3694:50;3763:61;3816:7;3807:6;3796:9;3792:22;3763:61;:::i;:::-;3753:71;;;3414:416;;;;;:::o;3835:435::-;3888:3;3926:5;3920:12;3953:6;3948:3;3941:19;3979:4;4008:2;4003:3;3999:12;3992:19;;4045:2;4038:5;4034:14;4066:1;4076:169;4090:6;4087:1;4084:13;4076:169;;;4151:13;;4139:26;;4185:12;;;;4220:15;;;;4112:1;4105:9;4076:169;;;-1:-1:-1;4261:3:93;;3835:435;-1:-1:-1;;;;;3835:435:93:o;4275:332::-;4482:6;4471:9;4464:25;4525:2;4520;4509:9;4505:18;4498:30;4445:4;4545:56;4597:2;4586:9;4582:18;4574:6;4545:56;:::i;4612:258::-;4684:1;4694:113;4708:6;4705:1;4702:13;4694:113;;;4784:11;;;4778:18;4765:11;;;4758:39;4730:2;4723:10;4694:113;;;4825:6;4822:1;4819:13;4816:48;;;-1:-1:-1;;4860:1:93;4842:16;;4835:27;4612:258::o;4875:634::-;4954:6;5007:2;4995:9;4986:7;4982:23;4978:32;4975:52;;;5023:1;5020;5013:12;4975:52;5056:9;5050:16;5089:18;5081:6;5078:30;5075:50;;;5121:1;5118;5111:12;5075:50;5144:22;;5197:4;5189:13;;5185:27;-1:-1:-1;5175:55:93;;5226:1;5223;5216:12;5175:55;5255:2;5249:9;5280:48;5296:31;5324:2;5296:31;:::i;5280:48::-;5351:2;5344:5;5337:17;5391:7;5386:2;5381;5377;5373:11;5369:20;5366:33;5363:53;;;5412:1;5409;5402:12;5363:53;5425:54;5476:2;5471;5464:5;5460:14;5455:2;5451;5447:11;5425:54;:::i;5514:184::-;-1:-1:-1;;;5563:1:93;5556:88;5663:4;5660:1;5653:15;5687:4;5684:1;5677:15;5890:184;-1:-1:-1;;;5939:1:93;5932:88;6039:4;6036:1;6029:15;6063:4;6060:1;6053:15;6079:195;6118:3;-1:-1:-1;;6142:5:93;6139:77;6136:103;;6219:18;;:::i;:::-;-1:-1:-1;6266:1:93;6255:13;;6079:195::o;6279:316::-;6320:3;6358:5;6352:12;6385:6;6380:3;6373:19;6401:63;6457:6;6450:4;6445:3;6441:14;6434:4;6427:5;6423:16;6401:63;:::i;:::-;6509:2;6497:15;-1:-1:-1;;6493:88:93;6484:98;;;;6584:4;6480:109;;6279:316;-1:-1:-1;;6279:316:93:o;6600:572::-;6877:6;6866:9;6859:25;6920:3;6915:2;6904:9;6900:18;6893:31;6840:4;6947:57;6999:3;6988:9;6984:19;6976:6;6947:57;:::i;:::-;7052:4;7044:6;7040:17;7035:2;7024:9;7020:18;7013:45;7106:9;7098:6;7094:22;7089:2;7078:9;7074:18;7067:50;7134:32;7159:6;7151;7134:32;:::i;7177:410::-;7408:6;7397:9;7390:25;7451:2;7446;7435:9;7431:18;7424:30;7371:4;7471:56;7523:2;7512:9;7508:18;7500:6;7471:56;:::i;:::-;7463:64;;7575:4;7567:6;7563:17;7558:2;7547:9;7543:18;7536:45;7177:410;;;;;;:::o;7592:359::-;7795:2;7784:9;7777:21;7758:4;7815:44;7855:2;7844:9;7840:18;7832:6;7815:44;:::i;:::-;7890:2;7875:18;;7868:34;;;;-1:-1:-1;7933:2:93;7918:18;7911:34;7807:52;7592:359;-1:-1:-1;7592:359:93:o;7956:128::-;7996:3;8027:1;8023:6;8020:1;8017:13;8014:39;;;8033:18;;:::i;:::-;-1:-1:-1;8069:9:93;;7956:128::o;8089:125::-;8129:4;8157:1;8154;8151:8;8148:34;;;8162:18;;:::i;:::-;-1:-1:-1;8199:9:93;;8089:125::o;8219:466::-;8394:3;8432:6;8426:13;8448:53;8494:6;8489:3;8482:4;8474:6;8470:17;8448:53;:::i;:::-;8564:13;;8523:16;;;;8586:57;8564:13;8523:16;8620:4;8608:17;;8586:57;:::i;:::-;8659:20;;8219:466;-1:-1:-1;;;;8219:466:93:o;8690:228::-;8730:7;8856:1;-1:-1:-1;;8784:74:93;8781:1;8778:81;8773:1;8766:9;8759:17;8755:105;8752:131;;;8863:18;;:::i;:::-;-1:-1:-1;8903:9:93;;8690:228::o;8923:184::-;-1:-1:-1;;;8972:1:93;8965:88;9072:4;9069:1;9062:15;9096:4;9093:1;9086:15;9112:112;9144:1;9170;9160:35;;9175:18;;:::i;:::-;-1:-1:-1;9209:9:93;;9112:112::o;9659:290::-;9836:6;9825:9;9818:25;9879:2;9874;9863:9;9859:18;9852:30;9799:4;9899:44;9939:2;9928:9;9924:18;9916:6;9899:44;:::i;9954:195::-;9992:4;10029;10026:1;10022:12;10061:4;10058:1;10054:12;10086:3;10081;10078:12;10075:38;;;10093:18;;:::i;:::-;10130:13;;;9954:195;-1:-1:-1;;;9954:195:93:o;10509:357::-;10627:12;;10674:4;10663:16;;;10657:23;;10627:12;10692:16;;10689:171;;;-1:-1:-1;;10772:6:93;10766:4;10762:17;10759:1;10755:25;10751:98;10744:5;10740:110;10731:119;;10689:171;;10509:357;;;:::o;11296:184::-;-1:-1:-1;;;11345:1:93;11338:88;11445:4;11442:1;11435:15;11469:4;11466:1;11459:15;11738:483;11997:6;11986:9;11979:25;12040:6;12035:2;12024:9;12020:18;12013:34;12083:3;12078:2;12067:9;12063:18;12056:31;11960:4;12104:57;12156:3;12145:9;12141:19;12133:6;12104:57;:::i;:::-;12096:65;;12209:4;12201:6;12197:17;12192:2;12181:9;12177:18;12170:45;11738:483;;;;;;;:::o;12226:671::-;12562:6;12551:9;12544:25;12605:6;12600:2;12589:9;12585:18;12578:34;12648:3;12643:2;12632:9;12628:18;12621:31;12525:4;12675:57;12727:3;12716:9;12712:19;12704:6;12675:57;:::i;:::-;12780:9;12772:6;12768:22;12763:2;12752:9;12748:18;12741:50;12815:1;12807:6;12800:17;12850:8;12845:2;12837:6;12833:15;12826:33;12888:2;12880:6;12876:15;12868:23;;;12226:671;;;;;;:::o;12902:120::-;12942:1;12968;12958:35;;12973:18;;:::i;:::-;-1:-1:-1;13007:9:93;;12902:120::o;13027:403::-;13262:6;13251:9;13244:25;13305:6;13300:2;13289:9;13285:18;13278:34;13348:2;13343;13332:9;13328:18;13321:30;13225:4;13368:56;13420:2;13409:9;13405:18;13397:6;13368:56;:::i",
165
+ "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063469b7ee2146100515780636b3d7d5f1461006657806382b6745f14610079578063b51fef6c1461008c575b600080fd5b61006461005f366004611bf1565b61009f565b005b610064610074366004611bf1565b610170565b610064610087366004611c79565b610239565b61006461009a366004611ce6565b61033e565b604051636624edbf60e11b8152600090339063cc49db7e906100c79088908890600401611d68565b600060405180830381865afa1580156100e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010c9190810190611dad565b80519060200120905060006101417f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b9050610168818660008151811061015a5761015a611e1b565b60200260200101518461045f565b505050505050565b604051636624edbf60e11b8152600090339063cc49db7e906101989088908890600401611d68565b600060405180830381865afa1580156101b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101dd9190810190611dad565b80519060200120905060006102127f6b6579737776616c000000000000000000000000000000000000000000000000876103ff565b905061016881838760008151811061022c5761022c611e1b565b6020026020010151610482565b60006102657f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b604051636624edbf60e11b8152909150600090339063cc49db7e906102909088908890600401611d68565b600060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102d59190810190611dad565b805190602001209050828051906020012081036102f3575050505050565b610318828560008151811061030a5761030a611e1b565b60200260200101518361045f565b6103378284805190602001208660008151811061022c5761022c611e1b565b5050505050565b604051636624edbf60e11b8152600090339063cc49db7e906103669086908690600401611d68565b600060405180830381865afa158015610383573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ab9190810190611dad565b80519060200120905060006103e07f6b6579737776616c000000000000000000000000000000000000000000000000856103ff565b90506103f9818460008151811061015a5761015a611e1b565b50505050565b60008061040c8360801b90565b7fffffffffffffffff000000000000000000000000000000000000000000000000851677ffffffffffffffff00000000000000000000000000000000604086901c161760809190911c1791505092915050565b60006104758361046f86856104f2565b90610566565b90506103f984838361063e565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106104b8576104b8611e1b565b6020026020010181815250506103f984826000856040516020016104de91815260200190565b604051602081830303815290604052610695565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061052c5761052c611e1b565b60200260200101818152505060006105468583600061072d565b905061055d61055882600084516107da565b610873565b95945050505050565b60606000835167ffffffffffffffff81111561058457610584611aac565b6040519080825280602002602001820160405280156105ad578160200160208202803683370190505b5090506000805b855181101561063457848682815181106105d0576105d0611e1b565b602002602001015114610622578581815181106105ef576105ef611e1b565b602002602001015183838151811061060957610609611e1b565b60209081029190910101528161061e81611e47565b9250505b8061062c81611e47565b9150506105b4565b5081529392505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061067457610674611e1b565b6020026020010181815250506103f98482600061069086610884565b610894565b61069d6108ef565b156106b3576106ae8484848461096d565b6103f9565b6040517f0c1a60000000000000000000000000000000000000000000000000000000000081523390630c1a6000906106f5908790879087908790600401611e8d565b600060405180830381600087803b15801561070f57600080fd5b505af1158015610723573d6000803e3d6000fd5b5050505050505050565b60606107376108ef565b1561074e57610747848484610ba5565b90506107d3565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c9061078e90879087908790600401611ec1565b600060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107479190810190611dad565b9392505050565b60008183111580156107ed575083518211155b610832578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161082993929190611eed565b60405180910390fd5b602084016108408482611f12565b9050600061084e8585611f2a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006107d38360206001610bc0565b6060816107d38160206001610d03565b61089c6108ef565b156108ad576106ae84848484610d8e565b6040517f114a7266000000000000000000000000000000000000000000000000000000008152339063114a7266906106f5908790879087908790600401611e8d565b6000303b80820361090257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561094857600080fd5b505afa925050508015610959575060015b61096557600091505090565b600191505090565b600061097885610f7e565b905060ff60e882901c811690841610156109be576040517f14306eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109cc86868685610fd3565b836040516020016109de929190611f41565b60405160208183030381529060405290507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4686868684604051610a249493929190611e8d565b60405180910390a16000610a378761102c565b905060005b8151811015610ae8576000828281518110610a5957610a59611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee28a8a8a886040518563ffffffff1660e01b8152600401610aa29493929190611e8d565b600060405180830381600087803b158015610abc57600080fd5b505af1158015610ad0573d6000803e3d6000fd5b50505050508080610ae090611e47565b915050610a3c565b50610af68787858888611101565b60005b8151811015610723576000828281518110610b1657610b16611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f8a8a8a886040518563ffffffff1660e01b8152600401610b5f9493929190611e8d565b600060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b50505050508080610b9d90611e47565b915050610af9565b60606000610bb285610f7e565b905061055d8585858461117a565b60606000610bce8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610c0657610bf5866008611f70565b610c0190610100611f2a565b610c09565b60005b90506000868381610c1c57610c1c611f8f565b049050610c298784611fa5565b15610cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a650000006064820152608401610829565b602080820201604051955080860160405250808552600060208601855b83831015610cf5578051851c8252600192909201916020909101908901610cd3565b505050505050509392505050565b60606000838551610d149190611f70565b90508067ffffffffffffffff811115610d2f57610d2f611aac565b6040519080825280601f01601f191660200182016040528015610d59576020820181803683370190505b508051909250610d869086906fffffffffffffffffffffffffffffffff166020850160801b1786866111ad565b509392505050565b6000610d9985610f7e565b90507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c4685858585604051610dd09493929190611e8d565b60405180910390a16000610de38661102c565b905060005b8151811015610e94576000828281518110610e0557610e05611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff1663469b7ee2898989896040518563ffffffff1660e01b8152600401610e4e9493929190611e8d565b600060405180830381600087803b158015610e6857600080fd5b505af1158015610e7c573d6000803e3d6000fd5b50505050508080610e8c90611e47565b915050610de8565b5060ff60e883901c81169085161015610eb957610eb486868487876112cc565b610ec6565b610ec68686848787611377565b60005b8151811015610f75576000828281518110610ee657610ee6611e1b565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16636b3d7d5f898989896040518563ffffffff1660e01b8152600401610f2f9493929190611e8d565b600060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b50505050508080610f6d90611e47565b915050610ec9565b50505050505050565b6000610f89826113b2565b905080610fce5781610f9a83611477565b6040517fd623a70d000000000000000000000000000000000000000000000000000000008152600401610829929190611fb9565b919050565b60606000610fe860ff60e885901c1685611fd2565b90506000610ff78787846114a2565b905060006110128360ff1661100c8a8a6114fb565b90611508565b905061101e828261153a565b93505050505b949350505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061106657611066611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b73000000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526000906110ea906110e290611ff5565b83600061072d565b90506110246110fc82600084516107da565b611548565b600061111460ff60e886901c1684611fd2565b905060006111228787611559565b9050600061112e825490565b9050600061113f8260ff8616611508565b905061115d8460ff168651836111559190611f12565b8491906115af565b808455915061116f898986848961168a565b505050505050505050565b606060ff60e883901c811690841610156111a15761119a858585856116ca565b9050611024565b61119a85858585610fd3565b835160006111bb8560801c90565b90506000836111e0576111cf856008611f70565b6111db90610100611f2a565b6111e3565b60005b905060006111f18685611f70565b90506fffffffffffffffffffffffffffffffff8716811115611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f7061636b46726f6d41727261793a20696e73756666696369656e7420616c6c6f60448201527f6361746564207061636b6564536c696365206c656e67746800000000000000006064820152608401610829565b600060208901845b868310156112bf578151851b815260019290920191602090910190880161129d565b5050505050505050505050565b60006112db8460ff851661172a565b905081516112f98260c58111156112f4576112f461201c565b611756565b14611350576113138160c58111156112f4576112f461201c565b82516040517f521b3d3300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610829565b600061135c8787611807565b9050600061136a868661183e565b905061072382828661188a565b600061138a60ff60e886901c1684611fd2565b9050611399868683855161189f565b60006113a68787846114a2565b9050610f7581846118d1565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113eb576113eb611e1b565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d6100000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061146d9061146790611ff5565b83611807565b9050611024815490565b60608160405160200161148c91815260200190565b6040516020818303038152906040529050919050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016114db9493929190612032565b60408051601f198184030181529190528051602090910120949350505050565b60008061146d8484611559565b600080611516836002611f70565b611521906004611f12565b905061152f84826008021b90565b60f01c949350505050565b60606107d3838360006118e1565b606060006107d38360146000610bc0565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9838360405160200161159093929190612065565b60408051601f1981840301815291905280516020909101209392505050565b600083816115bd8260e01c90565b905060006115ce878760ff16611508565b90508085106115f2576115e18186611f2a565b6115eb9083611f12565b9150611609565b6115fc8582611f2a565b6116069083611f2a565b91505b6000611616876002611f70565b611621906004611f12565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1798975050505050505050565b60006116978686866114a2565b90506116a46020846120c5565b6116ae9082611f12565b905060006116bd602085611fa5565b9050610f7582828561188a565b606060006116db8360ff861661172a565b905060006116f48260c58111156112f4576112f461201c565b905060006117028888611807565b90506000611710868861183e565b905061171d8284836118e1565b9998505050505050505050565b60006117428361173b846004611f12565b6008021b90565b60f81c60c58111156107d3576107d361201c565b6000808260c581111561176b5761176b61201c565b60ff1690506020811015611784576107d3816001611f12565b60408110156117a457602061179a826001611f12565b6107d39190611f2a565b60608110156117ba57604061179a826001611f12565b60608360c58111156117ce576117ce61201c565b036117dc5750600192915050565b60618360c58111156117f0576117f061201c565b036117fe5750601492915050565b50600092915050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611590939291906120d9565b600080805b8360ff16811015610d865761186c61185b868361172a565b60c58111156112f4576112f461201c565b6118769083611f12565b91508061188281611e47565b915050611843565b60006020820190506103f98484838551611939565b60006118ab8585611559565b905060006118b7825490565b90506118c78160ff8616856115af565b8083559050610168565b6118dd8260008361188a565b5050565b60608267ffffffffffffffff8111156118fc576118fc611aac565b6040519080825280601f01601f191660200182016040528015611926576020820181803683370190505b50905060208101610d86858585846119f7565b60208304840193506020838161195157611951611f8f565b06925082156119aa5760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116119955750506103f9565b6119a0600187611f12565b9550509182019190035b602081106119d357815184556119c1600185611f12565b935060209190910190601f19016119aa565b80156103f9576000600019600883021c198554845182169119161785555050505050565b602082048401935060208281611a0f57611a0f611f8f565b0691508115611a605760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611a4b5750506103f9565b611a56600187611f12565b9550509283900392015b60208310611a885783548152611a77600185611f12565b9350601f1990920191602001611a60565b82156103f9576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611aeb57611aeb611aac565b604052919050565b600082601f830112611b0457600080fd5b8135602067ffffffffffffffff821115611b2057611b20611aac565b8160051b611b2f828201611ac2565b9283528481018201928281019087851115611b4957600080fd5b83870192505b84831015611b6857823582529183019190830190611b4f565b979650505050505050565b600067ffffffffffffffff821115611b8d57611b8d611aac565b50601f01601f191660200190565b600082601f830112611bac57600080fd5b8135611bbf611bba82611b73565b611ac2565b818152846020838601011115611bd457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611c0757600080fd5b84359350602085013567ffffffffffffffff80821115611c2657600080fd5b611c3288838901611af3565b94506040870135915060ff82168214611c4a57600080fd5b90925060608601359080821115611c6057600080fd5b50611c6d87828801611b9b565b91505092959194509250565b600080600060608486031215611c8e57600080fd5b83359250602084013567ffffffffffffffff80821115611cad57600080fd5b611cb987838801611af3565b93506040860135915080821115611ccf57600080fd5b50611cdc86828701611b9b565b9150509250925092565b60008060408385031215611cf957600080fd5b82359150602083013567ffffffffffffffff811115611d1757600080fd5b611d2385828601611af3565b9150509250929050565b600081518084526020808501945080840160005b83811015611d5d57815187529582019590820190600101611d41565b509495945050505050565b8281526040602082015260006110246040830184611d2d565b60005b83811015611d9c578181015183820152602001611d84565b838111156103f95750506000910152565b600060208284031215611dbf57600080fd5b815167ffffffffffffffff811115611dd657600080fd5b8201601f81018413611de757600080fd5b8051611df5611bba82611b73565b818152856020838501011115611e0a57600080fd5b61055d826020830160208601611d81565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203611e5a57611e5a611e31565b5060010190565b60008151808452611e79816020860160208601611d81565b601f01601f19169290920160200192915050565b848152608060208201526000611ea66080830186611d2d565b60ff851660408401528281036060840152611b688185611e61565b838152606060208201526000611eda6060830185611d2d565b905060ff83166040830152949350505050565b606081526000611f006060830186611e61565b60208301949094525060400152919050565b60008219821115611f2557611f25611e31565b500190565b600082821015611f3c57611f3c611e31565b500390565b60008351611f53818460208801611d81565b835190830190611f67818360208801611d81565b01949350505050565b6000816000190483118215151615611f8a57611f8a611e31565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611fb457611fb4611f8f565b500690565b8281526040602082015260006110246040830184611e61565b600060ff821660ff841680821015611fec57611fec611e31565b90039392505050565b80516020808301519190811015612016576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052602160045260246000fd5b8481528360208201526080604082015260006120516080830185611d2d565b905060ff8316606083015295945050505050565b8381528260208201526080604082015260006120846080830184611d2d565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b6000826120d4576120d4611f8f565b500490565b83815282602082015260606040820152600061055d6060830184611d2d56fea2646970667358221220d49e70709e9c3edaaa5bebc3a0fcfb1e0053a71143afab3d9c6e80405707c2db64736f6c634300080d0033",
166
+ "sourceMap": "878:2366:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1652:412;;;;;;:::i;:::-;;:::i;:::-;;2068:391;;;;;;:::i;:::-;;:::i;994:654::-;;;;;;:::i;:::-;;:::i;2463:389::-;;;;;;:::i;:::-;;:::i;1652:412::-;1859:52;;-1:-1:-1;;;1859:52:76;;1825:21;;1870:10;;1859:32;;:52;;1892:13;;1907:3;;1859:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1859:52:76;;;;;;;;;;;;:::i;:::-;1849:63;;;;;;1825:87;;1918:21;1942:55;1965:16;1983:13;1942:22;:55::i;:::-;1918:79;;2003:56;2022:13;2037:3;2041:1;2037:6;;;;;;;;:::i;:::-;;;;;;;2045:13;2003:18;:56::i;:::-;1751:313;;1652:412;;;;:::o;2068:391::-;2259:52;;-1:-1:-1;;;2259:52:76;;2230:16;;2270:10;;2259:32;;:52;;2292:13;;2307:3;;2259:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2259:52:76;;;;;;;;;;;;:::i;:::-;2249:63;;;;;;2230:82;;2318:21;2342:55;2365:16;2383:13;2342:22;:55::i;:::-;2318:79;;2403:51;2422:13;2437:8;2447:3;2451:1;2447:6;;;;;;;;:::i;:::-;;;;;;;2403:18;:51::i;994:654::-;1092:21;1116:55;1139:16;1157:13;1116:22;:55::i;:::-;1242:52;;-1:-1:-1;;;1242:52:76;;1092:79;;-1:-1:-1;1208:21:76;;1253:10;;1242:32;;:52;;1275:13;;1290:3;;1242:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1242:52:76;;;;;;;;;;;;:::i;:::-;1232:63;;;;;;1208:87;;1375:4;1365:15;;;;;;1348:13;:32;1344:45;;1382:7;;994:654;;;:::o;1344:45::-;1463:56;1482:13;1497:3;1501:1;1497:6;;;;;;;;:::i;:::-;;;;;;;1505:13;1463:18;:56::i;:::-;1585:58;1604:13;1629:4;1619:15;;;;;;1636:3;1640:1;1636:6;;;;;;;;:::i;1585:58::-;1086:562;;994:654;;;:::o;2463:389::-;2647:52;;-1:-1:-1;;;2647:52:76;;2613:21;;2658:10;;2647:32;;:52;;2680:13;;2695:3;;2647:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2647:52:76;;;;;;;;;;;;:::i;:::-;2637:63;;;;;;2613:87;;2706:21;2730:55;2753:16;2771:13;2730:22;:55::i;:::-;2706:79;;2791:56;2810:13;2825:3;2829:1;2825:6;;;;;;;;:::i;2791:56::-;2539:313;;2463:389;;:::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;2856:386:76:-;3024:38;3065:55;3116:3;3065:43;3083:13;3098:9;3065:17;:43::i;:::-;:50;;:55::i;:::-;3024:96;;3171:66;3189:13;3204:9;3215:21;3171:17;:66::i;3985:268:80:-;4101:16;;;4115:1;4101:16;;;;;;;;;4069:29;;4101:16;;;;;;;;;;;-1:-1:-1;4101:16:80;4069:48;;4150:9;4123:12;4136:1;4123:15;;;;;;;;:::i;:::-;;;;;;:38;;;;;4168:80;4192:8;4202:12;4216:1;4237:8;4219:28;;;;;;5832:19:93;;5876:2;5867:12;;5703:182;4219:28:80;;;;;;;;;;;;;4168:23;:80::i;2456:364::-;2599:16;;;2613:1;2599:16;;;;;;;;;2529:30;;2567:29;;2599:16;;;;;;;;;;;;-1:-1:-1;2599:16:80;2567:48;;2648:9;2621:12;2634:1;2621:15;;;;;;;;:::i;:::-;;;;;;:38;;;;;2666:18;2687:47;2708:8;2718:12;2732:1;2687:20;:47::i;:::-;2666:68;;2748:66;:44;2769:5;2776:1;2779:5;:12;2748:20;:44::i;:::-;:64;:66::i;:::-;2740:75;2456:364;-1:-1:-1;;;;;2456:364:80:o;301:535:86:-;379:16;403:25;445:3;:10;431:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;431:25:86;;403:53;;462:21;498:9;493:150;513:3;:10;509:1;:14;493:150;;;552:7;542:3;546:1;542:6;;;;;;;;:::i;:::-;;;;;;;:17;538:99;;597:3;601:1;597:6;;;;;;;;:::i;:::-;;;;;;;571:8;580:13;571:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;613:15;;;;:::i;:::-;;;;538:99;525:3;;;;:::i;:::-;;;;493:150;;;-1:-1:-1;773:31:86;;;301:535;-1:-1:-1;;;301:535:86:o;3300:285:80:-;3429:16;;;3443:1;3429:16;;;;;;;;;3397:29;;3429:16;;;;;;;;;;;-1:-1:-1;3429:16:80;3397:48;;3478:9;3451:12;3464:1;3451:15;;;;;;;;:::i;:::-;;;;;;:38;;;;;3496:84;3517:8;3527:12;3541:1;3544:35;3564:13;3544:18;:35::i;:::-;3496:20;:84::i;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;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2716:301;;;;:::o;4477:285::-;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;4593:165::-;4477:285;;;;;:::o;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;21600:215:41:-;21664:23;21695:29;21727:33;21745:4;21751:2;21755:4;21727:17;:33::i;23054:230:42:-;23117:19;23214:5;23237:42;23214:5;23270:2;23274:4;23237:17;:42::i;2438:274:32:-;2549:16;:14;:16::i;:::-;2545:163;;;2575:48;2594:5;2601:3;2606:10;2618:4;2575:18;:48::i;2545:163::-;2644:57;;;;;2651:10;;2644:27;;:57;;2672:5;;2679:3;;2684:10;;2696:4;;2644:57;;;:::i;575:497::-;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;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;;17020:214;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;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;;;;;9431:2:93;3050:71:43;;;9413:21:93;9470:2;9450:18;;;9443:30;9509:34;9489:18;;;9482:62;9580:31;9560:18;;;9553:59;9629:19;;3050:71:43;9229: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;1863:315::-;1981:17;2006:20;2044:11;2029:5;:12;:26;;;;:::i;:::-;2006:49;;2078:12;2068:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2068:23:43;-1:-1:-1;1109:11:28;;2061:30:43;;-1:-1:-1;2097:76:43;;2115:5;;642:17:28;1109:22;944:4;934:15;;1101:3;1089:15;1088:44;2148:11:43;2161;2097:17;:76::i;:::-;2000:178;1863:315;;;;;:::o;7911:974:30:-;8021:13;8037:18;8047:7;8037:9;:18::i;:::-;8021:34;;8104:46;8118:7;8127:3;8132:11;8145:4;8104:46;;;;;;;;;:::i;:::-;;;;;;;;8221:22;8246:18;8256:7;8246:9;:18::i;:::-;8221:43;;8276:9;8271:154;8291:5;:12;8287:1;:16;8271:154;;;8318:15;8347:5;8353:1;8347:8;;;;;;;;:::i;:::-;;;;;;;8318:38;;8364:4;:21;;;8386:7;8395:3;8400:11;8413:4;8364:54;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8310:115;8305:3;;;;;:::i;:::-;;;;8271:154;;;-1:-1:-1;5041:45:27;;;;;;;8435:38:30;;;;8431:229;;;8483:74;8517:7;8526:3;8531:6;8539:11;8552:4;8483:33;:74::i;:::-;8431:229;;;8578:75;8613:7;8622:3;8627:6;8635:11;8648:4;8578:34;:75::i;:::-;8733:9;8728:153;8748:5;:12;8744:1;:16;8728:153;;;8775:15;8804:5;8810:1;8804:8;;;;;;;;:::i;:::-;;;;;;;8775:38;;8821:4;:20;;;8842:7;8851:3;8856:11;8869:4;8821:53;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8767:114;8762:3;;;;;:::i;:::-;;;;8728:153;;;;8015:870;;7911:974;;;;:::o;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;;;10396:28:93;779:16:37;10440:12:93;;;10433:37;741:55:37;;;;;;;;;;10486: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;17334:389::-;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;505:1225:43:-;675:12;;653:19;717:21;:11;2372:3:28;2350:25;;2276:104;717:21:43;693:45;;744:17;764:11;:39;;788:15;:11;802:1;788:15;:::i;:::-;782:21;;:3;:21;:::i;:::-;764:39;;;778:1;764:39;744:59;-1:-1:-1;950:20:43;973:25;987:11;973;:25;:::i;:::-;950:48;-1:-1:-1;642:17:28;2513:38;;1008:12:43;:35;1004:122;;;1053:66;;;;;11073:2:93;1053:66:43;;;11055:21:93;11112:2;11092:18;;;11085:30;11151:34;11131:18;;;11124:62;11222:26;11202:18;;;11195:54;11266:19;;1053:66:43;10871:420:93;1004:122:43;1211:1;1251:4;1244:5;1240:16;1306:13;1188:532;1334:11;1331:1;1328:18;1188:532;;;1666:18;;1651:34;;1630:56;;1421:1;1414:9;;;;;1464:4;1447:22;;;;1533:30;;1188:532;;;1192:135;;;1180:546;;;;505:1225;;;;:::o;19514:681:30:-;19731:21;19755:27;:6;:27;;;:14;:27::i;:::-;19731:51;;19828:4;:11;19792:32;:10;:30;;;;;;;;:::i;:::-;;:32::i;:::-;:47;19788:157;;19892:32;:10;:30;;;;;;;;:::i;:32::-;19926:11;;19856:82;;;;;;;;11659:25:93;;;;11700:18;;;11693:34;11632:18;;19856:82:30;11485:248:93;19788:157:30;19994:16;20013:36;20036:7;20045:3;20013:22;:36::i;:::-;19994:55;;20055:14;20072:41;20093:6;20101:11;20072:20;:41::i;:::-;20055:58;;20119:71;20151:8;20169:6;20183:4;20119:13;:71::i;20199:556::-;20356:24;20383:38;5041:45:27;;;;;;20383:11:30;:38;:::i;:::-;20356:65;;20466:75;20495:7;20504:3;20509:18;20529:4;:11;20466:28;:75::i;:::-;20591:27;20621:57;20645:7;20654:3;20659:18;20621:23;:57::i;:::-;20591:87;;20684:66;20716:19;20743:4;20684:13;:66::i;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;;;10396:28:93;17903:17:30;10440:12:93;;;10433:37;17865:56:30;;;;;;;;;;10486: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;;;;;;5832:19:93;;5876:2;5867:12;;5703: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;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;24147:599::-;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;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;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;25854:171:30:-;25948:7;17790:22;26005:7;26014:3;25988:30;;;;;;;;;;:::i;26112:251::-;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;;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;27640:682:30:-;27882:31;27916:43;27946:7;27955:3;27916:29;:43::i;:::-;27882:77;;27965:28;28015:57;28046:23;3169:21:29;;3063:137;28015:57:30;27965:108;-1:-1:-1;28131:63:30;27965:108;28131:63;;;28177:16;28131:25;:63::i;:::-;412:28:29;;;28114:80:30;-1:-1:-1;28228:89:30;327:123:29;215:108;288:30;294:14;310:1;313:4;288:5;:30::i;:::-;215:108;;:::o;3449:447::-;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;826:2233::-;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;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;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:712::-;596:5;649:3;642:4;634:6;630:17;626:27;616:55;;667:1;664;657:12;616:55;703:6;690:20;729:4;752:18;748:2;745:26;742:52;;;774:18;;:::i;:::-;820:2;817:1;813:10;843:28;867:2;863;859:11;843:28;:::i;:::-;905:15;;;975;;;971:24;;;936:12;;;;1007:15;;;1004:35;;;1035:1;1032;1025:12;1004:35;1071:2;1063:6;1059:15;1048:26;;1083:142;1099:6;1094:3;1091:15;1083:142;;;1165:17;;1153:30;;1116:12;;;;1203;;;;1083:142;;;1243:5;542:712;-1:-1:-1;;;;;;;542:712:93:o;1259:245::-;1307:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;-1:-1:-1;1419:2:93;1407:15;-1:-1:-1;;1403:88:93;1493:4;1399:99;;1259:245::o;1509:462::-;1551:5;1604:3;1597:4;1589:6;1585:17;1581:27;1571:55;;1622:1;1619;1612:12;1571:55;1658:6;1645:20;1689:48;1705:31;1733:2;1705:31;:::i;:::-;1689:48;:::i;:::-;1762:2;1753:7;1746:19;1808:3;1801:4;1796:2;1788:6;1784:15;1780:26;1777:35;1774:55;;;1825:1;1822;1815:12;1774:55;1890:2;1883:4;1875:6;1871:17;1864:4;1855:7;1851:18;1838:55;1938:1;1913:16;;;1931:4;1909:27;1902:38;;;;1917:7;1509:462;-1:-1:-1;;;1509:462:93:o;1976:793::-;2094:6;2102;2110;2118;2171:3;2159:9;2150:7;2146:23;2142:33;2139:53;;;2188:1;2185;2178:12;2139:53;2224:9;2211:23;2201:33;;2285:2;2274:9;2270:18;2257:32;2308:18;2349:2;2341:6;2338:14;2335:34;;;2365:1;2362;2355:12;2335:34;2388:61;2441:7;2432:6;2421:9;2417:22;2388:61;:::i;:::-;2378:71;;2499:2;2488:9;2484:18;2471:32;2458:45;;2543:4;2536:5;2532:16;2525:5;2522:27;2512:55;;2563:1;2560;2553:12;2512:55;2586:5;;-1:-1:-1;2644:2:93;2629:18;;2616:32;;2660:16;;;2657:36;;;2689:1;2686;2679:12;2657:36;;2712:51;2755:7;2744:8;2733:9;2729:24;2712:51;:::i;:::-;2702:61;;;1976:793;;;;;;;:::o;2774:635::-;2885:6;2893;2901;2954:2;2942:9;2933:7;2929:23;2925:32;2922:52;;;2970:1;2967;2960:12;2922:52;3006:9;2993:23;2983:33;;3067:2;3056:9;3052:18;3039:32;3090:18;3131:2;3123:6;3120:14;3117:34;;;3147:1;3144;3137:12;3117:34;3170:61;3223:7;3214:6;3203:9;3199:22;3170:61;:::i;:::-;3160:71;;3284:2;3273:9;3269:18;3256:32;3240:48;;3313:2;3303:8;3300:16;3297:36;;;3329:1;3326;3319:12;3297:36;;3352:51;3395:7;3384:8;3373:9;3369:24;3352:51;:::i;:::-;3342:61;;;2774:635;;;;;:::o;3414:416::-;3507:6;3515;3568:2;3556:9;3547:7;3543:23;3539:32;3536:52;;;3584:1;3581;3574:12;3536:52;3620:9;3607:23;3597:33;;3681:2;3670:9;3666:18;3653:32;3708:18;3700:6;3697:30;3694:50;;;3740:1;3737;3730:12;3694:50;3763:61;3816:7;3807:6;3796:9;3792:22;3763:61;:::i;:::-;3753:71;;;3414:416;;;;;:::o;3835:435::-;3888:3;3926:5;3920:12;3953:6;3948:3;3941:19;3979:4;4008:2;4003:3;3999:12;3992:19;;4045:2;4038:5;4034:14;4066:1;4076:169;4090:6;4087:1;4084:13;4076:169;;;4151:13;;4139:26;;4185:12;;;;4220:15;;;;4112:1;4105:9;4076:169;;;-1:-1:-1;4261:3:93;;3835:435;-1:-1:-1;;;;;3835:435:93:o;4275:332::-;4482:6;4471:9;4464:25;4525:2;4520;4509:9;4505:18;4498:30;4445:4;4545:56;4597:2;4586:9;4582:18;4574:6;4545:56;:::i;4612:258::-;4684:1;4694:113;4708:6;4705:1;4702:13;4694:113;;;4784:11;;;4778:18;4765:11;;;4758:39;4730:2;4723:10;4694:113;;;4825:6;4822:1;4819:13;4816:48;;;-1:-1:-1;;4860:1:93;4842:16;;4835:27;4612:258::o;4875:634::-;4954:6;5007:2;4995:9;4986:7;4982:23;4978:32;4975:52;;;5023:1;5020;5013:12;4975:52;5056:9;5050:16;5089:18;5081:6;5078:30;5075:50;;;5121:1;5118;5111:12;5075:50;5144:22;;5197:4;5189:13;;5185:27;-1:-1:-1;5175:55:93;;5226:1;5223;5216:12;5175:55;5255:2;5249:9;5280:48;5296:31;5324:2;5296:31;:::i;5280:48::-;5351:2;5344:5;5337:17;5391:7;5386:2;5381;5377;5373:11;5369:20;5366:33;5363:53;;;5412:1;5409;5402:12;5363:53;5425:54;5476:2;5471;5464:5;5460:14;5455:2;5451;5447:11;5425:54;:::i;5514:184::-;-1:-1:-1;;;5563:1:93;5556:88;5663:4;5660:1;5653:15;5687:4;5684:1;5677:15;5890:184;-1:-1:-1;;;5939:1:93;5932:88;6039:4;6036:1;6029:15;6063:4;6060:1;6053:15;6079:195;6118:3;-1:-1:-1;;6142:5:93;6139:77;6136:103;;6219:18;;:::i;:::-;-1:-1:-1;6266:1:93;6255:13;;6079:195::o;6279:316::-;6320:3;6358:5;6352:12;6385:6;6380:3;6373:19;6401:63;6457:6;6450:4;6445:3;6441:14;6434:4;6427:5;6423:16;6401:63;:::i;:::-;6509:2;6497:15;-1:-1:-1;;6493:88:93;6484:98;;;;6584:4;6480:109;;6279:316;-1:-1:-1;;6279:316:93:o;6600:572::-;6877:6;6866:9;6859:25;6920:3;6915:2;6904:9;6900:18;6893:31;6840:4;6947:57;6999:3;6988:9;6984:19;6976:6;6947:57;:::i;:::-;7052:4;7044:6;7040:17;7035:2;7024:9;7020:18;7013:45;7106:9;7098:6;7094:22;7089:2;7078:9;7074:18;7067:50;7134:32;7159:6;7151;7134:32;:::i;7177:410::-;7408:6;7397:9;7390:25;7451:2;7446;7435:9;7431:18;7424:30;7371:4;7471:56;7523:2;7512:9;7508:18;7500:6;7471:56;:::i;:::-;7463:64;;7575:4;7567:6;7563:17;7558:2;7547:9;7543:18;7536:45;7177:410;;;;;;:::o;7592:359::-;7795:2;7784:9;7777:21;7758:4;7815:44;7855:2;7844:9;7840:18;7832:6;7815:44;:::i;:::-;7890:2;7875:18;;7868:34;;;;-1:-1:-1;7933:2:93;7918:18;7911:34;7807:52;7592:359;-1:-1:-1;7592:359:93:o;7956:128::-;7996:3;8027:1;8023:6;8020:1;8017:13;8014:39;;;8033:18;;:::i;:::-;-1:-1:-1;8069:9:93;;7956:128::o;8089:125::-;8129:4;8157:1;8154;8151:8;8148:34;;;8162:18;;:::i;:::-;-1:-1:-1;8199:9:93;;8089:125::o;8219:466::-;8394:3;8432:6;8426:13;8448:53;8494:6;8489:3;8482:4;8474:6;8470:17;8448:53;:::i;:::-;8564:13;;8523:16;;;;8586:57;8564:13;8523:16;8620:4;8608:17;;8586:57;:::i;:::-;8659:20;;8219:466;-1:-1:-1;;;;8219:466:93:o;8690:228::-;8730:7;8856:1;-1:-1:-1;;8784:74:93;8781:1;8778:81;8773:1;8766:9;8759:17;8755:105;8752:131;;;8863:18;;:::i;:::-;-1:-1:-1;8903:9:93;;8690:228::o;8923:184::-;-1:-1:-1;;;8972:1:93;8965:88;9072:4;9069:1;9062:15;9096:4;9093:1;9086:15;9112:112;9144:1;9170;9160:35;;9175:18;;:::i;:::-;-1:-1:-1;9209:9:93;;9112:112::o;9659:290::-;9836:6;9825:9;9818:25;9879:2;9874;9863:9;9859:18;9852:30;9799:4;9899:44;9939:2;9928:9;9924:18;9916:6;9899:44;:::i;9954:195::-;9992:4;10029;10026:1;10022:12;10061:4;10058:1;10054:12;10086:3;10081;10078:12;10075:38;;;10093:18;;:::i;:::-;10130:13;;;9954:195;-1:-1:-1;;;9954:195:93:o;10509:357::-;10627:12;;10674:4;10663:16;;;10657:23;;10627:12;10692:16;;10689:171;;;-1:-1:-1;;10772:6:93;10766:4;10762:17;10759:1;10755:25;10751:98;10744:5;10740:110;10731:119;;10689:171;;10509:357;;;:::o;11296:184::-;-1:-1:-1;;;11345:1:93;11338:88;11445:4;11442:1;11435:15;11469:4;11466:1;11459:15;11738:483;11997:6;11986:9;11979:25;12040:6;12035:2;12024:9;12020:18;12013:34;12083:3;12078:2;12067:9;12063:18;12056:31;11960:4;12104:57;12156:3;12145:9;12141:19;12133:6;12104:57;:::i;:::-;12096:65;;12209:4;12201:6;12197:17;12192:2;12181:9;12177:18;12170:45;11738:483;;;;;;;:::o;12226:671::-;12562:6;12551:9;12544:25;12605:6;12600:2;12589:9;12585:18;12578:34;12648:3;12643:2;12632:9;12628:18;12621:31;12525:4;12675:57;12727:3;12716:9;12712:19;12704:6;12675:57;:::i;:::-;12780:9;12772:6;12768:22;12763:2;12752:9;12748:18;12741:50;12815:1;12807:6;12800:17;12850:8;12845:2;12837:6;12833:15;12826:33;12888:2;12880:6;12876:15;12868:23;;;12226:671;;;;;;:::o;12902:120::-;12942:1;12968;12958:35;;12973:18;;:::i;:::-;-1:-1:-1;13007:9:93;;12902:120::o;13027:403::-;13262:6;13251:9;13244:25;13305:6;13300:2;13289:9;13285:18;13278:34;13348:2;13343;13332:9;13328:18;13321:30;13225:4;13368:56;13420:2;13409:9;13405:18;13397:6;13368:56;:::i",
167
167
  "linkReferences": {}
168
168
  },
169
169
  "methodIdentifiers": {
@@ -172,7 +172,7 @@
172
172
  "onDeleteRecord(bytes32,bytes32[])": "b51fef6c",
173
173
  "onSetRecord(bytes32,bytes32[],bytes)": "82b6745f"
174
174
  },
175
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidDataLength\",\"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\":[{\"internalType\":\"bytes32\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSetField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSetField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"onDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This is a very naive and inefficient implementation for now. We can optimize this by adding support for `setIndexOfField` in Store and then replicate logic from solecs's Set.sol. (See https://github.com/latticexyz/mud/issues/444) Note: if a table with composite keys is used, only the first key is indexed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueHook.sol\":\"KeysWithValueHook\"},\"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/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}",
175
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidDataLength\",\"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\":[{\"internalType\":\"bytes32\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterSetField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onBeforeSetField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"onDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sourceTableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This is a very naive and inefficient implementation for now. We can optimize this by adding support for `setIndexOfField` in Store and then replicate logic from solecs's Set.sol. (See https://github.com/latticexyz/mud/issues/444) Note: if a table with composite keys is used, only the first key is indexed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keyswithvalue/KeysWithValueHook.sol\":\"KeysWithValueHook\"},\"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/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}",
176
176
  "metadata": {
177
177
  "compiler": {
178
178
  "version": "0.8.13+commit.abaa5c0e"
@@ -388,10 +388,10 @@
388
388
  "license": "MIT"
389
389
  },
390
390
  "node_modules/@latticexyz/store/src/IStore.sol": {
391
- "keccak256": "0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2",
391
+ "keccak256": "0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6",
392
392
  "urls": [
393
- "bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5",
394
- "dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2"
393
+ "bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957",
394
+ "dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL"
395
395
  ],
396
396
  "license": "MIT"
397
397
  },
@@ -428,26 +428,26 @@
428
428
  "license": "MIT"
429
429
  },
430
430
  "node_modules/@latticexyz/store/src/Storage.sol": {
431
- "keccak256": "0x86e1be7e58fbd1535c533a829f8a78c65136af92c9066e7d99d221a91dde8f9b",
431
+ "keccak256": "0x2ccca6556a3c2595479914d30efa84fc3b61cff30036522714a0ef99289ee2af",
432
432
  "urls": [
433
- "bzz-raw://3d5e232aefc4a518b0cc724b4b22e7b059a7bdde02e6512b627ce8693749c8de",
434
- "dweb:/ipfs/QmYsxGsak61jdiyq921tKzbWC7AtgA5FVsqsT1UL6CqzPT"
433
+ "bzz-raw://9d169812a4159454be580d42fedee63d121646102e6462fe3b2ea905b69bee07",
434
+ "dweb:/ipfs/QmXiKsMeN4nsdiqDwhuWfb4J3UF57B4rkuwkfbrRXA6vtb"
435
435
  ],
436
436
  "license": "MIT"
437
437
  },
438
438
  "node_modules/@latticexyz/store/src/StoreCore.sol": {
439
- "keccak256": "0xce2d227fc668c385bfded0a5af295a63363eb02233bafb60b4acbf048d4d4500",
439
+ "keccak256": "0xba4d729be15ad4fd887f2bbaadd12a902af5470b62c58bd9157661177c60a671",
440
440
  "urls": [
441
- "bzz-raw://597a716eed53c2bbbc911f94e7b6440684210dec82f9dbcb31c1f18fe10d3e8e",
442
- "dweb:/ipfs/QmSyaRAoh56KznH1zEArkwNUg3b6r8tanP7EALnZBcs5DE"
441
+ "bzz-raw://cfcf8588c9641afb6e2ed658f584f378909f0615da7a5bc5c919cf51c15b12ff",
442
+ "dweb:/ipfs/QmZEbMyZZRL7oLKC8VMLmTFEK5LL1BAJyxnvmgSNiy5kVg"
443
443
  ],
444
444
  "license": "MIT"
445
445
  },
446
446
  "node_modules/@latticexyz/store/src/StoreSwitch.sol": {
447
- "keccak256": "0x1f0ba0265027e9f6e945ce3ab319bafb5312f285f82bdcc2f2beabd9d7e99d64",
447
+ "keccak256": "0x341c555b911581dc6a19e8eb6f64f9875ff92f8e1c9f3a9c3333129e802e130c",
448
448
  "urls": [
449
- "bzz-raw://fa22ad06665c32e8794eea0f93d8b9e3ce08d752d37a08a669688eb53f8faa08",
450
- "dweb:/ipfs/QmYLTumckjQcZwt7vCj2YzM91N5mtwaSQBLEYkBJPCpMtm"
449
+ "bzz-raw://0809c8e9a4e46d7cce2d9a21fb315d5a3895d0e9af862fcc9b84733431ec94e0",
450
+ "dweb:/ipfs/QmetNXMWrE1K57YJTEZMiFuEPa3yxnRvFnZFpSJRpQoTQi"
451
451
  ],
452
452
  "license": "MIT"
453
453
  },
@@ -660,10 +660,10 @@
660
660
  "license": "MIT"
661
661
  },
662
662
  "src/interfaces/IWorldKernel.sol": {
663
- "keccak256": "0x5634912fe97592848fb360d55c442f3b37d6a9e77db46695891f0d5d942138c8",
663
+ "keccak256": "0x9baf07e472a70ec8aba9dffb71a7dd7d970c1352c2b11fdbf4c21a54b61458e7",
664
664
  "urls": [
665
- "bzz-raw://a48252b3e5286bd9119aad18366ec8b484334b93872239790717e44f2b125af2",
666
- "dweb:/ipfs/QmZddb4vrvyKNotTqr3gW3KsrVeH7fDYNv5Tr23uVema4x"
665
+ "bzz-raw://c270f22eec9ee162bcb973349e4e96ffcacd70c7df53d0ce7eb33f3bdb1dd6e3",
666
+ "dweb:/ipfs/QmWRgyG2o7cM8dJRNN3d72khRsaGVJBNjVP6XPW2uSyGmU"
667
667
  ],
668
668
  "license": "MIT"
669
669
  },
@@ -792,41 +792,41 @@
792
792
  },
793
793
  "ast": {
794
794
  "absolutePath": "src/modules/keyswithvalue/KeysWithValueHook.sol",
795
- "id": 38137,
795
+ "id": 38738,
796
796
  "exportedSymbols": {
797
797
  "ArrayLib": [
798
- 39818
798
+ 40419
799
799
  ],
800
800
  "Bytes": [
801
- 17181
801
+ 17442
802
802
  ],
803
803
  "IBaseWorld": [
804
- 33218
804
+ 33804
805
805
  ],
806
806
  "IStoreHook": [
807
- 17411
807
+ 17684
808
808
  ],
809
809
  "KeysWithValue": [
810
- 39084
810
+ 39685
811
811
  ],
812
812
  "KeysWithValueHook": [
813
- 38136
813
+ 38737
814
814
  ],
815
815
  "MODULE_NAMESPACE": [
816
- 38279
816
+ 38880
817
817
  ],
818
818
  "ResourceSelector": [
819
- 32525
819
+ 33049
820
820
  ],
821
821
  "getTargetTableSelector": [
822
- 39871
822
+ 40472
823
823
  ]
824
824
  },
825
825
  "nodeType": "SourceUnit",
826
826
  "src": "32:3213:76",
827
827
  "nodes": [
828
828
  {
829
- "id": 37898,
829
+ "id": 38499,
830
830
  "nodeType": "PragmaDirective",
831
831
  "src": "32:24:76",
832
832
  "nodes": [],
@@ -838,23 +838,23 @@
838
838
  ]
839
839
  },
840
840
  {
841
- "id": 37900,
841
+ "id": 38501,
842
842
  "nodeType": "ImportDirective",
843
843
  "src": "58:62:76",
844
844
  "nodes": [],
845
845
  "absolutePath": "node_modules/@latticexyz/store/src/IStore.sol",
846
846
  "file": "@latticexyz/store/src/IStore.sol",
847
847
  "nameLocation": "-1:-1:-1",
848
- "scope": 38137,
849
- "sourceUnit": 17412,
848
+ "scope": 38738,
849
+ "sourceUnit": 17685,
850
850
  "symbolAliases": [
851
851
  {
852
852
  "foreign": {
853
- "id": 37899,
853
+ "id": 38500,
854
854
  "name": "IStoreHook",
855
855
  "nodeType": "Identifier",
856
856
  "overloadedDeclarations": [],
857
- "referencedDeclaration": 17411,
857
+ "referencedDeclaration": 17684,
858
858
  "src": "67:10:76",
859
859
  "typeDescriptions": {}
860
860
  },
@@ -864,23 +864,23 @@
864
864
  "unitAlias": ""
865
865
  },
866
866
  {
867
- "id": 37902,
867
+ "id": 38503,
868
868
  "nodeType": "ImportDirective",
869
869
  "src": "121:56:76",
870
870
  "nodes": [],
871
871
  "absolutePath": "node_modules/@latticexyz/store/src/Bytes.sol",
872
872
  "file": "@latticexyz/store/src/Bytes.sol",
873
873
  "nameLocation": "-1:-1:-1",
874
- "scope": 38137,
875
- "sourceUnit": 17182,
874
+ "scope": 38738,
875
+ "sourceUnit": 17443,
876
876
  "symbolAliases": [
877
877
  {
878
878
  "foreign": {
879
- "id": 37901,
879
+ "id": 38502,
880
880
  "name": "Bytes",
881
881
  "nodeType": "Identifier",
882
882
  "overloadedDeclarations": [],
883
- "referencedDeclaration": 17181,
883
+ "referencedDeclaration": 17442,
884
884
  "src": "130:5:76",
885
885
  "typeDescriptions": {}
886
886
  },
@@ -890,23 +890,23 @@
890
890
  "unitAlias": ""
891
891
  },
892
892
  {
893
- "id": 37904,
893
+ "id": 38505,
894
894
  "nodeType": "ImportDirective",
895
895
  "src": "178:61:76",
896
896
  "nodes": [],
897
897
  "absolutePath": "src/interfaces/IBaseWorld.sol",
898
898
  "file": "../../interfaces/IBaseWorld.sol",
899
899
  "nameLocation": "-1:-1:-1",
900
- "scope": 38137,
901
- "sourceUnit": 33219,
900
+ "scope": 38738,
901
+ "sourceUnit": 33805,
902
902
  "symbolAliases": [
903
903
  {
904
904
  "foreign": {
905
- "id": 37903,
905
+ "id": 38504,
906
906
  "name": "IBaseWorld",
907
907
  "nodeType": "Identifier",
908
908
  "overloadedDeclarations": [],
909
- "referencedDeclaration": 33218,
909
+ "referencedDeclaration": 33804,
910
910
  "src": "187:10:76",
911
911
  "typeDescriptions": {}
912
912
  },
@@ -916,23 +916,23 @@
916
916
  "unitAlias": ""
917
917
  },
918
918
  {
919
- "id": 37906,
919
+ "id": 38507,
920
920
  "nodeType": "ImportDirective",
921
921
  "src": "241:62:76",
922
922
  "nodes": [],
923
923
  "absolutePath": "src/ResourceSelector.sol",
924
924
  "file": "../../ResourceSelector.sol",
925
925
  "nameLocation": "-1:-1:-1",
926
- "scope": 38137,
927
- "sourceUnit": 32526,
926
+ "scope": 38738,
927
+ "sourceUnit": 33050,
928
928
  "symbolAliases": [
929
929
  {
930
930
  "foreign": {
931
- "id": 37905,
931
+ "id": 38506,
932
932
  "name": "ResourceSelector",
933
933
  "nodeType": "Identifier",
934
934
  "overloadedDeclarations": [],
935
- "referencedDeclaration": 32525,
935
+ "referencedDeclaration": 33049,
936
936
  "src": "250:16:76",
937
937
  "typeDescriptions": {}
938
938
  },
@@ -942,23 +942,23 @@
942
942
  "unitAlias": ""
943
943
  },
944
944
  {
945
- "id": 37908,
945
+ "id": 38509,
946
946
  "nodeType": "ImportDirective",
947
947
  "src": "305:51:76",
948
948
  "nodes": [],
949
949
  "absolutePath": "src/modules/keyswithvalue/constants.sol",
950
950
  "file": "./constants.sol",
951
951
  "nameLocation": "-1:-1:-1",
952
- "scope": 38137,
953
- "sourceUnit": 38280,
952
+ "scope": 38738,
953
+ "sourceUnit": 38881,
954
954
  "symbolAliases": [
955
955
  {
956
956
  "foreign": {
957
- "id": 37907,
957
+ "id": 38508,
958
958
  "name": "MODULE_NAMESPACE",
959
959
  "nodeType": "Identifier",
960
960
  "overloadedDeclarations": [],
961
- "referencedDeclaration": 38279,
961
+ "referencedDeclaration": 38880,
962
962
  "src": "314:16:76",
963
963
  "typeDescriptions": {}
964
964
  },
@@ -968,23 +968,23 @@
968
968
  "unitAlias": ""
969
969
  },
970
970
  {
971
- "id": 37910,
971
+ "id": 38511,
972
972
  "nodeType": "ImportDirective",
973
973
  "src": "357:59:76",
974
974
  "nodes": [],
975
975
  "absolutePath": "src/modules/keyswithvalue/tables/KeysWithValue.sol",
976
976
  "file": "./tables/KeysWithValue.sol",
977
977
  "nameLocation": "-1:-1:-1",
978
- "scope": 38137,
979
- "sourceUnit": 39085,
978
+ "scope": 38738,
979
+ "sourceUnit": 39686,
980
980
  "symbolAliases": [
981
981
  {
982
982
  "foreign": {
983
- "id": 37909,
983
+ "id": 38510,
984
984
  "name": "KeysWithValue",
985
985
  "nodeType": "Identifier",
986
986
  "overloadedDeclarations": [],
987
- "referencedDeclaration": 39084,
987
+ "referencedDeclaration": 39685,
988
988
  "src": "366:13:76",
989
989
  "typeDescriptions": {}
990
990
  },
@@ -994,23 +994,23 @@
994
994
  "unitAlias": ""
995
995
  },
996
996
  {
997
- "id": 37912,
997
+ "id": 38513,
998
998
  "nodeType": "ImportDirective",
999
999
  "src": "417:49:76",
1000
1000
  "nodes": [],
1001
1001
  "absolutePath": "src/modules/utils/ArrayLib.sol",
1002
1002
  "file": "../utils/ArrayLib.sol",
1003
1003
  "nameLocation": "-1:-1:-1",
1004
- "scope": 38137,
1005
- "sourceUnit": 39819,
1004
+ "scope": 38738,
1005
+ "sourceUnit": 40420,
1006
1006
  "symbolAliases": [
1007
1007
  {
1008
1008
  "foreign": {
1009
- "id": 37911,
1009
+ "id": 38512,
1010
1010
  "name": "ArrayLib",
1011
1011
  "nodeType": "Identifier",
1012
1012
  "overloadedDeclarations": [],
1013
- "referencedDeclaration": 39818,
1013
+ "referencedDeclaration": 40419,
1014
1014
  "src": "426:8:76",
1015
1015
  "typeDescriptions": {}
1016
1016
  },
@@ -1020,23 +1020,23 @@
1020
1020
  "unitAlias": ""
1021
1021
  },
1022
1022
  {
1023
- "id": 37914,
1023
+ "id": 38515,
1024
1024
  "nodeType": "ImportDirective",
1025
1025
  "src": "467:77:76",
1026
1026
  "nodes": [],
1027
1027
  "absolutePath": "src/modules/utils/getTargetTableSelector.sol",
1028
1028
  "file": "../utils/getTargetTableSelector.sol",
1029
1029
  "nameLocation": "-1:-1:-1",
1030
- "scope": 38137,
1031
- "sourceUnit": 39872,
1030
+ "scope": 38738,
1031
+ "sourceUnit": 40473,
1032
1032
  "symbolAliases": [
1033
1033
  {
1034
1034
  "foreign": {
1035
- "id": 37913,
1035
+ "id": 38514,
1036
1036
  "name": "getTargetTableSelector",
1037
1037
  "nodeType": "Identifier",
1038
1038
  "overloadedDeclarations": [],
1039
- "referencedDeclaration": 39871,
1039
+ "referencedDeclaration": 40472,
1040
1040
  "src": "476:22:76",
1041
1041
  "typeDescriptions": {}
1042
1042
  },
@@ -1046,26 +1046,26 @@
1046
1046
  "unitAlias": ""
1047
1047
  },
1048
1048
  {
1049
- "id": 38136,
1049
+ "id": 38737,
1050
1050
  "nodeType": "ContractDefinition",
1051
1051
  "src": "878:2366:76",
1052
1052
  "nodes": [
1053
1053
  {
1054
- "id": 37921,
1054
+ "id": 38522,
1055
1055
  "nodeType": "UsingForDirective",
1056
1056
  "src": "923:29:76",
1057
1057
  "nodes": [],
1058
1058
  "global": false,
1059
1059
  "libraryName": {
1060
- "id": 37918,
1060
+ "id": 38519,
1061
1061
  "name": "ArrayLib",
1062
1062
  "nodeType": "IdentifierPath",
1063
- "referencedDeclaration": 39818,
1063
+ "referencedDeclaration": 40419,
1064
1064
  "src": "929:8:76"
1065
1065
  },
1066
1066
  "typeName": {
1067
1067
  "baseType": {
1068
- "id": 37919,
1068
+ "id": 38520,
1069
1069
  "name": "bytes32",
1070
1070
  "nodeType": "ElementaryTypeName",
1071
1071
  "src": "942:7:76",
@@ -1074,7 +1074,7 @@
1074
1074
  "typeString": "bytes32"
1075
1075
  }
1076
1076
  },
1077
- "id": 37920,
1077
+ "id": 38521,
1078
1078
  "nodeType": "ArrayTypeName",
1079
1079
  "src": "942:9:76",
1080
1080
  "typeDescriptions": {
@@ -1084,20 +1084,20 @@
1084
1084
  }
1085
1085
  },
1086
1086
  {
1087
- "id": 37924,
1087
+ "id": 38525,
1088
1088
  "nodeType": "UsingForDirective",
1089
1089
  "src": "955:35:76",
1090
1090
  "nodes": [],
1091
1091
  "global": false,
1092
1092
  "libraryName": {
1093
- "id": 37922,
1093
+ "id": 38523,
1094
1094
  "name": "ResourceSelector",
1095
1095
  "nodeType": "IdentifierPath",
1096
- "referencedDeclaration": 32525,
1096
+ "referencedDeclaration": 33049,
1097
1097
  "src": "961:16:76"
1098
1098
  },
1099
1099
  "typeName": {
1100
- "id": 37923,
1100
+ "id": 38524,
1101
1101
  "name": "bytes32",
1102
1102
  "nodeType": "ElementaryTypeName",
1103
1103
  "src": "982:7:76",
@@ -1108,29 +1108,29 @@
1108
1108
  }
1109
1109
  },
1110
1110
  {
1111
- "id": 37982,
1111
+ "id": 38583,
1112
1112
  "nodeType": "FunctionDefinition",
1113
1113
  "src": "994:654:76",
1114
1114
  "nodes": [],
1115
1115
  "body": {
1116
- "id": 37981,
1116
+ "id": 38582,
1117
1117
  "nodeType": "Block",
1118
1118
  "src": "1086:562:76",
1119
1119
  "nodes": [],
1120
1120
  "statements": [
1121
1121
  {
1122
1122
  "assignments": [
1123
- 37935
1123
+ 38536
1124
1124
  ],
1125
1125
  "declarations": [
1126
1126
  {
1127
1127
  "constant": false,
1128
- "id": 37935,
1128
+ "id": 38536,
1129
1129
  "mutability": "mutable",
1130
1130
  "name": "targetTableId",
1131
1131
  "nameLocation": "1100:13:76",
1132
1132
  "nodeType": "VariableDeclaration",
1133
- "scope": 37981,
1133
+ "scope": 38582,
1134
1134
  "src": "1092:21:76",
1135
1135
  "stateVariable": false,
1136
1136
  "storageLocation": "default",
@@ -1139,7 +1139,7 @@
1139
1139
  "typeString": "bytes32"
1140
1140
  },
1141
1141
  "typeName": {
1142
- "id": 37934,
1142
+ "id": 38535,
1143
1143
  "name": "bytes32",
1144
1144
  "nodeType": "ElementaryTypeName",
1145
1145
  "src": "1092:7:76",
@@ -1151,15 +1151,15 @@
1151
1151
  "visibility": "internal"
1152
1152
  }
1153
1153
  ],
1154
- "id": 37940,
1154
+ "id": 38541,
1155
1155
  "initialValue": {
1156
1156
  "arguments": [
1157
1157
  {
1158
- "id": 37937,
1158
+ "id": 38538,
1159
1159
  "name": "MODULE_NAMESPACE",
1160
1160
  "nodeType": "Identifier",
1161
1161
  "overloadedDeclarations": [],
1162
- "referencedDeclaration": 38279,
1162
+ "referencedDeclaration": 38880,
1163
1163
  "src": "1139:16:76",
1164
1164
  "typeDescriptions": {
1165
1165
  "typeIdentifier": "t_bytes8",
@@ -1167,11 +1167,11 @@
1167
1167
  }
1168
1168
  },
1169
1169
  {
1170
- "id": 37938,
1170
+ "id": 38539,
1171
1171
  "name": "sourceTableId",
1172
1172
  "nodeType": "Identifier",
1173
1173
  "overloadedDeclarations": [],
1174
- "referencedDeclaration": 37926,
1174
+ "referencedDeclaration": 38527,
1175
1175
  "src": "1157:13:76",
1176
1176
  "typeDescriptions": {
1177
1177
  "typeIdentifier": "t_bytes32",
@@ -1190,18 +1190,18 @@
1190
1190
  "typeString": "bytes32"
1191
1191
  }
1192
1192
  ],
1193
- "id": 37936,
1193
+ "id": 38537,
1194
1194
  "name": "getTargetTableSelector",
1195
1195
  "nodeType": "Identifier",
1196
1196
  "overloadedDeclarations": [],
1197
- "referencedDeclaration": 39871,
1197
+ "referencedDeclaration": 40472,
1198
1198
  "src": "1116:22:76",
1199
1199
  "typeDescriptions": {
1200
1200
  "typeIdentifier": "t_function_internal_pure$_t_bytes8_$_t_bytes32_$returns$_t_bytes32_$",
1201
1201
  "typeString": "function (bytes8,bytes32) pure returns (bytes32)"
1202
1202
  }
1203
1203
  },
1204
- "id": 37939,
1204
+ "id": 38540,
1205
1205
  "isConstant": false,
1206
1206
  "isLValue": false,
1207
1207
  "isPure": false,
@@ -1221,17 +1221,17 @@
1221
1221
  },
1222
1222
  {
1223
1223
  "assignments": [
1224
- 37942
1224
+ 38543
1225
1225
  ],
1226
1226
  "declarations": [
1227
1227
  {
1228
1228
  "constant": false,
1229
- "id": 37942,
1229
+ "id": 38543,
1230
1230
  "mutability": "mutable",
1231
1231
  "name": "previousValue",
1232
1232
  "nameLocation": "1216:13:76",
1233
1233
  "nodeType": "VariableDeclaration",
1234
- "scope": 37981,
1234
+ "scope": 38582,
1235
1235
  "src": "1208:21:76",
1236
1236
  "stateVariable": false,
1237
1237
  "storageLocation": "default",
@@ -1240,7 +1240,7 @@
1240
1240
  "typeString": "bytes32"
1241
1241
  },
1242
1242
  "typeName": {
1243
- "id": 37941,
1243
+ "id": 38542,
1244
1244
  "name": "bytes32",
1245
1245
  "nodeType": "ElementaryTypeName",
1246
1246
  "src": "1208:7:76",
@@ -1252,17 +1252,17 @@
1252
1252
  "visibility": "internal"
1253
1253
  }
1254
1254
  ],
1255
- "id": 37953,
1255
+ "id": 38554,
1256
1256
  "initialValue": {
1257
1257
  "arguments": [
1258
1258
  {
1259
1259
  "arguments": [
1260
1260
  {
1261
- "id": 37949,
1261
+ "id": 38550,
1262
1262
  "name": "sourceTableId",
1263
1263
  "nodeType": "Identifier",
1264
1264
  "overloadedDeclarations": [],
1265
- "referencedDeclaration": 37926,
1265
+ "referencedDeclaration": 38527,
1266
1266
  "src": "1275:13:76",
1267
1267
  "typeDescriptions": {
1268
1268
  "typeIdentifier": "t_bytes32",
@@ -1270,11 +1270,11 @@
1270
1270
  }
1271
1271
  },
1272
1272
  {
1273
- "id": 37950,
1273
+ "id": 38551,
1274
1274
  "name": "key",
1275
1275
  "nodeType": "Identifier",
1276
1276
  "overloadedDeclarations": [],
1277
- "referencedDeclaration": 37929,
1277
+ "referencedDeclaration": 38530,
1278
1278
  "src": "1290:3:76",
1279
1279
  "typeDescriptions": {
1280
1280
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
@@ -1297,7 +1297,7 @@
1297
1297
  "arguments": [
1298
1298
  {
1299
1299
  "expression": {
1300
- "id": 37945,
1300
+ "id": 38546,
1301
1301
  "name": "msg",
1302
1302
  "nodeType": "Identifier",
1303
1303
  "overloadedDeclarations": [],
@@ -1308,7 +1308,7 @@
1308
1308
  "typeString": "msg"
1309
1309
  }
1310
1310
  },
1311
- "id": 37946,
1311
+ "id": 38547,
1312
1312
  "isConstant": false,
1313
1313
  "isLValue": false,
1314
1314
  "isPure": false,
@@ -1329,18 +1329,18 @@
1329
1329
  "typeString": "address"
1330
1330
  }
1331
1331
  ],
1332
- "id": 37944,
1332
+ "id": 38545,
1333
1333
  "name": "IBaseWorld",
1334
1334
  "nodeType": "Identifier",
1335
1335
  "overloadedDeclarations": [],
1336
- "referencedDeclaration": 33218,
1336
+ "referencedDeclaration": 33804,
1337
1337
  "src": "1242:10:76",
1338
1338
  "typeDescriptions": {
1339
- "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33218_$",
1339
+ "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33804_$",
1340
1340
  "typeString": "type(contract IBaseWorld)"
1341
1341
  }
1342
1342
  },
1343
- "id": 37947,
1343
+ "id": 38548,
1344
1344
  "isConstant": false,
1345
1345
  "isLValue": false,
1346
1346
  "isPure": false,
@@ -1351,25 +1351,25 @@
1351
1351
  "src": "1242:22:76",
1352
1352
  "tryCall": false,
1353
1353
  "typeDescriptions": {
1354
- "typeIdentifier": "t_contract$_IBaseWorld_$33218",
1354
+ "typeIdentifier": "t_contract$_IBaseWorld_$33804",
1355
1355
  "typeString": "contract IBaseWorld"
1356
1356
  }
1357
1357
  },
1358
- "id": 37948,
1358
+ "id": 38549,
1359
1359
  "isConstant": false,
1360
1360
  "isLValue": false,
1361
1361
  "isPure": false,
1362
1362
  "lValueRequested": false,
1363
1363
  "memberName": "getRecord",
1364
1364
  "nodeType": "MemberAccess",
1365
- "referencedDeclaration": 17213,
1365
+ "referencedDeclaration": 17474,
1366
1366
  "src": "1242:32:76",
1367
1367
  "typeDescriptions": {
1368
1368
  "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$",
1369
1369
  "typeString": "function (bytes32,bytes32[] memory) view external returns (bytes memory)"
1370
1370
  }
1371
1371
  },
1372
- "id": 37951,
1372
+ "id": 38552,
1373
1373
  "isConstant": false,
1374
1374
  "isLValue": false,
1375
1375
  "isPure": false,
@@ -1392,7 +1392,7 @@
1392
1392
  "typeString": "bytes memory"
1393
1393
  }
1394
1394
  ],
1395
- "id": 37943,
1395
+ "id": 38544,
1396
1396
  "name": "keccak256",
1397
1397
  "nodeType": "Identifier",
1398
1398
  "overloadedDeclarations": [],
@@ -1403,7 +1403,7 @@
1403
1403
  "typeString": "function (bytes memory) pure returns (bytes32)"
1404
1404
  }
1405
1405
  },
1406
- "id": 37952,
1406
+ "id": 38553,
1407
1407
  "isConstant": false,
1408
1408
  "isLValue": false,
1409
1409
  "isPure": false,
@@ -1427,17 +1427,17 @@
1427
1427
  "typeIdentifier": "t_bytes32",
1428
1428
  "typeString": "bytes32"
1429
1429
  },
1430
- "id": 37958,
1430
+ "id": 38559,
1431
1431
  "isConstant": false,
1432
1432
  "isLValue": false,
1433
1433
  "isPure": false,
1434
1434
  "lValueRequested": false,
1435
1435
  "leftExpression": {
1436
- "id": 37954,
1436
+ "id": 38555,
1437
1437
  "name": "previousValue",
1438
1438
  "nodeType": "Identifier",
1439
1439
  "overloadedDeclarations": [],
1440
- "referencedDeclaration": 37942,
1440
+ "referencedDeclaration": 38543,
1441
1441
  "src": "1348:13:76",
1442
1442
  "typeDescriptions": {
1443
1443
  "typeIdentifier": "t_bytes32",
@@ -1449,11 +1449,11 @@
1449
1449
  "rightExpression": {
1450
1450
  "arguments": [
1451
1451
  {
1452
- "id": 37956,
1452
+ "id": 38557,
1453
1453
  "name": "data",
1454
1454
  "nodeType": "Identifier",
1455
1455
  "overloadedDeclarations": [],
1456
- "referencedDeclaration": 37931,
1456
+ "referencedDeclaration": 38532,
1457
1457
  "src": "1375:4:76",
1458
1458
  "typeDescriptions": {
1459
1459
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -1468,7 +1468,7 @@
1468
1468
  "typeString": "bytes memory"
1469
1469
  }
1470
1470
  ],
1471
- "id": 37955,
1471
+ "id": 38556,
1472
1472
  "name": "keccak256",
1473
1473
  "nodeType": "Identifier",
1474
1474
  "overloadedDeclarations": [],
@@ -1479,7 +1479,7 @@
1479
1479
  "typeString": "function (bytes memory) pure returns (bytes32)"
1480
1480
  }
1481
1481
  },
1482
- "id": 37957,
1482
+ "id": 38558,
1483
1483
  "isConstant": false,
1484
1484
  "isLValue": false,
1485
1485
  "isPure": false,
@@ -1500,12 +1500,12 @@
1500
1500
  "typeString": "bool"
1501
1501
  }
1502
1502
  },
1503
- "id": 37960,
1503
+ "id": 38561,
1504
1504
  "nodeType": "IfStatement",
1505
1505
  "src": "1344:45:76",
1506
1506
  "trueBody": {
1507
- "functionReturnParameters": 37933,
1508
- "id": 37959,
1507
+ "functionReturnParameters": 38534,
1508
+ "id": 38560,
1509
1509
  "nodeType": "Return",
1510
1510
  "src": "1382:7:76"
1511
1511
  }
@@ -1514,11 +1514,11 @@
1514
1514
  "expression": {
1515
1515
  "arguments": [
1516
1516
  {
1517
- "id": 37962,
1517
+ "id": 38563,
1518
1518
  "name": "targetTableId",
1519
1519
  "nodeType": "Identifier",
1520
1520
  "overloadedDeclarations": [],
1521
- "referencedDeclaration": 37935,
1521
+ "referencedDeclaration": 38536,
1522
1522
  "src": "1482:13:76",
1523
1523
  "typeDescriptions": {
1524
1524
  "typeIdentifier": "t_bytes32",
@@ -1527,21 +1527,21 @@
1527
1527
  },
1528
1528
  {
1529
1529
  "baseExpression": {
1530
- "id": 37963,
1530
+ "id": 38564,
1531
1531
  "name": "key",
1532
1532
  "nodeType": "Identifier",
1533
1533
  "overloadedDeclarations": [],
1534
- "referencedDeclaration": 37929,
1534
+ "referencedDeclaration": 38530,
1535
1535
  "src": "1497:3:76",
1536
1536
  "typeDescriptions": {
1537
1537
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
1538
1538
  "typeString": "bytes32[] memory"
1539
1539
  }
1540
1540
  },
1541
- "id": 37965,
1541
+ "id": 38566,
1542
1542
  "indexExpression": {
1543
1543
  "hexValue": "30",
1544
- "id": 37964,
1544
+ "id": 38565,
1545
1545
  "isConstant": false,
1546
1546
  "isLValue": false,
1547
1547
  "isPure": true,
@@ -1567,11 +1567,11 @@
1567
1567
  }
1568
1568
  },
1569
1569
  {
1570
- "id": 37966,
1570
+ "id": 38567,
1571
1571
  "name": "previousValue",
1572
1572
  "nodeType": "Identifier",
1573
1573
  "overloadedDeclarations": [],
1574
- "referencedDeclaration": 37942,
1574
+ "referencedDeclaration": 38543,
1575
1575
  "src": "1505:13:76",
1576
1576
  "typeDescriptions": {
1577
1577
  "typeIdentifier": "t_bytes32",
@@ -1594,18 +1594,18 @@
1594
1594
  "typeString": "bytes32"
1595
1595
  }
1596
1596
  ],
1597
- "id": 37961,
1597
+ "id": 38562,
1598
1598
  "name": "_removeKeyFromList",
1599
1599
  "nodeType": "Identifier",
1600
1600
  "overloadedDeclarations": [],
1601
- "referencedDeclaration": 38135,
1601
+ "referencedDeclaration": 38736,
1602
1602
  "src": "1463:18:76",
1603
1603
  "typeDescriptions": {
1604
1604
  "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$",
1605
1605
  "typeString": "function (bytes32,bytes32,bytes32)"
1606
1606
  }
1607
1607
  },
1608
- "id": 37967,
1608
+ "id": 38568,
1609
1609
  "isConstant": false,
1610
1610
  "isLValue": false,
1611
1611
  "isPure": false,
@@ -1620,7 +1620,7 @@
1620
1620
  "typeString": "tuple()"
1621
1621
  }
1622
1622
  },
1623
- "id": 37968,
1623
+ "id": 38569,
1624
1624
  "nodeType": "ExpressionStatement",
1625
1625
  "src": "1463:56:76"
1626
1626
  },
@@ -1628,11 +1628,11 @@
1628
1628
  "expression": {
1629
1629
  "arguments": [
1630
1630
  {
1631
- "id": 37972,
1631
+ "id": 38573,
1632
1632
  "name": "targetTableId",
1633
1633
  "nodeType": "Identifier",
1634
1634
  "overloadedDeclarations": [],
1635
- "referencedDeclaration": 37935,
1635
+ "referencedDeclaration": 38536,
1636
1636
  "src": "1604:13:76",
1637
1637
  "typeDescriptions": {
1638
1638
  "typeIdentifier": "t_bytes32",
@@ -1642,11 +1642,11 @@
1642
1642
  {
1643
1643
  "arguments": [
1644
1644
  {
1645
- "id": 37974,
1645
+ "id": 38575,
1646
1646
  "name": "data",
1647
1647
  "nodeType": "Identifier",
1648
1648
  "overloadedDeclarations": [],
1649
- "referencedDeclaration": 37931,
1649
+ "referencedDeclaration": 38532,
1650
1650
  "src": "1629:4:76",
1651
1651
  "typeDescriptions": {
1652
1652
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -1661,7 +1661,7 @@
1661
1661
  "typeString": "bytes memory"
1662
1662
  }
1663
1663
  ],
1664
- "id": 37973,
1664
+ "id": 38574,
1665
1665
  "name": "keccak256",
1666
1666
  "nodeType": "Identifier",
1667
1667
  "overloadedDeclarations": [],
@@ -1672,7 +1672,7 @@
1672
1672
  "typeString": "function (bytes memory) pure returns (bytes32)"
1673
1673
  }
1674
1674
  },
1675
- "id": 37975,
1675
+ "id": 38576,
1676
1676
  "isConstant": false,
1677
1677
  "isLValue": false,
1678
1678
  "isPure": false,
@@ -1689,21 +1689,21 @@
1689
1689
  },
1690
1690
  {
1691
1691
  "baseExpression": {
1692
- "id": 37976,
1692
+ "id": 38577,
1693
1693
  "name": "key",
1694
1694
  "nodeType": "Identifier",
1695
1695
  "overloadedDeclarations": [],
1696
- "referencedDeclaration": 37929,
1696
+ "referencedDeclaration": 38530,
1697
1697
  "src": "1636:3:76",
1698
1698
  "typeDescriptions": {
1699
1699
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
1700
1700
  "typeString": "bytes32[] memory"
1701
1701
  }
1702
1702
  },
1703
- "id": 37978,
1703
+ "id": 38579,
1704
1704
  "indexExpression": {
1705
1705
  "hexValue": "30",
1706
- "id": 37977,
1706
+ "id": 38578,
1707
1707
  "isConstant": false,
1708
1708
  "isLValue": false,
1709
1709
  "isPure": true,
@@ -1745,32 +1745,32 @@
1745
1745
  }
1746
1746
  ],
1747
1747
  "expression": {
1748
- "id": 37969,
1748
+ "id": 38570,
1749
1749
  "name": "KeysWithValue",
1750
1750
  "nodeType": "Identifier",
1751
1751
  "overloadedDeclarations": [],
1752
- "referencedDeclaration": 39084,
1752
+ "referencedDeclaration": 39685,
1753
1753
  "src": "1585:13:76",
1754
1754
  "typeDescriptions": {
1755
- "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39084_$",
1755
+ "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39685_$",
1756
1756
  "typeString": "type(library KeysWithValue)"
1757
1757
  }
1758
1758
  },
1759
- "id": 37971,
1759
+ "id": 38572,
1760
1760
  "isConstant": false,
1761
1761
  "isLValue": false,
1762
1762
  "isPure": false,
1763
1763
  "lValueRequested": false,
1764
1764
  "memberName": "push",
1765
1765
  "nodeType": "MemberAccess",
1766
- "referencedDeclaration": 38804,
1766
+ "referencedDeclaration": 39405,
1767
1767
  "src": "1585:18:76",
1768
1768
  "typeDescriptions": {
1769
1769
  "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$",
1770
1770
  "typeString": "function (bytes32,bytes32,bytes32)"
1771
1771
  }
1772
1772
  },
1773
- "id": 37979,
1773
+ "id": 38580,
1774
1774
  "isConstant": false,
1775
1775
  "isLValue": false,
1776
1776
  "isPure": false,
@@ -1785,14 +1785,14 @@
1785
1785
  "typeString": "tuple()"
1786
1786
  }
1787
1787
  },
1788
- "id": 37980,
1788
+ "id": 38581,
1789
1789
  "nodeType": "ExpressionStatement",
1790
1790
  "src": "1585:58:76"
1791
1791
  }
1792
1792
  ]
1793
1793
  },
1794
1794
  "baseFunctions": [
1795
- 17378
1795
+ 17651
1796
1796
  ],
1797
1797
  "functionSelector": "82b6745f",
1798
1798
  "implemented": true,
@@ -1801,17 +1801,17 @@
1801
1801
  "name": "onSetRecord",
1802
1802
  "nameLocation": "1003:11:76",
1803
1803
  "parameters": {
1804
- "id": 37932,
1804
+ "id": 38533,
1805
1805
  "nodeType": "ParameterList",
1806
1806
  "parameters": [
1807
1807
  {
1808
1808
  "constant": false,
1809
- "id": 37926,
1809
+ "id": 38527,
1810
1810
  "mutability": "mutable",
1811
1811
  "name": "sourceTableId",
1812
1812
  "nameLocation": "1023:13:76",
1813
1813
  "nodeType": "VariableDeclaration",
1814
- "scope": 37982,
1814
+ "scope": 38583,
1815
1815
  "src": "1015:21:76",
1816
1816
  "stateVariable": false,
1817
1817
  "storageLocation": "default",
@@ -1820,7 +1820,7 @@
1820
1820
  "typeString": "bytes32"
1821
1821
  },
1822
1822
  "typeName": {
1823
- "id": 37925,
1823
+ "id": 38526,
1824
1824
  "name": "bytes32",
1825
1825
  "nodeType": "ElementaryTypeName",
1826
1826
  "src": "1015:7:76",
@@ -1833,12 +1833,12 @@
1833
1833
  },
1834
1834
  {
1835
1835
  "constant": false,
1836
- "id": 37929,
1836
+ "id": 38530,
1837
1837
  "mutability": "mutable",
1838
1838
  "name": "key",
1839
1839
  "nameLocation": "1055:3:76",
1840
1840
  "nodeType": "VariableDeclaration",
1841
- "scope": 37982,
1841
+ "scope": 38583,
1842
1842
  "src": "1038:20:76",
1843
1843
  "stateVariable": false,
1844
1844
  "storageLocation": "memory",
@@ -1848,7 +1848,7 @@
1848
1848
  },
1849
1849
  "typeName": {
1850
1850
  "baseType": {
1851
- "id": 37927,
1851
+ "id": 38528,
1852
1852
  "name": "bytes32",
1853
1853
  "nodeType": "ElementaryTypeName",
1854
1854
  "src": "1038:7:76",
@@ -1857,7 +1857,7 @@
1857
1857
  "typeString": "bytes32"
1858
1858
  }
1859
1859
  },
1860
- "id": 37928,
1860
+ "id": 38529,
1861
1861
  "nodeType": "ArrayTypeName",
1862
1862
  "src": "1038:9:76",
1863
1863
  "typeDescriptions": {
@@ -1869,12 +1869,12 @@
1869
1869
  },
1870
1870
  {
1871
1871
  "constant": false,
1872
- "id": 37931,
1872
+ "id": 38532,
1873
1873
  "mutability": "mutable",
1874
1874
  "name": "data",
1875
1875
  "nameLocation": "1073:4:76",
1876
1876
  "nodeType": "VariableDeclaration",
1877
- "scope": 37982,
1877
+ "scope": 38583,
1878
1878
  "src": "1060:17:76",
1879
1879
  "stateVariable": false,
1880
1880
  "storageLocation": "memory",
@@ -1883,7 +1883,7 @@
1883
1883
  "typeString": "bytes"
1884
1884
  },
1885
1885
  "typeName": {
1886
- "id": 37930,
1886
+ "id": 38531,
1887
1887
  "name": "bytes",
1888
1888
  "nodeType": "ElementaryTypeName",
1889
1889
  "src": "1060:5:76",
@@ -1898,40 +1898,40 @@
1898
1898
  "src": "1014:64:76"
1899
1899
  },
1900
1900
  "returnParameters": {
1901
- "id": 37933,
1901
+ "id": 38534,
1902
1902
  "nodeType": "ParameterList",
1903
1903
  "parameters": [],
1904
1904
  "src": "1086:0:76"
1905
1905
  },
1906
- "scope": 38136,
1906
+ "scope": 38737,
1907
1907
  "stateMutability": "nonpayable",
1908
1908
  "virtual": false,
1909
1909
  "visibility": "public"
1910
1910
  },
1911
1911
  {
1912
- "id": 38023,
1912
+ "id": 38624,
1913
1913
  "nodeType": "FunctionDefinition",
1914
1914
  "src": "1652:412:76",
1915
1915
  "nodes": [],
1916
1916
  "body": {
1917
- "id": 38022,
1917
+ "id": 38623,
1918
1918
  "nodeType": "Block",
1919
1919
  "src": "1751:313:76",
1920
1920
  "nodes": [],
1921
1921
  "statements": [
1922
1922
  {
1923
1923
  "assignments": [
1924
- 37995
1924
+ 38596
1925
1925
  ],
1926
1926
  "declarations": [
1927
1927
  {
1928
1928
  "constant": false,
1929
- "id": 37995,
1929
+ "id": 38596,
1930
1930
  "mutability": "mutable",
1931
1931
  "name": "previousValue",
1932
1932
  "nameLocation": "1833:13:76",
1933
1933
  "nodeType": "VariableDeclaration",
1934
- "scope": 38022,
1934
+ "scope": 38623,
1935
1935
  "src": "1825:21:76",
1936
1936
  "stateVariable": false,
1937
1937
  "storageLocation": "default",
@@ -1940,7 +1940,7 @@
1940
1940
  "typeString": "bytes32"
1941
1941
  },
1942
1942
  "typeName": {
1943
- "id": 37994,
1943
+ "id": 38595,
1944
1944
  "name": "bytes32",
1945
1945
  "nodeType": "ElementaryTypeName",
1946
1946
  "src": "1825:7:76",
@@ -1952,17 +1952,17 @@
1952
1952
  "visibility": "internal"
1953
1953
  }
1954
1954
  ],
1955
- "id": 38006,
1955
+ "id": 38607,
1956
1956
  "initialValue": {
1957
1957
  "arguments": [
1958
1958
  {
1959
1959
  "arguments": [
1960
1960
  {
1961
- "id": 38002,
1961
+ "id": 38603,
1962
1962
  "name": "sourceTableId",
1963
1963
  "nodeType": "Identifier",
1964
1964
  "overloadedDeclarations": [],
1965
- "referencedDeclaration": 37984,
1965
+ "referencedDeclaration": 38585,
1966
1966
  "src": "1892:13:76",
1967
1967
  "typeDescriptions": {
1968
1968
  "typeIdentifier": "t_bytes32",
@@ -1970,11 +1970,11 @@
1970
1970
  }
1971
1971
  },
1972
1972
  {
1973
- "id": 38003,
1973
+ "id": 38604,
1974
1974
  "name": "key",
1975
1975
  "nodeType": "Identifier",
1976
1976
  "overloadedDeclarations": [],
1977
- "referencedDeclaration": 37987,
1977
+ "referencedDeclaration": 38588,
1978
1978
  "src": "1907:3:76",
1979
1979
  "typeDescriptions": {
1980
1980
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
@@ -1997,7 +1997,7 @@
1997
1997
  "arguments": [
1998
1998
  {
1999
1999
  "expression": {
2000
- "id": 37998,
2000
+ "id": 38599,
2001
2001
  "name": "msg",
2002
2002
  "nodeType": "Identifier",
2003
2003
  "overloadedDeclarations": [],
@@ -2008,7 +2008,7 @@
2008
2008
  "typeString": "msg"
2009
2009
  }
2010
2010
  },
2011
- "id": 37999,
2011
+ "id": 38600,
2012
2012
  "isConstant": false,
2013
2013
  "isLValue": false,
2014
2014
  "isPure": false,
@@ -2029,18 +2029,18 @@
2029
2029
  "typeString": "address"
2030
2030
  }
2031
2031
  ],
2032
- "id": 37997,
2032
+ "id": 38598,
2033
2033
  "name": "IBaseWorld",
2034
2034
  "nodeType": "Identifier",
2035
2035
  "overloadedDeclarations": [],
2036
- "referencedDeclaration": 33218,
2036
+ "referencedDeclaration": 33804,
2037
2037
  "src": "1859:10:76",
2038
2038
  "typeDescriptions": {
2039
- "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33218_$",
2039
+ "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33804_$",
2040
2040
  "typeString": "type(contract IBaseWorld)"
2041
2041
  }
2042
2042
  },
2043
- "id": 38000,
2043
+ "id": 38601,
2044
2044
  "isConstant": false,
2045
2045
  "isLValue": false,
2046
2046
  "isPure": false,
@@ -2051,25 +2051,25 @@
2051
2051
  "src": "1859:22:76",
2052
2052
  "tryCall": false,
2053
2053
  "typeDescriptions": {
2054
- "typeIdentifier": "t_contract$_IBaseWorld_$33218",
2054
+ "typeIdentifier": "t_contract$_IBaseWorld_$33804",
2055
2055
  "typeString": "contract IBaseWorld"
2056
2056
  }
2057
2057
  },
2058
- "id": 38001,
2058
+ "id": 38602,
2059
2059
  "isConstant": false,
2060
2060
  "isLValue": false,
2061
2061
  "isPure": false,
2062
2062
  "lValueRequested": false,
2063
2063
  "memberName": "getRecord",
2064
2064
  "nodeType": "MemberAccess",
2065
- "referencedDeclaration": 17213,
2065
+ "referencedDeclaration": 17474,
2066
2066
  "src": "1859:32:76",
2067
2067
  "typeDescriptions": {
2068
2068
  "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$",
2069
2069
  "typeString": "function (bytes32,bytes32[] memory) view external returns (bytes memory)"
2070
2070
  }
2071
2071
  },
2072
- "id": 38004,
2072
+ "id": 38605,
2073
2073
  "isConstant": false,
2074
2074
  "isLValue": false,
2075
2075
  "isPure": false,
@@ -2092,7 +2092,7 @@
2092
2092
  "typeString": "bytes memory"
2093
2093
  }
2094
2094
  ],
2095
- "id": 37996,
2095
+ "id": 38597,
2096
2096
  "name": "keccak256",
2097
2097
  "nodeType": "Identifier",
2098
2098
  "overloadedDeclarations": [],
@@ -2103,7 +2103,7 @@
2103
2103
  "typeString": "function (bytes memory) pure returns (bytes32)"
2104
2104
  }
2105
2105
  },
2106
- "id": 38005,
2106
+ "id": 38606,
2107
2107
  "isConstant": false,
2108
2108
  "isLValue": false,
2109
2109
  "isPure": false,
@@ -2123,17 +2123,17 @@
2123
2123
  },
2124
2124
  {
2125
2125
  "assignments": [
2126
- 38008
2126
+ 38609
2127
2127
  ],
2128
2128
  "declarations": [
2129
2129
  {
2130
2130
  "constant": false,
2131
- "id": 38008,
2131
+ "id": 38609,
2132
2132
  "mutability": "mutable",
2133
2133
  "name": "targetTableId",
2134
2134
  "nameLocation": "1926:13:76",
2135
2135
  "nodeType": "VariableDeclaration",
2136
- "scope": 38022,
2136
+ "scope": 38623,
2137
2137
  "src": "1918:21:76",
2138
2138
  "stateVariable": false,
2139
2139
  "storageLocation": "default",
@@ -2142,7 +2142,7 @@
2142
2142
  "typeString": "bytes32"
2143
2143
  },
2144
2144
  "typeName": {
2145
- "id": 38007,
2145
+ "id": 38608,
2146
2146
  "name": "bytes32",
2147
2147
  "nodeType": "ElementaryTypeName",
2148
2148
  "src": "1918:7:76",
@@ -2154,15 +2154,15 @@
2154
2154
  "visibility": "internal"
2155
2155
  }
2156
2156
  ],
2157
- "id": 38013,
2157
+ "id": 38614,
2158
2158
  "initialValue": {
2159
2159
  "arguments": [
2160
2160
  {
2161
- "id": 38010,
2161
+ "id": 38611,
2162
2162
  "name": "MODULE_NAMESPACE",
2163
2163
  "nodeType": "Identifier",
2164
2164
  "overloadedDeclarations": [],
2165
- "referencedDeclaration": 38279,
2165
+ "referencedDeclaration": 38880,
2166
2166
  "src": "1965:16:76",
2167
2167
  "typeDescriptions": {
2168
2168
  "typeIdentifier": "t_bytes8",
@@ -2170,11 +2170,11 @@
2170
2170
  }
2171
2171
  },
2172
2172
  {
2173
- "id": 38011,
2173
+ "id": 38612,
2174
2174
  "name": "sourceTableId",
2175
2175
  "nodeType": "Identifier",
2176
2176
  "overloadedDeclarations": [],
2177
- "referencedDeclaration": 37984,
2177
+ "referencedDeclaration": 38585,
2178
2178
  "src": "1983:13:76",
2179
2179
  "typeDescriptions": {
2180
2180
  "typeIdentifier": "t_bytes32",
@@ -2193,18 +2193,18 @@
2193
2193
  "typeString": "bytes32"
2194
2194
  }
2195
2195
  ],
2196
- "id": 38009,
2196
+ "id": 38610,
2197
2197
  "name": "getTargetTableSelector",
2198
2198
  "nodeType": "Identifier",
2199
2199
  "overloadedDeclarations": [],
2200
- "referencedDeclaration": 39871,
2200
+ "referencedDeclaration": 40472,
2201
2201
  "src": "1942:22:76",
2202
2202
  "typeDescriptions": {
2203
2203
  "typeIdentifier": "t_function_internal_pure$_t_bytes8_$_t_bytes32_$returns$_t_bytes32_$",
2204
2204
  "typeString": "function (bytes8,bytes32) pure returns (bytes32)"
2205
2205
  }
2206
2206
  },
2207
- "id": 38012,
2207
+ "id": 38613,
2208
2208
  "isConstant": false,
2209
2209
  "isLValue": false,
2210
2210
  "isPure": false,
@@ -2226,11 +2226,11 @@
2226
2226
  "expression": {
2227
2227
  "arguments": [
2228
2228
  {
2229
- "id": 38015,
2229
+ "id": 38616,
2230
2230
  "name": "targetTableId",
2231
2231
  "nodeType": "Identifier",
2232
2232
  "overloadedDeclarations": [],
2233
- "referencedDeclaration": 38008,
2233
+ "referencedDeclaration": 38609,
2234
2234
  "src": "2022:13:76",
2235
2235
  "typeDescriptions": {
2236
2236
  "typeIdentifier": "t_bytes32",
@@ -2239,21 +2239,21 @@
2239
2239
  },
2240
2240
  {
2241
2241
  "baseExpression": {
2242
- "id": 38016,
2242
+ "id": 38617,
2243
2243
  "name": "key",
2244
2244
  "nodeType": "Identifier",
2245
2245
  "overloadedDeclarations": [],
2246
- "referencedDeclaration": 37987,
2246
+ "referencedDeclaration": 38588,
2247
2247
  "src": "2037:3:76",
2248
2248
  "typeDescriptions": {
2249
2249
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
2250
2250
  "typeString": "bytes32[] memory"
2251
2251
  }
2252
2252
  },
2253
- "id": 38018,
2253
+ "id": 38619,
2254
2254
  "indexExpression": {
2255
2255
  "hexValue": "30",
2256
- "id": 38017,
2256
+ "id": 38618,
2257
2257
  "isConstant": false,
2258
2258
  "isLValue": false,
2259
2259
  "isPure": true,
@@ -2279,11 +2279,11 @@
2279
2279
  }
2280
2280
  },
2281
2281
  {
2282
- "id": 38019,
2282
+ "id": 38620,
2283
2283
  "name": "previousValue",
2284
2284
  "nodeType": "Identifier",
2285
2285
  "overloadedDeclarations": [],
2286
- "referencedDeclaration": 37995,
2286
+ "referencedDeclaration": 38596,
2287
2287
  "src": "2045:13:76",
2288
2288
  "typeDescriptions": {
2289
2289
  "typeIdentifier": "t_bytes32",
@@ -2306,18 +2306,18 @@
2306
2306
  "typeString": "bytes32"
2307
2307
  }
2308
2308
  ],
2309
- "id": 38014,
2309
+ "id": 38615,
2310
2310
  "name": "_removeKeyFromList",
2311
2311
  "nodeType": "Identifier",
2312
2312
  "overloadedDeclarations": [],
2313
- "referencedDeclaration": 38135,
2313
+ "referencedDeclaration": 38736,
2314
2314
  "src": "2003:18:76",
2315
2315
  "typeDescriptions": {
2316
2316
  "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$",
2317
2317
  "typeString": "function (bytes32,bytes32,bytes32)"
2318
2318
  }
2319
2319
  },
2320
- "id": 38020,
2320
+ "id": 38621,
2321
2321
  "isConstant": false,
2322
2322
  "isLValue": false,
2323
2323
  "isPure": false,
@@ -2332,14 +2332,14 @@
2332
2332
  "typeString": "tuple()"
2333
2333
  }
2334
2334
  },
2335
- "id": 38021,
2335
+ "id": 38622,
2336
2336
  "nodeType": "ExpressionStatement",
2337
2337
  "src": "2003:56:76"
2338
2338
  }
2339
2339
  ]
2340
2340
  },
2341
2341
  "baseFunctions": [
2342
- 17390
2342
+ 17663
2343
2343
  ],
2344
2344
  "functionSelector": "469b7ee2",
2345
2345
  "implemented": true,
@@ -2348,17 +2348,17 @@
2348
2348
  "name": "onBeforeSetField",
2349
2349
  "nameLocation": "1661:16:76",
2350
2350
  "parameters": {
2351
- "id": 37992,
2351
+ "id": 38593,
2352
2352
  "nodeType": "ParameterList",
2353
2353
  "parameters": [
2354
2354
  {
2355
2355
  "constant": false,
2356
- "id": 37984,
2356
+ "id": 38585,
2357
2357
  "mutability": "mutable",
2358
2358
  "name": "sourceTableId",
2359
2359
  "nameLocation": "1686:13:76",
2360
2360
  "nodeType": "VariableDeclaration",
2361
- "scope": 38023,
2361
+ "scope": 38624,
2362
2362
  "src": "1678:21:76",
2363
2363
  "stateVariable": false,
2364
2364
  "storageLocation": "default",
@@ -2367,7 +2367,7 @@
2367
2367
  "typeString": "bytes32"
2368
2368
  },
2369
2369
  "typeName": {
2370
- "id": 37983,
2370
+ "id": 38584,
2371
2371
  "name": "bytes32",
2372
2372
  "nodeType": "ElementaryTypeName",
2373
2373
  "src": "1678:7:76",
@@ -2380,12 +2380,12 @@
2380
2380
  },
2381
2381
  {
2382
2382
  "constant": false,
2383
- "id": 37987,
2383
+ "id": 38588,
2384
2384
  "mutability": "mutable",
2385
2385
  "name": "key",
2386
2386
  "nameLocation": "1718:3:76",
2387
2387
  "nodeType": "VariableDeclaration",
2388
- "scope": 38023,
2388
+ "scope": 38624,
2389
2389
  "src": "1701:20:76",
2390
2390
  "stateVariable": false,
2391
2391
  "storageLocation": "memory",
@@ -2395,7 +2395,7 @@
2395
2395
  },
2396
2396
  "typeName": {
2397
2397
  "baseType": {
2398
- "id": 37985,
2398
+ "id": 38586,
2399
2399
  "name": "bytes32",
2400
2400
  "nodeType": "ElementaryTypeName",
2401
2401
  "src": "1701:7:76",
@@ -2404,7 +2404,7 @@
2404
2404
  "typeString": "bytes32"
2405
2405
  }
2406
2406
  },
2407
- "id": 37986,
2407
+ "id": 38587,
2408
2408
  "nodeType": "ArrayTypeName",
2409
2409
  "src": "1701:9:76",
2410
2410
  "typeDescriptions": {
@@ -2416,12 +2416,12 @@
2416
2416
  },
2417
2417
  {
2418
2418
  "constant": false,
2419
- "id": 37989,
2419
+ "id": 38590,
2420
2420
  "mutability": "mutable",
2421
2421
  "name": "",
2422
2422
  "nameLocation": "-1:-1:-1",
2423
2423
  "nodeType": "VariableDeclaration",
2424
- "scope": 38023,
2424
+ "scope": 38624,
2425
2425
  "src": "1723:5:76",
2426
2426
  "stateVariable": false,
2427
2427
  "storageLocation": "default",
@@ -2430,7 +2430,7 @@
2430
2430
  "typeString": "uint8"
2431
2431
  },
2432
2432
  "typeName": {
2433
- "id": 37988,
2433
+ "id": 38589,
2434
2434
  "name": "uint8",
2435
2435
  "nodeType": "ElementaryTypeName",
2436
2436
  "src": "1723:5:76",
@@ -2443,12 +2443,12 @@
2443
2443
  },
2444
2444
  {
2445
2445
  "constant": false,
2446
- "id": 37991,
2446
+ "id": 38592,
2447
2447
  "mutability": "mutable",
2448
2448
  "name": "",
2449
2449
  "nameLocation": "-1:-1:-1",
2450
2450
  "nodeType": "VariableDeclaration",
2451
- "scope": 38023,
2451
+ "scope": 38624,
2452
2452
  "src": "1730:12:76",
2453
2453
  "stateVariable": false,
2454
2454
  "storageLocation": "memory",
@@ -2457,7 +2457,7 @@
2457
2457
  "typeString": "bytes"
2458
2458
  },
2459
2459
  "typeName": {
2460
- "id": 37990,
2460
+ "id": 38591,
2461
2461
  "name": "bytes",
2462
2462
  "nodeType": "ElementaryTypeName",
2463
2463
  "src": "1730:5:76",
@@ -2472,40 +2472,40 @@
2472
2472
  "src": "1677:66:76"
2473
2473
  },
2474
2474
  "returnParameters": {
2475
- "id": 37993,
2475
+ "id": 38594,
2476
2476
  "nodeType": "ParameterList",
2477
2477
  "parameters": [],
2478
2478
  "src": "1751:0:76"
2479
2479
  },
2480
- "scope": 38136,
2480
+ "scope": 38737,
2481
2481
  "stateMutability": "nonpayable",
2482
2482
  "virtual": false,
2483
2483
  "visibility": "public"
2484
2484
  },
2485
2485
  {
2486
- "id": 38066,
2486
+ "id": 38667,
2487
2487
  "nodeType": "FunctionDefinition",
2488
2488
  "src": "2068:391:76",
2489
2489
  "nodes": [],
2490
2490
  "body": {
2491
- "id": 38065,
2491
+ "id": 38666,
2492
2492
  "nodeType": "Block",
2493
2493
  "src": "2166:293:76",
2494
2494
  "nodes": [],
2495
2495
  "statements": [
2496
2496
  {
2497
2497
  "assignments": [
2498
- 38036
2498
+ 38637
2499
2499
  ],
2500
2500
  "declarations": [
2501
2501
  {
2502
2502
  "constant": false,
2503
- "id": 38036,
2503
+ "id": 38637,
2504
2504
  "mutability": "mutable",
2505
2505
  "name": "newValue",
2506
2506
  "nameLocation": "2238:8:76",
2507
2507
  "nodeType": "VariableDeclaration",
2508
- "scope": 38065,
2508
+ "scope": 38666,
2509
2509
  "src": "2230:16:76",
2510
2510
  "stateVariable": false,
2511
2511
  "storageLocation": "default",
@@ -2514,7 +2514,7 @@
2514
2514
  "typeString": "bytes32"
2515
2515
  },
2516
2516
  "typeName": {
2517
- "id": 38035,
2517
+ "id": 38636,
2518
2518
  "name": "bytes32",
2519
2519
  "nodeType": "ElementaryTypeName",
2520
2520
  "src": "2230:7:76",
@@ -2526,17 +2526,17 @@
2526
2526
  "visibility": "internal"
2527
2527
  }
2528
2528
  ],
2529
- "id": 38047,
2529
+ "id": 38648,
2530
2530
  "initialValue": {
2531
2531
  "arguments": [
2532
2532
  {
2533
2533
  "arguments": [
2534
2534
  {
2535
- "id": 38043,
2535
+ "id": 38644,
2536
2536
  "name": "sourceTableId",
2537
2537
  "nodeType": "Identifier",
2538
2538
  "overloadedDeclarations": [],
2539
- "referencedDeclaration": 38025,
2539
+ "referencedDeclaration": 38626,
2540
2540
  "src": "2292:13:76",
2541
2541
  "typeDescriptions": {
2542
2542
  "typeIdentifier": "t_bytes32",
@@ -2544,11 +2544,11 @@
2544
2544
  }
2545
2545
  },
2546
2546
  {
2547
- "id": 38044,
2547
+ "id": 38645,
2548
2548
  "name": "key",
2549
2549
  "nodeType": "Identifier",
2550
2550
  "overloadedDeclarations": [],
2551
- "referencedDeclaration": 38028,
2551
+ "referencedDeclaration": 38629,
2552
2552
  "src": "2307:3:76",
2553
2553
  "typeDescriptions": {
2554
2554
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
@@ -2571,7 +2571,7 @@
2571
2571
  "arguments": [
2572
2572
  {
2573
2573
  "expression": {
2574
- "id": 38039,
2574
+ "id": 38640,
2575
2575
  "name": "msg",
2576
2576
  "nodeType": "Identifier",
2577
2577
  "overloadedDeclarations": [],
@@ -2582,7 +2582,7 @@
2582
2582
  "typeString": "msg"
2583
2583
  }
2584
2584
  },
2585
- "id": 38040,
2585
+ "id": 38641,
2586
2586
  "isConstant": false,
2587
2587
  "isLValue": false,
2588
2588
  "isPure": false,
@@ -2603,18 +2603,18 @@
2603
2603
  "typeString": "address"
2604
2604
  }
2605
2605
  ],
2606
- "id": 38038,
2606
+ "id": 38639,
2607
2607
  "name": "IBaseWorld",
2608
2608
  "nodeType": "Identifier",
2609
2609
  "overloadedDeclarations": [],
2610
- "referencedDeclaration": 33218,
2610
+ "referencedDeclaration": 33804,
2611
2611
  "src": "2259:10:76",
2612
2612
  "typeDescriptions": {
2613
- "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33218_$",
2613
+ "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33804_$",
2614
2614
  "typeString": "type(contract IBaseWorld)"
2615
2615
  }
2616
2616
  },
2617
- "id": 38041,
2617
+ "id": 38642,
2618
2618
  "isConstant": false,
2619
2619
  "isLValue": false,
2620
2620
  "isPure": false,
@@ -2625,25 +2625,25 @@
2625
2625
  "src": "2259:22:76",
2626
2626
  "tryCall": false,
2627
2627
  "typeDescriptions": {
2628
- "typeIdentifier": "t_contract$_IBaseWorld_$33218",
2628
+ "typeIdentifier": "t_contract$_IBaseWorld_$33804",
2629
2629
  "typeString": "contract IBaseWorld"
2630
2630
  }
2631
2631
  },
2632
- "id": 38042,
2632
+ "id": 38643,
2633
2633
  "isConstant": false,
2634
2634
  "isLValue": false,
2635
2635
  "isPure": false,
2636
2636
  "lValueRequested": false,
2637
2637
  "memberName": "getRecord",
2638
2638
  "nodeType": "MemberAccess",
2639
- "referencedDeclaration": 17213,
2639
+ "referencedDeclaration": 17474,
2640
2640
  "src": "2259:32:76",
2641
2641
  "typeDescriptions": {
2642
2642
  "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$",
2643
2643
  "typeString": "function (bytes32,bytes32[] memory) view external returns (bytes memory)"
2644
2644
  }
2645
2645
  },
2646
- "id": 38045,
2646
+ "id": 38646,
2647
2647
  "isConstant": false,
2648
2648
  "isLValue": false,
2649
2649
  "isPure": false,
@@ -2666,7 +2666,7 @@
2666
2666
  "typeString": "bytes memory"
2667
2667
  }
2668
2668
  ],
2669
- "id": 38037,
2669
+ "id": 38638,
2670
2670
  "name": "keccak256",
2671
2671
  "nodeType": "Identifier",
2672
2672
  "overloadedDeclarations": [],
@@ -2677,7 +2677,7 @@
2677
2677
  "typeString": "function (bytes memory) pure returns (bytes32)"
2678
2678
  }
2679
2679
  },
2680
- "id": 38046,
2680
+ "id": 38647,
2681
2681
  "isConstant": false,
2682
2682
  "isLValue": false,
2683
2683
  "isPure": false,
@@ -2697,17 +2697,17 @@
2697
2697
  },
2698
2698
  {
2699
2699
  "assignments": [
2700
- 38049
2700
+ 38650
2701
2701
  ],
2702
2702
  "declarations": [
2703
2703
  {
2704
2704
  "constant": false,
2705
- "id": 38049,
2705
+ "id": 38650,
2706
2706
  "mutability": "mutable",
2707
2707
  "name": "targetTableId",
2708
2708
  "nameLocation": "2326:13:76",
2709
2709
  "nodeType": "VariableDeclaration",
2710
- "scope": 38065,
2710
+ "scope": 38666,
2711
2711
  "src": "2318:21:76",
2712
2712
  "stateVariable": false,
2713
2713
  "storageLocation": "default",
@@ -2716,7 +2716,7 @@
2716
2716
  "typeString": "bytes32"
2717
2717
  },
2718
2718
  "typeName": {
2719
- "id": 38048,
2719
+ "id": 38649,
2720
2720
  "name": "bytes32",
2721
2721
  "nodeType": "ElementaryTypeName",
2722
2722
  "src": "2318:7:76",
@@ -2728,15 +2728,15 @@
2728
2728
  "visibility": "internal"
2729
2729
  }
2730
2730
  ],
2731
- "id": 38054,
2731
+ "id": 38655,
2732
2732
  "initialValue": {
2733
2733
  "arguments": [
2734
2734
  {
2735
- "id": 38051,
2735
+ "id": 38652,
2736
2736
  "name": "MODULE_NAMESPACE",
2737
2737
  "nodeType": "Identifier",
2738
2738
  "overloadedDeclarations": [],
2739
- "referencedDeclaration": 38279,
2739
+ "referencedDeclaration": 38880,
2740
2740
  "src": "2365:16:76",
2741
2741
  "typeDescriptions": {
2742
2742
  "typeIdentifier": "t_bytes8",
@@ -2744,11 +2744,11 @@
2744
2744
  }
2745
2745
  },
2746
2746
  {
2747
- "id": 38052,
2747
+ "id": 38653,
2748
2748
  "name": "sourceTableId",
2749
2749
  "nodeType": "Identifier",
2750
2750
  "overloadedDeclarations": [],
2751
- "referencedDeclaration": 38025,
2751
+ "referencedDeclaration": 38626,
2752
2752
  "src": "2383:13:76",
2753
2753
  "typeDescriptions": {
2754
2754
  "typeIdentifier": "t_bytes32",
@@ -2767,18 +2767,18 @@
2767
2767
  "typeString": "bytes32"
2768
2768
  }
2769
2769
  ],
2770
- "id": 38050,
2770
+ "id": 38651,
2771
2771
  "name": "getTargetTableSelector",
2772
2772
  "nodeType": "Identifier",
2773
2773
  "overloadedDeclarations": [],
2774
- "referencedDeclaration": 39871,
2774
+ "referencedDeclaration": 40472,
2775
2775
  "src": "2342:22:76",
2776
2776
  "typeDescriptions": {
2777
2777
  "typeIdentifier": "t_function_internal_pure$_t_bytes8_$_t_bytes32_$returns$_t_bytes32_$",
2778
2778
  "typeString": "function (bytes8,bytes32) pure returns (bytes32)"
2779
2779
  }
2780
2780
  },
2781
- "id": 38053,
2781
+ "id": 38654,
2782
2782
  "isConstant": false,
2783
2783
  "isLValue": false,
2784
2784
  "isPure": false,
@@ -2800,11 +2800,11 @@
2800
2800
  "expression": {
2801
2801
  "arguments": [
2802
2802
  {
2803
- "id": 38058,
2803
+ "id": 38659,
2804
2804
  "name": "targetTableId",
2805
2805
  "nodeType": "Identifier",
2806
2806
  "overloadedDeclarations": [],
2807
- "referencedDeclaration": 38049,
2807
+ "referencedDeclaration": 38650,
2808
2808
  "src": "2422:13:76",
2809
2809
  "typeDescriptions": {
2810
2810
  "typeIdentifier": "t_bytes32",
@@ -2812,11 +2812,11 @@
2812
2812
  }
2813
2813
  },
2814
2814
  {
2815
- "id": 38059,
2815
+ "id": 38660,
2816
2816
  "name": "newValue",
2817
2817
  "nodeType": "Identifier",
2818
2818
  "overloadedDeclarations": [],
2819
- "referencedDeclaration": 38036,
2819
+ "referencedDeclaration": 38637,
2820
2820
  "src": "2437:8:76",
2821
2821
  "typeDescriptions": {
2822
2822
  "typeIdentifier": "t_bytes32",
@@ -2825,21 +2825,21 @@
2825
2825
  },
2826
2826
  {
2827
2827
  "baseExpression": {
2828
- "id": 38060,
2828
+ "id": 38661,
2829
2829
  "name": "key",
2830
2830
  "nodeType": "Identifier",
2831
2831
  "overloadedDeclarations": [],
2832
- "referencedDeclaration": 38028,
2832
+ "referencedDeclaration": 38629,
2833
2833
  "src": "2447:3:76",
2834
2834
  "typeDescriptions": {
2835
2835
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
2836
2836
  "typeString": "bytes32[] memory"
2837
2837
  }
2838
2838
  },
2839
- "id": 38062,
2839
+ "id": 38663,
2840
2840
  "indexExpression": {
2841
2841
  "hexValue": "30",
2842
- "id": 38061,
2842
+ "id": 38662,
2843
2843
  "isConstant": false,
2844
2844
  "isLValue": false,
2845
2845
  "isPure": true,
@@ -2881,32 +2881,32 @@
2881
2881
  }
2882
2882
  ],
2883
2883
  "expression": {
2884
- "id": 38055,
2884
+ "id": 38656,
2885
2885
  "name": "KeysWithValue",
2886
2886
  "nodeType": "Identifier",
2887
2887
  "overloadedDeclarations": [],
2888
- "referencedDeclaration": 39084,
2888
+ "referencedDeclaration": 39685,
2889
2889
  "src": "2403:13:76",
2890
2890
  "typeDescriptions": {
2891
- "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39084_$",
2891
+ "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39685_$",
2892
2892
  "typeString": "type(library KeysWithValue)"
2893
2893
  }
2894
2894
  },
2895
- "id": 38057,
2895
+ "id": 38658,
2896
2896
  "isConstant": false,
2897
2897
  "isLValue": false,
2898
2898
  "isPure": false,
2899
2899
  "lValueRequested": false,
2900
2900
  "memberName": "push",
2901
2901
  "nodeType": "MemberAccess",
2902
- "referencedDeclaration": 38804,
2902
+ "referencedDeclaration": 39405,
2903
2903
  "src": "2403:18:76",
2904
2904
  "typeDescriptions": {
2905
2905
  "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$",
2906
2906
  "typeString": "function (bytes32,bytes32,bytes32)"
2907
2907
  }
2908
2908
  },
2909
- "id": 38063,
2909
+ "id": 38664,
2910
2910
  "isConstant": false,
2911
2911
  "isLValue": false,
2912
2912
  "isPure": false,
@@ -2921,14 +2921,14 @@
2921
2921
  "typeString": "tuple()"
2922
2922
  }
2923
2923
  },
2924
- "id": 38064,
2924
+ "id": 38665,
2925
2925
  "nodeType": "ExpressionStatement",
2926
2926
  "src": "2403:51:76"
2927
2927
  }
2928
2928
  ]
2929
2929
  },
2930
2930
  "baseFunctions": [
2931
- 17402
2931
+ 17675
2932
2932
  ],
2933
2933
  "functionSelector": "6b3d7d5f",
2934
2934
  "implemented": true,
@@ -2937,17 +2937,17 @@
2937
2937
  "name": "onAfterSetField",
2938
2938
  "nameLocation": "2077:15:76",
2939
2939
  "parameters": {
2940
- "id": 38033,
2940
+ "id": 38634,
2941
2941
  "nodeType": "ParameterList",
2942
2942
  "parameters": [
2943
2943
  {
2944
2944
  "constant": false,
2945
- "id": 38025,
2945
+ "id": 38626,
2946
2946
  "mutability": "mutable",
2947
2947
  "name": "sourceTableId",
2948
2948
  "nameLocation": "2101:13:76",
2949
2949
  "nodeType": "VariableDeclaration",
2950
- "scope": 38066,
2950
+ "scope": 38667,
2951
2951
  "src": "2093:21:76",
2952
2952
  "stateVariable": false,
2953
2953
  "storageLocation": "default",
@@ -2956,7 +2956,7 @@
2956
2956
  "typeString": "bytes32"
2957
2957
  },
2958
2958
  "typeName": {
2959
- "id": 38024,
2959
+ "id": 38625,
2960
2960
  "name": "bytes32",
2961
2961
  "nodeType": "ElementaryTypeName",
2962
2962
  "src": "2093:7:76",
@@ -2969,12 +2969,12 @@
2969
2969
  },
2970
2970
  {
2971
2971
  "constant": false,
2972
- "id": 38028,
2972
+ "id": 38629,
2973
2973
  "mutability": "mutable",
2974
2974
  "name": "key",
2975
2975
  "nameLocation": "2133:3:76",
2976
2976
  "nodeType": "VariableDeclaration",
2977
- "scope": 38066,
2977
+ "scope": 38667,
2978
2978
  "src": "2116:20:76",
2979
2979
  "stateVariable": false,
2980
2980
  "storageLocation": "memory",
@@ -2984,7 +2984,7 @@
2984
2984
  },
2985
2985
  "typeName": {
2986
2986
  "baseType": {
2987
- "id": 38026,
2987
+ "id": 38627,
2988
2988
  "name": "bytes32",
2989
2989
  "nodeType": "ElementaryTypeName",
2990
2990
  "src": "2116:7:76",
@@ -2993,7 +2993,7 @@
2993
2993
  "typeString": "bytes32"
2994
2994
  }
2995
2995
  },
2996
- "id": 38027,
2996
+ "id": 38628,
2997
2997
  "nodeType": "ArrayTypeName",
2998
2998
  "src": "2116:9:76",
2999
2999
  "typeDescriptions": {
@@ -3005,12 +3005,12 @@
3005
3005
  },
3006
3006
  {
3007
3007
  "constant": false,
3008
- "id": 38030,
3008
+ "id": 38631,
3009
3009
  "mutability": "mutable",
3010
3010
  "name": "",
3011
3011
  "nameLocation": "-1:-1:-1",
3012
3012
  "nodeType": "VariableDeclaration",
3013
- "scope": 38066,
3013
+ "scope": 38667,
3014
3014
  "src": "2138:5:76",
3015
3015
  "stateVariable": false,
3016
3016
  "storageLocation": "default",
@@ -3019,7 +3019,7 @@
3019
3019
  "typeString": "uint8"
3020
3020
  },
3021
3021
  "typeName": {
3022
- "id": 38029,
3022
+ "id": 38630,
3023
3023
  "name": "uint8",
3024
3024
  "nodeType": "ElementaryTypeName",
3025
3025
  "src": "2138:5:76",
@@ -3032,12 +3032,12 @@
3032
3032
  },
3033
3033
  {
3034
3034
  "constant": false,
3035
- "id": 38032,
3035
+ "id": 38633,
3036
3036
  "mutability": "mutable",
3037
3037
  "name": "",
3038
3038
  "nameLocation": "-1:-1:-1",
3039
3039
  "nodeType": "VariableDeclaration",
3040
- "scope": 38066,
3040
+ "scope": 38667,
3041
3041
  "src": "2145:12:76",
3042
3042
  "stateVariable": false,
3043
3043
  "storageLocation": "memory",
@@ -3046,7 +3046,7 @@
3046
3046
  "typeString": "bytes"
3047
3047
  },
3048
3048
  "typeName": {
3049
- "id": 38031,
3049
+ "id": 38632,
3050
3050
  "name": "bytes",
3051
3051
  "nodeType": "ElementaryTypeName",
3052
3052
  "src": "2145:5:76",
@@ -3061,40 +3061,40 @@
3061
3061
  "src": "2092:66:76"
3062
3062
  },
3063
3063
  "returnParameters": {
3064
- "id": 38034,
3064
+ "id": 38635,
3065
3065
  "nodeType": "ParameterList",
3066
3066
  "parameters": [],
3067
3067
  "src": "2166:0:76"
3068
3068
  },
3069
- "scope": 38136,
3069
+ "scope": 38737,
3070
3070
  "stateMutability": "nonpayable",
3071
3071
  "virtual": false,
3072
3072
  "visibility": "public"
3073
3073
  },
3074
3074
  {
3075
- "id": 38103,
3075
+ "id": 38704,
3076
3076
  "nodeType": "FunctionDefinition",
3077
3077
  "src": "2463:389:76",
3078
3078
  "nodes": [],
3079
3079
  "body": {
3080
- "id": 38102,
3080
+ "id": 38703,
3081
3081
  "nodeType": "Block",
3082
3082
  "src": "2539:313:76",
3083
3083
  "nodes": [],
3084
3084
  "statements": [
3085
3085
  {
3086
3086
  "assignments": [
3087
- 38075
3087
+ 38676
3088
3088
  ],
3089
3089
  "declarations": [
3090
3090
  {
3091
3091
  "constant": false,
3092
- "id": 38075,
3092
+ "id": 38676,
3093
3093
  "mutability": "mutable",
3094
3094
  "name": "previousValue",
3095
3095
  "nameLocation": "2621:13:76",
3096
3096
  "nodeType": "VariableDeclaration",
3097
- "scope": 38102,
3097
+ "scope": 38703,
3098
3098
  "src": "2613:21:76",
3099
3099
  "stateVariable": false,
3100
3100
  "storageLocation": "default",
@@ -3103,7 +3103,7 @@
3103
3103
  "typeString": "bytes32"
3104
3104
  },
3105
3105
  "typeName": {
3106
- "id": 38074,
3106
+ "id": 38675,
3107
3107
  "name": "bytes32",
3108
3108
  "nodeType": "ElementaryTypeName",
3109
3109
  "src": "2613:7:76",
@@ -3115,17 +3115,17 @@
3115
3115
  "visibility": "internal"
3116
3116
  }
3117
3117
  ],
3118
- "id": 38086,
3118
+ "id": 38687,
3119
3119
  "initialValue": {
3120
3120
  "arguments": [
3121
3121
  {
3122
3122
  "arguments": [
3123
3123
  {
3124
- "id": 38082,
3124
+ "id": 38683,
3125
3125
  "name": "sourceTableId",
3126
3126
  "nodeType": "Identifier",
3127
3127
  "overloadedDeclarations": [],
3128
- "referencedDeclaration": 38068,
3128
+ "referencedDeclaration": 38669,
3129
3129
  "src": "2680:13:76",
3130
3130
  "typeDescriptions": {
3131
3131
  "typeIdentifier": "t_bytes32",
@@ -3133,11 +3133,11 @@
3133
3133
  }
3134
3134
  },
3135
3135
  {
3136
- "id": 38083,
3136
+ "id": 38684,
3137
3137
  "name": "key",
3138
3138
  "nodeType": "Identifier",
3139
3139
  "overloadedDeclarations": [],
3140
- "referencedDeclaration": 38071,
3140
+ "referencedDeclaration": 38672,
3141
3141
  "src": "2695:3:76",
3142
3142
  "typeDescriptions": {
3143
3143
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
@@ -3160,7 +3160,7 @@
3160
3160
  "arguments": [
3161
3161
  {
3162
3162
  "expression": {
3163
- "id": 38078,
3163
+ "id": 38679,
3164
3164
  "name": "msg",
3165
3165
  "nodeType": "Identifier",
3166
3166
  "overloadedDeclarations": [],
@@ -3171,7 +3171,7 @@
3171
3171
  "typeString": "msg"
3172
3172
  }
3173
3173
  },
3174
- "id": 38079,
3174
+ "id": 38680,
3175
3175
  "isConstant": false,
3176
3176
  "isLValue": false,
3177
3177
  "isPure": false,
@@ -3192,18 +3192,18 @@
3192
3192
  "typeString": "address"
3193
3193
  }
3194
3194
  ],
3195
- "id": 38077,
3195
+ "id": 38678,
3196
3196
  "name": "IBaseWorld",
3197
3197
  "nodeType": "Identifier",
3198
3198
  "overloadedDeclarations": [],
3199
- "referencedDeclaration": 33218,
3199
+ "referencedDeclaration": 33804,
3200
3200
  "src": "2647:10:76",
3201
3201
  "typeDescriptions": {
3202
- "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33218_$",
3202
+ "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$33804_$",
3203
3203
  "typeString": "type(contract IBaseWorld)"
3204
3204
  }
3205
3205
  },
3206
- "id": 38080,
3206
+ "id": 38681,
3207
3207
  "isConstant": false,
3208
3208
  "isLValue": false,
3209
3209
  "isPure": false,
@@ -3214,25 +3214,25 @@
3214
3214
  "src": "2647:22:76",
3215
3215
  "tryCall": false,
3216
3216
  "typeDescriptions": {
3217
- "typeIdentifier": "t_contract$_IBaseWorld_$33218",
3217
+ "typeIdentifier": "t_contract$_IBaseWorld_$33804",
3218
3218
  "typeString": "contract IBaseWorld"
3219
3219
  }
3220
3220
  },
3221
- "id": 38081,
3221
+ "id": 38682,
3222
3222
  "isConstant": false,
3223
3223
  "isLValue": false,
3224
3224
  "isPure": false,
3225
3225
  "lValueRequested": false,
3226
3226
  "memberName": "getRecord",
3227
3227
  "nodeType": "MemberAccess",
3228
- "referencedDeclaration": 17213,
3228
+ "referencedDeclaration": 17474,
3229
3229
  "src": "2647:32:76",
3230
3230
  "typeDescriptions": {
3231
3231
  "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$",
3232
3232
  "typeString": "function (bytes32,bytes32[] memory) view external returns (bytes memory)"
3233
3233
  }
3234
3234
  },
3235
- "id": 38084,
3235
+ "id": 38685,
3236
3236
  "isConstant": false,
3237
3237
  "isLValue": false,
3238
3238
  "isPure": false,
@@ -3255,7 +3255,7 @@
3255
3255
  "typeString": "bytes memory"
3256
3256
  }
3257
3257
  ],
3258
- "id": 38076,
3258
+ "id": 38677,
3259
3259
  "name": "keccak256",
3260
3260
  "nodeType": "Identifier",
3261
3261
  "overloadedDeclarations": [],
@@ -3266,7 +3266,7 @@
3266
3266
  "typeString": "function (bytes memory) pure returns (bytes32)"
3267
3267
  }
3268
3268
  },
3269
- "id": 38085,
3269
+ "id": 38686,
3270
3270
  "isConstant": false,
3271
3271
  "isLValue": false,
3272
3272
  "isPure": false,
@@ -3286,17 +3286,17 @@
3286
3286
  },
3287
3287
  {
3288
3288
  "assignments": [
3289
- 38088
3289
+ 38689
3290
3290
  ],
3291
3291
  "declarations": [
3292
3292
  {
3293
3293
  "constant": false,
3294
- "id": 38088,
3294
+ "id": 38689,
3295
3295
  "mutability": "mutable",
3296
3296
  "name": "targetTableId",
3297
3297
  "nameLocation": "2714:13:76",
3298
3298
  "nodeType": "VariableDeclaration",
3299
- "scope": 38102,
3299
+ "scope": 38703,
3300
3300
  "src": "2706:21:76",
3301
3301
  "stateVariable": false,
3302
3302
  "storageLocation": "default",
@@ -3305,7 +3305,7 @@
3305
3305
  "typeString": "bytes32"
3306
3306
  },
3307
3307
  "typeName": {
3308
- "id": 38087,
3308
+ "id": 38688,
3309
3309
  "name": "bytes32",
3310
3310
  "nodeType": "ElementaryTypeName",
3311
3311
  "src": "2706:7:76",
@@ -3317,15 +3317,15 @@
3317
3317
  "visibility": "internal"
3318
3318
  }
3319
3319
  ],
3320
- "id": 38093,
3320
+ "id": 38694,
3321
3321
  "initialValue": {
3322
3322
  "arguments": [
3323
3323
  {
3324
- "id": 38090,
3324
+ "id": 38691,
3325
3325
  "name": "MODULE_NAMESPACE",
3326
3326
  "nodeType": "Identifier",
3327
3327
  "overloadedDeclarations": [],
3328
- "referencedDeclaration": 38279,
3328
+ "referencedDeclaration": 38880,
3329
3329
  "src": "2753:16:76",
3330
3330
  "typeDescriptions": {
3331
3331
  "typeIdentifier": "t_bytes8",
@@ -3333,11 +3333,11 @@
3333
3333
  }
3334
3334
  },
3335
3335
  {
3336
- "id": 38091,
3336
+ "id": 38692,
3337
3337
  "name": "sourceTableId",
3338
3338
  "nodeType": "Identifier",
3339
3339
  "overloadedDeclarations": [],
3340
- "referencedDeclaration": 38068,
3340
+ "referencedDeclaration": 38669,
3341
3341
  "src": "2771:13:76",
3342
3342
  "typeDescriptions": {
3343
3343
  "typeIdentifier": "t_bytes32",
@@ -3356,18 +3356,18 @@
3356
3356
  "typeString": "bytes32"
3357
3357
  }
3358
3358
  ],
3359
- "id": 38089,
3359
+ "id": 38690,
3360
3360
  "name": "getTargetTableSelector",
3361
3361
  "nodeType": "Identifier",
3362
3362
  "overloadedDeclarations": [],
3363
- "referencedDeclaration": 39871,
3363
+ "referencedDeclaration": 40472,
3364
3364
  "src": "2730:22:76",
3365
3365
  "typeDescriptions": {
3366
3366
  "typeIdentifier": "t_function_internal_pure$_t_bytes8_$_t_bytes32_$returns$_t_bytes32_$",
3367
3367
  "typeString": "function (bytes8,bytes32) pure returns (bytes32)"
3368
3368
  }
3369
3369
  },
3370
- "id": 38092,
3370
+ "id": 38693,
3371
3371
  "isConstant": false,
3372
3372
  "isLValue": false,
3373
3373
  "isPure": false,
@@ -3389,11 +3389,11 @@
3389
3389
  "expression": {
3390
3390
  "arguments": [
3391
3391
  {
3392
- "id": 38095,
3392
+ "id": 38696,
3393
3393
  "name": "targetTableId",
3394
3394
  "nodeType": "Identifier",
3395
3395
  "overloadedDeclarations": [],
3396
- "referencedDeclaration": 38088,
3396
+ "referencedDeclaration": 38689,
3397
3397
  "src": "2810:13:76",
3398
3398
  "typeDescriptions": {
3399
3399
  "typeIdentifier": "t_bytes32",
@@ -3402,21 +3402,21 @@
3402
3402
  },
3403
3403
  {
3404
3404
  "baseExpression": {
3405
- "id": 38096,
3405
+ "id": 38697,
3406
3406
  "name": "key",
3407
3407
  "nodeType": "Identifier",
3408
3408
  "overloadedDeclarations": [],
3409
- "referencedDeclaration": 38071,
3409
+ "referencedDeclaration": 38672,
3410
3410
  "src": "2825:3:76",
3411
3411
  "typeDescriptions": {
3412
3412
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
3413
3413
  "typeString": "bytes32[] memory"
3414
3414
  }
3415
3415
  },
3416
- "id": 38098,
3416
+ "id": 38699,
3417
3417
  "indexExpression": {
3418
3418
  "hexValue": "30",
3419
- "id": 38097,
3419
+ "id": 38698,
3420
3420
  "isConstant": false,
3421
3421
  "isLValue": false,
3422
3422
  "isPure": true,
@@ -3442,11 +3442,11 @@
3442
3442
  }
3443
3443
  },
3444
3444
  {
3445
- "id": 38099,
3445
+ "id": 38700,
3446
3446
  "name": "previousValue",
3447
3447
  "nodeType": "Identifier",
3448
3448
  "overloadedDeclarations": [],
3449
- "referencedDeclaration": 38075,
3449
+ "referencedDeclaration": 38676,
3450
3450
  "src": "2833:13:76",
3451
3451
  "typeDescriptions": {
3452
3452
  "typeIdentifier": "t_bytes32",
@@ -3469,18 +3469,18 @@
3469
3469
  "typeString": "bytes32"
3470
3470
  }
3471
3471
  ],
3472
- "id": 38094,
3472
+ "id": 38695,
3473
3473
  "name": "_removeKeyFromList",
3474
3474
  "nodeType": "Identifier",
3475
3475
  "overloadedDeclarations": [],
3476
- "referencedDeclaration": 38135,
3476
+ "referencedDeclaration": 38736,
3477
3477
  "src": "2791:18:76",
3478
3478
  "typeDescriptions": {
3479
3479
  "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$",
3480
3480
  "typeString": "function (bytes32,bytes32,bytes32)"
3481
3481
  }
3482
3482
  },
3483
- "id": 38100,
3483
+ "id": 38701,
3484
3484
  "isConstant": false,
3485
3485
  "isLValue": false,
3486
3486
  "isPure": false,
@@ -3495,14 +3495,14 @@
3495
3495
  "typeString": "tuple()"
3496
3496
  }
3497
3497
  },
3498
- "id": 38101,
3498
+ "id": 38702,
3499
3499
  "nodeType": "ExpressionStatement",
3500
3500
  "src": "2791:56:76"
3501
3501
  }
3502
3502
  ]
3503
3503
  },
3504
3504
  "baseFunctions": [
3505
- 17410
3505
+ 17683
3506
3506
  ],
3507
3507
  "functionSelector": "b51fef6c",
3508
3508
  "implemented": true,
@@ -3511,17 +3511,17 @@
3511
3511
  "name": "onDeleteRecord",
3512
3512
  "nameLocation": "2472:14:76",
3513
3513
  "parameters": {
3514
- "id": 38072,
3514
+ "id": 38673,
3515
3515
  "nodeType": "ParameterList",
3516
3516
  "parameters": [
3517
3517
  {
3518
3518
  "constant": false,
3519
- "id": 38068,
3519
+ "id": 38669,
3520
3520
  "mutability": "mutable",
3521
3521
  "name": "sourceTableId",
3522
3522
  "nameLocation": "2495:13:76",
3523
3523
  "nodeType": "VariableDeclaration",
3524
- "scope": 38103,
3524
+ "scope": 38704,
3525
3525
  "src": "2487:21:76",
3526
3526
  "stateVariable": false,
3527
3527
  "storageLocation": "default",
@@ -3530,7 +3530,7 @@
3530
3530
  "typeString": "bytes32"
3531
3531
  },
3532
3532
  "typeName": {
3533
- "id": 38067,
3533
+ "id": 38668,
3534
3534
  "name": "bytes32",
3535
3535
  "nodeType": "ElementaryTypeName",
3536
3536
  "src": "2487:7:76",
@@ -3543,12 +3543,12 @@
3543
3543
  },
3544
3544
  {
3545
3545
  "constant": false,
3546
- "id": 38071,
3546
+ "id": 38672,
3547
3547
  "mutability": "mutable",
3548
3548
  "name": "key",
3549
3549
  "nameLocation": "2527:3:76",
3550
3550
  "nodeType": "VariableDeclaration",
3551
- "scope": 38103,
3551
+ "scope": 38704,
3552
3552
  "src": "2510:20:76",
3553
3553
  "stateVariable": false,
3554
3554
  "storageLocation": "memory",
@@ -3558,7 +3558,7 @@
3558
3558
  },
3559
3559
  "typeName": {
3560
3560
  "baseType": {
3561
- "id": 38069,
3561
+ "id": 38670,
3562
3562
  "name": "bytes32",
3563
3563
  "nodeType": "ElementaryTypeName",
3564
3564
  "src": "2510:7:76",
@@ -3567,7 +3567,7 @@
3567
3567
  "typeString": "bytes32"
3568
3568
  }
3569
3569
  },
3570
- "id": 38070,
3570
+ "id": 38671,
3571
3571
  "nodeType": "ArrayTypeName",
3572
3572
  "src": "2510:9:76",
3573
3573
  "typeDescriptions": {
@@ -3581,40 +3581,40 @@
3581
3581
  "src": "2486:45:76"
3582
3582
  },
3583
3583
  "returnParameters": {
3584
- "id": 38073,
3584
+ "id": 38674,
3585
3585
  "nodeType": "ParameterList",
3586
3586
  "parameters": [],
3587
3587
  "src": "2539:0:76"
3588
3588
  },
3589
- "scope": 38136,
3589
+ "scope": 38737,
3590
3590
  "stateMutability": "nonpayable",
3591
3591
  "virtual": false,
3592
3592
  "visibility": "public"
3593
3593
  },
3594
3594
  {
3595
- "id": 38135,
3595
+ "id": 38736,
3596
3596
  "nodeType": "FunctionDefinition",
3597
3597
  "src": "2856:386:76",
3598
3598
  "nodes": [],
3599
3599
  "body": {
3600
- "id": 38134,
3600
+ "id": 38735,
3601
3601
  "nodeType": "Block",
3602
3602
  "src": "2948:294:76",
3603
3603
  "nodes": [],
3604
3604
  "statements": [
3605
3605
  {
3606
3606
  "assignments": [
3607
- 38116
3607
+ 38717
3608
3608
  ],
3609
3609
  "declarations": [
3610
3610
  {
3611
3611
  "constant": false,
3612
- "id": 38116,
3612
+ "id": 38717,
3613
3613
  "mutability": "mutable",
3614
3614
  "name": "keysWithPreviousValue",
3615
3615
  "nameLocation": "3041:21:76",
3616
3616
  "nodeType": "VariableDeclaration",
3617
- "scope": 38134,
3617
+ "scope": 38735,
3618
3618
  "src": "3024:38:76",
3619
3619
  "stateVariable": false,
3620
3620
  "storageLocation": "memory",
@@ -3624,7 +3624,7 @@
3624
3624
  },
3625
3625
  "typeName": {
3626
3626
  "baseType": {
3627
- "id": 38114,
3627
+ "id": 38715,
3628
3628
  "name": "bytes32",
3629
3629
  "nodeType": "ElementaryTypeName",
3630
3630
  "src": "3024:7:76",
@@ -3633,7 +3633,7 @@
3633
3633
  "typeString": "bytes32"
3634
3634
  }
3635
3635
  },
3636
- "id": 38115,
3636
+ "id": 38716,
3637
3637
  "nodeType": "ArrayTypeName",
3638
3638
  "src": "3024:9:76",
3639
3639
  "typeDescriptions": {
@@ -3644,15 +3644,15 @@
3644
3644
  "visibility": "internal"
3645
3645
  }
3646
3646
  ],
3647
- "id": 38125,
3647
+ "id": 38726,
3648
3648
  "initialValue": {
3649
3649
  "arguments": [
3650
3650
  {
3651
- "id": 38123,
3651
+ "id": 38724,
3652
3652
  "name": "key",
3653
3653
  "nodeType": "Identifier",
3654
3654
  "overloadedDeclarations": [],
3655
- "referencedDeclaration": 38107,
3655
+ "referencedDeclaration": 38708,
3656
3656
  "src": "3116:3:76",
3657
3657
  "typeDescriptions": {
3658
3658
  "typeIdentifier": "t_bytes32",
@@ -3670,11 +3670,11 @@
3670
3670
  "expression": {
3671
3671
  "arguments": [
3672
3672
  {
3673
- "id": 38119,
3673
+ "id": 38720,
3674
3674
  "name": "targetTableId",
3675
3675
  "nodeType": "Identifier",
3676
3676
  "overloadedDeclarations": [],
3677
- "referencedDeclaration": 38105,
3677
+ "referencedDeclaration": 38706,
3678
3678
  "src": "3083:13:76",
3679
3679
  "typeDescriptions": {
3680
3680
  "typeIdentifier": "t_bytes32",
@@ -3682,11 +3682,11 @@
3682
3682
  }
3683
3683
  },
3684
3684
  {
3685
- "id": 38120,
3685
+ "id": 38721,
3686
3686
  "name": "valueHash",
3687
3687
  "nodeType": "Identifier",
3688
3688
  "overloadedDeclarations": [],
3689
- "referencedDeclaration": 38109,
3689
+ "referencedDeclaration": 38710,
3690
3690
  "src": "3098:9:76",
3691
3691
  "typeDescriptions": {
3692
3692
  "typeIdentifier": "t_bytes32",
@@ -3706,32 +3706,32 @@
3706
3706
  }
3707
3707
  ],
3708
3708
  "expression": {
3709
- "id": 38117,
3709
+ "id": 38718,
3710
3710
  "name": "KeysWithValue",
3711
3711
  "nodeType": "Identifier",
3712
3712
  "overloadedDeclarations": [],
3713
- "referencedDeclaration": 39084,
3713
+ "referencedDeclaration": 39685,
3714
3714
  "src": "3065:13:76",
3715
3715
  "typeDescriptions": {
3716
- "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39084_$",
3716
+ "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39685_$",
3717
3717
  "typeString": "type(library KeysWithValue)"
3718
3718
  }
3719
3719
  },
3720
- "id": 38118,
3720
+ "id": 38719,
3721
3721
  "isConstant": false,
3722
3722
  "isLValue": false,
3723
3723
  "isPure": false,
3724
3724
  "lValueRequested": false,
3725
3725
  "memberName": "get",
3726
3726
  "nodeType": "MemberAccess",
3727
- "referencedDeclaration": 38608,
3727
+ "referencedDeclaration": 39209,
3728
3728
  "src": "3065:17:76",
3729
3729
  "typeDescriptions": {
3730
3730
  "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$",
3731
3731
  "typeString": "function (bytes32,bytes32) view returns (bytes32[] memory)"
3732
3732
  }
3733
3733
  },
3734
- "id": 38121,
3734
+ "id": 38722,
3735
3735
  "isConstant": false,
3736
3736
  "isLValue": false,
3737
3737
  "isPure": false,
@@ -3746,21 +3746,21 @@
3746
3746
  "typeString": "bytes32[] memory"
3747
3747
  }
3748
3748
  },
3749
- "id": 38122,
3749
+ "id": 38723,
3750
3750
  "isConstant": false,
3751
3751
  "isLValue": false,
3752
3752
  "isPure": false,
3753
3753
  "lValueRequested": false,
3754
3754
  "memberName": "filter",
3755
3755
  "nodeType": "MemberAccess",
3756
- "referencedDeclaration": 39817,
3756
+ "referencedDeclaration": 40418,
3757
3757
  "src": "3065:50:76",
3758
3758
  "typeDescriptions": {
3759
3759
  "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$bound_to$_t_array$_t_bytes32_$dyn_memory_ptr_$",
3760
3760
  "typeString": "function (bytes32[] memory,bytes32) pure returns (bytes32[] memory)"
3761
3761
  }
3762
3762
  },
3763
- "id": 38124,
3763
+ "id": 38725,
3764
3764
  "isConstant": false,
3765
3765
  "isLValue": false,
3766
3766
  "isPure": false,
@@ -3782,11 +3782,11 @@
3782
3782
  "expression": {
3783
3783
  "arguments": [
3784
3784
  {
3785
- "id": 38129,
3785
+ "id": 38730,
3786
3786
  "name": "targetTableId",
3787
3787
  "nodeType": "Identifier",
3788
3788
  "overloadedDeclarations": [],
3789
- "referencedDeclaration": 38105,
3789
+ "referencedDeclaration": 38706,
3790
3790
  "src": "3189:13:76",
3791
3791
  "typeDescriptions": {
3792
3792
  "typeIdentifier": "t_bytes32",
@@ -3794,11 +3794,11 @@
3794
3794
  }
3795
3795
  },
3796
3796
  {
3797
- "id": 38130,
3797
+ "id": 38731,
3798
3798
  "name": "valueHash",
3799
3799
  "nodeType": "Identifier",
3800
3800
  "overloadedDeclarations": [],
3801
- "referencedDeclaration": 38109,
3801
+ "referencedDeclaration": 38710,
3802
3802
  "src": "3204:9:76",
3803
3803
  "typeDescriptions": {
3804
3804
  "typeIdentifier": "t_bytes32",
@@ -3806,11 +3806,11 @@
3806
3806
  }
3807
3807
  },
3808
3808
  {
3809
- "id": 38131,
3809
+ "id": 38732,
3810
3810
  "name": "keysWithPreviousValue",
3811
3811
  "nodeType": "Identifier",
3812
3812
  "overloadedDeclarations": [],
3813
- "referencedDeclaration": 38116,
3813
+ "referencedDeclaration": 38717,
3814
3814
  "src": "3215:21:76",
3815
3815
  "typeDescriptions": {
3816
3816
  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
@@ -3834,32 +3834,32 @@
3834
3834
  }
3835
3835
  ],
3836
3836
  "expression": {
3837
- "id": 38126,
3837
+ "id": 38727,
3838
3838
  "name": "KeysWithValue",
3839
3839
  "nodeType": "Identifier",
3840
3840
  "overloadedDeclarations": [],
3841
- "referencedDeclaration": 39084,
3841
+ "referencedDeclaration": 39685,
3842
3842
  "src": "3171:13:76",
3843
3843
  "typeDescriptions": {
3844
- "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39084_$",
3844
+ "typeIdentifier": "t_type$_t_contract$_KeysWithValue_$39685_$",
3845
3845
  "typeString": "type(library KeysWithValue)"
3846
3846
  }
3847
3847
  },
3848
- "id": 38128,
3848
+ "id": 38729,
3849
3849
  "isConstant": false,
3850
3850
  "isLValue": false,
3851
3851
  "isPure": false,
3852
3852
  "lValueRequested": false,
3853
3853
  "memberName": "set",
3854
3854
  "nodeType": "MemberAccess",
3855
- "referencedDeclaration": 38710,
3855
+ "referencedDeclaration": 39311,
3856
3856
  "src": "3171:17:76",
3857
3857
  "typeDescriptions": {
3858
3858
  "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$",
3859
3859
  "typeString": "function (bytes32,bytes32,bytes32[] memory)"
3860
3860
  }
3861
3861
  },
3862
- "id": 38132,
3862
+ "id": 38733,
3863
3863
  "isConstant": false,
3864
3864
  "isLValue": false,
3865
3865
  "isPure": false,
@@ -3874,7 +3874,7 @@
3874
3874
  "typeString": "tuple()"
3875
3875
  }
3876
3876
  },
3877
- "id": 38133,
3877
+ "id": 38734,
3878
3878
  "nodeType": "ExpressionStatement",
3879
3879
  "src": "3171:66:76"
3880
3880
  }
@@ -3886,17 +3886,17 @@
3886
3886
  "name": "_removeKeyFromList",
3887
3887
  "nameLocation": "2865:18:76",
3888
3888
  "parameters": {
3889
- "id": 38110,
3889
+ "id": 38711,
3890
3890
  "nodeType": "ParameterList",
3891
3891
  "parameters": [
3892
3892
  {
3893
3893
  "constant": false,
3894
- "id": 38105,
3894
+ "id": 38706,
3895
3895
  "mutability": "mutable",
3896
3896
  "name": "targetTableId",
3897
3897
  "nameLocation": "2892:13:76",
3898
3898
  "nodeType": "VariableDeclaration",
3899
- "scope": 38135,
3899
+ "scope": 38736,
3900
3900
  "src": "2884:21:76",
3901
3901
  "stateVariable": false,
3902
3902
  "storageLocation": "default",
@@ -3905,7 +3905,7 @@
3905
3905
  "typeString": "bytes32"
3906
3906
  },
3907
3907
  "typeName": {
3908
- "id": 38104,
3908
+ "id": 38705,
3909
3909
  "name": "bytes32",
3910
3910
  "nodeType": "ElementaryTypeName",
3911
3911
  "src": "2884:7:76",
@@ -3918,12 +3918,12 @@
3918
3918
  },
3919
3919
  {
3920
3920
  "constant": false,
3921
- "id": 38107,
3921
+ "id": 38708,
3922
3922
  "mutability": "mutable",
3923
3923
  "name": "key",
3924
3924
  "nameLocation": "2915:3:76",
3925
3925
  "nodeType": "VariableDeclaration",
3926
- "scope": 38135,
3926
+ "scope": 38736,
3927
3927
  "src": "2907:11:76",
3928
3928
  "stateVariable": false,
3929
3929
  "storageLocation": "default",
@@ -3932,7 +3932,7 @@
3932
3932
  "typeString": "bytes32"
3933
3933
  },
3934
3934
  "typeName": {
3935
- "id": 38106,
3935
+ "id": 38707,
3936
3936
  "name": "bytes32",
3937
3937
  "nodeType": "ElementaryTypeName",
3938
3938
  "src": "2907:7:76",
@@ -3945,12 +3945,12 @@
3945
3945
  },
3946
3946
  {
3947
3947
  "constant": false,
3948
- "id": 38109,
3948
+ "id": 38710,
3949
3949
  "mutability": "mutable",
3950
3950
  "name": "valueHash",
3951
3951
  "nameLocation": "2928:9:76",
3952
3952
  "nodeType": "VariableDeclaration",
3953
- "scope": 38135,
3953
+ "scope": 38736,
3954
3954
  "src": "2920:17:76",
3955
3955
  "stateVariable": false,
3956
3956
  "storageLocation": "default",
@@ -3959,7 +3959,7 @@
3959
3959
  "typeString": "bytes32"
3960
3960
  },
3961
3961
  "typeName": {
3962
- "id": 38108,
3962
+ "id": 38709,
3963
3963
  "name": "bytes32",
3964
3964
  "nodeType": "ElementaryTypeName",
3965
3965
  "src": "2920:7:76",
@@ -3974,12 +3974,12 @@
3974
3974
  "src": "2883:55:76"
3975
3975
  },
3976
3976
  "returnParameters": {
3977
- "id": 38111,
3977
+ "id": 38712,
3978
3978
  "nodeType": "ParameterList",
3979
3979
  "parameters": [],
3980
3980
  "src": "2948:0:76"
3981
3981
  },
3982
- "scope": 38136,
3982
+ "scope": 38737,
3983
3983
  "stateMutability": "nonpayable",
3984
3984
  "virtual": false,
3985
3985
  "visibility": "internal"
@@ -3989,13 +3989,13 @@
3989
3989
  "baseContracts": [
3990
3990
  {
3991
3991
  "baseName": {
3992
- "id": 37916,
3992
+ "id": 38517,
3993
3993
  "name": "IStoreHook",
3994
3994
  "nodeType": "IdentifierPath",
3995
- "referencedDeclaration": 17411,
3995
+ "referencedDeclaration": 17684,
3996
3996
  "src": "908:10:76"
3997
3997
  },
3998
- "id": 37917,
3998
+ "id": 38518,
3999
3999
  "nodeType": "InheritanceSpecifier",
4000
4000
  "src": "908:10:76"
4001
4001
  }
@@ -4004,24 +4004,24 @@
4004
4004
  "contractDependencies": [],
4005
4005
  "contractKind": "contract",
4006
4006
  "documentation": {
4007
- "id": 37915,
4007
+ "id": 38516,
4008
4008
  "nodeType": "StructuredDocumentation",
4009
4009
  "src": "546:331:76",
4010
4010
  "text": " This is a very naive and inefficient implementation for now.\n We can optimize this by adding support for `setIndexOfField` in Store\n and then replicate logic from solecs's Set.sol.\n (See https://github.com/latticexyz/mud/issues/444)\n Note: if a table with composite keys is used, only the first key is indexed"
4011
4011
  },
4012
4012
  "fullyImplemented": true,
4013
4013
  "linearizedBaseContracts": [
4014
- 38136,
4015
- 17411
4014
+ 38737,
4015
+ 17684
4016
4016
  ],
4017
4017
  "name": "KeysWithValueHook",
4018
4018
  "nameLocation": "887:17:76",
4019
- "scope": 38137,
4019
+ "scope": 38738,
4020
4020
  "usedErrors": [
4021
- 18710,
4022
- 43007,
4023
- 43011,
4024
- 43017
4021
+ 18983,
4022
+ 43608,
4023
+ 43612,
4024
+ 43618
4025
4025
  ]
4026
4026
  }
4027
4027
  ],