@effect-app/infra 4.0.0-beta.22 → 4.0.0-beta.221

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 (337) hide show
  1. package/CHANGELOG.md +1648 -0
  2. package/_check.sh +1 -1
  3. package/dist/CUPS.d.ts +12 -7
  4. package/dist/CUPS.d.ts.map +1 -1
  5. package/dist/CUPS.js +16 -12
  6. package/dist/Emailer/Sendgrid.d.ts +15 -15
  7. package/dist/Emailer/Sendgrid.d.ts.map +1 -1
  8. package/dist/Emailer/Sendgrid.js +20 -16
  9. package/dist/Emailer/fake.d.ts +1 -1
  10. package/dist/Emailer/fake.js +2 -2
  11. package/dist/Emailer/service.d.ts +13 -4
  12. package/dist/Emailer/service.d.ts.map +1 -1
  13. package/dist/Emailer/service.js +4 -3
  14. package/dist/Emailer.d.ts +1 -1
  15. package/dist/MainFiberSet.d.ts +12 -9
  16. package/dist/MainFiberSet.d.ts.map +1 -1
  17. package/dist/MainFiberSet.js +7 -3
  18. package/dist/Model/Repository/Registry.d.ts +21 -0
  19. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  20. package/dist/Model/Repository/Registry.js +18 -0
  21. package/dist/Model/Repository/ext.d.ts +35 -16
  22. package/dist/Model/Repository/ext.d.ts.map +1 -1
  23. package/dist/Model/Repository/ext.js +60 -3
  24. package/dist/Model/Repository/internal/internal.d.ts +9 -6
  25. package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
  26. package/dist/Model/Repository/internal/internal.js +115 -51
  27. package/dist/Model/Repository/legacy.d.ts +4 -2
  28. package/dist/Model/Repository/legacy.d.ts.map +1 -1
  29. package/dist/Model/Repository/makeRepo.d.ts +10 -6
  30. package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
  31. package/dist/Model/Repository/makeRepo.js +5 -2
  32. package/dist/Model/Repository/service.d.ts +32 -24
  33. package/dist/Model/Repository/service.d.ts.map +1 -1
  34. package/dist/Model/Repository/validation.d.ts +47 -18
  35. package/dist/Model/Repository/validation.d.ts.map +1 -1
  36. package/dist/Model/Repository/validation.js +6 -6
  37. package/dist/Model/Repository.d.ts +2 -1
  38. package/dist/Model/Repository.d.ts.map +1 -1
  39. package/dist/Model/Repository.js +2 -1
  40. package/dist/Model/dsl.d.ts +6 -5
  41. package/dist/Model/dsl.d.ts.map +1 -1
  42. package/dist/Model/dsl.js +2 -3
  43. package/dist/Model/filter/filterApi.d.ts +5 -5
  44. package/dist/Model/filter/filterApi.d.ts.map +1 -1
  45. package/dist/Model/filter/types/errors.d.ts +1 -1
  46. package/dist/Model/filter/types/fields.d.ts +1 -1
  47. package/dist/Model/filter/types/path/common.d.ts +1 -1
  48. package/dist/Model/filter/types/path/eager.d.ts +1 -1
  49. package/dist/Model/filter/types/path/eager.d.ts.map +1 -1
  50. package/dist/Model/filter/types/path/eager.js +1 -1
  51. package/dist/Model/filter/types/path/index.d.ts +1 -1
  52. package/dist/Model/filter/types/utils.d.ts +1 -1
  53. package/dist/Model/filter/types/validator.d.ts +1 -1
  54. package/dist/Model/filter/types.d.ts +1 -1
  55. package/dist/Model/query/dsl.d.ts +142 -17
  56. package/dist/Model/query/dsl.d.ts.map +1 -1
  57. package/dist/Model/query/dsl.js +190 -5
  58. package/dist/Model/query/new-kid-interpreter.d.ts +77 -8
  59. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
  60. package/dist/Model/query/new-kid-interpreter.js +127 -6
  61. package/dist/Model/query.d.ts +1 -1
  62. package/dist/Model.d.ts +2 -1
  63. package/dist/Model.d.ts.map +1 -1
  64. package/dist/Model.js +2 -1
  65. package/dist/QueueMaker/SQLQueue.d.ts +7 -8
  66. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  67. package/dist/QueueMaker/SQLQueue.js +135 -117
  68. package/dist/QueueMaker/errors.d.ts +5 -3
  69. package/dist/QueueMaker/errors.d.ts.map +1 -1
  70. package/dist/QueueMaker/errors.js +4 -2
  71. package/dist/QueueMaker/memQueue.d.ts +9 -5
  72. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  73. package/dist/QueueMaker/memQueue.js +81 -65
  74. package/dist/QueueMaker/sbqueue.d.ts +8 -4
  75. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  76. package/dist/QueueMaker/sbqueue.js +57 -55
  77. package/dist/QueueMaker/service.d.ts +4 -2
  78. package/dist/QueueMaker/service.d.ts.map +1 -1
  79. package/dist/QueueMaker/service.js +1 -1
  80. package/dist/RequestContext.d.ts +75 -35
  81. package/dist/RequestContext.d.ts.map +1 -1
  82. package/dist/RequestContext.js +14 -14
  83. package/dist/RequestFiberSet.d.ts +10 -7
  84. package/dist/RequestFiberSet.d.ts.map +1 -1
  85. package/dist/RequestFiberSet.js +8 -3
  86. package/dist/Store/ContextMapContainer.d.ts +22 -3
  87. package/dist/Store/ContextMapContainer.d.ts.map +1 -1
  88. package/dist/Store/ContextMapContainer.js +17 -3
  89. package/dist/Store/Cosmos/query.d.ts +7 -2
  90. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  91. package/dist/Store/Cosmos/query.js +115 -35
  92. package/dist/Store/Cosmos.d.ts +2 -2
  93. package/dist/Store/Cosmos.d.ts.map +1 -1
  94. package/dist/Store/Cosmos.js +343 -244
  95. package/dist/Store/Disk.d.ts +3 -3
  96. package/dist/Store/Disk.d.ts.map +1 -1
  97. package/dist/Store/Disk.js +76 -36
  98. package/dist/Store/Memory.d.ts +7 -4
  99. package/dist/Store/Memory.d.ts.map +1 -1
  100. package/dist/Store/Memory.js +251 -58
  101. package/dist/Store/SQL/Pg.d.ts +4 -0
  102. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  103. package/dist/Store/SQL/Pg.js +233 -0
  104. package/dist/Store/SQL/query.d.ts +43 -0
  105. package/dist/Store/SQL/query.d.ts.map +1 -0
  106. package/dist/Store/SQL/query.js +478 -0
  107. package/dist/Store/SQL.d.ts +21 -0
  108. package/dist/Store/SQL.d.ts.map +1 -0
  109. package/dist/Store/SQL.js +450 -0
  110. package/dist/Store/codeFilter.d.ts +2 -2
  111. package/dist/Store/codeFilter.d.ts.map +1 -1
  112. package/dist/Store/codeFilter.js +6 -3
  113. package/dist/Store/index.d.ts +6 -3
  114. package/dist/Store/index.d.ts.map +1 -1
  115. package/dist/Store/index.js +18 -4
  116. package/dist/Store/service.d.ts +26 -8
  117. package/dist/Store/service.d.ts.map +1 -1
  118. package/dist/Store/service.js +25 -6
  119. package/dist/Store/utils.d.ts +3 -2
  120. package/dist/Store/utils.d.ts.map +1 -1
  121. package/dist/Store/utils.js +5 -5
  122. package/dist/Store.d.ts +1 -1
  123. package/dist/adapters/SQL/Model.d.ts +32 -43
  124. package/dist/adapters/SQL/Model.d.ts.map +1 -1
  125. package/dist/adapters/SQL/Model.js +30 -39
  126. package/dist/adapters/SQL.d.ts +1 -1
  127. package/dist/adapters/ServiceBus.d.ts +14 -11
  128. package/dist/adapters/ServiceBus.d.ts.map +1 -1
  129. package/dist/adapters/ServiceBus.js +30 -21
  130. package/dist/adapters/cosmos-client.d.ts +5 -3
  131. package/dist/adapters/cosmos-client.d.ts.map +1 -1
  132. package/dist/adapters/cosmos-client.js +5 -3
  133. package/dist/adapters/index.d.ts +8 -2
  134. package/dist/adapters/index.d.ts.map +1 -1
  135. package/dist/adapters/index.js +8 -2
  136. package/dist/adapters/logger.d.ts +2 -2
  137. package/dist/adapters/logger.d.ts.map +1 -1
  138. package/dist/adapters/memQueue.d.ts +5 -3
  139. package/dist/adapters/memQueue.d.ts.map +1 -1
  140. package/dist/adapters/memQueue.js +6 -5
  141. package/dist/adapters/mongo-client.d.ts +4 -3
  142. package/dist/adapters/mongo-client.d.ts.map +1 -1
  143. package/dist/adapters/mongo-client.js +5 -3
  144. package/dist/adapters/redis-client.d.ts +6 -3
  145. package/dist/adapters/redis-client.d.ts.map +1 -1
  146. package/dist/adapters/redis-client.js +7 -3
  147. package/dist/api/ContextProvider.d.ts +12 -8
  148. package/dist/api/ContextProvider.d.ts.map +1 -1
  149. package/dist/api/ContextProvider.js +9 -7
  150. package/dist/api/codec.d.ts +1 -1
  151. package/dist/api/internal/RequestContextMiddleware.d.ts +3 -3
  152. package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
  153. package/dist/api/internal/RequestContextMiddleware.js +10 -6
  154. package/dist/api/internal/auth.d.ts +45 -7
  155. package/dist/api/internal/auth.d.ts.map +1 -1
  156. package/dist/api/internal/auth.js +162 -29
  157. package/dist/api/internal/events.d.ts +6 -4
  158. package/dist/api/internal/events.d.ts.map +1 -1
  159. package/dist/api/internal/events.js +16 -9
  160. package/dist/api/internal/health.d.ts +1 -1
  161. package/dist/api/layerUtils.d.ts +10 -6
  162. package/dist/api/layerUtils.d.ts.map +1 -1
  163. package/dist/api/layerUtils.js +7 -6
  164. package/dist/api/middlewares.d.ts +1 -1
  165. package/dist/api/reportError.d.ts +2 -2
  166. package/dist/api/reportError.d.ts.map +1 -1
  167. package/dist/api/reportError.js +3 -2
  168. package/dist/api/routing/middleware/RouterMiddleware.d.ts +5 -4
  169. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
  170. package/dist/api/routing/middleware/middleware.d.ts +42 -3
  171. package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
  172. package/dist/api/routing/middleware/middleware.js +53 -17
  173. package/dist/api/routing/middleware.d.ts +1 -2
  174. package/dist/api/routing/middleware.d.ts.map +1 -1
  175. package/dist/api/routing/middleware.js +1 -2
  176. package/dist/api/routing/schema/jwt.d.ts +1 -1
  177. package/dist/api/routing/schema/jwt.d.ts.map +1 -1
  178. package/dist/api/routing/schema/jwt.js +3 -2
  179. package/dist/api/routing/tsort.d.ts +1 -1
  180. package/dist/api/routing/tsort.d.ts.map +1 -1
  181. package/dist/api/routing/utils.d.ts +4 -4
  182. package/dist/api/routing/utils.d.ts.map +1 -1
  183. package/dist/api/routing/utils.js +3 -2
  184. package/dist/api/routing.d.ts +84 -37
  185. package/dist/api/routing.d.ts.map +1 -1
  186. package/dist/api/routing.js +115 -45
  187. package/dist/api/setupRequest.d.ts +10 -6
  188. package/dist/api/setupRequest.d.ts.map +1 -1
  189. package/dist/api/setupRequest.js +15 -7
  190. package/dist/api/util.d.ts +1 -1
  191. package/dist/arbs.d.ts +2 -2
  192. package/dist/arbs.d.ts.map +1 -1
  193. package/dist/arbs.js +5 -3
  194. package/dist/errorReporter.d.ts +7 -5
  195. package/dist/errorReporter.d.ts.map +1 -1
  196. package/dist/errorReporter.js +22 -26
  197. package/dist/errors.d.ts +1 -1
  198. package/dist/fileUtil.d.ts +2 -2
  199. package/dist/fileUtil.d.ts.map +1 -1
  200. package/dist/fileUtil.js +2 -2
  201. package/dist/index.d.ts +1 -1
  202. package/dist/logger/jsonLogger.d.ts +2 -2
  203. package/dist/logger/jsonLogger.d.ts.map +1 -1
  204. package/dist/logger/jsonLogger.js +4 -2
  205. package/dist/logger/logFmtLogger.d.ts +2 -2
  206. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  207. package/dist/logger/logFmtLogger.js +2 -2
  208. package/dist/logger/shared.d.ts +2 -2
  209. package/dist/logger/shared.d.ts.map +1 -1
  210. package/dist/logger/shared.js +3 -3
  211. package/dist/logger.d.ts +1 -1
  212. package/dist/logger.d.ts.map +1 -1
  213. package/dist/otel.d.ts +75 -0
  214. package/dist/otel.d.ts.map +1 -0
  215. package/dist/otel.js +65 -0
  216. package/dist/rateLimit.d.ts +12 -4
  217. package/dist/rateLimit.d.ts.map +1 -1
  218. package/dist/rateLimit.js +7 -12
  219. package/dist/test.d.ts +3 -3
  220. package/dist/test.d.ts.map +1 -1
  221. package/dist/test.js +2 -2
  222. package/dist/vitest.d.ts +1 -1
  223. package/examples/query.ts +46 -38
  224. package/package.json +46 -37
  225. package/src/CUPS.ts +15 -11
  226. package/src/Emailer/Sendgrid.ts +21 -15
  227. package/src/Emailer/fake.ts +1 -1
  228. package/src/Emailer/service.ts +13 -3
  229. package/src/MainFiberSet.ts +9 -6
  230. package/src/Model/Repository/Registry.ts +34 -0
  231. package/src/Model/Repository/ext.ts +103 -11
  232. package/src/Model/Repository/internal/internal.ts +231 -149
  233. package/src/Model/Repository/legacy.ts +3 -1
  234. package/src/Model/Repository/makeRepo.ts +15 -10
  235. package/src/Model/Repository/service.ts +35 -23
  236. package/src/Model/Repository/validation.ts +5 -5
  237. package/src/Model/Repository.ts +1 -0
  238. package/src/Model/dsl.ts +5 -4
  239. package/src/Model/filter/types/path/eager.ts +1 -2
  240. package/src/Model/query/dsl.ts +353 -19
  241. package/src/Model/query/new-kid-interpreter.ts +211 -6
  242. package/src/Model.ts +1 -0
  243. package/src/QueueMaker/SQLQueue.ts +150 -153
  244. package/src/QueueMaker/errors.ts +3 -1
  245. package/src/QueueMaker/memQueue.ts +111 -105
  246. package/src/QueueMaker/sbqueue.ts +76 -88
  247. package/src/QueueMaker/service.ts +3 -1
  248. package/src/RequestContext.ts +15 -16
  249. package/src/RequestFiberSet.ts +8 -2
  250. package/src/Store/ContextMapContainer.ts +45 -2
  251. package/src/Store/Cosmos/query.ts +143 -44
  252. package/src/Store/Cosmos.ts +491 -350
  253. package/src/Store/Disk.ts +106 -66
  254. package/src/Store/Memory.ts +285 -87
  255. package/src/Store/SQL/Pg.ts +364 -0
  256. package/src/Store/SQL/query.ts +540 -0
  257. package/src/Store/SQL.ts +736 -0
  258. package/src/Store/codeFilter.ts +5 -2
  259. package/src/Store/index.ts +20 -3
  260. package/src/Store/service.ts +45 -10
  261. package/src/Store/utils.ts +25 -23
  262. package/src/adapters/SQL/Model.ts +42 -41
  263. package/src/adapters/ServiceBus.ts +131 -121
  264. package/src/adapters/cosmos-client.ts +4 -2
  265. package/src/adapters/index.ts +7 -0
  266. package/src/adapters/memQueue.ts +5 -4
  267. package/src/adapters/mongo-client.ts +4 -2
  268. package/src/adapters/redis-client.ts +6 -2
  269. package/src/api/ContextProvider.ts +17 -13
  270. package/src/api/internal/RequestContextMiddleware.ts +16 -5
  271. package/src/api/internal/auth.ts +248 -44
  272. package/src/api/internal/events.ts +19 -10
  273. package/src/api/layerUtils.ts +12 -8
  274. package/src/api/reportError.ts +2 -1
  275. package/src/api/routing/middleware/RouterMiddleware.ts +5 -4
  276. package/src/api/routing/middleware/middleware.ts +60 -15
  277. package/src/api/routing/middleware.ts +0 -2
  278. package/src/api/routing/schema/jwt.ts +2 -1
  279. package/src/api/routing/utils.ts +2 -1
  280. package/src/api/routing.ts +304 -131
  281. package/src/api/setupRequest.ts +31 -8
  282. package/src/arbs.ts +5 -3
  283. package/src/errorReporter.ts +65 -75
  284. package/src/fileUtil.ts +1 -1
  285. package/src/logger/jsonLogger.ts +3 -1
  286. package/src/logger/logFmtLogger.ts +1 -1
  287. package/src/logger/shared.ts +3 -2
  288. package/src/otel.ts +152 -0
  289. package/src/rateLimit.ts +34 -23
  290. package/src/test.ts +2 -2
  291. package/test/auth.test.ts +101 -0
  292. package/test/contextProvider.test.ts +14 -11
  293. package/test/controller.test.ts +25 -29
  294. package/test/dist/auth.test.d.ts.map +1 -0
  295. package/test/dist/contextProvider.test.d.ts.map +1 -1
  296. package/test/dist/controller.test.d.ts.map +1 -1
  297. package/test/dist/date-query.test.d.ts.map +1 -0
  298. package/test/dist/fixtures.d.ts +30 -12
  299. package/test/dist/fixtures.d.ts.map +1 -1
  300. package/test/dist/fixtures.js +17 -10
  301. package/test/dist/query.test.d.ts.map +1 -1
  302. package/test/dist/rawQuery.test.d.ts.map +1 -1
  303. package/test/dist/repository-ext.test.d.ts.map +1 -0
  304. package/test/dist/requires.test.d.ts.map +1 -1
  305. package/test/dist/router-generator.test.d.ts.map +1 -0
  306. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  307. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  308. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  309. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  310. package/test/dist/sql-store.test.d.ts.map +1 -0
  311. package/test/fixtures.ts +16 -9
  312. package/test/layerUtils.test.ts +1 -1
  313. package/test/query.test.ts +819 -38
  314. package/test/rawQuery.test.ts +312 -20
  315. package/test/repository-ext.test.ts +62 -0
  316. package/test/requires.test.ts +10 -5
  317. package/test/router-generator.test.ts +187 -0
  318. package/test/routing-interruptibility.test.ts +66 -0
  319. package/test/rpc-e2e-invalidation.test.ts +256 -0
  320. package/test/rpc-multi-middleware.test.ts +84 -9
  321. package/test/rpc-stream-fullstack.test.ts +304 -0
  322. package/test/sql-store.test.ts +1592 -0
  323. package/test/validateSample.test.ts +17 -12
  324. package/tsconfig.examples.json +1 -1
  325. package/tsconfig.json +0 -1
  326. package/tsconfig.json.bak +2 -2
  327. package/tsconfig.src.json +35 -35
  328. package/tsconfig.test.json +2 -2
  329. package/dist/Operations.d.ts +0 -55
  330. package/dist/Operations.d.ts.map +0 -1
  331. package/dist/Operations.js +0 -102
  332. package/dist/OperationsRepo.d.ts +0 -41
  333. package/dist/OperationsRepo.d.ts.map +0 -1
  334. package/dist/OperationsRepo.js +0 -14
  335. package/eslint.config.mjs +0 -24
  336. package/src/Operations.ts +0 -235
  337. package/src/OperationsRepo.ts +0 -16
