@inco/js 0.3.1 → 0.3.2-alpha.1

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 (381) hide show
  1. package/dist/cjs/advancedacl/session-key.d.ts +29 -0
  2. package/dist/cjs/advancedacl/session-key.js +167 -27
  3. package/dist/cjs/attestedcompute/attested-compute.d.ts +16 -16
  4. package/dist/cjs/attestedcompute/attested-compute.js +66 -73
  5. package/dist/cjs/attestedcompute/types.d.ts +3 -2
  6. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +20 -19
  7. package/dist/cjs/attesteddecrypt/attested-decrypt.js +67 -61
  8. package/dist/cjs/attesteddecrypt/index.d.ts +0 -1
  9. package/dist/cjs/attesteddecrypt/index.js +1 -2
  10. package/dist/cjs/attesteddecrypt/types.d.ts +3 -2
  11. package/dist/cjs/attestedreveal/attested-reveal.d.ts +21 -0
  12. package/dist/cjs/attestedreveal/attested-reveal.js +66 -0
  13. package/dist/cjs/attestedreveal/index.d.ts +1 -0
  14. package/dist/cjs/{fhevm → attestedreveal}/index.js +2 -2
  15. package/dist/cjs/attestedreveal/types.d.ts +7 -0
  16. package/dist/cjs/attestedreveal/types.js +16 -0
  17. package/dist/cjs/generated/abis/addTwo.d.ts +18 -0
  18. package/dist/cjs/generated/abis/addTwo.js +9 -1
  19. package/dist/cjs/generated/abis/lightning-preview.d.ts +48 -0
  20. package/dist/cjs/generated/abis/lightning-preview.js +29 -1
  21. package/dist/cjs/generated/abis/lightning.d.ts +34 -0
  22. package/dist/cjs/generated/abis/lightning.js +22 -1
  23. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  24. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +17 -7
  25. package/dist/cjs/generated/lightning.d.ts +31 -10
  26. package/dist/cjs/generated/lightning.js +33 -11
  27. package/dist/cjs/lite/attested-compute.d.ts +5 -4
  28. package/dist/cjs/lite/attested-compute.js +4 -3
  29. package/dist/cjs/lite/attested-decrypt.d.ts +3 -2
  30. package/dist/cjs/lite/attested-decrypt.js +4 -3
  31. package/dist/cjs/lite/index.d.ts +4 -1
  32. package/dist/cjs/lite/index.js +3 -1
  33. package/dist/cjs/lite/lightning.d.ts +73 -2
  34. package/dist/cjs/lite/lightning.js +65 -1
  35. package/dist/cjs/lite/reencrypt.d.ts +0 -1
  36. package/dist/cjs/lite/reencrypt.js +8 -20
  37. package/dist/cjs/local/local-node.js +35 -3
  38. package/dist/cjs/reencryption/types.d.ts +1 -2
  39. package/dist/esm/advancedacl/session-key.d.ts +29 -0
  40. package/dist/esm/advancedacl/session-key.js +160 -22
  41. package/dist/esm/attestedcompute/attested-compute.d.ts +16 -16
  42. package/dist/esm/attestedcompute/attested-compute.js +64 -72
  43. package/dist/esm/attestedcompute/types.d.ts +3 -2
  44. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +20 -19
  45. package/dist/esm/attesteddecrypt/attested-decrypt.js +65 -60
  46. package/dist/esm/attesteddecrypt/index.d.ts +0 -1
  47. package/dist/esm/attesteddecrypt/index.js +1 -2
  48. package/dist/esm/attesteddecrypt/types.d.ts +3 -2
  49. package/dist/esm/attestedreveal/attested-reveal.d.ts +21 -0
  50. package/dist/esm/attestedreveal/attested-reveal.js +63 -0
  51. package/dist/esm/attestedreveal/index.d.ts +1 -0
  52. package/dist/esm/attestedreveal/index.js +2 -0
  53. package/dist/esm/attestedreveal/types.d.ts +7 -0
  54. package/dist/esm/attestedreveal/types.js +12 -0
  55. package/dist/esm/generated/abis/addTwo.d.ts +18 -0
  56. package/dist/esm/generated/abis/addTwo.js +9 -1
  57. package/dist/esm/generated/abis/lightning-preview.d.ts +48 -0
  58. package/dist/esm/generated/abis/lightning-preview.js +29 -1
  59. package/dist/esm/generated/abis/lightning.d.ts +34 -0
  60. package/dist/esm/generated/abis/lightning.js +22 -1
  61. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  62. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +16 -6
  63. package/dist/esm/generated/lightning.d.ts +31 -10
  64. package/dist/esm/generated/lightning.js +33 -11
  65. package/dist/esm/lite/attested-compute.d.ts +5 -4
  66. package/dist/esm/lite/attested-compute.js +3 -3
  67. package/dist/esm/lite/attested-decrypt.d.ts +3 -2
  68. package/dist/esm/lite/attested-decrypt.js +3 -3
  69. package/dist/esm/lite/index.d.ts +4 -1
  70. package/dist/esm/lite/index.js +3 -1
  71. package/dist/esm/lite/lightning.d.ts +73 -2
  72. package/dist/esm/lite/lightning.js +66 -2
  73. package/dist/esm/lite/reencrypt.d.ts +0 -1
  74. package/dist/esm/lite/reencrypt.js +9 -20
  75. package/dist/esm/local/local-node.js +35 -3
  76. package/dist/esm/reencryption/types.d.ts +1 -2
  77. package/dist/types/advancedacl/session-key.d.ts +29 -0
  78. package/dist/types/attestedcompute/attested-compute.d.ts +16 -16
  79. package/dist/types/attestedcompute/types.d.ts +3 -2
  80. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +20 -19
  81. package/dist/types/attesteddecrypt/index.d.ts +0 -1
  82. package/dist/types/attesteddecrypt/types.d.ts +3 -2
  83. package/dist/types/attestedreveal/attested-reveal.d.ts +21 -0
  84. package/dist/types/attestedreveal/index.d.ts +1 -0
  85. package/dist/types/attestedreveal/types.d.ts +7 -0
  86. package/dist/types/generated/abis/addTwo.d.ts +18 -0
  87. package/dist/types/generated/abis/lightning-preview.d.ts +48 -0
  88. package/dist/types/generated/abis/lightning.d.ts +34 -0
  89. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  90. package/dist/types/generated/lightning.d.ts +31 -10
  91. package/dist/types/lite/attested-compute.d.ts +5 -4
  92. package/dist/types/lite/attested-decrypt.d.ts +3 -2
  93. package/dist/types/lite/index.d.ts +4 -1
  94. package/dist/types/lite/lightning.d.ts +73 -2
  95. package/dist/types/lite/reencrypt.d.ts +0 -1
  96. package/dist/types/reencryption/types.d.ts +1 -2
  97. package/package.json +28 -17
  98. package/dist/cjs/fhevm/fhe-environment.d.ts +0 -9
  99. package/dist/cjs/fhevm/fhe-environment.js +0 -11
  100. package/dist/cjs/fhevm/fhevm.d.ts +0 -41
  101. package/dist/cjs/fhevm/fhevm.js +0 -145
  102. package/dist/cjs/fhevm/index.d.ts +0 -1
  103. package/dist/cjs/fhevm/reencrypt.d.ts +0 -20
  104. package/dist/cjs/fhevm/reencrypt.js +0 -127
  105. package/dist/cjs/fhevm/tfhe.d.ts +0 -74
  106. package/dist/cjs/fhevm/tfhe.js +0 -336
  107. package/dist/cjs/fhevm/types.d.ts +0 -3
  108. package/dist/cjs/fhevm/types.js +0 -29
  109. package/dist/cjs/generated/abis/inco-fhevm.d.ts +0 -874
  110. package/dist/cjs/generated/abis/inco-fhevm.js +0 -681
  111. package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  112. package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.js +0 -36
  113. package/dist/cjs/generated/es/google/api/annotations_pb.d.ts +0 -13
  114. package/dist/cjs/generated/es/google/api/annotations_pb.js +0 -30
  115. package/dist/cjs/generated/es/google/api/http_pb.d.ts +0 -440
  116. package/dist/cjs/generated/es/google/api/http_pb.js +0 -37
  117. package/dist/cjs/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  118. package/dist/cjs/generated/es/inco/fhe/v1/events_pb.js +0 -24
  119. package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  120. package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.js +0 -49
  121. package/dist/cjs/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  122. package/dist/cjs/generated/es/inco/fhe/v1/query_pb.js +0 -111
  123. package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  124. package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.js +0 -111
  125. package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  126. package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.js +0 -23
  127. package/dist/cjs/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  128. package/dist/cjs/generated/es/inco/preflight/v1/query_pb.js +0 -41
  129. package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  130. package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.js +0 -51
  131. package/dist/cjs/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  132. package/dist/cjs/generated/es/inco/preflight/v1/types_pb.js +0 -37
  133. package/dist/cjs/generated/fhe-environments.d.ts +0 -14
  134. package/dist/cjs/generated/fhe-environments.js +0 -18
  135. package/dist/cjs/generated/ts/amino/amino.d.ts +0 -1
  136. package/dist/cjs/generated/ts/amino/amino.js +0 -11
  137. package/dist/cjs/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  138. package/dist/cjs/generated/ts/cometbft/abci/v1/types.js +0 -5079
  139. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  140. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +0 -108
  141. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  142. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +0 -433
  143. package/dist/cjs/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  144. package/dist/cjs/generated/ts/cometbft/types/v1/params.js +0 -716
  145. package/dist/cjs/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  146. package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +0 -358
  147. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  148. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
  149. package/dist/cjs/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  150. package/dist/cjs/generated/ts/cosmos/msg/v1/msg.js +0 -11
  151. package/dist/cjs/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  152. package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +0 -216
  153. package/dist/cjs/generated/ts/gogoproto/gogo.d.ts +0 -1
  154. package/dist/cjs/generated/ts/gogoproto/gogo.js +0 -11
  155. package/dist/cjs/generated/ts/google/api/annotations.d.ts +0 -1
  156. package/dist/cjs/generated/ts/google/api/annotations.js +0 -11
  157. package/dist/cjs/generated/ts/google/api/http.d.ts +0 -371
  158. package/dist/cjs/generated/ts/google/api/http.js +0 -356
  159. package/dist/cjs/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  160. package/dist/cjs/generated/ts/google/protobuf/descriptor.js +0 -5108
  161. package/dist/cjs/generated/ts/google/protobuf/duration.d.ts +0 -99
  162. package/dist/cjs/generated/ts/google/protobuf/duration.js +0 -93
  163. package/dist/cjs/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  164. package/dist/cjs/generated/ts/google/protobuf/timestamp.js +0 -93
  165. package/dist/cjs/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  166. package/dist/cjs/generated/ts/google/protobuf/wrappers.js +0 -509
  167. package/dist/cjs/generated/ts/inco/abci/v1/types.d.ts +0 -35
  168. package/dist/cjs/generated/ts/inco/abci/v1/types.js +0 -73
  169. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  170. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +0 -66
  171. package/dist/cjs/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  172. package/dist/cjs/generated/ts/inco/fhe/v1/events.js +0 -190
  173. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  174. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +0 -714
  175. package/dist/cjs/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  176. package/dist/cjs/generated/ts/inco/fhe/v1/query.js +0 -1394
  177. package/dist/cjs/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  178. package/dist/cjs/generated/ts/inco/fhe/v1/tx.js +0 -1236
  179. package/dist/cjs/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  180. package/dist/cjs/generated/ts/inco/fhe/v1/types.js +0 -990
  181. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  182. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +0 -66
  183. package/dist/cjs/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  184. package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +0 -331
  185. package/dist/cjs/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  186. package/dist/cjs/generated/ts/inco/originchain/v1/events.js +0 -216
  187. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  188. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +0 -69
  189. package/dist/cjs/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  190. package/dist/cjs/generated/ts/inco/originchain/v1/query.js +0 -280
  191. package/dist/cjs/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  192. package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +0 -140
  193. package/dist/cjs/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  194. package/dist/cjs/generated/ts/inco/originchain/v1/types.js +0 -203
  195. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  196. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +0 -66
  197. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  198. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +0 -185
  199. package/dist/cjs/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  200. package/dist/cjs/generated/ts/inco/preflight/v1/query.js +0 -259
  201. package/dist/cjs/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  202. package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +0 -448
  203. package/dist/cjs/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  204. package/dist/cjs/generated/ts/inco/preflight/v1/types.js +0 -398
  205. package/dist/cjs/l1/client.d.ts +0 -35
  206. package/dist/cjs/l1/client.js +0 -97
  207. package/dist/cjs/l1/index.d.ts +0 -2
  208. package/dist/cjs/l1/index.js +0 -19
  209. package/dist/cjs/l1/preflight.d.ts +0 -20
  210. package/dist/cjs/l1/preflight.js +0 -42
  211. package/dist/esm/fhevm/fhe-environment.d.ts +0 -9
  212. package/dist/esm/fhevm/fhe-environment.js +0 -8
  213. package/dist/esm/fhevm/fhevm.d.ts +0 -41
  214. package/dist/esm/fhevm/fhevm.js +0 -139
  215. package/dist/esm/fhevm/index.d.ts +0 -1
  216. package/dist/esm/fhevm/index.js +0 -2
  217. package/dist/esm/fhevm/reencrypt.d.ts +0 -20
  218. package/dist/esm/fhevm/reencrypt.js +0 -123
  219. package/dist/esm/fhevm/tfhe.d.ts +0 -74
  220. package/dist/esm/fhevm/tfhe.js +0 -328
  221. package/dist/esm/fhevm/types.d.ts +0 -3
  222. package/dist/esm/fhevm/types.js +0 -26
  223. package/dist/esm/generated/abis/inco-fhevm.d.ts +0 -874
  224. package/dist/esm/generated/abis/inco-fhevm.js +0 -678
  225. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  226. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +0 -33
  227. package/dist/esm/generated/es/google/api/annotations_pb.d.ts +0 -13
  228. package/dist/esm/generated/es/google/api/annotations_pb.js +0 -27
  229. package/dist/esm/generated/es/google/api/http_pb.d.ts +0 -440
  230. package/dist/esm/generated/es/google/api/http_pb.js +0 -34
  231. package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  232. package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +0 -21
  233. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  234. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +0 -46
  235. package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  236. package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +0 -108
  237. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  238. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +0 -108
  239. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  240. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +0 -20
  241. package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  242. package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +0 -38
  243. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  244. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +0 -48
  245. package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  246. package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +0 -34
  247. package/dist/esm/generated/fhe-environments.d.ts +0 -14
  248. package/dist/esm/generated/fhe-environments.js +0 -15
  249. package/dist/esm/generated/ts/amino/amino.d.ts +0 -1
  250. package/dist/esm/generated/ts/amino/amino.js +0 -8
  251. package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  252. package/dist/esm/generated/ts/cometbft/abci/v1/types.js +0 -5063
  253. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  254. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +0 -105
  255. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  256. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +0 -430
  257. package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  258. package/dist/esm/generated/ts/cometbft/types/v1/params.js +0 -713
  259. package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  260. package/dist/esm/generated/ts/cometbft/types/v1/validator.js +0 -353
  261. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  262. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +0 -218
  263. package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  264. package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +0 -8
  265. package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  266. package/dist/esm/generated/ts/cosmos_proto/cosmos.js +0 -211
  267. package/dist/esm/generated/ts/gogoproto/gogo.d.ts +0 -1
  268. package/dist/esm/generated/ts/gogoproto/gogo.js +0 -8
  269. package/dist/esm/generated/ts/google/api/annotations.d.ts +0 -1
  270. package/dist/esm/generated/ts/google/api/annotations.js +0 -8
  271. package/dist/esm/generated/ts/google/api/http.d.ts +0 -371
  272. package/dist/esm/generated/ts/google/api/http.js +0 -353
  273. package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  274. package/dist/esm/generated/ts/google/protobuf/descriptor.js +0 -5070
  275. package/dist/esm/generated/ts/google/protobuf/duration.d.ts +0 -99
  276. package/dist/esm/generated/ts/google/protobuf/duration.js +0 -90
  277. package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  278. package/dist/esm/generated/ts/google/protobuf/timestamp.js +0 -90
  279. package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  280. package/dist/esm/generated/ts/google/protobuf/wrappers.js +0 -506
  281. package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +0 -35
  282. package/dist/esm/generated/ts/inco/abci/v1/types.js +0 -70
  283. package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  284. package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +0 -63
  285. package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  286. package/dist/esm/generated/ts/inco/fhe/v1/events.js +0 -187
  287. package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  288. package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +0 -711
  289. package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  290. package/dist/esm/generated/ts/inco/fhe/v1/query.js +0 -1391
  291. package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  292. package/dist/esm/generated/ts/inco/fhe/v1/tx.js +0 -1233
  293. package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  294. package/dist/esm/generated/ts/inco/fhe/v1/types.js +0 -985
  295. package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  296. package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +0 -63
  297. package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  298. package/dist/esm/generated/ts/inco/originchain/v1/abci.js +0 -328
  299. package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  300. package/dist/esm/generated/ts/inco/originchain/v1/events.js +0 -213
  301. package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  302. package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +0 -66
  303. package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  304. package/dist/esm/generated/ts/inco/originchain/v1/query.js +0 -277
  305. package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  306. package/dist/esm/generated/ts/inco/originchain/v1/tx.js +0 -137
  307. package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  308. package/dist/esm/generated/ts/inco/originchain/v1/types.js +0 -200
  309. package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  310. package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +0 -63
  311. package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  312. package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +0 -182
  313. package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  314. package/dist/esm/generated/ts/inco/preflight/v1/query.js +0 -256
  315. package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  316. package/dist/esm/generated/ts/inco/preflight/v1/tx.js +0 -445
  317. package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  318. package/dist/esm/generated/ts/inco/preflight/v1/types.js +0 -395
  319. package/dist/esm/l1/client.d.ts +0 -35
  320. package/dist/esm/l1/client.js +0 -93
  321. package/dist/esm/l1/index.d.ts +0 -2
  322. package/dist/esm/l1/index.js +0 -3
  323. package/dist/esm/l1/preflight.d.ts +0 -20
  324. package/dist/esm/l1/preflight.js +0 -39
  325. package/dist/types/fhevm/fhe-environment.d.ts +0 -9
  326. package/dist/types/fhevm/fhevm.d.ts +0 -41
  327. package/dist/types/fhevm/index.d.ts +0 -1
  328. package/dist/types/fhevm/reencrypt.d.ts +0 -20
  329. package/dist/types/fhevm/tfhe.d.ts +0 -74
  330. package/dist/types/fhevm/types.d.ts +0 -3
  331. package/dist/types/generated/abis/inco-fhevm.d.ts +0 -874
  332. package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  333. package/dist/types/generated/es/google/api/annotations_pb.d.ts +0 -13
  334. package/dist/types/generated/es/google/api/http_pb.d.ts +0 -440
  335. package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  336. package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  337. package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  338. package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  339. package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  340. package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  341. package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  342. package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  343. package/dist/types/generated/fhe-environments.d.ts +0 -14
  344. package/dist/types/generated/ts/amino/amino.d.ts +0 -1
  345. package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  346. package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  347. package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  348. package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  349. package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  350. package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  351. package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  352. package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  353. package/dist/types/generated/ts/gogoproto/gogo.d.ts +0 -1
  354. package/dist/types/generated/ts/google/api/annotations.d.ts +0 -1
  355. package/dist/types/generated/ts/google/api/http.d.ts +0 -371
  356. package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  357. package/dist/types/generated/ts/google/protobuf/duration.d.ts +0 -99
  358. package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  359. package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  360. package/dist/types/generated/ts/inco/abci/v1/types.d.ts +0 -35
  361. package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  362. package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  363. package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  364. package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  365. package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  366. package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  367. package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  368. package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  369. package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  370. package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  371. package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  372. package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  373. package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  374. package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  375. package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  376. package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  377. package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  378. package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  379. package/dist/types/l1/client.d.ts +0 -35
  380. package/dist/types/l1/index.d.ts +0 -2
  381. package/dist/types/l1/preflight.d.ts +0 -20
