@teleporthq/teleport-plugin-next-data-source 0.43.66 → 0.43.67

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 (179) hide show
  1. package/__tests__/array-mapper-cache-wiring.test.ts +11 -0
  2. package/__tests__/data-source-request-locale.test.ts +313 -0
  3. package/__tests__/gated-data-provider.test.ts +88 -0
  4. package/__tests__/localized-columns.test.ts +217 -0
  5. package/__tests__/numbered-pagination.test.ts +15 -0
  6. package/__tests__/product-filter-fields.ts +230 -0
  7. package/__tests__/product-filter-sql.fixture.json +7 -0
  8. package/__tests__/refetch-loading-state.test.ts +23 -0
  9. package/__tests__/search-clear-button.test.ts +122 -0
  10. package/dist/cjs/content-localization.d.ts +37 -0
  11. package/dist/cjs/content-localization.d.ts.map +1 -0
  12. package/dist/cjs/content-localization.js +29 -0
  13. package/dist/cjs/content-localization.js.map +1 -0
  14. package/dist/cjs/count-effect.d.ts +11 -1
  15. package/dist/cjs/count-effect.d.ts.map +1 -1
  16. package/dist/cjs/count-effect.js +30 -2
  17. package/dist/cjs/count-effect.js.map +1 -1
  18. package/dist/cjs/fetchers/airtable.d.ts.map +1 -1
  19. package/dist/cjs/fetchers/airtable.js +1 -1
  20. package/dist/cjs/fetchers/airtable.js.map +1 -1
  21. package/dist/cjs/fetchers/clickhouse.d.ts.map +1 -1
  22. package/dist/cjs/fetchers/clickhouse.js +1 -1
  23. package/dist/cjs/fetchers/clickhouse.js.map +1 -1
  24. package/dist/cjs/fetchers/firestore.d.ts.map +1 -1
  25. package/dist/cjs/fetchers/firestore.js +1 -1
  26. package/dist/cjs/fetchers/firestore.js.map +1 -1
  27. package/dist/cjs/fetchers/mariadb.d.ts.map +1 -1
  28. package/dist/cjs/fetchers/mariadb.js +1 -1
  29. package/dist/cjs/fetchers/mariadb.js.map +1 -1
  30. package/dist/cjs/fetchers/mongodb.d.ts.map +1 -1
  31. package/dist/cjs/fetchers/mongodb.js +1 -1
  32. package/dist/cjs/fetchers/mongodb.js.map +1 -1
  33. package/dist/cjs/fetchers/mysql.d.ts.map +1 -1
  34. package/dist/cjs/fetchers/mysql.js +1 -1
  35. package/dist/cjs/fetchers/mysql.js.map +1 -1
  36. package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
  37. package/dist/cjs/fetchers/postgresql.js +2 -1
  38. package/dist/cjs/fetchers/postgresql.js.map +1 -1
  39. package/dist/cjs/fetchers/redshift.d.ts.map +1 -1
  40. package/dist/cjs/fetchers/redshift.js +1 -1
  41. package/dist/cjs/fetchers/redshift.js.map +1 -1
  42. package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
  43. package/dist/cjs/fetchers/teleport.js +10 -3
  44. package/dist/cjs/fetchers/teleport.js.map +1 -1
  45. package/dist/cjs/fetchers/turso.d.ts.map +1 -1
  46. package/dist/cjs/fetchers/turso.js +1 -1
  47. package/dist/cjs/fetchers/turso.js.map +1 -1
  48. package/dist/cjs/index.d.ts +5 -0
  49. package/dist/cjs/index.d.ts.map +1 -1
  50. package/dist/cjs/index.js +60 -8
  51. package/dist/cjs/index.js.map +1 -1
  52. package/dist/cjs/loading-state.d.ts +16 -1
  53. package/dist/cjs/loading-state.d.ts.map +1 -1
  54. package/dist/cjs/loading-state.js +69 -3
  55. package/dist/cjs/loading-state.js.map +1 -1
  56. package/dist/cjs/localized-columns.d.ts +56 -0
  57. package/dist/cjs/localized-columns.d.ts.map +1 -0
  58. package/dist/cjs/localized-columns.js +124 -0
  59. package/dist/cjs/localized-columns.js.map +1 -0
  60. package/dist/cjs/pagination-plugin.d.ts.map +1 -1
  61. package/dist/cjs/pagination-plugin.js +123 -45
  62. package/dist/cjs/pagination-plugin.js.map +1 -1
  63. package/dist/cjs/product-filter-fields.d.ts +87 -0
  64. package/dist/cjs/product-filter-fields.d.ts.map +1 -0
  65. package/dist/cjs/product-filter-fields.js +161 -0
  66. package/dist/cjs/product-filter-fields.js.map +1 -0
  67. package/dist/cjs/request-locale.d.ts +49 -0
  68. package/dist/cjs/request-locale.d.ts.map +1 -0
  69. package/dist/cjs/request-locale.js +130 -0
  70. package/dist/cjs/request-locale.js.map +1 -0
  71. package/dist/cjs/search-clear.d.ts +31 -0
  72. package/dist/cjs/search-clear.d.ts.map +1 -0
  73. package/dist/cjs/search-clear.js +103 -0
  74. package/dist/cjs/search-clear.js.map +1 -0
  75. package/dist/cjs/transformations/index.d.ts +16 -2
  76. package/dist/cjs/transformations/index.d.ts.map +1 -1
  77. package/dist/cjs/transformations/index.js +14 -2
  78. package/dist/cjs/transformations/index.js.map +1 -1
  79. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  80. package/dist/cjs/utils.d.ts +11 -1
  81. package/dist/cjs/utils.d.ts.map +1 -1
  82. package/dist/cjs/utils.js +59 -15
  83. package/dist/cjs/utils.js.map +1 -1
  84. package/dist/esm/content-localization.d.ts +37 -0
  85. package/dist/esm/content-localization.d.ts.map +1 -0
  86. package/dist/esm/content-localization.js +24 -0
  87. package/dist/esm/content-localization.js.map +1 -0
  88. package/dist/esm/count-effect.d.ts +11 -1
  89. package/dist/esm/count-effect.d.ts.map +1 -1
  90. package/dist/esm/count-effect.js +28 -1
  91. package/dist/esm/count-effect.js.map +1 -1
  92. package/dist/esm/fetchers/airtable.d.ts.map +1 -1
  93. package/dist/esm/fetchers/airtable.js +1 -1
  94. package/dist/esm/fetchers/airtable.js.map +1 -1
  95. package/dist/esm/fetchers/clickhouse.d.ts.map +1 -1
  96. package/dist/esm/fetchers/clickhouse.js +1 -1
  97. package/dist/esm/fetchers/clickhouse.js.map +1 -1
  98. package/dist/esm/fetchers/firestore.d.ts.map +1 -1
  99. package/dist/esm/fetchers/firestore.js +1 -1
  100. package/dist/esm/fetchers/firestore.js.map +1 -1
  101. package/dist/esm/fetchers/mariadb.d.ts.map +1 -1
  102. package/dist/esm/fetchers/mariadb.js +1 -1
  103. package/dist/esm/fetchers/mariadb.js.map +1 -1
  104. package/dist/esm/fetchers/mongodb.d.ts.map +1 -1
  105. package/dist/esm/fetchers/mongodb.js +1 -1
  106. package/dist/esm/fetchers/mongodb.js.map +1 -1
  107. package/dist/esm/fetchers/mysql.d.ts.map +1 -1
  108. package/dist/esm/fetchers/mysql.js +1 -1
  109. package/dist/esm/fetchers/mysql.js.map +1 -1
  110. package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
  111. package/dist/esm/fetchers/postgresql.js +2 -1
  112. package/dist/esm/fetchers/postgresql.js.map +1 -1
  113. package/dist/esm/fetchers/redshift.d.ts.map +1 -1
  114. package/dist/esm/fetchers/redshift.js +1 -1
  115. package/dist/esm/fetchers/redshift.js.map +1 -1
  116. package/dist/esm/fetchers/teleport.d.ts.map +1 -1
  117. package/dist/esm/fetchers/teleport.js +10 -3
  118. package/dist/esm/fetchers/teleport.js.map +1 -1
  119. package/dist/esm/fetchers/turso.d.ts.map +1 -1
  120. package/dist/esm/fetchers/turso.js +1 -1
  121. package/dist/esm/fetchers/turso.js.map +1 -1
  122. package/dist/esm/index.d.ts +5 -0
  123. package/dist/esm/index.d.ts.map +1 -1
  124. package/dist/esm/index.js +55 -7
  125. package/dist/esm/index.js.map +1 -1
  126. package/dist/esm/loading-state.d.ts +16 -1
  127. package/dist/esm/loading-state.d.ts.map +1 -1
  128. package/dist/esm/loading-state.js +69 -3
  129. package/dist/esm/loading-state.js.map +1 -1
  130. package/dist/esm/localized-columns.d.ts +56 -0
  131. package/dist/esm/localized-columns.d.ts.map +1 -0
  132. package/dist/esm/localized-columns.js +119 -0
  133. package/dist/esm/localized-columns.js.map +1 -0
  134. package/dist/esm/pagination-plugin.d.ts.map +1 -1
  135. package/dist/esm/pagination-plugin.js +124 -46
  136. package/dist/esm/pagination-plugin.js.map +1 -1
  137. package/dist/esm/product-filter-fields.d.ts +87 -0
  138. package/dist/esm/product-filter-fields.d.ts.map +1 -0
  139. package/dist/esm/product-filter-fields.js +154 -0
  140. package/dist/esm/product-filter-fields.js.map +1 -0
  141. package/dist/esm/request-locale.d.ts +49 -0
  142. package/dist/esm/request-locale.d.ts.map +1 -0
  143. package/dist/esm/request-locale.js +98 -0
  144. package/dist/esm/request-locale.js.map +1 -0
  145. package/dist/esm/search-clear.d.ts +31 -0
  146. package/dist/esm/search-clear.d.ts.map +1 -0
  147. package/dist/esm/search-clear.js +74 -0
  148. package/dist/esm/search-clear.js.map +1 -0
  149. package/dist/esm/transformations/index.d.ts +16 -2
  150. package/dist/esm/transformations/index.d.ts.map +1 -1
  151. package/dist/esm/transformations/index.js +14 -2
  152. package/dist/esm/transformations/index.js.map +1 -1
  153. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  154. package/dist/esm/utils.d.ts +11 -1
  155. package/dist/esm/utils.d.ts.map +1 -1
  156. package/dist/esm/utils.js +59 -15
  157. package/dist/esm/utils.js.map +1 -1
  158. package/package.json +5 -5
  159. package/src/content-localization.ts +53 -0
  160. package/src/count-effect.ts +53 -2
  161. package/src/fetchers/airtable.ts +4 -2
  162. package/src/fetchers/clickhouse.ts +4 -2
  163. package/src/fetchers/firestore.ts +4 -2
  164. package/src/fetchers/mariadb.ts +4 -2
  165. package/src/fetchers/mongodb.ts +4 -2
  166. package/src/fetchers/mysql.ts +4 -2
  167. package/src/fetchers/postgresql.ts +16 -2
  168. package/src/fetchers/redshift.ts +4 -2
  169. package/src/fetchers/teleport.ts +48 -9
  170. package/src/fetchers/turso.ts +4 -2
  171. package/src/index.ts +79 -11
  172. package/src/loading-state.ts +134 -3
  173. package/src/localized-columns.ts +133 -0
  174. package/src/pagination-plugin.ts +177 -53
  175. package/src/product-filter-fields.ts +173 -0
  176. package/src/request-locale.ts +113 -0
  177. package/src/search-clear.ts +102 -0
  178. package/src/transformations/index.ts +30 -5
  179. package/src/utils.ts +83 -15
