@layerzerolabs/lz-evm-sdk-v2 3.0.31 → 3.0.32

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 (238) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/artifacts/contracts/SimpleReadExecutor.sol/SimpleReadExecutor.json +64 -2
  3. package/artifacts/contracts/oapp/examples/LzReadCounter.sol/LzReadCounter.json +2 -2
  4. package/artifacts/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +2 -2
  5. package/artifacts/contracts/oapp/examples/OmniCounterAbstract.sol/MsgCodec.json +2 -2
  6. package/artifacts/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +2 -2
  7. package/artifacts/contracts/oapp/interfaces/IOAppComputerMap.sol/IOAppComputerMap.json +35 -0
  8. package/artifacts/contracts/oapp/interfaces/IOAppComputerReduce.sol/IOAppComputerReduce.json +35 -0
  9. package/artifacts/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +2 -2
  10. package/artifacts-tron/contracts/SimpleReadExecutor.sol/SimpleReadExecutor.json +64 -2
  11. package/artifacts-tron/contracts/oapp/examples/LzReadCounter.sol/LzReadCounter.json +2 -2
  12. package/artifacts-tron/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +2 -2
  13. package/artifacts-tron/contracts/oapp/examples/OmniCounterAbstract.sol/MsgCodec.json +2 -2
  14. package/artifacts-tron/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +2 -2
  15. package/artifacts-tron/contracts/oapp/interfaces/IOAppComputerMap.sol/IOAppComputerMap.json +35 -0
  16. package/artifacts-tron/contracts/oapp/interfaces/IOAppComputerReduce.sol/IOAppComputerReduce.json +35 -0
  17. package/artifacts-tron/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +2 -2
  18. package/artifacts-zk/contracts/SimpleReadExecutor.sol/SimpleReadExecutor.json +64 -2
  19. package/deployments/arbitrum-sandbox-local/DVN.json +1 -1
  20. package/deployments/arbitrum-sandbox-local/DVNDecompressor.json +1 -1
  21. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +1 -1
  22. package/deployments/arbitrum-sandbox-local/DefaultProxyAdmin.json +1 -1
  23. package/deployments/arbitrum-sandbox-local/EndpointV2.json +1 -1
  24. package/deployments/arbitrum-sandbox-local/EndpointV2View.json +1 -1
  25. package/deployments/arbitrum-sandbox-local/EndpointV2View_Implementation.json +1 -1
  26. package/deployments/arbitrum-sandbox-local/EndpointV2View_Proxy.json +1 -1
  27. package/deployments/arbitrum-sandbox-local/Executor.json +1 -1
  28. package/deployments/arbitrum-sandbox-local/ExecutorDecompressor.json +1 -1
  29. package/deployments/arbitrum-sandbox-local/ExecutorFeeLib.json +1 -1
  30. package/deployments/arbitrum-sandbox-local/ExecutorProxyAdmin.json +1 -1
  31. package/deployments/arbitrum-sandbox-local/Executor_Implementation.json +1 -1
  32. package/deployments/arbitrum-sandbox-local/Executor_Proxy.json +1 -1
  33. package/deployments/arbitrum-sandbox-local/LzExecutor.json +1 -1
  34. package/deployments/arbitrum-sandbox-local/LzExecutor_Implementation.json +1 -1
  35. package/deployments/arbitrum-sandbox-local/LzExecutor_Proxy.json +1 -1
  36. package/deployments/arbitrum-sandbox-local/MultiCall.json +1 -1
  37. package/deployments/arbitrum-sandbox-local/NonceContractMock.json +1 -1
  38. package/deployments/arbitrum-sandbox-local/PriceFeed.json +1 -1
  39. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +1 -1
  40. package/deployments/arbitrum-sandbox-local/PriceFeed_Implementation.json +1 -1
  41. package/deployments/arbitrum-sandbox-local/PriceFeed_Proxy.json +1 -1
  42. package/deployments/arbitrum-sandbox-local/ReadLib1002.json +1 -1
  43. package/deployments/arbitrum-sandbox-local/ReadLib1002View.json +1 -1
  44. package/deployments/arbitrum-sandbox-local/ReadLib1002ViewProxyAdmin.json +1 -1
  45. package/deployments/arbitrum-sandbox-local/ReadLib1002View_Implementation.json +1 -1
  46. package/deployments/arbitrum-sandbox-local/ReadLib1002View_Proxy.json +1 -1
  47. package/deployments/arbitrum-sandbox-local/ReceiveUln301.json +1 -1
  48. package/deployments/arbitrum-sandbox-local/ReceiveUln301View.json +1 -1
  49. package/deployments/arbitrum-sandbox-local/ReceiveUln301View_Implementation.json +1 -1
  50. package/deployments/arbitrum-sandbox-local/ReceiveUln301View_Proxy.json +1 -1
  51. package/deployments/arbitrum-sandbox-local/ReceiveUln302.json +1 -1
  52. package/deployments/arbitrum-sandbox-local/ReceiveUln302View.json +1 -1
  53. package/deployments/arbitrum-sandbox-local/ReceiveUln302View_Implementation.json +1 -1
  54. package/deployments/arbitrum-sandbox-local/ReceiveUln302View_Proxy.json +1 -1
  55. package/deployments/arbitrum-sandbox-local/SendUln301.json +1 -1
  56. package/deployments/arbitrum-sandbox-local/SendUln302.json +1 -1
  57. package/deployments/arbitrum-sandbox-local/SimpleMessageLib.json +1 -1
  58. package/deployments/arbitrum-sandbox-local/Treasury.json +1 -1
  59. package/deployments/arbitrum-sandbox-local/TreasuryFeeHandler.json +1 -1
  60. package/deployments/bsc-sandbox-local/DVN.json +1 -1
  61. package/deployments/bsc-sandbox-local/DVNDecompressor.json +1 -1
  62. package/deployments/bsc-sandbox-local/DVNFeeLib.json +1 -1
  63. package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +1 -1
  64. package/deployments/bsc-sandbox-local/EndpointV2.json +1 -1
  65. package/deployments/bsc-sandbox-local/EndpointV2View.json +1 -1
  66. package/deployments/bsc-sandbox-local/EndpointV2View_Implementation.json +1 -1
  67. package/deployments/bsc-sandbox-local/EndpointV2View_Proxy.json +1 -1
  68. package/deployments/bsc-sandbox-local/Executor.json +1 -1
  69. package/deployments/bsc-sandbox-local/ExecutorDecompressor.json +1 -1
  70. package/deployments/bsc-sandbox-local/ExecutorFeeLib.json +1 -1
  71. package/deployments/bsc-sandbox-local/ExecutorProxyAdmin.json +1 -1
  72. package/deployments/bsc-sandbox-local/Executor_Implementation.json +1 -1
  73. package/deployments/bsc-sandbox-local/Executor_Proxy.json +1 -1
  74. package/deployments/bsc-sandbox-local/LzExecutor.json +1 -1
  75. package/deployments/bsc-sandbox-local/LzExecutor_Implementation.json +1 -1
  76. package/deployments/bsc-sandbox-local/LzExecutor_Proxy.json +1 -1
  77. package/deployments/bsc-sandbox-local/MultiCall.json +1 -1
  78. package/deployments/bsc-sandbox-local/NonceContractMock.json +1 -1
  79. package/deployments/bsc-sandbox-local/PriceFeed.json +1 -1
  80. package/deployments/bsc-sandbox-local/PriceFeedProxyAdmin.json +1 -1
  81. package/deployments/bsc-sandbox-local/PriceFeed_Implementation.json +1 -1
  82. package/deployments/bsc-sandbox-local/PriceFeed_Proxy.json +1 -1
  83. package/deployments/bsc-sandbox-local/ReadLib1002.json +1 -1
  84. package/deployments/bsc-sandbox-local/ReadLib1002View.json +1 -1
  85. package/deployments/bsc-sandbox-local/ReadLib1002ViewProxyAdmin.json +1 -1
  86. package/deployments/bsc-sandbox-local/ReadLib1002View_Implementation.json +1 -1
  87. package/deployments/bsc-sandbox-local/ReadLib1002View_Proxy.json +1 -1
  88. package/deployments/bsc-sandbox-local/ReceiveUln301.json +1 -1
  89. package/deployments/bsc-sandbox-local/ReceiveUln301View.json +1 -1
  90. package/deployments/bsc-sandbox-local/ReceiveUln301View_Implementation.json +1 -1
  91. package/deployments/bsc-sandbox-local/ReceiveUln301View_Proxy.json +1 -1
  92. package/deployments/bsc-sandbox-local/ReceiveUln302.json +1 -1
  93. package/deployments/bsc-sandbox-local/ReceiveUln302View.json +1 -1
  94. package/deployments/bsc-sandbox-local/ReceiveUln302View_Implementation.json +1 -1
  95. package/deployments/bsc-sandbox-local/ReceiveUln302View_Proxy.json +1 -1
  96. package/deployments/bsc-sandbox-local/SendUln301.json +1 -1
  97. package/deployments/bsc-sandbox-local/SendUln302.json +1 -1
  98. package/deployments/bsc-sandbox-local/SimpleMessageLib.json +1 -1
  99. package/deployments/bsc-sandbox-local/Treasury.json +1 -1
  100. package/deployments/bsc-sandbox-local/TreasuryFeeHandler.json +1 -1
  101. package/deployments/ethereum-sandbox-local/DVN.json +1 -1
  102. package/deployments/ethereum-sandbox-local/DVNDecompressor.json +1 -1
  103. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +1 -1
  104. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +1 -1
  105. package/deployments/ethereum-sandbox-local/EndpointV2.json +1 -1
  106. package/deployments/ethereum-sandbox-local/EndpointV2View.json +1 -1
  107. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +1 -1
  108. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +1 -1
  109. package/deployments/ethereum-sandbox-local/Executor.json +1 -1
  110. package/deployments/ethereum-sandbox-local/ExecutorDecompressor.json +1 -1
  111. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +1 -1
  112. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +1 -1
  113. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +1 -1
  114. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +1 -1
  115. package/deployments/ethereum-sandbox-local/LzExecutor.json +1 -1
  116. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +1 -1
  117. package/deployments/ethereum-sandbox-local/LzExecutor_Proxy.json +1 -1
  118. package/deployments/ethereum-sandbox-local/MultiCall.json +1 -1
  119. package/deployments/ethereum-sandbox-local/NonceContractMock.json +1 -1
  120. package/deployments/ethereum-sandbox-local/PriceFeed.json +1 -1
  121. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +1 -1
  122. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +1 -1
  123. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +1 -1
  124. package/deployments/ethereum-sandbox-local/ReadLib1002.json +1 -1
  125. package/deployments/ethereum-sandbox-local/ReadLib1002View.json +1 -1
  126. package/deployments/ethereum-sandbox-local/ReadLib1002ViewProxyAdmin.json +1 -1
  127. package/deployments/ethereum-sandbox-local/ReadLib1002View_Implementation.json +1 -1
  128. package/deployments/ethereum-sandbox-local/ReadLib1002View_Proxy.json +1 -1
  129. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +1 -1
  130. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +1 -1
  131. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +1 -1
  132. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +1 -1
  133. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +1 -1
  134. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +1 -1
  135. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +1 -1
  136. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +1 -1
  137. package/deployments/ethereum-sandbox-local/SendUln301.json +1 -1
  138. package/deployments/ethereum-sandbox-local/SendUln302.json +1 -1
  139. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +1 -1
  140. package/deployments/ethereum-sandbox-local/Treasury.json +1 -1
  141. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +1 -1
  142. package/deployments/polygon-sandbox-local/DVN.json +1 -1
  143. package/deployments/polygon-sandbox-local/DVNDecompressor.json +1 -1
  144. package/deployments/polygon-sandbox-local/DVNFeeLib.json +1 -1
  145. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +1 -1
  146. package/deployments/polygon-sandbox-local/EndpointV2.json +1 -1
  147. package/deployments/polygon-sandbox-local/EndpointV2View.json +1 -1
  148. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +1 -1
  149. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +1 -1
  150. package/deployments/polygon-sandbox-local/Executor.json +1 -1
  151. package/deployments/polygon-sandbox-local/ExecutorDecompressor.json +1 -1
  152. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +1 -1
  153. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +1 -1
  154. package/deployments/polygon-sandbox-local/Executor_Implementation.json +1 -1
  155. package/deployments/polygon-sandbox-local/Executor_Proxy.json +1 -1
  156. package/deployments/polygon-sandbox-local/LzExecutor.json +1 -1
  157. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +1 -1
  158. package/deployments/polygon-sandbox-local/LzExecutor_Proxy.json +1 -1
  159. package/deployments/polygon-sandbox-local/MultiCall.json +1 -1
  160. package/deployments/polygon-sandbox-local/NonceContractMock.json +1 -1
  161. package/deployments/polygon-sandbox-local/PriceFeed.json +1 -1
  162. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +1 -1
  163. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +1 -1
  164. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +1 -1
  165. package/deployments/polygon-sandbox-local/ReadLib1002.json +1 -1
  166. package/deployments/polygon-sandbox-local/ReadLib1002View.json +1 -1
  167. package/deployments/polygon-sandbox-local/ReadLib1002ViewProxyAdmin.json +1 -1
  168. package/deployments/polygon-sandbox-local/ReadLib1002View_Implementation.json +1 -1
  169. package/deployments/polygon-sandbox-local/ReadLib1002View_Proxy.json +1 -1
  170. package/deployments/polygon-sandbox-local/ReceiveUln301.json +1 -1
  171. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +1 -1
  172. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +1 -1
  173. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +1 -1
  174. package/deployments/polygon-sandbox-local/ReceiveUln302.json +1 -1
  175. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +1 -1
  176. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +1 -1
  177. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +1 -1
  178. package/deployments/polygon-sandbox-local/SendUln301.json +1 -1
  179. package/deployments/polygon-sandbox-local/SendUln302.json +1 -1
  180. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +1 -1
  181. package/deployments/polygon-sandbox-local/Treasury.json +1 -1
  182. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +1 -1
  183. package/deployments/tron-sandbox-local/DVN.json +2 -2
  184. package/deployments/tron-sandbox-local/DVNDecompressor.json +2 -2
  185. package/deployments/tron-sandbox-local/DVNFeeLib.json +2 -2
  186. package/deployments/tron-sandbox-local/DefaultProxyAdmin.json +2 -2
  187. package/deployments/tron-sandbox-local/EndpointV2.json +2 -2
  188. package/deployments/tron-sandbox-local/EndpointV2View.json +2 -2
  189. package/deployments/tron-sandbox-local/EndpointV2View_Implementation.json +2 -2
  190. package/deployments/tron-sandbox-local/EndpointV2View_Proxy.json +2 -2
  191. package/deployments/tron-sandbox-local/Executor.json +2 -2
  192. package/deployments/tron-sandbox-local/ExecutorDecompressor.json +2 -2
  193. package/deployments/tron-sandbox-local/ExecutorFeeLib.json +2 -2
  194. package/deployments/tron-sandbox-local/ExecutorProxyAdmin.json +2 -2
  195. package/deployments/tron-sandbox-local/Executor_Implementation.json +2 -2
  196. package/deployments/tron-sandbox-local/Executor_Proxy.json +2 -2
  197. package/deployments/tron-sandbox-local/LzExecutor.json +2 -2
  198. package/deployments/tron-sandbox-local/LzExecutor_Implementation.json +2 -2
  199. package/deployments/tron-sandbox-local/LzExecutor_Proxy.json +2 -2
  200. package/deployments/tron-sandbox-local/MultiCall.json +2 -2
  201. package/deployments/tron-sandbox-local/NonceContractMock.json +2 -2
  202. package/deployments/tron-sandbox-local/PriceFeed.json +2 -2
  203. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +2 -2
  204. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +2 -2
  205. package/deployments/tron-sandbox-local/PriceFeed_Proxy.json +2 -2
  206. package/deployments/tron-sandbox-local/ReadLib1002.json +2 -2
  207. package/deployments/tron-sandbox-local/ReadLib1002View.json +2 -2
  208. package/deployments/tron-sandbox-local/ReadLib1002ViewProxyAdmin.json +2 -2
  209. package/deployments/tron-sandbox-local/ReadLib1002View_Implementation.json +2 -2
  210. package/deployments/tron-sandbox-local/ReadLib1002View_Proxy.json +2 -2
  211. package/deployments/tron-sandbox-local/ReceiveUln301.json +2 -2
  212. package/deployments/tron-sandbox-local/ReceiveUln301View.json +2 -2
  213. package/deployments/tron-sandbox-local/ReceiveUln301View_Implementation.json +2 -2
  214. package/deployments/tron-sandbox-local/ReceiveUln301View_Proxy.json +2 -2
  215. package/deployments/tron-sandbox-local/ReceiveUln302.json +2 -2
  216. package/deployments/tron-sandbox-local/ReceiveUln302View.json +2 -2
  217. package/deployments/tron-sandbox-local/ReceiveUln302View_Implementation.json +2 -2
  218. package/deployments/tron-sandbox-local/ReceiveUln302View_Proxy.json +2 -2
  219. package/deployments/tron-sandbox-local/SendUln301.json +2 -2
  220. package/deployments/tron-sandbox-local/SendUln302.json +2 -2
  221. package/deployments/tron-sandbox-local/SimpleMessageLib.json +2 -2
  222. package/deployments/tron-sandbox-local/Treasury.json +2 -2
  223. package/deployments/tron-sandbox-local/TreasuryFeeHandler.json +2 -2
  224. package/dist/{index-Dcq11sft.d.mts → index-DNs3w6_6.d.mts} +205 -9
  225. package/dist/{index-Dcq11sft.d.ts → index-DNs3w6_6.d.ts} +205 -9
  226. package/dist/index.browser.cjs +576 -440
  227. package/dist/index.browser.cjs.map +1 -1
  228. package/dist/index.browser.d.mts +1 -1
  229. package/dist/index.browser.d.ts +1 -1
  230. package/dist/index.browser.mjs +575 -441
  231. package/dist/index.browser.mjs.map +1 -1
  232. package/dist/index.cjs +576 -440
  233. package/dist/index.cjs.map +1 -1
  234. package/dist/index.d.mts +1 -1
  235. package/dist/index.d.ts +1 -1
  236. package/dist/index.mjs +575 -441
  237. package/dist/index.mjs.map +1 -1
  238. package/package.json +9 -9
@@ -1091,8 +1091,9 @@ interface SimpleReadExecutorInterface extends utils.Interface {
1091
1091
  "gasPerByte()": FunctionFragment;
1092
1092
  "gasPrice()": FunctionFragment;
1093
1093
  "getFee(address,bytes)": FunctionFragment;
1094
+ "mustExecute((address,(uint32,bytes32,uint64),bytes32,bytes,bytes,uint256))": FunctionFragment;
1094
1095
  };