@@ -1,1233 +0,0 @@
1
- // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
- // versions:
3
- // protoc-gen-ts_proto v2.7.5
4
- // protoc unknown
5
- // source: inco/fhe/v1/tx.proto
6
- /* eslint-disable */
7
- import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
- import { makeGenericClientConstructor, } from "@grpc/grpc-js";
9
- import { CARoot, Covalidator, FheEnv, FheEnvBlock, HandleBindingEntry, KeysetInfo } from "./types";
10
- export const protobufPackage = "inco.fhe.v1";
11
- function createBaseMsgVote() {
12
- return { covalidator: "", fheEnvBlock: undefined, caRoot: undefined };
13
- }
14
- export const MsgVote = {
15
- encode(message, writer = new BinaryWriter()) {
16
- if (message.covalidator !== "") {
17
- writer.uint32(10).string(message.covalidator);
18
- }
19
- if (message.fheEnvBlock !== undefined) {
20
- FheEnvBlock.encode(message.fheEnvBlock, writer.uint32(18).fork()).join();
21
- }
22
- if (message.caRoot !== undefined) {
23
- CARoot.encode(message.caRoot, writer.uint32(26).fork()).join();
24
- }
25
- return writer;
26
- },
27
- decode(input, length) {
28
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
29
- const end = length === undefined ? reader.len : reader.pos + length;
30
- const message = createBaseMsgVote();
31
- while (reader.pos < end) {
32
- const tag = reader.uint32();
33
- switch (tag >>> 3) {
34
- case 1: {
35
- if (tag !== 10) {
36
- break;
37
- }
38
- message.covalidator = reader.string();
39
- continue;
40
- }
41
- case 2: {
42
- if (tag !== 18) {
43
- break;
44
- }
45
- message.fheEnvBlock = FheEnvBlock.decode(reader, reader.uint32());
46
- continue;
47
- }
48
- case 3: {
49
- if (tag !== 26) {
50
- break;
51
- }
52
- message.caRoot = CARoot.decode(reader, reader.uint32());
53
- continue;
54
- }
55
- }
56
- if ((tag & 7) === 4 || tag === 0) {
57
- break;
58
- }
59
- reader.skip(tag & 7);
60
- }
61
- return message;
62
- },
63
- fromJSON(object) {
64
- return {
65
- covalidator: isSet(object.covalidator) ? globalThis.String(object.covalidator) : "",
66
- fheEnvBlock: isSet(object.fheEnvBlock) ? FheEnvBlock.fromJSON(object.fheEnvBlock) : undefined,
67
- caRoot: isSet(object.caRoot) ? CARoot.fromJSON(object.caRoot) : undefined,
68
- };
69
- },
70
- toJSON(message) {
71
- const obj = {};
72
- if (message.covalidator !== "") {
73
- obj.covalidator = message.covalidator;
74
- }
75
- if (message.fheEnvBlock !== undefined) {
76
- obj.fheEnvBlock = FheEnvBlock.toJSON(message.fheEnvBlock);
77
- }
78
- if (message.caRoot !== undefined) {
79
- obj.caRoot = CARoot.toJSON(message.caRoot);
80
- }
81
- return obj;
82
- },
83
- create(base) {
84
- return MsgVote.fromPartial(base ?? {});
85
- },
86
- fromPartial(object) {
87
- const message = createBaseMsgVote();
88
- message.covalidator = object.covalidator ?? "";
89
- message.fheEnvBlock = (object.fheEnvBlock !== undefined && object.fheEnvBlock !== null)
90
- ? FheEnvBlock.fromPartial(object.fheEnvBlock)
91
- : undefined;
92
- message.caRoot = (object.caRoot !== undefined && object.caRoot !== null)
93
- ? CARoot.fromPartial(object.caRoot)
94
- : undefined;
95
- return message;
96
- },
97
- };
98
- function createBaseMsgVoteResponse() {
99
- return { consensusReached: false };
100
- }
101
- export const MsgVoteResponse = {
102
- encode(message, writer = new BinaryWriter()) {
103
- if (message.consensusReached !== false) {
104
- writer.uint32(8).bool(message.consensusReached);
105
- }
106
- return writer;
107
- },
108
- decode(input, length) {
109
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
110
- const end = length === undefined ? reader.len : reader.pos + length;
111
- const message = createBaseMsgVoteResponse();
112
- while (reader.pos < end) {
113
- const tag = reader.uint32();
114
- switch (tag >>> 3) {
115
- case 1: {
116
- if (tag !== 8) {
117
- break;
118
- }
119
- message.consensusReached = reader.bool();
120
- continue;
121
- }
122
- }
123
- if ((tag & 7) === 4 || tag === 0) {
124
- break;
125
- }
126
- reader.skip(tag & 7);
127
- }
128
- return message;
129
- },
130
- fromJSON(object) {
131
- return { consensusReached: isSet(object.consensusReached) ? globalThis.Boolean(object.consensusReached) : false };
132
- },
133
- toJSON(message) {
134
- const obj = {};
135
- if (message.consensusReached !== false) {
136
- obj.consensusReached = message.consensusReached;
137
- }
138
- return obj;
139
- },
140
- create(base) {
141
- return MsgVoteResponse.fromPartial(base ?? {});
142
- },
143
- fromPartial(object) {
144
- const message = createBaseMsgVoteResponse();
145
- message.consensusReached = object.consensusReached ?? false;
146
- return message;
147
- },
148
- };
149
- function createBaseMsgVoteBindings() {
150
- return { covalidator: "", fheEnvBlock: undefined, parentHashes: [], bindingEntries: [] };
151
- }
152
- export const MsgVoteBindings = {
153
- encode(message, writer = new BinaryWriter()) {
154
- if (message.covalidator !== "") {
155
- writer.uint32(10).string(message.covalidator);
156
- }
157
- if (message.fheEnvBlock !== undefined) {
158
- FheEnvBlock.encode(message.fheEnvBlock, writer.uint32(18).fork()).join();
159
- }
160
- for (const v of message.parentHashes) {
161
- writer.uint32(26).string(v);
162
- }
163
- for (const v of message.bindingEntries) {
164
- HandleBindingEntry.encode(v, writer.uint32(34).fork()).join();
165
- }
166
- return writer;
167
- },
168
- decode(input, length) {
169
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
170
- const end = length === undefined ? reader.len : reader.pos + length;
171
- const message = createBaseMsgVoteBindings();
172
- while (reader.pos < end) {
173
- const tag = reader.uint32();
174
- switch (tag >>> 3) {
175
- case 1: {
176
- if (tag !== 10) {
177
- break;
178
- }
179
- message.covalidator = reader.string();
180
- continue;
181
- }
182
- case 2: {
183
- if (tag !== 18) {
184
- break;
185
- }
186
- message.fheEnvBlock = FheEnvBlock.decode(reader, reader.uint32());
187
- continue;
188
- }
189
- case 3: {
190
- if (tag !== 26) {
191
- break;
192
- }
193
- message.parentHashes.push(reader.string());
194
- continue;
195
- }
196
- case 4: {
197
- if (tag !== 34) {
198
- break;
199
- }
200
- message.bindingEntries.push(HandleBindingEntry.decode(reader, reader.uint32()));
201
- continue;
202
- }
203
- }
204
- if ((tag & 7) === 4 || tag === 0) {
205
- break;
206
- }
207
- reader.skip(tag & 7);
208
- }
209
- return message;
210
- },
211
- fromJSON(object) {
212
- return {
213
- covalidator: isSet(object.covalidator) ? globalThis.String(object.covalidator) : "",
214
- fheEnvBlock: isSet(object.fheEnvBlock) ? FheEnvBlock.fromJSON(object.fheEnvBlock) : undefined,
215
- parentHashes: globalThis.Array.isArray(object?.parentHashes)
216
- ? object.parentHashes.map((e) => globalThis.String(e))
217
- : [],
218
- bindingEntries: globalThis.Array.isArray(object?.bindingEntries)
219
- ? object.bindingEntries.map((e) => HandleBindingEntry.fromJSON(e))
220
- : [],
221
- };
222
- },
223
- toJSON(message) {
224
- const obj = {};
225
- if (message.covalidator !== "") {
226
- obj.covalidator = message.covalidator;
227
- }
228
- if (message.fheEnvBlock !== undefined) {
229
- obj.fheEnvBlock = FheEnvBlock.toJSON(message.fheEnvBlock);
230
- }
231
- if (message.parentHashes?.length) {
232
- obj.parentHashes = message.parentHashes;
233
- }
234
- if (message.bindingEntries?.length) {
235
- obj.bindingEntries = message.bindingEntries.map((e) => HandleBindingEntry.toJSON(e));
236
- }
237
- return obj;
238
- },
239
- create(base) {
240
- return MsgVoteBindings.fromPartial(base ?? {});
241
- },
242
- fromPartial(object) {
243
- const message = createBaseMsgVoteBindings();
244
- message.covalidator = object.covalidator ?? "";
245
- message.fheEnvBlock = (object.fheEnvBlock !== undefined && object.fheEnvBlock !== null)
246
- ? FheEnvBlock.fromPartial(object.fheEnvBlock)
247
- : undefined;
248
- message.parentHashes = object.parentHashes?.map((e) => e) || [];
249
- message.bindingEntries = object.bindingEntries?.map((e) => HandleBindingEntry.fromPartial(e)) || [];
250
- return message;
251
- },
252
- };
253
- function createBaseMsgVoteBindingsResponse() {
254
- return { blockConsensusReached: false, parentConsensusReached: [], bindingConsensusReached: [] };
255
- }
256
- export const MsgVoteBindingsResponse = {
257
- encode(message, writer = new BinaryWriter()) {
258
- if (message.blockConsensusReached !== false) {
259
- writer.uint32(8).bool(message.blockConsensusReached);
260
- }
261
- writer.uint32(18).fork();
262
- for (const v of message.parentConsensusReached) {
263
- writer.bool(v);
264
- }
265
- writer.join();
266
- writer.uint32(26).fork();
267
- for (const v of message.bindingConsensusReached) {
268
- writer.bool(v);
269
- }
270
- writer.join();
271
- return writer;
272
- },
273
- decode(input, length) {
274
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
275
- const end = length === undefined ? reader.len : reader.pos + length;
276
- const message = createBaseMsgVoteBindingsResponse();
277
- while (reader.pos < end) {
278
- const tag = reader.uint32();
279
- switch (tag >>> 3) {
280
- case 1: {
281
- if (tag !== 8) {
282
- break;
283
- }
284
- message.blockConsensusReached = reader.bool();
285
- continue;
286
- }
287
- case 2: {
288
- if (tag === 16) {
289
- message.parentConsensusReached.push(reader.bool());
290
- continue;
291
- }
292
- if (tag === 18) {
293
- const end2 = reader.uint32() + reader.pos;
294
- while (reader.pos < end2) {
295
- message.parentConsensusReached.push(reader.bool());
296
- }
297
- continue;
298
- }
299
- break;
300
- }
301
- case 3: {
302
- if (tag === 24) {
303
- message.bindingConsensusReached.push(reader.bool());
304
- continue;
305
- }
306
- if (tag === 26) {
307
- const end2 = reader.uint32() + reader.pos;
308
- while (reader.pos < end2) {
309
- message.bindingConsensusReached.push(reader.bool());
310
- }
311
- continue;
312
- }
313
- break;
314
- }
315
- }
316
- if ((tag & 7) === 4 || tag === 0) {
317
- break;
318
- }
319
- reader.skip(tag & 7);
320
- }
321
- return message;
322
- },
323
- fromJSON(object) {
324
- return {
325
- blockConsensusReached: isSet(object.blockConsensusReached)
326
- ? globalThis.Boolean(object.blockConsensusReached)
327
- : false,
328
- parentConsensusReached: globalThis.Array.isArray(object?.parentConsensusReached)
329
- ? object.parentConsensusReached.map((e) => globalThis.Boolean(e))
330
- : [],
331
- bindingConsensusReached: globalThis.Array.isArray(object?.bindingConsensusReached)
332
- ? object.bindingConsensusReached.map((e) => globalThis.Boolean(e))
333
- : [],
334
- };
335
- },
336
- toJSON(message) {
337
- const obj = {};
338
- if (message.blockConsensusReached !== false) {
339
- obj.blockConsensusReached = message.blockConsensusReached;
340
- }
341
- if (message.parentConsensusReached?.length) {
342
- obj.parentConsensusReached = message.parentConsensusReached;
343
- }
344
- if (message.bindingConsensusReached?.length) {
345
- obj.bindingConsensusReached = message.bindingConsensusReached;
346
- }
347
- return obj;
348
- },
349
- create(base) {
350
- return MsgVoteBindingsResponse.fromPartial(base ?? {});
351
- },
352
- fromPartial(object) {
353
- const message = createBaseMsgVoteBindingsResponse();
354
- message.blockConsensusReached = object.blockConsensusReached ?? false;
355
- message.parentConsensusReached = object.parentConsensusReached?.map((e) => e) || [];
356
- message.bindingConsensusReached = object.bindingConsensusReached?.map((e) => e) || [];
357
- return message;
358
- },
359
- };
360
- function createBaseMsgAddCovalidator() {
361
- return { authority: "", covalidator: undefined };
362
- }
363
- export const MsgAddCovalidator = {
364
- encode(message, writer = new BinaryWriter()) {
365
- if (message.authority !== "") {
366
- writer.uint32(10).string(message.authority);
367
- }
368
- if (message.covalidator !== undefined) {
369
- Covalidator.encode(message.covalidator, writer.uint32(18).fork()).join();
370
- }
371
- return writer;
372
- },
373
- decode(input, length) {
374
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
375
- const end = length === undefined ? reader.len : reader.pos + length;
376
- const message = createBaseMsgAddCovalidator();
377
- while (reader.pos < end) {
378
- const tag = reader.uint32();
379
- switch (tag >>> 3) {
380
- case 1: {
381
- if (tag !== 10) {
382
- break;
383
- }
384
- message.authority = reader.string();
385
- continue;
386
- }
387
- case 2: {
388
- if (tag !== 18) {
389
- break;
390
- }
391
- message.covalidator = Covalidator.decode(reader, reader.uint32());
392
- continue;
393
- }
394
- }
395
- if ((tag & 7) === 4 || tag === 0) {
396
- break;
397
- }
398
- reader.skip(tag & 7);
399
- }
400
- return message;
401
- },
402
- fromJSON(object) {
403
- return {
404
- authority: isSet(object.authority) ? globalThis.String(object.authority) : "",
405
- covalidator: isSet(object.covalidator) ? Covalidator.fromJSON(object.covalidator) : undefined,
406
- };
407
- },
408
- toJSON(message) {
409
- const obj = {};
410
- if (message.authority !== "") {
411
- obj.authority = message.authority;
412
- }
413
- if (message.covalidator !== undefined) {
414
- obj.covalidator = Covalidator.toJSON(message.covalidator);
415
- }
416
- return obj;
417
- },
418
- create(base) {
419
- return MsgAddCovalidator.fromPartial(base ?? {});
420
- },
421
- fromPartial(object) {
422
- const message = createBaseMsgAddCovalidator();
423
- message.authority = object.authority ?? "";
424
- message.covalidator = (object.covalidator !== undefined && object.covalidator !== null)
425
- ? Covalidator.fromPartial(object.covalidator)
426
- : undefined;
427
- return message;
428
- },
429
- };
430
- function createBaseMsgAddCovalidatorResponse() {
431
- return {};
432
- }
433
- export const MsgAddCovalidatorResponse = {
434
- encode(_, writer = new BinaryWriter()) {
435
- return writer;
436
- },
437
- decode(input, length) {
438
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
439
- const end = length === undefined ? reader.len : reader.pos + length;
440
- const message = createBaseMsgAddCovalidatorResponse();
441
- while (reader.pos < end) {
442
- const tag = reader.uint32();
443
- switch (tag >>> 3) {
444
- }
445
- if ((tag & 7) === 4 || tag === 0) {
446
- break;
447
- }
448
- reader.skip(tag & 7);
449
- }
450
- return message;
451
- },
452
- fromJSON(_) {
453
- return {};
454
- },
455
- toJSON(_) {
456
- const obj = {};
457
- return obj;
458
- },
459
- create(base) {
460
- return MsgAddCovalidatorResponse.fromPartial(base ?? {});
461
- },
462
- fromPartial(_) {
463
- const message = createBaseMsgAddCovalidatorResponse();
464
- return message;
465
- },
466
- };
467
- function createBaseMsgEditCovalidator() {
468
- return { covalidator: "", grpcUrl: "" };
469
- }
470
- export const MsgEditCovalidator = {
471
- encode(message, writer = new BinaryWriter()) {
472
- if (message.covalidator !== "") {
473
- writer.uint32(10).string(message.covalidator);
474
- }
475
- if (message.grpcUrl !== "") {
476
- writer.uint32(18).string(message.grpcUrl);
477
- }
478
- return writer;
479
- },
480
- decode(input, length) {
481
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
482
- const end = length === undefined ? reader.len : reader.pos + length;
483
- const message = createBaseMsgEditCovalidator();
484
- while (reader.pos < end) {
485
- const tag = reader.uint32();
486
- switch (tag >>> 3) {
487
- case 1: {
488
- if (tag !== 10) {
489
- break;
490
- }
491
- message.covalidator = reader.string();
492
- continue;
493
- }
494
- case 2: {
495
- if (tag !== 18) {
496
- break;
497
- }
498
- message.grpcUrl = reader.string();
499
- continue;
500
- }
501
- }
502
- if ((tag & 7) === 4 || tag === 0) {
503
- break;
504
- }
505
- reader.skip(tag & 7);
506
- }
507
- return message;
508
- },
509
- fromJSON(object) {
510
- return {
511
- covalidator: isSet(object.covalidator) ? globalThis.String(object.covalidator) : "",
512
- grpcUrl: isSet(object.grpcUrl) ? globalThis.String(object.grpcUrl) : "",
513
- };
514
- },
515
- toJSON(message) {
516
- const obj = {};
517
- if (message.covalidator !== "") {
518
- obj.covalidator = message.covalidator;
519
- }
520
- if (message.grpcUrl !== "") {
521
- obj.grpcUrl = message.grpcUrl;
522
- }
523
- return obj;
524
- },
525
- create(base) {
526
- return MsgEditCovalidator.fromPartial(base ?? {});
527
- },
528
- fromPartial(object) {
529
- const message = createBaseMsgEditCovalidator();
530
- message.covalidator = object.covalidator ?? "";
531
- message.grpcUrl = object.grpcUrl ?? "";
532
- return message;
533
- },
534
- };
535
- function createBaseMsgEditCovalidatorResponse() {
536
- return {};
537
- }
538
- export const MsgEditCovalidatorResponse = {
539
- encode(_, writer = new BinaryWriter()) {
540
- return writer;
541
- },
542
- decode(input, length) {
543
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
544
- const end = length === undefined ? reader.len : reader.pos + length;
545
- const message = createBaseMsgEditCovalidatorResponse();
546
- while (reader.pos < end) {
547
- const tag = reader.uint32();
548
- switch (tag >>> 3) {
549
- }
550
- if ((tag & 7) === 4 || tag === 0) {
551
- break;
552
- }
553
- reader.skip(tag & 7);
554
- }
555
- return message;
556
- },
557
- fromJSON(_) {
558
- return {};
559
- },
560
- toJSON(_) {
561
- const obj = {};
562
- return obj;
563
- },
564
- create(base) {
565
- return MsgEditCovalidatorResponse.fromPartial(base ?? {});
566
- },
567
- fromPartial(_) {
568
- const message = createBaseMsgEditCovalidatorResponse();
569
- return message;
570
- },
571
- };
572
- function createBaseMsgRemoveCovalidator() {
573
- return { authority: "", covalidator: "" };
574
- }
575
- export const MsgRemoveCovalidator = {
576
- encode(message, writer = new BinaryWriter()) {
577
- if (message.authority !== "") {
578
- writer.uint32(10).string(message.authority);
579
- }
580
- if (message.covalidator !== "") {
581
- writer.uint32(18).string(message.covalidator);
582
- }
583
- return writer;
584
- },
585
- decode(input, length) {
586
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
587
- const end = length === undefined ? reader.len : reader.pos + length;
588
- const message = createBaseMsgRemoveCovalidator();
589
- while (reader.pos < end) {
590
- const tag = reader.uint32();
591
- switch (tag >>> 3) {
592
- case 1: {
593
- if (tag !== 10) {
594
- break;
595
- }
596
- message.authority = reader.string();
597
- continue;
598
- }
599
- case 2: {
600
- if (tag !== 18) {
601
- break;
602
- }
603
- message.covalidator = reader.string();
604
- continue;
605
- }
606
- }
607
- if ((tag & 7) === 4 || tag === 0) {
608
- break;
609
- }
610
- reader.skip(tag & 7);
611
- }
612
- return message;
613
- },
614
- fromJSON(object) {
615
- return {
616
- authority: isSet(object.authority) ? globalThis.String(object.authority) : "",
617
- covalidator: isSet(object.covalidator) ? globalThis.String(object.covalidator) : "",
618
- };
619
- },
620
- toJSON(message) {
621
- const obj = {};
622
- if (message.authority !== "") {
623
- obj.authority = message.authority;
624
- }
625
- if (message.covalidator !== "") {
626
- obj.covalidator = message.covalidator;
627
- }
628
- return obj;
629
- },
630
- create(base) {
631
- return MsgRemoveCovalidator.fromPartial(base ?? {});
632
- },
633
- fromPartial(object) {
634
- const message = createBaseMsgRemoveCovalidator();
635
- message.authority = object.authority ?? "";
636
- message.covalidator = object.covalidator ?? "";
637
- return message;
638
- },
639
- };
640
- function createBaseMsgRemoveCovalidatorResponse() {
641
- return {};
642
- }
643
- export const MsgRemoveCovalidatorResponse = {
644
- encode(_, writer = new BinaryWriter()) {
645
- return writer;
646
- },
647
- decode(input, length) {
648
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
649
- const end = length === undefined ? reader.len : reader.pos + length;
650
- const message = createBaseMsgRemoveCovalidatorResponse();
651
- while (reader.pos < end) {
652
- const tag = reader.uint32();
653
- switch (tag >>> 3) {
654
- }
655
- if ((tag & 7) === 4 || tag === 0) {
656
- break;
657
- }
658
- reader.skip(tag & 7);
659
- }
660
- return message;
661
- },
662
- fromJSON(_) {
663
- return {};
664
- },
665
- toJSON(_) {
666
- const obj = {};
667
- return obj;
668
- },
669
- create(base) {
670
- return MsgRemoveCovalidatorResponse.fromPartial(base ?? {});
671
- },
672
- fromPartial(_) {
673
- const message = createBaseMsgRemoveCovalidatorResponse();
674
- return message;
675
- },
676
- };
677
- function createBaseMsgAddKeyset() {
678
- return { authority: "", keyset: undefined };
679
- }
680
- export const MsgAddKeyset = {
681
- encode(message, writer = new BinaryWriter()) {
682
- if (message.authority !== "") {
683
- writer.uint32(10).string(message.authority);
684
- }
685
- if (message.keyset !== undefined) {
686
- KeysetInfo.encode(message.keyset, writer.uint32(18).fork()).join();
687
- }
688
- return writer;
689
- },
690
- decode(input, length) {
691
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
692
- const end = length === undefined ? reader.len : reader.pos + length;
693
- const message = createBaseMsgAddKeyset();
694
- while (reader.pos < end) {
695
- const tag = reader.uint32();
696
- switch (tag >>> 3) {
697
- case 1: {
698
- if (tag !== 10) {
699
- break;
700
- }
701
- message.authority = reader.string();
702
- continue;
703
- }
704
- case 2: {
705
- if (tag !== 18) {
706
- break;
707
- }
708
- message.keyset = KeysetInfo.decode(reader, reader.uint32());
709
- continue;
710
- }
711
- }
712
- if ((tag & 7) === 4 || tag === 0) {
713
- break;
714
- }
715
- reader.skip(tag & 7);
716
- }
717
- return message;
718
- },
719
- fromJSON(object) {
720
- return {
721
- authority: isSet(object.authority) ? globalThis.String(object.authority) : "",
722
- keyset: isSet(object.keyset) ? KeysetInfo.fromJSON(object.keyset) : undefined,
723
- };
724
- },
725
- toJSON(message) {
726
- const obj = {};
727
- if (message.authority !== "") {
728
- obj.authority = message.authority;
729
- }
730
- if (message.keyset !== undefined) {
731
- obj.keyset = KeysetInfo.toJSON(message.keyset);
732
- }
733
- return obj;
734
- },
735
- create(base) {
736
- return MsgAddKeyset.fromPartial(base ?? {});
737
- },
738
- fromPartial(object) {
739
- const message = createBaseMsgAddKeyset();
740
- message.authority = object.authority ?? "";
741
- message.keyset = (object.keyset !== undefined && object.keyset !== null)
742
- ? KeysetInfo.fromPartial(object.keyset)
743
- : undefined;
744
- return message;
745
- },
746
- };
747
- function createBaseMsgAddKeysetResponse() {
748
- return {};
749
- }
750
- export const MsgAddKeysetResponse = {
751
- encode(_, writer = new BinaryWriter()) {
752
- return writer;
753
- },
754
- decode(input, length) {
755
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
756
- const end = length === undefined ? reader.len : reader.pos + length;
757
- const message = createBaseMsgAddKeysetResponse();
758
- while (reader.pos < end) {
759
- const tag = reader.uint32();
760
- switch (tag >>> 3) {
761
- }
762
- if ((tag & 7) === 4 || tag === 0) {
763
- break;
764
- }
765
- reader.skip(tag & 7);
766
- }
767
- return message;
768
- },
769
- fromJSON(_) {
770
- return {};
771
- },
772
- toJSON(_) {
773
- const obj = {};
774
- return obj;
775
- },
776
- create(base) {
777
- return MsgAddKeysetResponse.fromPartial(base ?? {});
778
- },
779
- fromPartial(_) {
780
- const message = createBaseMsgAddKeysetResponse();
781
- return message;
782
- },
783
- };
784
- function createBaseMsgRemoveKeyset() {
785
- return { authority: "", keysetId: "" };
786
- }
787
- export const MsgRemoveKeyset = {
788
- encode(message, writer = new BinaryWriter()) {
789
- if (message.authority !== "") {
790
- writer.uint32(10).string(message.authority);
791
- }
792
- if (message.keysetId !== "") {
793
- writer.uint32(18).string(message.keysetId);
794
- }
795
- return writer;
796
- },
797
- decode(input, length) {
798
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
799
- const end = length === undefined ? reader.len : reader.pos + length;
800
- const message = createBaseMsgRemoveKeyset();
801
- while (reader.pos < end) {
802
- const tag = reader.uint32();
803
- switch (tag >>> 3) {
804
- case 1: {
805
- if (tag !== 10) {
806
- break;
807
- }
808
- message.authority = reader.string();
809
- continue;
810
- }
811
- case 2: {
812
- if (tag !== 18) {
813
- break;
814
- }
815
- message.keysetId = reader.string();
816
- continue;
817
- }
818
- }
819
- if ((tag & 7) === 4 || tag === 0) {
820
- break;
821
- }
822
- reader.skip(tag & 7);
823
- }
824
- return message;
825
- },
826
- fromJSON(object) {
827
- return {
828
- authority: isSet(object.authority) ? globalThis.String(object.authority) : "",
829
- keysetId: isSet(object.keysetId) ? globalThis.String(object.keysetId) : "",
830
- };
831
- },
832
- toJSON(message) {
833
- const obj = {};
834
- if (message.authority !== "") {
835
- obj.authority = message.authority;
836
- }
837
- if (message.keysetId !== "") {
838
- obj.keysetId = message.keysetId;
839
- }
840
- return obj;
841
- },
842
- create(base) {
843
- return MsgRemoveKeyset.fromPartial(base ?? {});
844
- },
845
- fromPartial(object) {
846
- const message = createBaseMsgRemoveKeyset();
847
- message.authority = object.authority ?? "";
848
- message.keysetId = object.keysetId ?? "";
849
- return message;
850
- },
851
- };
852
- function createBaseMsgRemoveKeysetResponse() {
853
- return {};
854
- }
855
- export const MsgRemoveKeysetResponse = {
856
- encode(_, writer = new BinaryWriter()) {
857
- return writer;
858
- },
859
- decode(input, length) {
860
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
861
- const end = length === undefined ? reader.len : reader.pos + length;
862
- const message = createBaseMsgRemoveKeysetResponse();
863
- while (reader.pos < end) {
864
- const tag = reader.uint32();
865
- switch (tag >>> 3) {
866
- }
867
- if ((tag & 7) === 4 || tag === 0) {
868
- break;
869
- }
870
- reader.skip(tag & 7);
871
- }
872
- return message;
873
- },
874
- fromJSON(_) {
875
- return {};
876
- },
877
- toJSON(_) {
878
- const obj = {};
879
- return obj;
880
- },
881
- create(base) {
882
- return MsgRemoveKeysetResponse.fromPartial(base ?? {});
883
- },
884
- fromPartial(_) {
885
- const message = createBaseMsgRemoveKeysetResponse();
886
- return message;
887
- },
888
- };
889
- function createBaseMsgAddFheEnv() {
890
- return { authority: "", fheEnv: undefined };
891
- }
892
- export const MsgAddFheEnv = {
893
- encode(message, writer = new BinaryWriter()) {
894
- if (message.authority !== "") {
895
- writer.uint32(10).string(message.authority);
896
- }
897
- if (message.fheEnv !== undefined) {
898
- FheEnv.encode(message.fheEnv, writer.uint32(18).fork()).join();
899
- }
900
- return writer;
901
- },
902
- decode(input, length) {
903
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
904
- const end = length === undefined ? reader.len : reader.pos + length;
905
- const message = createBaseMsgAddFheEnv();
906
- while (reader.pos < end) {
907
- const tag = reader.uint32();
908
- switch (tag >>> 3) {
909
- case 1: {
910
- if (tag !== 10) {
911
- break;
912
- }
913
- message.authority = reader.string();
914
- continue;
915
- }
916
- case 2: {
917
- if (tag !== 18) {
918
- break;
919
- }
920
- message.fheEnv = FheEnv.decode(reader, reader.uint32());
921
- continue;
922
- }
923
- }
924
- if ((tag & 7) === 4 || tag === 0) {
925
- break;
926
- }
927
- reader.skip(tag & 7);
928
- }
929
- return message;
930
- },
931
- fromJSON(object) {
932
- return {
933
- authority: isSet(object.authority) ? globalThis.String(object.authority) : "",
934
- fheEnv: isSet(object.fheEnv) ? FheEnv.fromJSON(object.fheEnv) : undefined,
935
- };
936
- },
937
- toJSON(message) {
938
- const obj = {};
939
- if (message.authority !== "") {
940
- obj.authority = message.authority;
941
- }
942
- if (message.fheEnv !== undefined) {
943
- obj.fheEnv = FheEnv.toJSON(message.fheEnv);
944
- }
945
- return obj;
946
- },
947
- create(base) {
948
- return MsgAddFheEnv.fromPartial(base ?? {});
949
- },
950
- fromPartial(object) {
951
- const message = createBaseMsgAddFheEnv();
952
- message.authority = object.authority ?? "";
953
- message.fheEnv = (object.fheEnv !== undefined && object.fheEnv !== null)
954
- ? FheEnv.fromPartial(object.fheEnv)
955
- : undefined;
956
- return message;
957
- },
958
- };
959
- function createBaseMsgAddFheEnvResponse() {
960
- return {};
961
- }
962
- export const MsgAddFheEnvResponse = {
963
- encode(_, writer = new BinaryWriter()) {
964
- return writer;
965
- },
966
- decode(input, length) {
967
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
968
- const end = length === undefined ? reader.len : reader.pos + length;
969
- const message = createBaseMsgAddFheEnvResponse();
970
- while (reader.pos < end) {
971
- const tag = reader.uint32();
972
- switch (tag >>> 3) {
973
- }
974
- if ((tag & 7) === 4 || tag === 0) {
975
- break;
976
- }
977
- reader.skip(tag & 7);
978
- }
979
- return message;
980
- },
981
- fromJSON(_) {
982
- return {};
983
- },
984
- toJSON(_) {
985
- const obj = {};
986
- return obj;
987
- },
988
- create(base) {
989
- return MsgAddFheEnvResponse.fromPartial(base ?? {});
990
- },
991
- fromPartial(_) {
992
- const message = createBaseMsgAddFheEnvResponse();
993
- return message;
994
- },
995
- };
996
- function createBaseMsgRemoveFheEnv() {
997
- return { authority: "", hostChainId: "", keysetId: "" };
998
- }
999
- export const MsgRemoveFheEnv = {
1000
- encode(message, writer = new BinaryWriter()) {
1001
- if (message.authority !== "") {
1002
- writer.uint32(10).string(message.authority);
1003
- }
1004
- if (message.hostChainId !== "") {
1005
- writer.uint32(18).string(message.hostChainId);
1006
- }
1007
- if (message.keysetId !== "") {
1008
- writer.uint32(26).string(message.keysetId);
1009
- }
1010
- return writer;
1011
- },
1012
- decode(input, length) {
1013
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1014
- const end = length === undefined ? reader.len : reader.pos + length;
1015
- const message = createBaseMsgRemoveFheEnv();
1016
- while (reader.pos < end) {
1017
- const tag = reader.uint32();
1018
- switch (tag >>> 3) {
1019
- case 1: {
1020
- if (tag !== 10) {
1021
- break;
1022
- }
1023
- message.authority = reader.string();
1024
- continue;
1025
- }
1026
- case 2: {
1027
- if (tag !== 18) {
1028
- break;
1029
- }
1030
- message.hostChainId = reader.string();
1031
- continue;
1032
- }
1033
- case 3: {
1034
- if (tag !== 26) {
1035
- break;
1036
- }
1037
- message.keysetId = reader.string();
1038
- continue;
1039
- }
1040
- }
1041
- if ((tag & 7) === 4 || tag === 0) {
1042
- break;
1043
- }
1044
- reader.skip(tag & 7);
1045
- }
1046
- return message;
1047
- },
1048
- fromJSON(object) {
1049
- return {
1050
- authority: isSet(object.authority) ? globalThis.String(object.authority) : "",
1051
- hostChainId: isSet(object.hostChainId) ? globalThis.String(object.hostChainId) : "",
1052
- keysetId: isSet(object.keysetId) ? globalThis.String(object.keysetId) : "",
1053
- };
1054
- },
1055
- toJSON(message) {
1056
- const obj = {};
1057
- if (message.authority !== "") {
1058
- obj.authority = message.authority;
1059
- }
1060
- if (message.hostChainId !== "") {
1061
- obj.hostChainId = message.hostChainId;
1062
- }
1063
- if (message.keysetId !== "") {
1064
- obj.keysetId = message.keysetId;
1065
- }
1066
- return obj;
1067
- },
1068
- create(base) {
1069
- return MsgRemoveFheEnv.fromPartial(base ?? {});
1070
- },
1071
- fromPartial(object) {
1072
- const message = createBaseMsgRemoveFheEnv();
1073
- message.authority = object.authority ?? "";
1074
- message.hostChainId = object.hostChainId ?? "";
1075
- message.keysetId = object.keysetId ?? "";
1076
- return message;
1077
- },
1078
- };
1079
- function createBaseMsgRemoveFheEnvResponse() {
1080
- return {};
1081
- }
1082
- export const MsgRemoveFheEnvResponse = {
1083
- encode(_, writer = new BinaryWriter()) {
1084
- return writer;
1085
- },
1086
- decode(input, length) {
1087
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1088
- const end = length === undefined ? reader.len : reader.pos + length;
1089
- const message = createBaseMsgRemoveFheEnvResponse();
1090
- while (reader.pos < end) {
1091
- const tag = reader.uint32();
1092
- switch (tag >>> 3) {
1093
- }
1094
- if ((tag & 7) === 4 || tag === 0) {
1095
- break;
1096
- }
1097
- reader.skip(tag & 7);
1098
- }
1099
- return message;
1100
- },
1101
- fromJSON(_) {
1102
- return {};
1103
- },
1104
- toJSON(_) {
1105
- const obj = {};
1106
- return obj;
1107
- },
1108
- create(base) {
1109
- return MsgRemoveFheEnvResponse.fromPartial(base ?? {});
1110
- },
1111
- fromPartial(_) {
1112
- const message = createBaseMsgRemoveFheEnvResponse();
1113
- return message;
1114
- },
1115
- };
1116
- export const MsgService = {
1117
- /** Vote is a covalidator's vote on the CA root. */
1118
- vote: {
1119
- path: "/inco.fhe.v1.Msg/Vote",
1120
- requestStream: false,
1121
- responseStream: false,
1122
- requestSerialize: (value) => Buffer.from(MsgVote.encode(value).finish()),
1123
- requestDeserialize: (value) => MsgVote.decode(value),
1124
- responseSerialize: (value) => Buffer.from(MsgVoteResponse.encode(value).finish()),
1125
- responseDeserialize: (value) => MsgVoteResponse.decode(value),
1126
- },
1127
- /** VoteBindings is a covalidator vote for handle bindings. */
1128
- voteBindings: {
1129
- path: "/inco.fhe.v1.Msg/VoteBindings",
1130
- requestStream: false,
1131
- responseStream: false,
1132
- requestSerialize: (value) => Buffer.from(MsgVoteBindings.encode(value).finish()),
1133
- requestDeserialize: (value) => MsgVoteBindings.decode(value),
1134
- responseSerialize: (value) => Buffer.from(MsgVoteBindingsResponse.encode(value).finish()),
1135
- responseDeserialize: (value) => MsgVoteBindingsResponse.decode(value),
1136
- },
1137
- /**
1138
- * AddCovalidator adds a new covalidator to x/fhe. Only the authority can
1139
- * call this method.
1140
- */
1141
- addCovalidator: {
1142
- path: "/inco.fhe.v1.Msg/AddCovalidator",
1143
- requestStream: false,
1144
- responseStream: false,
1145
- requestSerialize: (value) => Buffer.from(MsgAddCovalidator.encode(value).finish()),
1146
- requestDeserialize: (value) => MsgAddCovalidator.decode(value),
1147
- responseSerialize: (value) => Buffer.from(MsgAddCovalidatorResponse.encode(value).finish()),
1148
- responseDeserialize: (value) => MsgAddCovalidatorResponse.decode(value),
1149
- },
1150
- /**
1151
- * EditCovalidator edits an existing covalidator. Only the covalidator can
1152
- * call this method.
1153
- */
1154
- editCovalidator: {
1155
- path: "/inco.fhe.v1.Msg/EditCovalidator",
1156
- requestStream: false,
1157
- responseStream: false,
1158
- requestSerialize: (value) => Buffer.from(MsgEditCovalidator.encode(value).finish()),
1159
- requestDeserialize: (value) => MsgEditCovalidator.decode(value),
1160
- responseSerialize: (value) => Buffer.from(MsgEditCovalidatorResponse.encode(value).finish()),
1161
- responseDeserialize: (value) => MsgEditCovalidatorResponse.decode(value),
1162
- },
1163
- /**
1164
- * RemoveCovalidator removes a covalidator from x/fhe. Only the authority can
1165
- * call this method.
1166
- */
1167
- removeCovalidator: {
1168
- path: "/inco.fhe.v1.Msg/RemoveCovalidator",
1169
- requestStream: false,
1170
- responseStream: false,
1171
- requestSerialize: (value) => Buffer.from(MsgRemoveCovalidator.encode(value).finish()),
1172
- requestDeserialize: (value) => MsgRemoveCovalidator.decode(value),
1173
- responseSerialize: (value) => Buffer.from(MsgRemoveCovalidatorResponse.encode(value).finish()),
1174
- responseDeserialize: (value) => MsgRemoveCovalidatorResponse.decode(value),
1175
- },
1176
- /**
1177
- * AddKeyset adds a new keyset to x/fhe. Only the authority can call this
1178
- * method.
1179
- */
1180
- addKeyset: {
1181
- path: "/inco.fhe.v1.Msg/AddKeyset",
1182
- requestStream: false,
1183
- responseStream: false,
1184
- requestSerialize: (value) => Buffer.from(MsgAddKeyset.encode(value).finish()),
1185
- requestDeserialize: (value) => MsgAddKeyset.decode(value),
1186
- responseSerialize: (value) => Buffer.from(MsgAddKeysetResponse.encode(value).finish()),
1187
- responseDeserialize: (value) => MsgAddKeysetResponse.decode(value),
1188
- },
1189
- /**
1190
- * RemoveKeyset removes a keyset from x/fhe. Only the authority can call this
1191
- * method.
1192
- */
1193
- removeKeyset: {
1194
- path: "/inco.fhe.v1.Msg/RemoveKeyset",
1195
- requestStream: false,
1196
- responseStream: false,
1197
- requestSerialize: (value) => Buffer.from(MsgRemoveKeyset.encode(value).finish()),
1198
- requestDeserialize: (value) => MsgRemoveKeyset.decode(value),
1199
- responseSerialize: (value) => Buffer.from(MsgRemoveKeysetResponse.encode(value).finish()),
1200
- responseDeserialize: (value) => MsgRemoveKeysetResponse.decode(value),
1201
- },
1202
- /**
1203
- * AddFheEnv adds a new FHE environment to x/fhe. Only the authority can
1204
- * call this method.
1205
- */
1206
- addFheEnv: {
1207
- path: "/inco.fhe.v1.Msg/AddFheEnv",
1208
- requestStream: false,
1209
- responseStream: false,
1210
- requestSerialize: (value) => Buffer.from(MsgAddFheEnv.encode(value).finish()),
1211
- requestDeserialize: (value) => MsgAddFheEnv.decode(value),
1212
- responseSerialize: (value) => Buffer.from(MsgAddFheEnvResponse.encode(value).finish()),
1213
- responseDeserialize: (value) => MsgAddFheEnvResponse.decode(value),
1214
- },
1215
- /**
1216
- * RemoveFheEnv removes a FHE environment from x/fhe. Only the authority can
1217
- * call this method.
1218
- */
1219
- removeFheEnv: {
1220
- path: "/inco.fhe.v1.Msg/RemoveFheEnv",
1221
- requestStream: false,
1222
- responseStream: false,
1223
- requestSerialize: (value) => Buffer.from(MsgRemoveFheEnv.encode(value).finish()),
1224
- requestDeserialize: (value) => MsgRemoveFheEnv.decode(value),
1225
- responseSerialize: (value) => Buffer.from(MsgRemoveFheEnvResponse.encode(value).finish()),
1226
- responseDeserialize: (value) => MsgRemoveFheEnvResponse.decode(value),
1227
- },
1228
- };
1229
- export const MsgClient = makeGenericClientConstructor(MsgService, "inco.fhe.v1.Msg");
1230
- function isSet(value) {
1231
- return value !== null && value !== undefined;
1232
- }
1233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3RzL2luY28vZmhlL3YxL3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCxZQUFZO0FBQ1osZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQywrQkFBK0I7QUFFL0Isb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQU9MLDRCQUE0QixHQUk3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVuRyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDO0FBNEs3QyxTQUFTLGlCQUFpQjtJQUN4QixPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUN4RSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUF3QjtJQUMxQyxNQUFNLENBQUMsT0FBZ0IsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUNoRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztRQUNwQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUN0QyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUNsRSxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUN4RCxTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRixXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDN0YsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQzFFLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWdCO1FBQ3JCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDL0IsR0FBRyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsR0FBRyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBMkMsSUFBUTtRQUN2RCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxXQUFXLENBQTJDLE1BQVM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztRQUNwQyxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQztZQUNyRixDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDZCxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7WUFDdEUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNuQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLHlCQUF5QjtJQUNoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBZ0M7SUFDMUQsTUFBTSxDQUFDLE9BQXdCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDeEUsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztRQUM1QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQ2QsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3pDLFNBQVM7Z0JBQ1gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXdCO1FBQzdCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN2QyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQW1ELElBQVE7UUFDL0QsT0FBTyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsV0FBVyxDQUFtRCxNQUFTO1FBQ3JFLE1BQU0sT0FBTyxHQUFHLHlCQUF5QixFQUFFLENBQUM7UUFDNUMsT0FBTyxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUM7UUFDNUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLHlCQUF5QjtJQUNoQyxPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQzNGLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWdDO0lBQzFELE1BQU0sQ0FBQyxPQUF3QixFQUFFLFNBQXVCLElBQUksWUFBWSxFQUFFO1FBQ3hFLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNFLENBQUM7UUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztRQUM1QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUN0QyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUNsRSxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDM0MsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNoRixTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRixXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDN0YsWUFBWSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUM7Z0JBQzFELENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0QsQ0FBQyxDQUFDLEVBQUU7WUFDTixjQUFjLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQztnQkFDOUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyxFQUFFO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBd0I7UUFDN0IsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMvQixHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QyxHQUFHLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDakMsR0FBRyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDbkMsR0FBRyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBbUQsSUFBUTtRQUMvRCxPQUFPLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxXQUFXLENBQW1ELE1BQVM7UUFDckUsTUFBTSxPQUFPLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztRQUM1QyxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQztZQUNyRixDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDZCxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEUsT0FBTyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BHLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDO0FBRUYsU0FBUyxpQ0FBaUM7SUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxFQUFFLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDbkcsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF3QztJQUMxRSxNQUFNLENBQUMsT0FBZ0MsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUNoRixJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM1QyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQy9DLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakIsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLGlDQUFpQyxFQUFFLENBQUM7UUFDcEQsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNkLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM5QyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7d0JBRW5ELFNBQVM7b0JBQ1gsQ0FBQztvQkFFRCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQzt3QkFDMUMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDOzRCQUN6QixPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO3dCQUNyRCxDQUFDO3dCQUVELFNBQVM7b0JBQ1gsQ0FBQztvQkFFRCxNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7d0JBRXBELFNBQVM7b0JBQ1gsQ0FBQztvQkFFRCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQzt3QkFDMUMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDOzRCQUN6QixPQUFPLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO3dCQUN0RCxDQUFDO3dCQUVELFNBQVM7b0JBQ1gsQ0FBQztvQkFFRCxNQUFNO2dCQUNSLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUM7Z0JBQ3hELENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDLEtBQUs7WUFDVCxzQkFBc0IsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQUM7Z0JBQzlFLENBQUMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDLENBQUMsRUFBRTtZQUNOLHVCQUF1QixFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQztnQkFDaEYsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyxFQUFFO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZ0M7UUFDckMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLHFCQUFxQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzVDLEdBQUcsQ0FBQyxxQkFBcUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUM7UUFDNUQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNDLEdBQUcsQ0FBQyxzQkFBc0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFDOUQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzVDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBMkQsSUFBUTtRQUN2RSxPQUFPLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUssRUFBVSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELFdBQVcsQ0FBMkQsTUFBUztRQUM3RSxNQUFNLE9BQU8sR0FBRyxpQ0FBaUMsRUFBRSxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLElBQUksS0FBSyxDQUFDO1FBQ3RFLE9BQU8sQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEYsT0FBTyxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0RixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsMkJBQTJCO0lBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQWtDO0lBQzlELE1BQU0sQ0FBQyxPQUEwQixFQUFFLFNBQXVCLElBQUksWUFBWSxFQUFFO1FBQzFFLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNFLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLDJCQUEyQixFQUFFLENBQUM7UUFDOUMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDcEMsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDbEUsU0FBUztnQkFDWCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0UsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQzlGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQTBCO1FBQy9CLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDN0IsR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsR0FBRyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFxRCxJQUFRO1FBQ2pFLE9BQU8saUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsV0FBVyxDQUFxRCxNQUFTO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLDJCQUEyQixFQUFFLENBQUM7UUFDOUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUM7WUFDckYsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUM3QyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLG1DQUFtQztJQUMxQyxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBMEM7SUFDOUUsTUFBTSxDQUFDLENBQTRCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDNUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxNQUFNLE9BQU8sR0FBRyxtQ0FBbUMsRUFBRSxDQUFDO1FBQ3RELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFNO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLENBQTRCO1FBQ2pDLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQTZELElBQVE7UUFDekUsT0FBTyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxXQUFXLENBQTZELENBQUk7UUFDMUUsTUFBTSxPQUFPLEdBQUcsbUNBQW1DLEVBQUUsQ0FBQztRQUN0RCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsNEJBQTRCO0lBQ25DLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQW1DO0lBQ2hFLE1BQU0sQ0FBQyxPQUEyQixFQUFFLFNBQXVCLElBQUksWUFBWSxFQUFFO1FBQzNFLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUN0QyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbEMsU0FBUztnQkFDWCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkYsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3hFLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQTJCO1FBQ2hDLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDL0IsR0FBRyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDM0IsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQXNELElBQVE7UUFDbEUsT0FBTyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxXQUFXLENBQXNELE1BQVM7UUFDeEUsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDdkMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLG9DQUFvQztJQUMzQyxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBMkM7SUFDaEYsTUFBTSxDQUFDLENBQTZCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDN0UsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxNQUFNLE9BQU8sR0FBRyxvQ0FBb0MsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFNO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLENBQTZCO1FBQ2xDLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQThELElBQVE7UUFDMUUsT0FBTywwQkFBMEIsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxXQUFXLENBQThELENBQUk7UUFDM0UsTUFBTSxPQUFPLEdBQUcsb0NBQW9DLEVBQUUsQ0FBQztRQUN2RCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsOEJBQThCO0lBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXFDO0lBQ3BFLE1BQU0sQ0FBQyxPQUE2QixFQUFFLFNBQXVCLElBQUksWUFBWSxFQUFFO1FBQzdFLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsOEJBQThCLEVBQUUsQ0FBQztRQUNqRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNwQyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDdEMsU0FBUztnQkFDWCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0UsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3BGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQTZCO1FBQ2xDLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDN0IsR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDL0IsR0FBRyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQXdELElBQVE7UUFDcEUsT0FBTyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxXQUFXLENBQXdELE1BQVM7UUFDMUUsTUFBTSxPQUFPLEdBQUcsOEJBQThCLEVBQUUsQ0FBQztRQUNqRCxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDL0MsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLHNDQUFzQztJQUM3QyxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBNkM7SUFDcEYsTUFBTSxDQUFDLENBQStCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDL0UsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxNQUFNLE9BQU8sR0FBRyxzQ0FBc0MsRUFBRSxDQUFDO1FBQ3pELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFNO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLENBQStCO1FBQ3BDLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQWdFLElBQVE7UUFDNUUsT0FBTyw0QkFBNEIsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxXQUFXLENBQWdFLENBQUk7UUFDN0UsTUFBTSxPQUFPLEdBQUcsc0NBQXNDLEVBQUUsQ0FBQztRQUN6RCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsc0JBQXNCO0lBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUE2QjtJQUNwRCxNQUFNLENBQUMsT0FBcUIsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUNyRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxNQUFNLE9BQU8sR0FBRyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BDLFNBQVM7Z0JBQ1gsQ0FBQztnQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7b0JBQzVELFNBQVM7Z0JBQ1gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUM5RSxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFxQjtRQUMxQixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzdCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBZ0QsSUFBUTtRQUM1RCxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxXQUFXLENBQWdELE1BQVM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLEVBQUUsQ0FBQztRQUN6QyxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztZQUN0RSxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDZCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsOEJBQThCO0lBQ3JDLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFxQztJQUNwRSxNQUFNLENBQUMsQ0FBdUIsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUN2RSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLDhCQUE4QixFQUFFLENBQUM7UUFDakQsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLENBQU07UUFDYixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBdUI7UUFDNUIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBd0QsSUFBUTtRQUNwRSxPQUFPLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUssRUFBVSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELFdBQVcsQ0FBd0QsQ0FBSTtRQUNyRSxNQUFNLE9BQU8sR0FBRyw4QkFBOEIsRUFBRSxDQUFDO1FBQ2pELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDO0FBRUYsU0FBUyx5QkFBeUI7SUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWdDO0lBQzFELE1BQU0sQ0FBQyxPQUF3QixFQUFFLFNBQXVCLElBQUksWUFBWSxFQUFFO1FBQ3hFLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztRQUM1QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNwQyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbkMsU0FBUztnQkFDWCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0UsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQzNFLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXdCO1FBQzdCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDN0IsR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2xDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQW1ELElBQVE7UUFDL0QsT0FBTyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsV0FBVyxDQUFtRCxNQUFTO1FBQ3JFLE1BQU0sT0FBTyxHQUFHLHlCQUF5QixFQUFFLENBQUM7UUFDNUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ3pDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDO0FBRUYsU0FBUyxpQ0FBaUM7SUFDeEMsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQXdDO0lBQzFFLE1BQU0sQ0FBQyxDQUEwQixFQUFFLFNBQXVCLElBQUksWUFBWSxFQUFFO1FBQzFFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsaUNBQWlDLEVBQUUsQ0FBQztRQUNwRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BCLENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBTTtRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUEwQjtRQUMvQixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUEyRCxJQUFRO1FBQ3ZFLE9BQU8sdUJBQXVCLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsV0FBVyxDQUEyRCxDQUFJO1FBQ3hFLE1BQU0sT0FBTyxHQUFHLGlDQUFpQyxFQUFFLENBQUM7UUFDcEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLHNCQUFzQjtJQUM3QixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBNkI7SUFDcEQsTUFBTSxDQUFDLE9BQXFCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDckUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLEVBQUUsQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNwQyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUN4RCxTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3RSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDMUUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBcUI7UUFDMUIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3QixHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQWdELElBQVE7UUFDNUQsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsV0FBVyxDQUFnRCxNQUFTO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLHNCQUFzQixFQUFFLENBQUM7UUFDekMsT0FBTyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7WUFDdEUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNuQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLDhCQUE4QjtJQUNyQyxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBcUM7SUFDcEUsTUFBTSxDQUFDLENBQXVCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDdkUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxNQUFNLE9BQU8sR0FBRyw4QkFBOEIsRUFBRSxDQUFDO1FBQ2pELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFNO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLENBQXVCO1FBQzVCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQXdELElBQVE7UUFDcEUsT0FBTyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxXQUFXLENBQXdELENBQUk7UUFDckUsTUFBTSxPQUFPLEdBQUcsOEJBQThCLEVBQUUsQ0FBQztRQUNqRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMseUJBQXlCO0lBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWdDO0lBQzFELE1BQU0sQ0FBQyxPQUF3QixFQUFFLFNBQXVCLElBQUksWUFBWSxFQUFFO1FBQ3hFLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztRQUM1QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNwQyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDdEMsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ25DLFNBQVM7Z0JBQ1gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdFLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRixRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDM0UsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBd0I7UUFDN0IsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3QixHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMvQixHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QixHQUFHLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBbUQsSUFBUTtRQUMvRCxPQUFPLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxXQUFXLENBQW1ELE1BQVM7UUFDckUsTUFBTSxPQUFPLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztRQUM1QyxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDL0MsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUN6QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsaUNBQWlDO0lBQ3hDLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF3QztJQUMxRSxNQUFNLENBQUMsQ0FBMEIsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUMxRSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLGlDQUFpQyxFQUFFLENBQUM7UUFDcEQsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLENBQU07UUFDYixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBMEI7UUFDL0IsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBMkQsSUFBUTtRQUN2RSxPQUFPLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUssRUFBVSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELFdBQVcsQ0FBMkQsQ0FBSTtRQUN4RSxNQUFNLE9BQU8sR0FBRyxpQ0FBaUMsRUFBRSxDQUFDO1FBQ3BELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDO0FBSUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLG1EQUFtRDtJQUNuRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFLENBQUMsS0FBYyxFQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekYsa0JBQWtCLEVBQUUsQ0FBQyxLQUFhLEVBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3JFLGlCQUFpQixFQUFFLENBQUMsS0FBc0IsRUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFHLG1CQUFtQixFQUFFLENBQUMsS0FBYSxFQUFtQixFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDdkY7SUFDRCw4REFBOEQ7SUFDOUQsWUFBWSxFQUFFO1FBQ1osSUFBSSxFQUFFLCtCQUErQjtRQUNyQyxhQUFhLEVBQUUsS0FBSztRQUNwQixjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRSxDQUFDLEtBQXNCLEVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6RyxrQkFBa0IsRUFBRSxDQUFDLEtBQWEsRUFBbUIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3JGLGlCQUFpQixFQUFFLENBQUMsS0FBOEIsRUFBVSxFQUFFLENBQzVELE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdELG1CQUFtQixFQUFFLENBQUMsS0FBYSxFQUEyQixFQUFFLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUN2RztJQUNEOzs7T0FHRztJQUNILGNBQWMsRUFBRTtRQUNkLElBQUksRUFBRSxpQ0FBaUM7UUFDdkMsYUFBYSxFQUFFLEtBQUs7UUFDcEIsY0FBYyxFQUFFLEtBQUs7UUFDckIsZ0JBQWdCLEVBQUUsQ0FBQyxLQUF3QixFQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3RyxrQkFBa0IsRUFBRSxDQUFDLEtBQWEsRUFBcUIsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDekYsaUJBQWlCLEVBQUUsQ0FBQyxLQUFnQyxFQUFVLEVBQUUsQ0FDOUQsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0QsbUJBQW1CLEVBQUUsQ0FBQyxLQUFhLEVBQTZCLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0tBQzNHO0lBQ0Q7OztPQUdHO0lBQ0gsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLGtDQUFrQztRQUN4QyxhQUFhLEVBQUUsS0FBSztRQUNwQixjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRSxDQUFDLEtBQXlCLEVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9HLGtCQUFrQixFQUFFLENBQUMsS0FBYSxFQUFzQixFQUFFLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzRixpQkFBaUIsRUFBRSxDQUFDLEtBQWlDLEVBQVUsRUFBRSxDQUMvRCxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoRSxtQkFBbUIsRUFBRSxDQUFDLEtBQWEsRUFBOEIsRUFBRSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDN0c7SUFDRDs7O09BR0c7SUFDSCxpQkFBaUIsRUFBRTtRQUNqQixJQUFJLEVBQUUsb0NBQW9DO1FBQzFDLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFLENBQUMsS0FBMkIsRUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkgsa0JBQWtCLEVBQUUsQ0FBQyxLQUFhLEVBQXdCLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQy9GLGlCQUFpQixFQUFFLENBQUMsS0FBbUMsRUFBVSxFQUFFLENBQ2pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xFLG1CQUFtQixFQUFFLENBQUMsS0FBYSxFQUFnQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNqSDtJQUNEOzs7T0FHRztJQUNILFNBQVMsRUFBRTtRQUNULElBQUksRUFBRSw0QkFBNEI7UUFDbEMsYUFBYSxFQUFFLEtBQUs7UUFDcEIsY0FBYyxFQUFFLEtBQUs7UUFDckIsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFtQixFQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkcsa0JBQWtCLEVBQUUsQ0FBQyxLQUFhLEVBQWdCLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMvRSxpQkFBaUIsRUFBRSxDQUFDLEtBQTJCLEVBQVUsRUFBRSxDQUN6RCxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxRCxtQkFBbUIsRUFBRSxDQUFDLEtBQWEsRUFBd0IsRUFBRSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDakc7SUFDRDs7O09BR0c7SUFDSCxZQUFZLEVBQUU7UUFDWixJQUFJLEVBQUUsK0JBQStCO1FBQ3JDLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFLENBQUMsS0FBc0IsRUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pHLGtCQUFrQixFQUFFLENBQUMsS0FBYSxFQUFtQixFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDckYsaUJBQWlCLEVBQUUsQ0FBQyxLQUE4QixFQUFVLEVBQUUsQ0FDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0QsbUJBQW1CLEVBQUUsQ0FBQyxLQUFhLEVBQTJCLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0tBQ3ZHO0lBQ0Q7OztPQUdHO0lBQ0gsU0FBUyxFQUFFO1FBQ1QsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxhQUFhLEVBQUUsS0FBSztRQUNwQixjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRSxDQUFDLEtBQW1CLEVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuRyxrQkFBa0IsRUFBRSxDQUFDLEtBQWEsRUFBZ0IsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQy9FLGlCQUFpQixFQUFFLENBQUMsS0FBMkIsRUFBVSxFQUFFLENBQ3pELE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFELG1CQUFtQixFQUFFLENBQUMsS0FBYSxFQUF3QixFQUFFLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNqRztJQUNEOzs7T0FHRztJQUNILFlBQVksRUFBRTtRQUNaLElBQUksRUFBRSwrQkFBK0I7UUFDckMsYUFBYSxFQUFFLEtBQUs7UUFDcEIsY0FBYyxFQUFFLEtBQUs7UUFDckIsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFzQixFQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekcsa0JBQWtCLEVBQUUsQ0FBQyxLQUFhLEVBQW1CLEVBQUUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNyRixpQkFBaUIsRUFBRSxDQUFDLEtBQThCLEVBQVUsRUFBRSxDQUM1RCxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3RCxtQkFBbUIsRUFBRSxDQUFDLEtBQWEsRUFBMkIsRUFBRSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDdkc7Q0FDTyxDQUFDO0FBaU5YLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyw0QkFBNEIsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBSWxGLENBQUM7QUFjRixTQUFTLEtBQUssQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMifQ==