@effect-app/infra 4.0.0-beta.24 → 4.0.0-beta.241

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 (342) hide show
  1. package/CHANGELOG.md +1818 -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 +21 -17
  9. package/dist/Emailer/fake.d.ts +1 -1
  10. package/dist/Emailer/fake.js +3 -3
  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 +10 -6
  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 +141 -59
  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 +5 -5
  55. package/dist/Model/query/dsl.d.ts +216 -18
  56. package/dist/Model/query/dsl.d.ts.map +1 -1
  57. package/dist/Model/query/dsl.js +240 -5
  58. package/dist/Model/query/new-kid-interpreter.d.ts +116 -8
  59. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
  60. package/dist/Model/query/new-kid-interpreter.js +177 -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 +12 -7
  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 +18 -4
  89. package/dist/Store/Cosmos/query.d.ts +13 -2
  90. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  91. package/dist/Store/Cosmos/query.js +179 -41
  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 +327 -62
  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 +49 -0
  105. package/dist/Store/SQL/query.d.ts.map +1 -0
  106. package/dist/Store/SQL/query.js +527 -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 +39 -9
  117. package/dist/Store/service.d.ts.map +1 -1
  118. package/dist/Store/service.js +31 -7
  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 +6 -4
  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 +1 -1
  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 -9
  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 +18 -7
  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 +18 -11
  160. package/dist/api/internal/health.d.ts +1 -1
  161. package/dist/api/layerUtils.d.ts +15 -7
  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 +3 -4
  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 -38
  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 +13 -6
  188. package/dist/api/setupRequest.d.ts.map +1 -1
  189. package/dist/api/setupRequest.js +37 -11
  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 +2 -2
  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 +65 -57
  227. package/src/Emailer/fake.ts +2 -2
  228. package/src/Emailer/service.ts +13 -3
  229. package/src/MainFiberSet.ts +12 -10
  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 +266 -151
  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/filter/types.ts +4 -4
  241. package/src/Model/query/dsl.ts +456 -20
  242. package/src/Model/query/new-kid-interpreter.ts +281 -7
  243. package/src/Model.ts +1 -0
  244. package/src/QueueMaker/SQLQueue.ts +150 -153
  245. package/src/QueueMaker/errors.ts +3 -1
  246. package/src/QueueMaker/memQueue.ts +111 -105
  247. package/src/QueueMaker/sbqueue.ts +76 -88
  248. package/src/QueueMaker/service.ts +3 -1
  249. package/src/RequestContext.ts +15 -16
  250. package/src/RequestFiberSet.ts +12 -7
  251. package/src/Store/ContextMapContainer.ts +46 -3
  252. package/src/Store/Cosmos/query.ts +214 -50
  253. package/src/Store/Cosmos.ts +491 -350
  254. package/src/Store/Disk.ts +106 -66
  255. package/src/Store/Memory.ts +365 -91
  256. package/src/Store/SQL/Pg.ts +364 -0
  257. package/src/Store/SQL/query.ts +603 -0
  258. package/src/Store/SQL.ts +736 -0
  259. package/src/Store/codeFilter.ts +5 -2
  260. package/src/Store/index.ts +20 -3
  261. package/src/Store/service.ts +60 -11
  262. package/src/Store/utils.ts +25 -23
  263. package/src/adapters/SQL/Model.ts +42 -41
  264. package/src/adapters/ServiceBus.ts +131 -121
  265. package/src/adapters/cosmos-client.ts +5 -3
  266. package/src/adapters/index.ts +7 -0
  267. package/src/adapters/memQueue.ts +5 -4
  268. package/src/adapters/mongo-client.ts +4 -2
  269. package/src/adapters/redis-client.ts +6 -2
  270. package/src/api/ContextProvider.ts +19 -16
  271. package/src/api/internal/RequestContextMiddleware.ts +24 -6
  272. package/src/api/internal/auth.ts +248 -44
  273. package/src/api/internal/events.ts +21 -12
  274. package/src/api/layerUtils.ts +13 -9
  275. package/src/api/reportError.ts +2 -1
  276. package/src/api/routing/middleware/RouterMiddleware.ts +5 -4
  277. package/src/api/routing/middleware/middleware.ts +60 -15
  278. package/src/api/routing/middleware.ts +2 -4
  279. package/src/api/routing/schema/jwt.ts +2 -1
  280. package/src/api/routing/utils.ts +2 -1
  281. package/src/api/routing.ts +309 -139
  282. package/src/api/setupRequest.ts +63 -12
  283. package/src/arbs.ts +5 -3
  284. package/src/errorReporter.ts +65 -75
  285. package/src/fileUtil.ts +1 -1
  286. package/src/logger/jsonLogger.ts +3 -1
  287. package/src/logger/logFmtLogger.ts +1 -1
  288. package/src/logger/shared.ts +3 -2
  289. package/src/otel.ts +152 -0
  290. package/src/rateLimit.ts +34 -23
  291. package/src/test.ts +2 -2
  292. package/test/auth.test.ts +101 -0
  293. package/test/contextProvider.test.ts +14 -11
  294. package/test/controller.test.ts +25 -29
  295. package/test/cosmos-query.test.ts +159 -0
  296. package/test/dist/auth.test.d.ts.map +1 -0
  297. package/test/dist/contextProvider.test.d.ts.map +1 -1
  298. package/test/dist/controller.test.d.ts.map +1 -1
  299. package/test/dist/cosmos-query.test.d.ts.map +1 -0
  300. package/test/dist/date-query.test.d.ts.map +1 -0
  301. package/test/dist/fixtures.d.ts +30 -12
  302. package/test/dist/fixtures.d.ts.map +1 -1
  303. package/test/dist/fixtures.js +17 -10
  304. package/test/dist/query.test.d.ts.map +1 -1
  305. package/test/dist/rawQuery.test.d.ts.map +1 -1
  306. package/test/dist/repository-ext.test.d.ts.map +1 -0
  307. package/test/dist/requires.test.d.ts.map +1 -1
  308. package/test/dist/router-generator.test.d.ts.map +1 -0
  309. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  310. package/test/dist/rpc-context-map-streaming.test.d.ts.map +1 -0
  311. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  312. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  313. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  314. package/test/dist/sql-store.test.d.ts.map +1 -0
  315. package/test/fixtures.ts +16 -9
  316. package/test/layerUtils.test.ts +1 -1
  317. package/test/query.test.ts +901 -38
  318. package/test/rawQuery.test.ts +338 -20
  319. package/test/repository-ext.test.ts +62 -0
  320. package/test/requires.test.ts +10 -5
  321. package/test/router-generator.test.ts +187 -0
  322. package/test/routing-interruptibility.test.ts +66 -0
  323. package/test/rpc-context-map-streaming.test.ts +262 -0
  324. package/test/rpc-e2e-invalidation.test.ts +256 -0
  325. package/test/rpc-multi-middleware.test.ts +84 -9
  326. package/test/rpc-stream-fullstack.test.ts +304 -0
  327. package/test/sql-store.test.ts +1711 -0
  328. package/test/validateSample.test.ts +17 -12
  329. package/tsconfig.examples.json +1 -1
  330. package/tsconfig.json +2 -1
  331. package/tsconfig.json.bak +2 -2
  332. package/tsconfig.src.json +35 -35
  333. package/tsconfig.test.json +2 -2
  334. package/dist/Operations.d.ts +0 -55
  335. package/dist/Operations.d.ts.map +0 -1
  336. package/dist/Operations.js +0 -102
  337. package/dist/OperationsRepo.d.ts +0 -41
  338. package/dist/OperationsRepo.d.ts.map +0 -1
  339. package/dist/OperationsRepo.js +0 -14
  340. package/eslint.config.mjs +0 -24
  341. package/src/Operations.ts +0 -235
  342. 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,100 @@ 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
