@inco/lightning-js 0.0.0-bootstrap.0

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 (283) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +587 -0
  3. package/dist/cjs/advancedacl/index.d.ts +2 -0
  4. package/dist/cjs/advancedacl/index.js +19 -0
  5. package/dist/cjs/advancedacl/session-key.d.ts +95 -0
  6. package/dist/cjs/advancedacl/session-key.js +376 -0
  7. package/dist/cjs/advancedacl/types.d.ts +16 -0
  8. package/dist/cjs/advancedacl/types.js +3 -0
  9. package/dist/cjs/attestedcompute/attested-compute.d.ts +65 -0
  10. package/dist/cjs/attestedcompute/attested-compute.js +80 -0
  11. package/dist/cjs/attestedcompute/types.d.ts +35 -0
  12. package/dist/cjs/attestedcompute/types.js +46 -0
  13. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +61 -0
  14. package/dist/cjs/attesteddecrypt/attested-decrypt.js +118 -0
  15. package/dist/cjs/attesteddecrypt/index.d.ts +1 -0
  16. package/dist/cjs/attesteddecrypt/index.js +18 -0
  17. package/dist/cjs/attesteddecrypt/types.d.ts +27 -0
  18. package/dist/cjs/attesteddecrypt/types.js +16 -0
  19. package/dist/cjs/attestedreveal/attested-reveal.d.ts +21 -0
  20. package/dist/cjs/attestedreveal/attested-reveal.js +31 -0
  21. package/dist/cjs/attestedreveal/index.d.ts +2 -0
  22. package/dist/cjs/attestedreveal/index.js +21 -0
  23. package/dist/cjs/attestedreveal/types.d.ts +4 -0
  24. package/dist/cjs/attestedreveal/types.js +13 -0
  25. package/dist/cjs/binary.d.ts +104 -0
  26. package/dist/cjs/binary.js +171 -0
  27. package/dist/cjs/chain.d.ts +50 -0
  28. package/dist/cjs/chain.js +62 -0
  29. package/dist/cjs/eip712/eip712.d.ts +18 -0
  30. package/dist/cjs/eip712/eip712.js +51 -0
  31. package/dist/cjs/eip712/index.d.ts +1 -0
  32. package/dist/cjs/eip712/index.js +8 -0
  33. package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.d.ts +51 -0
  34. package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.js +94 -0
  35. package/dist/cjs/elistattesteddecrypt/index.d.ts +2 -0
  36. package/dist/cjs/elistattesteddecrypt/index.js +22 -0
  37. package/dist/cjs/elistattesteddecrypt/types.d.ts +31 -0
  38. package/dist/cjs/elistattesteddecrypt/types.js +16 -0
  39. package/dist/cjs/encryption/encryption.d.ts +235 -0
  40. package/dist/cjs/encryption/encryption.js +226 -0
  41. package/dist/cjs/encryption/index.d.ts +1 -0
  42. package/dist/cjs/encryption/index.js +19 -0
  43. package/dist/cjs/generated/abis/add-two.d.ts +117 -0
  44. package/dist/cjs/generated/abis/add-two.js +80 -0
  45. package/dist/cjs/generated/abis/lightning.d.ts +3362 -0
  46. package/dist/cjs/generated/abis/lightning.js +2445 -0
  47. package/dist/cjs/generated/abis/test-elist.d.ts +276 -0
  48. package/dist/cjs/generated/abis/test-elist.js +168 -0
  49. package/dist/cjs/generated/abis/verifier.d.ts +1353 -0
  50. package/dist/cjs/generated/abis/verifier.js +954 -0
  51. package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +1494 -0
  52. package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.js +395 -0
  53. package/dist/cjs/generated/es/inco/covalidator/compute/v1/types_pb.d.ts +247 -0
  54. package/dist/cjs/generated/es/inco/covalidator/compute/v1/types_pb.js +80 -0
  55. package/dist/cjs/generated/es/inco/helioswrapper/v1/helioswrapper_pb.d.ts +77 -0
  56. package/dist/cjs/generated/es/inco/helioswrapper/v1/helioswrapper_pb.js +28 -0
  57. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +685 -0
  58. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +100 -0
  59. package/dist/cjs/generated/es/inco/kms/lite/v1/types_pb.d.ts +289 -0
  60. package/dist/cjs/generated/es/inco/kms/lite/v1/types_pb.js +136 -0
  61. package/dist/cjs/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.d.ts +371 -0
  62. package/dist/cjs/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.js +88 -0
  63. package/dist/cjs/generated/lightning.d.ts +830 -0
  64. package/dist/cjs/generated/lightning.js +872 -0
  65. package/dist/cjs/generated/local-node.d.ts +50 -0
  66. package/dist/cjs/generated/local-node.js +107 -0
  67. package/dist/cjs/handle.d.ts +123 -0
  68. package/dist/cjs/handle.js +221 -0
  69. package/dist/cjs/index.d.ts +5 -0
  70. package/dist/cjs/index.js +31 -0
  71. package/dist/cjs/kms/client.d.ts +12 -0
  72. package/dist/cjs/kms/client.js +47 -0
  73. package/dist/cjs/kms/quorumClient.d.ts +65 -0
  74. package/dist/cjs/kms/quorumClient.js +463 -0
  75. package/dist/cjs/kms/quorumConsistency.d.ts +82 -0
  76. package/dist/cjs/kms/quorumConsistency.js +269 -0
  77. package/dist/cjs/kms/signatureVerification.d.ts +35 -0
  78. package/dist/cjs/kms/signatureVerification.js +88 -0
  79. package/dist/cjs/kms/thresholdPromises.d.ts +8 -0
  80. package/dist/cjs/kms/thresholdPromises.js +62 -0
  81. package/dist/cjs/lite/attested-compute.d.ts +6 -0
  82. package/dist/cjs/lite/attested-compute.js +8 -0
  83. package/dist/cjs/lite/attested-decrypt.d.ts +4 -0
  84. package/dist/cjs/lite/attested-decrypt.js +6 -0
  85. package/dist/cjs/lite/deployments.d.ts +24 -0
  86. package/dist/cjs/lite/deployments.js +21 -0
  87. package/dist/cjs/lite/hadu.d.ts +4 -0
  88. package/dist/cjs/lite/hadu.js +28 -0
  89. package/dist/cjs/lite/index.d.ts +13 -0
  90. package/dist/cjs/lite/index.js +31 -0
  91. package/dist/cjs/lite/lightning.d.ts +459 -0
  92. package/dist/cjs/lite/lightning.js +696 -0
  93. package/dist/cjs/lite/types.d.ts +47 -0
  94. package/dist/cjs/lite/types.js +3 -0
  95. package/dist/cjs/lite/xwing.d.ts +154 -0
  96. package/dist/cjs/lite/xwing.js +326 -0
  97. package/dist/cjs/local/index.d.ts +1 -0
  98. package/dist/cjs/local/index.js +18 -0
  99. package/dist/cjs/local/local-node.d.ts +37 -0
  100. package/dist/cjs/local/local-node.js +80 -0
  101. package/dist/cjs/reencryption/eip712.d.ts +56 -0
  102. package/dist/cjs/reencryption/eip712.js +90 -0
  103. package/dist/cjs/reencryption/index.d.ts +2 -0
  104. package/dist/cjs/reencryption/index.js +19 -0
  105. package/dist/cjs/reencryption/types.d.ts +48 -0
  106. package/dist/cjs/reencryption/types.js +3 -0
  107. package/dist/cjs/retry.d.ts +30 -0
  108. package/dist/cjs/retry.js +87 -0
  109. package/dist/cjs/schema.d.ts +4 -0
  110. package/dist/cjs/schema.js +19 -0
  111. package/dist/cjs/test/mocks.d.ts +20 -0
  112. package/dist/cjs/test/mocks.js +72 -0
  113. package/dist/cjs/viem.d.ts +1141 -0
  114. package/dist/cjs/viem.js +36 -0
  115. package/dist/esm/advancedacl/index.d.ts +2 -0
  116. package/dist/esm/advancedacl/index.js +3 -0
  117. package/dist/esm/advancedacl/session-key.d.ts +95 -0
  118. package/dist/esm/advancedacl/session-key.js +367 -0
  119. package/dist/esm/advancedacl/types.d.ts +16 -0
  120. package/dist/esm/advancedacl/types.js +2 -0
  121. package/dist/esm/attestedcompute/attested-compute.d.ts +65 -0
  122. package/dist/esm/attestedcompute/attested-compute.js +76 -0
  123. package/dist/esm/attestedcompute/types.d.ts +35 -0
  124. package/dist/esm/attestedcompute/types.js +42 -0
  125. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +61 -0
  126. package/dist/esm/attesteddecrypt/attested-decrypt.js +112 -0
  127. package/dist/esm/attesteddecrypt/index.d.ts +1 -0
  128. package/dist/esm/attesteddecrypt/index.js +2 -0
  129. package/dist/esm/attesteddecrypt/types.d.ts +27 -0
  130. package/dist/esm/attesteddecrypt/types.js +12 -0
  131. package/dist/esm/attestedreveal/attested-reveal.d.ts +21 -0
  132. package/dist/esm/attestedreveal/attested-reveal.js +28 -0
  133. package/dist/esm/attestedreveal/index.d.ts +2 -0
  134. package/dist/esm/attestedreveal/index.js +3 -0
  135. package/dist/esm/attestedreveal/types.d.ts +4 -0
  136. package/dist/esm/attestedreveal/types.js +9 -0
  137. package/dist/esm/binary.d.ts +104 -0
  138. package/dist/esm/binary.js +155 -0
  139. package/dist/esm/chain.d.ts +50 -0
  140. package/dist/esm/chain.js +58 -0
  141. package/dist/esm/eip712/eip712.d.ts +18 -0
  142. package/dist/esm/eip712/eip712.js +46 -0
  143. package/dist/esm/eip712/index.d.ts +1 -0
  144. package/dist/esm/eip712/index.js +2 -0
  145. package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.d.ts +51 -0
  146. package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.js +89 -0
  147. package/dist/esm/elistattesteddecrypt/index.d.ts +2 -0
  148. package/dist/esm/elistattesteddecrypt/index.js +3 -0
  149. package/dist/esm/elistattesteddecrypt/types.d.ts +31 -0
  150. package/dist/esm/elistattesteddecrypt/types.js +12 -0
  151. package/dist/esm/encryption/encryption.d.ts +235 -0
  152. package/dist/esm/encryption/encryption.js +214 -0
  153. package/dist/esm/encryption/index.d.ts +1 -0
  154. package/dist/esm/encryption/index.js +2 -0
  155. package/dist/esm/generated/abis/add-two.d.ts +117 -0
  156. package/dist/esm/generated/abis/add-two.js +77 -0
  157. package/dist/esm/generated/abis/lightning.d.ts +3362 -0
  158. package/dist/esm/generated/abis/lightning.js +2442 -0
  159. package/dist/esm/generated/abis/test-elist.d.ts +276 -0
  160. package/dist/esm/generated/abis/test-elist.js +165 -0
  161. package/dist/esm/generated/abis/verifier.d.ts +1353 -0
  162. package/dist/esm/generated/abis/verifier.js +951 -0
  163. package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +1494 -0
  164. package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.js +392 -0
  165. package/dist/esm/generated/es/inco/covalidator/compute/v1/types_pb.d.ts +247 -0
  166. package/dist/esm/generated/es/inco/covalidator/compute/v1/types_pb.js +77 -0
  167. package/dist/esm/generated/es/inco/helioswrapper/v1/helioswrapper_pb.d.ts +77 -0
  168. package/dist/esm/generated/es/inco/helioswrapper/v1/helioswrapper_pb.js +25 -0
  169. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +685 -0
  170. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +97 -0
  171. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.d.ts +289 -0
  172. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +133 -0
  173. package/dist/esm/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.d.ts +371 -0
  174. package/dist/esm/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.js +85 -0
  175. package/dist/esm/generated/lightning.d.ts +830 -0
  176. package/dist/esm/generated/lightning.js +869 -0
  177. package/dist/esm/generated/local-node.d.ts +50 -0
  178. package/dist/esm/generated/local-node.js +104 -0
  179. package/dist/esm/handle.d.ts +123 -0
  180. package/dist/esm/handle.js +212 -0
  181. package/dist/esm/index.d.ts +5 -0
  182. package/dist/esm/index.js +6 -0
  183. package/dist/esm/kms/client.d.ts +12 -0
  184. package/dist/esm/kms/client.js +40 -0
  185. package/dist/esm/kms/quorumClient.d.ts +65 -0
  186. package/dist/esm/kms/quorumClient.js +459 -0
  187. package/dist/esm/kms/quorumConsistency.d.ts +82 -0
  188. package/dist/esm/kms/quorumConsistency.js +260 -0
  189. package/dist/esm/kms/signatureVerification.d.ts +35 -0
  190. package/dist/esm/kms/signatureVerification.js +84 -0
  191. package/dist/esm/kms/thresholdPromises.d.ts +8 -0
  192. package/dist/esm/kms/thresholdPromises.js +59 -0
  193. package/dist/esm/lite/attested-compute.d.ts +6 -0
  194. package/dist/esm/lite/attested-compute.js +4 -0
  195. package/dist/esm/lite/attested-decrypt.d.ts +4 -0
  196. package/dist/esm/lite/attested-decrypt.js +3 -0
  197. package/dist/esm/lite/deployments.d.ts +24 -0
  198. package/dist/esm/lite/deployments.js +17 -0
  199. package/dist/esm/lite/hadu.d.ts +4 -0
  200. package/dist/esm/lite/hadu.js +24 -0
  201. package/dist/esm/lite/index.d.ts +13 -0
  202. package/dist/esm/lite/index.js +10 -0
  203. package/dist/esm/lite/lightning.d.ts +459 -0
  204. package/dist/esm/lite/lightning.js +692 -0
  205. package/dist/esm/lite/types.d.ts +47 -0
  206. package/dist/esm/lite/types.js +2 -0
  207. package/dist/esm/lite/xwing.d.ts +154 -0
  208. package/dist/esm/lite/xwing.js +311 -0
  209. package/dist/esm/local/index.d.ts +1 -0
  210. package/dist/esm/local/index.js +2 -0
  211. package/dist/esm/local/local-node.d.ts +37 -0
  212. package/dist/esm/local/local-node.js +76 -0
  213. package/dist/esm/reencryption/eip712.d.ts +56 -0
  214. package/dist/esm/reencryption/eip712.js +87 -0
  215. package/dist/esm/reencryption/index.d.ts +2 -0
  216. package/dist/esm/reencryption/index.js +3 -0
  217. package/dist/esm/reencryption/types.d.ts +48 -0
  218. package/dist/esm/reencryption/types.js +2 -0
  219. package/dist/esm/retry.d.ts +30 -0
  220. package/dist/esm/retry.js +82 -0
  221. package/dist/esm/schema.d.ts +4 -0
  222. package/dist/esm/schema.js +15 -0
  223. package/dist/esm/test/mocks.d.ts +20 -0
  224. package/dist/esm/test/mocks.js +64 -0
  225. package/dist/esm/viem.d.ts +1141 -0
  226. package/dist/esm/viem.js +32 -0
  227. package/dist/types/advancedacl/index.d.ts +2 -0
  228. package/dist/types/advancedacl/session-key.d.ts +95 -0
  229. package/dist/types/advancedacl/types.d.ts +16 -0
  230. package/dist/types/attestedcompute/attested-compute.d.ts +65 -0
  231. package/dist/types/attestedcompute/types.d.ts +35 -0
  232. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +61 -0
  233. package/dist/types/attesteddecrypt/index.d.ts +1 -0
  234. package/dist/types/attesteddecrypt/types.d.ts +27 -0
  235. package/dist/types/attestedreveal/attested-reveal.d.ts +21 -0
  236. package/dist/types/attestedreveal/index.d.ts +2 -0
  237. package/dist/types/attestedreveal/types.d.ts +4 -0
  238. package/dist/types/binary.d.ts +104 -0
  239. package/dist/types/chain.d.ts +50 -0
  240. package/dist/types/eip712/eip712.d.ts +18 -0
  241. package/dist/types/eip712/index.d.ts +1 -0
  242. package/dist/types/elistattesteddecrypt/elist-attested-decrypt.d.ts +51 -0
  243. package/dist/types/elistattesteddecrypt/index.d.ts +2 -0
  244. package/dist/types/elistattesteddecrypt/types.d.ts +31 -0
  245. package/dist/types/encryption/encryption.d.ts +235 -0
  246. package/dist/types/encryption/index.d.ts +1 -0
  247. package/dist/types/generated/abis/add-two.d.ts +117 -0
  248. package/dist/types/generated/abis/lightning.d.ts +3362 -0
  249. package/dist/types/generated/abis/test-elist.d.ts +276 -0
  250. package/dist/types/generated/abis/verifier.d.ts +1353 -0
  251. package/dist/types/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +1494 -0
  252. package/dist/types/generated/es/inco/covalidator/compute/v1/types_pb.d.ts +247 -0
  253. package/dist/types/generated/es/inco/helioswrapper/v1/helioswrapper_pb.d.ts +77 -0
  254. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +685 -0
  255. package/dist/types/generated/es/inco/kms/lite/v1/types_pb.d.ts +289 -0
  256. package/dist/types/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.d.ts +371 -0
  257. package/dist/types/generated/lightning.d.ts +830 -0
  258. package/dist/types/generated/local-node.d.ts +50 -0
  259. package/dist/types/handle.d.ts +123 -0
  260. package/dist/types/index.d.ts +5 -0
  261. package/dist/types/kms/client.d.ts +12 -0
  262. package/dist/types/kms/quorumClient.d.ts +65 -0
  263. package/dist/types/kms/quorumConsistency.d.ts +82 -0
  264. package/dist/types/kms/signatureVerification.d.ts +35 -0
  265. package/dist/types/kms/thresholdPromises.d.ts +8 -0
  266. package/dist/types/lite/attested-compute.d.ts +6 -0
  267. package/dist/types/lite/attested-decrypt.d.ts +4 -0
  268. package/dist/types/lite/deployments.d.ts +24 -0
  269. package/dist/types/lite/hadu.d.ts +4 -0
  270. package/dist/types/lite/index.d.ts +13 -0
  271. package/dist/types/lite/lightning.d.ts +459 -0
  272. package/dist/types/lite/types.d.ts +47 -0
  273. package/dist/types/lite/xwing.d.ts +154 -0
  274. package/dist/types/local/index.d.ts +1 -0
  275. package/dist/types/local/local-node.d.ts +37 -0
  276. package/dist/types/reencryption/eip712.d.ts +56 -0
  277. package/dist/types/reencryption/index.d.ts +2 -0
  278. package/dist/types/reencryption/types.d.ts +48 -0
  279. package/dist/types/retry.d.ts +30 -0
  280. package/dist/types/schema.d.ts +4 -0
  281. package/dist/types/test/mocks.d.ts +20 -0
  282. package/dist/types/viem.d.ts +1141 -0
  283. package/package.json +129 -0
@@ -0,0 +1,2445 @@
1
+ "use strict";
2
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3
+ // ABIHelper
4
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.voucherEip712CheckerAbi = exports.sessionVerifierAbi = exports.incoLightningAbi = exports.advancedAccessControlAbi = exports.abiHelperAbi = void 0;
7
+ exports.abiHelperAbi = [
8
+ {
9
+ type: 'function',
10
+ inputs: [],
11
+ name: 'getSession',
12
+ outputs: [
13
+ {
14
+ name: '',
15
+ internalType: 'struct Session',
16
+ type: 'tuple',
17
+ components: [
18
+ { name: 'decrypter', internalType: 'address', type: 'address' },
19
+ { name: 'expiresAt', internalType: 'uint256', type: 'uint256' },
20
+ ],
21
+ },
22
+ ],
23
+ stateMutability: 'pure',
24
+ },
25
+ ];
26
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
27
+ // AdvancedAccessControl
28
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
29
+ exports.advancedAccessControlAbi = [
30
+ {
31
+ type: 'function',
32
+ inputs: [
33
+ {
34
+ name: 'voucher',
35
+ internalType: 'struct AllowanceVoucher',
36
+ type: 'tuple',
37
+ components: [
38
+ { name: 'warning', internalType: 'string', type: 'string' },
39
+ { name: 'sessionNonce', internalType: 'bytes32', type: 'bytes32' },
40
+ {
41
+ name: 'verifyingContract',
42
+ internalType: 'address',
43
+ type: 'address',
44
+ },
45
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
46
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
47
+ ],
48
+ },
49
+ ],
50
+ name: 'allowanceVoucherDigest',
51
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
52
+ stateMutability: 'view',
53
+ },
54
+ {
55
+ type: 'function',
56
+ inputs: [],
57
+ name: 'eip712Domain',
58
+ outputs: [
59
+ { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
60
+ { name: 'name', internalType: 'string', type: 'string' },
61
+ { name: 'version', internalType: 'string', type: 'string' },
62
+ { name: 'chainId', internalType: 'uint256', type: 'uint256' },
63
+ { name: 'verifyingContract', internalType: 'address', type: 'address' },
64
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
65
+ { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
66
+ ],
67
+ stateMutability: 'view',
68
+ },
69
+ {
70
+ type: 'function',
71
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
72
+ name: 'getActiveVouchersSessionNonce',
73
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
74
+ stateMutability: 'view',
75
+ },
76
+ {
77
+ type: 'function',
78
+ inputs: [
79
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
80
+ { name: 'account', internalType: 'address', type: 'address' },
81
+ {
82
+ name: 'proof',
83
+ internalType: 'struct AllowanceProof',
84
+ type: 'tuple',
85
+ components: [
86
+ { name: 'sharer', internalType: 'address', type: 'address' },
87
+ {
88
+ name: 'voucher',
89
+ internalType: 'struct AllowanceVoucher',
90
+ type: 'tuple',
91
+ components: [
92
+ { name: 'warning', internalType: 'string', type: 'string' },
93
+ {
94
+ name: 'sessionNonce',
95
+ internalType: 'bytes32',
96
+ type: 'bytes32',
97
+ },
98
+ {
99
+ name: 'verifyingContract',
100
+ internalType: 'address',
101
+ type: 'address',
102
+ },
103
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
104
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
105
+ ],
106
+ },
107
+ { name: 'voucherSignature', internalType: 'bytes', type: 'bytes' },
108
+ { name: 'requesterArgData', internalType: 'bytes', type: 'bytes' },
109
+ ],
110
+ },
111
+ ],
112
+ name: 'isAllowedWithProof',
113
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
114
+ stateMutability: 'nonpayable',
115
+ },
116
+ {
117
+ type: 'function',
118
+ inputs: [],
119
+ name: 'owner',
120
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
121
+ stateMutability: 'view',
122
+ },
123
+ {
124
+ type: 'function',
125
+ inputs: [],
126
+ name: 'paused',
127
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
128
+ stateMutability: 'view',
129
+ },
130
+ {
131
+ type: 'function',
132
+ inputs: [],
133
+ name: 'renounceOwnership',
134
+ outputs: [],
135
+ stateMutability: 'nonpayable',
136
+ },
137
+ {
138
+ type: 'function',
139
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
140
+ name: 'transferOwnership',
141
+ outputs: [],
142
+ stateMutability: 'nonpayable',
143
+ },
144
+ {
145
+ type: 'function',
146
+ inputs: [{ name: 'salt', internalType: 'bytes32', type: 'bytes32' }],
147
+ name: 'updateActiveVouchersSessionNonce',
148
+ outputs: [],
149
+ stateMutability: 'nonpayable',
150
+ },
151
+ { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
152
+ {
153
+ type: 'event',
154
+ anonymous: false,
155
+ inputs: [
156
+ {
157
+ name: 'version',
158
+ internalType: 'uint64',
159
+ type: 'uint64',
160
+ indexed: false,
161
+ },
162
+ ],
163
+ name: 'Initialized',
164
+ },
165
+ {
166
+ type: 'event',
167
+ anonymous: false,
168
+ inputs: [
169
+ {
170
+ name: 'previousOwner',
171
+ internalType: 'address',
172
+ type: 'address',
173
+ indexed: true,
174
+ },
175
+ {
176
+ name: 'newOwner',
177
+ internalType: 'address',
178
+ type: 'address',
179
+ indexed: true,
180
+ },
181
+ ],
182
+ name: 'OwnershipTransferred',
183
+ },
184
+ {
185
+ type: 'event',
186
+ anonymous: false,
187
+ inputs: [
188
+ {
189
+ name: 'account',
190
+ internalType: 'address',
191
+ type: 'address',
192
+ indexed: false,
193
+ },
194
+ ],
195
+ name: 'Paused',
196
+ },
197
+ {
198
+ type: 'event',
199
+ anonymous: false,
200
+ inputs: [
201
+ {
202
+ name: 'account',
203
+ internalType: 'address',
204
+ type: 'address',
205
+ indexed: false,
206
+ },
207
+ ],
208
+ name: 'Unpaused',
209
+ },
210
+ { type: 'error', inputs: [], name: 'EnforcedPause' },
211
+ { type: 'error', inputs: [], name: 'ExpectedPause' },
212
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
213
+ { type: 'error', inputs: [], name: 'InvalidVerifyingContract' },
214
+ {
215
+ type: 'error',
216
+ inputs: [
217
+ {
218
+ name: 'providedSessionNonce',
219
+ internalType: 'bytes32',
220
+ type: 'bytes32',
221
+ },
222
+ { name: 'activeSessionNonce', internalType: 'bytes32', type: 'bytes32' },
223
+ ],
224
+ name: 'InvalidVoucherSessionNonce',
225
+ },
226
+ {
227
+ type: 'error',
228
+ inputs: [
229
+ { name: 'signer', internalType: 'address', type: 'address' },
230
+ { name: 'digest', internalType: 'bytes32', type: 'bytes32' },
231
+ { name: 'signature', internalType: 'bytes', type: 'bytes' },
232
+ ],
233
+ name: 'InvalidVoucherSignature',
234
+ },
235
+ { type: 'error', inputs: [], name: 'InvalidVoucherWarning' },
236
+ { type: 'error', inputs: [], name: 'NotInitializing' },
237
+ {
238
+ type: 'error',
239
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
240
+ name: 'OwnableInvalidOwner',
241
+ },
242
+ {
243
+ type: 'error',
244
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
245
+ name: 'OwnableUnauthorizedAccount',
246
+ },
247
+ {
248
+ type: 'error',
249
+ inputs: [
250
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
251
+ { name: 'sharer', internalType: 'address', type: 'address' },
252
+ ],
253
+ name: 'SharerNotAllowedForHandle',
254
+ },
255
+ ];
256
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
257
+ // IncoLightning
258
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
259
+ exports.incoLightningAbi = [
260
+ {
261
+ type: 'constructor',
262
+ inputs: [
263
+ { name: '_salt', internalType: 'bytes32', type: 'bytes32' },
264
+ {
265
+ name: '_incoVerifier',
266
+ internalType: 'contract IIncoVerifier',
267
+ type: 'address',
268
+ },
269
+ ],
270
+ stateMutability: 'nonpayable',
271
+ },
272
+ { type: 'fallback', stateMutability: 'nonpayable' },
273
+ { type: 'receive', stateMutability: 'payable' },
274
+ {
275
+ type: 'function',
276
+ inputs: [],
277
+ name: 'UPGRADE_INTERFACE_VERSION',
278
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
279
+ stateMutability: 'view',
280
+ },
281
+ {
282
+ type: 'function',
283
+ inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
284
+ name: 'addAcceptedVersion',
285
+ outputs: [],
286
+ stateMutability: 'nonpayable',
287
+ },
288
+ {
289
+ type: 'function',
290
+ inputs: [
291
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
292
+ { name: 'account', internalType: 'address', type: 'address' },
293
+ ],
294
+ name: 'allow',
295
+ outputs: [],
296
+ stateMutability: 'nonpayable',
297
+ },
298
+ {
299
+ type: 'function',
300
+ inputs: [
301
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
302
+ { name: 'account', internalType: 'address', type: 'address' },
303
+ ],
304
+ name: 'allowTransient',
305
+ outputs: [],
306
+ stateMutability: 'nonpayable',
307
+ },
308
+ {
309
+ type: 'function',
310
+ inputs: [
311
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
312
+ { name: 'account', internalType: 'address', type: 'address' },
313
+ ],
314
+ name: 'allowedTransient',
315
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
316
+ stateMutability: 'view',
317
+ },
318
+ {
319
+ type: 'function',
320
+ inputs: [{ name: 'value', internalType: 'address', type: 'address' }],
321
+ name: 'asEaddress',
322
+ outputs: [
323
+ { name: 'newEaddress', internalType: 'eaddress', type: 'bytes32' },
324
+ ],
325
+ stateMutability: 'nonpayable',
326
+ },
327
+ {
328
+ type: 'function',
329
+ inputs: [{ name: 'value', internalType: 'bool', type: 'bool' }],
330
+ name: 'asEbool',
331
+ outputs: [{ name: 'newEbool', internalType: 'ebool', type: 'bytes32' }],
332
+ stateMutability: 'nonpayable',
333
+ },
334
+ {
335
+ type: 'function',
336
+ inputs: [{ name: 'value', internalType: 'uint256', type: 'uint256' }],
337
+ name: 'asEuint256',
338
+ outputs: [
339
+ { name: 'newEuint256', internalType: 'euint256', type: 'bytes32' },
340
+ ],
341
+ stateMutability: 'nonpayable',
342
+ },
343
+ {
344
+ type: 'function',
345
+ inputs: [
346
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
347
+ {
348
+ name: 'proof',
349
+ internalType: 'struct AllowanceProof',
350
+ type: 'tuple',
351
+ components: [
352
+ { name: 'sharer', internalType: 'address', type: 'address' },
353
+ {
354
+ name: 'voucher',
355
+ internalType: 'struct AllowanceVoucher',
356
+ type: 'tuple',
357
+ components: [
358
+ { name: 'warning', internalType: 'string', type: 'string' },
359
+ {
360
+ name: 'sessionNonce',
361
+ internalType: 'bytes32',
362
+ type: 'bytes32',
363
+ },
364
+ {
365
+ name: 'verifyingContract',
366
+ internalType: 'address',
367
+ type: 'address',
368
+ },
369
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
370
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
371
+ ],
372
+ },
373
+ { name: 'voucherSignature', internalType: 'bytes', type: 'bytes' },
374
+ { name: 'requesterArgData', internalType: 'bytes', type: 'bytes' },
375
+ ],
376
+ },
377
+ ],
378
+ name: 'claimHandle',
379
+ outputs: [],
380
+ stateMutability: 'nonpayable',
381
+ },
382
+ {
383
+ type: 'function',
384
+ inputs: [
385
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
386
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
387
+ ],
388
+ name: 'eAdd',
389
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
390
+ stateMutability: 'nonpayable',
391
+ },
392
+ {
393
+ type: 'function',
394
+ inputs: [
395
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
396
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
397
+ ],
398
+ name: 'eBitAnd',
399
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
400
+ stateMutability: 'nonpayable',
401
+ },
402
+ {
403
+ type: 'function',
404
+ inputs: [
405
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
406
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
407
+ ],
408
+ name: 'eBitOr',
409
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
410
+ stateMutability: 'nonpayable',
411
+ },
412
+ {
413
+ type: 'function',
414
+ inputs: [
415
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
416
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
417
+ ],
418
+ name: 'eBitXor',
419
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
420
+ stateMutability: 'nonpayable',
421
+ },
422
+ {
423
+ type: 'function',
424
+ inputs: [
425
+ { name: 'ct', internalType: 'bytes32', type: 'bytes32' },
426
+ { name: 'toType', internalType: 'enum ETypes', type: 'uint8' },
427
+ ],
428
+ name: 'eCast',
429
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
430
+ stateMutability: 'nonpayable',
431
+ },
432
+ {
433
+ type: 'function',
434
+ inputs: [
435
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
436
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
437
+ ],
438
+ name: 'eDiv',
439
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
440
+ stateMutability: 'nonpayable',
441
+ },
442
+ {
443
+ type: 'function',
444
+ inputs: [
445
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
446
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
447
+ ],
448
+ name: 'eEq',
449
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
450
+ stateMutability: 'nonpayable',
451
+ },
452
+ {
453
+ type: 'function',
454
+ inputs: [
455
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
456
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
457
+ ],
458
+ name: 'eGe',
459
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
460
+ stateMutability: 'nonpayable',
461
+ },
462
+ {
463
+ type: 'function',
464
+ inputs: [
465
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
466
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
467
+ ],
468
+ name: 'eGt',
469
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
470
+ stateMutability: 'nonpayable',
471
+ },
472
+ {
473
+ type: 'function',
474
+ inputs: [
475
+ { name: 'control', internalType: 'ebool', type: 'bytes32' },
476
+ { name: 'ifTrue', internalType: 'bytes32', type: 'bytes32' },
477
+ { name: 'ifFalse', internalType: 'bytes32', type: 'bytes32' },
478
+ ],
479
+ name: 'eIfThenElse',
480
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
481
+ stateMutability: 'nonpayable',
482
+ },
483
+ {
484
+ type: 'function',
485
+ inputs: [
486
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
487
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
488
+ ],
489
+ name: 'eLe',
490
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
491
+ stateMutability: 'nonpayable',
492
+ },
493
+ {
494
+ type: 'function',
495
+ inputs: [
496
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
497
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
498
+ ],
499
+ name: 'eLt',
500
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
501
+ stateMutability: 'nonpayable',
502
+ },
503
+ {
504
+ type: 'function',
505
+ inputs: [
506
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
507
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
508
+ ],
509
+ name: 'eMax',
510
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
511
+ stateMutability: 'nonpayable',
512
+ },
513
+ {
514
+ type: 'function',
515
+ inputs: [
516
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
517
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
518
+ ],
519
+ name: 'eMin',
520
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
521
+ stateMutability: 'nonpayable',
522
+ },
523
+ {
524
+ type: 'function',
525
+ inputs: [
526
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
527
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
528
+ ],
529
+ name: 'eMul',
530
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
531
+ stateMutability: 'nonpayable',
532
+ },
533
+ {
534
+ type: 'function',
535
+ inputs: [
536
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32' },
537
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32' },
538
+ ],
539
+ name: 'eNe',
540
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
541
+ stateMutability: 'nonpayable',
542
+ },
543
+ {
544
+ type: 'function',
545
+ inputs: [{ name: 'operand', internalType: 'ebool', type: 'bytes32' }],
546
+ name: 'eNot',
547
+ outputs: [{ name: 'result', internalType: 'ebool', type: 'bytes32' }],
548
+ stateMutability: 'nonpayable',
549
+ },
550
+ {
551
+ type: 'function',
552
+ inputs: [
553
+ { name: 'upperBound', internalType: 'bytes32', type: 'bytes32' },
554
+ { name: 'randType', internalType: 'enum ETypes', type: 'uint8' },
555
+ ],
556
+ name: 'eRandBounded',
557
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
558
+ stateMutability: 'payable',
559
+ },
560
+ {
561
+ type: 'function',
562
+ inputs: [
563
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
564
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
565
+ ],
566
+ name: 'eRem',
567
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
568
+ stateMutability: 'nonpayable',
569
+ },
570
+ {
571
+ type: 'function',
572
+ inputs: [
573
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
574
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
575
+ ],
576
+ name: 'eRotl',
577
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
578
+ stateMutability: 'nonpayable',
579
+ },
580
+ {
581
+ type: 'function',
582
+ inputs: [
583
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
584
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
585
+ ],
586
+ name: 'eRotr',
587
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
588
+ stateMutability: 'nonpayable',
589
+ },
590
+ {
591
+ type: 'function',
592
+ inputs: [
593
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
594
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
595
+ ],
596
+ name: 'eShl',
597
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
598
+ stateMutability: 'nonpayable',
599
+ },
600
+ {
601
+ type: 'function',
602
+ inputs: [
603
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
604
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
605
+ ],
606
+ name: 'eShr',
607
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
608
+ stateMutability: 'nonpayable',
609
+ },
610
+ {
611
+ type: 'function',
612
+ inputs: [
613
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32' },
614
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32' },
615
+ ],
616
+ name: 'eSub',
617
+ outputs: [{ name: 'result', internalType: 'euint256', type: 'bytes32' }],
618
+ stateMutability: 'nonpayable',
619
+ },
620
+ {
621
+ type: 'function',
622
+ inputs: [],
623
+ name: 'getBitFee',
624
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
625
+ stateMutability: 'pure',
626
+ },
627
+ {
628
+ type: 'function',
629
+ inputs: [
630
+ { name: 'nOfElements', internalType: 'uint16', type: 'uint16' },
631
+ { name: 'elType', internalType: 'enum ETypes', type: 'uint8' },
632
+ ],
633
+ name: 'getEListFee',
634
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
635
+ stateMutability: 'pure',
636
+ },
637
+ {
638
+ type: 'function',
639
+ inputs: [],
640
+ name: 'getEventCounter',
641
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
642
+ stateMutability: 'view',
643
+ },
644
+ {
645
+ type: 'function',
646
+ inputs: [],
647
+ name: 'getFee',
648
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
649
+ stateMutability: 'pure',
650
+ },
651
+ {
652
+ type: 'function',
653
+ inputs: [],
654
+ name: 'getMajorVersion',
655
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
656
+ stateMutability: 'view',
657
+ },
658
+ {
659
+ type: 'function',
660
+ inputs: [],
661
+ name: 'getName',
662
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
663
+ stateMutability: 'view',
664
+ },
665
+ {
666
+ type: 'function',
667
+ inputs: [],
668
+ name: 'getNextEventId',
669
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
670
+ stateMutability: 'view',
671
+ },
672
+ {
673
+ type: 'function',
674
+ inputs: [
675
+ { name: 'op', internalType: 'enum EOps', type: 'uint8' },
676
+ { name: 'returnType', internalType: 'enum ETypes', type: 'uint8' },
677
+ { name: 'packedInputs', internalType: 'bytes', type: 'bytes' },
678
+ ],
679
+ name: 'getOpResultHandle',
680
+ outputs: [
681
+ { name: 'generatedHandle', internalType: 'bytes32', type: 'bytes32' },
682
+ ],
683
+ stateMutability: 'pure',
684
+ },
685
+ {
686
+ type: 'function',
687
+ inputs: [
688
+ { name: 'plaintextBytes', internalType: 'bytes32', type: 'bytes32' },
689
+ { name: 'handleType', internalType: 'enum ETypes', type: 'uint8' },
690
+ ],
691
+ name: 'getTrivialEncryptHandle',
692
+ outputs: [
693
+ { name: 'generatedHandle', internalType: 'bytes32', type: 'bytes32' },
694
+ ],
695
+ stateMutability: 'pure',
696
+ },
697
+ {
698
+ type: 'function',
699
+ inputs: [],
700
+ name: 'getVersion',
701
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
702
+ stateMutability: 'view',
703
+ },
704
+ {
705
+ type: 'function',
706
+ inputs: [],
707
+ name: 'getVersionedName',
708
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
709
+ stateMutability: 'view',
710
+ },
711
+ {
712
+ type: 'function',
713
+ inputs: [],
714
+ name: 'incoVerifier',
715
+ outputs: [
716
+ { name: '', internalType: 'contract IIncoVerifier', type: 'address' },
717
+ ],
718
+ stateMutability: 'view',
719
+ },
720
+ {
721
+ type: 'function',
722
+ inputs: [{ name: '_owner', internalType: 'address', type: 'address' }],
723
+ name: 'initialize',
724
+ outputs: [],
725
+ stateMutability: 'nonpayable',
726
+ },
727
+ {
728
+ type: 'function',
729
+ inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
730
+ name: 'isAcceptedVersion',
731
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
732
+ stateMutability: 'view',
733
+ },
734
+ {
735
+ type: 'function',
736
+ inputs: [
737
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
738
+ { name: 'account', internalType: 'address', type: 'address' },
739
+ ],
740
+ name: 'isAllowed',
741
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
742
+ stateMutability: 'view',
743
+ },
744
+ {
745
+ type: 'function',
746
+ inputs: [{ name: 'handle', internalType: 'bytes32', type: 'bytes32' }],
747
+ name: 'isRevealed',
748
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
749
+ stateMutability: 'view',
750
+ },
751
+ {
752
+ type: 'function',
753
+ inputs: [{ name: 'handle', internalType: 'bytes32', type: 'bytes32' }],
754
+ name: 'lengthOf',
755
+ outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
756
+ stateMutability: 'pure',
757
+ },
758
+ {
759
+ type: 'function',
760
+ inputs: [
761
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
762
+ { name: 'value', internalType: 'bytes32', type: 'bytes32' },
763
+ ],
764
+ name: 'listAppend',
765
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
766
+ stateMutability: 'payable',
767
+ },
768
+ {
769
+ type: 'function',
770
+ inputs: [
771
+ { name: 'lhs', internalType: 'elist', type: 'bytes32' },
772
+ { name: 'rhs', internalType: 'elist', type: 'bytes32' },
773
+ ],
774
+ name: 'listConcat',
775
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
776
+ stateMutability: 'payable',
777
+ },
778
+ {
779
+ type: 'function',
780
+ inputs: [
781
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
782
+ { name: 'i', internalType: 'uint16', type: 'uint16' },
783
+ ],
784
+ name: 'listGet',
785
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
786
+ stateMutability: 'nonpayable',
787
+ },
788
+ {
789
+ type: 'function',
790
+ inputs: [
791
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
792
+ { name: 'index', internalType: 'bytes32', type: 'bytes32' },
793
+ { name: 'defaultValue', internalType: 'bytes32', type: 'bytes32' },
794
+ ],
795
+ name: 'listGetOr',
796
+ outputs: [{ name: 'result', internalType: 'bytes32', type: 'bytes32' }],
797
+ stateMutability: 'nonpayable',
798
+ },
799
+ {
800
+ type: 'function',
801
+ inputs: [
802
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
803
+ { name: 'index', internalType: 'bytes32', type: 'bytes32' },
804
+ { name: 'value', internalType: 'bytes32', type: 'bytes32' },
805
+ ],
806
+ name: 'listInsert',
807
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
808
+ stateMutability: 'payable',
809
+ },
810
+ {
811
+ type: 'function',
812
+ inputs: [
813
+ { name: 'start', internalType: 'uint16', type: 'uint16' },
814
+ { name: 'end', internalType: 'uint16', type: 'uint16' },
815
+ { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
816
+ ],
817
+ name: 'listRange',
818
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
819
+ stateMutability: 'payable',
820
+ },
821
+ {
822
+ type: 'function',
823
+ inputs: [{ name: 'list', internalType: 'elist', type: 'bytes32' }],
824
+ name: 'listReverse',
825
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
826
+ stateMutability: 'payable',
827
+ },
828
+ {
829
+ type: 'function',
830
+ inputs: [
831
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
832
+ { name: 'index', internalType: 'bytes32', type: 'bytes32' },
833
+ { name: 'value', internalType: 'bytes32', type: 'bytes32' },
834
+ ],
835
+ name: 'listSet',
836
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
837
+ stateMutability: 'payable',
838
+ },
839
+ {
840
+ type: 'function',
841
+ inputs: [{ name: 'list', internalType: 'elist', type: 'bytes32' }],
842
+ name: 'listShuffle',
843
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
844
+ stateMutability: 'payable',
845
+ },
846
+ {
847
+ type: 'function',
848
+ inputs: [
849
+ { name: 'list', internalType: 'elist', type: 'bytes32' },
850
+ { name: 'start', internalType: 'bytes32', type: 'bytes32' },
851
+ { name: 'len', internalType: 'uint16', type: 'uint16' },
852
+ { name: 'defaultValue', internalType: 'bytes32', type: 'bytes32' },
853
+ ],
854
+ name: 'listSlice',
855
+ outputs: [{ name: 'result', internalType: 'elist', type: 'bytes32' }],
856
+ stateMutability: 'payable',
857
+ },
858
+ {
859
+ type: 'function',
860
+ inputs: [],
861
+ name: 'majorVersion',
862
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
863
+ stateMutability: 'view',
864
+ },
865
+ {
866
+ type: 'function',
867
+ inputs: [],
868
+ name: 'minorVersion',
869
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
870
+ stateMutability: 'view',
871
+ },
872
+ {
873
+ type: 'function',
874
+ inputs: [
875
+ { name: 'handles', internalType: 'bytes32[]', type: 'bytes32[]' },
876
+ { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
877
+ ],
878
+ name: 'newEList',
879
+ outputs: [{ name: 'newList', internalType: 'elist', type: 'bytes32' }],
880
+ stateMutability: 'payable',
881
+ },
882
+ {
883
+ type: 'function',
884
+ inputs: [
885
+ { name: 'inputs', internalType: 'bytes[]', type: 'bytes[]' },
886
+ { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
887
+ { name: 'user', internalType: 'address', type: 'address' },
888
+ ],
889
+ name: 'newEList',
890
+ outputs: [{ name: 'newList', internalType: 'elist', type: 'bytes32' }],
891
+ stateMutability: 'payable',
892
+ },
893
+ {
894
+ type: 'function',
895
+ inputs: [
896
+ { name: 'input', internalType: 'bytes', type: 'bytes' },
897
+ { name: 'user', internalType: 'address', type: 'address' },
898
+ ],
899
+ name: 'newEaddress',
900
+ outputs: [{ name: 'newValue', internalType: 'eaddress', type: 'bytes32' }],
901
+ stateMutability: 'payable',
902
+ },
903
+ {
904
+ type: 'function',
905
+ inputs: [
906
+ { name: 'input', internalType: 'bytes', type: 'bytes' },
907
+ { name: 'user', internalType: 'address', type: 'address' },
908
+ ],
909
+ name: 'newEbool',
910
+ outputs: [{ name: 'newValue', internalType: 'ebool', type: 'bytes32' }],
911
+ stateMutability: 'payable',
912
+ },
913
+ {
914
+ type: 'function',
915
+ inputs: [
916
+ { name: 'input', internalType: 'bytes', type: 'bytes' },
917
+ { name: 'user', internalType: 'address', type: 'address' },
918
+ ],
919
+ name: 'newEuint256',
920
+ outputs: [{ name: 'newValue', internalType: 'euint256', type: 'bytes32' }],
921
+ stateMutability: 'payable',
922
+ },
923
+ {
924
+ type: 'function',
925
+ inputs: [],
926
+ name: 'owner',
927
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
928
+ stateMutability: 'view',
929
+ },
930
+ {
931
+ type: 'function',
932
+ inputs: [],
933
+ name: 'patchVersion',
934
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
935
+ stateMutability: 'view',
936
+ },
937
+ {
938
+ type: 'function',
939
+ inputs: [],
940
+ name: 'pause',
941
+ outputs: [],
942
+ stateMutability: 'nonpayable',
943
+ },
944
+ {
945
+ type: 'function',
946
+ inputs: [],
947
+ name: 'paused',
948
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
949
+ stateMutability: 'view',
950
+ },
951
+ {
952
+ type: 'function',
953
+ inputs: [
954
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
955
+ { name: 'account', internalType: 'address', type: 'address' },
956
+ ],
957
+ name: 'persistAllowed',
958
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
959
+ stateMutability: 'view',
960
+ },
961
+ {
962
+ type: 'function',
963
+ inputs: [],
964
+ name: 'proxiableUUID',
965
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
966
+ stateMutability: 'view',
967
+ },
968
+ {
969
+ type: 'function',
970
+ inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
971
+ name: 'removeAcceptedVersion',
972
+ outputs: [],
973
+ stateMutability: 'nonpayable',
974
+ },
975
+ {
976
+ type: 'function',
977
+ inputs: [],
978
+ name: 'renounceOwnership',
979
+ outputs: [],
980
+ stateMutability: 'nonpayable',
981
+ },
982
+ {
983
+ type: 'function',
984
+ inputs: [{ name: 'handle', internalType: 'bytes32', type: 'bytes32' }],
985
+ name: 'reveal',
986
+ outputs: [],
987
+ stateMutability: 'nonpayable',
988
+ },
989
+ {
990
+ type: 'function',
991
+ inputs: [],
992
+ name: 'salt',
993
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
994
+ stateMutability: 'view',
995
+ },
996
+ {
997
+ type: 'function',
998
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
999
+ name: 'transferOwnership',
1000
+ outputs: [],
1001
+ stateMutability: 'nonpayable',
1002
+ },
1003
+ {
1004
+ type: 'function',
1005
+ inputs: [],
1006
+ name: 'unpause',
1007
+ outputs: [],
1008
+ stateMutability: 'nonpayable',
1009
+ },
1010
+ {
1011
+ type: 'function',
1012
+ inputs: [
1013
+ { name: 'newImplementation', internalType: 'address', type: 'address' },
1014
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
1015
+ ],
1016
+ name: 'upgradeToAndCall',
1017
+ outputs: [],
1018
+ stateMutability: 'payable',
1019
+ },
1020
+ {
1021
+ type: 'function',
1022
+ inputs: [],
1023
+ name: 'withdrawFees',
1024
+ outputs: [],
1025
+ stateMutability: 'nonpayable',
1026
+ },
1027
+ {
1028
+ type: 'event',
1029
+ anonymous: false,
1030
+ inputs: [
1031
+ {
1032
+ name: 'handle',
1033
+ internalType: 'bytes32',
1034
+ type: 'bytes32',
1035
+ indexed: false,
1036
+ },
1037
+ {
1038
+ name: 'account',
1039
+ internalType: 'address',
1040
+ type: 'address',
1041
+ indexed: false,
1042
+ },
1043
+ {
1044
+ name: 'eventId',
1045
+ internalType: 'uint256',
1046
+ type: 'uint256',
1047
+ indexed: false,
1048
+ },
1049
+ ],
1050
+ name: 'Allow',
1051
+ },
1052
+ {
1053
+ type: 'event',
1054
+ anonymous: false,
1055
+ inputs: [
1056
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1057
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1058
+ {
1059
+ name: 'result',
1060
+ internalType: 'euint256',
1061
+ type: 'bytes32',
1062
+ indexed: true,
1063
+ },
1064
+ {
1065
+ name: 'eventId',
1066
+ internalType: 'uint256',
1067
+ type: 'uint256',
1068
+ indexed: false,
1069
+ },
1070
+ ],
1071
+ name: 'EAdd',
1072
+ },
1073
+ {
1074
+ type: 'event',
1075
+ anonymous: false,
1076
+ inputs: [
1077
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1078
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1079
+ {
1080
+ name: 'result',
1081
+ internalType: 'bytes32',
1082
+ type: 'bytes32',
1083
+ indexed: true,
1084
+ },
1085
+ {
1086
+ name: 'eventId',
1087
+ internalType: 'uint256',
1088
+ type: 'uint256',
1089
+ indexed: false,
1090
+ },
1091
+ ],
1092
+ name: 'EBitAnd',
1093
+ },
1094
+ {
1095
+ type: 'event',
1096
+ anonymous: false,
1097
+ inputs: [
1098
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1099
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1100
+ {
1101
+ name: 'result',
1102
+ internalType: 'bytes32',
1103
+ type: 'bytes32',
1104
+ indexed: true,
1105
+ },
1106
+ {
1107
+ name: 'eventId',
1108
+ internalType: 'uint256',
1109
+ type: 'uint256',
1110
+ indexed: false,
1111
+ },
1112
+ ],
1113
+ name: 'EBitOr',
1114
+ },
1115
+ {
1116
+ type: 'event',
1117
+ anonymous: false,
1118
+ inputs: [
1119
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1120
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1121
+ {
1122
+ name: 'result',
1123
+ internalType: 'bytes32',
1124
+ type: 'bytes32',
1125
+ indexed: true,
1126
+ },
1127
+ {
1128
+ name: 'eventId',
1129
+ internalType: 'uint256',
1130
+ type: 'uint256',
1131
+ indexed: false,
1132
+ },
1133
+ ],
1134
+ name: 'EBitXor',
1135
+ },
1136
+ {
1137
+ type: 'event',
1138
+ anonymous: false,
1139
+ inputs: [
1140
+ { name: 'ct', internalType: 'bytes32', type: 'bytes32', indexed: true },
1141
+ { name: 'toType', internalType: 'uint8', type: 'uint8', indexed: true },
1142
+ {
1143
+ name: 'result',
1144
+ internalType: 'bytes32',
1145
+ type: 'bytes32',
1146
+ indexed: true,
1147
+ },
1148
+ {
1149
+ name: 'eventId',
1150
+ internalType: 'uint256',
1151
+ type: 'uint256',
1152
+ indexed: false,
1153
+ },
1154
+ ],
1155
+ name: 'ECast',
1156
+ },
1157
+ {
1158
+ type: 'event',
1159
+ anonymous: false,
1160
+ inputs: [
1161
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1162
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1163
+ {
1164
+ name: 'result',
1165
+ internalType: 'euint256',
1166
+ type: 'bytes32',
1167
+ indexed: true,
1168
+ },
1169
+ {
1170
+ name: 'eventId',
1171
+ internalType: 'uint256',
1172
+ type: 'uint256',
1173
+ indexed: false,
1174
+ },
1175
+ ],
1176
+ name: 'EDiv',
1177
+ },
1178
+ {
1179
+ type: 'event',
1180
+ anonymous: false,
1181
+ inputs: [
1182
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1183
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1184
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1185
+ {
1186
+ name: 'eventId',
1187
+ internalType: 'uint256',
1188
+ type: 'uint256',
1189
+ indexed: false,
1190
+ },
1191
+ ],
1192
+ name: 'EEq',
1193
+ },
1194
+ {
1195
+ type: 'event',
1196
+ anonymous: false,
1197
+ inputs: [
1198
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1199
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1200
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1201
+ {
1202
+ name: 'eventId',
1203
+ internalType: 'uint256',
1204
+ type: 'uint256',
1205
+ indexed: false,
1206
+ },
1207
+ ],
1208
+ name: 'EGe',
1209
+ },
1210
+ {
1211
+ type: 'event',
1212
+ anonymous: false,
1213
+ inputs: [
1214
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1215
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1216
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1217
+ {
1218
+ name: 'eventId',
1219
+ internalType: 'uint256',
1220
+ type: 'uint256',
1221
+ indexed: false,
1222
+ },
1223
+ ],
1224
+ name: 'EGt',
1225
+ },
1226
+ {
1227
+ type: 'event',
1228
+ anonymous: false,
1229
+ inputs: [
1230
+ {
1231
+ name: 'control',
1232
+ internalType: 'ebool',
1233
+ type: 'bytes32',
1234
+ indexed: false,
1235
+ },
1236
+ {
1237
+ name: 'ifTrue',
1238
+ internalType: 'bytes32',
1239
+ type: 'bytes32',
1240
+ indexed: true,
1241
+ },
1242
+ {
1243
+ name: 'ifFalse',
1244
+ internalType: 'bytes32',
1245
+ type: 'bytes32',
1246
+ indexed: true,
1247
+ },
1248
+ {
1249
+ name: 'result',
1250
+ internalType: 'bytes32',
1251
+ type: 'bytes32',
1252
+ indexed: true,
1253
+ },
1254
+ {
1255
+ name: 'eventId',
1256
+ internalType: 'uint256',
1257
+ type: 'uint256',
1258
+ indexed: false,
1259
+ },
1260
+ ],
1261
+ name: 'EIfThenElse',
1262
+ },
1263
+ {
1264
+ type: 'event',
1265
+ anonymous: false,
1266
+ inputs: [
1267
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1268
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1269
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1270
+ {
1271
+ name: 'eventId',
1272
+ internalType: 'uint256',
1273
+ type: 'uint256',
1274
+ indexed: false,
1275
+ },
1276
+ ],
1277
+ name: 'ELe',
1278
+ },
1279
+ {
1280
+ type: 'event',
1281
+ anonymous: false,
1282
+ inputs: [
1283
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1284
+ {
1285
+ name: 'value',
1286
+ internalType: 'bytes32',
1287
+ type: 'bytes32',
1288
+ indexed: true,
1289
+ },
1290
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1291
+ {
1292
+ name: 'eventId',
1293
+ internalType: 'uint256',
1294
+ type: 'uint256',
1295
+ indexed: false,
1296
+ },
1297
+ ],
1298
+ name: 'EListAppend',
1299
+ },
1300
+ {
1301
+ type: 'event',
1302
+ anonymous: false,
1303
+ inputs: [
1304
+ { name: 'list1', internalType: 'elist', type: 'bytes32', indexed: true },
1305
+ { name: 'list2', internalType: 'elist', type: 'bytes32', indexed: true },
1306
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1307
+ {
1308
+ name: 'eventId',
1309
+ internalType: 'uint256',
1310
+ type: 'uint256',
1311
+ indexed: false,
1312
+ },
1313
+ ],
1314
+ name: 'EListConcat',
1315
+ },
1316
+ {
1317
+ type: 'event',
1318
+ anonymous: false,
1319
+ inputs: [
1320
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1321
+ { name: 'index', internalType: 'uint16', type: 'uint16', indexed: true },
1322
+ {
1323
+ name: 'result',
1324
+ internalType: 'bytes32',
1325
+ type: 'bytes32',
1326
+ indexed: true,
1327
+ },
1328
+ {
1329
+ name: 'eventId',
1330
+ internalType: 'uint256',
1331
+ type: 'uint256',
1332
+ indexed: false,
1333
+ },
1334
+ ],
1335
+ name: 'EListGet',
1336
+ },
1337
+ {
1338
+ type: 'event',
1339
+ anonymous: false,
1340
+ inputs: [
1341
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1342
+ {
1343
+ name: 'index',
1344
+ internalType: 'bytes32',
1345
+ type: 'bytes32',
1346
+ indexed: false,
1347
+ },
1348
+ {
1349
+ name: 'defaultValue',
1350
+ internalType: 'bytes32',
1351
+ type: 'bytes32',
1352
+ indexed: true,
1353
+ },
1354
+ {
1355
+ name: 'result',
1356
+ internalType: 'bytes32',
1357
+ type: 'bytes32',
1358
+ indexed: true,
1359
+ },
1360
+ {
1361
+ name: 'eventId',
1362
+ internalType: 'uint256',
1363
+ type: 'uint256',
1364
+ indexed: false,
1365
+ },
1366
+ ],
1367
+ name: 'EListGetOr',
1368
+ },
1369
+ {
1370
+ type: 'event',
1371
+ anonymous: false,
1372
+ inputs: [
1373
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: false },
1374
+ {
1375
+ name: 'index',
1376
+ internalType: 'bytes32',
1377
+ type: 'bytes32',
1378
+ indexed: true,
1379
+ },
1380
+ {
1381
+ name: 'value',
1382
+ internalType: 'bytes32',
1383
+ type: 'bytes32',
1384
+ indexed: true,
1385
+ },
1386
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1387
+ {
1388
+ name: 'eventId',
1389
+ internalType: 'uint256',
1390
+ type: 'uint256',
1391
+ indexed: false,
1392
+ },
1393
+ ],
1394
+ name: 'EListInsert',
1395
+ },
1396
+ {
1397
+ type: 'event',
1398
+ anonymous: false,
1399
+ inputs: [
1400
+ {
1401
+ name: 'start',
1402
+ internalType: 'uint256',
1403
+ type: 'uint256',
1404
+ indexed: true,
1405
+ },
1406
+ { name: 'end', internalType: 'uint256', type: 'uint256', indexed: true },
1407
+ {
1408
+ name: 'listType',
1409
+ internalType: 'enum ETypes',
1410
+ type: 'uint8',
1411
+ indexed: false,
1412
+ },
1413
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1414
+ {
1415
+ name: 'eventId',
1416
+ internalType: 'uint256',
1417
+ type: 'uint256',
1418
+ indexed: false,
1419
+ },
1420
+ ],
1421
+ name: 'EListRange',
1422
+ },
1423
+ {
1424
+ type: 'event',
1425
+ anonymous: false,
1426
+ inputs: [
1427
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1428
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1429
+ {
1430
+ name: 'eventId',
1431
+ internalType: 'uint256',
1432
+ type: 'uint256',
1433
+ indexed: false,
1434
+ },
1435
+ ],
1436
+ name: 'EListReverse',
1437
+ },
1438
+ {
1439
+ type: 'event',
1440
+ anonymous: false,
1441
+ inputs: [
1442
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: false },
1443
+ {
1444
+ name: 'index',
1445
+ internalType: 'bytes32',
1446
+ type: 'bytes32',
1447
+ indexed: true,
1448
+ },
1449
+ {
1450
+ name: 'value',
1451
+ internalType: 'bytes32',
1452
+ type: 'bytes32',
1453
+ indexed: true,
1454
+ },
1455
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1456
+ {
1457
+ name: 'eventId',
1458
+ internalType: 'uint256',
1459
+ type: 'uint256',
1460
+ indexed: false,
1461
+ },
1462
+ ],
1463
+ name: 'EListSet',
1464
+ },
1465
+ {
1466
+ type: 'event',
1467
+ anonymous: false,
1468
+ inputs: [
1469
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: true },
1470
+ {
1471
+ name: 'counter',
1472
+ internalType: 'uint256',
1473
+ type: 'uint256',
1474
+ indexed: true,
1475
+ },
1476
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1477
+ {
1478
+ name: 'eventId',
1479
+ internalType: 'uint256',
1480
+ type: 'uint256',
1481
+ indexed: false,
1482
+ },
1483
+ ],
1484
+ name: 'EListShuffle',
1485
+ },
1486
+ {
1487
+ type: 'event',
1488
+ anonymous: false,
1489
+ inputs: [
1490
+ { name: 'list', internalType: 'elist', type: 'bytes32', indexed: false },
1491
+ {
1492
+ name: 'start',
1493
+ internalType: 'bytes32',
1494
+ type: 'bytes32',
1495
+ indexed: true,
1496
+ },
1497
+ {
1498
+ name: 'length',
1499
+ internalType: 'uint16',
1500
+ type: 'uint16',
1501
+ indexed: false,
1502
+ },
1503
+ {
1504
+ name: 'defaultValue',
1505
+ internalType: 'bytes32',
1506
+ type: 'bytes32',
1507
+ indexed: true,
1508
+ },
1509
+ { name: 'result', internalType: 'elist', type: 'bytes32', indexed: true },
1510
+ {
1511
+ name: 'eventId',
1512
+ internalType: 'uint256',
1513
+ type: 'uint256',
1514
+ indexed: false,
1515
+ },
1516
+ ],
1517
+ name: 'EListSlice',
1518
+ },
1519
+ {
1520
+ type: 'event',
1521
+ anonymous: false,
1522
+ inputs: [
1523
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1524
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1525
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1526
+ {
1527
+ name: 'eventId',
1528
+ internalType: 'uint256',
1529
+ type: 'uint256',
1530
+ indexed: false,
1531
+ },
1532
+ ],
1533
+ name: 'ELt',
1534
+ },
1535
+ {
1536
+ type: 'event',
1537
+ anonymous: false,
1538
+ inputs: [
1539
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1540
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1541
+ {
1542
+ name: 'result',
1543
+ internalType: 'euint256',
1544
+ type: 'bytes32',
1545
+ indexed: true,
1546
+ },
1547
+ {
1548
+ name: 'eventId',
1549
+ internalType: 'uint256',
1550
+ type: 'uint256',
1551
+ indexed: false,
1552
+ },
1553
+ ],
1554
+ name: 'EMax',
1555
+ },
1556
+ {
1557
+ type: 'event',
1558
+ anonymous: false,
1559
+ inputs: [
1560
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1561
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1562
+ {
1563
+ name: 'result',
1564
+ internalType: 'euint256',
1565
+ type: 'bytes32',
1566
+ indexed: true,
1567
+ },
1568
+ {
1569
+ name: 'eventId',
1570
+ internalType: 'uint256',
1571
+ type: 'uint256',
1572
+ indexed: false,
1573
+ },
1574
+ ],
1575
+ name: 'EMin',
1576
+ },
1577
+ {
1578
+ type: 'event',
1579
+ anonymous: false,
1580
+ inputs: [
1581
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1582
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1583
+ {
1584
+ name: 'result',
1585
+ internalType: 'euint256',
1586
+ type: 'bytes32',
1587
+ indexed: true,
1588
+ },
1589
+ {
1590
+ name: 'eventId',
1591
+ internalType: 'uint256',
1592
+ type: 'uint256',
1593
+ indexed: false,
1594
+ },
1595
+ ],
1596
+ name: 'EMul',
1597
+ },
1598
+ {
1599
+ type: 'event',
1600
+ anonymous: false,
1601
+ inputs: [
1602
+ { name: 'lhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1603
+ { name: 'rhs', internalType: 'bytes32', type: 'bytes32', indexed: true },
1604
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1605
+ {
1606
+ name: 'eventId',
1607
+ internalType: 'uint256',
1608
+ type: 'uint256',
1609
+ indexed: false,
1610
+ },
1611
+ ],
1612
+ name: 'ENe',
1613
+ },
1614
+ {
1615
+ type: 'event',
1616
+ anonymous: false,
1617
+ inputs: [
1618
+ {
1619
+ name: 'operand',
1620
+ internalType: 'ebool',
1621
+ type: 'bytes32',
1622
+ indexed: true,
1623
+ },
1624
+ { name: 'result', internalType: 'ebool', type: 'bytes32', indexed: true },
1625
+ {
1626
+ name: 'eventId',
1627
+ internalType: 'uint256',
1628
+ type: 'uint256',
1629
+ indexed: false,
1630
+ },
1631
+ ],
1632
+ name: 'ENot',
1633
+ },
1634
+ {
1635
+ type: 'event',
1636
+ anonymous: false,
1637
+ inputs: [
1638
+ {
1639
+ name: 'counter',
1640
+ internalType: 'uint256',
1641
+ type: 'uint256',
1642
+ indexed: true,
1643
+ },
1644
+ {
1645
+ name: 'randType',
1646
+ internalType: 'enum ETypes',
1647
+ type: 'uint8',
1648
+ indexed: false,
1649
+ },
1650
+ {
1651
+ name: 'upperBound',
1652
+ internalType: 'bytes32',
1653
+ type: 'bytes32',
1654
+ indexed: true,
1655
+ },
1656
+ {
1657
+ name: 'result',
1658
+ internalType: 'bytes32',
1659
+ type: 'bytes32',
1660
+ indexed: true,
1661
+ },
1662
+ {
1663
+ name: 'eventId',
1664
+ internalType: 'uint256',
1665
+ type: 'uint256',
1666
+ indexed: false,
1667
+ },
1668
+ ],
1669
+ name: 'ERandBounded',
1670
+ },
1671
+ {
1672
+ type: 'event',
1673
+ anonymous: false,
1674
+ inputs: [
1675
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1676
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1677
+ {
1678
+ name: 'result',
1679
+ internalType: 'euint256',
1680
+ type: 'bytes32',
1681
+ indexed: true,
1682
+ },
1683
+ {
1684
+ name: 'eventId',
1685
+ internalType: 'uint256',
1686
+ type: 'uint256',
1687
+ indexed: false,
1688
+ },
1689
+ ],
1690
+ name: 'ERem',
1691
+ },
1692
+ {
1693
+ type: 'event',
1694
+ anonymous: false,
1695
+ inputs: [
1696
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1697
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1698
+ {
1699
+ name: 'result',
1700
+ internalType: 'euint256',
1701
+ type: 'bytes32',
1702
+ indexed: true,
1703
+ },
1704
+ {
1705
+ name: 'eventId',
1706
+ internalType: 'uint256',
1707
+ type: 'uint256',
1708
+ indexed: false,
1709
+ },
1710
+ ],
1711
+ name: 'ERotl',
1712
+ },
1713
+ {
1714
+ type: 'event',
1715
+ anonymous: false,
1716
+ inputs: [
1717
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1718
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1719
+ {
1720
+ name: 'result',
1721
+ internalType: 'euint256',
1722
+ type: 'bytes32',
1723
+ indexed: true,
1724
+ },
1725
+ {
1726
+ name: 'eventId',
1727
+ internalType: 'uint256',
1728
+ type: 'uint256',
1729
+ indexed: false,
1730
+ },
1731
+ ],
1732
+ name: 'ERotr',
1733
+ },
1734
+ {
1735
+ type: 'event',
1736
+ anonymous: false,
1737
+ inputs: [
1738
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1739
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1740
+ {
1741
+ name: 'result',
1742
+ internalType: 'euint256',
1743
+ type: 'bytes32',
1744
+ indexed: true,
1745
+ },
1746
+ {
1747
+ name: 'eventId',
1748
+ internalType: 'uint256',
1749
+ type: 'uint256',
1750
+ indexed: false,
1751
+ },
1752
+ ],
1753
+ name: 'EShl',
1754
+ },
1755
+ {
1756
+ type: 'event',
1757
+ anonymous: false,
1758
+ inputs: [
1759
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1760
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1761
+ {
1762
+ name: 'result',
1763
+ internalType: 'euint256',
1764
+ type: 'bytes32',
1765
+ indexed: true,
1766
+ },
1767
+ {
1768
+ name: 'eventId',
1769
+ internalType: 'uint256',
1770
+ type: 'uint256',
1771
+ indexed: false,
1772
+ },
1773
+ ],
1774
+ name: 'EShr',
1775
+ },
1776
+ {
1777
+ type: 'event',
1778
+ anonymous: false,
1779
+ inputs: [
1780
+ { name: 'lhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1781
+ { name: 'rhs', internalType: 'euint256', type: 'bytes32', indexed: true },
1782
+ {
1783
+ name: 'result',
1784
+ internalType: 'euint256',
1785
+ type: 'bytes32',
1786
+ indexed: true,
1787
+ },
1788
+ {
1789
+ name: 'eventId',
1790
+ internalType: 'uint256',
1791
+ type: 'uint256',
1792
+ indexed: false,
1793
+ },
1794
+ ],
1795
+ name: 'ESub',
1796
+ },
1797
+ {
1798
+ type: 'event',
1799
+ anonymous: false,
1800
+ inputs: [
1801
+ {
1802
+ name: 'version',
1803
+ internalType: 'uint64',
1804
+ type: 'uint64',
1805
+ indexed: false,
1806
+ },
1807
+ ],
1808
+ name: 'Initialized',
1809
+ },
1810
+ {
1811
+ type: 'event',
1812
+ anonymous: false,
1813
+ inputs: [
1814
+ {
1815
+ name: 'result',
1816
+ internalType: 'bytes32',
1817
+ type: 'bytes32',
1818
+ indexed: true,
1819
+ },
1820
+ {
1821
+ name: 'listType',
1822
+ internalType: 'enum ETypes',
1823
+ type: 'uint8',
1824
+ indexed: false,
1825
+ },
1826
+ {
1827
+ name: 'handles',
1828
+ internalType: 'bytes32[]',
1829
+ type: 'bytes32[]',
1830
+ indexed: false,
1831
+ },
1832
+ {
1833
+ name: 'eventId',
1834
+ internalType: 'uint256',
1835
+ type: 'uint256',
1836
+ indexed: false,
1837
+ },
1838
+ ],
1839
+ name: 'NewEList',
1840
+ },
1841
+ {
1842
+ type: 'event',
1843
+ anonymous: false,
1844
+ inputs: [
1845
+ {
1846
+ name: 'result',
1847
+ internalType: 'bytes32',
1848
+ type: 'bytes32',
1849
+ indexed: true,
1850
+ },
1851
+ {
1852
+ name: 'contractAddress',
1853
+ internalType: 'address',
1854
+ type: 'address',
1855
+ indexed: true,
1856
+ },
1857
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
1858
+ {
1859
+ name: 'version',
1860
+ internalType: 'uint16',
1861
+ type: 'uint16',
1862
+ indexed: false,
1863
+ },
1864
+ {
1865
+ name: 'ciphertext',
1866
+ internalType: 'bytes',
1867
+ type: 'bytes',
1868
+ indexed: false,
1869
+ },
1870
+ {
1871
+ name: 'eventId',
1872
+ internalType: 'uint256',
1873
+ type: 'uint256',
1874
+ indexed: false,
1875
+ },
1876
+ ],
1877
+ name: 'NewInput',
1878
+ },
1879
+ {
1880
+ type: 'event',
1881
+ anonymous: false,
1882
+ inputs: [
1883
+ {
1884
+ name: 'previousOwner',
1885
+ internalType: 'address',
1886
+ type: 'address',
1887
+ indexed: true,
1888
+ },
1889
+ {
1890
+ name: 'newOwner',
1891
+ internalType: 'address',
1892
+ type: 'address',
1893
+ indexed: true,
1894
+ },
1895
+ ],
1896
+ name: 'OwnershipTransferred',
1897
+ },
1898
+ {
1899
+ type: 'event',
1900
+ anonymous: false,
1901
+ inputs: [
1902
+ {
1903
+ name: 'account',
1904
+ internalType: 'address',
1905
+ type: 'address',
1906
+ indexed: false,
1907
+ },
1908
+ ],
1909
+ name: 'Paused',
1910
+ },
1911
+ {
1912
+ type: 'event',
1913
+ anonymous: false,
1914
+ inputs: [
1915
+ {
1916
+ name: 'handle',
1917
+ internalType: 'bytes32',
1918
+ type: 'bytes32',
1919
+ indexed: false,
1920
+ },
1921
+ {
1922
+ name: 'eventId',
1923
+ internalType: 'uint256',
1924
+ type: 'uint256',
1925
+ indexed: false,
1926
+ },
1927
+ ],
1928
+ name: 'Reveal',
1929
+ },
1930
+ {
1931
+ type: 'event',
1932
+ anonymous: false,
1933
+ inputs: [
1934
+ {
1935
+ name: 'result',
1936
+ internalType: 'bytes32',
1937
+ type: 'bytes32',
1938
+ indexed: true,
1939
+ },
1940
+ {
1941
+ name: 'plainTextBytes',
1942
+ internalType: 'bytes32',
1943
+ type: 'bytes32',
1944
+ indexed: false,
1945
+ },
1946
+ {
1947
+ name: 'handleType',
1948
+ internalType: 'enum ETypes',
1949
+ type: 'uint8',
1950
+ indexed: false,
1951
+ },
1952
+ {
1953
+ name: 'eventId',
1954
+ internalType: 'uint256',
1955
+ type: 'uint256',
1956
+ indexed: false,
1957
+ },
1958
+ ],
1959
+ name: 'TrivialEncrypt',
1960
+ },
1961
+ {
1962
+ type: 'event',
1963
+ anonymous: false,
1964
+ inputs: [
1965
+ {
1966
+ name: 'account',
1967
+ internalType: 'address',
1968
+ type: 'address',
1969
+ indexed: false,
1970
+ },
1971
+ ],
1972
+ name: 'Unpaused',
1973
+ },
1974
+ {
1975
+ type: 'event',
1976
+ anonymous: false,
1977
+ inputs: [
1978
+ {
1979
+ name: 'implementation',
1980
+ internalType: 'address',
1981
+ type: 'address',
1982
+ indexed: true,
1983
+ },
1984
+ ],
1985
+ name: 'Upgraded',
1986
+ },
1987
+ {
1988
+ type: 'event',
1989
+ anonymous: false,
1990
+ inputs: [
1991
+ {
1992
+ name: 'version',
1993
+ internalType: 'uint16',
1994
+ type: 'uint16',
1995
+ indexed: true,
1996
+ },
1997
+ ],
1998
+ name: 'VersionAccepted',
1999
+ },
2000
+ {
2001
+ type: 'event',
2002
+ anonymous: false,
2003
+ inputs: [
2004
+ {
2005
+ name: 'version',
2006
+ internalType: 'uint16',
2007
+ type: 'uint16',
2008
+ indexed: true,
2009
+ },
2010
+ ],
2011
+ name: 'VersionRemoved',
2012
+ },
2013
+ {
2014
+ type: 'error',
2015
+ inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
2016
+ name: 'AddressEmptyCode',
2017
+ },
2018
+ {
2019
+ type: 'error',
2020
+ inputs: [
2021
+ { name: 'implementation', internalType: 'address', type: 'address' },
2022
+ ],
2023
+ name: 'ERC1967InvalidImplementation',
2024
+ },
2025
+ { type: 'error', inputs: [], name: 'ERC1967NonPayable' },
2026
+ { type: 'error', inputs: [], name: 'EnforcedPause' },
2027
+ { type: 'error', inputs: [], name: 'EthInboundTransferUnsupported' },
2028
+ { type: 'error', inputs: [], name: 'ExpectedPause' },
2029
+ {
2030
+ type: 'error',
2031
+ inputs: [
2032
+ { name: 'externalHandle', internalType: 'bytes32', type: 'bytes32' },
2033
+ { name: 'computedHandle', internalType: 'bytes32', type: 'bytes32' },
2034
+ { name: 'chainId', internalType: 'uint256', type: 'uint256' },
2035
+ { name: 'aclAddress', internalType: 'address', type: 'address' },
2036
+ { name: 'userAddress', internalType: 'address', type: 'address' },
2037
+ { name: 'contractAddress', internalType: 'address', type: 'address' },
2038
+ { name: 'version', internalType: 'uint16', type: 'uint16' },
2039
+ ],
2040
+ name: 'ExternalHandleDoesNotMatchComputedHandle',
2041
+ },
2042
+ { type: 'error', inputs: [], name: 'FailedCall' },
2043
+ { type: 'error', inputs: [], name: 'FeeNotPaid' },
2044
+ { type: 'error', inputs: [], name: 'FeeWithdrawalFailed' },
2045
+ {
2046
+ type: 'error',
2047
+ inputs: [{ name: 'handle', internalType: 'bytes32', type: 'bytes32' }],
2048
+ name: 'HandleAlreadyExists',
2049
+ },
2050
+ {
2051
+ type: 'error',
2052
+ inputs: [
2053
+ { name: 'i', internalType: 'uint16', type: 'uint16' },
2054
+ { name: 'len', internalType: 'uint16', type: 'uint16' },
2055
+ ],
2056
+ name: 'IndexOutOfRange',
2057
+ },
2058
+ {
2059
+ type: 'error',
2060
+ inputs: [{ name: 'length', internalType: 'uint256', type: 'uint256' }],
2061
+ name: 'InputLengthTooShort',
2062
+ },
2063
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
2064
+ {
2065
+ type: 'error',
2066
+ inputs: [{ name: 'version', internalType: 'uint16', type: 'uint16' }],
2067
+ name: 'InvalidInputVersion',
2068
+ },
2069
+ {
2070
+ type: 'error',
2071
+ inputs: [{ name: 'raw', internalType: 'uint8', type: 'uint8' }],
2072
+ name: 'InvalidListTypeValue',
2073
+ },
2074
+ {
2075
+ type: 'error',
2076
+ inputs: [
2077
+ { name: 'start', internalType: 'uint16', type: 'uint16' },
2078
+ { name: 'end', internalType: 'uint16', type: 'uint16' },
2079
+ ],
2080
+ name: 'InvalidRange',
2081
+ },
2082
+ { type: 'error', inputs: [], name: 'InvalidShortString' },
2083
+ {
2084
+ type: 'error',
2085
+ inputs: [{ name: 'raw', internalType: 'uint8', type: 'uint8' }],
2086
+ name: 'InvalidTypeValue',
2087
+ },
2088
+ {
2089
+ type: 'error',
2090
+ inputs: [
2091
+ { name: 'end', internalType: 'uint16', type: 'uint16' },
2092
+ { name: 'listType', internalType: 'enum ETypes', type: 'uint8' },
2093
+ ],
2094
+ name: 'ListRangeExceedsType',
2095
+ },
2096
+ {
2097
+ type: 'error',
2098
+ inputs: [
2099
+ { name: 'provided', internalType: 'uint32', type: 'uint32' },
2100
+ { name: 'max', internalType: 'uint16', type: 'uint16' },
2101
+ ],
2102
+ name: 'ListTooLong',
2103
+ },
2104
+ {
2105
+ type: 'error',
2106
+ inputs: [
2107
+ { name: 'lhs', internalType: 'enum ETypes', type: 'uint8' },
2108
+ { name: 'rhs', internalType: 'enum ETypes', type: 'uint8' },
2109
+ ],
2110
+ name: 'ListTypeMismatch',
2111
+ },
2112
+ { type: 'error', inputs: [], name: 'NoFeesToWithdraw' },
2113
+ { type: 'error', inputs: [], name: 'NotInitializing' },
2114
+ {
2115
+ type: 'error',
2116
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
2117
+ name: 'OwnableInvalidOwner',
2118
+ },
2119
+ {
2120
+ type: 'error',
2121
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
2122
+ name: 'OwnableUnauthorizedAccount',
2123
+ },
2124
+ {
2125
+ type: 'error',
2126
+ inputs: [
2127
+ { name: 'verifyingContract', internalType: 'address', type: 'address' },
2128
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
2129
+ { name: 'argData', internalType: 'bytes', type: 'bytes' },
2130
+ ],
2131
+ name: 'ProofVerificationFailed',
2132
+ },
2133
+ {
2134
+ type: 'error',
2135
+ inputs: [{ name: 't', internalType: 'enum ETypes', type: 'uint8' }],
2136
+ name: 'SameTypeCast',
2137
+ },
2138
+ {
2139
+ type: 'error',
2140
+ inputs: [
2141
+ { name: 'handle', internalType: 'bytes32', type: 'bytes32' },
2142
+ { name: 'sender', internalType: 'address', type: 'address' },
2143
+ ],
2144
+ name: 'SenderNotAllowedForHandle',
2145
+ },
2146
+ {
2147
+ type: 'error',
2148
+ inputs: [{ name: 'str', internalType: 'string', type: 'string' }],
2149
+ name: 'StringTooLong',
2150
+ },
2151
+ { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },
2152
+ {
2153
+ type: 'error',
2154
+ inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],
2155
+ name: 'UUPSUnsupportedProxiableUUID',
2156
+ },
2157
+ {
2158
+ type: 'error',
2159
+ inputs: [
2160
+ { name: 'actual', internalType: 'enum ETypes', type: 'uint8' },
2161
+ { name: 'expectedTypes', internalType: 'bytes32', type: 'bytes32' },
2162
+ ],
2163
+ name: 'UnexpectedType',
2164
+ },
2165
+ {
2166
+ type: 'error',
2167
+ inputs: [{ name: 'actual', internalType: 'enum ETypes', type: 'uint8' }],
2168
+ name: 'UnsupportedType',
2169
+ },
2170
+ ];
2171
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2172
+ // SessionVerifier
2173
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2174
+ exports.sessionVerifierAbi = [
2175
+ {
2176
+ type: 'constructor',
2177
+ inputs: [{ name: '_salt', internalType: 'bytes32', type: 'bytes32' }],
2178
+ stateMutability: 'nonpayable',
2179
+ },
2180
+ { type: 'fallback', stateMutability: 'nonpayable' },
2181
+ {
2182
+ type: 'function',
2183
+ inputs: [],
2184
+ name: 'UPGRADE_INTERFACE_VERSION',
2185
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2186
+ stateMutability: 'view',
2187
+ },
2188
+ {
2189
+ type: 'function',
2190
+ inputs: [
2191
+ { name: '', internalType: 'bytes32', type: 'bytes32' },
2192
+ { name: 'account', internalType: 'address', type: 'address' },
2193
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
2194
+ { name: '', internalType: 'bytes', type: 'bytes' },
2195
+ ],
2196
+ name: 'canUseSession',
2197
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2198
+ stateMutability: 'view',
2199
+ },
2200
+ {
2201
+ type: 'function',
2202
+ inputs: [],
2203
+ name: 'getMajorVersion',
2204
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2205
+ stateMutability: 'view',
2206
+ },
2207
+ {
2208
+ type: 'function',
2209
+ inputs: [],
2210
+ name: 'getName',
2211
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2212
+ stateMutability: 'view',
2213
+ },
2214
+ {
2215
+ type: 'function',
2216
+ inputs: [],
2217
+ name: 'getVersion',
2218
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2219
+ stateMutability: 'view',
2220
+ },
2221
+ {
2222
+ type: 'function',
2223
+ inputs: [],
2224
+ name: 'getVersionedName',
2225
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
2226
+ stateMutability: 'view',
2227
+ },
2228
+ {
2229
+ type: 'function',
2230
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
2231
+ name: 'initialize',
2232
+ outputs: [],
2233
+ stateMutability: 'nonpayable',
2234
+ },
2235
+ {
2236
+ type: 'function',
2237
+ inputs: [],
2238
+ name: 'majorVersion',
2239
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
2240
+ stateMutability: 'view',
2241
+ },
2242
+ {
2243
+ type: 'function',
2244
+ inputs: [],
2245
+ name: 'minorVersion',
2246
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
2247
+ stateMutability: 'view',
2248
+ },
2249
+ {
2250
+ type: 'function',
2251
+ inputs: [],
2252
+ name: 'owner',
2253
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2254
+ stateMutability: 'view',
2255
+ },
2256
+ {
2257
+ type: 'function',
2258
+ inputs: [],
2259
+ name: 'patchVersion',
2260
+ outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
2261
+ stateMutability: 'view',
2262
+ },
2263
+ {
2264
+ type: 'function',
2265
+ inputs: [],
2266
+ name: 'proxiableUUID',
2267
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2268
+ stateMutability: 'view',
2269
+ },
2270
+ {
2271
+ type: 'function',
2272
+ inputs: [],
2273
+ name: 'renounceOwnership',
2274
+ outputs: [],
2275
+ stateMutability: 'nonpayable',
2276
+ },
2277
+ {
2278
+ type: 'function',
2279
+ inputs: [],
2280
+ name: 'salt',
2281
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2282
+ stateMutability: 'view',
2283
+ },
2284
+ {
2285
+ type: 'function',
2286
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
2287
+ name: 'transferOwnership',
2288
+ outputs: [],
2289
+ stateMutability: 'nonpayable',
2290
+ },
2291
+ {
2292
+ type: 'function',
2293
+ inputs: [
2294
+ { name: 'newImplementation', internalType: 'address', type: 'address' },
2295
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
2296
+ ],
2297
+ name: 'upgradeToAndCall',
2298
+ outputs: [],
2299
+ stateMutability: 'payable',
2300
+ },
2301
+ {
2302
+ type: 'event',
2303
+ anonymous: false,
2304
+ inputs: [
2305
+ {
2306
+ name: 'version',
2307
+ internalType: 'uint64',
2308
+ type: 'uint64',
2309
+ indexed: false,
2310
+ },
2311
+ ],
2312
+ name: 'Initialized',
2313
+ },
2314
+ {
2315
+ type: 'event',
2316
+ anonymous: false,
2317
+ inputs: [
2318
+ {
2319
+ name: 'previousOwner',
2320
+ internalType: 'address',
2321
+ type: 'address',
2322
+ indexed: true,
2323
+ },
2324
+ {
2325
+ name: 'newOwner',
2326
+ internalType: 'address',
2327
+ type: 'address',
2328
+ indexed: true,
2329
+ },
2330
+ ],
2331
+ name: 'OwnershipTransferred',
2332
+ },
2333
+ {
2334
+ type: 'event',
2335
+ anonymous: false,
2336
+ inputs: [
2337
+ {
2338
+ name: 'implementation',
2339
+ internalType: 'address',
2340
+ type: 'address',
2341
+ indexed: true,
2342
+ },
2343
+ ],
2344
+ name: 'Upgraded',
2345
+ },
2346
+ {
2347
+ type: 'error',
2348
+ inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
2349
+ name: 'AddressEmptyCode',
2350
+ },
2351
+ {
2352
+ type: 'error',
2353
+ inputs: [
2354
+ { name: 'implementation', internalType: 'address', type: 'address' },
2355
+ ],
2356
+ name: 'ERC1967InvalidImplementation',
2357
+ },
2358
+ { type: 'error', inputs: [], name: 'ERC1967NonPayable' },
2359
+ { type: 'error', inputs: [], name: 'FailedCall' },
2360
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
2361
+ { type: 'error', inputs: [], name: 'InvalidShortString' },
2362
+ { type: 'error', inputs: [], name: 'NotInitializing' },
2363
+ {
2364
+ type: 'error',
2365
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
2366
+ name: 'OwnableInvalidOwner',
2367
+ },
2368
+ {
2369
+ type: 'error',
2370
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
2371
+ name: 'OwnableUnauthorizedAccount',
2372
+ },
2373
+ {
2374
+ type: 'error',
2375
+ inputs: [{ name: 'str', internalType: 'string', type: 'string' }],
2376
+ name: 'StringTooLong',
2377
+ },
2378
+ { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },
2379
+ {
2380
+ type: 'error',
2381
+ inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],
2382
+ name: 'UUPSUnsupportedProxiableUUID',
2383
+ },
2384
+ ];
2385
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2386
+ // VoucherEip712Checker
2387
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2388
+ exports.voucherEip712CheckerAbi = [
2389
+ {
2390
+ type: 'function',
2391
+ inputs: [
2392
+ {
2393
+ name: 'voucher',
2394
+ internalType: 'struct AllowanceVoucher',
2395
+ type: 'tuple',
2396
+ components: [
2397
+ { name: 'warning', internalType: 'string', type: 'string' },
2398
+ { name: 'sessionNonce', internalType: 'bytes32', type: 'bytes32' },
2399
+ {
2400
+ name: 'verifyingContract',
2401
+ internalType: 'address',
2402
+ type: 'address',
2403
+ },
2404
+ { name: 'callFunction', internalType: 'bytes4', type: 'bytes4' },
2405
+ { name: 'sharerArgData', internalType: 'bytes', type: 'bytes' },
2406
+ ],
2407
+ },
2408
+ ],
2409
+ name: 'allowanceVoucherDigest',
2410
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2411
+ stateMutability: 'view',
2412
+ },
2413
+ {
2414
+ type: 'function',
2415
+ inputs: [],
2416
+ name: 'eip712Domain',
2417
+ outputs: [
2418
+ { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
2419
+ { name: 'name', internalType: 'string', type: 'string' },
2420
+ { name: 'version', internalType: 'string', type: 'string' },
2421
+ { name: 'chainId', internalType: 'uint256', type: 'uint256' },
2422
+ { name: 'verifyingContract', internalType: 'address', type: 'address' },
2423
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2424
+ { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
2425
+ ],
2426
+ stateMutability: 'view',
2427
+ },
2428
+ { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
2429
+ {
2430
+ type: 'event',
2431
+ anonymous: false,
2432
+ inputs: [
2433
+ {
2434
+ name: 'version',
2435
+ internalType: 'uint64',
2436
+ type: 'uint64',
2437
+ indexed: false,
2438
+ },
2439
+ ],
2440
+ name: 'Initialized',
2441
+ },
2442
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
2443
+ { type: 'error', inputs: [], name: 'NotInitializing' },
2444
+ ];
2445
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9hYmlzL2xpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0tBQXNLO0FBQ3RLLFlBQVk7QUFDWixzS0FBc0s7OztBQUV6SixRQUFBLFlBQVksR0FBRztJQUMxQjtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLGdCQUFnQjtnQkFDOUIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsVUFBVSxFQUFFO29CQUNWLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7b0JBQy9ELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7aUJBQ2hFO2FBQ0Y7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0NBQ08sQ0FBQTtBQUVWLHNLQUFzSztBQUN0Syx3QkFBd0I7QUFDeEIsc0tBQXNLO0FBRXpKLFFBQUEsd0JBQXdCLEdBQUc7SUFDdEM7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUseUJBQXlCO2dCQUN2QyxJQUFJLEVBQUUsT0FBTztnQkFDYixVQUFVLEVBQUU7b0JBQ1YsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtvQkFDM0QsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtvQkFDbEU7d0JB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QUUsT0FBTyxFQUFFO1NBQy9EO1FBQ0QsSUFBSSxFQUFFLGFBQWE7UUFDbkIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQy9ELGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQy9ELGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3hELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDbEUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtTQUMvRDtRQUNELElBQUksRUFBRSxtQkFBbUI7UUFDekIsT0FBTyxFQUFFO1lBQ1AsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1NBQ3RFO1FBQ0QsZUFBZSxFQUFFLE1BQU07S0FDeEI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNwRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1NBQ25FO1FBQ0QsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixPQUFPLEVBQUU7WUFDUCxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7U0FDdEU7UUFDRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDL0QsZUFBZSxFQUFFLE1BQU07S0FDeEI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDL0QsZUFBZSxFQUFFLE1BQU07S0FDeEI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFO1lBQ1AsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1NBQ3RFO1FBQ0QsZUFBZSxFQUFFLE1BQU07S0FDeEI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUN0RSxJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLGVBQWUsRUFBRSxZQUFZO0tBQzlCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDckUsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDM0QsZUFBZSxFQUFFLE1BQU07S0FDeEI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDNUQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUM5RDtRQUNELElBQUksRUFBRSxXQUFXO1FBQ2pCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMzRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3RFLElBQUksRUFBRSxZQUFZO1FBQ2xCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMzRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3RFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMvRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN4RCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1NBQzVEO1FBQ0QsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLGVBQWUsRUFBRSxTQUFTO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3ZELEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7U0FDeEQ7UUFDRCxJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDckUsZUFBZSxFQUFFLFNBQVM7S0FDM0I7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDeEQsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtTQUN0RDtRQUNELElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3ZFLGVBQWUsRUFBRSxZQUFZO0tBQzlCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3hELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDM0QsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUNuRTtRQUNELElBQUksRUFBRSxXQUFXO1FBQ2pCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUN2RSxlQUFlLEVBQUUsWUFBWTtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN4RCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzNELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7U0FDNUQ7UUFDRCxJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDckUsZUFBZSxFQUFFLFNBQVM7S0FDM0I7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDekQsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN2RCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1NBQ2pFO1FBQ0QsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLGVBQWUsRUFBRSxTQUFTO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDbEUsSUFBSSxFQUFFLGFBQWE7UUFDbkIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLGVBQWUsRUFBRSxTQUFTO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3hELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDM0QsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUM1RDtRQUNELElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLGVBQWUsRUFBRSxTQUFTO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDbEUsSUFBSSxFQUFFLGFBQWE7UUFDbkIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLGVBQWUsRUFBRSxTQUFTO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3hELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDM0QsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN2RCxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1NBQ25FO1FBQ0QsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLGVBQWUsRUFBRSxTQUFTO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM3RCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsY0FBYztRQUNwQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0QsZUFBZSxFQUFFLE1BQU07S0FDeEI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDakUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtTQUNqRTtRQUNELElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUN0RSxlQUFlLEVBQUUsU0FBUztLQUMzQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM1RCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2hFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7U0FDM0Q7UUFDRCxJQUFJLEVBQUUsVUFBVTtRQUNoQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDdEUsZUFBZSxFQUFFLFNBQVM7S0FDM0I7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDdkQsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUMzRDtRQUNELElBQUksRUFBRSxhQUFhO1FBQ25CLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUMxRSxlQUFlLEVBQUUsU0FBUztLQUMzQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUN2RCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1NBQzNEO1FBQ0QsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3ZFLGVBQWUsRUFBRSxTQUFTO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3ZELEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7U0FDM0Q7UUFDRCxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDMUUsZUFBZSxFQUFFLFNBQVM7S0FDM0I7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE9BQU87UUFDYixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDakUsZUFBZSxFQUFFLE1BQU07S0FDeEI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzdELGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxPQUFPO1FBQ2IsT0FBTyxFQUFFLEVBQUU7UUFDWCxlQUFlLEVBQUUsWUFBWTtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMzRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM1RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1NBQzlEO1FBQ0QsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDM0QsZUFBZSxFQUFFLE1BQU07S0FDeEI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLGVBQWU7UUFDckIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDckUsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixPQUFPLEVBQUUsRUFBRTtRQUNYLGVBQWUsRUFBRSxZQUFZO0tBQzlCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxtQkFBbUI7UUFDekIsT0FBTyxFQUFFLEVBQUU7UUFDWCxlQUFlLEVBQUUsWUFBWTtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3RFLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLEVBQUU7UUFDWCxlQUFlLEVBQUUsWUFBWTtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNqRSxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3hFLElBQUksRUFBRSxtQkFBbUI7UUFDekIsT0FBTyxFQUFFLEVBQUU7UUFDWCxlQUFlLEVBQUUsWUFBWTtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxFQUFFO1FBQ1gsZUFBZSxFQUFFLFlBQVk7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN2RSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1NBQ3ZEO1FBQ0QsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixPQUFPLEVBQUUsRUFBRTtRQUNYLGVBQWUsRUFBRSxTQUFTO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsZUFBZSxFQUFFLFlBQVk7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLE1BQU07S0FDYjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDeEUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3hFO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN4RSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDeEU7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFFBQVE7S0FDZjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDeEUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3hFO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN2RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDdkU7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLE9BQU87S0FDZDtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLFlBQVksRUFBRSxVQUFVO2dCQUN4QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxNQUFNO0tBQ2I7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3hFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN4RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLE9BQU87Z0JBQ3JCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3ZFO2dCQUNFLElBQUksRUFBRSxPQUFPO2dCQUNiLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0QsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsYUFBYTtLQUNwQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDeEUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3hFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RTtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3ZFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN4RTtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDdkU7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsWUFBWTtLQUNuQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDeEU7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RTtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDeEU7Z0JBQ0UsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFlBQVksRUFBRSxhQUFhO2dCQUMzQixJQUFJLEVBQUUsT0FBTztnQkFDYixPQUFPLEVBQUUsS0FBSzthQUNmO1lBQ0QsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsWUFBWTtLQUNuQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDdkUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsY0FBYztLQUNyQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDeEU7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RTtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3ZFO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0QsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsY0FBYztLQUNyQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDeEU7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxjQUFjO2dCQUNwQixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RTtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFlBQVk7S0FDbkI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RTtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxZQUFZLEVBQUUsVUFBVTtnQkFDeEIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsTUFBTTtLQUNiO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLE1BQU07S0FDYjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLFlBQVksRUFBRSxVQUFVO2dCQUN4QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxNQUFNO0tBQ2I7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3hFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN4RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLE9BQU87Z0JBQ3JCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxNQUFNO0tBQ2I7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsWUFBWSxFQUFFLGFBQWE7Z0JBQzNCLElBQUksRUFBRSxPQUFPO2dCQUNiLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsY0FBYztLQUNyQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLFlBQVksRUFBRSxVQUFVO2dCQUN4QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxNQUFNO0tBQ2I7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RTtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxZQUFZLEVBQUUsVUFBVTtnQkFDeEIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLE9BQU87S0FDZDtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLFlBQVksRUFBRSxVQUFVO2dCQUN4QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxNQUFNO0tBQ2I7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3pFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RTtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxZQUFZLEVBQUUsVUFBVTtnQkFDeEIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsTUFBTTtLQUNiO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDekU7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLE1BQU07S0FDYjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsWUFBWSxFQUFFLGFBQWE7Z0JBQzNCLElBQUksRUFBRSxPQUFPO2dCQUNiLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsV0FBVztnQkFDekIsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNELEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6RTtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxZQUFZO2dCQUNsQixZQUFZLEVBQUUsT0FBTztnQkFDckIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsZUFBZTtnQkFDckIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7U0FDRjtRQUNELElBQUksRUFBRSxzQkFBc0I7S0FDN0I7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFFBQVE7S0FDZjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSzthQUNmO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLFlBQVksRUFBRSxhQUFhO2dCQUMzQixJQUFJLEVBQUUsT0FBTztnQkFDYixPQUFPLEVBQUUsS0FBSzthQUNmO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxnQkFBZ0I7S0FDdkI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOO2dCQUNFLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsT0FBTyxFQUFFLElBQUk7YUFDZDtTQUNGO1FBQ0QsSUFBSSxFQUFFLGlCQUFpQjtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsT0FBTyxFQUFFLElBQUk7YUFDZDtTQUNGO1FBQ0QsSUFBSSxFQUFFLGdCQUFnQjtLQUN2QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDdEUsSUFBSSxFQUFFLGtCQUFrQjtLQUN6QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7U0FDckU7UUFDRCxJQUFJLEVBQUUsOEJBQThCO0tBQ3JDO0lBQ0QsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFO0lBQ3hELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUU7SUFDcEQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLCtCQUErQixFQUFFO0lBQ3BFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUU7SUFDcEQ7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNwRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDcEUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM3RCxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ2hFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDakUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3JFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7U0FDNUQ7UUFDRCxJQUFJLEVBQUUsMENBQTBDO0tBQ2pEO0lBQ0QsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQ2pELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRTtJQUMxRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3RFLElBQUksRUFBRSxxQkFBcUI7S0FDNUI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNyRCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1NBQ3hEO1FBQ0QsSUFBSSxFQUFFLGlCQUFpQjtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDdEUsSUFBSSxFQUFFLHFCQUFxQjtLQUM1QjtJQUNELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRTtJQUM1RDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3JFLElBQUksRUFBRSxxQkFBcUI7S0FDNUI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQy9ELElBQUksRUFBRSxzQkFBc0I7S0FDN0I7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN6RCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1NBQ3hEO1FBQ0QsSUFBSSxFQUFFLGNBQWM7S0FDckI7SUFDRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7SUFDekQ7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMvRCxJQUFJLEVBQUUsa0JBQWtCO0tBQ3pCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDdkQsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtTQUNqRTtRQUNELElBQUksRUFBRSxzQkFBc0I7S0FDN0I7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM1RCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1NBQ3hEO1FBQ0QsSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUMzRCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1NBQzVEO1FBQ0QsSUFBSSxFQUFFLGtCQUFrQjtLQUN6QjtJQUNELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtJQUN2RCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7SUFDdEQ7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNyRSxJQUFJLEVBQUUscUJBQXFCO0tBQzVCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUN2RSxJQUFJLEVBQUUsNEJBQTRCO0tBQ25DO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN2RSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2hFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7U0FDMUQ7UUFDRCxJQUFJLEVBQUUseUJBQXlCO0tBQ2hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNuRSxJQUFJLEVBQUUsY0FBYztLQUNyQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzVELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7U0FDN0Q7UUFDRCxJQUFJLEVBQUUsMkJBQTJCO0tBQ2xDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNqRSxJQUFJLEVBQUUsZUFBZTtLQUN0QjtJQUNELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSw2QkFBNkIsRUFBRTtJQUNsRTtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3BFLElBQUksRUFBRSw4QkFBOEI7S0FDckM7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUM5RCxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1NBQ3BFO1FBQ0QsSUFBSSxFQUFFLGdCQUFnQjtLQUN2QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDeEUsSUFBSSxFQUFFLGlCQUFpQjtLQUN4QjtDQUNPLENBQUE7QUFFVixzS0FBc0s7QUFDdEssa0JBQWtCO0FBQ2xCLHNLQUFzSztBQUV6SixRQUFBLGtCQUFrQixHQUFHO0lBQ2hDO1FBQ0UsSUFBSSxFQUFFLGFBQWE7UUFDbkIsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLGVBQWUsRUFBRSxZQUFZO0tBQzlCO0lBQ0QsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUU7SUFDbkQ7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSwyQkFBMkI7UUFDakMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQy9ELGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3RELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDN0QsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUMvRCxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1NBQ25EO1FBQ0QsSUFBSSxFQUFFLGVBQWU7UUFDckIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQy9ELGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQy9ELGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxZQUFZO1FBQ2xCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMvRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMvRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3JFLElBQUksRUFBRSxZQUFZO1FBQ2xCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsZUFBZSxFQUFFLFlBQVk7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzdELGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM3RCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsT0FBTztRQUNiLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNqRSxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsY0FBYztRQUNwQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0QsZUFBZSxFQUFFLE1BQU07S0FDeEI7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLGVBQWU7UUFDckIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxtQkFBbUI7UUFDekIsT0FBTyxFQUFFLEVBQUU7UUFDWCxlQUFlLEVBQUUsWUFBWTtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNqRSxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3hFLElBQUksRUFBRSxtQkFBbUI7UUFDekIsT0FBTyxFQUFFLEVBQUU7UUFDWCxlQUFlLEVBQUUsWUFBWTtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3ZFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7U0FDdkQ7UUFDRCxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsZUFBZSxFQUFFLFNBQVM7S0FDM0I7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLElBQUksRUFBRSxRQUFRO2dCQUNkLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxhQUFhO0tBQ3BCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOO2dCQUNFLElBQUksRUFBRSxlQUFlO2dCQUNyQixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxVQUFVO2dCQUNoQixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtTQUNGO1FBQ0QsSUFBSSxFQUFFLHNCQUFzQjtLQUM3QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtTQUNGO1FBQ0QsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3RFLElBQUksRUFBRSxrQkFBa0I7S0FDekI7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1NBQ3JFO1FBQ0QsSUFBSSxFQUFFLDhCQUE4QjtLQUNyQztJQUNELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRTtJQUN4RCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQ2pELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRTtJQUM1RCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7SUFDekQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO0lBQ3REO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDckUsSUFBSSxFQUFFLHFCQUFxQjtLQUM1QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDdkUsSUFBSSxFQUFFLDRCQUE0QjtLQUNuQztJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDakUsSUFBSSxFQUFFLGVBQWU7S0FDdEI7SUFDRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsNkJBQTZCLEVBQUU7SUFDbEU7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNwRSxJQUFJLEVBQUUsOEJBQThCO0tBQ3JDO0NBQ08sQ0FBQTtBQUVWLHNLQUFzSztBQUN0Syx1QkFBdUI7QUFDdkIsc0tBQXNLO0FBRXpKLFFBQUEsdUJBQXVCLEdBQUc7SUFDckM7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUseUJBQXlCO2dCQUN2QyxJQUFJLEVBQUUsT0FBTztnQkFDYixVQUFVLEVBQUU7b0JBQ1YsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtvQkFDM0QsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtvQkFDbEU7d0JBQ0UsSUFBSSxFQUFFLG1CQUFtQjt3QkFDekIsWUFBWSxFQUFFLFNBQVM7d0JBQ3ZCLElBQUksRUFBRSxTQUFTO3FCQUNoQjtvQkFDRCxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO29CQUNoRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO2lCQUNoRTthQUNGO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNqRSxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsY0FBYztRQUNwQixPQUFPLEVBQUU7WUFDUCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzFELEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDeEQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUMzRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzdELEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN2RSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzFELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7U0FDckU7UUFDRCxlQUFlLEVBQUUsTUFBTTtLQUN4QjtJQUNELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFO0lBQzVFO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsT0FBTyxFQUFFLEtBQUs7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7SUFDNUQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO0NBQzlDLENBQUEifQ==