@@ -1,5 +1,7 @@
1
- import { type Option, Pipeable, type S } from "effect-app";
1
+ import type * as Option from "effect-app/Option";
2
+ import type * as S from "effect-app/Schema";
2
3
  import type { NonNegativeInt } from "effect-app/Schema";
4
+ import * as Pipeable from "effect/Pipeable";
3
5
  import type { Covariant } from "effect/Types";
4
6
  import type { Ops } from "../filter/filterApi.js";
5
7
  import type { FieldValues } from "../filter/types.js";
@@ -25,10 +27,74 @@ export type RelationDirection = "some" | "every";
25
27
  export type Relation = {
26
28
  relation: RelationDirection;
27
29
  };
28
- export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues, false, "initial">;
30
+ export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues>;
29
31
  export type QueryWhere<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValuesRefined, Exclusive, "where"> & Relation;
30
32
  export type QueryEnd<TFieldValues extends FieldValues, TType extends "many" | "one" | "count" = "many", Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValues, Exclusive, "end", TFieldValues, never, TType>;
31
33
  export type QueryProjection<TFieldValues extends FieldValues, A = TFieldValues, R = never, TType extends "many" | "one" | "count" = "many", Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValues, Exclusive, "projection", A, R, TType>;
34
+ export type ComputedProjectionOperation = (q: Query<any>) => QueryWhere<any, any, any>;
35
+ export type ComputedProjectionMathExpression = {
36
+ readonly _tag: "field";
37
+ readonly field: string;
38
+ } | {
39
+ readonly _tag: "mul";
40
+ readonly left: ComputedProjectionMathExpression;
41
+ readonly right: ComputedProjectionMathExpression;
42
+ };
43
+ export type ComputedProjectionExpression = {
44
+ readonly _tag: "relation-count";
45
+ readonly path: string;
46
+ readonly operation?: ComputedProjectionOperation;
47
+ } | {
48
+ readonly _tag: "relation-any";
49
+ readonly path: string;
50
+ readonly operation?: ComputedProjectionOperation;
51
+ } | {
52
+ readonly _tag: "relation-every";
53
+ readonly path: string;
54
+ readonly operation: ComputedProjectionOperation;
55
+ } | {
56
+ readonly _tag: "relation-distinct-count";
57
+ readonly path: string;
58
+ readonly field: string;
59
+ readonly operation?: ComputedProjectionOperation;
60
+ } | {
61
+ readonly _tag: "relation-sum";
62
+ readonly path: string;
63
+ readonly field: string;
64
+ readonly operation?: ComputedProjectionOperation;
65
+ } | {
66
+ readonly _tag: "relation-sum-expr";
67
+ readonly path: string;
68
+ readonly expression: ComputedProjectionMathExpression;
69
+ readonly operation?: ComputedProjectionOperation;
70
+ } | {
71
+ readonly _tag: "relation-sum-expr-by";
72
+ readonly path: string;
73
+ readonly expression: ComputedProjectionMathExpression;
74
+ readonly unit: string;
75
+ readonly operation?: ComputedProjectionOperation;
76
+ } | {
77
+ readonly _tag: "relation-sum-expr-normalized";
78
+ readonly path: string;
79
+ readonly expression: ComputedProjectionMathExpression;
80
+ readonly unit: string;
81
+ readonly toBase: string;
82
+ readonly factors: Readonly<Record<string, number>>;
83
+ readonly operation?: ComputedProjectionOperation;
84
+ } | {
85
+ readonly _tag: "relation-collect";
86
+ readonly path: string;
87
+ readonly field: string;
88
+ readonly distinct: boolean;
89
+ readonly operation?: ComputedProjectionOperation;
90
+ } | {
91
+ readonly _tag: "relation-collect-fields";
92
+ readonly path: string;
93
+ readonly fields: readonly string[];
94
+ readonly distinct: boolean;
95
+ readonly operation?: ComputedProjectionOperation;
96
+ };
97
+ export type ComputedProjectionMap = Readonly<Record<string, ComputedProjectionExpression>>;
32
98
  export type Q<TFieldValues extends FieldValues> = Initial<TFieldValues> | Where<TFieldValues> | And<TFieldValues> | Or<TFieldValues> | Order<TFieldValues, any> | Page<TFieldValues> | Project<any, TFieldValues, any> | One<TFieldValues> | Count<TFieldValues>;
