@nshiab/simple-data-analysis-core 2.0.7 → 2.0.9

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 (79) hide show
  1. package/esm/class/SimpleTable.d.ts +72 -0
  2. package/esm/class/SimpleTable.d.ts.map +1 -1
  3. package/esm/class/SimpleTable.js +68 -0
  4. package/esm/helpers/appendColumnBatches.d.ts +3 -0
  5. package/esm/helpers/appendColumnBatches.d.ts.map +1 -0
  6. package/esm/helpers/appendColumnBatches.js +21 -0
  7. package/esm/helpers/buildUmapGraph.d.ts +24 -0
  8. package/esm/helpers/buildUmapGraph.d.ts.map +1 -0
  9. package/esm/helpers/buildUmapGraph.js +155 -0
  10. package/esm/helpers/cacheDatabase.d.ts.map +1 -1
  11. package/esm/helpers/cacheDatabase.js +2 -1
  12. package/esm/helpers/fitUmapCurve.d.ts +2 -0
  13. package/esm/helpers/fitUmapCurve.d.ts.map +1 -0
  14. package/esm/helpers/fitUmapCurve.js +66 -0
  15. package/esm/helpers/initialUmapCoordinates.d.ts +2 -0
  16. package/esm/helpers/initialUmapCoordinates.d.ts.map +1 -0
  17. package/esm/helpers/initialUmapCoordinates.js +5 -0
  18. package/esm/helpers/optimizeUmapLayout.d.ts +7 -0
  19. package/esm/helpers/optimizeUmapLayout.d.ts.map +1 -0
  20. package/esm/helpers/optimizeUmapLayout.js +93 -0
  21. package/esm/helpers/prepareUmapLayoutOptions.d.ts +14 -0
  22. package/esm/helpers/prepareUmapLayoutOptions.d.ts.map +1 -0
  23. package/esm/helpers/prepareUmapLayoutOptions.js +23 -0
  24. package/esm/helpers/readScalarNumber.d.ts +3 -0
  25. package/esm/helpers/readScalarNumber.d.ts.map +1 -0
  26. package/esm/helpers/readScalarNumber.js +4 -0
  27. package/esm/helpers/umapRandom.d.ts +2 -0
  28. package/esm/helpers/umapRandom.d.ts.map +1 -0
  29. package/esm/helpers/umapRandom.js +10 -0
  30. package/esm/methods/cache.js +1 -1
  31. package/esm/methods/loadArray.d.ts.map +1 -1
  32. package/esm/methods/loadArray.js +3 -20
  33. package/esm/methods/log.d.ts.map +1 -1
  34. package/esm/methods/log.js +1 -4
  35. package/esm/methods/umap.d.ts +5 -0
  36. package/esm/methods/umap.d.ts.map +1 -0
  37. package/esm/methods/umap.js +156 -0
  38. package/esm/methods/updateWithJS.js +9 -21
  39. package/llm.md +80 -1
  40. package/llms.txt +1 -1
  41. package/package.json +1 -1
  42. package/script/class/SimpleTable.d.ts +72 -0
  43. package/script/class/SimpleTable.d.ts.map +1 -1
  44. package/script/class/SimpleTable.js +68 -0
  45. package/script/helpers/appendColumnBatches.d.ts +3 -0
  46. package/script/helpers/appendColumnBatches.d.ts.map +1 -0
  47. package/script/helpers/appendColumnBatches.js +24 -0
  48. package/script/helpers/buildUmapGraph.d.ts +24 -0
  49. package/script/helpers/buildUmapGraph.d.ts.map +1 -0
  50. package/script/helpers/buildUmapGraph.js +161 -0
  51. package/script/helpers/cacheDatabase.d.ts.map +1 -1
  52. package/script/helpers/cacheDatabase.js +2 -1
  53. package/script/helpers/fitUmapCurve.d.ts +2 -0
  54. package/script/helpers/fitUmapCurve.d.ts.map +1 -0
  55. package/script/helpers/fitUmapCurve.js +69 -0
  56. package/script/helpers/initialUmapCoordinates.d.ts +2 -0
  57. package/script/helpers/initialUmapCoordinates.d.ts.map +1 -0
  58. package/script/helpers/initialUmapCoordinates.js +11 -0
  59. package/script/helpers/optimizeUmapLayout.d.ts +7 -0
  60. package/script/helpers/optimizeUmapLayout.d.ts.map +1 -0
  61. package/script/helpers/optimizeUmapLayout.js +99 -0
  62. package/script/helpers/prepareUmapLayoutOptions.d.ts +14 -0
  63. package/script/helpers/prepareUmapLayoutOptions.d.ts.map +1 -0
  64. package/script/helpers/prepareUmapLayoutOptions.js +29 -0
  65. package/script/helpers/readScalarNumber.d.ts +3 -0
  66. package/script/helpers/readScalarNumber.d.ts.map +1 -0
  67. package/script/helpers/readScalarNumber.js +7 -0
  68. package/script/helpers/umapRandom.d.ts +2 -0
  69. package/script/helpers/umapRandom.d.ts.map +1 -0
  70. package/script/helpers/umapRandom.js +13 -0
  71. package/script/methods/cache.js +1 -1
  72. package/script/methods/loadArray.d.ts.map +1 -1
  73. package/script/methods/loadArray.js +2 -19
  74. package/script/methods/log.d.ts.map +1 -1
  75. package/script/methods/log.js +1 -4
  76. package/script/methods/umap.d.ts +5 -0
  77. package/script/methods/umap.d.ts.map +1 -0
  78. package/script/methods/umap.js +162 -0
  79. package/script/methods/updateWithJS.js +9 -21
@@ -757,6 +757,78 @@ export default class SimpleTable extends Simple {
757
757
  efSearch?: number;
758
758
  M?: number;
759
759
  }): this;
760
+ /**
761
+ * Reduces numeric vectors, such as embeddings, to a two-dimensional UMAP
762
+ * projection. The resulting coordinates are added as `umapX` and `umapY`,
763
+ * while all existing columns (including the source vector column), their
764
+ * values and types, and the input row order are preserved. DuckDB computes
765
+ * neighbors and the fuzzy graph; TypeScript optimizes the coordinates without
766
+ * copying the input vectors into JavaScript. Neighbor search is selected
767
+ * automatically.
768
+ *
769
+ * The defaults are a starting point for exploration. To adjust the projection:
770
+ *
771
+ * - `neighbors` (default `15`): How many nearby points influence the layout.
772
+ * Smaller values emphasize local detail but can fragment groups. Larger
773
+ * values emphasize broader structure, can hide local detail, and generally
774
+ * require more time and memory.
775
+ * - `metric` (default `"euclidean"`): How similarity is measured. Euclidean
776
+ * compares distance, including differences in vector magnitude. Cosine
777
+ * compares direction, ignoring magnitude. Choose according to what makes
778
+ * vectors similar in your data; neither is universally better.
779
+ * - `epochs` (default `200`): How many passes refine the coordinates. Fewer
780
+ * passes finish sooner but may leave the layout unfinished. More passes
781
+ * allow further refinement and take longer, with diminishing returns.
782
+ * - `minDistance` (default `0.1`): How tightly points can group in the
783
+ * projection. Smaller values allow tighter clumps; larger values spread
784
+ * points out. This changes the layout's appearance, not an accuracy level
785
+ * or the number of optimization passes.
786
+ * - `learningRate` (default `1`): The initial size of coordinate adjustments.
787
+ * Smaller values make gentler adjustments and may need more epochs. Larger
788
+ * values make bigger adjustments but can overshoot useful positions. This
789
+ * does not change the number of passes.
790
+ * - `negativeSamples` (default `5`): How many random points are sampled for
791
+ * repulsion per attractive update. Smaller values reduce work and
792
+ * repulsion; larger values increase both, tending to separate unrelated
793
+ * points more strongly. More samples do not guarantee a better projection.
794
+ *
795
+ * @param column - The column containing numeric vector embeddings.
796
+ * @param options - Optional projection settings.
797
+ * @param options.neighbors - Neighborhood size, including the point itself. Integer of at least 2, clamped to row count minus one. Defaults to 15.
798
+ * @param options.metric - Input distance metric: "euclidean" or "cosine". Defaults to "euclidean".
799
+ * @param options.epochs - Integer number of refinement passes, at least 1. Defaults to 200.
800
+ * @param options.seed - Integer used to initialize random choices. Defaults to 42.
801
+ * @param options.minDistance - Grouping distance parameter between 0 and 1. Defaults to 0.1.
802
+ * @param options.learningRate - Finite, positive initial learning rate. Defaults to 1.
803
+ * @param options.negativeSamples - Integer number of samples used to separate unrelated points, at least 1. Defaults to 5.
804
+ * @returns The table, so methods can be chained.
805
+ * @category Vector Search
806
+ *
807
+ * @example
808
+ * ```ts
809
+ * await table.umap("embedding", {
810
+ * metric: "cosine",
811
+ * seed: 42,
812
+ * }).log();
813
+ * ```
814
+ *
815
+ * @example
816
+ * ```ts
817
+ * await table.umap("embedding", {
818
+ * neighbors: 30,
819
+ * minDistance: 0.25,
820
+ * }).selectColumns(["label", "umapX", "umapY"]).log();
821
+ * ```
822
+ */
823
+ umap(column: string, options?: {
824
+ neighbors?: number;
825
+ metric?: "euclidean" | "cosine";
826
+ epochs?: number;
827
+ seed?: number;
828
+ minDistance?: number;
829
+ learningRate?: number;
830
+ negativeSamples?: number;
831
+ }): this;
760
832
  /**
761
833
  * Searches a text column using DuckDB's BM25 ranking function, which scores
762
834
  * matches using factors including term frequency and document length.
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTable.d.ts","sourceRoot":"","sources":["../../src/class/SimpleTable.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAa1C,OAAO,MAAM,MAAM,aAAa,CAAC;AA6GjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,MAAM;;IAG7C;;;;;;;;;OASG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,CACL;QACA,IAAI,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE;YACP,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,CAAC,CAAC,EAAE,MAAM,CAAC;SACZ,CAAC;KACH,GACC;QACA,IAAI,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE;YACP,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,KAAK,CAAC,EAAE,OAAO,CAAC;SACjB,CAAC;KACH,CACF,EAAE,CAAC;IACJ;;;;;;OAMG;IACH,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB;;;;OAIG;IACK,GAAG,EAAE,QAAQ,CAAC;IAEtB;;;;;;;;;;OAUG;gBAED,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;KACjB;IAUR;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1B;;;;;;;;;;;;;;OAcG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,QAAQ,CAAC,KAAK,EAAE;QACd,CAAC,GAAG,EAAE,MAAM,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,0BAA0B,GAC1B,SAAS,GACT,MAAM,GACN,MAAM,GACN,SAAS,MAAM,GAAG,GAClB,SAAS,MAAM,GAAG,GAClB,aAAa,MAAM,IAAI,GACvB,aAAa,MAAM,IAAI,CAAC;KAC7B,GAAG,IAAI;IAKR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyEG;IACH,SAAS,CACP,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,EAClC,OAAO,GAAE;QACP,WAAW,CAAC,EAAE;YACZ,CAAC,GAAG,EAAE,MAAM,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,0BAA0B,GAC1B,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,WAAW,GACX,0BAA0B,GAC1B,uBAAuB,GACvB,uBAAuB,GACvB,MAAM,GACN,MAAM,GACN,SAAS,MAAM,GAAG,GAClB,SAAS,MAAM,GAAG,CAAC;SACxB,CAAC;KACE,GACL,IAAI;IAMP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoFG;IACH,QAAQ,CACN,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;QACxD,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QAExC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAEnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QAEjB,UAAU,CAAC,EAAE,cAAc,GAAG,kBAAkB,GAAG,OAAO,CAAC;QAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;KACT,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,oBAAoB,CAClB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAC3B,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0EG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,GAAG;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,EACD,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QACP,OAAO,CAAC,EACJ,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,WAAW,GACX,YAAY,GACZ,OAAO,GACP,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,MAAM,CAAC;KACP,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwGG;IACH,IAAI,CACF,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EACJ,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,WAAW,GACX,YAAY,GACZ,OAAO,GACP,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACjB,GACL,IAAI;IAWP;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,GAAG,IAAI;IAKpD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,YAAY,CACV,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,EACnC,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,CACR,MAAM,EACF,OAAO,GACP,SAAS,GACT,cAAc,GACd,oBAAoB,GACpB,QAAQ,GACR,UAAU,GACb,IAAI;IAIP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqEG;IACH,KAAK,CACH,aAAa,GAAE,MAAM,GAAG;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACZ,GACL,IAAI;IAIP;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAKpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KACnB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,IAAI,CACF,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;KACnB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,IAAI,CACF,KAAK,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;KAAE,GAAG,IAAW,EACtD,OAAO,GAAE;QACP,IAAI,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KAC7B,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAK/C;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB;;;;;;;;;;;;;OAaG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CACJ,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;KACV,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,UAAU,CACR,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAO,GAChE,IAAI;IAIP;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,gBAAgB,CACd,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KACnB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,aAAa,CACX,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,aAAa,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,EAAE,OAAO,CAAC;KACb,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,IAAI,CACF,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;KAC7B,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKhC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,UAAU,CACR,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAC3C,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,YAAY,CACV,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAC3C,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKpC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,aAAa,CACX,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAChC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GACjC,IAAI;IAKP;;;;;;;;;;;;OAYG;IACH,gBAAgB,IAAI,IAAI;IAmBxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,MAAM,CACJ,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QACP,IAAI,CAAC,EACD,KAAK,GACL,OAAO,GACP,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,OAAO,CAAC;KACR,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwEG;IACH,OAAO,CACL,KAAK,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,0BAA0B,GAC1B,SAAS,GACT,MAAM,GACN,MAAM,GACN,SAAS,MAAM,GAAG,GAClB,SAAS,MAAM,GAAG,GAClB,aAAa,MAAM,IAAI,GACvB,aAAa,MAAM,IAAI,CAAC;KAC7B,EACD,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;KACpB,GACL,IAAI;IAKP;;;;;;;;;;;OAWG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAK/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,IAAI,EACA,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,0BAA0B,GAC1B,SAAS,GACT,MAAM,GACN,MAAM,GACN,SAAS,MAAM,GAAG,GAClB,SAAS,MAAM,GAAG,GAClB,aAAa,MAAM,IAAI,GACvB,aAAa,MAAM,IAAI,EAC3B,UAAU,EAAE,MAAM,GACjB,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EACD,MAAM,GACN,SAAS,GACT,OAAO,GACP,MAAM,GACN,KAAK,GACL,WAAW,GACX,WAAW,GACX,MAAM,GACN,QAAQ,GACR,QAAQ,GACR;QACA,CAAC,SAAS,EAAE,MAAM,GACd,MAAM,GACN,SAAS,GACT,OAAO,GACP,MAAM,GACN,KAAK,GACL,WAAW,GACX,WAAW,GACX,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;KACd,GACF,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAO,GACvC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAS,CACP,UAAU,EAAE,WAAW,EACvB,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC3B,GACL,IAAI;IAIP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IAEH,IAAI,CACF,UAAU,EAAE,WAAW,EACvB,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC3B,GACL,IAAI;IAYP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,SAAS,CACP,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,MAAM,CAAC,EACH,OAAO,GACP,eAAe,GACf,kBAAkB,GAClB,iBAAiB,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAC3B,GACL,IAAI;IAgBP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDG;IACH,UAAU,CACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,MAAM,CAAC,EACH,OAAO,GACP,eAAe,GACf,kBAAkB,GAClB,iBAAiB,CAAC;QACtB,QAAQ,CAAC,EACL,YAAY,GACZ,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,UAAU,CAAC;QACf,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAC3B,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,OAAO,CACL,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,EAAE,EAClC,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EACvC,OAAO,GAAE;QACP,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAKvC;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAKvC;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAK5C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,GAAG,CACD,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAC5D,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,YAAY,CACV,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,WAAW,CACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,OAAO,CAAC;KACb,GACL,IAAI;IAKP;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/C;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,YAAY,CACV,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,EAAE,EAClC,KAAK,EAAE,OAAO,GACb,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;KACf,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,SAAS,CACP,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,GAChB,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK/C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,UAAU,CACR,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/B,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,IAAI,CACF,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GACpB,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,KAAK,CACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GACH,MAAM,GACN;QACA,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;KACnC,GACP,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CACN,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO,GACzC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAKtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,KAAK,CACH,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;QACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,SAAS,CACP,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KACnB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,IAAI,CACF,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,cAAc,CACZ,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,QAAQ,CACN,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EACH,CACE;QACA;;;;;;;WAOG;QACH,UAAU,EAAE,MAAM,CAAC;QACnB;;;;;;;WAOG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GACC;QACA;;;;;;;WAOG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;;;;;WAOG;QACH,WAAW,EAAE,MAAM,CAAC;KACrB,CACF,GACC;QACA;;;;;;;;WAQG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;;;;;WAOG;QACH,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;QACvB;;;;;;;WAOG;QACH,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;KACnC,GACF,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwFG;IACH,SAAS,CACP,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,EACF,CACE,OAAO,GACP,eAAe,GACf,WAAW,GACX,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,GACR,UAAU,CACb,GACC,CACE,OAAO,GACP,eAAe,GACf,WAAW,GACX,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,GACR,UAAU,CACb,EAAE,GACD;YACA,CAAC,GAAG,EAAE,MAAM,GACR,OAAO,GACP,eAAe,GACf,WAAW,GACX,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,GACR,UAAU,CAAC;SAChB,CAAC;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;KAChB,GACL,IAAI;IAIP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,cAAc,CACZ,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,EAAE,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QACP,KAAK,CAAC,EACF,eAAe,GACf,WAAW,GACX,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,GACR,UAAU,GACV;YACA,IAAI,EACA,eAAe,GACf,WAAW,GACX,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,GACR,UAAU,CAAC;YACf,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,GACC,CACE,eAAe,GACf,WAAW,GACX,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,GACR,UAAU,GACV;YACA,IAAI,EACA,eAAe,GACf,WAAW,GACX,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,GACR,UAAU,CAAC;YACf,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CACF,EAAE,CAAC;QACN,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;KACxB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,UAAU,CACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KACnB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,OAAO,CACL,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,EAC/C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAaP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,YAAY,CACV,OAAO,GAAE;QACP,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC3B,GACL,IAAI;IAIP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,iBAAiB,CACf,OAAO,GAAE;QACP,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC3B,GACL,IAAI;IAIP;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,WAAW,CACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KACnB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,SAAS,CACP,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,WAAW,CACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EACL;QACA,IAAI,EACA,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,EAAE,CAAC,EAAE,KAAK,CAAC;KACZ,GACC;QACA,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QAClD,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,EAAE,CAAC,EAAE,KAAK,CAAC;KACZ,GACC;QACA,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;KAChB,EACH,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiFG;IACH,YAAY,CACV,YAAY,EACR,CAAC,CACD,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,EAAE,KACA,OAAO,CACV;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,EAAE,CACJ,CAAC,GACA,CAAC,CACD,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,EAAE,KACA;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,EAAE,CAAC,EACN,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KACpC,GACL,IAAI;IAKP;;;;;;;;;;;;OAYG;IACG,SAAS,IAAI,OAAO,CACxB;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;KAC9B,EAAE,CACJ;IAID;;;;;;;;;;;;OAYG;IACG,cAAc,IAAI,OAAO,CAC7B;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,EAAE,CACJ;IAID;;;;;;;;;;;;OAYG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;;;;;;;;;OAYG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC3C,IAAI;IAKP;;;;;;;;;;;;OAYG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK1D;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrD;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,WAAW,CAAC,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE;;;;;;;;;;;;OAYG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAKtC;;;;;;;;;;;;OAYG;IACG,QAAQ,IAAI,OAAO,CAAC;QACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IAIF;;;;;;;;;;;;;;OAcG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC;;;;;;;;;;;;;;OAcG;IACG,SAAS,CACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,EAAE,CAAC;IAIrB;;;;;;;;;;;;;;OAcG;IACG,MAAM,CACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IAInB;;;;;;;;;;;;;;OAcG;IACG,MAAM,CACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IAInB;;;;;;;;;;;;;;OAcG;IACG,SAAS,CACb,MAAM,EAAE,MAAM,GACb,OAAO,CACR;QACE,OAAO;QACP,OAAO;KACR,CACF;IAID;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,SAAS,CACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;;;;;;OAaG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,SAAS,CACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAClC,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;;;;;;;OAcG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,EAAE,CAAC;IAIrB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,WAAW,CACf,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,OAAO,CACR;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CACT;IAID;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,UAAU,CACd,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,OAAO,CACR;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CACT;IAID;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,OAAO,CACR;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,EAAE,CACJ;IAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,SAAS,CACb,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,OAAO,CACR;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,EAAE,CACJ;IAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GACjC,OAAO,CACR;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CACT;IAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmEG;IACG,OAAO,CACX,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CACR;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,EAAE,CACJ;IAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,MAAM,CACJ,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,cAAc,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,IAAI,EAAE,SAAS,CAAC;IAI9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,YAAY,CAAC,OAAO,GAAE;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,MAAM,CAAC;IAOxB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GACpC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChC,IAAI;IAKP;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAK7B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,kBAAkB,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,WAAW,CACT,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;QAClB,cAAc,CAAC,EAAE,OAAO,CAAC;KACrB,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CACP,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+DG;IACH,OAAO,CACL,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,gBAAgB,EACjD,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;QAClD,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC3B,GACL,IAAI;IAcP;;;;;;;;;;;;;;OAcG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,IAAI;IAKP;;;;;;;;;;;;;;OAcG;IACH,UAAU,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,IAAI;IAKP;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhC;;;;;;;;;;;;;;OAcG;IACH,UAAU,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,IAAI;IAKP;;;;;;;;;;;;;;OAcG;IACH,SAAS,CACP,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,GAChB,IAAI;IAKP;;;;;;;;;;;;;;OAcG;IACH,KAAK,CACH,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,IAAI;IAKP;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC5D,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChC,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAClD,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,QAAQ,CACN,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;QAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CACZ,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,CACV,MAAM,EAAE,OAAO,GAAG,cAAc,EAChC,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC3B,GACL,IAAI;IAIP;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,cAAc,CAClB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAI5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,UAAU,CACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GACjC,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;IAQF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,OAAO,CAAC;KAClB,GACL,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,WAAW,CAAC,EAAE,OAAO,CAAC;KAClB,GACL,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsGG;IACG,KAAK,CACT,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9C,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;KACT,GACL,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACG,GAAG,CACP,OAAO,GAAE,KAAK,GAAG,MAAM,GAAG;QACxB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QACvB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH;;;;;;;;;;;;OAYG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrC;;;;;;;;;;;;OAYG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYpD;;;;;;;;;;;OAWG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrC;;;;;;;;;;;OAWG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACpC,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,UAAU,CAAC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlE;;;;;;;;;;;OAWG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,SAAS,CACb,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAO,GACxC,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;;;;;;OAYG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM/C"}
1
+ {"version":3,"file":"SimpleTable.d.ts","sourceRoot":"","sources":["../../src/class/SimpleTable.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  var _SimpleTable_name;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const umap_js_1 = __importDefault(require("../methods/umap.js"));
18
19
  const logBottom_js_1 = __importDefault(require("../methods/logBottom.js"));
19
20
  const log_js_1 = __importDefault(require("../methods/log.js"));
20
21
  const quoteIdentifier_js_1 = __importDefault(require("../helpers/quoteIdentifier.js"));
@@ -879,6 +880,73 @@ class SimpleTable extends Simple_js_1.default {
879
880
  (0, createVssIndex_js_1.default)(this, column, options);
880
881
  return this;
881
882
  }
883
+ /**
884
+ * Reduces numeric vectors, such as embeddings, to a two-dimensional UMAP
885
+ * projection. The resulting coordinates are added as `umapX` and `umapY`,
886
+ * while all existing columns (including the source vector column), their
887
+ * values and types, and the input row order are preserved. DuckDB computes
888
+ * neighbors and the fuzzy graph; TypeScript optimizes the coordinates without
889
+ * copying the input vectors into JavaScript. Neighbor search is selected
890
+ * automatically.
891
+ *
892
+ * The defaults are a starting point for exploration. To adjust the projection:
893
+ *
894
+ * - `neighbors` (default `15`): How many nearby points influence the layout.
895
+ * Smaller values emphasize local detail but can fragment groups. Larger
896
+ * values emphasize broader structure, can hide local detail, and generally
897
+ * require more time and memory.
898
+ * - `metric` (default `"euclidean"`): How similarity is measured. Euclidean
899
+ * compares distance, including differences in vector magnitude. Cosine
900
+ * compares direction, ignoring magnitude. Choose according to what makes
901
+ * vectors similar in your data; neither is universally better.
902
+ * - `epochs` (default `200`): How many passes refine the coordinates. Fewer
903
+ * passes finish sooner but may leave the layout unfinished. More passes
904
+ * allow further refinement and take longer, with diminishing returns.
905
+ * - `minDistance` (default `0.1`): How tightly points can group in the
906
+ * projection. Smaller values allow tighter clumps; larger values spread
907
+ * points out. This changes the layout's appearance, not an accuracy level
908
+ * or the number of optimization passes.
909
+ * - `learningRate` (default `1`): The initial size of coordinate adjustments.
910
+ * Smaller values make gentler adjustments and may need more epochs. Larger
911
+ * values make bigger adjustments but can overshoot useful positions. This
912
+ * does not change the number of passes.
913
+ * - `negativeSamples` (default `5`): How many random points are sampled for
914
+ * repulsion per attractive update. Smaller values reduce work and
915
+ * repulsion; larger values increase both, tending to separate unrelated
916
+ * points more strongly. More samples do not guarantee a better projection.
917
+ *
918
+ * @param column - The column containing numeric vector embeddings.
919
+ * @param options - Optional projection settings.
920
+ * @param options.neighbors - Neighborhood size, including the point itself. Integer of at least 2, clamped to row count minus one. Defaults to 15.
921
+ * @param options.metric - Input distance metric: "euclidean" or "cosine". Defaults to "euclidean".
922
+ * @param options.epochs - Integer number of refinement passes, at least 1. Defaults to 200.
923
+ * @param options.seed - Integer used to initialize random choices. Defaults to 42.
924
+ * @param options.minDistance - Grouping distance parameter between 0 and 1. Defaults to 0.1.
925
+ * @param options.learningRate - Finite, positive initial learning rate. Defaults to 1.
926
+ * @param options.negativeSamples - Integer number of samples used to separate unrelated points, at least 1. Defaults to 5.
927
+ * @returns The table, so methods can be chained.
928
+ * @category Vector Search
929
+ *
930
+ * @example
931
+ * ```ts
932
+ * await table.umap("embedding", {
933
+ * metric: "cosine",
934
+ * seed: 42,
935
+ * }).log();
936
+ * ```
937
+ *
938
+ * @example
939
+ * ```ts
940
+ * await table.umap("embedding", {
941
+ * neighbors: 30,
942
+ * minDistance: 0.25,
943
+ * }).selectColumns(["label", "umapX", "umapY"]).log();
944
+ * ```
945
+ */
946
+ umap(column, options = {}) {
947
+ (0, umap_js_1.default)(this, column, options);
948
+ return this;
949
+ }
882
950
  /**
883
951
  * Searches a text column using DuckDB's BM25 ranking function, which scores
884
952
  * matches using factors including term frequency and document length.
@@ -0,0 +1,3 @@
1
+ import { type DuckDBConnection, type DuckDBType, type DuckDBValue } from "@duckdb/node-api";
2
+ export default function appendColumnBatches(connection: DuckDBConnection, table: string, types: readonly DuckDBType[], rowCount: number, columnValues: (column: number, start: number, end: number) => readonly DuckDBValue[]): Promise<void>;
3
+ //# sourceMappingURL=appendColumnBatches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendColumnBatches.d.ts","sourceRoot":"","sources":["../../src/helpers/appendColumnBatches.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAI1B,wBAA8B,mBAAmB,CAC/C,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,KACR,SAAS,WAAW,EAAE,iBAiB5B"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = appendColumnBatches;
4
+ const node_api_1 = require("@duckdb/node-api");
5
+ // Append to an existing table. Callers retain ownership of type conversion and
6
+ // publication; each column callback supplies only the requested [start, end).
7
+ async function appendColumnBatches(connection, table, types, rowCount, columnValues) {
8
+ const appender = await connection.createAppender(table);
9
+ try {
10
+ // Stay below DuckDB's maximum chunk capacity of 2048 rows.
11
+ for (let start = 0; start < rowCount; start += 2000) {
12
+ const end = Math.min(start + 2000, rowCount);
13
+ const chunk = node_api_1.DuckDBDataChunk.create(types, end - start);
14
+ for (let column = 0; column < types.length; column++) {
15
+ chunk.setColumnValues(column, columnValues(column, start, end));
16
+ }
17
+ appender.appendDataChunk(chunk);
18
+ }
19
+ appender.flushSync();
20
+ }
21
+ finally {
22
+ appender.closeSync();
23
+ }
24
+ }
@@ -0,0 +1,24 @@
1
+ import type { DuckDBConnection } from "@duckdb/node-api";
2
+ export type UmapTables = {
3
+ rows: string;
4
+ knn: string;
5
+ search: string;
6
+ hnsw: string;
7
+ candidates: string;
8
+ scales: string;
9
+ directed: string;
10
+ graph: string;
11
+ };
12
+ export default function buildUmapGraph(connection: DuckDBConnection, input: {
13
+ count: number;
14
+ dimensions: number;
15
+ neighbors: number;
16
+ }, options: {
17
+ metric: "euclidean" | "cosine";
18
+ search: "exact" | "hnsw";
19
+ }, names: UmapTables): Promise<{
20
+ source: Uint32Array<ArrayBuffer>;
21
+ target: Uint32Array<ArrayBuffer>;
22
+ weight: Float64Array<ArrayBuffer>;
23
+ }>;
24
+ //# sourceMappingURL=buildUmapGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildUmapGraph.d.ts","sourceRoot":"","sources":["../../src/helpers/buildUmapGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAA8B,cAAc,CAC1C,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC/D,OAAO,EAAE;IAAE,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,EACrE,KAAK,EAAE,UAAU;;;;GAkClB"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = buildUmapGraph;
7
+ const readScalarNumber_js_1 = __importDefault(require("./readScalarNumber.js"));
8
+ async function buildUmapGraph(connection, input, options, names) {
9
+ await buildNeighbors(connection, input, options, names);
10
+ await buildFuzzyGraph(connection, input.neighbors, names);
11
+ const edges = await (0, readScalarNumber_js_1.default)(connection, `SELECT count(*) FROM ${names.graph}`);
12
+ const source = new Uint32Array(edges), target = new Uint32Array(edges), weight = new Float64Array(edges);
13
+ const rows = await connection.stream(`SELECT source,target,weight FROM ${names.graph} ORDER BY source,target`);
14
+ let edge = 0;
15
+ while (true) {
16
+ const chunk = await rows.fetchChunk();
17
+ if (!chunk || chunk.rowCount === 0)
18
+ break;
19
+ chunk.visitColumnValues(0, (value, row) => source[edge + row] = Number(value));
20
+ chunk.visitColumnValues(1, (value, row) => target[edge + row] = Number(value));
21
+ chunk.visitColumnValues(2, (value, row) => weight[edge + row] = Number(value));
22
+ edge += chunk.rowCount;
23
+ }
24
+ if (edge !== edges)
25
+ throw new Error("Graph changed during transfer.");
26
+ return { source, target, weight };
27
+ }
28
+ async function buildNeighbors(connection, input, options, names) {
29
+ const { count, dimensions, neighbors } = input;
30
+ const distance = options.metric === "cosine"
31
+ ? "array_cosine_distance"
32
+ : "array_distance";
33
+ // Exact duplicates must have zero cosine distance. Positive roundoff would
34
+ // otherwise change rho to that error instead of the next distinct neighbor.
35
+ const exactDistance = options.metric === "cosine"
36
+ ? "CASE WHEN a.vec=b.vec THEN 0 ELSE greatest(0,array_cosine_distance(a.vec,b.vec)) END"
37
+ : "array_distance(a.vec,b.vec)";
38
+ await connection.run(`CREATE OR REPLACE TEMP TABLE ${names.knn}
39
+ (source INTEGER, target INTEGER, distance DOUBLE);
40
+ INSERT INTO ${names.knn} SELECT vertex, vertex, 0 FROM ${names.rows}`);
41
+ if (options.search === "exact") {
42
+ // O(n²d) work, but only a bounded source batch and top-k heaps, never a
43
+ // materialized n×n matrix. Include target id in the key for stable ties.
44
+ for (let offset = 0; offset < count; offset += 32) {
45
+ const query = `SELECT source, item.target, item.distance FROM (
46
+ SELECT a.vertex AS source,
47
+ min_by(struct_pack(target := b.vertex, distance := ${exactDistance}),
48
+ struct_pack(distance := ${exactDistance}, target := b.vertex),
49
+ ${neighbors - 1}) AS closest
50
+ FROM ${names.rows} a CROSS JOIN ${names.rows} b
51
+ WHERE a.vertex >= ${offset} AND a.vertex < ${offset + 32}
52
+ AND a.vertex != b.vertex GROUP BY a.vertex
53
+ ), UNNEST(closest) AS t(item)`;
54
+ await connection.run(`INSERT INTO ${names.knn} ${query}`);
55
+ }
56
+ }
57
+ else {
58
+ await connection.run(`INSTALL vss; LOAD vss;
59
+ CREATE OR REPLACE TEMP TABLE ${names.search} AS
60
+ SELECT vertex, vec::FLOAT[${dimensions}] AS vec FROM ${names.rows} ORDER BY vertex`);
61
+ if (await (0, readScalarNumber_js_1.default)(connection, `SELECT count(*) FROM ${names.search} WHERE
62
+ NOT isfinite(array_inner_product(vec,vec))
63
+ ${options.metric === "cosine"
64
+ ? "OR array_inner_product(vec,vec)=0"
65
+ : ""}`)) {
66
+ throw new Error("HNSW requires vectors with finite FLOAT norms (and nonzero cosine norms).");
67
+ }
68
+ await connection.run(`CREATE INDEX ${names.hnsw} ON ${names.search} USING HNSW(vec)
69
+ WITH (metric='${options.metric === "cosine" ? "cosine" : "l2sq"}',
70
+ ef_construction=128, ef_search=128, M=16)`);
71
+ const previous = String((await connection.runAndReadAll("SELECT current_setting('disabled_optimizers')")).getRowsJS()[0][0]);
72
+ // The shipped VSS optimizer recognizes the window form of a lateral top-k.
73
+ // DuckDB 1.5.5's top_n_window_elimination otherwise hides that pattern.
74
+ const disabled = [
75
+ ...new Set([
76
+ ...previous.split(",").filter(Boolean),
77
+ "top_n_window_elimination",
78
+ ]),
79
+ ].join(",");
80
+ try {
81
+ await connection.run(`SET disabled_optimizers='${disabled.replaceAll("'", "''")}'`);
82
+ const query = `SELECT a.vertex AS source, b.vertex AS target, b.distance
83
+ FROM ${names.search} a, LATERAL (
84
+ SELECT vertex, ${distance}(vec,a.vec) AS distance FROM ${names.search}
85
+ ORDER BY distance LIMIT ${Math.min(neighbors + 1, count - 1)}
86
+ ) b`;
87
+ // Materialize ONLY ids and scalar distances before ranking. Keeping the
88
+ // vector joins inside the window query makes DuckDB carry two full DOUBLE
89
+ // vectors per candidate through the sort (O(n*k*d) scratch memory).
90
+ const candidates = `SELECT q.source,q.target,${exactDistance} AS distance
91
+ FROM (${query}) q JOIN ${names.rows} a ON q.source=a.vertex
92
+ JOIN ${names.rows} b ON q.target=b.vertex WHERE q.source != q.target`;
93
+ const plan = JSON.stringify((await connection.runAndReadAll(`EXPLAIN ${candidates}`)).getRowsJS());
94
+ if (!plan.includes("HNSW_INDEX_JOIN")) {
95
+ // The optimizer can retain a correlated cross product for tiny or
96
+ // duplicate-heavy inputs. Only small inputs may use our bounded exact
97
+ // implementation; never execute the unbounded candidate query.
98
+ if (count <= 1000) {
99
+ return await buildNeighbors(connection, input, {
100
+ ...options,
101
+ search: "exact",
102
+ }, names);
103
+ }
104
+ throw new Error("UMAP could not use DuckDB's vector index for neighbor search.");
105
+ }
106
+ // Exclude self AFTER index search, then stable-sort candidates and keep k-1.
107
+ // Recompute candidate distances in DOUBLE to isolate ANN candidate error.
108
+ await connection.run(`CREATE OR REPLACE TEMP TABLE ${names.candidates} AS ${candidates};
109
+ INSERT INTO ${names.knn} SELECT source,target,distance FROM ${names.candidates}
110
+ QUALIFY row_number() OVER (PARTITION BY source
111
+ ORDER BY distance,target) <= ${neighbors - 1}`);
112
+ }
113
+ finally {
114
+ await connection.run(`SET disabled_optimizers='${previous.replaceAll("'", "''")}'`);
115
+ }
116
+ }
117
+ if (await (0, readScalarNumber_js_1.default)(connection, `SELECT count(*) FROM ${names.knn}`) !==
118
+ count * neighbors) {
119
+ throw new Error("Neighbor search did not return the required number of neighbors.");
120
+ }
121
+ if (await (0, readScalarNumber_js_1.default)(connection, `SELECT count(*) FROM ${names.knn} WHERE NOT isfinite(distance)`)) {
122
+ throw new Error("Distance computation returned a non-finite value.");
123
+ }
124
+ // Cosine roundoff can produce a tiny negative distance.
125
+ await connection.run(`UPDATE ${names.knn} SET distance=greatest(0,distance)`);
126
+ }
127
+ async function buildFuzzyGraph(connection, neighbors, names) {
128
+ // Smooth-kNN with local_connectivity=1, bandwidth=1, 64 bisection steps,
129
+ // tolerance 1e-5 and the reference's 1e-3 minimum-distance scale.
130
+ await connection.run(`CREATE OR REPLACE TEMP TABLE ${names.scales} AS
131
+ SELECT source, coalesce(min(distance) FILTER(WHERE distance>0),0) AS rho,
132
+ avg(distance) AS mean_distance, 0::DOUBLE AS lo, 'Infinity'::DOUBLE AS hi,
133
+ 1::DOUBLE AS sigma, false AS done FROM ${names.knn} GROUP BY source`);
134
+ for (let iteration = 0; iteration < 64; iteration++) {
135
+ await connection.run(`CREATE OR REPLACE TEMP TABLE ${names.scales} AS
136
+ WITH sums AS (
137
+ SELECT s.*, (SELECT sum(CASE WHEN n.distance <= s.rho THEN 1
138
+ ELSE exp(-(n.distance-s.rho)/s.sigma) END)
139
+ FROM ${names.knn} n WHERE n.source=s.source AND n.target != n.source) AS mass
140
+ FROM ${names.scales} s
141
+ ), bounds AS (
142
+ SELECT * EXCLUDE(lo,hi,done),
143
+ CASE WHEN NOT done AND mass < log2(${neighbors}) THEN sigma ELSE lo END AS lo,
144
+ CASE WHEN NOT done AND mass > log2(${neighbors}) THEN sigma ELSE hi END AS hi,
145
+ done OR abs(mass-log2(${neighbors})) < 1e-5 AS done FROM sums
146
+ ) SELECT source,rho,mean_distance,lo,hi,
147
+ CASE WHEN done THEN sigma WHEN isinf(hi) THEN sigma*2 ELSE (lo+hi)/2 END AS sigma,
148
+ done FROM bounds`);
149
+ }
150
+ await connection.run(`UPDATE ${names.scales} SET sigma=greatest(sigma,0.001 *
151
+ CASE WHEN rho>0 THEN mean_distance ELSE (SELECT avg(distance) FROM ${names.knn}) END);
152
+ CREATE OR REPLACE TEMP TABLE ${names.directed} AS
153
+ SELECT n.source,n.target,CASE WHEN n.distance<=s.rho OR s.sigma=0 THEN 1
154
+ ELSE exp(-(n.distance-s.rho)/s.sigma) END AS weight
155
+ FROM ${names.knn} n JOIN ${names.scales} s USING(source) WHERE n.source != n.target;
156
+ CREATE OR REPLACE TEMP TABLE ${names.graph} AS
157
+ SELECT coalesce(a.source,b.target) AS source, coalesce(a.target,b.source) AS target,
158
+ coalesce(a.weight,0)+coalesce(b.weight,0)-coalesce(a.weight*b.weight,0) AS weight
159
+ FROM ${names.directed} a FULL OUTER JOIN ${names.directed} b
160
+ ON a.source=b.target AND a.target=b.source`);
161
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"cacheDatabase.d.ts","sourceRoot":"","sources":["../../src/helpers/cacheDatabase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU7D,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAyCf;AASD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EAAE,EAC1B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAiCf"}
1
+ {"version":3,"file":"cacheDatabase.d.ts","sourceRoot":"","sources":["../../src/helpers/cacheDatabase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU7D,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA0Cf;AASD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EAAE,EAC1B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -18,7 +18,8 @@ async function writeCacheDatabase(table, file, indexes) {
18
18
  const persistedIndexes = indexes.filter((index) => (0, indexDefinitions_js_1.getIndexCacheStrategy)(index) === "persist");
19
19
  await loadIndexExtensions(table, persistedIndexes);
20
20
  try {
21
- await table.sdb.customQuery(`ATTACH '${(0, cleanPath_js_1.default)(temporaryFile)}' AS ${cacheDatabase};
21
+ await table.sdb.customQuery(`ATTACH '${(0, cleanPath_js_1.default)(temporaryFile)}' AS ${cacheDatabase}
22
+ (STORAGE_VERSION 'latest');
22
23
  CREATE TABLE ${cacheDatabase}.${(0, quoteIdentifier_js_1.default)(table.name)} AS
23
24
  SELECT * FROM ${(0, quoteIdentifier_js_1.default)(table.name)};`);
24
25
  if (persistedIndexes.length > 0) {
@@ -0,0 +1,2 @@
1
+ export default function fitUmapCurve(minDistance: number): [number, number];
2
+ //# sourceMappingURL=fitUmapCurve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fitUmapCurve.d.ts","sourceRoot":"","sources":["../../src/helpers/fitUmapCurve.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA2D1E"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = fitUmapCurve;
4
+ // Least-squares fit of 1/(1+a*x^(2*b)) to the reference UMAP target curve.
5
+ // Spread is fixed to one. See umap-learn's find_ab_params (0.5.9.post2).
6
+ // A two-parameter damped Gauss-Newton solve avoids a runtime fitting dependency.
7
+ function fitUmapCurve(minDistance) {
8
+ if (!Number.isFinite(minDistance) || minDistance < 0 || minDistance > 1) {
9
+ throw new Error("minDistance must be between zero and one.");
10
+ }
11
+ const samples = Array.from({ length: 299 }, (_, i) => {
12
+ const x = (i + 1) * 3 / 299;
13
+ return {
14
+ logX: Math.log(x),
15
+ target: Math.exp(-Math.max(0, x - minDistance)),
16
+ };
17
+ });
18
+ const loss = (logA, logB) => {
19
+ let sum = 0;
20
+ for (const { logX, target } of samples) {
21
+ const residual = 1 / (1 + Math.exp(logA + 2 * Math.exp(logB) * logX)) -
22
+ target;
23
+ sum += residual * residual;
24
+ }
25
+ return sum;
26
+ };
27
+ let logA = 0, logB = 0, damping = 1e-3;
28
+ let error = loss(logA, logB);
29
+ for (let iteration = 0; iteration < 100; iteration++) {
30
+ let aa = 0, ab = 0, bb = 0, ga = 0, gb = 0;
31
+ for (const { logX, target } of samples) {
32
+ const power = Math.exp(logA + 2 * Math.exp(logB) * logX);
33
+ const predicted = 1 / (1 + power);
34
+ const da = -power * predicted * predicted;
35
+ const db = da * 2 * Math.exp(logB) * logX;
36
+ aa += da * da;
37
+ ab += da * db;
38
+ bb += db * db;
39
+ ga += da * (predicted - target);
40
+ gb += db * (predicted - target);
41
+ }
42
+ const aDiagonal = aa + damping * Math.max(aa, 1e-12);
43
+ const bDiagonal = bb + damping * Math.max(bb, 1e-12);
44
+ const determinant = aDiagonal * bDiagonal - ab * ab;
45
+ if (!(determinant > 0))
46
+ throw new Error("UMAP curve fit became singular.");
47
+ const stepA = (ab * gb - bDiagonal * ga) / determinant;
48
+ const stepB = (ab * ga - aDiagonal * gb) / determinant;
49
+ const nextA = Math.max(-20, Math.min(20, logA + stepA));
50
+ const nextB = Math.max(-20, Math.min(20, logB + stepB));
51
+ const nextError = loss(nextA, nextB);
52
+ if (nextError < error) {
53
+ const improvement = error - nextError;
54
+ logA = nextA;
55
+ logB = nextB;
56
+ error = nextError;
57
+ damping = Math.max(damping / 3, 1e-12);
58
+ if (improvement < 1e-13)
59
+ return [Math.exp(logA), Math.exp(logB)];
60
+ }
61
+ else {
62
+ damping *= 10;
63
+ if (Math.max(Math.abs(ga), Math.abs(gb)) < 1e-7) {
64
+ return [Math.exp(logA), Math.exp(logB)];
65
+ }
66
+ }
67
+ }
68
+ throw new Error("UMAP curve fit did not converge.");
69
+ }
@@ -0,0 +1,2 @@
1
+ export default function initialUmapCoordinates(count: number, seed: number): Float64Array<ArrayBuffer>;
2
+ //# sourceMappingURL=initialUmapCoordinates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialUmapCoordinates.d.ts","sourceRoot":"","sources":["../../src/helpers/initialUmapCoordinates.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,6BAGzE"}