1095
- getFunction(nameOrSignatureOrTopic: "assignJob" | "configGas" | "endpoint" | "execute" | "gasPerByte" | "gasPrice" | "getFee"): FunctionFragment;
1096
+ getFunction(nameOrSignatureOrTopic: "assignJob" | "configGas" | "endpoint" | "execute" | "gasPerByte" | "gasPrice" | "getFee" | "mustExecute"): FunctionFragment;
1096
1097
  encodeFunctionData(functionFragment: "assignJob", values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
1097
1098
  encodeFunctionData(functionFragment: "configGas", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1098
1099
  encodeFunctionData(functionFragment: "endpoint", values?: undefined): string;
@@ -1100,6 +1101,7 @@ interface SimpleReadExecutorInterface extends utils.Interface {
1100
1101
  encodeFunctionData(functionFragment: "gasPerByte", values?: undefined): string;
1101
1102
  encodeFunctionData(functionFragment: "gasPrice", values?: undefined): string;
1102
1103
  encodeFunctionData(functionFragment: "getFee", values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
1104
+ encodeFunctionData(functionFragment: "mustExecute", values: [ExecutionParamsStruct]): string;
1103
1105
  decodeFunctionResult(functionFragment: "assignJob", data: BytesLike): Result;
1104
1106
  decodeFunctionResult(functionFragment: "configGas", data: BytesLike): Result;
1105
1107
  decodeFunctionResult(functionFragment: "endpoint", data: BytesLike): Result;
@@ -1107,6 +1109,7 @@ interface SimpleReadExecutorInterface extends utils.Interface {
1107
1109
  decodeFunctionResult(functionFragment: "gasPerByte", data: BytesLike): Result;
1108
1110
  decodeFunctionResult(functionFragment: "gasPrice", data: BytesLike): Result;
1109
1111
  decodeFunctionResult(functionFragment: "getFee", data: BytesLike): Result;
1112
+ decodeFunctionResult(functionFragment: "mustExecute", data: BytesLike): Result;
1110
1113
  events: {};
1111
1114
  }
1112
1115
  interface SimpleReadExecutor extends BaseContract {
@@ -1137,6 +1140,9 @@ interface SimpleReadExecutor extends BaseContract {
1137
1140
  gasPerByte(overrides?: CallOverrides): Promise<[BigNumber]>;
1138
1141
  gasPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
1139
1142
  getFee(arg0: PromiseOrValue<string>, _options: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[BigNumber]>;
1143
+ mustExecute(_executionParams: ExecutionParamsStruct, overrides?: PayableOverrides & {
1144
+ from?: PromiseOrValue<string>;
1145
+ }): Promise<ContractTransaction>;
1140
1146
  };
1141
1147
  assignJob(_sender: PromiseOrValue<string>, _options: PromiseOrValue<BytesLike>, overrides?: Overrides & {
1142
1148
  from?: PromiseOrValue<string>;
@@ -1151,6 +1157,9 @@ interface SimpleReadExecutor extends BaseContract {
1151
1157
  gasPerByte(overrides?: CallOverrides): Promise<BigNumber>;
1152
1158
  gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
1153
1159
  getFee(arg0: PromiseOrValue<string>, _options: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
1160
+ mustExecute(_executionParams: ExecutionParamsStruct, overrides?: PayableOverrides & {
1161
+ from?: PromiseOrValue<string>;
1162
+ }): Promise<ContractTransaction>;
1154
1163
  callStatic: {
1155
1164
  assignJob(_sender: PromiseOrValue<string>, _options: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
1156
1165
  configGas(_gasPerByte: PromiseOrValue<BigNumberish>, _gasPrice: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
@@ -1159,6 +1168,7 @@ interface SimpleReadExecutor extends BaseContract {
1159
1168
  gasPerByte(overrides?: CallOverrides): Promise<BigNumber>;
1160
1169
  gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
1161
1170
  getFee(arg0: PromiseOrValue<string>, _options: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
1171
+ mustExecute(_executionParams: ExecutionParamsStruct, overrides?: CallOverrides): Promise<void>;
1162
1172
  };
1163
1173
  filters: {};
1164
1174
  estimateGas: {
@@ -1175,6 +1185,9 @@ interface SimpleReadExecutor extends BaseContract {
1175
1185
  gasPerByte(overrides?: CallOverrides): Promise<BigNumber>;
1176
1186
  gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
1177
1187
  getFee(arg0: PromiseOrValue<string>, _options: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
1188
+ mustExecute(_executionParams: ExecutionParamsStruct, overrides?: PayableOverrides & {
1189
+ from?: PromiseOrValue<string>;
1190
+ }): Promise<BigNumber>;
1178
1191
  };
1179
1192
  populateTransaction: {
1180
1193
  assignJob(_sender: PromiseOrValue<string>, _options: PromiseOrValue<BytesLike>, overrides?: Overrides & {
@@ -1190,6 +1203,9 @@ interface SimpleReadExecutor extends BaseContract {
1190
1203
  gasPerByte(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1191
1204
  gasPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1192
1205
  getFee(arg0: PromiseOrValue<string>, _options: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
1206
+ mustExecute(_executionParams: ExecutionParamsStruct, overrides?: PayableOverrides & {
1207
+ from?: PromiseOrValue<string>;
1208
+ }): Promise<PopulatedTransaction>;
1193
1209
  };
1194
1210
  }
1195
1211
 
@@ -8006,6 +8022,84 @@ interface IOAppComputer extends BaseContract {
8006
8022
  };
8007
8023
  }
8008
8024
 
8025
+ interface IOAppComputerMapInterface extends utils.Interface {
8026
+ functions: {
8027
+ "lzMap(bytes,bytes)": FunctionFragment;
8028
+ };
8029
+ getFunction(nameOrSignatureOrTopic: "lzMap"): FunctionFragment;
8030
+ encodeFunctionData(functionFragment: "lzMap", values: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>]): string;
8031
+ decodeFunctionResult(functionFragment: "lzMap", data: BytesLike): Result;
8032
+ events: {};
8033
+ }
8034
+ interface IOAppComputerMap extends BaseContract {
8035
+ connect(signerOrProvider: Signer | Provider | string): this;
8036
+ attach(addressOrName: string): this;
8037
+ deployed(): Promise<this>;
8038
+ interface: IOAppComputerMapInterface;
8039
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
8040
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
8041
+ listeners(eventName?: string): Array<Listener>;
8042
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
8043
+ removeAllListeners(eventName?: string): this;
8044
+ off: OnEvent<this>;
8045
+ on: OnEvent<this>;
8046
+ once: OnEvent<this>;
8047
+ removeListener: OnEvent<this>;
8048
+ functions: {
8049
+ lzMap(_request: PromiseOrValue<BytesLike>, _response: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
8050
+ };
8051
+ lzMap(_request: PromiseOrValue<BytesLike>, _response: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
8052
+ callStatic: {
8053
+ lzMap(_request: PromiseOrValue<BytesLike>, _response: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
8054
+ };
8055
+ filters: {};
8056
+ estimateGas: {
8057
+ lzMap(_request: PromiseOrValue<BytesLike>, _response: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
8058
+ };
8059
+ populateTransaction: {
8060
+ lzMap(_request: PromiseOrValue<BytesLike>, _response: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
8061
+ };
8062
+ }
8063
+
8064
+ interface IOAppComputerReduceInterface extends utils.Interface {
8065
+ functions: {
8066
+ "lzReduce(bytes,bytes[])": FunctionFragment;
8067
+ };
8068
+ getFunction(nameOrSignatureOrTopic: "lzReduce"): FunctionFragment;
8069
+ encodeFunctionData(functionFragment: "lzReduce", values: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>[]]): string;
8070
+ decodeFunctionResult(functionFragment: "lzReduce", data: BytesLike): Result;
8071
+ events: {};
8072
+ }
8073
+ interface IOAppComputerReduce extends BaseContract {
8074
+ connect(signerOrProvider: Signer | Provider | string): this;
8075
+ attach(addressOrName: string): this;
8076
+ deployed(): Promise<this>;
8077
+ interface: IOAppComputerReduceInterface;
8078
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
8079
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
8080
+ listeners(eventName?: string): Array<Listener>;
8081
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
8082
+ removeAllListeners(eventName?: string): this;
8083
+ off: OnEvent<this>;
8084
+ on: OnEvent<this>;
8085
+ once: OnEvent<this>;
8086
+ removeListener: OnEvent<this>;
8087
+ functions: {
8088
+ lzReduce(_cmd: PromiseOrValue<BytesLike>, _responses: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<[string]>;
8089
+ };
8090
+ lzReduce(_cmd: PromiseOrValue<BytesLike>, _responses: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<string>;
8091
+ callStatic: {
8092
+ lzReduce(_cmd: PromiseOrValue<BytesLike>, _responses: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<string>;
8093
+ };
8094
+ filters: {};
8095
+ estimateGas: {
8096
+ lzReduce(_cmd: PromiseOrValue<BytesLike>, _responses: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<BigNumber>;
8097
+ };
8098
+ populateTransaction: {
8099
+ lzReduce(_cmd: PromiseOrValue<BytesLike>, _responses: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
8100
+ };
8101
+ }
8102
+
8009
8103
  interface IOAppCoreInterface extends utils.Interface {
8010
8104
  functions: {
8011
8105
  "endpoint()": FunctionFragment;
@@ -8338,12 +8432,14 @@ interface IOAppReceiver extends BaseContract {
8338
8432
 
8339
8433
  type index$1f_IOAppComposer = IOAppComposer;
8340
8434
  type index$1f_IOAppComputer = IOAppComputer;
8435
+ type index$1f_IOAppComputerMap = IOAppComputerMap;
8436
+ type index$1f_IOAppComputerReduce = IOAppComputerReduce;
8341
8437
  type index$1f_IOAppCore = IOAppCore;
8342
8438
  type index$1f_IOAppMsgInspector = IOAppMsgInspector;
8343
8439
  type index$1f_IOAppOptionsType3 = IOAppOptionsType3;
8344
8440
  type index$1f_IOAppReceiver = IOAppReceiver;
8345
8441
  declare namespace index$1f {
8346
- export type { index$1f_IOAppComposer as IOAppComposer, index$1f_IOAppComputer as IOAppComputer, index$1f_IOAppCore as IOAppCore, index$1f_IOAppMsgInspector as IOAppMsgInspector, index$1f_IOAppOptionsType3 as IOAppOptionsType3, index$1f_IOAppReceiver as IOAppReceiver };
8442
+ export type { index$1f_IOAppComposer as IOAppComposer, index$1f_IOAppComputer as IOAppComputer, index$1f_IOAppComputerMap as IOAppComputerMap, index$1f_IOAppComputerReduce as IOAppComputerReduce, index$1f_IOAppCore as IOAppCore, index$1f_IOAppMsgInspector as IOAppMsgInspector, index$1f_IOAppOptionsType3 as IOAppOptionsType3, index$1f_IOAppReceiver as IOAppReceiver };
8347
8443
  }
8348
8444
 
8349
8445
  type EnforcedOptionParamStruct$3 = {
@@ -34678,7 +34774,7 @@ declare class SimpleReadExecutor__factory extends ContractFactory {
34678
34774
  }): TransactionRequest;
34679
34775
  attach(address: string): SimpleReadExecutor;
34680
34776
  connect(signer: Signer): SimpleReadExecutor__factory;
34681
- static readonly bytecode = "0x60a060405234801561001057600080fd5b50604051610ccc380380610ccc83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610c346100986000396000818160e101528181610229015261031a0152610c346000f3fe6080604052600436106100745760003560e01c8063c015bb7d1161004e578063c015bb7d1461013d578063c8f8dcd11461016b578063f66f04501461018b578063fe173b97146101d557600080fd5b80630244a9fa146100805780635e280f11146100cf5780638a0d0bed1461012857600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506000546100a9906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100db57600080fd5b506101037f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c6565b61013b6101363660046106a3565b610212565b005b34801561014957600080fd5b5061015d61015836600461070f565b6103cf565b6040519081526020016100c6565b34801561017757600080fd5b5061015d61018636600461070f565b6103e4565b34801561019757600080fd5b5061013b6101a63660046107b2565b6fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002911617600055565b3480156101e157600080fd5b506000546100a99070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016630c0c389e60e0830135346020850161026281876107e5565b608087013561027460a0890189610800565b61028160c08b018b610800565b6040518a63ffffffff1660e01b81526004016102a397969594939291906108ff565b6000604051808303818589803b1580156102bc57600080fd5b5088f194505050505080156102cf575060015b6103cc573d8080156102fd576040519150601f19603f3d011682016040523d82523d6000602084013e610302565b606091505b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016636bf73fa36020840161034d81866107e5565b608086013560e08701353461036560a08a018a610800565b61037260c08c018c610800565b8b6040518b63ffffffff1660e01b81526004016103989a99989796959493929190610963565b600060405180830381600087803b1580156103b257600080fd5b505af11580156103c6573d6000803e3d6000fd5b50505050505b50565b60006103dc8484846103e4565b949350505050565b60008036816103f4868683610526565b509194509250905060ff8316600514610493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53696d706c65526561644578656375746f723a206e6f74204c5a52454144206f60448201527f7074696f6e000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b60008060006104a2858561057c565b600054929550909350915081906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116916104e8911663ffffffff8616610a6f565b6104f29086610aa3565b6104fc9190610a6f565b6105069190610aa3565b6fffffffffffffffffffffffffffffffff169a9950505050505050505050565b60003681600184018161053a888884610609565b60029290920191905061054e888884610630565b94506001820161ffff8216830161056781838b8d610ad3565b979b909a50969850505061ffff160193505050565b6000808060148414801590610592575060248414155b156105c9576040517fdeb7fe4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105d585856000610655565b92506105e38585601061067c565b9150602484146105f4576000610600565b61060085856014610655565b90509250925092565b60006002820161061b81848688610ad3565b61062491610afd565b60f01c95945050505050565b600083838381811061064457610644610b43565b919091013560f81c95945050505050565b60006010820161066781848688610ad3565b61067091610b72565b60801c95945050505050565b60006004820161068e81848688610ad3565b61069791610bb8565b60e01c95945050505050565b6000602082840312156106b557600080fd5b813567ffffffffffffffff8111156106cc57600080fd5b820161010081850312156106df57600080fd5b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461070a57600080fd5b919050565b60008060006040848603121561072457600080fd5b61072d846106e6565b9250602084013567ffffffffffffffff8082111561074a57600080fd5b818601915086601f83011261075e57600080fd5b81358181111561076d57600080fd5b87602082850101111561077f57600080fd5b6020830194508093505050509250925092565b80356fffffffffffffffffffffffffffffffff8116811461070a57600080fd5b600080604083850312156107c557600080fd5b6107ce83610792565b91506107dc60208401610792565b90509250929050565b6000602082840312156107f757600080fd5b6106df826106e6565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261083557600080fd5b83018035915067ffffffffffffffff82111561085057600080fd5b60200191503681900382131561086557600080fd5b9250929050565b803563ffffffff811680821461088157600080fd5b83525060208181013590830152604081013567ffffffffffffffff81168082146108aa57600080fd5b80604085015250505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b610909818961086c565b73ffffffffffffffffffffffffffffffffffffffff8716606082015285608082015260e060a0820152600061094260e0830186886108b6565b82810360c08401526109558185876108b6565b9a9950505050505050505050565b6000610140610972838e61086c565b73ffffffffffffffffffffffffffffffffffffffff8c1660608401528a60808401528960a08401528860c08401528060e08401526109b3818401888a6108b6565b90508281036101008401526109c98186886108b6565b9050828103610120840152835180825260005b818110156109f8576020818701810151848301820152016109dc565b5060006020828401015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116830101925050509b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6fffffffffffffffffffffffffffffffff818116838216028082169190828114610a9b57610a9b610a40565b505092915050565b6fffffffffffffffffffffffffffffffff818116838216019080821115610acc57610acc610a40565b5092915050565b60008085851115610ae357600080fd5b83861115610af057600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015610a9b5760029490940360031b84901b1690921692915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008135818116916010851015610a9b5760109490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015610a9b5760049490940360031b84901b169092169291505056fea264697066735822122063d3780cf2925403488d25d122aadff89bb51cc158177409a0d61ca8078a441b64736f6c63430008160033";
34777
+ static readonly bytecode = "0x60a060405234801561001057600080fd5b50604051610db9380380610db983398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610d196100a060003960008181610101015281816102470152818161030e01526103ff0152610d196000f3fe60806040526004361061007f5760003560e01c8063c015bb7d1161004e578063c015bb7d1461015b578063c8f8dcd114610189578063f66f0450146101a9578063fe173b97146101f357600080fd5b80630244a9fa1461008b578063287dc73f146100da5780635e280f11146100ef5780638a0d0bed1461014857600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506000546100b4906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100ed6100e8366004610788565b610230565b005b3480156100fb57600080fd5b506101237f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d1565b6100ed610156366004610788565b6102f7565b34801561016757600080fd5b5061017b6101763660046107f4565b6104b4565b6040519081526020016100d1565b34801561019557600080fd5b5061017b6101a43660046107f4565b6104c9565b3480156101b557600080fd5b506100ed6101c4366004610897565b6fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002911617600055565b3480156101ff57600080fd5b506000546100b49070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016630c0c389e60e0830135346020850161028081876108ca565b608087013561029260a08901896108e5565b61029f60c08b018b6108e5565b6040518a63ffffffff1660e01b81526004016102c197969594939291906109e4565b6000604051808303818589803b1580156102da57600080fd5b5088f11580156102ee573d6000803e3d6000fd5b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016630c0c389e60e0830135346020850161034781876108ca565b608087013561035960a08901896108e5565b61036660c08b018b6108e5565b6040518a63ffffffff1660e01b815260040161038897969594939291906109e4565b6000604051808303818589803b1580156103a157600080fd5b5088f194505050505080156103b4575060015b6104b1573d8080156103e2576040519150601f19603f3d011682016040523d82523d6000602084013e6103e7565b606091505b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016636bf73fa36020840161043281866108ca565b608086013560e08701353461044a60a08a018a6108e5565b61045760c08c018c6108e5565b8b6040518b63ffffffff1660e01b815260040161047d9a99989796959493929190610a48565b600060405180830381600087803b15801561049757600080fd5b505af11580156104ab573d6000803e3d6000fd5b50505050505b50565b60006104c18484846104c9565b949350505050565b60008036816104d986868361060b565b509194509250905060ff8316600514610578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53696d706c65526561644578656375746f723a206e6f74204c5a52454144206f60448201527f7074696f6e000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b60008060006105878585610661565b600054929550909350915081906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116916105cd911663ffffffff8616610b54565b6105d79086610b88565b6105e19190610b54565b6105eb9190610b88565b6fffffffffffffffffffffffffffffffff169a9950505050505050505050565b60003681600184018161061f8888846106ee565b600292909201919050610633888884610715565b94506001820161ffff8216830161064c81838b8d610bb8565b979b909a50969850505061ffff160193505050565b6000808060148414801590610677575060248414155b156106ae576040517fdeb7fe4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106ba8585600061073a565b92506106c885856010610761565b9150602484146106d95760006106e5565b6106e58585601461073a565b90509250925092565b60006002820161070081848688610bb8565b61070991610be2565b60f01c95945050505050565b600083838381811061072957610729610c28565b919091013560f81c95945050505050565b60006010820161074c81848688610bb8565b61075591610c57565b60801c95945050505050565b60006004820161077381848688610bb8565b61077c91610c9d565b60e01c95945050505050565b60006020828403121561079a57600080fd5b813567ffffffffffffffff8111156107b157600080fd5b820161010081850312156107c457600080fd5b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146107ef57600080fd5b919050565b60008060006040848603121561080957600080fd5b610812846107cb565b9250602084013567ffffffffffffffff8082111561082f57600080fd5b818601915086601f83011261084357600080fd5b81358181111561085257600080fd5b87602082850101111561086457600080fd5b6020830194508093505050509250925092565b80356fffffffffffffffffffffffffffffffff811681146107ef57600080fd5b600080604083850312156108aa57600080fd5b6108b383610877565b91506108c160208401610877565b90509250929050565b6000602082840312156108dc57600080fd5b6107c4826107cb565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261091a57600080fd5b83018035915067ffffffffffffffff82111561093557600080fd5b60200191503681900382131561094a57600080fd5b9250929050565b803563ffffffff811680821461096657600080fd5b83525060208181013590830152604081013567ffffffffffffffff811680821461098f57600080fd5b80604085015250505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6109ee8189610951565b73ffffffffffffffffffffffffffffffffffffffff8716606082015285608082015260e060a08201526000610a2760e08301868861099b565b82810360c0840152610a3a81858761099b565b9a9950505050505050505050565b6000610140610a57838e610951565b73ffffffffffffffffffffffffffffffffffffffff8c1660608401528a60808401528960a08401528860c08401528060e0840152610a98818401888a61099b565b9050828103610100840152610aae81868861099b565b9050828103610120840152835180825260005b81811015610add57602081870181015184830182015201610ac1565b5060006020828401015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116830101925050509b9a5050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6fffffffffffffffffffffffffffffffff818116838216028082169190828114610b8057610b80610b25565b505092915050565b6fffffffffffffffffffffffffffffffff818116838216019080821115610bb157610bb1610b25565b5092915050565b60008085851115610bc857600080fd5b83861115610bd557600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015610b805760029490940360031b84901b1690921692915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008135818116916010851015610b805760109490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015610b805760049490940360031b84901b169092169291505056fea26469706673582212209c63b8535c6e3bbff5fd8d1c5200f8ea7bf1a4b6939eff3de510115ff4223f2064736f6c63430008160033";
34682
34778
  static readonly abi: readonly [{
34683
34779
  readonly inputs: readonly [{
34684
34780
  readonly internalType: "address";
@@ -34819,6 +34915,54 @@ declare class SimpleReadExecutor__factory extends ContractFactory {
34819
34915
  }];
34820
34916
  readonly stateMutability: "view";
34821
34917
  readonly type: "function";
34918
+ }, {
34919
+ readonly inputs: readonly [{
34920
+ readonly components: readonly [{
34921
+ readonly internalType: "address";
34922
+ readonly name: "receiver";
34923
+ readonly type: "address";
34924
+ }, {
34925
+ readonly components: readonly [{
34926
+ readonly internalType: "uint32";
34927
+ readonly name: "srcEid";
34928
+ readonly type: "uint32";
34929
+ }, {
34930
+ readonly internalType: "bytes32";
34931
+ readonly name: "sender";
34932
+ readonly type: "bytes32";
34933
+ }, {
34934
+ readonly internalType: "uint64";
34935
+ readonly name: "nonce";
34936
+ readonly type: "uint64";
34937
+ }];
34938
+ readonly internalType: "struct Origin";
34939
+ readonly name: "origin";
34940
+ readonly type: "tuple";
34941
+ }, {
34942
+ readonly internalType: "bytes32";
34943
+ readonly name: "guid";
34944
+ readonly type: "bytes32";
34945
+ }, {
34946
+ readonly internalType: "bytes";
34947
+ readonly name: "message";
34948
+ readonly type: "bytes";
34949
+ }, {
34950
+ readonly internalType: "bytes";
34951
+ readonly name: "extraData";
34952
+ readonly type: "bytes";
34953
+ }, {
34954
+ readonly internalType: "uint256";
34955
+ readonly name: "gasLimit";
34956
+ readonly type: "uint256";
34957
+ }];
34958
+ readonly internalType: "struct ExecutionParams";
34959
+ readonly name: "_executionParams";
34960
+ readonly type: "tuple";
34961
+ }];
34962
+ readonly name: "mustExecute";
34963
+ readonly outputs: readonly [];
34964
+ readonly stateMutability: "payable";
34965
+ readonly type: "function";
34822
34966
  }, {
34823
34967
  readonly stateMutability: "payable";
34824
34968
  readonly type: "receive";
@@ -41056,7 +41200,7 @@ declare class LzReadCounter__factory extends ContractFactory {
41056
41200
  }): TransactionRequest;
41057
41201
  attach(address: string): LzReadCounter;
41058
41202
  connect(signer: Signer): LzReadCounter__factory;
41059
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162002d2f38038062002d2f83398101604081905262000034916200019f565b80338181818162000045816200014f565b6001600160a01b0380831660805281166200007357604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000bb57600080fd5b505af1158015620000d0573d6000803e3d6000fd5b50505050505050505050806001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f9190620001d1565b63ffffffff1660a05250620001f9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620001b257600080fd5b81516001600160a01b0381168114620001ca57600080fd5b9392505050565b600060208284031215620001e457600080fd5b815163ffffffff81168114620001ca57600080fd5b60805160a051612adf620002506000396000818161021a0152610b3c015260008181610263015281816105b501528181610c1d01528181611250015281816113d00152818161162d01526117260152612adf6000f3fe6080604052600436106101615760003560e01c806382413eac116100bf578063ca5eb5e111610079578063f0a9e48111610056578063f0a9e481146104a8578063f2fde38b146104c8578063ff7bd03d146104e857005b8063ca5eb5e114610448578063e60c287c14610468578063eba1cf081461048857005b8063a798280f116100a7578063a798280f146103d7578063a7e0231f14610404578063bb0b6a531461041b57005b806382413eac1461037c5780638da5cb5b146103ac57005b8063416ecebf1161011b578063715018a6116100f8578063715018a6146102df57806373494d2e146102f45780637d25a05e1461034057005b8063416ecebf146102085780635e280f1114610251578063695a2fa8146102aa57005b806313137d651161014957806313137d65146101b357806317442b70146101c65780633400288b146101e857005b80630119024e1461016a57806306661abd1461019d57005b3661016857005b005b34801561017657600080fd5b5061018a610185366004611ce2565b610508565b6040519081526020015b60405180910390f35b3480156101a957600080fd5b5061018a60025481565b6101686101c1366004611d7e565b6105b3565b3480156101d257600080fd5b5060408051600181526002602082015201610194565b3480156101f457600080fd5b50610168610203366004611e37565b6106ad565b34801561021457600080fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610194565b34801561025d57600080fd5b506102857f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610194565b3480156102b657600080fd5b506102ca6102c53660046120d1565b6106c3565b60408051928352602083019190915201610194565b3480156102eb57600080fd5b50610168610731565b6103076103023660046120d1565b610745565b604080518251815260208084015167ffffffffffffffff1681830152928201518051928201929092529101516060820152608001610194565b34801561034c57600080fd5b5061036361035b366004611e37565b600092915050565b60405167ffffffffffffffff9091168152602001610194565b34801561038857600080fd5b5061039c61039736600461216f565b6107da565b6040519015158152602001610194565b3480156103b857600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610285565b3480156103e357600080fd5b506103f76103f23660046121d6565b6107fc565b60405161019491906122a3565b34801561041057600080fd5b506101686000600255565b34801561042757600080fd5b5061018a6104363660046122bd565b60016020526000908152604090205481565b34801561045457600080fd5b506101686104633660046122d8565b610bd0565b34801561047457600080fd5b506103f76104833660046122f5565b610c7c565b34801561049457600080fd5b506103f76104a3366004612361565b610d7e565b3480156104b457600080fd5b506101686104c33660046123fb565b610ed8565b3480156104d457600080fd5b506101686104e33660046122d8565b610ef6565b3480156104f457600080fd5b5061039c610503366004612432565b610fad565b60008160090361059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c696420636f756e742061646460448201527f6974696f6e00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b816002546105ad919061247d565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610624576040517f91ac5e4f000000000000000000000000000000000000000000000000000000008152336004820152602401610596565b6020870180359061063e90610639908a6122bd565b610fe3565b146106955761065060208801886122bd565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610596565b6106a487878787878787611038565b50505050505050565b6106b5611164565b6106bf82826111e5565b5050565b60008060006106d38888886107fc565b905060006107188a8388888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061123a915050565b8051602090910151909b909a5098505050505050505050565b610739611164565b6107436000611328565b565b61074d611c9a565b600061075a8787876107fc565b905060016002600082825461076f919061247d565b925050819055506107ce888286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091523481526020810191909152925033915061139d9050565b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b60606000835111610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4c7a52656164436f756e7465723a20656d7074792072657175657374730000006044820152606401610596565b6000835167ffffffffffffffff81111561088557610885611e73565b60405190808252806020026020018201604052801561090c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816108a35790505b50905060005b8451811015610a7657600085828151811061092f5761092f612490565b602002602001015190506040518060e00160405280826000015161ffff168152602001826020015163ffffffff168152602001826040015115158152602001826060015167ffffffffffffffff168152602001826080015161ffff1681526020018260a0015173ffffffffffffffffffffffffffffffffffffffff168152602001630119024e60e01b8360c001516040516024016109cf91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290528351849084908110610a6257610a62612490565b602090810291909101015250600101610912565b508251600360ff9091161115610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4c7a52656164436f756e7465723a20696e76616c696420636f6d70757465207460448201527f79706500000000000000000000000000000000000000000000000000000000006064820152608401610596565b60006040518060c00160405280856000015160ff168152602001600360ff16866000015160ff1614610b60577f0000000000000000000000000000000000000000000000000000000000000000610b63565b60005b63ffffffff168152602001856060015115158152602001856040015167ffffffffffffffff168152602001856020015161ffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681525090506000610bc58784846114aa565b979650505050505050565b610bd8611164565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b5050505050565b606060208214610d0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000610d1a86866114d6565b90506000610d2a84860186611ce2565b9050610d38826103e86124bf565b61ffff16610d4782606461247d565b610d51919061247d565b604051602001610d6391815260200190565b60405160208183030381529060405292505050949350505050565b60606000805b83811015610e8b57848482818110610d9e57610d9e612490565b9050602002810190610db091906124e5565b9050602014610e41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000858583818110610e5557610e55612490565b9050602002810190610e6791906124e5565b810190610e749190611ce2565b9050610e80818461247d565b925050600101610d84565b50610e986127108261247d565b90506000610ea68787611570565b9050610eb961ffff8216620186a061254a565b610ec3908361247d565b915081604051602001610d6391815260200190565b610ee0611164565b6106bf8282610ef05760006111e5565b306111e5565b610efe611164565b73ffffffffffffffffffffffffffffffffffffffff8116610fa1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610596565b610faa81611328565b50565b6000602082018035906001908390610fc590866122bd565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806105ad576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610596565b611043602085612561565b156110d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c6964206d657373616765206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152608401610596565b6000805b85811015611122578681876110ea82602061247d565b926110f79392919061259c565b8101906111049190611ce2565b61110e908361247d565b915061111b60208261247d565b90506110d4565b50700100000000000000000000000000000000600254106111435760006002555b8060026000828254611155919061247d565b90915550505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610596565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff1681526020016112aa89610fe3565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016112df9291906125c6565b6040805180830381865afa1580156112fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131f91906126b9565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6113a5611c9a565b60006113b484600001516115e8565b6020850151909150156113ce576113ce8460200151611629565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff16815260200161142b8c610fe3565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b81526004016114679291906125c6565b60806040518083038185885af1158015611485573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bc591906126d5565b606060006114b8858561174b565b9050826020015163ffffffff166000146107f45761131f81846117f3565b60008080848482816114ea576114ea612490565b919091013560f81c9150611501905060018361247d565b915060ff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84828561154e82600261247d565b9261155b9392919061259c565b6115649161273d565b60f01c95945050505050565b6000808084818561158282600261247d565b9261158f9392919061259c565b6115989161273d565b60f01c90506115a860028361247d565b915061ffff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000813414611625576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610596565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ba9190612783565b905073ffffffffffffffffffffffffffffffffffffffff8116611709576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106bf73ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085611846565b6060600060018461175c85516118e1565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156117eb576117e1828583815181106117d4576117d4612490565b6020026020010151611975565b91506001016117b5565b509392505050565b606082600180846000015185602001518660400151876060015188608001518960a0015160405160200161182f999897969594939291906127a0565b604051602081830303815290604052905092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526118db908590611a25565b50505050565b600061ffff821115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610596565b606060008360018460000151600161199d8760c00151516023611998919061247d565b6118e1565b6020808901516040516119b5979695949392016128f2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650611a0d958795906020016129ad565b60405160208183030381529060405291505092915050565b6000611a87826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611b399092919063ffffffff16565b9050805160001480611aa8575080806020019051810190611aa89190612a70565b611b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610596565b505050565b60606107f48484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051611b6d9190612a8d565b60006040518083038185875af1925050503d8060008114611baa576040519150601f19603f3d011682016040523d82523d6000602084013e611baf565b606091505b5091509150610bc58783838760608315611c51578251600003611c4a5773ffffffffffffffffffffffffffffffffffffffff85163b611c4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610596565b50816107f4565b6107f48383815115611c665781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059691906122a3565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001611cdd604051806040016040528060008152602001600081525090565b905290565b600060208284031215611cf457600080fd5b5035919050565b600060608284031215611d0d57600080fd5b50919050565b60008083601f840112611d2557600080fd5b50813567ffffffffffffffff811115611d3d57600080fd5b602083019150836020828501011115611d5557600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114610faa57600080fd5b600080600080600080600060e0888a031215611d9957600080fd5b611da38989611cfb565b965060608801359550608088013567ffffffffffffffff80821115611dc757600080fd5b611dd38b838c01611d13565b909750955060a08a01359150611de882611d5c565b90935060c08901359080821115611dfe57600080fd5b50611e0b8a828b01611d13565b989b979a50959850939692959293505050565b803563ffffffff81168114611e3257600080fd5b919050565b60008060408385031215611e4a57600080fd5b611e5383611e1e565b946020939093013593505050565b803561ffff81168114611e3257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715611ec557611ec5611e73565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611f1257611f12611e73565b604052919050565b8015158114610faa57600080fd5b67ffffffffffffffff81168114610faa57600080fd5b600082601f830112611f4f57600080fd5b8135602067ffffffffffffffff821115611f6b57611f6b611e73565b611f79818360051b01611ecb565b82815260e09283028501820192828201919087851115611f9857600080fd5b8387015b858110156120375781818a031215611fb45760008081fd5b611fbc611ea2565b611fc582611e61565b8152611fd2868301611e1e565b86820152604080830135611fe581611f1a565b90820152606082810135611ff881611f28565b908201526080612009838201611e61565b9082015260a08281013561201c81611d5c565b9082015260c082810135908201528452928401928101611f9c565b5090979650505050505050565b60006080828403121561205657600080fd5b6040516080810181811067ffffffffffffffff8211171561207957612079611e73565b604052905080823560ff8116811461209057600080fd5b815261209e60208401611e61565b602082015260408301356120b181611f28565b604082015260608301356120c481611f1a565b6060919091015292915050565b60008060008060008061010087890312156120eb57600080fd5b6120f487611e1e565b955061210260208801611e61565b9450604087013567ffffffffffffffff8082111561211f57600080fd5b61212b8a838b01611f3e565b955061213a8a60608b01612044565b945060e089013591508082111561215057600080fd5b5061215d89828a01611d13565b979a9699509497509295939492505050565b60008060008060a0858703121561218557600080fd5b61218f8686611cfb565b9350606085013567ffffffffffffffff8111156121ab57600080fd5b6121b787828801611d13565b90945092505060808501356121cb81611d5c565b939692955090935050565b600080600060c084860312156121eb57600080fd5b6121f484611e61565b9250602084013567ffffffffffffffff81111561221057600080fd5b61221c86828701611f3e565b92505061222c8560408601612044565b90509250925092565b60005b83811015612250578181015183820152602001612238565b50506000910152565b60008151808452612271816020860160208601612235565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122b66020830184612259565b9392505050565b6000602082840312156122cf57600080fd5b6122b682611e1e565b6000602082840312156122ea57600080fd5b81356122b681611d5c565b6000806000806040858703121561230b57600080fd5b843567ffffffffffffffff8082111561232357600080fd5b61232f88838901611d13565b9096509450602087013591508082111561234857600080fd5b5061235587828801611d13565b95989497509550505050565b6000806000806040858703121561237757600080fd5b843567ffffffffffffffff8082111561238f57600080fd5b61239b88838901611d13565b909650945060208701359150808211156123b457600080fd5b818701915087601f8301126123c857600080fd5b8135818111156123d757600080fd5b8860208260051b85010111156123ec57600080fd5b95989497505060200194505050565b6000806040838503121561240e57600080fd5b61241783611e1e565b9150602083013561242781611f1a565b809150509250929050565b60006060828403121561244457600080fd5b6122b68383611cfb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105ad576105ad61244e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61ffff8181168382160280821691908281146124dd576124dd61244e565b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261251a57600080fd5b83018035915067ffffffffffffffff82111561253557600080fd5b602001915036819003821315611d5557600080fd5b80820281158282048414176105ad576105ad61244e565b600082612597577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b600080858511156125ac57600080fd5b838611156125b957600080fd5b5050820193919092039150565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526125fc60e0840182612259565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526126378282612259565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561267c57600080fd5b6040516040810181811067ffffffffffffffff8211171561269f5761269f611e73565b604052825181526020928301519281019290925250919050565b6000604082840312156126cb57600080fd5b6122b6838361266a565b6000608082840312156126e757600080fd5b6040516060810181811067ffffffffffffffff8211171561270a5761270a611e73565b60405282518152602083015161271f81611f28565b6020820152612731846040850161266a565b60408201529392505050565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156124dd5760029490940360031b84901b1690921692915050565b60006020828403121561279557600080fd5b81516122b681611d5c565b60008a516127b2818460208f01612235565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b600882015261287e600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6128af601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6128e0601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b60008751612904818460208c01612235565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516129bf818460208c01612235565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b8201528351612a6081601f840160208801612235565b01601f0198975050505050505050565b600060208284031215612a8257600080fd5b81516122b681611f1a565b60008251612a9f818460208701612235565b919091019291505056fea2646970667358221220467ab507135eb8171b033b244925f7c22a2f1ca21243fe6f3094e4412aace2a964736f6c63430008160033";
41203
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162002d2f38038062002d2f83398101604081905262000034916200019f565b80338181818162000045816200014f565b6001600160a01b0380831660805281166200007357604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000bb57600080fd5b505af1158015620000d0573d6000803e3d6000fd5b50505050505050505050806001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f9190620001d1565b63ffffffff1660a05250620001f9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620001b257600080fd5b81516001600160a01b0381168114620001ca57600080fd5b9392505050565b600060208284031215620001e457600080fd5b815163ffffffff81168114620001ca57600080fd5b60805160a051612adf620002506000396000818161021a0152610b3c015260008181610263015281816105b501528181610c1d01528181611250015281816113d00152818161162d01526117260152612adf6000f3fe6080604052600436106101615760003560e01c806382413eac116100bf578063ca5eb5e111610079578063f0a9e48111610056578063f0a9e481146104a8578063f2fde38b146104c8578063ff7bd03d146104e857005b8063ca5eb5e114610448578063e60c287c14610468578063eba1cf081461048857005b8063a798280f116100a7578063a798280f146103d7578063a7e0231f14610404578063bb0b6a531461041b57005b806382413eac1461037c5780638da5cb5b146103ac57005b8063416ecebf1161011b578063715018a6116100f8578063715018a6146102df57806373494d2e146102f45780637d25a05e1461034057005b8063416ecebf146102085780635e280f1114610251578063695a2fa8146102aa57005b806313137d651161014957806313137d65146101b357806317442b70146101c65780633400288b146101e857005b80630119024e1461016a57806306661abd1461019d57005b3661016857005b005b34801561017657600080fd5b5061018a610185366004611ce2565b610508565b6040519081526020015b60405180910390f35b3480156101a957600080fd5b5061018a60025481565b6101686101c1366004611d7e565b6105b3565b3480156101d257600080fd5b5060408051600181526002602082015201610194565b3480156101f457600080fd5b50610168610203366004611e37565b6106ad565b34801561021457600080fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610194565b34801561025d57600080fd5b506102857f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610194565b3480156102b657600080fd5b506102ca6102c53660046120d1565b6106c3565b60408051928352602083019190915201610194565b3480156102eb57600080fd5b50610168610731565b6103076103023660046120d1565b610745565b604080518251815260208084015167ffffffffffffffff1681830152928201518051928201929092529101516060820152608001610194565b34801561034c57600080fd5b5061036361035b366004611e37565b600092915050565b60405167ffffffffffffffff9091168152602001610194565b34801561038857600080fd5b5061039c61039736600461216f565b6107da565b6040519015158152602001610194565b3480156103b857600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610285565b3480156103e357600080fd5b506103f76103f23660046121d6565b6107fc565b60405161019491906122a3565b34801561041057600080fd5b506101686000600255565b34801561042757600080fd5b5061018a6104363660046122bd565b60016020526000908152604090205481565b34801561045457600080fd5b506101686104633660046122d8565b610bd0565b34801561047457600080fd5b506103f76104833660046122f5565b610c7c565b34801561049457600080fd5b506103f76104a3366004612361565b610d7e565b3480156104b457600080fd5b506101686104c33660046123fb565b610ed8565b3480156104d457600080fd5b506101686104e33660046122d8565b610ef6565b3480156104f457600080fd5b5061039c610503366004612432565b610fad565b60008160090361059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c696420636f756e742061646460448201527f6974696f6e00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b816002546105ad919061247d565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610624576040517f91ac5e4f000000000000000000000000000000000000000000000000000000008152336004820152602401610596565b6020870180359061063e90610639908a6122bd565b610fe3565b146106955761065060208801886122bd565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610596565b6106a487878787878787611038565b50505050505050565b6106b5611164565b6106bf82826111e5565b5050565b60008060006106d38888886107fc565b905060006107188a8388888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061123a915050565b8051602090910151909b909a5098505050505050505050565b610739611164565b6107436000611328565b565b61074d611c9a565b600061075a8787876107fc565b905060016002600082825461076f919061247d565b925050819055506107ce888286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091523481526020810191909152925033915061139d9050565b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b60606000835111610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4c7a52656164436f756e7465723a20656d7074792072657175657374730000006044820152606401610596565b6000835167ffffffffffffffff81111561088557610885611e73565b60405190808252806020026020018201604052801561090c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816108a35790505b50905060005b8451811015610a7657600085828151811061092f5761092f612490565b602002602001015190506040518060e00160405280826000015161ffff168152602001826020015163ffffffff168152602001826040015115158152602001826060015167ffffffffffffffff168152602001826080015161ffff1681526020018260a0015173ffffffffffffffffffffffffffffffffffffffff168152602001630119024e60e01b8360c001516040516024016109cf91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290528351849084908110610a6257610a62612490565b602090810291909101015250600101610912565b508251600360ff9091161115610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4c7a52656164436f756e7465723a20696e76616c696420636f6d70757465207460448201527f79706500000000000000000000000000000000000000000000000000000000006064820152608401610596565b60006040518060c00160405280856000015160ff168152602001600360ff16866000015160ff1614610b60577f0000000000000000000000000000000000000000000000000000000000000000610b63565b60005b63ffffffff168152602001856060015115158152602001856040015167ffffffffffffffff168152602001856020015161ffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681525090506000610bc58784846114aa565b979650505050505050565b610bd8611164565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b5050505050565b606060208214610d0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000610d1a86866114d6565b90506000610d2a84860186611ce2565b9050610d38826103e86124bf565b61ffff16610d4782606461247d565b610d51919061247d565b604051602001610d6391815260200190565b60405160208183030381529060405292505050949350505050565b60606000805b83811015610e8b57848482818110610d9e57610d9e612490565b9050602002810190610db091906124e5565b9050602014610e41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4c7a52656164436f756e7465723a20696e76616c696420726573706f6e73652060448201527f6c656e67746800000000000000000000000000000000000000000000000000006064820152608401610596565b6000858583818110610e5557610e55612490565b9050602002810190610e6791906124e5565b810190610e749190611ce2565b9050610e80818461247d565b925050600101610d84565b50610e986127108261247d565b90506000610ea68787611570565b9050610eb961ffff8216620186a061254a565b610ec3908361247d565b915081604051602001610d6391815260200190565b610ee0611164565b6106bf8282610ef05760006111e5565b306111e5565b610efe611164565b73ffffffffffffffffffffffffffffffffffffffff8116610fa1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610596565b610faa81611328565b50565b6000602082018035906001908390610fc590866122bd565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806105ad576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610596565b611043602085612561565b156110d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c7a52656164436f756e7465723a20696e76616c6964206d657373616765206c60448201527f656e6774680000000000000000000000000000000000000000000000000000006064820152608401610596565b6000805b85811015611122578681876110ea82602061247d565b926110f79392919061259c565b8101906111049190611ce2565b61110e908361247d565b915061111b60208261247d565b90506110d4565b50700100000000000000000000000000000000600254106111435760006002555b8060026000828254611155919061247d565b90915550505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610596565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff1681526020016112aa89610fe3565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016112df9291906125c6565b6040805180830381865afa1580156112fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131f91906126b9565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6113a5611c9a565b60006113b484600001516115e8565b6020850151909150156113ce576113ce8460200151611629565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff16815260200161142b8c610fe3565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b81526004016114679291906125c6565b60806040518083038185885af1158015611485573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bc591906126d5565b606060006114b8858561174b565b9050826020015163ffffffff166000146107f45761131f81846117f3565b60008080848482816114ea576114ea612490565b919091013560f81c9150611501905060018361247d565b915060ff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84828561154e82600261247d565b9261155b9392919061259c565b6115649161273d565b60f01c95945050505050565b6000808084818561158282600261247d565b9261158f9392919061259c565b6115989161273d565b60f01c90506115a860028361247d565b915061ffff8116600114611540576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000813414611625576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610596565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ba9190612783565b905073ffffffffffffffffffffffffffffffffffffffff8116611709576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106bf73ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085611846565b6060600060018461175c85516118e1565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156117eb576117e1828583815181106117d4576117d4612490565b6020026020010151611975565b91506001016117b5565b509392505050565b606082600180846000015185602001518660400151876060015188608001518960a0015160405160200161182f999897969594939291906127a0565b604051602081830303815290604052905092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526118db908590611a25565b50505050565b600061ffff821115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610596565b606060008360018460000151600161199d8760c00151516023611998919061247d565b6118e1565b6020808901516040516119b5979695949392016128f2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c0890151949650611a0d958795906020016129ad565b60405160208183030381529060405291505092915050565b6000611a87826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611b399092919063ffffffff16565b9050805160001480611aa8575080806020019051810190611aa89190612a70565b611b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610596565b505050565b60606107f48484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051611b6d9190612a8d565b60006040518083038185875af1925050503d8060008114611baa576040519150601f19603f3d011682016040523d82523d6000602084013e611baf565b606091505b5091509150610bc58783838760608315611c51578251600003611c4a5773ffffffffffffffffffffffffffffffffffffffff85163b611c4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610596565b50816107f4565b6107f48383815115611c665781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059691906122a3565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001611cdd604051806040016040528060008152602001600081525090565b905290565b600060208284031215611cf457600080fd5b5035919050565b600060608284031215611d0d57600080fd5b50919050565b60008083601f840112611d2557600080fd5b50813567ffffffffffffffff811115611d3d57600080fd5b602083019150836020828501011115611d5557600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114610faa57600080fd5b600080600080600080600060e0888a031215611d9957600080fd5b611da38989611cfb565b965060608801359550608088013567ffffffffffffffff80821115611dc757600080fd5b611dd38b838c01611d13565b909750955060a08a01359150611de882611d5c565b90935060c08901359080821115611dfe57600080fd5b50611e0b8a828b01611d13565b989b979a50959850939692959293505050565b803563ffffffff81168114611e3257600080fd5b919050565b60008060408385031215611e4a57600080fd5b611e5383611e1e565b946020939093013593505050565b803561ffff81168114611e3257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715611ec557611ec5611e73565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611f1257611f12611e73565b604052919050565b8015158114610faa57600080fd5b67ffffffffffffffff81168114610faa57600080fd5b600082601f830112611f4f57600080fd5b8135602067ffffffffffffffff821115611f6b57611f6b611e73565b611f79818360051b01611ecb565b82815260e09283028501820192828201919087851115611f9857600080fd5b8387015b858110156120375781818a031215611fb45760008081fd5b611fbc611ea2565b611fc582611e61565b8152611fd2868301611e1e565b86820152604080830135611fe581611f1a565b90820152606082810135611ff881611f28565b908201526080612009838201611e61565b9082015260a08281013561201c81611d5c565b9082015260c082810135908201528452928401928101611f9c565b5090979650505050505050565b60006080828403121561205657600080fd5b6040516080810181811067ffffffffffffffff8211171561207957612079611e73565b604052905080823560ff8116811461209057600080fd5b815261209e60208401611e61565b602082015260408301356120b181611f28565b604082015260608301356120c481611f1a565b6060919091015292915050565b60008060008060008061010087890312156120eb57600080fd5b6120f487611e1e565b955061210260208801611e61565b9450604087013567ffffffffffffffff8082111561211f57600080fd5b61212b8a838b01611f3e565b955061213a8a60608b01612044565b945060e089013591508082111561215057600080fd5b5061215d89828a01611d13565b979a9699509497509295939492505050565b60008060008060a0858703121561218557600080fd5b61218f8686611cfb565b9350606085013567ffffffffffffffff8111156121ab57600080fd5b6121b787828801611d13565b90945092505060808501356121cb81611d5c565b939692955090935050565b600080600060c084860312156121eb57600080fd5b6121f484611e61565b9250602084013567ffffffffffffffff81111561221057600080fd5b61221c86828701611f3e565b92505061222c8560408601612044565b90509250925092565b60005b83811015612250578181015183820152602001612238565b50506000910152565b60008151808452612271816020860160208601612235565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122b66020830184612259565b9392505050565b6000602082840312156122cf57600080fd5b6122b682611e1e565b6000602082840312156122ea57600080fd5b81356122b681611d5c565b6000806000806040858703121561230b57600080fd5b843567ffffffffffffffff8082111561232357600080fd5b61232f88838901611d13565b9096509450602087013591508082111561234857600080fd5b5061235587828801611d13565b95989497509550505050565b6000806000806040858703121561237757600080fd5b843567ffffffffffffffff8082111561238f57600080fd5b61239b88838901611d13565b909650945060208701359150808211156123b457600080fd5b818701915087601f8301126123c857600080fd5b8135818111156123d757600080fd5b8860208260051b85010111156123ec57600080fd5b95989497505060200194505050565b6000806040838503121561240e57600080fd5b61241783611e1e565b9150602083013561242781611f1a565b809150509250929050565b60006060828403121561244457600080fd5b6122b68383611cfb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105ad576105ad61244e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61ffff8181168382160280821691908281146124dd576124dd61244e565b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261251a57600080fd5b83018035915067ffffffffffffffff82111561253557600080fd5b602001915036819003821315611d5557600080fd5b80820281158282048414176105ad576105ad61244e565b600082612597577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b600080858511156125ac57600080fd5b838611156125b957600080fd5b5050820193919092039150565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526125fc60e0840182612259565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526126378282612259565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561267c57600080fd5b6040516040810181811067ffffffffffffffff8211171561269f5761269f611e73565b604052825181526020928301519281019290925250919050565b6000604082840312156126cb57600080fd5b6122b6838361266a565b6000608082840312156126e757600080fd5b6040516060810181811067ffffffffffffffff8211171561270a5761270a611e73565b60405282518152602083015161271f81611f28565b6020820152612731846040850161266a565b60408201529392505050565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156124dd5760029490940360031b84901b1690921692915050565b60006020828403121561279557600080fd5b81516122b681611d5c565b60008a516127b2818460208f01612235565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b600882015261287e600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6128af601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b6128e0601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b60008751612904818460208c01612235565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b600087516129bf818460208c01612235565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b8201528351612a6081601f840160208801612235565b01601f0198975050505050505050565b600060208284031215612a8257600080fd5b81516122b681611f1a565b60008251612a9f818460208701612235565b919091019291505056fea2646970667358221220268bdba149cb8fff6169471b6eff63387baa969b3f475f5b37c1c50b565acb2064736f6c63430008160033";
41060
41204
  static readonly abi: readonly [{
41061
41205
  readonly inputs: readonly [{
41062
41206
  readonly internalType: "address";
@@ -41712,7 +41856,7 @@ declare class OmniCounter__factory extends ContractFactory {
41712
41856
  }): TransactionRequest;
41713
41857
  attach(address: string): OmniCounter;
41714
41858
  connect(signer: Signer): OmniCounter__factory;
41715
- static readonly bytecode = "0x60a06040523480156200001157600080fd5b5060405162003656380380620036568339810160408190526200003491620001ed565b818181818181620000453362000180565b6001600160a01b0380831660805281166200007357604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000bb57600080fd5b505af1158015620000d0573d6000803e3d6000fd5b5050600580546001600160a01b0319163317905550506040805163416ecebf60e01b815290516001600160a01b038816955063416ecebf9450600480830194506020935090918290030181865afa15801562000130573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000156919062000225565b600560146101000a81548163ffffffff021916908363ffffffff1602179055505050505062000254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620001e857600080fd5b919050565b600080604083850312156200020157600080fd5b6200020c83620001d0565b91506200021c60208401620001d0565b90509250929050565b6000602082840312156200023857600080fd5b815163ffffffff811681146200024d57600080fd5b9392505050565b6080516133a7620002af600039600081816103a40152818161068901528181610adc01528181610f75015281816110ac015281816117f001528181611b4201528181611da101528181612035015261212e01526133a76000f3fe6080604052600436106101e75760003560e01c80637d25a05e1161010e578063ca5eb5e1116100a7578063d424388511610079578063f3fef3a311610061578063f3fef3a31461061a578063f851a4401461063a578063ff7bd03d1461066757005b8063d4243885146105da578063f2fde38b146105fa57005b8063ca5eb5e11461055f578063d045a0dc1461057f578063d0a1026014610592578063d22446ce146105a557005b8063b7abbb5d116100e0578063b7abbb5d146104f9578063bb0b6a531461050c578063bd815db014610539578063c95c55be1461054c57005b80637d25a05e1461044857806382413eac146104815780638da5cb5b146104a1578063b731ea0a146104cc57005b806356a4728911610180578063622f17f611610152578063622f17f6146103c6578063704b6c02146103f35780637112f86f14610413578063715018a61461043357005b806356a47289146103155780635a0dfe4d146103425780635b849af6146103725780635e280f111461039257005b80633400288b116101b95780633400288b14610264578063416ecebf1461028457806352ae2879146102ce578063542e7b561461030257005b806306661abd146101f057806313137d651461021957806317442b701461022c578063257f4e051461024e57005b366101ee57005b005b3480156101fc57600080fd5b5061020660035481565b6040519081526020015b60405180910390f35b6101ee610227366004612742565b610687565b34801561023857600080fd5b5060408051600181526002602082015201610210565b34801561025a57600080fd5b5061020660045481565b34801561027057600080fd5b506101ee61027f3660046127fb565b610786565b34801561029057600080fd5b506005546102b99074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610210565b3480156102da57600080fd5b50305b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610210565b6101ee61031036600461286a565b61079c565b34801561032157600080fd5b50610206610330366004612904565b60086020526000908152604090205481565b34801561034e57600080fd5b5061036261035d3660046127fb565b610963565b6040519015158152602001610210565b34801561037e57600080fd5b506101ee61038d36600461292d565b610982565b34801561039e57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d257600080fd5b506102066103e1366004612904565b60096020526000908152604090205481565b3480156103ff57600080fd5b506101ee61040e36600461294a565b6109bb565b34801561041f57600080fd5b506101ee61042e36600461297d565b610a83565b34801561043f57600080fd5b506101ee610bbd565b34801561045457600080fd5b506104686104633660046127fb565b610bd1565b60405167ffffffffffffffff9091168152602001610210565b34801561048d57600080fd5b5061036261049c3660046129bd565b610c24565b3480156104ad57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166102dd565b3480156104d857600080fd5b506002546102dd9073ffffffffffffffffffffffffffffffffffffffff1681565b6101ee610507366004612a35565b610c46565b34801561051857600080fd5b50610206610527366004612904565b60016020526000908152604090205481565b6101ee610547366004612a96565b610cc9565b6101ee61055a366004612a35565b610e80565b34801561056b57600080fd5b506101ee61057a36600461294a565b610f28565b6101ee61058d366004612742565b610fcd565b6101ee6105a0366004612ad8565b611015565b3480156105b157600080fd5b506105c56105c0366004612a35565b6112ea565b60408051928352602083019190915201610210565b3480156105e657600080fd5b506101ee6105f536600461294a565b611361565b34801561060657600080fd5b506101ee61061536600461294a565b6113e2565b34801561062657600080fd5b506101ee610635366004612b59565b611499565b34801561064657600080fd5b506005546102dd9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561067357600080fd5b50610362610682366004612b77565b6115e4565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146106fd576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6020870180359061071790610712908a612904565b61161a565b1461076e576107296020880188612904565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602088013560248201526044016106f4565b61077d8787878787878761166f565b50505050505050565b61078e6119c0565b6107988282611a41565b5050565b84811480156107aa57508483145b610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a206c656e677468206d69736d617463680000000060448201526064016106f4565b610818612677565b3460005b8781101561095857600061083160018a612bc2565b821461083d573061083f565b335b905060008a8a8481811061085557610855612bd5565b905060200201602081019061086a9190612904565b9050600089898581811061088057610880612bd5565b90506020020160208101906108959190612c04565b905061092c826108b783600560149054906101000a900463ffffffff16611a96565b8a8a888181106108c9576108c9612bd5565b90506020028101906108db9190612c1f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091528d815260208101919091529250899150611b0f9050565b955061093782611c27565b6040860151516109479086612bc2565b9450506001909201915061081c9050565b505050505050505050565b63ffffffff821660009081526001602052604090205481145b92915050565b61098a6119c0565b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314610a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610a8b6119c0565b6040517fd70b890200000000000000000000000000000000000000000000000000000000815230600482015263ffffffff841660248201526044810183905267ffffffffffffffff821660648201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d70b890290608401600060405180830381600087803b158015610b3557600080fd5b505af1158015610b49573d6000803e3d6000fd5b505060075460ff16159150610bb890505763ffffffff831660009081526006602090815260408083208584529091528120805467ffffffffffffffff1691610b9083612c84565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b505050565b610bc56119c0565b610bcf6000611c50565b565b60075460009060ff1615610c1c5763ffffffff83166000908152600660209081526040808320858452909152902054610c159067ffffffffffffffff166001612cab565b905061097c565b50600061097c565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610cb984610c6685600560149054906101000a900463ffffffff16611a96565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805180820190915234815260208101919091529250339150611b0f9050565b50610cc384611c27565b50505050565b60005b81811015610dbb5736838383818110610ce757610ce7612bd5565b9050602002810190610cf99190612cd3565b9050610d15610d0b6020830183612904565b6020830135610963565b610d1f5750610db3565b3063d045a0dc60c08301358360a0810135610d3e610100830183612c1f565b610d4f610100890160e08a0161294a565b610d5d6101208a018a612c1f565b6040518963ffffffff1660e01b8152600401610d7f9796959493929190612d5a565b6000604051808303818588803b158015610d9857600080fd5b505af1158015610dac573d6000803e3d6000fd5b5050505050505b600101610ccc565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e07573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610e4d9190810190612e41565b6040517f8351eea70000000000000000000000000000000000000000000000000000000081526004016106f49190612f4b565b60055473ffffffffffffffffffffffffffffffffffffffff163314610f01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b610f2184610c6685600560149054906101000a900463ffffffff16611a96565b5050505050565b610f306119c0565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610fb957600080fd5b505af1158015610f21573d6000803e3d6000fd5b333014611006576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61077d8787878787878761076e565b73ffffffffffffffffffffffffffffffffffffffff87163014611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f216f41707000000000000000000000000000000000000000000000000000000060448201526064016106f4565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21656e64706f696e74000000000000000000000000000000000000000000000060448201526064016106f4565b600061113f8686611cc5565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8216016111895760016004600082825461117e9190612f5e565b909155506112e09050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60ff82160161127e576001600460008282546111c69190612f5e565b90915550600090506111d88787611ce7565b90506111e381611c27565b600061123662030d40600061122f604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9190611d0a565b9050611276826112596001600560149054906101000a900463ffffffff16611a96565b836040518060400160405280348152602001600081525030611b0f565b5050506112e0565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c6964206d657373616765207479706500000000000000000000000060448201526064016106f4565b5050505050505050565b600080600061134b8761130f88600560149054906101000a900463ffffffff16611a96565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611d8b915050565b8051602090910151909890975095505050505050565b6113696119c0565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200160405180910390a150565b6113ea6119c0565b73ffffffffffffffffffffffffffffffffffffffff811661148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106f4565b61149681611c50565b50565b60055473ffffffffffffffffffffffffffffffffffffffff16331461151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611574576040519150601f19603f3d011682016040523d82523d6000602084013e611579565b606091505b5050905080610bb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a207769746864726177206661696c65640000000060448201526064016106f4565b60006020820180359060019083906115fc9086612904565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff81166000908152600160205260408120548061097c576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff841660048201526024016106f4565b61169961167f6020890189612904565b602089013561169460608b0160408c01612f71565b611e79565b60006116a58686611cc5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff82160161177357600380549060006116e183612f8e565b91905055506116f08686611faf565b341015611759576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4f6d6e69436f756e7465723a20696e73756666696369656e742076616c75650060448201526064016106f4565b61176e61176960208a018a612904565b611fce565b6112e0565b60ff811660021480611788575060ff81166004145b15611865576003805490600061179d83612f8e565b909155506117b3905061176960208a018a612904565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb590129061182e9030908b906000908c908c90600401612fc6565b600060405180830381600087803b15801561184857600080fd5b505af115801561185c573d6000803e3d6000fd5b505050506112e0565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff82160161127e576003805490600061189f83612f8e565b909155506118b5905061176960208a018a612904565b6118ca6118c560208a018a612904565b611c27565b600061191662030d40600a61122f604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b90506119b961192860208b018b612904565b600554604080517f010000000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090920460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166021830152600a6025808401919091528151808403909101815260459092019052611259565b50506112e0565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106f4565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6040517fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e083901b1660218201526060906025015b604051602081830303815290604052905092915050565b611b17612677565b6000611b268460000151611fef565b602085015190915015611b4057611b408460200151612031565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611b9d8c61161a565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611bd9929190613006565b60806040518083038185885af1158015611bf7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c1c91906130f9565b979650505050505050565b63ffffffff81166000908152600960205260408120805491611c4883612f8e565b919050555050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611cd46001828486613161565b611cdd9161318b565b60f81c9392505050565b6000611cf7600560018486613161565b611d00916131d3565b60e01c9392505050565b6060836003611d1a826000612153565b61ffff1614611d6757611d2e816000612153565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff90911660048201526024016106f4565b6000611d7385856121d3565b9050611d8186600183612273565b9695505050505050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff168152602001611dfb8961161a565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611e30929190613006565b6040805180830381865afa158015611e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e709190613219565b95945050505050565b63ffffffff8316600090815260066020908152604080832085845290915290205460075467ffffffffffffffff9091169060ff1615611f3957611ebd816001612cab565b67ffffffffffffffff168267ffffffffffffffff1614611f39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4170703a20696e76616c6964206e6f6e63650000000000000000000000000060448201526064016106f4565b8067ffffffffffffffff168267ffffffffffffffff161115610cc35763ffffffff841660009081526006602090815260408083208684529091529020805467ffffffffffffffff84167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911617905550505050565b6000611fbe8260058186613161565b611fc791613235565b9392505050565b63ffffffff81166000908152600860205260408120805491611c4883612f8e565b60008134101561202d576040517f9f7041200000000000000000000000000000000000000000000000000000000081523460048201526024016106f4565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561209e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c29190613271565b905073ffffffffffffffffffffffffffffffffffffffff8116612111576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61079873ffffffffffffffffffffffffffffffffffffffff8216337f0000000000000000000000000000000000000000000000000000000000000000856122de565b6000612160826002612f5e565b835110156121ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e647300000000000000000000000060448201526064016106f4565b50016002015190565b60606fffffffffffffffffffffffffffffffff82161561223c57604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608086811b8216602084015285901b16603082015201604051602081830303815290604052611fc7565b6040517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b166020820152603001611af8565b6060836003612283826000612153565b61ffff161461229757611d2e816000612153565b8460016122a48551612373565b6122af90600161328e565b86866040516020016122c59594939291906132a9565b6040516020818303038152906040529150509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610cc3908590612407565b600061ffff82111561202d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f362062697473000000000000000000000000000000000000000000000000000060648201526084016106f4565b6000612469826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166125169092919063ffffffff16565b905080516000148061248a57508080602001905181019061248a9190613342565b610bb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106f4565b6060610c3e8484600085856000808673ffffffffffffffffffffffffffffffffffffffff16858760405161254a919061335f565b60006040518083038185875af1925050503d8060008114612587576040519150601f19603f3d011682016040523d82523d6000602084013e61258c565b606091505b5091509150611c1c878383876060831561262e5782516000036126275773ffffffffffffffffffffffffffffffffffffffff85163b612627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106f4565b5081610c3e565b610c3e83838151156126435781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f49190612f4b565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016126ba604051806040016040528060008152602001600081525090565b905290565b6000606082840312156126d157600080fd5b50919050565b60008083601f8401126126e957600080fd5b50813567ffffffffffffffff81111561270157600080fd5b60208301915083602082850101111561271957600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461149657600080fd5b600080600080600080600060e0888a03121561275d57600080fd5b61276789896126bf565b965060608801359550608088013567ffffffffffffffff8082111561278b57600080fd5b6127978b838c016126d7565b909750955060a08a013591506127ac82612720565b90935060c089013590808211156127c257600080fd5b506127cf8a828b016126d7565b989b979a50959850939692959293505050565b803563ffffffff811681146127f657600080fd5b919050565b6000806040838503121561280e57600080fd5b612817836127e2565b946020939093013593505050565b60008083601f84011261283757600080fd5b50813567ffffffffffffffff81111561284f57600080fd5b6020830191508360208260051b850101111561271957600080fd5b6000806000806000806060878903121561288357600080fd5b863567ffffffffffffffff8082111561289b57600080fd5b6128a78a838b01612825565b909850965060208901359150808211156128c057600080fd5b6128cc8a838b01612825565b909650945060408901359150808211156128e557600080fd5b506128f289828a01612825565b979a9699509497509295939492505050565b60006020828403121561291657600080fd5b611fc7826127e2565b801515811461149657600080fd5b60006020828403121561293f57600080fd5b8135611fc78161291f565b60006020828403121561295c57600080fd5b8135611fc781612720565b67ffffffffffffffff8116811461149657600080fd5b60008060006060848603121561299257600080fd5b61299b846127e2565b92506020840135915060408401356129b281612967565b809150509250925092565b60008060008060a085870312156129d357600080fd5b6129dd86866126bf565b9350606085013567ffffffffffffffff8111156129f957600080fd5b612a05878288016126d7565b9094509250506080850135612a1981612720565b939692955090935050565b803560ff811681146127f657600080fd5b60008060008060608587031215612a4b57600080fd5b612a54856127e2565b9350612a6260208601612a24565b9250604085013567ffffffffffffffff811115612a7e57600080fd5b612a8a878288016126d7565b95989497509550505050565b60008060208385031215612aa957600080fd5b823567ffffffffffffffff811115612ac057600080fd5b612acc85828601612825565b90969095509350505050565b600080600080600080600060a0888a031215612af357600080fd5b8735612afe81612720565b965060208801359550604088013567ffffffffffffffff80821115612b2257600080fd5b612b2e8b838c016126d7565b909750955060608a01359150612b4382612720565b909350608089013590808211156127c257600080fd5b60008060408385031215612b6c57600080fd5b823561281781612720565b600060608284031215612b8957600080fd5b611fc783836126bf565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561097c5761097c612b93565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612c1657600080fd5b611fc782612a24565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c5457600080fd5b83018035915067ffffffffffffffff821115612c6f57600080fd5b60200191503681900382131561271957600080fd5b600067ffffffffffffffff808316818103612ca157612ca1612b93565b6001019392505050565b67ffffffffffffffff818116838216019080821115612ccc57612ccc612b93565b5092915050565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612d0757600080fd5b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff612d68896127e2565b1681526020880135602082015260006040890135612d8581612967565b67ffffffffffffffff811660408401525087606083015260e06080830152612db160e083018789612d11565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612de0818587612d11565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015612e38578181015183820152602001612e20565b50506000910152565b600060208284031215612e5357600080fd5b815167ffffffffffffffff80821115612e6b57600080fd5b818401915084601f830112612e7f57600080fd5b815181811115612e9157612e91612dee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ed757612ed7612dee565b81604052828152876020848701011115612ef057600080fd5b611c1c836020830160208801612e1d565b60008151808452612f19816020860160208601612e1d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fc76020830184612f01565b8082018082111561097c5761097c612b93565b600060208284031215612f8357600080fd5b8135611fc781612967565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fbf57612fbf612b93565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015261ffff84166040820152608060608201526000611c1c608083018486612d11565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261303c60e0840182612f01565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526130778282612f01565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b6000604082840312156130bc57600080fd5b6040516040810181811067ffffffffffffffff821117156130df576130df612dee565b604052825181526020928301519281019290925250919050565b60006080828403121561310b57600080fd5b6040516060810181811067ffffffffffffffff8211171561312e5761312e612dee565b60405282518152602083015161314381612967565b602082015261315584604085016130aa565b60408201529392505050565b6000808585111561317157600080fd5b8386111561317e57600080fd5b5050820193919092039150565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156131cb5780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156131cb5760049490940360031b84901b1690921692915050565b60006040828403121561322b57600080fd5b611fc783836130aa565b8035602083101561097c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561328357600080fd5b8151611fc781612720565b61ffff818116838216019080821115612ccc57612ccc612b93565b600086516132bb818460208b01612e1d565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b166003830152508351613333816004840160208801612e1d565b01600401979650505050505050565b60006020828403121561335457600080fd5b8151611fc78161291f565b60008251612d07818460208701612e1d56fea264697066735822122071df9779a99432656fb94b662cd3eb1247cf0ed379ec189caed8ad4af4cf049f64736f6c63430008160033";
41859
+ static readonly bytecode = "0x60a06040523480156200001157600080fd5b5060405162003656380380620036568339810160408190526200003491620001ed565b818181818181620000453362000180565b6001600160a01b0380831660805281166200007357604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000bb57600080fd5b505af1158015620000d0573d6000803e3d6000fd5b5050600580546001600160a01b0319163317905550506040805163416ecebf60e01b815290516001600160a01b038816955063416ecebf9450600480830194506020935090918290030181865afa15801562000130573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000156919062000225565b600560146101000a81548163ffffffff021916908363ffffffff1602179055505050505062000254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620001e857600080fd5b919050565b600080604083850312156200020157600080fd5b6200020c83620001d0565b91506200021c60208401620001d0565b90509250929050565b6000602082840312156200023857600080fd5b815163ffffffff811681146200024d57600080fd5b9392505050565b6080516133a7620002af600039600081816103a40152818161068901528181610adc01528181610f75015281816110ac015281816117f001528181611b4201528181611da101528181612035015261212e01526133a76000f3fe6080604052600436106101e75760003560e01c80637d25a05e1161010e578063ca5eb5e1116100a7578063d424388511610079578063f3fef3a311610061578063f3fef3a31461061a578063f851a4401461063a578063ff7bd03d1461066757005b8063d4243885146105da578063f2fde38b146105fa57005b8063ca5eb5e11461055f578063d045a0dc1461057f578063d0a1026014610592578063d22446ce146105a557005b8063b7abbb5d116100e0578063b7abbb5d146104f9578063bb0b6a531461050c578063bd815db014610539578063c95c55be1461054c57005b80637d25a05e1461044857806382413eac146104815780638da5cb5b146104a1578063b731ea0a146104cc57005b806356a4728911610180578063622f17f611610152578063622f17f6146103c6578063704b6c02146103f35780637112f86f14610413578063715018a61461043357005b806356a47289146103155780635a0dfe4d146103425780635b849af6146103725780635e280f111461039257005b80633400288b116101b95780633400288b14610264578063416ecebf1461028457806352ae2879146102ce578063542e7b561461030257005b806306661abd146101f057806313137d651461021957806317442b701461022c578063257f4e051461024e57005b366101ee57005b005b3480156101fc57600080fd5b5061020660035481565b6040519081526020015b60405180910390f35b6101ee610227366004612742565b610687565b34801561023857600080fd5b5060408051600181526002602082015201610210565b34801561025a57600080fd5b5061020660045481565b34801561027057600080fd5b506101ee61027f3660046127fb565b610786565b34801561029057600080fd5b506005546102b99074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610210565b3480156102da57600080fd5b50305b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610210565b6101ee61031036600461286a565b61079c565b34801561032157600080fd5b50610206610330366004612904565b60086020526000908152604090205481565b34801561034e57600080fd5b5061036261035d3660046127fb565b610963565b6040519015158152602001610210565b34801561037e57600080fd5b506101ee61038d36600461292d565b610982565b34801561039e57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d257600080fd5b506102066103e1366004612904565b60096020526000908152604090205481565b3480156103ff57600080fd5b506101ee61040e36600461294a565b6109bb565b34801561041f57600080fd5b506101ee61042e36600461297d565b610a83565b34801561043f57600080fd5b506101ee610bbd565b34801561045457600080fd5b506104686104633660046127fb565b610bd1565b60405167ffffffffffffffff9091168152602001610210565b34801561048d57600080fd5b5061036261049c3660046129bd565b610c24565b3480156104ad57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166102dd565b3480156104d857600080fd5b506002546102dd9073ffffffffffffffffffffffffffffffffffffffff1681565b6101ee610507366004612a35565b610c46565b34801561051857600080fd5b50610206610527366004612904565b60016020526000908152604090205481565b6101ee610547366004612a96565b610cc9565b6101ee61055a366004612a35565b610e80565b34801561056b57600080fd5b506101ee61057a36600461294a565b610f28565b6101ee61058d366004612742565b610fcd565b6101ee6105a0366004612ad8565b611015565b3480156105b157600080fd5b506105c56105c0366004612a35565b6112ea565b60408051928352602083019190915201610210565b3480156105e657600080fd5b506101ee6105f536600461294a565b611361565b34801561060657600080fd5b506101ee61061536600461294a565b6113e2565b34801561062657600080fd5b506101ee610635366004612b59565b611499565b34801561064657600080fd5b506005546102dd9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561067357600080fd5b50610362610682366004612b77565b6115e4565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146106fd576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6020870180359061071790610712908a612904565b61161a565b1461076e576107296020880188612904565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602088013560248201526044016106f4565b61077d8787878787878761166f565b50505050505050565b61078e6119c0565b6107988282611a41565b5050565b84811480156107aa57508483145b610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a206c656e677468206d69736d617463680000000060448201526064016106f4565b610818612677565b3460005b8781101561095857600061083160018a612bc2565b821461083d573061083f565b335b905060008a8a8481811061085557610855612bd5565b905060200201602081019061086a9190612904565b9050600089898581811061088057610880612bd5565b90506020020160208101906108959190612c04565b905061092c826108b783600560149054906101000a900463ffffffff16611a96565b8a8a888181106108c9576108c9612bd5565b90506020028101906108db9190612c1f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091528d815260208101919091529250899150611b0f9050565b955061093782611c27565b6040860151516109479086612bc2565b9450506001909201915061081c9050565b505050505050505050565b63ffffffff821660009081526001602052604090205481145b92915050565b61098a6119c0565b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314610a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610a8b6119c0565b6040517fd70b890200000000000000000000000000000000000000000000000000000000815230600482015263ffffffff841660248201526044810183905267ffffffffffffffff821660648201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d70b890290608401600060405180830381600087803b158015610b3557600080fd5b505af1158015610b49573d6000803e3d6000fd5b505060075460ff16159150610bb890505763ffffffff831660009081526006602090815260408083208584529091528120805467ffffffffffffffff1691610b9083612c84565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b505050565b610bc56119c0565b610bcf6000611c50565b565b60075460009060ff1615610c1c5763ffffffff83166000908152600660209081526040808320858452909152902054610c159067ffffffffffffffff166001612cab565b905061097c565b50600061097c565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610cb984610c6685600560149054906101000a900463ffffffff16611a96565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805180820190915234815260208101919091529250339150611b0f9050565b50610cc384611c27565b50505050565b60005b81811015610dbb5736838383818110610ce757610ce7612bd5565b9050602002810190610cf99190612cd3565b9050610d15610d0b6020830183612904565b6020830135610963565b610d1f5750610db3565b3063d045a0dc60c08301358360a0810135610d3e610100830183612c1f565b610d4f610100890160e08a0161294a565b610d5d6101208a018a612c1f565b6040518963ffffffff1660e01b8152600401610d7f9796959493929190612d5a565b6000604051808303818588803b158015610d9857600080fd5b505af1158015610dac573d6000803e3d6000fd5b5050505050505b600101610ccc565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e07573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610e4d9190810190612e41565b6040517f8351eea70000000000000000000000000000000000000000000000000000000081526004016106f49190612f4b565b60055473ffffffffffffffffffffffffffffffffffffffff163314610f01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b610f2184610c6685600560149054906101000a900463ffffffff16611a96565b5050505050565b610f306119c0565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610fb957600080fd5b505af1158015610f21573d6000803e3d6000fd5b333014611006576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61077d8787878787878761076e565b73ffffffffffffffffffffffffffffffffffffffff87163014611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f216f41707000000000000000000000000000000000000000000000000000000060448201526064016106f4565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21656e64706f696e74000000000000000000000000000000000000000000000060448201526064016106f4565b600061113f8686611cc5565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8216016111895760016004600082825461117e9190612f5e565b909155506112e09050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60ff82160161127e576001600460008282546111c69190612f5e565b90915550600090506111d88787611ce7565b90506111e381611c27565b600061123662030d40600061122f604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9190611d0a565b9050611276826112596001600560149054906101000a900463ffffffff16611a96565b836040518060400160405280348152602001600081525030611b0f565b5050506112e0565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c6964206d657373616765207479706500000000000000000000000060448201526064016106f4565b5050505050505050565b600080600061134b8761130f88600560149054906101000a900463ffffffff16611a96565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611d8b915050565b8051602090910151909890975095505050505050565b6113696119c0565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200160405180910390a150565b6113ea6119c0565b73ffffffffffffffffffffffffffffffffffffffff811661148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106f4565b61149681611c50565b50565b60055473ffffffffffffffffffffffffffffffffffffffff16331461151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611574576040519150601f19603f3d011682016040523d82523d6000602084013e611579565b606091505b5050905080610bb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a207769746864726177206661696c65640000000060448201526064016106f4565b60006020820180359060019083906115fc9086612904565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff81166000908152600160205260408120548061097c576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff841660048201526024016106f4565b61169961167f6020890189612904565b602089013561169460608b0160408c01612f71565b611e79565b60006116a58686611cc5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff82160161177357600380549060006116e183612f8e565b91905055506116f08686611faf565b341015611759576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4f6d6e69436f756e7465723a20696e73756666696369656e742076616c75650060448201526064016106f4565b61176e61176960208a018a612904565b611fce565b6112e0565b60ff811660021480611788575060ff81166004145b15611865576003805490600061179d83612f8e565b909155506117b3905061176960208a018a612904565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb590129061182e9030908b906000908c908c90600401612fc6565b600060405180830381600087803b15801561184857600080fd5b505af115801561185c573d6000803e3d6000fd5b505050506112e0565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff82160161127e576003805490600061189f83612f8e565b909155506118b5905061176960208a018a612904565b6118ca6118c560208a018a612904565b611c27565b600061191662030d40600a61122f604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b90506119b961192860208b018b612904565b600554604080517f010000000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090920460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166021830152600a6025808401919091528151808403909101815260459092019052611259565b50506112e0565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106f4565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6040517fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e083901b1660218201526060906025015b604051602081830303815290604052905092915050565b611b17612677565b6000611b268460000151611fef565b602085015190915015611b4057611b408460200151612031565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611b9d8c61161a565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611bd9929190613006565b60806040518083038185885af1158015611bf7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c1c91906130f9565b979650505050505050565b63ffffffff81166000908152600960205260408120805491611c4883612f8e565b919050555050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611cd46001828486613161565b611cdd9161318b565b60f81c9392505050565b6000611cf7600560018486613161565b611d00916131d3565b60e01c9392505050565b6060836003611d1a826000612153565b61ffff1614611d6757611d2e816000612153565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff90911660048201526024016106f4565b6000611d7385856121d3565b9050611d8186600183612273565b9695505050505050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff168152602001611dfb8961161a565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611e30929190613006565b6040805180830381865afa158015611e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e709190613219565b95945050505050565b63ffffffff8316600090815260066020908152604080832085845290915290205460075467ffffffffffffffff9091169060ff1615611f3957611ebd816001612cab565b67ffffffffffffffff168267ffffffffffffffff1614611f39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4170703a20696e76616c6964206e6f6e63650000000000000000000000000060448201526064016106f4565b8067ffffffffffffffff168267ffffffffffffffff161115610cc35763ffffffff841660009081526006602090815260408083208684529091529020805467ffffffffffffffff84167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911617905550505050565b6000611fbe8260058186613161565b611fc791613235565b9392505050565b63ffffffff81166000908152600860205260408120805491611c4883612f8e565b60008134101561202d576040517f9f7041200000000000000000000000000000000000000000000000000000000081523460048201526024016106f4565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561209e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c29190613271565b905073ffffffffffffffffffffffffffffffffffffffff8116612111576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61079873ffffffffffffffffffffffffffffffffffffffff8216337f0000000000000000000000000000000000000000000000000000000000000000856122de565b6000612160826002612f5e565b835110156121ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e647300000000000000000000000060448201526064016106f4565b50016002015190565b60606fffffffffffffffffffffffffffffffff82161561223c57604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608086811b8216602084015285901b16603082015201604051602081830303815290604052611fc7565b6040517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b166020820152603001611af8565b6060836003612283826000612153565b61ffff161461229757611d2e816000612153565b8460016122a48551612373565b6122af90600161328e565b86866040516020016122c59594939291906132a9565b6040516020818303038152906040529150509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610cc3908590612407565b600061ffff82111561202d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f362062697473000000000000000000000000000000000000000000000000000060648201526084016106f4565b6000612469826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166125169092919063ffffffff16565b905080516000148061248a57508080602001905181019061248a9190613342565b610bb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106f4565b6060610c3e8484600085856000808673ffffffffffffffffffffffffffffffffffffffff16858760405161254a919061335f565b60006040518083038185875af1925050503d8060008114612587576040519150601f19603f3d011682016040523d82523d6000602084013e61258c565b606091505b5091509150611c1c878383876060831561262e5782516000036126275773ffffffffffffffffffffffffffffffffffffffff85163b612627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106f4565b5081610c3e565b610c3e83838151156126435781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f49190612f4b565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016126ba604051806040016040528060008152602001600081525090565b905290565b6000606082840312156126d157600080fd5b50919050565b60008083601f8401126126e957600080fd5b50813567ffffffffffffffff81111561270157600080fd5b60208301915083602082850101111561271957600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461149657600080fd5b600080600080600080600060e0888a03121561275d57600080fd5b61276789896126bf565b965060608801359550608088013567ffffffffffffffff8082111561278b57600080fd5b6127978b838c016126d7565b909750955060a08a013591506127ac82612720565b90935060c089013590808211156127c257600080fd5b506127cf8a828b016126d7565b989b979a50959850939692959293505050565b803563ffffffff811681146127f657600080fd5b919050565b6000806040838503121561280e57600080fd5b612817836127e2565b946020939093013593505050565b60008083601f84011261283757600080fd5b50813567ffffffffffffffff81111561284f57600080fd5b6020830191508360208260051b850101111561271957600080fd5b6000806000806000806060878903121561288357600080fd5b863567ffffffffffffffff8082111561289b57600080fd5b6128a78a838b01612825565b909850965060208901359150808211156128c057600080fd5b6128cc8a838b01612825565b909650945060408901359150808211156128e557600080fd5b506128f289828a01612825565b979a9699509497509295939492505050565b60006020828403121561291657600080fd5b611fc7826127e2565b801515811461149657600080fd5b60006020828403121561293f57600080fd5b8135611fc78161291f565b60006020828403121561295c57600080fd5b8135611fc781612720565b67ffffffffffffffff8116811461149657600080fd5b60008060006060848603121561299257600080fd5b61299b846127e2565b92506020840135915060408401356129b281612967565b809150509250925092565b60008060008060a085870312156129d357600080fd5b6129dd86866126bf565b9350606085013567ffffffffffffffff8111156129f957600080fd5b612a05878288016126d7565b9094509250506080850135612a1981612720565b939692955090935050565b803560ff811681146127f657600080fd5b60008060008060608587031215612a4b57600080fd5b612a54856127e2565b9350612a6260208601612a24565b9250604085013567ffffffffffffffff811115612a7e57600080fd5b612a8a878288016126d7565b95989497509550505050565b60008060208385031215612aa957600080fd5b823567ffffffffffffffff811115612ac057600080fd5b612acc85828601612825565b90969095509350505050565b600080600080600080600060a0888a031215612af357600080fd5b8735612afe81612720565b965060208801359550604088013567ffffffffffffffff80821115612b2257600080fd5b612b2e8b838c016126d7565b909750955060608a01359150612b4382612720565b909350608089013590808211156127c257600080fd5b60008060408385031215612b6c57600080fd5b823561281781612720565b600060608284031215612b8957600080fd5b611fc783836126bf565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561097c5761097c612b93565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612c1657600080fd5b611fc782612a24565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c5457600080fd5b83018035915067ffffffffffffffff821115612c6f57600080fd5b60200191503681900382131561271957600080fd5b600067ffffffffffffffff808316818103612ca157612ca1612b93565b6001019392505050565b67ffffffffffffffff818116838216019080821115612ccc57612ccc612b93565b5092915050565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612d0757600080fd5b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff612d68896127e2565b1681526020880135602082015260006040890135612d8581612967565b67ffffffffffffffff811660408401525087606083015260e06080830152612db160e083018789612d11565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612de0818587612d11565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015612e38578181015183820152602001612e20565b50506000910152565b600060208284031215612e5357600080fd5b815167ffffffffffffffff80821115612e6b57600080fd5b818401915084601f830112612e7f57600080fd5b815181811115612e9157612e91612dee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ed757612ed7612dee565b81604052828152876020848701011115612ef057600080fd5b611c1c836020830160208801612e1d565b60008151808452612f19816020860160208601612e1d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fc76020830184612f01565b8082018082111561097c5761097c612b93565b600060208284031215612f8357600080fd5b8135611fc781612967565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fbf57612fbf612b93565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015261ffff84166040820152608060608201526000611c1c608083018486612d11565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261303c60e0840182612f01565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526130778282612f01565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b6000604082840312156130bc57600080fd5b6040516040810181811067ffffffffffffffff821117156130df576130df612dee565b604052825181526020928301519281019290925250919050565b60006080828403121561310b57600080fd5b6040516060810181811067ffffffffffffffff8211171561312e5761312e612dee565b60405282518152602083015161314381612967565b602082015261315584604085016130aa565b60408201529392505050565b6000808585111561317157600080fd5b8386111561317e57600080fd5b5050820193919092039150565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156131cb5780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156131cb5760049490940360031b84901b1690921692915050565b60006040828403121561322b57600080fd5b611fc783836130aa565b8035602083101561097c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561328357600080fd5b8151611fc781612720565b61ffff818116838216019080821115612ccc57612ccc612b93565b600086516132bb818460208b01612e1d565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b166003830152508351613333816004840160208801612e1d565b01600401979650505050505050565b60006020828403121561335457600080fd5b8151611fc78161291f565b60008251612d07818460208701612e1d56fea2646970667358221220ea1e4db0f76b8a2860a3aa0e6411266eac3fccc97acdc8a3af7e1294855f6f6c64736f6c63430008160033";
41716
41860
  static readonly abi: readonly [{
41717
41861
  readonly inputs: readonly [{
41718
41862
  readonly internalType: "address";
@@ -43127,7 +43271,7 @@ declare class OmniCounterPreCrime__factory extends ContractFactory {
43127
43271
  }): TransactionRequest;
43128
43272
  attach(address: string): OmniCounterPreCrime;
43129
43273
  connect(signer: Signer): OmniCounterPreCrime__factory;
43130
- static readonly bytecode = "0x60e06040523480156200001157600080fd5b5060405162002da338038062002da383398101604081905262000034916200013c565b81816200004133620000cf565b6001600160a01b03808316608052811660a0819052604080516352ae287960e01b815290516352ae2879916004808201926020929091908290030181865afa15801562000092573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b8919062000174565b6001600160a01b031660c052506200019992505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200013757600080fd5b919050565b600080604083850312156200015057600080fd5b6200015b836200011f565b91506200016b602084016200011f565b90509250929050565b6000602082840312156200018757600080fd5b62000192826200011f565b9392505050565b60805160a05160c051612bb7620001ec6000396000818161018d0152611b9b01526000818161029f015281816105f0015281816111d90152611384015260008181611a2f0152611bd90152612bb76000f3fe6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063f0cd3836146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806352ae2879116100bb57806352ae28791461017b57806354fd4d50146101d4578063715018a6146101f65780638da5cb5b1461020b57600080fd5b806310f9cf3a146100e25780632913daa01461010457806350dfa9371461015b575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046120c1565b610321565b005b34801561011057600080fd5b5060005461013d9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b61016e61016936600461215b565b610539565b6040516101529190612235565b34801561018757600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b3480156101e057600080fd5b5060408051600281526000602082015201610152565b34801561020257600080fd5b506101026105d4565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101af565b34801561024257600080fd5b5061016e6105e8565b34801561025757600080fd5b5061010261026636600461225e565b610859565b34801561027757600080fd5b506102806108b4565b604051610152919061227b565b34801561029957600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b5061016e6102dc36600461215b565b610933565b3480156102ed57600080fd5b506101026102fc3660046122da565b610bd0565b34801561030d57600080fd5b5061010261031c366004612310565b610c8c565b3361dead1461035c576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061039c8787878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b905060008267ffffffffffffffff8111156103b9576103b9612385565b6040519080825280602002602001820160405280156103e2578160200160208202803683370190505b50905060008367ffffffffffffffff81111561040057610400612385565b60405190808252806020026020018201604052801561043357816020015b606081526020019060019003908161041e5790505b50905060005b8481101561051857366000878784818110610456576104566123b4565b905060200281019061046891906123e3565b909250905061047b600460008385612448565b61048491612472565b60e01c858481518110610499576104996123b4565b63ffffffff909216602092830291909101909101526104bb8160048185612448565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505086518792508691508110610503576105036123b4565b60209081029190910101525050600101610439565b506105238383610e6a565b61052e838383610f54565b505050505050505050565b60603361dead14610576576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105b68686868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b90506105c1816110d2565b6105ca8161137d565b9695505050505050565b6105dc6114e4565b6105e66000611565565b565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff81111561062d5761062d612385565b60405190808252806020026020018201604052801561068857816020015b6106756040518060600160405280600063ffffffff16815260200160008152602001600081525090565b81526020019060019003908161064b5790505b50905060005b600154811015610830576000600182815481106106ad576106ad6123b4565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b91906124ba565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa1580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080791906124ba565b81525083838151811061081c5761081c6123b4565b60209081029190910101525060010161068e565b5080604051602001610842919061227b565b604051602081830303815290604052935050505090565b6108616114e4565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561092a5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016108d8565b50505050905090565b60603361dead14610970576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060008515610a6557610a60610a5b8888888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b6115da565b610ade565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610ad95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610a87565b505050505b805190915015610bc6578051604051610afd90849083906020016124d3565b604051602081830303815290604052925060005b8161ffff16811015610bc35783838281518110610b3057610b306123b4565b602002602001015160000151848381518110610b4e57610b4e6123b4565b602002602001015160200151858481518110610b6c57610b6c6123b4565b602002602001015160400151604051602001610b8b949392919061251d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529350600101610b11565b50505b5095945050505050565b610bd86114e4565b73ffffffffffffffffffffffffffffffffffffffff8116610c80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c8981611565565b50565b610c946114e4565b610ca060016000612017565b60005b81811015610cf7576001838383818110610cbf57610cbf6123b4565b835460018101855560009485526020909420606090910292909201926003029091019050610ced8282612586565b5050600101610ca3565b505050565b60608267ffffffffffffffff811115610d1757610d17612385565b604051908082528060200260200182016040528015610dbd57816020015b604080516101608101825260006101008201818152610120830182905261014083018290528252602080830182905292820181905260608083018290526080830182905260a083019190915260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610d355790505b50905060005b83811015610e6257366000868684818110610de057610de06123b4565b9050602002810190610df291906123e3565b91509150610e0082826118a1565b848481518110610e1257610e126123b4565b6020026020010181905250848381518110610e2f57610e2f6123b4565b6020026020010151848481518110610e4957610e496123b4565b6020908102919091010151608001525050600101610dc3565b509392505050565b815115610f00576000610e7c836115da565b905060005b8151811015610efd576000828281518110610e9e57610e9e6123b4565b6020026020010151600001519050610eb684826119d4565b610ef4576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b50600101610e81565b50505b6000610f0a611a2b565b9050610f1682826119d4565b610cf7576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b6000610f5e611a2b565b9050606060005b8451811015610fd6578263ffffffff16858281518110610f8757610f876123b4565b602002602001015163ffffffff1603610fce57838181518110610fac57610fac6123b4565b6020026020010151806020019051810190610fc79190612650565b9150610fd6565b600101610f65565b5060005b84518110156110ca576000858281518110610ff757610ff76123b4565b602002602001015190506000858381518110611015576110156123b4565b60200260200101518060200190518101906110309190612650565b9050600061103e8584611ac1565b509050600061104d8388611ac1565b915050808211156110ba576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610c77565b505060019092019150610fda9050565b505050505050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff1610156111605760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610c77565b805115610c895760008080805b845181101561137657600085828151811061118a5761118a6123b4565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611259919061272d565b611263575061136e565b80515163ffffffff80871691161080611295575080515163ffffffff8681169116148015611295575080516020015184115b156112cc576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80515163ffffffff86811691161415806112eb57508051602001518414155b1561130c578051805160209091015190955093506113098585611b5e565b92505b6113158361277e565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff161461136c576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60010161116d565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163463bd815db060e01b866040516024016113d391906127a5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161145c919061290b565b60006040518083038185875af1925050503d8060008114611499576040519150601f19603f3d011682016040523d82523d6000602084013e61149e565b606091505b509150915060006114af8383611c4d565b90506114b9611a2b565b816040516020016114cb929190612927565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c77565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006001805480602002602001604051908101604052809291908181526020016000905b828210156116525760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101611600565b5050505090506000835167ffffffffffffffff81111561167457611674612385565b6040519080825280602002602001820160405280156116dd57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116925790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156117af576000868281518110611721576117216123b4565b602002602001015160000151600001519050600061173f8683611d6c565b90506000811215801561175b575060006117598684611d6c565b125b156117a5578361176a81612972565b94505085818151811061177f5761177f6123b4565b6020026020010151858581518110611799576117996123b4565b60200260200101819052505b5050600101611704565b50600081126118995760006117c58260016129aa565b90508067ffffffffffffffff8111156117e0576117e0612385565b60405190808252806020026020018201604052801561184957816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117fe5790505b50945060005b8181101561189657838181518110611869576118696123b4565b6020026020010151868281518110611883576118836123b4565b602090810291909101015260010161184f565b50505b505050919050565b6040805161016081018252600061010082018181526101208301829052610140830182905282526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915260405180606001604052806119108585611de1565b63ffffffff1681526020016119258585611e04565b81526020016119348585611e1d565b67ffffffffffffffff169052815261194c8383611e40565b63ffffffff1660208201526119618383611e50565b73ffffffffffffffffffffffffffffffffffffffff1660408201526119868383611e62565b60608201526119958383611e72565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c082015292915050565b6000805b8351811015611a1f578263ffffffff168482815181106119fa576119fa6123b4565b602002602001015163ffffffff1603611a17576001915050611a25565b6001016119d8565b50600090505b92915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abc91906129bd565b905090565b60008060005b8451811015611b4e578363ffffffff16858281518110611ae957611ae96123b4565b60200260200101516000015163ffffffff1603611b4657848181518110611b1257611b126123b4565b602002602001015160200151858281518110611b3057611b306123b4565b6020026020010151604001519250925050611b57565b600101611ac7565b50600080915091505b9250929050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4691906129da565b9392505050565b60608215611cb7576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610c77565b7f8351eea700000000000000000000000000000000000000000000000000000000611ce1836129f7565b7fffffffff000000000000000000000000000000000000000000000000000000001614611d3c57816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610c779190612235565b611d566004808451611d4e9190612a43565b849190611e8d565b905080806020019051810190611c469190612a56565b6000805b8351811015611db8578263ffffffff16848281518110611d9257611d926123b4565b60200260200101516000015163ffffffff1603611db0579050611a25565b600101611d70565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611df1600d60098486612448565b611dfa91612472565b60e01c9392505050565b6000611e14602d600d8486612448565b611c4691612aff565b6000611e2d600960018486612448565b611e3691612b3b565b60c01c9392505050565b6000611df16031602d8486612448565b6000611c46611e5f8484612007565b90565b6000611e14607160518486612448565b366000611e828360718187612448565b915091509250929050565b606081611e9b81601f6129aa565b1015611f03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610c77565b611f0d82846129aa565b84511015611f77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610c77565b606082158015611f965760405191506000825260208201604052611ffe565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611fcf578051835260209283019201611fb7565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611e14605160318486612448565b5080546000825560030290600052602060002090810190610c8991905b808211156120785780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301612034565b5090565b60008083601f84011261208e57600080fd5b50813567ffffffffffffffff8111156120a657600080fd5b6020830191508360208260051b8501011115611b5757600080fd5b600080600080600080606087890312156120da57600080fd5b863567ffffffffffffffff808211156120f257600080fd5b6120fe8a838b0161207c565b9098509650602089013591508082111561211757600080fd5b6121238a838b0161207c565b9096509450604089013591508082111561213c57600080fd5b5061214989828a0161207c565b979a9699509497509295939492505050565b6000806000806040858703121561217157600080fd5b843567ffffffffffffffff8082111561218957600080fd5b6121958883890161207c565b909650945060208701359150808211156121ae57600080fd5b506121bb8782880161207c565b95989497509550505050565b60005b838110156121e25781810151838201526020016121ca565b50506000910152565b600081518084526122038160208601602086016121c7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611c4660208301846121eb565b67ffffffffffffffff81168114610c8957600080fd5b60006020828403121561227057600080fd5b8135611c4681612248565b602080825282518282018190526000919060409081850190868401855b828110156122cd578151805163ffffffff16855286810151878601528501518585015260609093019290850190600101612298565b5091979650505050505050565b6000602082840312156122ec57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611c4657600080fd5b6000806020838503121561232357600080fd5b823567ffffffffffffffff8082111561233b57600080fd5b818501915085601f83011261234f57600080fd5b81358181111561235e57600080fd5b86602060608302850101111561237357600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261241857600080fd5b83018035915067ffffffffffffffff82111561243357600080fd5b602001915036819003821315611b5757600080fd5b6000808585111561245857600080fd5b8386111561246557600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156124b25780818660040360031b1b83161692505b505092915050565b6000602082840312156124cc57600080fd5b5051919050565b600083516124e58184602088016121c7565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b6000855161252f818460208a016121c7565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610c8957600080fd5b813561259181612574565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6040516060810167ffffffffffffffff811182821017156125fb576125fb612385565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561264857612648612385565b604052919050565b6000602080838503121561266357600080fd5b825167ffffffffffffffff8082111561267b57600080fd5b818501915085601f83011261268f57600080fd5b8151818111156126a1576126a1612385565b6126af848260051b01612601565b818152848101925060609182028401850191888311156126ce57600080fd5b938501935b828510156127215780858a0312156126eb5760008081fd5b6126f36125d8565b85516126fe81612574565b8152858701518782015260408087015190820152845293840193928501926126d3565b50979650505050505050565b60006020828403121561273f57600080fd5b81518015158114611c4657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681810361279b5761279b61274f565b6001019392505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156128fd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08984030185528151610140612831858351805163ffffffff1682526020808201519083015260409081015167ffffffffffffffff16910152565b8882015160606128488188018363ffffffff169052565b89840151915060806128718189018473ffffffffffffffffffffffffffffffffffffffff169052565b9084015160a0888101919091529084015160c08089019190915290840151915060e0906128b58289018473ffffffffffffffffffffffffffffffffffffffff169052565b840151610100880184905291506128ce878401836121eb565b9301518684036101208801529291506128e9905081836121eb565b9689019694505050908601906001016127ce565b509098975050505050505050565b6000825161291d8184602087016121c7565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b168152600082516129648160048501602087016121c7565b919091016004019392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129a3576129a361274f565b5060010190565b80820180821115611a2557611a2561274f565b6000602082840312156129cf57600080fd5b8151611c4681612574565b6000602082840312156129ec57600080fd5b8151611c4681612248565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156118995760049290920360031b82901b161692915050565b81810381811115611a2557611a2561274f565b600060208284031215612a6857600080fd5b815167ffffffffffffffff80821115612a8057600080fd5b818401915084601f830112612a9457600080fd5b815181811115612aa657612aa6612385565b612ad760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612601565b9150808252856020828501011115612aee57600080fd5b611ffe8160208401602086016121c7565b80356020831015611a25577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156124b25760089490940360031b84901b169092169291505056fea2646970667358221220dbf4c7d68c5592cedd23318968acb241f27d4f79675b8735f13d0224635d310464736f6c63430008160033";
43274
+ static readonly bytecode = "0x60e06040523480156200001157600080fd5b5060405162002da338038062002da383398101604081905262000034916200013c565b81816200004133620000cf565b6001600160a01b03808316608052811660a0819052604080516352ae287960e01b815290516352ae2879916004808201926020929091908290030181865afa15801562000092573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b8919062000174565b6001600160a01b031660c052506200019992505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200013757600080fd5b919050565b600080604083850312156200015057600080fd5b6200015b836200011f565b91506200016b602084016200011f565b90509250929050565b6000602082840312156200018757600080fd5b62000192826200011f565b9392505050565b60805160a05160c051612bb7620001ec6000396000818161018d0152611b9b01526000818161029f015281816105f0015281816111d90152611384015260008181611a2f0152611bd90152612bb76000f3fe6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063f0cd3836146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806352ae2879116100bb57806352ae28791461017b57806354fd4d50146101d4578063715018a6146101f65780638da5cb5b1461020b57600080fd5b806310f9cf3a146100e25780632913daa01461010457806350dfa9371461015b575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046120c1565b610321565b005b34801561011057600080fd5b5060005461013d9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b61016e61016936600461215b565b610539565b6040516101529190612235565b34801561018757600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b3480156101e057600080fd5b5060408051600281526000602082015201610152565b34801561020257600080fd5b506101026105d4565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101af565b34801561024257600080fd5b5061016e6105e8565b34801561025757600080fd5b5061010261026636600461225e565b610859565b34801561027757600080fd5b506102806108b4565b604051610152919061227b565b34801561029957600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b5061016e6102dc36600461215b565b610933565b3480156102ed57600080fd5b506101026102fc3660046122da565b610bd0565b34801561030d57600080fd5b5061010261031c366004612310565b610c8c565b3361dead1461035c576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061039c8787878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b905060008267ffffffffffffffff8111156103b9576103b9612385565b6040519080825280602002602001820160405280156103e2578160200160208202803683370190505b50905060008367ffffffffffffffff81111561040057610400612385565b60405190808252806020026020018201604052801561043357816020015b606081526020019060019003908161041e5790505b50905060005b8481101561051857366000878784818110610456576104566123b4565b905060200281019061046891906123e3565b909250905061047b600460008385612448565b61048491612472565b60e01c858481518110610499576104996123b4565b63ffffffff909216602092830291909101909101526104bb8160048185612448565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505086518792508691508110610503576105036123b4565b60209081029190910101525050600101610439565b506105238383610e6a565b61052e838383610f54565b505050505050505050565b60603361dead14610576576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105b68686868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b90506105c1816110d2565b6105ca8161137d565b9695505050505050565b6105dc6114e4565b6105e66000611565565b565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff81111561062d5761062d612385565b60405190808252806020026020018201604052801561068857816020015b6106756040518060600160405280600063ffffffff16815260200160008152602001600081525090565b81526020019060019003908161064b5790505b50905060005b600154811015610830576000600182815481106106ad576106ad6123b4565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b91906124ba565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa1580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080791906124ba565b81525083838151811061081c5761081c6123b4565b60209081029190910101525060010161068e565b5080604051602001610842919061227b565b604051602081830303815290604052935050505090565b6108616114e4565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561092a5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016108d8565b50505050905090565b60603361dead14610970576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060008515610a6557610a60610a5b8888888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b6115da565b610ade565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610ad95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610a87565b505050505b805190915015610bc6578051604051610afd90849083906020016124d3565b604051602081830303815290604052925060005b8161ffff16811015610bc35783838281518110610b3057610b306123b4565b602002602001015160000151848381518110610b4e57610b4e6123b4565b602002602001015160200151858481518110610b6c57610b6c6123b4565b602002602001015160400151604051602001610b8b949392919061251d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529350600101610b11565b50505b5095945050505050565b610bd86114e4565b73ffffffffffffffffffffffffffffffffffffffff8116610c80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c8981611565565b50565b610c946114e4565b610ca060016000612017565b60005b81811015610cf7576001838383818110610cbf57610cbf6123b4565b835460018101855560009485526020909420606090910292909201926003029091019050610ced8282612586565b5050600101610ca3565b505050565b60608267ffffffffffffffff811115610d1757610d17612385565b604051908082528060200260200182016040528015610dbd57816020015b604080516101608101825260006101008201818152610120830182905261014083018290528252602080830182905292820181905260608083018290526080830182905260a083019190915260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610d355790505b50905060005b83811015610e6257366000868684818110610de057610de06123b4565b9050602002810190610df291906123e3565b91509150610e0082826118a1565b848481518110610e1257610e126123b4565b6020026020010181905250848381518110610e2f57610e2f6123b4565b6020026020010151848481518110610e4957610e496123b4565b6020908102919091010151608001525050600101610dc3565b509392505050565b815115610f00576000610e7c836115da565b905060005b8151811015610efd576000828281518110610e9e57610e9e6123b4565b6020026020010151600001519050610eb684826119d4565b610ef4576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b50600101610e81565b50505b6000610f0a611a2b565b9050610f1682826119d4565b610cf7576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b6000610f5e611a2b565b9050606060005b8451811015610fd6578263ffffffff16858281518110610f8757610f876123b4565b602002602001015163ffffffff1603610fce57838181518110610fac57610fac6123b4565b6020026020010151806020019051810190610fc79190612650565b9150610fd6565b600101610f65565b5060005b84518110156110ca576000858281518110610ff757610ff76123b4565b602002602001015190506000858381518110611015576110156123b4565b60200260200101518060200190518101906110309190612650565b9050600061103e8584611ac1565b509050600061104d8388611ac1565b915050808211156110ba576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610c77565b505060019092019150610fda9050565b505050505050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff1610156111605760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610c77565b805115610c895760008080805b845181101561137657600085828151811061118a5761118a6123b4565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611259919061272d565b611263575061136e565b80515163ffffffff80871691161080611295575080515163ffffffff8681169116148015611295575080516020015184115b156112cc576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80515163ffffffff86811691161415806112eb57508051602001518414155b1561130c578051805160209091015190955093506113098585611b5e565b92505b6113158361277e565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff161461136c576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60010161116d565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163463bd815db060e01b866040516024016113d391906127a5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161145c919061290b565b60006040518083038185875af1925050503d8060008114611499576040519150601f19603f3d011682016040523d82523d6000602084013e61149e565b606091505b509150915060006114af8383611c4d565b90506114b9611a2b565b816040516020016114cb929190612927565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c77565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006001805480602002602001604051908101604052809291908181526020016000905b828210156116525760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101611600565b5050505090506000835167ffffffffffffffff81111561167457611674612385565b6040519080825280602002602001820160405280156116dd57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116925790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156117af576000868281518110611721576117216123b4565b602002602001015160000151600001519050600061173f8683611d6c565b90506000811215801561175b575060006117598684611d6c565b125b156117a5578361176a81612972565b94505085818151811061177f5761177f6123b4565b6020026020010151858581518110611799576117996123b4565b60200260200101819052505b5050600101611704565b50600081126118995760006117c58260016129aa565b90508067ffffffffffffffff8111156117e0576117e0612385565b60405190808252806020026020018201604052801561184957816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117fe5790505b50945060005b8181101561189657838181518110611869576118696123b4565b6020026020010151868281518110611883576118836123b4565b602090810291909101015260010161184f565b50505b505050919050565b6040805161016081018252600061010082018181526101208301829052610140830182905282526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915260405180606001604052806119108585611de1565b63ffffffff1681526020016119258585611e04565b81526020016119348585611e1d565b67ffffffffffffffff169052815261194c8383611e40565b63ffffffff1660208201526119618383611e50565b73ffffffffffffffffffffffffffffffffffffffff1660408201526119868383611e62565b60608201526119958383611e72565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c082015292915050565b6000805b8351811015611a1f578263ffffffff168482815181106119fa576119fa6123b4565b602002602001015163ffffffff1603611a17576001915050611a25565b6001016119d8565b50600090505b92915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abc91906129bd565b905090565b60008060005b8451811015611b4e578363ffffffff16858281518110611ae957611ae96123b4565b60200260200101516000015163ffffffff1603611b4657848181518110611b1257611b126123b4565b602002602001015160200151858281518110611b3057611b306123b4565b6020026020010151604001519250925050611b57565b600101611ac7565b50600080915091505b9250929050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4691906129da565b9392505050565b60608215611cb7576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610c77565b7f8351eea700000000000000000000000000000000000000000000000000000000611ce1836129f7565b7fffffffff000000000000000000000000000000000000000000000000000000001614611d3c57816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610c779190612235565b611d566004808451611d4e9190612a43565b849190611e8d565b905080806020019051810190611c469190612a56565b6000805b8351811015611db8578263ffffffff16848281518110611d9257611d926123b4565b60200260200101516000015163ffffffff1603611db0579050611a25565b600101611d70565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611df1600d60098486612448565b611dfa91612472565b60e01c9392505050565b6000611e14602d600d8486612448565b611c4691612aff565b6000611e2d600960018486612448565b611e3691612b3b565b60c01c9392505050565b6000611df16031602d8486612448565b6000611c46611e5f8484612007565b90565b6000611e14607160518486612448565b366000611e828360718187612448565b915091509250929050565b606081611e9b81601f6129aa565b1015611f03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610c77565b611f0d82846129aa565b84511015611f77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610c77565b606082158015611f965760405191506000825260208201604052611ffe565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611fcf578051835260209283019201611fb7565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611e14605160318486612448565b5080546000825560030290600052602060002090810190610c8991905b808211156120785780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301612034565b5090565b60008083601f84011261208e57600080fd5b50813567ffffffffffffffff8111156120a657600080fd5b6020830191508360208260051b8501011115611b5757600080fd5b600080600080600080606087890312156120da57600080fd5b863567ffffffffffffffff808211156120f257600080fd5b6120fe8a838b0161207c565b9098509650602089013591508082111561211757600080fd5b6121238a838b0161207c565b9096509450604089013591508082111561213c57600080fd5b5061214989828a0161207c565b979a9699509497509295939492505050565b6000806000806040858703121561217157600080fd5b843567ffffffffffffffff8082111561218957600080fd5b6121958883890161207c565b909650945060208701359150808211156121ae57600080fd5b506121bb8782880161207c565b95989497509550505050565b60005b838110156121e25781810151838201526020016121ca565b50506000910152565b600081518084526122038160208601602086016121c7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611c4660208301846121eb565b67ffffffffffffffff81168114610c8957600080fd5b60006020828403121561227057600080fd5b8135611c4681612248565b602080825282518282018190526000919060409081850190868401855b828110156122cd578151805163ffffffff16855286810151878601528501518585015260609093019290850190600101612298565b5091979650505050505050565b6000602082840312156122ec57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611c4657600080fd5b6000806020838503121561232357600080fd5b823567ffffffffffffffff8082111561233b57600080fd5b818501915085601f83011261234f57600080fd5b81358181111561235e57600080fd5b86602060608302850101111561237357600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261241857600080fd5b83018035915067ffffffffffffffff82111561243357600080fd5b602001915036819003821315611b5757600080fd5b6000808585111561245857600080fd5b8386111561246557600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156124b25780818660040360031b1b83161692505b505092915050565b6000602082840312156124cc57600080fd5b5051919050565b600083516124e58184602088016121c7565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b6000855161252f818460208a016121c7565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610c8957600080fd5b813561259181612574565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6040516060810167ffffffffffffffff811182821017156125fb576125fb612385565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561264857612648612385565b604052919050565b6000602080838503121561266357600080fd5b825167ffffffffffffffff8082111561267b57600080fd5b818501915085601f83011261268f57600080fd5b8151818111156126a1576126a1612385565b6126af848260051b01612601565b818152848101925060609182028401850191888311156126ce57600080fd5b938501935b828510156127215780858a0312156126eb5760008081fd5b6126f36125d8565b85516126fe81612574565b8152858701518782015260408087015190820152845293840193928501926126d3565b50979650505050505050565b60006020828403121561273f57600080fd5b81518015158114611c4657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681810361279b5761279b61274f565b6001019392505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156128fd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08984030185528151610140612831858351805163ffffffff1682526020808201519083015260409081015167ffffffffffffffff16910152565b8882015160606128488188018363ffffffff169052565b89840151915060806128718189018473ffffffffffffffffffffffffffffffffffffffff169052565b9084015160a0888101919091529084015160c08089019190915290840151915060e0906128b58289018473ffffffffffffffffffffffffffffffffffffffff169052565b840151610100880184905291506128ce878401836121eb565b9301518684036101208801529291506128e9905081836121eb565b9689019694505050908601906001016127ce565b509098975050505050505050565b6000825161291d8184602087016121c7565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b168152600082516129648160048501602087016121c7565b919091016004019392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129a3576129a361274f565b5060010190565b80820180821115611a2557611a2561274f565b6000602082840312156129cf57600080fd5b8151611c4681612574565b6000602082840312156129ec57600080fd5b8151611c4681612248565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156118995760049290920360031b82901b161692915050565b81810381811115611a2557611a2561274f565b600060208284031215612a6857600080fd5b815167ffffffffffffffff80821115612a8057600080fd5b818401915084601f830112612a9457600080fd5b815181811115612aa657612aa6612385565b612ad760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612601565b9150808252856020828501011115612aee57600080fd5b611ffe8160208401602086016121c7565b80356020831015611a25577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156124b25760089490940360031b84901b169092169291505056fea26469706673582212202fa14dd6aaeca31e34e8221b0e8b9ba3a2298ea3e45849a3f743d34a5a51a68664736f6c63430008160033";
43131
43275
  static readonly abi: readonly [{
43132
43276
  readonly inputs: readonly [{
43133
43277
  readonly internalType: "address";
@@ -43494,6 +43638,54 @@ declare class IOAppComputer__factory {
43494
43638
  static connect(address: string, signerOrProvider: Signer | Provider): IOAppComputer;
43495
43639
  }
43496
43640
 
43641
+ declare class IOAppComputerMap__factory {
43642
+ static readonly abi: readonly [{
43643
+ readonly inputs: readonly [{
43644
+ readonly internalType: "bytes";
43645
+ readonly name: "_request";
43646
+ readonly type: "bytes";
43647
+ }, {
43648
+ readonly internalType: "bytes";
43649
+ readonly name: "_response";
43650
+ readonly type: "bytes";
43651
+ }];
43652
+ readonly name: "lzMap";
43653
+ readonly outputs: readonly [{
43654
+ readonly internalType: "bytes";
43655
+ readonly name: "";
43656
+ readonly type: "bytes";
43657
+ }];
43658
+ readonly stateMutability: "view";
43659
+ readonly type: "function";
43660
+ }];
43661
+ static createInterface(): IOAppComputerMapInterface;
43662
+ static connect(address: string, signerOrProvider: Signer | Provider): IOAppComputerMap;
43663
+ }
43664
+
43665
+ declare class IOAppComputerReduce__factory {
43666
+ static readonly abi: readonly [{
43667
+ readonly inputs: readonly [{
43668
+ readonly internalType: "bytes";
43669
+ readonly name: "_cmd";
43670
+ readonly type: "bytes";
43671
+ }, {
43672
+ readonly internalType: "bytes[]";
43673
+ readonly name: "_responses";
43674
+ readonly type: "bytes[]";
43675
+ }];
43676
+ readonly name: "lzReduce";
43677
+ readonly outputs: readonly [{
43678
+ readonly internalType: "bytes";
43679
+ readonly name: "";
43680
+ readonly type: "bytes";
43681
+ }];
43682
+ readonly stateMutability: "view";
43683
+ readonly type: "function";
43684
+ }];
43685
+ static createInterface(): IOAppComputerReduceInterface;
43686
+ static connect(address: string, signerOrProvider: Signer | Provider): IOAppComputerReduce;
43687
+ }
43688
+
43497
43689
  declare class IOAppCore__factory {
43498
43690
  static readonly abi: readonly [{
43499
43691
  readonly inputs: readonly [];
@@ -43850,6 +44042,10 @@ declare class IOAppReceiver__factory {
43850
44042
 
43851
44043
  type index$z_IOAppComposer__factory = IOAppComposer__factory;
43852
44044
  declare const index$z_IOAppComposer__factory: typeof IOAppComposer__factory;
44045
+ type index$z_IOAppComputerMap__factory = IOAppComputerMap__factory;
44046
+ declare const index$z_IOAppComputerMap__factory: typeof IOAppComputerMap__factory;
44047
+ type index$z_IOAppComputerReduce__factory = IOAppComputerReduce__factory;
44048
+ declare const index$z_IOAppComputerReduce__factory: typeof IOAppComputerReduce__factory;
43853
44049
  type index$z_IOAppComputer__factory = IOAppComputer__factory;
43854
44050
  declare const index$z_IOAppComputer__factory: typeof IOAppComputer__factory;
43855
44051
  type index$z_IOAppCore__factory = IOAppCore__factory;
@@ -43861,7 +44057,7 @@ type index$z_IOAppComposer__factory = IOAppComposer__factory;
43861
44057
  type index$z_IOAppReceiver__factory = IOAppReceiver__factory;
43862
44058
  declare const index$z_IOAppReceiver__factory: typeof IOAppReceiver__factory;
43863
44059
  declare namespace index$z {
43864
- export { index$z_IOAppComposer__factory as IOAppComposer__factory, index$z_IOAppComputer__factory as IOAppComputer__factory, index$z_IOAppCore__factory as IOAppCore__factory, index$z_IOAppMsgInspector__factory as IOAppMsgInspector__factory, index$z_IOAppOptionsType3__factory as IOAppOptionsType3__factory, index$z_IOAppReceiver__factory as IOAppReceiver__factory };
44060
+ export { index$z_IOAppComposer__factory as IOAppComposer__factory, index$z_IOAppComputerMap__factory as IOAppComputerMap__factory, index$z_IOAppComputerReduce__factory as IOAppComputerReduce__factory, index$z_IOAppComputer__factory as IOAppComputer__factory, index$z_IOAppCore__factory as IOAppCore__factory, index$z_IOAppMsgInspector__factory as IOAppMsgInspector__factory, index$z_IOAppOptionsType3__factory as IOAppOptionsType3__factory, index$z_IOAppReceiver__factory as IOAppReceiver__factory };
43865
44061
  }
43866
44062
 
43867
44063
  declare class OAppOptionsType3__factory {
@@ -44016,7 +44212,7 @@ declare class OptionsBuilder__factory extends ContractFactory {
44016
44212
  }): TransactionRequest;
44017
44213
  attach(address: string): OptionsBuilder;
44018
44214
  connect(signer: Signer): OptionsBuilder__factory;
44019
- static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e74edfa13f8d3cde19ecb3c92d48dbda7452e87cddfff512372c3ea5e00d82c064736f6c63430008160033";
44215
+ static readonly bytecode = "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220926ab742de4319c2eec30eb50c1825a3cd6f343ea2d2f3657d7770b75aa0220f64736f6c63430008160033";
44020
44216
  static readonly abi: readonly [{
44021
44217
  readonly inputs: readonly [{
44022
44218
  readonly internalType: "uint16";
@@ -77071,4 +77267,4 @@ type index_EndpointV2Alt__factory = EndpointV2Alt__factory;
77071
77267
  export { index_EndpointV2Alt__factory as EndpointV2Alt__factory, index_EndpointV2ViewUpgradeable__factory as EndpointV2ViewUpgradeable__factory, index_EndpointV2View__factory as EndpointV2View__factory, index_EndpointV2__factory as EndpointV2__factory, index_ExecutorFeeLib__factory as ExecutorFeeLib__factory, index_MessageLibBase__factory as MessageLibBase__factory, index_MessageLibManager__factory as MessageLibManager__factory, index_MessagingChannel__factory as MessagingChannel__factory, index_MessagingComposer__factory as MessagingComposer__factory, index_MessagingContext__factory as MessagingContext__factory, index_PriceFeed__factory as PriceFeed__factory, index_ReceiveLibBaseE2__factory as ReceiveLibBaseE2__factory, index_SendLibBaseE2__factory as SendLibBaseE2__factory, index_SendLibBase__factory as SendLibBase__factory, index_Treasury__factory as Treasury__factory, index_Worker__factory as Worker__factory, index$G as decompressor, index$I as executorSol, index$F as interfaces, index$E as libs, index$D as lowlat, index$B as messagelib, index$w as oapp, index$u as oft, index$r as precrime, index$q as proxy, index$H as simpleReadExecutorSol, index$3 as uln, index$1 as upgradeable };
77072
77268
  }
77073
77269
 
77074
- export { type ILayerZeroComposer as $, DecompressorExtension__factory as A, type DVNDecompressor as B, type ComposeSentEvent$2 as C, type DecompressorExtension as D, type EndpointV2 as E, DVNDecompressor__factory as F, type ExecutorDecompressor as G, ExecutorDecompressor__factory as H, EndpointV2__factory as I, EndpointV2Alt__factory as J, EndpointV2View__factory as K, EndpointV2ViewUpgradeable__factory as L, type MessageLibBase as M, type Executor as N, Executor__factory as O, type PacketSentEvent$1 as P, type ILayerZeroEndpointV2$2 as Q, type ReceiveLibBaseE2 as R, type SendLibBase as S, type Treasury as T, ILayerZeroEndpointV2__factory$2 as U, ExecutorFeeLib__factory as V, type Worker as W, IExecutor$2 as X, IExecutor__factory as Y, IExecutorFeeLib$1 as Z, IExecutorFeeLib__factory as _, type PacketVerifiedEvent$1 as a, IOAppMsgInspector__factory as a$, ILayerZeroComposer__factory as a0, type ILayerZeroExecutor as a1, ILayerZeroExecutor__factory as a2, ILayerZeroPriceFeed$1 as a3, ILayerZeroPriceFeed__factory as a4, type ILayerZeroReadExecutor as a5, ILayerZeroReadExecutor__factory as a6, type ILayerZeroReceiver as a7, ILayerZeroReceiver__factory as a8, type ILayerZeroTreasury as a9, MultiCall__factory as aA, type BlockedMessageLib as aB, BlockedMessageLib__factory as aC, type SimpleMessageLib as aD, SimpleMessageLib__factory as aE, MessageLibBase__factory as aF, MessageLibManager__factory as aG, MessagingChannel__factory as aH, MessagingComposer__factory as aI, MessagingContext__factory as aJ, type CmdCodecV1Mock as aK, CmdCodecV1Mock__factory as aL, LzReadCounter as aM, LzReadCounter__factory as aN, type OmniCounter as aO, OmniCounter__factory as aP, type OmniCounterAbstract as aQ, OmniCounterAbstract__factory as aR, type OmniCounterPreCrime as aS, OmniCounterPreCrime__factory as aT, type IOAppComposer as aU, IOAppComposer__factory as aV, type IOAppComputer as aW, IOAppComputer__factory as aX, type IOAppCore as aY, IOAppCore__factory as aZ, type IOAppMsgInspector as a_, ILayerZeroTreasury__factory as aa, type IMessageLib as ab, IMessageLib__factory as ac, type IMessageLibManager as ad, IMessageLibManager__factory as ae, type IMessagingChannel as af, IMessagingChannel__factory as ag, type IMessagingComposer as ah, IMessagingComposer__factory as ai, type IMessagingContext as aj, IMessagingContext__factory as ak, type ISendLib as al, ISendLib__factory as am, type IWorker as an, IWorker__factory as ao, type AddressCast as ap, AddressCast__factory as aq, type Errors as ar, Errors__factory as as, type ExecutorOptions$1 as at, ExecutorOptions__factory$1 as au, type Transfer as av, Transfer__factory as aw, type EssenceDVNWrapper as ax, EssenceDVNWrapper__factory as ay, MultiCall as az, type PacketSentEvent$2 as b, type DVNAdapterBase as b$, type IOAppOptionsType3 as b0, IOAppOptionsType3__factory as b1, type IOAppReceiver as b2, IOAppReceiver__factory as b3, type OAppOptionsType3 as b4, OAppOptionsType3__factory as b5, type OptionsBuilder as b6, OptionsBuilder__factory as b7, type ReadCmdCodecV1$1 as b8, ReadCmdCodecV1__factory$1 as b9, type OAppPreCrimeSimulator as bA, OAppPreCrimeSimulator__factory as bB, type PreCrime as bC, PreCrime__factory as bD, PriceFeed__factory as bE, type TransparentUpgradeableProxy$1 as bF, TransparentUpgradeableProxy__factory$1 as bG, ReceiveLibBaseE2__factory as bH, SendLibBase__factory as bI, SendLibBaseE2__factory as bJ, type SimpleReadExecutor as bK, SimpleReadExecutor__factory as bL, Treasury__factory as bM, type ArbitrumDVNAdapterL1 as bN, ArbitrumDVNAdapterL1__factory as bO, type ArbitrumDVNAdapterL2 as bP, ArbitrumDVNAdapterL2__factory as bQ, type AxelarDVNAdapter as bR, AxelarDVNAdapter__factory as bS, type ISendLibBase as bT, ISendLibBase__factory as bU, type AxelarDVNAdapterFeeLib as bV, AxelarDVNAdapterFeeLib__factory as bW, type CCIPDVNAdapter as bX, CCIPDVNAdapter__factory as bY, type CCIPDVNAdapterFeeLib as bZ, CCIPDVNAdapterFeeLib__factory as b_, type OApp as ba, OApp__factory as bb, type OAppCore as bc, OAppCore__factory as bd, type OAppRead as be, OAppRead__factory as bf, type OAppReceiver as bg, OAppReceiver__factory as bh, type OAppSender as bi, OAppSender__factory as bj, RateLimiter as bk, RateLimiter__factory as bl, type IOFT as bm, IOFT__factory as bn, type OFT as bo, OFT__factory as bp, type OFTAdapter as bq, OFTAdapter__factory as br, type OFTCore as bs, OFTCore__factory as bt, type PreCrimeE1 as bu, PreCrimeE1__factory as bv, type IOAppPreCrimeSimulator as bw, IOAppPreCrimeSimulator__factory as bx, type IPreCrime as by, IPreCrime__factory as bz, index$1n as c, type ITreasuryFeeHandler as c$, DVNAdapterBase__factory as c0, type IReceiveUln as c1, IReceiveUln__factory as c2, type DVNAdapterMessageCodec as c3, DVNAdapterMessageCodec__factory as c4, type OptimismDVNAdapterL1 as c5, OptimismDVNAdapterL1__factory as c6, type OptimismDVNAdapterL2 as c7, OptimismDVNAdapterL2__factory as c8, type DeadDVN as c9, IReceiveUlnE2__factory as cA, type DVNOptions as cB, DVNOptions__factory as cC, type SupportedCmdTypesLib as cD, SupportedCmdTypesLib__factory as cE, type UlnOptions as cF, UlnOptions__factory as cG, type IReceiveUlnView as cH, IReceiveUlnView__factory as cI, type LzExecutor as cJ, LzExecutor__factory as cK, type ReadLib1002 as cL, ReadLib1002__factory as cM, type ReadLib1002View as cN, ReadLib1002View__factory as cO, type ReadLibBase as cP, ReadLibBase__factory as cQ, type ReceiveUlnBase as cR, ReceiveUlnBase__factory as cS, type SendUlnBase as cT, SendUlnBase__factory as cU, type AddressSizeConfig as cV, AddressSizeConfig__factory as cW, type IMessageLibE1 as cX, IMessageLibE1__factory as cY, type INonceContract as cZ, INonceContract__factory as c_, DeadDVN__factory as ca, type DVN as cb, DVN__factory as cc, DVNFeeLib as cd, DVNFeeLib__factory as ce, type MultiSig as cf, MultiSig__factory as cg, SimpleReadDVN as ch, SimpleReadDVN__factory as ci, IAxelarDVNAdapter$1 as cj, IAxelarDVNAdapter__factory as ck, IAxelarDVNAdapterFeeLib as cl, IAxelarDVNAdapterFeeLib__factory as cm, ICCIPDVNAdapter$1 as cn, ICCIPDVNAdapter__factory as co, ICCIPDVNAdapterFeeLib as cp, ICCIPDVNAdapterFeeLib__factory as cq, IDVN$1 as cr, IDVN__factory as cs, IDVNFeeLib as ct, IDVNFeeLib__factory as cu, ILayerZeroDVN as cv, ILayerZeroDVN__factory as cw, type ILayerZeroReadDVN as cx, ILayerZeroReadDVN__factory as cy, type IReceiveUlnE2 as cz, index$1m as d, ITreasuryFeeHandler__factory as d0, type IUltraLightNode301 as d1, IUltraLightNode301__factory as d2, type NonceContractMock as d3, NonceContractMock__factory as d4, type ILayerZeroReceiveLibrary as d5, ILayerZeroReceiveLibrary__factory as d6, type ReceiveLibBaseE1 as d7, ReceiveLibBaseE1__factory as d8, type ReceiveUln301 as d9, Worker__factory as dA, type TypedEvent as dB, type TypedEventFilter as dC, type TypedListener as dD, type OnEvent as dE, type MinEthersFactory as dF, type GetContractTypeFromFactory as dG, type GetARGsTypeFromFactory as dH, type PromiseOrValue as dI, ReceiveUln301__factory as da, type IReceiveUln301 as db, IReceiveUln301__factory as dc, type ReceiveUln301View as dd, ReceiveUln301View__factory as de, type SendLibBaseE1 as df, SendLibBaseE1__factory as dg, type SendUln301 as dh, SendUln301__factory as di, type TreasuryFeeHandler as dj, TreasuryFeeHandler__factory as dk, type ReceiveUln302 as dl, ReceiveUln302__factory as dm, type IReceiveUln302 as dn, IReceiveUln302__factory as dp, type ReceiveUln302View as dq, ReceiveUln302View__factory as dr, type SendUln302 as ds, SendUln302__factory as dt, type UlnBase as du, UlnBase__factory as dv, type ProxyAdmin as dw, ProxyAdmin__factory as dx, type WorkerUpgradeable as dy, WorkerUpgradeable__factory as dz, index$1l as e, index$1k as f, index$1j as g, index$1h as h, index$1o as i, index$1c as j, index$1a as k, index$17 as l, index$16 as m, index$L as n, index$J as o, type EndpointV2Alt as p, type EndpointV2View as q, type EndpointV2ViewUpgradeable as r, type ExecutorFeeLib as s, type MessageLibManager as t, type MessagingChannel as u, type MessagingComposer as v, type MessagingContext as w, type PriceFeed as x, type SendLibBaseE2 as y, index as z };
77270
+ export { type ILayerZeroComposer as $, DecompressorExtension__factory as A, type DVNDecompressor as B, type ComposeSentEvent$2 as C, type DecompressorExtension as D, type EndpointV2 as E, DVNDecompressor__factory as F, type ExecutorDecompressor as G, ExecutorDecompressor__factory as H, EndpointV2__factory as I, EndpointV2Alt__factory as J, EndpointV2View__factory as K, EndpointV2ViewUpgradeable__factory as L, type MessageLibBase as M, type Executor as N, Executor__factory as O, type PacketSentEvent$1 as P, type ILayerZeroEndpointV2$2 as Q, type ReceiveLibBaseE2 as R, type SendLibBase as S, type Treasury as T, ILayerZeroEndpointV2__factory$2 as U, ExecutorFeeLib__factory as V, type Worker as W, IExecutor$2 as X, IExecutor__factory as Y, IExecutorFeeLib$1 as Z, IExecutorFeeLib__factory as _, type PacketVerifiedEvent$1 as a, IOAppComputerReduce__factory as a$, ILayerZeroComposer__factory as a0, type ILayerZeroExecutor as a1, ILayerZeroExecutor__factory as a2, ILayerZeroPriceFeed$1 as a3, ILayerZeroPriceFeed__factory as a4, type ILayerZeroReadExecutor as a5, ILayerZeroReadExecutor__factory as a6, type ILayerZeroReceiver as a7, ILayerZeroReceiver__factory as a8, type ILayerZeroTreasury as a9, MultiCall__factory as aA, type BlockedMessageLib as aB, BlockedMessageLib__factory as aC, type SimpleMessageLib as aD, SimpleMessageLib__factory as aE, MessageLibBase__factory as aF, MessageLibManager__factory as aG, MessagingChannel__factory as aH, MessagingComposer__factory as aI, MessagingContext__factory as aJ, type CmdCodecV1Mock as aK, CmdCodecV1Mock__factory as aL, LzReadCounter as aM, LzReadCounter__factory as aN, type OmniCounter as aO, OmniCounter__factory as aP, type OmniCounterAbstract as aQ, OmniCounterAbstract__factory as aR, type OmniCounterPreCrime as aS, OmniCounterPreCrime__factory as aT, type IOAppComposer as aU, IOAppComposer__factory as aV, type IOAppComputer as aW, IOAppComputer__factory as aX, type IOAppComputerMap as aY, IOAppComputerMap__factory as aZ, type IOAppComputerReduce as a_, ILayerZeroTreasury__factory as aa, type IMessageLib as ab, IMessageLib__factory as ac, type IMessageLibManager as ad, IMessageLibManager__factory as ae, type IMessagingChannel as af, IMessagingChannel__factory as ag, type IMessagingComposer as ah, IMessagingComposer__factory as ai, type IMessagingContext as aj, IMessagingContext__factory as ak, type ISendLib as al, ISendLib__factory as am, type IWorker as an, IWorker__factory as ao, type AddressCast as ap, AddressCast__factory as aq, type Errors as ar, Errors__factory as as, type ExecutorOptions$1 as at, ExecutorOptions__factory$1 as au, type Transfer as av, Transfer__factory as aw, type EssenceDVNWrapper as ax, EssenceDVNWrapper__factory as ay, MultiCall as az, type PacketSentEvent$2 as b, type CCIPDVNAdapter as b$, type IOAppCore as b0, IOAppCore__factory as b1, type IOAppMsgInspector as b2, IOAppMsgInspector__factory as b3, type IOAppOptionsType3 as b4, IOAppOptionsType3__factory as b5, type IOAppReceiver as b6, IOAppReceiver__factory as b7, type OAppOptionsType3 as b8, OAppOptionsType3__factory as b9, type IOAppPreCrimeSimulator as bA, IOAppPreCrimeSimulator__factory as bB, type IPreCrime as bC, IPreCrime__factory as bD, type OAppPreCrimeSimulator as bE, OAppPreCrimeSimulator__factory as bF, type PreCrime as bG, PreCrime__factory as bH, PriceFeed__factory as bI, type TransparentUpgradeableProxy$1 as bJ, TransparentUpgradeableProxy__factory$1 as bK, ReceiveLibBaseE2__factory as bL, SendLibBase__factory as bM, SendLibBaseE2__factory as bN, type SimpleReadExecutor as bO, SimpleReadExecutor__factory as bP, Treasury__factory as bQ, type ArbitrumDVNAdapterL1 as bR, ArbitrumDVNAdapterL1__factory as bS, type ArbitrumDVNAdapterL2 as bT, ArbitrumDVNAdapterL2__factory as bU, type AxelarDVNAdapter as bV, AxelarDVNAdapter__factory as bW, type ISendLibBase as bX, ISendLibBase__factory as bY, type AxelarDVNAdapterFeeLib as bZ, AxelarDVNAdapterFeeLib__factory as b_, type OptionsBuilder as ba, OptionsBuilder__factory as bb, type ReadCmdCodecV1$1 as bc, ReadCmdCodecV1__factory$1 as bd, type OApp as be, OApp__factory as bf, type OAppCore as bg, OAppCore__factory as bh, type OAppRead as bi, OAppRead__factory as bj, type OAppReceiver as bk, OAppReceiver__factory as bl, type OAppSender as bm, OAppSender__factory as bn, RateLimiter as bo, RateLimiter__factory as bp, type IOFT as bq, IOFT__factory as br, type OFT as bs, OFT__factory as bt, type OFTAdapter as bu, OFTAdapter__factory as bv, type OFTCore as bw, OFTCore__factory as bx, type PreCrimeE1 as by, PreCrimeE1__factory as bz, index$1n as c, type IMessageLibE1 as c$, CCIPDVNAdapter__factory as c0, type CCIPDVNAdapterFeeLib as c1, CCIPDVNAdapterFeeLib__factory as c2, type DVNAdapterBase as c3, DVNAdapterBase__factory as c4, type IReceiveUln as c5, IReceiveUln__factory as c6, type DVNAdapterMessageCodec as c7, DVNAdapterMessageCodec__factory as c8, type OptimismDVNAdapterL1 as c9, ILayerZeroDVN__factory as cA, type ILayerZeroReadDVN as cB, ILayerZeroReadDVN__factory as cC, type IReceiveUlnE2 as cD, IReceiveUlnE2__factory as cE, type DVNOptions as cF, DVNOptions__factory as cG, type SupportedCmdTypesLib as cH, SupportedCmdTypesLib__factory as cI, type UlnOptions as cJ, UlnOptions__factory as cK, type IReceiveUlnView as cL, IReceiveUlnView__factory as cM, type LzExecutor as cN, LzExecutor__factory as cO, type ReadLib1002 as cP, ReadLib1002__factory as cQ, type ReadLib1002View as cR, ReadLib1002View__factory as cS, type ReadLibBase as cT, ReadLibBase__factory as cU, type ReceiveUlnBase as cV, ReceiveUlnBase__factory as cW, type SendUlnBase as cX, SendUlnBase__factory as cY, type AddressSizeConfig as cZ, AddressSizeConfig__factory as c_, OptimismDVNAdapterL1__factory as ca, type OptimismDVNAdapterL2 as cb, OptimismDVNAdapterL2__factory as cc, type DeadDVN as cd, DeadDVN__factory as ce, type DVN as cf, DVN__factory as cg, DVNFeeLib as ch, DVNFeeLib__factory as ci, type MultiSig as cj, MultiSig__factory as ck, SimpleReadDVN as cl, SimpleReadDVN__factory as cm, IAxelarDVNAdapter$1 as cn, IAxelarDVNAdapter__factory as co, IAxelarDVNAdapterFeeLib as cp, IAxelarDVNAdapterFeeLib__factory as cq, ICCIPDVNAdapter$1 as cr, ICCIPDVNAdapter__factory as cs, ICCIPDVNAdapterFeeLib as ct, ICCIPDVNAdapterFeeLib__factory as cu, IDVN$1 as cv, IDVN__factory as cw, IDVNFeeLib as cx, IDVNFeeLib__factory as cy, ILayerZeroDVN as cz, index$1m as d, IMessageLibE1__factory as d0, type INonceContract as d1, INonceContract__factory as d2, type ITreasuryFeeHandler as d3, ITreasuryFeeHandler__factory as d4, type IUltraLightNode301 as d5, IUltraLightNode301__factory as d6, type NonceContractMock as d7, NonceContractMock__factory as d8, type ILayerZeroReceiveLibrary as d9, type ProxyAdmin as dA, ProxyAdmin__factory as dB, type WorkerUpgradeable as dC, WorkerUpgradeable__factory as dD, Worker__factory as dE, type TypedEvent as dF, type TypedEventFilter as dG, type TypedListener as dH, type OnEvent as dI, type MinEthersFactory as dJ, type GetContractTypeFromFactory as dK, type GetARGsTypeFromFactory as dL, type PromiseOrValue as dM, ILayerZeroReceiveLibrary__factory as da, type ReceiveLibBaseE1 as db, ReceiveLibBaseE1__factory as dc, type ReceiveUln301 as dd, ReceiveUln301__factory as de, type IReceiveUln301 as df, IReceiveUln301__factory as dg, type ReceiveUln301View as dh, ReceiveUln301View__factory as di, type SendLibBaseE1 as dj, SendLibBaseE1__factory as dk, type SendUln301 as dl, SendUln301__factory as dm, type TreasuryFeeHandler as dn, TreasuryFeeHandler__factory as dp, type ReceiveUln302 as dq, ReceiveUln302__factory as dr, type IReceiveUln302 as ds, IReceiveUln302__factory as dt, type ReceiveUln302View as du, ReceiveUln302View__factory as dv, type SendUln302 as dw, SendUln302__factory as dx, type UlnBase as dy, UlnBase__factory as dz, index$1l as e, index$1k as f, index$1j as g, index$1h as h, index$1o as i, index$1c as j, index$1a as k, index$17 as l, index$16 as m, index$L as n, index$J as o, type EndpointV2Alt as p, type EndpointV2View as q, type EndpointV2ViewUpgradeable as r, type ExecutorFeeLib as s, type MessageLibManager as t, type MessagingChannel as u, type MessagingComposer as v, type MessagingContext as w, type PriceFeed as x, type SendLibBaseE2 as y, index as z };