33
99
  declare const Initial_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
34
100
  readonly _tag: "value";
@@ -121,6 +187,7 @@ export declare class Project<A, TFieldValues extends FieldValues, R, TType exten
121
187
  current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues, TType>;
122
188
  schema: S.Codec<A, TFieldValues, R>;
123
189
  mode: "collect" | "project" | "transform";
190
+ computed?: ComputedProjectionMap;
124
191
  }> implements QueryProjection<TFieldValues, A, R> {
125
192
  readonly [QId]: any;
126
193
  pipe(): unknown;
@@ -146,6 +213,35 @@ export declare const one: {
146
213
  export declare const count: {
147
214
  <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryProjection<ExtractFieldValuesRefined<Q>, NonNegativeInt, never, "count", ExtractExclusiveness<Q>>;
148
215
  };
216
+ /**
217
+ * Attach a projection schema to a query.
218
+ *
219
+ * The `select` clause sent to the store is derived from the schema's encoded
220
+ * AST property names (top-level + per-array sub-keys), so a projection always
221
+ * narrows what is read from the store. The repository augments that select
222
+ * with `id` and `_etag` for change tracking. See {@link toFilter} and the
223
+ * dispatch in `Repository/internal/internal.ts`.
224
+ *
225
+ * Modes — pick based on shape of the decoded value and on whether the
226
+ * persistence-model (PM) reverse-mapping is needed:
227
+ *
228
+ * - `"transform"` (default when `mode` omitted): goes through the repo's
229
+ * `parseMany`/`parseMany2` pipeline. The raw row is reverse-mapped via the
230
+ * etag/PM cache (re-injecting `_etag` and any PM-shape state) before
231
+ * decoding. Decode failures `orDie` (error channel = `never`). Use when
232
+ * the schema operates on the full PM shape (e.g. full-entity reads that
233
+ * must preserve etag tracking).
234
+ *
235
+ * - `"project"`: decodes the raw encoded row directly with the supplied
236
+ * schema. No PM reverse-mapping, no etag cache merge. Decode failures
237
+ * surface as `S.SchemaError`. Use for slim DTOs / aggregations that do not
238
+ * need etag tracking and whose schema input is a plain subset of `Encoded`.
239
+ *
240
+ * - `"collect"`: like `"project"`, but the schema yields `Option<A>` and
241
+ * `None` values are dropped post-decode (`Array.getSomes`). Use to filter
242
+ * rows during decode (e.g. discriminated-union narrowing where some rows
243
+ * should not appear in the result).
244
+ */
149
245
  export declare const project: {
150
246
  <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, {
151
247
  [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
@@ -157,6 +253,35 @@ export declare const project: {
157
253
  [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
158
254
  }, R>): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
159
255
  };
256
+ export declare const relation: <TFieldValues extends FieldValues>(path: FieldPath<TFieldValues>) => {
257
+ count: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
258
+ any: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
259
+ every: (operation: ComputedProjectionOperation) => ComputedProjectionExpression;
260
+ distinctCount: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
261
+ sum: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
262
+ sumExpr: (expression: ComputedProjectionMathExpression, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
263
+ sumExprBy: (expression: ComputedProjectionMathExpression, options: {
264
+ unit: string;
265
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
266
+ sumExprNormalized: (expression: ComputedProjectionMathExpression, options: {
267
+ unit: string;
268
+ toBase: string;
269
+ factors: Readonly<Record<string, number>>;
270
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
271
+ collect: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
272
+ collectDistinct: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
273
+ collectFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
274
+ collectDistinctFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
275
+ };
276
+ export declare const expr: {
277
+ readonly field: (field: string) => ComputedProjectionMathExpression;
278
+ readonly mul: (left: ComputedProjectionMathExpression, right: ComputedProjectionMathExpression) => ComputedProjectionMathExpression;
279
+ };
280
+ export declare const computed: <T extends ComputedProjectionMap>(value: T) => T;
281
+ export declare const projectComputed: {
282
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, I, R>, computedProjection: ComputedProjectionMap, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
283
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>, computedProjection: ComputedProjectionMap, mode?: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
284
+ };
160
285
  type GetArV<T> = T extends readonly (infer R)[] ? R : never;
161
286
  export type FilterContinuations<IsCurrentInitial extends boolean = false> = {
162
287
  <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
@@ -224,25 +349,25 @@ export type NestedQueriesFreeIntersectionRefinement = {
224
349
  <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined14, E14>;
225
350
  };
226
351
  export type NestedQueriesFreeDisjointRefinement = {
227
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2, false>;
228
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined3, false>;
229
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined4, false>;
230
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined5, false>;
231
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined6, false>;
232
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined7, false>;
233
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2, false>;
234
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined9, false>;
235
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined10, false>;
236
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined11, false>;
237
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined12, false>;
238
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined13, false>;
239
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined14, false>;
352
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>;
353
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined3>;
354
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined4>;
355
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined5>;
356
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined6>;
357
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined7>;
358
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>;
359
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined9>;
360
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined10>;
361
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined11>;
362
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined12>;
363
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined13>;
364
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined14>;
240
365
  };
241
366
  export type FilterWhere = NestedQueriesFixedRefinement<true> & FilteringRefinements<true> & FilterContinuations<true>;
242
367
  export type FilterContinuationAnd = NestedQueriesFreeIntersectionRefinement & FilteringRefinements & FilterContinuations;
243
368
  export type FilterContinuationOr = NestedQueriesFreeDisjointRefinement & FilterContinuations;
244
369
  export type WhereEveryOrSome = {
245
- <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>(subPath: TFieldName, dude: (current: Query<TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number], false>, ...dudes: ((current: QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number], false>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number], false>)[]): (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValues, false>;
370
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>(subPath: TFieldName, dude: (current: Query<TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>, ...dudes: ((current: QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>)[]): (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValues>;
246
371
  } & FilterContinuationsWithSubpath;
247
372
  export {};
248
- //# sourceMappingURL=dsl.d.ts.map
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNsLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvcXVlcnkvZHNsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEtBQUssS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHdkQsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0MsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDakQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDckQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRXBHLE1BQU0sTUFBTSxJQUFJLENBQ2QsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxHQUFHLFlBQVksRUFDaEIsQ0FBQyxHQUFHLEtBQUssRUFDVCxLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLEVBQ3JDLFNBQVMsU0FBUyxPQUFPLEdBQUcsS0FBSyxJQUUvQixLQUFLLENBQUMsWUFBWSxDQUFDLEdBQ25CLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLEdBQ3hELFFBQVEsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUN4QyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBRXpELGVBQU8sTUFBTSxHQUFHLGVB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LENBQUMsS0FDUCxlQUFlLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFNUUsQ0FDRSxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFDckYsQ0FBQyxFQUNELENBQUMsR0FBRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFDaEMsQ0FBQyxHQUFHLEtBQUssRUFDVCxDQUFDLFNBQVMsT0FBTyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUUzQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FDYixDQUFDLEVBQ0Q7U0FDRyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLE1BQU0seUJBQXlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUs7S0FDNUUsRUFDRCxDQUFDLENBQ0YsRUFDRCxJQUFJLEVBQUUsU0FBUyxHQUNkLENBQ0QsT0FBTyxFQUFFLENBQUMsS0FDUCxlQUFlLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FDRSxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFDckYsQ0FBQyxFQUNELENBQUMsR0FBRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFDaEMsQ0FBQyxHQUFHLEtBQUssRUFDVCxDQUFD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LEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFMUIsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxHQUNsSCxDQUNELE9BQU8sRUFB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MUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUNyRCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQzVHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFdkQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQzVHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFdkQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUNyRCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUV2RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUNyRCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQzVHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFdkQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUss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U0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUxQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUM3RSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVks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LEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFMUIsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUU3RSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsR0FDeEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUUvRSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxF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RSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEVBQ3pELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxLQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsS0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsR0FDeEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUUvRSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEtBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEVBQ3pELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxLQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsS0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsR0FDeEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUUvRSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEVBQ3pELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxLQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsS0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEtBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEVBQ3pELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxLQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxHQUN4RCxDQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixHQUFHLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxDQUFBO0NBQ2hGLENBQUE7QUFHRCxNQUFNLE1BQU0sbUNBQW1DLEdBQUc7SUFDaEQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdkYsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxDQUFBO0lBRXpFLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFMUIsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN4RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxDQUFBO0lBRXpFLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDeEYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDLENBQUE7SUFFekUsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDeEYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxDQUFBO0lBRXpFLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFMUIsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN4RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxDQUFBO0lBRXpFLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDeEYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDLENBQUE7SUFFekUsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDeEYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFB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QyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxHQUN4RCxDQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDLENBQUE7SUFFMUUsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDeEYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFF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QUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsS0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQs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