package/dist/esm/index.js CHANGED
@@ -40,10 +40,40 @@ import { extractDataSourceIntoNextAPIFolder, extractDataSourceIntoGetStaticProps
40
40
  import { createNextArrayMapperPaginationPlugin } from './pagination-plugin';
41
41
  import { buildProductTransformOptions } from './transformations';
42
42
  import { DATA_SOURCE_ISR_REVALIDATE_SECONDS } from './isr';
43
+ import { ensureRouterDeclaration } from './request-locale';
43
44
  import * as types from '@babel/types';
44
45
  // Prefix used to clearly differentiate wrapped data source expression props
45
46
  // from user-defined or standard renderPropIdentifier values
46
47
  var WRAPPED_DS_EXPR_PREFIX = '__dsExpr_';
48
+ /**
49
+ * The statements of the component function the `jsx-component` chunk declares
50
+ * (`const Page = (props) => { … }`), or `null` when the chunk holds another
51
+ * shape — a test may hand the plugin a bare element.
52
+ */
53
+ var findComponentBody = function (componentChunk) {
54
+ var _a;
55
+ var content = componentChunk.content;
56
+ if ((content === null || content === void 0 ? void 0 : content.type) !== 'VariableDeclaration') {
57
+ return null;
58
+ }
59
+ var init = (_a = content.declarations[0]) === null || _a === void 0 ? void 0 : _a.init;
60
+ if (((init === null || init === void 0 ? void 0 : init.type) !== 'ArrowFunctionExpression' && (init === null || init === void 0 ? void 0 : init.type) !== 'FunctionExpression') ||
61
+ init.body.type !== 'BlockStatement') {
62
+ return null;
63
+ }
64
+ return init.body.body;
65
+ };
66
+ /**
67
+ * A client-side fetch in a localized project reads `router.locale` (see
68
+ * `extractDataSourceIntoNextAPIFolder`), so the router has to be declared in
69
+ * the component that fetches.
70
+ */
71
+ var ensureRouterForClientFetches = function (componentChunk, dependencies) {
72
+ var body = findComponentBody(componentChunk);
73
+ if (body) {
74
+ ensureRouterDeclaration(body, dependencies);
75
+ }
76
+ };
47
77
  function containsDataSourceDataReference(astNode) {
48
78
  if (!astNode || typeof astNode !== 'object') {
49
79
  return false;
@@ -284,7 +314,7 @@ function extractPaginationConfigEarly(uidlNode, resources) {
284
314
  }
285
315
  export var createNextPagesDataSourcePlugin = function () {
286
316
  var nextPagesDataSourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
287
- var uidl, chunks, options, dependencies, dataSources, componentChunk, opts, pageConfig, getStaticPropsChunk, firstDataSourceInfo, fetcherImportName, dataProviderPositionCounters, existingPropKeys, funcDecl, tryStmt, retStmt, propsProp, propsVal, _i, _a, prop, keyName, wrapContext, functionDeclaration, functionBody, tryBlock, returnStatement, propsObject, propsValue, meta, _b, _c, wrapped, fetchCallExpression, safeFetchExpression, existingIndex, promiseAllCall, arrayPattern, hasPaginatedOrSearchDataSources, getStaticPropsAST, paginationPlugin;
317
+ var uidl, chunks, options, dependencies, dataSources, componentChunk, opts, pageConfig, getStaticPropsChunk, transformOptions, wiredClientFetch, firstDataSourceInfo, fetcherImportName, dataProviderPositionCounters, existingPropKeys, funcDecl, tryStmt, retStmt, propsProp, propsVal, _i, _a, prop, keyName, wrapContext, functionDeclaration, functionBody, tryBlock, returnStatement, propsObject, propsValue, meta, _b, _c, wrapped, fetchCallExpression, safeFetchExpression, existingIndex, promiseAllCall, arrayPattern, hasPaginatedOrSearchDataSources, getStaticPropsAST, paginationPlugin;
288
318
  var _d, _e;
289
319
  return __generator(this, function (_f) {
290
320
  uidl = structure.uidl, chunks = structure.chunks, options = structure.options, dependencies = structure.dependencies;
@@ -328,6 +358,8 @@ export var createNextPagesDataSourcePlugin = function () {
328
358
  opts.paginationConfig.limitMap.set(dataSourceId, limit);
329
359
  });
330
360
  getStaticPropsChunk = chunks.find(function (chunk) { return chunk.name === 'getStaticProps'; });
361
+ transformOptions = buildProductTransformOptions(options);
362
+ wiredClientFetch = false;
331
363
  firstDataSourceInfo = null;
332
364
  fetcherImportName = null;
333
365
  dataProviderPositionCounters = new Map();
@@ -419,7 +451,7 @@ export var createNextPagesDataSourcePlugin = function () {
419
451
  // When multiple nodes share the same dataSourceKey (same resource ID), the function is
420
452
  // idempotent for getStaticProps (skips duplicate fetches via existingInFetchMeta) but
421
453
  // still updates the next uninitialized DataProvider JSX node on each call.
422
- var result = extractDataSourceIntoGetStaticProps(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath, buildProductTransformOptions(options));
454
+ var result = extractDataSourceIntoGetStaticProps(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath, transformOptions);
423
455
  if (result.success && result.chunk) {
424
456
  getStaticPropsChunk = result.chunk;
425
457
  // Track the first data source info for wrapping dataSourceData expressions
@@ -441,10 +473,13 @@ export var createNextPagesDataSourcePlugin = function () {
441
473
  }
442
474
  }
443
475
  }
444
- else {
445
- extractDataSourceIntoNextAPIFolder(dataSourceNode, dataSources, componentChunk, options.extractedResources, buildProductTransformOptions(options));
476
+ else if (extractDataSourceIntoNextAPIFolder(dataSourceNode, dataSources, componentChunk, options.extractedResources, transformOptions)) {
477
+ wiredClientFetch = true;
446
478
  }
447
479
  });
480
+ if (wiredClientFetch && transformOptions.localization) {
481
+ ensureRouterForClientFetches(componentChunk, dependencies);
482
+ }
448
483
  // After processing all data source nodes, wrap any element props containing dataSourceData
449
484
  // expressions in a DataProvider
450
485
  if (firstDataSourceInfo && componentChunk.content) {
@@ -772,7 +807,7 @@ function stringifyComplexParamsInDataProviders(componentChunk) {
772
807
  }
773
808
  export var createNextComponentDataSourcePlugin = function () {
774
809
  var nextComponentDataSourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
775
- var uidl, chunks, options, dependencies, dataSources, opts, componentConfig, componentChunk, firstDataSourceInfo, firstDataSourceId, dataSource, dsIdPrefix, dsType, existingFileName, existingTableName, _i, _a, key, parts, tableName, sanitizedDsName, sanitizedTableName, fileName, existingPropKeys, wrapContext, dataSource, fileName, generateDataSourceFetcherWithCore, fetcherCode, apiRouteCode, paginationPlugin;
810
+ var uidl, chunks, options, dependencies, dataSources, opts, componentConfig, componentChunk, transformOptions, wiredClientFetch, firstDataSourceInfo, firstDataSourceId, dataSource, dsIdPrefix, dsType, existingFileName, existingTableName, _i, _a, key, parts, tableName, sanitizedDsName, sanitizedTableName, fileName, existingPropKeys, wrapContext, dataSource, fileName, generateDataSourceFetcherWithCore, fetcherCode, apiRouteCode, paginationPlugin;
776
811
  return __generator(this, function (_b) {
777
812
  uidl = structure.uidl, chunks = structure.chunks, options = structure.options, dependencies = structure.dependencies;
778
813
  // Early return if no options or dataSources
@@ -814,6 +849,8 @@ export var createNextComponentDataSourcePlugin = function () {
814
849
  if (!options.extractedResources) {
815
850
  return [2 /*return*/, structure];
816
851
  }
852
+ transformOptions = buildProductTransformOptions(options);
853
+ wiredClientFetch = false;
817
854
  firstDataSourceInfo = null;
818
855
  UIDLUtils.traverseNodes(uidl.node, function (node) {
819
856
  // Data source nodes can be either:
@@ -856,8 +893,13 @@ export var createNextComponentDataSourcePlugin = function () {
856
893
  }
857
894
  }
858
895
  }
859
- extractDataSourceIntoNextAPIFolder(dataSourceNode, dataSources, componentChunk, options.extractedResources, buildProductTransformOptions(options));
896
+ if (extractDataSourceIntoNextAPIFolder(dataSourceNode, dataSources, componentChunk, options.extractedResources, transformOptions)) {
897
+ wiredClientFetch = true;
898
+ }
860
899
  });
900
+ if (wiredClientFetch && transformOptions.localization) {
901
+ ensureRouterForClientFetches(componentChunk, dependencies);
902
+ }
861
903
  // If no data source nodes were found but there are dataSources available,
862
904
  // use the first available dataSource to create firstDataSourceInfo
863
905
  // This handles the case where a component has element props with dataSourceData expressions
@@ -917,7 +959,7 @@ export var createNextComponentDataSourcePlugin = function () {
917
959
  if (dataSource && !options.extractedResources["utils/".concat(fileName)]) {
918
960
  generateDataSourceFetcherWithCore = require('./data-source-fetchers').generateDataSourceFetcherWithCore;
919
961
  try {
920
- fetcherCode = generateDataSourceFetcherWithCore(dataSource, firstDataSourceInfo.tableName, false, buildProductTransformOptions(options));
962
+ fetcherCode = generateDataSourceFetcherWithCore(dataSource, firstDataSourceInfo.tableName, false, transformOptions);
921
963
  options.extractedResources["utils/".concat(fileName)] = {
922
964
  fileName: fileName,
923
965
  fileType: FileType.JS,
@@ -954,8 +996,14 @@ export * from './utils';
954
996
  export * from './array-mapper-pagination';
955
997
  export * from './pagination-plugin';
956
998
  export * from './count-fetchers';
999
+ export * from './product-price-sort';
1000
+ export * from './product-filter-fields';
957
1001
  // The product transform's build-time options (category taxonomy + storefront
958
1002
  // tax rate) — every package that emits a data-source fetcher has to derive
959
1003
  // them the same way.
960
1004
  export { buildProductTransformOptions } from './transformations';
1005
+ // How a fetch says which language it is for, and when a project needs it to —
1006
+ // shared with every other package that emits a data-source fetch.
1007
+ export { isLocalizedProject, resolveContentLocalization } from './content-localization';
1008
+ export { REQUEST_LOCALE_PARAM, buildServerLocaleParam } from './request-locale';
961
1009
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAGL,QAAQ,EACR,SAAS,GAIV,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,kCAAkC,EAClC,mCAAmC,EACnC,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,qCAAqC,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,kCAAkC,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAmCrC,4EAA4E;AAC5E,4DAA4D;AAC5D,IAAM,sBAAsB,GAAG,WAAW,CAAA;AAE1C;;;;GAIG;AACH,IAAM,iBAAiB,GAAG,UAAC,cAAoC;;IAC7D,IAAM,OAAO,GAAG,cAAc,CAAC,OAAiC,CAAA;IAChE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,qBAAqB,EAAE;QAC3C,OAAO,IAAI,CAAA;KACZ;IACD,IAAM,IAAI,GAAG,MAAA,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA;IAC1C,IACE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,yBAAyB,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,oBAAoB,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,EACnC;QACA,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AACvB,CAAC,CAAA;AAED;;;;GAIG;AACH,IAAM,4BAA4B,GAAG,UACnC,cAAoC,EACpC,YAA4C;IAE5C,IAAM,IAAI,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;IAC9C,IAAI,IAAI,EAAE;QACR,uBAAuB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;KAC5C;AACH,CAAC,CAAA;AAED,SAAS,+BAA+B,CAAC,OAAY;IACnD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC3C,OAAO,KAAK,CAAA;KACb;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE;QACtE,OAAO,IAAI,CAAA;KACZ;IAED,KAAkB,UAAoB,EAApB,KAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAApB,cAAoB,EAApB,IAAoB,EAAE;QAAnC,IAAM,GAAG,SAAA;QACZ,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAArB,IAAM,IAAI,cAAA;gBACb,IAAI,+BAA+B,CAAC,IAAI,CAAC,EAAE;oBACzC,OAAO,IAAI,CAAA;iBACZ;aACF;SACF;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YACtD,IAAI,+BAA+B,CAAC,KAAK,CAAC,EAAE;gBAC1C,OAAO,IAAI,CAAA;aACZ;SACF;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,mCAAmC,CAAC,OAAY,EAAE,cAAsB;IAC/E,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC3C,OAAM;KACP;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE;QACtE,OAAO,CAAC,IAAI,GAAG,cAAc,CAAA;KAC9B;IAED,KAAkB,UAAoB,EAApB,KAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAApB,cAAoB,EAApB,IAAoB,EAAE;QAAnC,IAAM,GAAG,SAAA;QACZ,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,mCAAmC,CAAC,IAAI,EAAE,cAAc,CAAC,EAAzD,CAAyD,CAAC,CAAA;SACnF;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YACtD,mCAAmC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;SAC3D;KACF;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,WAAiD,EACjD,cAA8B,EAC9B,OAAoB;IAEpB,OAAO,CAAC,OAAO,EAAE,CAAA;IAEjB,0FAA0F;IAC1F,2CAA2C;IAC3C,kFAAkF;IAClF,IAAI,aAAa,GAAG,UAAG,sBAAsB,SAAG,cAAc,CAAC,WAAW,cAAI,OAAO,CAAC,OAAO,CAAE,CAAA;IAE/F,2DAA2D;IAC3D,OAAO,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;QAClD,OAAO,CAAC,OAAO,EAAE,CAAA;QACjB,aAAa,GAAG,UAAG,sBAAsB,SAAG,cAAc,CAAC,WAAW,cAAI,OAAO,CAAC,OAAO,CAAE,CAAA;KAC5F;IAED,wBAAwB;IACxB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAE3C,mCAAmC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;IAE/D,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAC5B,OAAO,EAAE,aAAa;QACtB,cAAc,gBAAA;KACf,CAAC,CAAA;IAEF,IAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACvC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EACvE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,EAC5D,EAAE,EACF,KAAK,CACN,CAAA;IAED,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAC7C,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,EACzC,KAAK,CAAC,sBAAsB,CAC1B,KAAK,CAAC,gBAAgB,CAAC;QACrB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAC3B,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAC5C;QACD,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,EACnC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CACjD;QACD,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAChC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAC9C;QACD,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,EACrC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CACnD;KACF,CAAC,CACH,CACF,CACF,CAAA;IAED,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAC7C,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAC3B,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CACjE,CACF,CAAA;IAED,IAAM,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CACzD,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACjC,WAAW,CACZ,CAAA;IAED,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAC7C,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,EACpC,KAAK,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CACpD,CACF,CAAA;IAED,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAC7C,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,EAClC,KAAK,CAAC,sBAAsB,CAC1B,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CACnF,CACF,CACF,CAAA;QAED,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAC7C,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAC/C,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CACzD,CACF,CAAA;KACF;SAAM;QACL,IAAM,YAAY,GAAG,KAAK,CAAC,uBAAuB,CAChD,EAAE,EACF,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,gBAAgB,CACpB,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC9C,KAAK,CAAC,aAAa,CAAC,eAAQ,cAAc,CAAC,QAAQ,CAAE,CAAC;YACtD,KAAK,CAAC,gBAAgB,CAAC;gBACrB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAC3B,KAAK,CAAC,gBAAgB,CAAC;oBACrB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,EACnC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CACxC;iBACF,CAAC,CACH;aACF,CAAC;SACH,CAAC,EACF,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CACzB,EACD;YACE,KAAK,CAAC,uBAAuB,CAC3B,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACzB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,gBAAgB,CACpB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EACzE,EAAE,CACH,EACD,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CACzB,EACD;gBACE,KAAK,CAAC,uBAAuB,CAC3B,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAC9B,KAAK,CAAC,wBAAwB,CAC5B,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAC5B,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EACxB,KAAK,EACL,IAAI,CACL,CACF;aACF,CACF,CACF;SACF,CACF,CACF,CAAA;QAED,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAC7C,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAChC,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAC3C,CACF,CAAA;QAED,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAC7C,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAC/C,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CACzD,CACF,CAAA;KACF;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,SAAS,qCAAqC,CAC5C,OAAY,EACZ,cAAqC,EACrC,OAAoB,EACpB,YAAiC;;IAEjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,cAAc,EAAE;QAC9D,OAAM;KACP;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,KAAI,MAAA,OAAO,CAAC,cAAc,0CAAE,UAAU,CAAA,EAAE;QACvE,IAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,UAAkC,CAAA;QAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,IACE,IAAI,CAAC,IAAI,KAAK,cAAc;gBAC5B,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAC5C;gBACA,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;gBAElC,IACE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;oBAC3D,+BAA+B,CAAC,IAAI,CAAC,EACrC;oBACA,YAAY,CAAC,YAAY,GAAG;wBAC1B,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,8BAA8B;wBACpC,OAAO,EAAE,QAAQ;wBACjB,IAAI,EAAE;4BACJ,WAAW,EAAE,IAAI;yBAClB;qBACF,CAAA;oBAED,IAAM,cAAc,GAAG,yBAAyB,CAC9C,IAA4C,EAC5C,cAAc,EACd,OAAO,CACR,CAAA;oBAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;iBAC1D;aACF;SACF;KACF;IAED,KAAkB,UAAoB,EAApB,KAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAApB,cAAoB,EAApB,IAAoB,EAAE;QAAnC,IAAM,GAAG,SAAA;QACZ,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;gBACjB,OAAA,qCAAqC,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC;YAAlF,CAAkF,CACnF,CAAA;SACF;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YACtD,qCAAqC,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;SACpF;KACF;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAa,EAAE,SAAc;IACjE,IAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,IAAM,eAAe,GAAG,IAAI,GAAG,EAAwB,CAAA;IACvD,IAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAA;IACnD,IAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE1C,IAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAExD,IAAM,QAAQ,GAAG,UAAC,IAAS;;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACrC,OAAM;SACP;QAED,IACE,IAAI,CAAC,IAAI,KAAK,kBAAkB;aAChC,MAAA,IAAI,CAAC,OAAO,0CAAE,oBAAoB,CAAA;aAClC,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,0CAAE,EAAE,CAAA,EAC1B;YACA,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAA;YACpD,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAA;YAC3C,sBAAsB,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YAElD,gEAAgE;YAChE,IAAI,MAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,0CAAE,MAAM,0CAAE,YAAY,EAAE;gBAChD,IAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAA;gBACnE,IAAI,iBAAiB,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;oBACnF,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;iBAC3D;aACF;iBAAM,IAAI,MAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,0CAAG,UAAU,CAAC,0CAAE,MAAM,0CAAE,YAAY,EAAE;gBAC/D,IAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;gBACzE,IAAI,iBAAiB,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;oBACnF,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;iBAC3D;aACF;YAED,6EAA6E;YAC7E,IAAI,MAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,0CAAE,MAAM,0CAAE,KAAK,EAAE;gBACzC,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAA;gBACrD,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE;oBAC1E,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;iBAC7C;aACF;iBAAM,IAAI,MAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,0CAAG,UAAU,CAAC,0CAAE,MAAM,0CAAE,KAAK,EAAE;gBACxD,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;gBAC3D,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE;oBAC1E,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;iBAC7C;aACF;SACF;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE;YACrC,IAAM,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAA;YACrC,IAAM,SAAS,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,CAAA;YACzC,IAAM,UAAU,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,oBAAoB,CAAA;YACrD,IAAM,aAAa,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,CAAA;YACjD,IAAM,cAAc,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,CAAA;YAEnD,IAAI,SAAS,IAAI,OAAO,IAAI,UAAU,EAAE;gBACtC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;aACpC;YAED,IAAI,aAAa,IAAI,UAAU,EAAE;gBAC/B,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE;oBAC9B,aAAa,EAAE,IAAI;oBACnB,cAAc,EAAE,cAAc,IAAI,GAAG;iBACtC,CAAC,CAAA;aACH;YAED,IAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,0CAAE,IAAI,EAAE;gBAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;aAClC;YACD,IAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,0CAAE,KAAK,EAAE;gBAC9B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;aACnC;YACD,IAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,0CAAE,OAAO,EAAE;gBAChC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;aACrC;YACD,OAAM;SACP;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACjE,KAAoB,UAAqB,EAArB,KAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAArB,cAAqB,EAArB,IAAqB,EAAE;oBAAtC,IAAM,KAAK,SAAA;oBACd,QAAQ,CAAC,KAAK,CAAC,CAAA;iBAChB;aACF;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBACrB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;aAC5B;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;oBAC9B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;iBACrC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE;oBAC5B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;iBACnC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;oBAC9B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;iBACrC;aACF;SACF;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChC,KAAoB,UAAa,EAAb,KAAA,IAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA9B,IAAM,KAAK,SAAA;gBACd,QAAQ,CAAC,KAAK,CAAC,CAAA;aAChB;SACF;IACH,CAAC,CAAA;IAED,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAElB,OAAO,EAAE,UAAU,YAAA,EAAE,eAAe,iBAAA,EAAE,eAAe,iBAAA,EAAE,QAAQ,UAAA,EAAE,CAAA;AACnE,CAAC;AAED,MAAM,CAAC,IAAM,+BAA+B,GAA+B;IACzE,IAAM,yBAAyB,GAAoB,UAAO,SAAS;;;;YACzD,IAAI,GAAoC,SAAS,KAA7C,EAAE,MAAM,GAA4B,SAAS,OAArC,EAAE,OAAO,GAAmB,SAAS,QAA5B,EAAE,YAAY,GAAK,SAAS,aAAd,CAAc;YAEzD,4CAA4C;YAC5C,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACpC,sBAAO,SAAS,EAAA;aACjB;YAEO,WAAW,GAAK,OAAO,YAAZ,CAAY;YAE/B,gCAAgC;YAChC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzD,sBAAO,SAAS,EAAA;aACjB;YAEK,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,KAAK,eAAe,EAA9B,CAA8B,CAAC,CAAA;YAC7E,IAAI,CAAC,cAAc,EAAE;gBACnB,sBAAO,SAAS,EAAA;aACjB;YAED,qCAAqC;YACrC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;gBAC/B,sBAAO,SAAS,EAAA;aACjB;YAGK,IAAI,GAAG,OAAc,CAAA;YAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,gBAAgB,GAAG;oBACtB,UAAU,EAAE,IAAI,GAAG,EAAkB;oBACrC,eAAe,EAAE,IAAI,GAAG,EAAwB;oBAChD,eAAe,EAAE,IAAI,GAAG,EAAoB;oBAC5C,QAAQ,EAAE,IAAI,GAAG,EAAkB;iBACpC,CAAA;aACF;YAGK,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAG,IAAY,CAAC,SAAS,CAAC,CAAA;YACnF,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,YAAY;gBAClD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;YAC7D,CAAC,CAAC,CAAA;YACF,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,YAAY,EAAE,YAAY;gBAC5D,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;YACvE,CAAC,CAAC,CAAA;YACF,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,YAAY,EAAE,YAAY;gBAC5D,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;YACvE,CAAC,CAAC,CAAA;YACF,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,YAAY;gBAC9C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YAEE,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAA/B,CAA+B,CAAC,CAAA;YAE3E,gBAAgB,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAA;YAG1D,gBAAgB,GAAG,KAAK,CAAA;YAGxB,mBAAmB,GAA0B,IAAI,CAAA;YAEjD,iBAAiB,GAAkB,IAAI,CAAA;YAGrC,4BAA4B,GAAG,IAAI,GAAG,EAAkB,CAAA;YAE9D,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,IAAI;gBACtC,mCAAmC;gBACnC,oEAAoE;gBACpE,mHAAmH;;gBAEnH,IAAI,cAAc,GAAG,IAAI,CAAA;gBAEzB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE;oBACxE,0BAA0B;oBAC1B,cAAc,GAAG,IAAI,CAAA;iBACtB;qBAAM,IACL,IAAI,CAAC,IAAI,KAAK,SAAS;oBACvB,IAAI,CAAC,OAAO;oBACZ,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAChC,MAAM,IAAI,IAAI,CAAC,OAAO;oBACtB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,CAAC,EACtF;oBACA,2CAA2C;oBAC3C,kCAAkC;oBAClC,cAAc,GAAG,IAAI,CAAC,OAAc,CAAA;iBACrC;gBAED,IAAI,CAAC,cAAc,EAAE;oBACnB,OAAM;iBACP;gBAED,iFAAiF;gBACjF,IACE,cAAc,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;oBAChD,cAAc,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAC7C;oBACA,OAAM;iBACP;gBAED,sDAAsD;gBACtD,IAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAA;gBAC7D,IAAI,CAAC,WAAW,EAAE;oBAChB,OAAM;iBACP;gBAED,oFAAoF;gBACpF,oFAAoF;gBACpF,IAAM,WAAW,GAAG,UAAG,WAAW,CAAC,YAAY,cAAI,WAAW,CAAC,SAAS,IAAI,MAAM,CAAE,CAAA;gBACpF,IAAM,eAAe,GAAG,4BAA4B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC1E,4BAA4B,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,GAAG,CAAC,CAAC,CAAA;gBAElE,wFAAwF;gBACxF,uEAAuE;gBACvE,kCAAkC;gBAClC,IAAM,4BAA4B,GAAG,UAAC,WAAgB;;oBACpD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;wBACnD,OAAO,KAAK,CAAA;qBACb;oBAED,IAAI,WAAW,CAAC,IAAI,KAAK,mBAAmB,EAAE;wBAC5C,IAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;wBACnC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA,EAAE;4BAChD,OAAO,IAAI,CAAA;yBACZ;qBACF;oBAED,uBAAuB;oBACvB,IAAI,CAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,QAAQ,KAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAChF,KAAoB,UAA4B,EAA5B,KAAA,WAAW,CAAC,OAAO,CAAC,QAAQ,EAA5B,cAA4B,EAA5B,IAA4B,EAAE;4BAA7C,IAAM,KAAK,SAAA;4BACd,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE;gCACvC,OAAO,IAAI,CAAA;6BACZ;yBACF;qBACF;oBAED,6EAA6E;oBAC7E,IAAI,CAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,KAAK,KAAI,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;wBAC/E,KAAsB,UAAsC,EAAtC,KAAA,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAtC,cAAsC,EAAtC,IAAsC,EAAE;4BAAzD,IAAM,OAAO,SAAA;4BAChB,IAAI,4BAA4B,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gCACpE,OAAO,IAAI,CAAA;6BACZ;yBACF;qBACF;oBAED,OAAO,KAAK,CAAA;gBACd,CAAC,CAAA;gBAED,IAAI,4BAA4B,CAAC,cAAc,CAAC,EAAE;oBAChD,mEAAmE;oBACnE,OAAM;iBACP;gBAED,8EAA8E;gBAC9E,IAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,aAAa,0CAAE,qBAAqB,CAAA;gBAClE,kCAAkC;gBAClC,IAAM,wBAAwB,GAAG,CAAA,MAAA,cAAc,CAAC,OAAO,CAAC,QAAQ,0CAAE,MAAM;oBACtE,CAAC,CAAC,4BAA4B,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;oBACxF,CAAC,CAAC,KAAK,CAAA;gBAET,8FAA8F;gBAC9F,gDAAgD;gBAChD,IAAI,CAAC,wBAAwB,EAAE;oBAC7B,iFAAiF;oBACjF,uFAAuF;oBACvF,sFAAsF;oBACtF,2EAA2E;oBAC3E,IAAM,MAAM,GAAG,mCAAmC,CAChD,cAAc,EACd,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,MAAM,EACN,OAAO,CAAC,kBAAkB,EAC1B,YAAY,EACZ,gBAAgB,EAChB,MAAA,IAAI,CAAC,aAAa,0CAAE,UAAU,EAC9B,gBAAgB,CACjB,CAAA;oBAED,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE;wBAClC,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAA;wBAElC,2EAA2E;wBAC3E,IAAI,CAAC,mBAAmB,EAAE;4BACxB,IAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;4BACxD,IAAI,UAAU,EAAE;gCACd,IAAM,eAAe,GAAG,WAAW,CAAC,mBAAmB,CACrD,gBAAgB,CAAC,UAAU,CAAC,IAAI,IAAI,WAAW,CAAC,YAAY,CAAC,CAC9D,CAAA;gCACD,IAAM,kBAAkB,GAAG,WAAW,CAAC,mBAAmB,CACxD,gBAAgB,CAAC,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,CAClD,CAAA;gCACD,IAAM,QAAQ,GAAG,WAAW,CAAC,mBAAmB,CAC9C,UAAG,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,cAAI,gBAAgB,CACjE,WAAW,CAAC,SAAS,IAAI,MAAM,CAChC,cAAI,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAClE,CAAA;gCACD,mBAAmB,GAAG;oCACpB,YAAY,EAAE,WAAW,CAAC,YAAY;oCACtC,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,MAAM;oCAC1C,cAAc,EAAE,WAAW,CAAC,cAAc;oCAC1C,WAAW,EAAE,UAAG,eAAe,cAAI,kBAAkB,UAAO;oCAC5D,QAAQ,UAAA;iCACT,CAAA;gCACD,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;6BAC9D;yBACF;qBACF;iBACF;qBAAM,IACL,kCAAkC,CAChC,cAAc,EACd,WAAW,EACX,cAAc,EACd,OAAO,CAAC,kBAAkB,EAC1B,gBAAgB,CACjB,EACD;oBACA,gBAAgB,GAAG,IAAI,CAAA;iBACxB;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,YAAY,EAAE;gBACrD,4BAA4B,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;aAC3D;YAED,2FAA2F;YAC3F,gCAAgC;YAChC,IAAI,mBAAmB,IAAI,cAAc,CAAC,OAAO,EAAE;gBAE3C,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;gBAE1C,IAAI,mBAAmB,EAAE;oBACvB,IAAI;wBACI,QAAQ,GAAI,mBAAmB,CAAC,OAAwC;6BAC3E,WAAwC,CAAA;wBACrC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACrC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,cAAc,EAAzB,CAAyB,CACX,CAAA;wBACvB,IAAI,OAAO,EAAE;4BACL,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CACrC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAA5B,CAA4B,CACX,CAAA;4BAC1B,IAAI,OAAO,EAAE;gCACL,SAAS,GAAI,OAAO,CAAC,QAAmC,CAAC,UAAU,CAAC,IAAI,CAC5E,UAAC,CAAC,IAAK,OAAE,CAA0B,CAAC,GAAwB,CAAC,IAAI,KAAK,OAAO,EAAtE,CAAsE,CACtD,CAAA;gCACzB,IAAI,SAAS,EAAE;oCACP,QAAQ,GAAG,SAAS,CAAC,KAA+B,CAAA;oCAC1D,WAAsC,EAAnB,KAAA,QAAQ,CAAC,UAAU,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;wCAA7B,IAAI;wCACb,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE;4CAC5B,OAAO,GACV,IAAI,CAAC,GAAwB,CAAC,IAAI;gDACjC,IAAI,CAAC,GAA2B,CAAC,KAAgB,CAAA;4CACrD,IAAI,OAAO,EAAE;gDACX,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;6CAC9B;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;oBAAC,WAAM;wBACN,0CAA0C;qBAC3C;iBACF;gBAEK,WAAW,GAAgB;oBAC/B,OAAO,EAAE,CAAC;oBACV,gBAAgB,EAAE,EAAE;oBACpB,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;oBACtC,gBAAgB,kBAAA;iBACjB,CAAA;gBAED,qCAAqC,CACnC,cAAc,CAAC,OAAO,EACtB,mBAAmB,EACnB,WAAW,EACX,YAAY,CACb,CAAA;gBAED,0CAA0C;gBAC1C,IAAI,WAAW,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,IAAI,iBAAiB,EAAE;oBACjF,mBAAmB,GAAI,mBAAmB,CAAC,OAAwC;yBACtF,WAAwC,CAAA;oBACrC,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAA;oBAC5C,QAAQ,GAAG,YAAY,CAAC,IAAI,CAChC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,IAAI,KAAK,cAAc,EAA/B,CAA+B,CACvB,CAAA;oBAEvB,IAAI,QAAQ,EAAE;wBACN,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAC9C,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAlC,CAAkC,CACvB,CAAA;wBAE1B,IAAI,eAAe,EAAE;4BACb,WAAW,GACf,eAAe,CAAC,QACjB,CAAC,UAAU,CAAC,IAAI,CACf,UAAC,QAAQ;gCACP,OAAE,QAAiC,CAAC,GAAwB,CAAC,IAAI,KAAK,OAAO;4BAA7E,CAA6E,CACxD,CAAA;4BAEnB,UAAU,GAAG,WAAW,CAAC,KAA+B,CAAA;4BAGxD,IAAI,GAAG,CAAC,MAAA,mBAAmB,CAAC,IAAI,0CAAE,iBAAyB,KAAI;gCACnE,KAAK,EAAE,EAAE;gCACT,WAAW,EAAE,EAAE;6BAChB,CAAA;4BAED,WAAkD,EAA5B,KAAA,WAAW,CAAC,gBAAgB,EAA5B,cAA4B,EAA5B,IAA4B,EAAE;gCAAzC,OAAO;gCAEV,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAC9C,KAAK,CAAC,gBAAgB,CACpB,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EACnC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAC9B,EACD,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAC7B,CAAA;gCAEK,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAC9C,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EACtE;oCACE,KAAK,CAAC,uBAAuB,CAC3B,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAC3B,KAAK,CAAC,cAAc,CAAC;wCACnB,KAAK,CAAC,mBAAmB,CACvB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,gBAAgB,CACpB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAC3B,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAC1B,EACD;4CACE,KAAK,CAAC,aAAa,CAAC,yBAAkB,OAAO,CAAC,OAAO,MAAG,CAAC;4CACzD,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;yCAC1B,CACF,CACF;wCACD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;qCACjD,CAAC,CACH;iCACF,CACF,CAAA;gCAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gCAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;gCAE1C,4BAA4B;gCAC5B,UAAU,CAAC,UAAU,CAAC,IAAI,CACxB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EACjC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EACjC,KAAK,EACL,IAAI,CACL,CACF,CAAA;6BACF;4BAED,sCAAsC;4BACtC,IAAI,IAAI,CAAC,WAAW,EAAE;gCACd,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gCACnE,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;oCACxB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;iCAC7C;6BACF;4BAEK,cAAc,GAAG,KAAK,CAAC,eAAe,CAC1C,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAC5E,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAC1C,CACF,CAAA;4BAEK,YAAY,GAAG,KAAK,CAAC,YAAY,CACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAY,IAAK,OAAA,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAtB,CAAsB,CAAC,CACzD,CAAA;4BAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE;gCACpD,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC;6BACvD,CAAC,CAAA;4BAEF,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;4BAE7C,mBAAmB,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,IAAI,EAAE,CAAA;4BACzD,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;yBAClD;qBACF;iBACF;aACF;YAED,oFAAoF;YACpF,qCAAqC,CAAC,cAAc,CAAC,CAAA;YAErD,iFAAiF;YACjF,gFAAgF;YAChF,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC3C,+BAA+B,GACnC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAA;gBAE7F,IAAI,+BAA+B,EAAE;oBAE7B,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,CACpD,CAAC;wBACC,IAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CACpC,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAClC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAC7B,KAAK,CAAC,cAAc,CAAC;4BACnB,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,cAAc,CAAC;gCACnB,iEAAiE;gCACjE,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE;oCACjC,KAAK,CAAC,kBAAkB,CACtB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,EACtB,KAAK,CAAC,eAAe,CACnB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,gBAAgB,CACpB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAC3B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CACxB,EACD,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAC5B,CACF,CACF;iCACF,CAAC;gCACF,KAAK,CAAC,eAAe,CACnB,KAAK,CAAC,gBAAgB,CAAC;oCACrB,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oCAC3E,4DAA4D;oCAC5D,2DAA2D;oCAC3D,2DAA2D;oCAC3D,wDAAwD;oCACxD,yDAAyD;oCACzD,yDAAyD;oCACzD,gBAAgB;oCAChB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAC9B,KAAK,CAAC,cAAc,CAAC,kCAAkC,CAAC,CACzD;iCACF,CAAC,CACH;6BACF,CAAC,EACF,KAAK,CAAC,WAAW,CACf,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EACzB,KAAK,CAAC,cAAc,CAAC;gCACnB,KAAK,CAAC,mBAAmB,CACvB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,gBAAgB,CACpB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAC3B,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAC1B,EACD;oCACE,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC;oCAC/C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;iCAC1B,CACF,CACF;gCACD,KAAK,CAAC,eAAe,CACnB,KAAK,CAAC,gBAAgB,CAAC;oCACrB,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EACzB,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAC3B;iCACF,CAAC,CACH;6BACF,CAAC,CACH,CACF;yBACF,CAAC,EACF,KAAK,EACL,IAAI,CACL,CAAA;wBAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;wBACjB,OAAO,IAAI,CAAA;oBACb,CAAC,CAAC,EAAE,CACL,CAAA;oBAED,mBAAmB,GAAG;wBACpB,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS,CAAC,GAAG;wBACnB,QAAQ,EAAE,QAAQ,CAAC,EAAE;wBACrB,OAAO,EAAE,iBAAiB;wBAC1B,SAAS,EAAE,CAAC,eAAe,CAAC;qBAC7B,CAAA;oBAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;iBACjC;aACF;YAED,mEAAmE;YACnE,4EAA4E;YAC5E,iFAAiF;YACjF,qDAAqD;YACrD,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,qBAAqB,KAAI,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE;gBAChF,kCAAkC,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAA;aAClE;YAEK,gBAAgB,GAAG,qCAAqC,EAAE,CAAA;YAChE,sBAAO,gBAAgB,CAAC,SAAS,CAAC,EAAA;;SACnC,CAAA;IAED,OAAO,yBAAyB,CAAA;AAClC,CAAC,CAAA;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,GAAqB;IACtD,IAAM,KAAK,GAAe,EAAE,CAAA;IAE5B,IAAM,gBAAgB,GAAG,UAAC,KAAc;;QACtC,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,MAAM,IAAI,KAAK;YACd,KAA0B,CAAC,IAAI,KAAK,SAAS,EAC9C;YACA,IAAM,MAAM,GAAG,KAA6B,CAAA;YAC5C,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,MAAM,KAAI,MAAA,MAAM,CAAC,OAAO,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAE;gBAC7E,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;aACnC;SACF;IACH,CAAC,CAAA;IAED,IAAI,GAAG,CAAC,KAAK,EAAE;QACb,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KAC5B;IAED,IAAI,GAAG,CAAC,QAAQ,EAAE;QAChB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,GAAG;YACvB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;KACH;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,kCAAkC,CACzC,GAAqB,EACrB,mBAAuD;IAEvD,IAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAA;IAClD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAM;KACP;IAED,IAAI;QACF,IAAM,UAAU,GAAG,mBAAmB,CAAC,OAAuC,CAAA;QAC9E,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,CAAA,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,KAAK,qBAAqB,EAAE;YACrF,OAAM;SACP;QAED,IAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA;QAC5C,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,cAAc,EAAzB,CAAyB,CAAuB,CAAA;QAC1F,IAAI,CAAC,OAAO,EAAE;YACZ,OAAM;SACP;QAED,IAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CACxC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAA5B,CAA4B,CACX,CAAA;QAC1B,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,kBAAkB,EAAE;YAC5E,OAAM;SACP;QAED,IAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CACvD,UAAC,CAAC;;YACA,OAAA,CAAC,CAAC,IAAI,KAAK,gBAAgB;gBAC3B,CAAC,CAAA,MAAC,CAAC,CAAC,GAAwB,0CAAE,IAAI,MAAK,OAAO;oBAC5C,CAAA,MAAC,CAAC,CAAC,GAA2B,0CAAE,KAAK,MAAK,OAAO,CAAC,CAAA;SAAA,CACnB,CAAA;QACrC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE;YACrE,OAAM;SACP;QAED,IAAM,QAAQ,GAAG,aAAa,CAAC,KAA+B,CAAA;QAE9D,gFAAgF;QAChF,6EAA6E;QAC7E,IAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAC5C,UAAC,CAAC,YAAK,OAAA,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAA,MAAC,CAAC,CAAC,GAAwB,0CAAE,IAAI,MAAK,SAAS,CAAA,EAAA,CAClD,CAAA;QAErC,IAAI,CAAC,aAAa,EAAE;YAClB,OAAM;SACP;QAED,IAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;QAExC,KAAsB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,EAAE;YAA9B,IAAM,OAAO,oBAAA;YAChB,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC7C,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACjC,SAAQ;aACT;YACD,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAE7B,IAAI,UAAU,GAAqB,KAAK,CAAC,SAAS,CAChD,aAAa,CAAC,KAAyB,EACvC,IAAI,CACL,CAAA;YAED,yEAAyE;YACzE,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACpD,IAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;YAC3D,IAAI,CAAC,cAAc,EAAE;gBACnB,UAAU,GAAG,KAAK,CAAC,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;aAC7F;YAED,KAAsB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;gBAA1B,IAAM,OAAO,gBAAA;gBAChB,UAAU,GAAG,KAAK,CAAC,wBAAwB,CACzC,UAAU,EACV,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EACzB,KAAK,EACL,IAAI,CACL,CAAA;aACF;YAED,IAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;YAEnF,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;SACtF;KACF;IAAC,WAAM;QACN,8DAA8D;KAC/D;AACH,CAAC;AAED,0FAA0F;AAC1F,SAAS,qCAAqC,CAAC,cAAmB;IAChE,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC9C,OAAM;KACP;IAED,kCAAkC;IAClC,IAAM,WAAW,GAAG,UAAC,OAAY;;QAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC3C,OAAM;SACP;QAED,6CAA6C;QAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,CAAA,MAAA,MAAA,OAAO,CAAC,cAAc,0CAAE,IAAI,0CAAE,IAAI,MAAK,cAAc,EAAE;YAC1F,IAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAA;YAE/C,4BAA4B;YAC5B,IAAM,UAAU,GAAG,KAAK,CAAC,IAAI;YAC3B,kCAAkC;YAClC,UAAC,IAAS;;gBACR,OAAA,IAAI,CAAC,IAAI,KAAK,cAAc;oBAC5B,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,QAAQ;oBAC5B,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,MAAK,wBAAwB,CAAA;aAAA,CAChD,CAAA;YAED,IAAI,UAAU,EAAE;gBACd,IAAI,SAAS,GAAG,IAAI,CAAA;gBAEpB,iCAAiC;gBACjC,IAAI,CAAA,MAAA,MAAA,UAAU,CAAC,KAAK,0CAAE,UAAU,0CAAE,IAAI,MAAK,kBAAkB,EAAE;oBAC7D,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAA;iBACxC;gBACD,+DAA+D;qBAC1D,IACH,CAAA,MAAA,MAAA,UAAU,CAAC,KAAK,0CAAE,UAAU,0CAAE,IAAI,MAAK,gBAAgB;oBACvD,CAAA,MAAA,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,0CAAE,IAAI,MAAK,SAAS;oBACtD,CAAA,MAAA,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,0CAAE,MAAM,IAAG,CAAC,EACjD;oBACA,IAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;oBACzD,sDAAsD;oBACtD,IACE,QAAQ,CAAC,IAAI,KAAK,yBAAyB;wBAC3C,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,MAAK,kBAAkB,EAC1C;wBACA,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAA;qBAC1B;iBACF;gBAED,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;oBACrC,IAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAA;oBAEvC,qEAAqE;oBACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC1C,IAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;wBAC1B,2DAA2D;wBAC3D,IAAM,OAAO,GACX,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,YAAY;4BAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;4BACf,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,eAAe;gCACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;gCAChB,CAAC,CAAC,SAAS,CAAA;wBAEf,IACE,IAAI,CAAC,IAAI,KAAK,gBAAgB;4BAC9B,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,cAAc,CAAC;4BAC5E,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,MAAK,iBAAiB,EACtC;4BACA,+CAA+C;4BAC/C,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAClC,IAAI,CAAC,GAAG,EACR,KAAK,CAAC,cAAc,CAClB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAC/E,CAAC,IAAI,CAAC,KAAK,CAAC,CACb,CACF,CAAA;yBACF;qBACF;iBACF;aACF;SACF;QAED,sCAAsC;QACtC,KAAkB,UAAoB,EAApB,KAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAApB,cAAoB,EAApB,IAAoB,EAAE;YAAnC,IAAM,GAAG,SAAA;YACZ,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,WAAW,CAAC,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAA;aAC3C;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;gBACtD,WAAW,CAAC,KAAK,CAAC,CAAA;aACnB;SACF;IACH,CAAC,CAAA;IAED,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,IAAM,mCAAmC,GAA+B;IAC7E,IAAM,6BAA6B,GAAoB,UAAO,SAAS;;;YAC7D,IAAI,GAAoC,SAAS,KAA7C,EAAE,MAAM,GAA4B,SAAS,OAArC,EAAE,OAAO,GAAmB,SAAS,QAA5B,EAAE,YAAY,GAAK,SAAS,aAAd,CAAc;YAEzD,4CAA4C;YAC5C,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACpC,sBAAO,SAAS,EAAA;aACjB;YAEO,WAAW,GAAK,OAAO,YAAZ,CAAY;YAE/B,gCAAgC;YAChC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzD,sBAAO,SAAS,EAAA;aACjB;YAGK,IAAI,GAAG,OAAc,CAAA;YAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,gBAAgB,GAAG;oBACtB,UAAU,EAAE,IAAI,GAAG,EAAkB;oBACrC,eAAe,EAAE,IAAI,GAAG,EAAwB;oBAChD,eAAe,EAAE,IAAI,GAAG,EAAoB;oBAC5C,QAAQ,EAAE,IAAI,GAAG,EAAkB;iBACpC,CAAA;aACF;YAGK,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAG,IAAY,CAAC,SAAS,CAAC,CAAA;YACxF,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,YAAY;gBACvD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;YAC7D,CAAC,CAAC,CAAA;YACF,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,YAAY,EAAE,YAAY;gBACjE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;YACvE,CAAC,CAAC,CAAA;YACF,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,YAAY,EAAE,YAAY;gBACjE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;YACvE,CAAC,CAAC,CAAA;YACF,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,YAAY;gBACnD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YAEI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,KAAK,eAAe,EAA9B,CAA8B,CAAC,CAAA;YAC7E,IAAI,CAAC,cAAc,EAAE;gBACnB,sBAAO,SAAS,EAAA;aACjB;YAED,qCAAqC;YACrC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;gBAC/B,sBAAO,SAAS,EAAA;aACjB;YAEK,gBAAgB,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAA;YAG1D,gBAAgB,GAAG,KAAK,CAAA;YAGxB,mBAAmB,GAA0B,IAAI,CAAA;YAErD,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,IAAI;gBACtC,mCAAmC;gBACnC,oEAAoE;gBACpE,mHAAmH;;gBAEnH,IAAI,cAAc,GAAG,IAAI,CAAA;gBAEzB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE;oBACxE,0BAA0B;oBAC1B,cAAc,GAAG,IAAI,CAAA;iBACtB;qBAAM,IACL,IAAI,CAAC,IAAI,KAAK,SAAS;oBACvB,IAAI,CAAC,OAAO;oBACZ,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAChC,MAAM,IAAI,IAAI,CAAC,OAAO;oBACtB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,CAAC,EACtF;oBACA,2CAA2C;oBAC3C,kCAAkC;oBAClC,cAAc,GAAG,IAAI,CAAC,OAAc,CAAA;iBACrC;gBAED,IAAI,CAAC,cAAc,EAAE;oBACnB,OAAM;iBACP;gBAED,2EAA2E;gBAC3E,IAAI,CAAC,mBAAmB,EAAE;oBACxB,IAAM,WAAW,GAAG,MAAA,cAAc,CAAC,OAAO,0CAAE,kBAAkB,CAAA;oBAC9D,IAAI,WAAW,EAAE;wBACf,IAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;wBACxD,IAAI,UAAU,EAAE;4BACd,IAAM,eAAe,GAAG,WAAW,CAAC,mBAAmB,CACrD,gBAAgB,CAAC,UAAU,CAAC,IAAI,IAAI,WAAW,CAAC,YAAY,CAAC,CAC9D,CAAA;4BACD,IAAM,kBAAkB,GAAG,WAAW,CAAC,mBAAmB,CACxD,gBAAgB,CAAC,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,CAClD,CAAA;4BACD,IAAM,QAAQ,GAAG,WAAW,CAAC,mBAAmB,CAC9C,UAAG,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,cAAI,gBAAgB,CACjE,WAAW,CAAC,SAAS,IAAI,MAAM,CAChC,cAAI,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAClE,CAAA;4BACD,mBAAmB,GAAG;gCACpB,YAAY,EAAE,WAAW,CAAC,YAAY;gCACtC,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,MAAM;gCAC1C,cAAc,EAAE,WAAW,CAAC,cAAc;gCAC1C,WAAW,EAAE,UAAG,eAAe,cAAI,kBAAkB,UAAO;gCAC5D,QAAQ,UAAA;6BACT,CAAA;yBACF;qBACF;iBACF;gBAED,IACE,kCAAkC,CAChC,cAAc,EACd,WAAW,EACX,cAAc,EACd,OAAO,CAAC,kBAAkB,EAC1B,gBAAgB,CACjB,EACD;oBACA,gBAAgB,GAAG,IAAI,CAAA;iBACxB;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,YAAY,EAAE;gBACrD,4BAA4B,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;aAC3D;YAED,0EAA0E;YAC1E,mEAAmE;YACnE,4FAA4F;YAC5F,oCAAoC;YACpC,IAAI,CAAC,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzD,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/C,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAA;gBACjD,IAAI,UAAU,EAAE;oBAGR,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBAChE,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;oBAC5C,gBAAgB,GAAkB,IAAI,CAAA;oBACtC,iBAAiB,GAAkB,IAAI,CAAA;oBAE3C,WAAyD,EAAvC,KAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAvC,cAAuC,EAAvC,IAAuC,EAAE;wBAAhD,GAAG;wBACZ,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;4BAChF,gHAAgH;4BAChH,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;4BAEzD,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;4BACzC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gCACrB,4CAA4C;gCAC5C,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;6BACjD;4BACD,MAAK;yBACN;qBACF;oBAEK,SAAS,GAAG,iBAAiB,IAAI,MAAM,CAAA;oBACvC,eAAe,GAAG,WAAW,CAAC,mBAAmB,CACrD,gBAAgB,CAAC,UAAU,CAAC,IAAI,IAAI,iBAAiB,CAAC,CACvD,CAAA;oBACK,kBAAkB,GAAG,WAAW,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;oBACjF,QAAQ,GACZ,gBAAgB;wBAChB,WAAW,CAAC,mBAAmB,CAAC,UAAG,MAAM,cAAI,gBAAgB,CAAC,SAAS,CAAC,cAAI,UAAU,CAAE,CAAC,CAAA;oBAC3F,mBAAmB,GAAG;wBACpB,YAAY,EAAE,iBAAiB;wBAC/B,SAAS,WAAA;wBACT,cAAc,EAAE,UAAU,CAAC,IAAI;wBAC/B,WAAW,EAAE,UAAG,eAAe,cAAI,kBAAkB,UAAO;wBAC5D,QAAQ,UAAA;qBACT,CAAA;iBACF;aACF;YAED,2FAA2F;YAC3F,uFAAuF;YACvF,IAAI,mBAAmB,IAAI,cAAc,CAAC,OAAO,EAAE;gBAG3C,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;gBAEpC,WAAW,GAAgB;oBAC/B,OAAO,EAAE,CAAC;oBACV,gBAAgB,EAAE,EAAE;oBACpB,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;oBACtC,gBAAgB,kBAAA;iBACjB,CAAA;gBAED,qCAAqC,CACnC,cAAc,CAAC,OAAO,EACtB,mBAAmB,EACnB,WAAW,EACX,YAAY,CACb,CAAA;gBAED,mEAAmE;gBACnE,IAAI,WAAW,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,UAAU,GAAG,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;oBAC1D,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAA;oBAE7C,oDAAoD;oBACpD,IAAI,UAAU,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAS,QAAQ,CAAE,CAAC,EAAE;wBAC1D,iCAAiC,GAAK,OAAO,CAAC,wBAAwB,CAAC,kCAAtC,CAAsC;wBAC/E,IAAI;4BACI,WAAW,GAAG,iCAAiC,CACnD,UAAU,EACV,mBAAmB,CAAC,SAAS,EAC7B,KAAK,EACL,gBAAgB,CACjB,CAAA;4BACD,OAAO,CAAC,kBAAkB,CAAC,gBAAS,QAAQ,CAAE,CAAC,GAAG;gCAChD,QAAQ,UAAA;gCACR,QAAQ,EAAE,QAAQ,CAAC,EAAE;gCACrB,IAAI,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC;gCAC/B,OAAO,EAAE,WAAW;6BACrB,CAAA;yBACF;wBAAC,OAAO,KAAK,EAAE;4BACd,gBAAgB;yBACjB;qBACF;oBAED,6EAA6E;oBAC7E,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAO,QAAQ,CAAE,CAAC,EAAE;wBAC5C,YAAY,GAAG,iEAA0D,QAAQ,mDAGhG,CAAA;wBACS,OAAO,CAAC,kBAAkB,CAAC,cAAO,QAAQ,CAAE,CAAC,GAAG;4BAC9C,QAAQ,UAAA;4BACR,QAAQ,EAAE,QAAQ,CAAC,EAAE;4BACrB,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;4BACtB,OAAO,EAAE,YAAY;yBACtB,CAAA;qBACF;iBACF;aACF;YAED,oFAAoF;YACpF,qCAAqC,CAAC,cAAc,CAAC,CAAA;YAE/C,gBAAgB,GAAG,qCAAqC,EAAE,CAAA;YAChE,sBAAO,gBAAgB,CAAC,SAAS,CAAC,EAAA;;SACnC,CAAA;IAED,OAAO,6BAA6B,CAAA;AACtC,CAAC,CAAA;AAED,cAAc,wBAAwB,CAAA;AACtC,cAAc,SAAS,CAAA;AACvB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,6EAA6E;AAC7E,2EAA2E;AAC3E,qBAAqB;AACrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAEhE,8EAA8E;AAC9E,kEAAkE;AAClE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAEvF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -64,13 +64,28 @@ export interface LoadingStateVars {
64
64
  * stale rows back for the rest of the second request.
65
65
  */
66
66
  inFlightRefVar: string;
67
+ /**
68
+ * Ref counting the requests STARTED, so a response can tell whether a newer
69
+ * request has overtaken it. `DataProvider` keeps whatever resolves last:
70
+ * two controls changed in quick succession (a "Clear all" emptying several
71
+ * filter states, one state write after another) start two requests, and
72
+ * when the older, slower one settles after the newer it painted the OLDER
73
+ * rows over the newer — a list showing two products for a URL that filters
74
+ * nothing. Each request notes its sequence number and, if overtaken, hands
75
+ * over the newest settled rows instead of its own.
76
+ */
77
+ fetchSeqRefVar: string;
78
+ /** Ref holding the rows of the newest request that settled — what an overtaken one resolves with. */
79
+ latestDataRefVar: string;
67
80
  }
68
81
  export declare function getLoadingStateVars(index: number): LoadingStateVars;
69
82
  /**
70
83
  * `const ds_N_fetchesInFlight = useRef(0)`
84
+ * `const ds_N_fetchSeq = useRef(0)`
85
+ * `const ds_N_latestData = useRef(undefined)`
71
86
  * `const [ds_N_isFetching, setDs_N_isFetching] = useState(false)`
72
87
  *
73
- * Both are stable across renders (a ref object and a `useState` setter), which
88
+ * All are stable across renders (ref objects and a `useState` setter), which
74
89
  * is what lets the wrapped `fetchData` keep its empty `useCallback` dependency
75
90
  * array — a changing `fetchData` identity would retrigger the provider's fetch
76
91
  * effect on every render.
@@ -1 +1 @@
1
- {"version":3,"file":"loading-state.d.ts","sourceRoot":"","sources":["../../src/loading-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,aAAa,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAMnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS,EAAE,CAkBvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAE7C,YAAY,EAAE,GAAG,EACjB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAiCT"}
1
+ {"version":3,"file":"loading-state.d.ts","sourceRoot":"","sources":["../../src/loading-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,aAAa,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;;;;;;;;OASG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,qGAAqG;IACrG,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAQnE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS,EAAE,CA8BvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAE7C,YAAY,EAAE,GAAG,EACjB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAiCT"}
@@ -14,13 +14,17 @@ export function getLoadingStateVars(index) {
14
14
  isFetchingVar: "ds_".concat(index, "_isFetching"),
15
15
  setIsFetchingVar: "setDs_".concat(index, "_isFetching"),
16
16
  inFlightRefVar: "ds_".concat(index, "_fetchesInFlight"),
17
+ fetchSeqRefVar: "ds_".concat(index, "_fetchSeq"),
18
+ latestDataRefVar: "ds_".concat(index, "_latestData"),
17
19
  };
18
20
  }
19
21
  /**
20
22
  * `const ds_N_fetchesInFlight = useRef(0)`
23
+ * `const ds_N_fetchSeq = useRef(0)`
24
+ * `const ds_N_latestData = useRef(undefined)`
21
25
  * `const [ds_N_isFetching, setDs_N_isFetching] = useState(false)`
22
26
  *
23
- * Both are stable across renders (a ref object and a `useState` setter), which
27
+ * All are stable across renders (ref objects and a `useState` setter), which
24
28
  * is what lets the wrapped `fetchData` keep its empty `useCallback` dependency
25
29
  * array — a changing `fetchData` identity would retrigger the provider's fetch
26
30
  * effect on every render.
@@ -30,6 +34,12 @@ export function buildLoadingStateDeclarations(vars) {
30
34
  types.variableDeclaration('const', [
31
35
  types.variableDeclarator(types.identifier(vars.inFlightRefVar), types.callExpression(types.identifier('useRef'), [types.numericLiteral(0)])),
32
36
  ]),
37
+ types.variableDeclaration('const', [
38
+ types.variableDeclarator(types.identifier(vars.fetchSeqRefVar), types.callExpression(types.identifier('useRef'), [types.numericLiteral(0)])),
39
+ ]),
40
+ types.variableDeclaration('const', [
41
+ types.variableDeclarator(types.identifier(vars.latestDataRefVar), types.callExpression(types.identifier('useRef'), [types.identifier('undefined')])),
42
+ ]),
33
43
  types.variableDeclaration('const', [
34
44
  types.variableDeclarator(types.arrayPattern([
35
45
  types.identifier(vars.isFetchingVar),
@@ -108,8 +118,39 @@ function injectTrackingIntoCachedBody(body, vars) {
108
118
  }
109
119
  var tracked = buildTrackedFetchBody(networkChain.statement.argument, vars);
110
120
  (_a = body.body).splice.apply(_a, __spreadArray([networkChain.index, 1], tracked.body, false));
121
+ markCacheHitAsNewest(body, vars);
111
122
  return true;
112
123
  }
124
+ /**
125
+ * A cache hit answers synchronously with the rows of THIS request, so it is
126
+ * the newest settled result too: it advances the sequence and records its rows,
127
+ * or an older network request still in flight would resolve after it and paint
128
+ * over it. Adds the two statements at the head of the hit branch — before its
129
+ * `return Promise.resolve(__tqHit)` — and nothing else, so the flag the branch
130
+ * deliberately never raises stays untouched.
131
+ */
132
+ function markCacheHitAsNewest(body, vars) {
133
+ var hit = body.body.find(function (statement) {
134
+ return statement.type === 'IfStatement' &&
135
+ statement.test.type === 'BinaryExpression' &&
136
+ statement.test.left.type === 'Identifier' &&
137
+ statement.test.left.name === CACHE_HIT_IDENTIFIER &&
138
+ statement.consequent.type === 'BlockStatement';
139
+ });
140
+ if (!hit || hit.consequent.type !== 'BlockStatement') {
141
+ return;
142
+ }
143
+ hit.consequent.body.unshift(types.expressionStatement(types.updateExpression('++', refCurrent(vars.fetchSeqRefVar), true)), types.expressionStatement(types.assignmentExpression('=', refCurrent(vars.latestDataRefVar), types.identifier(CACHE_HIT_IDENTIFIER))));
144
+ }
145
+ /** The identifier the cache wiring binds a hit to — see `cache/ast.ts`. */
146
+ var CACHE_HIT_IDENTIFIER = '__tqHit';
147
+ /** The rows a tracked request resolved with, inside its own `then`. */
148
+ var TRACKED_ROWS_IDENTIFIER = '__tqRows';
149
+ /** This request's sequence number. */
150
+ var TRACKED_SEQ_IDENTIFIER = '__tqSeq';
151
+ function refCurrent(refVar) {
152
+ return types.memberExpression(types.identifier(refVar), types.identifier('current'));
153
+ }
113
154
  // tslint:disable-next-line:no-any
114
155
  function containsIdentifier(node, name) {
115
156
  if (!node || typeof node !== 'object') {
@@ -173,9 +214,16 @@ function findMemoizedFetchDataArrow(attribute) {
173
214
  * Turns `(params) => fetch(...).then(...)` into
174
215
  *
175
216
  * (params) => {
217
+ * const __tqSeq = ++ds_N_fetchSeq.current
176
218
  * ds_N_fetchesInFlight.current += 1
177
219
  * setDs_N_isFetching(true)
178
- * return fetch(...).then(...).finally(() => {
220
+ * return fetch(...).then(...).then((__tqRows) => {
221
+ * if (__tqSeq !== ds_N_fetchSeq.current) {
222
+ * return ds_N_latestData.current !== undefined ? ds_N_latestData.current : __tqRows
223
+ * }
224
+ * ds_N_latestData.current = __tqRows
225
+ * return __tqRows
226
+ * }).finally(() => {
179
227
  * ds_N_fetchesInFlight.current -= 1
180
228
  * if (ds_N_fetchesInFlight.current <= 0) {
181
229
  * ds_N_fetchesInFlight.current = 0
@@ -184,6 +232,12 @@ function findMemoizedFetchDataArrow(attribute) {
184
232
  * })
185
233
  * }
186
234
  *
235
+ * The `then` is the stale guard (see `fetchSeqRefVar`): a request overtaken by
236
+ * a newer one resolves with the newest settled rows rather than its own, so
237
+ * the provider — which keeps whatever resolves LAST — never paints older rows
238
+ * over newer ones. An overtaken request whose successor has not settled yet
239
+ * resolves with its own rows; the successor then replaces them.
240
+ *
187
241
  * `finally` (rather than a `then` pair) keeps the flag honest when the request
188
242
  * rejects: the provider switches to its error status and the loading state must
189
243
  * not stay on screen. The counter is clamped at 0 so a late settle from a
@@ -205,10 +259,22 @@ function buildTrackedFetchBody(fetchExpression, vars) {
205
259
  ])),
206
260
  ])),
207
261
  ]));
262
+ var latestData = refCurrent(vars.latestDataRefVar);
263
+ var staleGuard = types.arrowFunctionExpression([types.identifier(TRACKED_ROWS_IDENTIFIER)], types.blockStatement([
264
+ types.ifStatement(types.binaryExpression('!==', types.identifier(TRACKED_SEQ_IDENTIFIER), refCurrent(vars.fetchSeqRefVar)), types.blockStatement([
265
+ types.returnStatement(types.conditionalExpression(types.binaryExpression('!==', types.cloneNode(latestData, true), types.identifier('undefined')), types.cloneNode(latestData, true), types.identifier(TRACKED_ROWS_IDENTIFIER))),
266
+ ])),
267
+ types.expressionStatement(types.assignmentExpression('=', types.cloneNode(latestData, true), types.identifier(TRACKED_ROWS_IDENTIFIER))),
268
+ types.returnStatement(types.identifier(TRACKED_ROWS_IDENTIFIER)),
269
+ ]));
270
+ var guardedFetch = types.callExpression(types.memberExpression(fetchExpression, types.identifier('then')), [staleGuard]);
208
271
  return types.blockStatement([
272
+ types.variableDeclaration('const', [
273
+ types.variableDeclarator(types.identifier(TRACKED_SEQ_IDENTIFIER), types.updateExpression('++', refCurrent(vars.fetchSeqRefVar), true)),
274
+ ]),
209
275
  types.expressionStatement(types.assignmentExpression('+=', types.cloneNode(inFlightCount, true), types.numericLiteral(1))),
210
276
  types.expressionStatement(types.callExpression(types.identifier(vars.setIsFetchingVar), [types.booleanLiteral(true)])),
211
- types.returnStatement(types.callExpression(types.memberExpression(fetchExpression, types.identifier('finally')), [
277
+ types.returnStatement(types.callExpression(types.memberExpression(guardedFetch, types.identifier('finally')), [
212
278
  settleHandler,
213
279
  ])),
214
280
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"loading-state.js","sourceRoot":"","sources":["../../src/loading-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loading-state.js","sourceRoot":"","sources":["../../src/loading-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Filtering and sorting a translatable column in the visitor's language.
3
+ *
4
+ * A translatable column of a platform table exists once per language:
5
+ * `slug` holds the main language and `es_slug` the Spanish copy (see
6
+ * `ContentLocalization`). The row transform resolves what a page DISPLAYS —
7
+ * a Spanish listing shows `es_name` and links to `es_slug` — but the SQL a
8
+ * fetch runs still names the base column, so without this file:
9
+ *
10
+ * - the details page a Spanish card links to (`/es/products/<es_slug>`)
11
+ * looks the row up with `slug = $1` and answers 404;
12
+ * - "sort by name" on the Spanish listing orders the Spanish names by
13
+ * their ENGLISH counterparts.
14
+ *
15
+ * The teleport fetcher (`fetchers/teleport.ts`) therefore embeds the helper
16
+ * emitted here:
17
+ *
18
+ * - equality on a translatable column matches the value in ANY language:
19
+ * `("slug" = $1 OR "es_slug" = $1)`. Deliberately every language, not the
20
+ * request's: the language switcher keeps the URL and changes the locale,
21
+ * so `/products/<es_slug>` (English page, Spanish slug) has to resolve as
22
+ * well as `/es/products/<slug>`. Only `=` (and the `in` it is normalised
23
+ * to) — a translatable column is never compared with `<`, and `!=` on one
24
+ * has no sensible cross-language reading;
25
+ * - ordering by a translatable column orders by the REQUEST's language,
26
+ * falling back to the base column exactly like the transform does:
27
+ * `COALESCE(NULLIF("es_name", ''), "name")`.
28
+ *
29
+ * Which columns take part is decided at GENERATION time from the table's
30
+ * schema and the project's languages — never by prefix-sniffing column names,
31
+ * which would mistake `og_title` for a translation. A copy the schema does not
32
+ * list (a language added before a column became translatable) is simply not
33
+ * referenced, so the SQL can only ever name columns that exist.
34
+ */
35
+ import type { ContentLocalization } from './content-localization';
36
+ /**
37
+ * Base column → `{ locale: copy column }`, for every translatable column of a
38
+ * table that has at least one per-language copy in the schema.
39
+ */
40
+ export type LocalizedColumnMap = Record<string, Record<string, string>>;
41
+ /**
42
+ * Pairs every column with the per-language copies the schema actually holds.
43
+ * Empty (no families) when the project has one language or the table has no
44
+ * translated column — the emitted helper is then inert.
45
+ */
46
+ export declare const collectLocalizedColumns: (columnNames: string[], localization: ContentLocalization | undefined) => LocalizedColumnMap;
47
+ /**
48
+ * The `localizedEqualityClause` / `localizedSortFieldSql` helpers a fetcher
49
+ * embeds, with the column map baked in.
50
+ *
51
+ * Emitted as plain source with no backtick and no `${`, because the fetcher
52
+ * interpolates it into a template literal. Every identifier it quotes comes
53
+ * from the baked map, so a request can only ever name a column the schema had.
54
+ */
55
+ export declare const generateLocalizedColumnsHelper: (families: LocalizedColumnMap) => string;
56
+ //# sourceMappingURL=localized-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localized-columns.d.ts","sourceRoot":"","sources":["../../src/localized-columns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEjE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAQvE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,gBACrB,MAAM,EAAE,gBACP,mBAAmB,GAAG,SAAS,KAC5C,kBAmBF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,aAAc,kBAAkB,KAAG,MA8C7E,CAAA"}