+ readonly _tag: "relation-length";
98
+ readonly path: string;
99
+ };
100
+ /**
101
+ * An expression that aggregates values across documents (for use with {@link aggregate}).
102
+ * `agg-field` references a document field to group by; other tags are aggregate functions.
103
+ */
104
+ export type AggregateExpression = {
105
+ readonly _tag: "agg-field";
106
+ readonly path: string;
107
+ } | {
108
+ readonly _tag: "agg-count";
109
+ } | {
110
+ readonly _tag: "agg-count-when";
111
+ readonly operation: ComputedProjectionOperation;
112
+ } | {
113
+ readonly _tag: "agg-sum";
114
+ readonly field: string;
115
+ } | {
116
+ readonly _tag: "agg-min";
117
+ readonly field: string;
118
+ } | {
119
+ readonly _tag: "agg-max";
120
+ readonly field: string;
121
+ };
122
+ export type AggregateMap = Readonly<Record<string, AggregateExpression>>;
123
+ export type ComputedProjectionMap = Readonly<Record<string, ComputedProjectionExpression>>;
32
124
  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
125
  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
126
  readonly _tag: "value";
@@ -120,7 +212,9 @@ declare const Project_base: new <A_1 extends Record<string, any> = {}>(args: imp
120
212
  export declare class Project<A, TFieldValues extends FieldValues, R, TType extends "one" | "many" = "many"> extends Project_base<{
121
213
  current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues, TType>;
122
214
  schema: S.Codec<A, TFieldValues, R>;
123
- mode: "collect" | "project" | "transform";
215
+ mode: "collect" | "project" | "transform" | "aggregate";
216
+ computed?: ComputedProjectionMap;
217
+ aggregateMap?: AggregateMap;
124
218
  }> implements QueryProjection<TFieldValues, A, R> {
125
219
  readonly [QId]: any;
126
220
  pipe(): unknown;
@@ -146,6 +240,35 @@ export declare const one: {
146
240
  export declare const count: {
147
241
  <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryProjection<ExtractFieldValuesRefined<Q>, NonNegativeInt, never, "count", ExtractExclusiveness<Q>>;
148
242
  };
243
+ /**
244
+ * Attach a projection schema to a query.
245
+ *
246
+ * The `select` clause sent to the store is derived from the schema's encoded
247
+ * AST property names (top-level + per-array sub-keys), so a projection always
248
+ * narrows what is read from the store. The repository augments that select
249
+ * with `id` and `_etag` for change tracking. See {@link toFilter} and the
250
+ * dispatch in `Repository/internal/internal.ts`.
251
+ *
252
+ * Modes — pick based on shape of the decoded value and on whether the
253
+ * persistence-model (PM) reverse-mapping is needed:
254
+ *
255
+ * - `"transform"` (default when `mode` omitted): goes through the repo's
256
+ * `parseMany` pipeline. The raw row is reverse-mapped via the
257
+ * etag/PM cache (re-injecting `_etag` and any PM-shape state) before
258
+ * decoding. Decode failures `orDie` (error channel = `never`). Use when
259
+ * the schema operates on the full PM shape (e.g. full-entity reads that
260
+ * must preserve etag tracking).
261
+ *
262
+ * - `"project"`: decodes the raw encoded row directly with the supplied
263
+ * schema. No PM reverse-mapping, no etag cache merge. Decode failures
264
+ * surface as `S.SchemaError`. Use for slim DTOs / aggregations that do not
265
+ * need etag tracking and whose schema input is a plain subset of `Encoded`.
266
+ *
267
+ * - `"collect"`: like `"project"`, but the schema yields `Option<A>` and
268
+ * `None` values are dropped post-decode (`Array.getSomes`). Use to filter
269
+ * rows during decode (e.g. discriminated-union narrowing where some rows
270
+ * should not appear in the result).
271
+ */
149
272
  export declare const project: {
150
273
  <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
274
  [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
@@ -157,6 +280,81 @@ export declare const project: {
157
280
  [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
158
281
  }, R>): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
159
282
  };
283
+ export declare const relation: <TFieldValues extends FieldValues>(path: FieldPath<TFieldValues>) => {
284
+ length: () => ComputedProjectionExpression;
285
+ count: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
286
+ any: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
287
+ every: (operation: ComputedProjectionOperation) => ComputedProjectionExpression;
288
+ distinctCount: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
289
+ sum: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
290
+ sumExpr: (expression: ComputedProjectionMathExpression, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
291
+ sumExprBy: (expression: ComputedProjectionMathExpression, options: {
292
+ unit: string;
293
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
294
+ sumExprNormalized: (expression: ComputedProjectionMathExpression, options: {
295
+ unit: string;
296
+ toBase: string;
297
+ factors: Readonly<Record<string, number>>;
298
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
299
+ collect: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
300
+ collectDistinct: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
301
+ collectFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
302
+ collectDistinctFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
303
+ };
304
+ export declare const expr: {
305
+ readonly field: (field: string) => ComputedProjectionMathExpression;
306
+ readonly mul: (left: ComputedProjectionMathExpression, right: ComputedProjectionMathExpression) => ComputedProjectionMathExpression;
307
+ };
308
+ export declare const computed: <T extends ComputedProjectionMap>(value: T) => T;
309
+ export declare const projectComputed: {
310
+ <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>;
311
+ <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>;
312
+ };
313
+ /**
314
+ * DSL helpers for building aggregate expressions used with {@link aggregate}.
315
+ *
316
+ * - `agg.field(path)` — references a document field for GROUP BY (with optional output alias)
317
+ * - `agg.count()` — COUNT(*) across all rows in the group
318
+ * - `agg.countWhen(op)` — COUNT of rows matching the filter operation
319
+ * - `agg.sum(field)` — SUM of a numeric document field
320
+ * - `agg.min(field)` / `agg.max(field)` — MIN/MAX of a document field
321
+ */
322
+ export declare const agg: {
323
+ readonly field: (path: string) => AggregateExpression;
324
+ readonly count: () => AggregateExpression;
325
+ readonly countWhen: (operation: ComputedProjectionOperation) => AggregateExpression;
326
+ readonly sum: (field: string) => AggregateExpression;
327
+ readonly min: (field: string) => AggregateExpression;
328
+ readonly max: (field: string) => AggregateExpression;
329
+ };
330
+ /**
331
+ * Attach an aggregate projection to a query, performing GROUP BY + aggregate functions at the
332
+ * database level instead of fetching all rows and grouping in memory.
333
+ *
334
+ * The `aggregateMap` maps each output field name to either:
335
+ * - `agg.field(path)` — a group-by field (document path → output alias)
336
+ * - `agg.count()` / `agg.countWhen(op)` / `agg.sum(f)` / `agg.min(f)` / `agg.max(f)` — an aggregate
337
+ *
338
+ * The output is decoded directly with `schema` (no PM reverse-mapping, no etag tracking).
339
+ * Decode failures surface as `S.SchemaError`.
340
+ *
341
+ * @example
342
+ * ```ts
343
+ * repo.query(
344
+ * where("status", "active"),
345
+ * aggregate(
346
+ * S.Struct({ city: S.String, count: S.Number }),
347
+ * {
348
+ * city: agg.field("address.city"),
349
+ * count: agg.countWhen((q) => q.pipe(where("active", true)))
350
+ * }
351
+ * )
352
+ * )
353
+ * ```
354
+ */
355
+ export declare const aggregate: {
356
+ <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>, aggregateMap: AggregateMap): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
357
+ };
160
358
  type GetArV<T> = T extends readonly (infer R)[] ? R : never;
161
359
  export type FilterContinuations<IsCurrentInitial extends boolean = false> = {
162
360
  <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 +422,25 @@ export type NestedQueriesFreeIntersectionRefinement = {
224
422
  <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
423
  };
226
424
  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>;
425
+ <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>;
426
+ <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>;
427
+ <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>;
428
+ <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>;
429
+ <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>;
430
+ <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>;
431
+ <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>;
432
+ <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>;
433
+ <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>;
434
+ <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>;
435
+ <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>;
436
+ <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>;
437
+ <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
438
  };
241
439
  export type FilterWhere = NestedQueriesFixedRefinement<true> & FilteringRefinements<true> & FilterContinuations<true>;
242
440
  export type FilterContinuationAnd = NestedQueriesFreeIntersectionRefinement & FilteringRefinements & FilterContinuations;
243
441
  export type FilterContinuationOr = NestedQueriesFreeDisjointRefinement & FilterContinuations;
244
442
  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>;
443
+ <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
444
  } & FilterContinuationsWithSubpath;
247
445
  export {};
248
- //# sourceMappingURL=dsl.d.ts.map
446
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNsLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvcXVlcnkvZHNsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEtBQUssS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHdkQsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0MsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDakQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDckQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRXBHLE1BQU0sTUFBTSxJQUFJLENBQ2QsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxHQUFHLFlBQVksRUFDaEIsQ0FBQyxHQUFHLEtBQUssRUFDVCxLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLEVBQ3JDLFNBQVMsU0FBUyxPQUFPLEdBQUcsS0FBSyxJQUUvQixLQUFLLENBQUMsWUFBWSxDQUFDLEdBQ25CLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLEdBQ3hELFFBQVEsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUN4QyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBRXpELGVBQU8sTUFBTSxHQUFHLGVB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LEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsR0FDbEgsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRXRELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUV2RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FDckQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUV2RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBRXZELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUV2RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FDckQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtD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Q0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixHQUFHLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRTdFLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxHQUN4RCxDQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixHQUFHLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBRS9FLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFB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Q0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZE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QkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEtBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFC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LFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEdBQ3hELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsQ0FBQTtJQUUxRSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9C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QUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlB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