kiri-mcp-server 0.16.1 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +57 -21
  2. package/dist/package.json +1 -1
  3. package/dist/src/client/model-cli.d.ts +12 -0
  4. package/dist/src/client/model-cli.d.ts.map +1 -0
  5. package/dist/src/client/model-cli.js +247 -0
  6. package/dist/src/client/model-cli.js.map +1 -0
  7. package/dist/src/client/proxy.js +0 -0
  8. package/dist/src/daemon/daemon.js +0 -0
  9. package/dist/src/indexer/graph-metrics.d.ts.map +1 -1
  10. package/dist/src/indexer/graph-metrics.js +16 -4
  11. package/dist/src/indexer/graph-metrics.js.map +1 -1
  12. package/dist/src/server/boost-profiles.d.ts +1 -1
  13. package/dist/src/server/boost-profiles.d.ts.map +1 -1
  14. package/dist/src/server/boost-profiles.js +22 -0
  15. package/dist/src/server/boost-profiles.js.map +1 -1
  16. package/dist/src/server/main.js +0 -0
  17. package/dist/src/server/rpc.js +4 -4
  18. package/dist/src/server/rpc.js.map +1 -1
  19. package/dist/src/shared/utils/global-dirs.d.ts +64 -0
  20. package/dist/src/shared/utils/global-dirs.d.ts.map +1 -0
  21. package/dist/src/shared/utils/global-dirs.js +134 -0
  22. package/dist/src/shared/utils/global-dirs.js.map +1 -0
  23. package/dist/src/vss/config.d.ts +66 -0
  24. package/dist/src/vss/config.d.ts.map +1 -0
  25. package/dist/src/vss/config.js +233 -0
  26. package/dist/src/vss/config.js.map +1 -0
  27. package/dist/src/vss/index.d.ts +9 -0
  28. package/dist/src/vss/index.d.ts.map +1 -0
  29. package/dist/src/vss/index.js +9 -0
  30. package/dist/src/vss/index.js.map +1 -0
  31. package/dist/src/vss/model-downloader.d.ts +101 -0
  32. package/dist/src/vss/model-downloader.d.ts.map +1 -0
  33. package/dist/src/vss/model-downloader.js +320 -0
  34. package/dist/src/vss/model-downloader.js.map +1 -0
  35. package/dist/src/vss/provider.d.ts +132 -0
  36. package/dist/src/vss/provider.d.ts.map +1 -0
  37. package/dist/src/vss/provider.js +254 -0
  38. package/dist/src/vss/provider.js.map +1 -0
  39. package/package.json +1 -1
  40. package/dist/client/cli.js +0 -68
  41. package/dist/client/cli.js.map +0 -1
  42. package/dist/client/index.js +0 -5
  43. package/dist/client/index.js.map +0 -1
  44. package/dist/eval/metrics.js +0 -47
  45. package/dist/eval/metrics.js.map +0 -1
  46. package/dist/indexer/cli.js +0 -362
  47. package/dist/indexer/cli.js.map +0 -1
  48. package/dist/indexer/codeintel.js +0 -182
  49. package/dist/indexer/codeintel.js.map +0 -1
  50. package/dist/indexer/git.js +0 -30
  51. package/dist/indexer/git.js.map +0 -1
  52. package/dist/indexer/language.js +0 -34
  53. package/dist/indexer/language.js.map +0 -1
  54. package/dist/indexer/pipeline/filters/denylist.js +0 -71
  55. package/dist/indexer/pipeline/filters/denylist.js.map +0 -1
  56. package/dist/indexer/schema.js +0 -101
  57. package/dist/indexer/schema.js.map +0 -1
  58. package/dist/server/bootstrap.js +0 -19
  59. package/dist/server/bootstrap.js.map +0 -1
  60. package/dist/server/context.js +0 -1
  61. package/dist/server/context.js.map +0 -1
  62. package/dist/server/fallbacks/degradeController.js +0 -69
  63. package/dist/server/fallbacks/degradeController.js.map +0 -1
  64. package/dist/server/handlers.js +0 -1268
  65. package/dist/server/handlers.js.map +0 -1
  66. package/dist/server/main.js +0 -151
  67. package/dist/server/main.js.map +0 -1
  68. package/dist/server/observability/metrics.js +0 -56
  69. package/dist/server/observability/metrics.js.map +0 -1
  70. package/dist/server/observability/tracing.js +0 -58
  71. package/dist/server/observability/tracing.js.map +0 -1
  72. package/dist/server/rpc.js +0 -477
  73. package/dist/server/rpc.js.map +0 -1
  74. package/dist/server/runtime.js +0 -47
  75. package/dist/server/runtime.js.map +0 -1
  76. package/dist/server/scoring.js +0 -116
  77. package/dist/server/scoring.js.map +0 -1
  78. package/dist/server/stdio.js +0 -76
  79. package/dist/server/stdio.js.map +0 -1
  80. package/dist/shared/duckdb.js +0 -119
  81. package/dist/shared/duckdb.js.map +0 -1
  82. package/dist/shared/embedding.js +0 -98
  83. package/dist/shared/embedding.js.map +0 -1
  84. package/dist/shared/index.js +0 -9
  85. package/dist/shared/index.js.map +0 -1
  86. package/dist/shared/security/config.js +0 -64
  87. package/dist/shared/security/config.js.map +0 -1
  88. package/dist/shared/security/masker.js +0 -56
  89. package/dist/shared/security/masker.js.map +0 -1
  90. package/dist/shared/tokenizer.js +0 -4
  91. package/dist/shared/tokenizer.js.map +0 -1
  92. package/dist/shared/utils/simpleYaml.js +0 -89
  93. package/dist/shared/utils/simpleYaml.js.map +0 -1
  94. package/dist/src/server/rrf.d.ts +0 -86
  95. package/dist/src/server/rrf.d.ts.map +0 -1
  96. package/dist/src/server/rrf.js +0 -108
  97. package/dist/src/server/rrf.js.map +0 -1
  98. package/dist/src/shared/embedding/engine.d.ts +0 -38
  99. package/dist/src/shared/embedding/engine.d.ts.map +0 -1
  100. package/dist/src/shared/embedding/engine.js +0 -6
  101. package/dist/src/shared/embedding/engine.js.map +0 -1
  102. package/dist/src/shared/embedding/lsh-engine.d.ts +0 -11
  103. package/dist/src/shared/embedding/lsh-engine.d.ts.map +0 -1
  104. package/dist/src/shared/embedding/lsh-engine.js +0 -14
  105. package/dist/src/shared/embedding/lsh-engine.js.map +0 -1
  106. package/dist/src/shared/embedding/registry.d.ts +0 -25
  107. package/dist/src/shared/embedding/registry.d.ts.map +0 -1
  108. package/dist/src/shared/embedding/registry.js +0 -50
  109. package/dist/src/shared/embedding/registry.js.map +0 -1
  110. package/dist/src/shared/embedding/semantic-engine.d.ts +0 -14
  111. package/dist/src/shared/embedding/semantic-engine.d.ts.map +0 -1
  112. package/dist/src/shared/embedding/semantic-engine.js +0 -50
  113. package/dist/src/shared/embedding/semantic-engine.js.map +0 -1
  114. package/dist/src/shared/models/model-manager.d.ts +0 -38
  115. package/dist/src/shared/models/model-manager.d.ts.map +0 -1
  116. package/dist/src/shared/models/model-manager.js +0 -116
  117. package/dist/src/shared/models/model-manager.js.map +0 -1
  118. package/dist/src/shared/models/model-manifest.d.ts +0 -22
  119. package/dist/src/shared/models/model-manifest.d.ts.map +0 -1
  120. package/dist/src/shared/models/model-manifest.js +0 -24
  121. package/dist/src/shared/models/model-manifest.js.map +0 -1
@@ -164,8 +164,8 @@ const TOOL_DESCRIPTORS = [
164
164
  },
165
165
  boost_profile: {
166
166
  type: "string",
167
- enum: ["default", "docs", "balanced", "none"],
168
- description: 'File type boosting mode: "default" prioritizes implementation files (src/app/, src/components/), "docs" prioritizes documentation (*.md), "balanced" applies equal weight to both docs and implementation, "none" disables boosting. Default is "default".',
167
+ enum: ["default", "docs", "balanced", "none", "code"],
168
+ description: 'File type boosting mode: "default" prioritizes implementation files (src/app/, src/components/), "code" strongly deprioritizes documentation and config files (95% penalty), "docs" prioritizes documentation (*.md), "balanced" applies equal weight to both docs and implementation, "none" disables boosting. Default is "default".',
169
169
  },
170
170
  path_prefix: {
171
171
  type: "string",
@@ -274,8 +274,8 @@ const TOOL_DESCRIPTORS = [
274
274
  },
275
275
  boost_profile: {
276
276
  type: "string",
277
- enum: ["default", "docs", "balanced", "none"],
278
- description: 'File type boosting mode: "default" prioritizes implementation files (src/app/, src/components/), "docs" prioritizes documentation (*.md), "balanced" applies equal weight to both docs and implementation, "none" disables boosting. Default is "default".',
277
+ enum: ["default", "docs", "balanced", "none", "code"],
278
+ description: 'File type boosting mode: "default" prioritizes implementation files (src/app/, src/components/), "code" strongly deprioritizes documentation and config files (95% penalty), "docs" prioritizes documentation (*.md), "balanced" applies equal weight to both docs and implementation, "none" disables boosting. Default is "default".',
279
279
  },
280
280
  compact: {
281
281
  type: "boolean",
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/server/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAOL,aAAa,EACb,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,uBAAuB,GAAG,CAAC,MAAM,CAAC,CAAC;AAgBzC,MAAM,OAAO,cAAc;IACR,MAAM,CAA4B;IAC3C,eAAe,GAAa,EAAE,CAAC,CAAC,6BAA6B;IACpD,iBAAiB,CAAS;IAE3C;;;;OAIG;IACH,YAAY,oBAA4B,IAAI,EAAE,WAAuC;QACnF,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,WAAW,IAAI;YAC3B,aAAa,EAAE,IAAI,GAAG,EAAU;YAChC,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;SAC3C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,gBAAgB;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAW,EAAE,OAAe,EAAE,cAAuB,KAAK;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CACV,8EAA8E,CAC/E,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,GAAG,IAAI,CAAC;YACpD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,GAAW,EAAE,OAAe;QACzC,MAAM,SAAS,GAAG,IAAI,GAAG,GAAG,CAAC;QAC7B,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,GAAG,KAAK,CAAC;IACrD,CAAC;CACF;AA6CD,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;CACzE,CAAC;AAEX,MAAM,gBAAgB,GAAqB;IACzC;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,2TAA2T;YAC3T,iRAAiR;YACjR,kNAAkN;YAClN,oGAAoG;YACpG,0JAA0J;YAC1J,oGAAoG;YACpG,6HAA6H;YAC7H,kGAAkG;YAClG,+DAA+D;YAC/D,yFAAyF;YACzF,0BAA0B;YAC1B,uFAAuF;YACvF,0EAA0E;YAC1E,+DAA+D;YAC/D,gEAAgE;YAChE,2FAA2F;YAC3F,uBAAuB;YACvB,gNAAgN;YAChN,gMAAgM;YAChM,8OAA8O;YAC9O,iMAAiM;QACnM,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+GAA+G;wBAC/G,oEAAoE;wBACpE,uEAAuE;iBAC1E;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;oBACX,WAAW,EACT,+IAA+I;iBAClJ;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,+FAA+F;wBAC/F,+FAA+F;wBAC/F,4EAA4E;iBAC/E;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,2HAA2H;iBAC9H;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2EAA2E;iBACzF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;oBAC7C,WAAW,EACT,4PAA4P;iBAC/P;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,oCAAoC;oBAC7C,WAAW,EACT,6FAA6F;iBAChG;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,IAAI;oBAC1B,UAAU,EAAE;wBACV,YAAY,EAAE;4BACZ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,kCAAkC;4BAC3C,WAAW,EACT,8JAA8J;yBACjK;wBACD,aAAa,EAAE;4BACb,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,WAAW,EAAE,oDAAoD;yBAClE;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gEAAgE;yBAC9E;qBACF;iBACF;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,IAAI;oBAC1B,WAAW,EACT,2SAA2S;iBAC9S;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,GAAG,qBAAqB,CAAC;oBAChC,WAAW,EACT,2OAA2O;iBAC9O;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yMAAyM;YACzM,+KAA+K;YAC/K,mLAAmL;QACrL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;YAChC,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;gBACtF,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,MAAM,CAAC;wBAClB,oBAAoB,EAAE,IAAI;wBAC1B,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;qBACF;iBACF;gBACD,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBAClF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,uNAAuN;YACvN,2bAA2b;YAC3b,sOAAsO;YACtO,uBAAuB;YACvB,6KAA6K;YAC7K,sRAAsR;YACtR,wMAAwM;QAC1M,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,6FAA6F;wBAC7F,uFAAuF;wBACvF,+CAA+C;iBAClD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,oCAAoC;oBAC7C,WAAW,EAAE,uEAAuE;iBACrF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;oBACZ,WAAW,EACT,kFAAkF;iBACrF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;oBAC7C,WAAW,EACT,4PAA4P;iBAC/P;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,6GAA6G;iBAChH;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,IAAI;oBAC1B,WAAW,EACT,iSAAiS;iBACpS;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,wKAAwK;YACxK,yVAAyV;YACzV,2DAA2D;YAC3D,sFAAsF;YACtF,4CAA4C;YAC5C,wFAAwF;YACxF,oJAAoJ;YACpJ,6PAA6P;QAC/P,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBACxC,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,wFAAwF;iBAC3F;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,2FAA2F;iBAC9F;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;oBACzC,WAAW,EACT,oNAAoN;iBACvN;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,0JAA0J;YAC1J,iNAAiN;YACjN,8KAA8K;QAChL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBACzC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;gBAC5D,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACtC;SACF;KACF;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,eAAe,EAAE,YAAY;IAC7B,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd;CACO,CAAC;AAEX,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAsB;QAChC,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;KAC5D,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/D,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;QAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAE5D,yDAAyD;IACzD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED,4CAA4C;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,+DAA+D;IAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAEvD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,6BAA6B;QAC7B,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,KAAK;gBAC1C,uBAAuB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1D,4DAA4D;QAC5D,MAAM,CAAC,aAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAqD,CAAC;IACzF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAsB,EAAE;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;IACF,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IAC3D,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;IACrD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACzE,MAAM,uBAAuB,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,CAAC;IACzF,IAAI,OAAO,uBAAuB,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,kBAAkB,GAAG,uBAAuB,CAAC;IACtD,CAAC;IACD,uCAAuC;IACvC,MAAM,UAAU,GAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1E,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAuB,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAuB,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,IAAI,wBAAwB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAsB,EAAE;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU;QAC/D,CAAC,CAAE,MAAM,CAAC,SAAoC;QAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,eAAe,GACnB,OAAO,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;IACxD,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1D,IAAI,eAAe,KAAK,SAAS;QAAE,MAAM,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,OAAsB;IACtE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;IAEF,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;IACxC,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,eAAe,GAAG,cAAyC,CAAC;QAClE,MAAM,SAAS,GAAqC,EAAE,CAAC;QACvD,IAAI,OAAO,eAAe,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrD,SAAS,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,MAAM,CACvD,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,SAAS,CAAC,aAAa,GAAG,YAAY,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,eAAe,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClD,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK;iBAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC/D,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,IACE,SAAS,CAAC,YAAY;YACtB,SAAS,CAAC,aAAa;YACvB,SAAS,CAAC,SAAS;YACnB,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/C,CAAC;YACD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,gCAAgC;IAChC,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;IAC1C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,KAAK;gBAC1C,uBAAuB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK;aAChC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aACjD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvB,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC;IACxC,CAAC;IAED,+DAA+D;IAC/D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,qDAAqD;QAE5E,mEAAmE;QACnE,0DAA0D;QAC1D,OAAO,CAAC,cAAc,CAAC,QAAQ,CAC7B,wBAAwB,EACxB,yDAAyD;YACvD,mDAAmD;YACnD,+BAA+B,EACjC,IAAI,CAAC,sBAAsB;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,uBAAuB,CAAC;IAC7F,IAAI,OAAO,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAqD,CAAC;IACzF,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC;YAC3F,IAAI,uBAAuB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,QAAQ,GAAG,kBAAkB,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,cAAc,CAAC,cAAc,CACnC,kBAAkB,EAClB,aAAa,eAAe,qCAAqC,qBAAqB,CAAC,IAAI,CACzF,IAAI,CACL,0BAA0B,CAC5B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,MAAM,GAAyB;QACnC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACxD,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,eAAe,GAAG,SAAoC,CAAC;YAC7D,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClF,SAAS;YACX,CAAC;YACD,MAAM,cAAc,GAA+C;gBACjE,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B,CAAC;YACF,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxF,cAAc,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;YAC/C,CAAC;YACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC;IACxB,CAAC;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAmB,EAAE,MAAe;IAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAA0B,EAC1B,OAAe,EACf,IAAI,GAAG,CAAC,KAAK;IAEb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,6DAA6D,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAWD,4CAA4C;AAC5C,KAAK,UAAU,iBAAiB,CAC9B,QAAgB,EAChB,UAAmB,EACnB,OAAsB,EACtB,OAA0B,EAC1B,YAAqB;IAErB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACrF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACvF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3C,8DAA8D;gBAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;gBAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAClE,MAAM,MAAM,GAAG;wBACb,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,IAAI,EAAE,IAAI;wBACV,GAAG,EAAE,IAAI;wBACT,KAAK,EAAE,CAAC;qBACT,CAAC;oBACF,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvE,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACjF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACjF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACpE,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAAoC;IAEpC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;IACzE,MAAM,mBAAmB,GAAG,GAAkB,EAAE;QAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACrD,cAAc,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC;IACxC,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,OAAuB,EAAmC,EAAE;QACxE,MAAM,aAAa,GAAG,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC;QACvF,IAAI,CAAC;YACH,IAAI,MAAe,CAAC;YAEpB,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,GAAG,kBAAkB,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,yDAAyD;oBACzD,MAAM,GAAG;wBACP,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,WAAW;wBACvB,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;wBACxB,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;wBACzE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;qBACpE,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,sEAAsE;oBACtE,MAAM,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;oBACrC,MAAM;gBACR,CAAC;gBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,0DAA0D;oBAC1D,MAAM,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;oBAC3B,MAAM;gBACR,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,+BAA+B;oBAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAoD,CAAC;oBAClF,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACtD,OAAO,aAAa;4BAClB,CAAC,CAAC;gCACE,UAAU,EAAE,GAAG;gCACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,4DAA4D,EAC5D,CAAC,KAAK,CACP;6BACF;4BACH,CAAC,CAAC,IAAI,CAAC;oBACX,CAAC;oBAED,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;oBACnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACjC,OAAO,aAAa;4BAClB,CAAC,CAAC;gCACE,UAAU,EAAE,GAAG;gCACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,4DAA4D,EAC5D,CAAC,KAAK,CACP;6BACF;4BACH,CAAC,CAAC,IAAI,CAAC;oBACX,CAAC;oBAED,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;oBACnD,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAE5C,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,QAAQ,EACR,aAAa,EACb,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;wBAEF,iCAAiC;wBACjC,MAAM,SAAS,GAAkB;4BAC/B,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;iCAC1C;6BACF;4BACD,OAAO,EAAE,KAAK;yBACf,CAAC;wBACF,MAAM,GAAG,SAAS,CAAC;oBACrB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,oDAAoD;wBACpD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK;4BACpB,CAAC,CAAC,KAAK,CAAC,OAAO;4BACf,CAAC,CAAC,uDAAuD,CAAC;wBAE9D,MAAM,cAAc,GAAkB;4BACpC,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,YAAY;iCACnB;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;wBACF,MAAM,GAAG,cAAc,CAAC;oBAC1B,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,2DAA2D;gBAC3D,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,iBAAiB,CAC9B,gBAAgB,EAChB,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;wBACxD,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,MAAM,GAAG,MAAM,iBAAiB,CAC9B,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,MAAM,GAAG,MAAM,iBAAiB,CAC9B,cAAc,EACd,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,MAAM,GAAG,MAAM,iBAAiB,CAC9B,cAAc,EACd,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,MAAM,GAAG,MAAM,iBAAiB,CAC9B,cAAc,EACd,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,aAAa;wBAClB,CAAC,CAAC;4BACE,UAAU,EAAE,GAAG;4BACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,qJAAqJ,EACrJ,CAAC,KAAK,CACP;yBACF;wBACH,CAAC,CAAC,IAAI,CAAC;gBACX,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAChF,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAAqB,EAAE,MAAM,CAAC,MAAM,CAAC;aACxE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5C,OAAO,aAAa;oBAClB,CAAC,CAAC;wBACE,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,8FAA8F,CAC/F;qBACF;oBACH,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3C,OAAO,aAAa;oBAClB,CAAC,CAAC;wBACE,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,OAAO,CAAC,OAAO,CAAC,MAAM;4BACpB,CAAC,CAAC,2BAA2B,OAAO,CAAC,OAAO,CAAC,MAAM,qCAAqC;4BACxF,CAAC,CAAC,qDAAqD,CAC1D;qBACF;oBACH,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YACD,MAAM,OAAO,GACX,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,oEAAoE,CAAC;YAC3E,OAAO,aAAa;gBAClB,CAAC,CAAC;oBACE,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAAqB,EAAE,OAAO,CAAC;iBAChE;gBACH,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/server/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAOL,aAAa,EACb,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,uBAAuB,GAAG,CAAC,MAAM,CAAC,CAAC;AAgBzC,MAAM,OAAO,cAAc;IACR,MAAM,CAA4B;IAC3C,eAAe,GAAa,EAAE,CAAC,CAAC,6BAA6B;IACpD,iBAAiB,CAAS;IAE3C;;;;OAIG;IACH,YAAY,oBAA4B,IAAI,EAAE,WAAuC;QACnF,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,WAAW,IAAI;YAC3B,aAAa,EAAE,IAAI,GAAG,EAAU;YAChC,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;SAC3C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,gBAAgB;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAW,EAAE,OAAe,EAAE,cAAuB,KAAK;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CACV,8EAA8E,CAC/E,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,GAAG,IAAI,CAAC;YACpD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,GAAW,EAAE,OAAe;QACzC,MAAM,SAAS,GAAG,IAAI,GAAG,GAAG,CAAC;QAC7B,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,GAAG,KAAK,CAAC;IACrD,CAAC;CACF;AA6CD,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;CACzE,CAAC;AAEX,MAAM,gBAAgB,GAAqB;IACzC;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,2TAA2T;YAC3T,iRAAiR;YACjR,kNAAkN;YAClN,oGAAoG;YACpG,0JAA0J;YAC1J,oGAAoG;YACpG,6HAA6H;YAC7H,kGAAkG;YAClG,+DAA+D;YAC/D,yFAAyF;YACzF,0BAA0B;YAC1B,uFAAuF;YACvF,0EAA0E;YAC1E,+DAA+D;YAC/D,gEAAgE;YAChE,2FAA2F;YAC3F,uBAAuB;YACvB,gNAAgN;YAChN,gMAAgM;YAChM,8OAA8O;YAC9O,iMAAiM;QACnM,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+GAA+G;wBAC/G,oEAAoE;wBACpE,uEAAuE;iBAC1E;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;oBACX,WAAW,EACT,+IAA+I;iBAClJ;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,+FAA+F;wBAC/F,+FAA+F;wBAC/F,4EAA4E;iBAC/E;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,2HAA2H;iBAC9H;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2EAA2E;iBACzF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC;oBACrD,WAAW,EACT,wUAAwU;iBAC3U;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,oCAAoC;oBAC7C,WAAW,EACT,6FAA6F;iBAChG;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,IAAI;oBAC1B,UAAU,EAAE;wBACV,YAAY,EAAE;4BACZ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,kCAAkC;4BAC3C,WAAW,EACT,8JAA8J;yBACjK;wBACD,aAAa,EAAE;4BACb,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,WAAW,EAAE,oDAAoD;yBAClE;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gEAAgE;yBAC9E;qBACF;iBACF;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,IAAI;oBAC1B,WAAW,EACT,2SAA2S;iBAC9S;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,GAAG,qBAAqB,CAAC;oBAChC,WAAW,EACT,2OAA2O;iBAC9O;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yMAAyM;YACzM,+KAA+K;YAC/K,mLAAmL;QACrL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;YAChC,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;gBACtF,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,MAAM,CAAC;wBAClB,oBAAoB,EAAE,IAAI;wBAC1B,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;qBACF;iBACF;gBACD,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBAClF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,uNAAuN;YACvN,2bAA2b;YAC3b,sOAAsO;YACtO,uBAAuB;YACvB,6KAA6K;YAC7K,sRAAsR;YACtR,wMAAwM;QAC1M,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,6FAA6F;wBAC7F,uFAAuF;wBACvF,+CAA+C;iBAClD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,oCAAoC;oBAC7C,WAAW,EAAE,uEAAuE;iBACrF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;oBACZ,WAAW,EACT,kFAAkF;iBACrF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC;oBACrD,WAAW,EACT,wUAAwU;iBAC3U;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,6GAA6G;iBAChH;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,IAAI;oBAC1B,WAAW,EACT,iSAAiS;iBACpS;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,wKAAwK;YACxK,yVAAyV;YACzV,2DAA2D;YAC3D,sFAAsF;YACtF,4CAA4C;YAC5C,wFAAwF;YACxF,oJAAoJ;YACpJ,6PAA6P;QAC/P,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBACxC,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,wFAAwF;iBAC3F;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,2FAA2F;iBAC9F;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;oBACzC,WAAW,EACT,oNAAoN;iBACvN;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,0JAA0J;YAC1J,iNAAiN;YACjN,8KAA8K;QAChL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBACzC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;gBAC5D,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACtC;SACF;KACF;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,eAAe,EAAE,YAAY;IAC7B,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd;CACO,CAAC;AAEX,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAsB;QAChC,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;KAC5D,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/D,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;QAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAE5D,yDAAyD;IACzD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED,4CAA4C;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,+DAA+D;IAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAEvD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,6BAA6B;QAC7B,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,KAAK;gBAC1C,uBAAuB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1D,4DAA4D;QAC5D,MAAM,CAAC,aAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAqD,CAAC;IACzF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAsB,EAAE;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;IACF,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IAC3D,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;IACrD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACzE,MAAM,uBAAuB,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,CAAC;IACzF,IAAI,OAAO,uBAAuB,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,kBAAkB,GAAG,uBAAuB,CAAC;IACtD,CAAC;IACD,uCAAuC;IACvC,MAAM,UAAU,GAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1E,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAuB,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAuB,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,IAAI,wBAAwB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAsB,EAAE;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU;QAC/D,CAAC,CAAE,MAAM,CAAC,SAAoC;QAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,eAAe,GACnB,OAAO,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;IACxD,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1D,IAAI,eAAe,KAAK,SAAS;QAAE,MAAM,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,OAAsB;IACtE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;IAEF,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;IACxC,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,eAAe,GAAG,cAAyC,CAAC;QAClE,MAAM,SAAS,GAAqC,EAAE,CAAC;QACvD,IAAI,OAAO,eAAe,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrD,SAAS,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,MAAM,CACvD,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,SAAS,CAAC,aAAa,GAAG,YAAY,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,eAAe,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClD,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK;iBAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC/D,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,IACE,SAAS,CAAC,YAAY;YACtB,SAAS,CAAC,aAAa;YACvB,SAAS,CAAC,SAAS;YACnB,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/C,CAAC;YACD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,gCAAgC;IAChC,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;IAC1C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,KAAK;gBAC1C,uBAAuB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK;aAChC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aACjD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvB,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC;IACxC,CAAC;IAED,+DAA+D;IAC/D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,qDAAqD;QAE5E,mEAAmE;QACnE,0DAA0D;QAC1D,OAAO,CAAC,cAAc,CAAC,QAAQ,CAC7B,wBAAwB,EACxB,yDAAyD;YACvD,mDAAmD;YACnD,+BAA+B,EACjC,IAAI,CAAC,sBAAsB;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,uBAAuB,CAAC;IAC7F,IAAI,OAAO,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAqD,CAAC;IACzF,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC;YAC3F,IAAI,uBAAuB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,QAAQ,GAAG,kBAAkB,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,cAAc,CAAC,cAAc,CACnC,kBAAkB,EAClB,aAAa,eAAe,qCAAqC,qBAAqB,CAAC,IAAI,CACzF,IAAI,CACL,0BAA0B,CAC5B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,MAAM,GAAyB;QACnC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACxD,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,eAAe,GAAG,SAAoC,CAAC;YAC7D,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClF,SAAS;YACX,CAAC;YACD,MAAM,cAAc,GAA+C;gBACjE,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B,CAAC;YACF,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxF,cAAc,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;YAC/C,CAAC;YACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC;IACxB,CAAC;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAmB,EAAE,MAAe;IAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAA0B,EAC1B,OAAe,EACf,IAAI,GAAG,CAAC,KAAK;IAEb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,6DAA6D,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAWD,4CAA4C;AAC5C,KAAK,UAAU,iBAAiB,CAC9B,QAAgB,EAChB,UAAmB,EACnB,OAAsB,EACtB,OAA0B,EAC1B,YAAqB;IAErB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACrF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACvF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3C,8DAA8D;gBAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;gBAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAClE,MAAM,MAAM,GAAG;wBACb,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,IAAI,EAAE,IAAI;wBACV,GAAG,EAAE,IAAI;wBACT,KAAK,EAAE,CAAC;qBACT,CAAC;oBACF,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvE,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACjF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACjF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACpE,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAAoC;IAEpC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;IACzE,MAAM,mBAAmB,GAAG,GAAkB,EAAE;QAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACrD,cAAc,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC;IACxC,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,OAAuB,EAAmC,EAAE;QACxE,MAAM,aAAa,GAAG,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC;QACvF,IAAI,CAAC;YACH,IAAI,MAAe,CAAC;YAEpB,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,GAAG,kBAAkB,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,yDAAyD;oBACzD,MAAM,GAAG;wBACP,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,WAAW;wBACvB,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;wBACxB,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;wBACzE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;qBACpE,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,sEAAsE;oBACtE,MAAM,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;oBACrC,MAAM;gBACR,CAAC;gBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,0DAA0D;oBAC1D,MAAM,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;oBAC3B,MAAM;gBACR,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,+BAA+B;oBAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAoD,CAAC;oBAClF,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACtD,OAAO,aAAa;4BAClB,CAAC,CAAC;gCACE,UAAU,EAAE,GAAG;gCACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,4DAA4D,EAC5D,CAAC,KAAK,CACP;6BACF;4BACH,CAAC,CAAC,IAAI,CAAC;oBACX,CAAC;oBAED,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;oBACnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACjC,OAAO,aAAa;4BAClB,CAAC,CAAC;gCACE,UAAU,EAAE,GAAG;gCACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,4DAA4D,EAC5D,CAAC,KAAK,CACP;6BACF;4BACH,CAAC,CAAC,IAAI,CAAC;oBACX,CAAC;oBAED,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;oBACnD,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAE5C,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,QAAQ,EACR,aAAa,EACb,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;wBAEF,iCAAiC;wBACjC,MAAM,SAAS,GAAkB;4BAC/B,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;iCAC1C;6BACF;4BACD,OAAO,EAAE,KAAK;yBACf,CAAC;wBACF,MAAM,GAAG,SAAS,CAAC;oBACrB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,oDAAoD;wBACpD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK;4BACpB,CAAC,CAAC,KAAK,CAAC,OAAO;4BACf,CAAC,CAAC,uDAAuD,CAAC;wBAE9D,MAAM,cAAc,GAAkB;4BACpC,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,YAAY;iCACnB;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;wBACF,MAAM,GAAG,cAAc,CAAC;oBAC1B,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,2DAA2D;gBAC3D,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,iBAAiB,CAC9B,gBAAgB,EAChB,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;wBACxD,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,MAAM,GAAG,MAAM,iBAAiB,CAC9B,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,MAAM,GAAG,MAAM,iBAAiB,CAC9B,cAAc,EACd,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,MAAM,GAAG,MAAM,iBAAiB,CAC9B,cAAc,EACd,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;oBAC5C,MAAM,GAAG,MAAM,iBAAiB,CAC9B,cAAc,EACd,OAAO,CAAC,MAAM,EACd,aAAa,EACb,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,aAAa;wBAClB,CAAC,CAAC;4BACE,UAAU,EAAE,GAAG;4BACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,qJAAqJ,EACrJ,CAAC,KAAK,CACP;yBACF;wBACH,CAAC,CAAC,IAAI,CAAC;gBACX,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAChF,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAAqB,EAAE,MAAM,CAAC,MAAM,CAAC;aACxE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5C,OAAO,aAAa;oBAClB,CAAC,CAAC;wBACE,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,8FAA8F,CAC/F;qBACF;oBACH,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3C,OAAO,aAAa;oBAClB,CAAC,CAAC;wBACE,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,OAAO,CAAC,OAAO,CAAC,MAAM;4BACpB,CAAC,CAAC,2BAA2B,OAAO,CAAC,OAAO,CAAC,MAAM,qCAAqC;4BACxF,CAAC,CAAC,qDAAqD,CAC1D;qBACF;oBACH,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YACD,MAAM,OAAO,GACX,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,oEAAoE,CAAC;YAC3E,OAAO,aAAa;gBAClB,CAAC,CAAC;oBACE,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAAqB,EAAE,OAAO,CAAC;iBAChE;gBACH,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Global directory utilities for KIRI
3
+ *
4
+ * Provides XDG-compliant directory resolution for global resources like models and cache.
5
+ * Falls back to ~/.kiri/ when XDG variables are not set.
6
+ */
7
+ /**
8
+ * Get the base KIRI directory.
9
+ * Priority:
10
+ * 1. KIRI_HOME environment variable
11
+ * 2. XDG_DATA_HOME/kiri (Linux/macOS standard)
12
+ * 3. ~/.kiri (fallback)
13
+ */
14
+ export declare function getKiriHomeDir(): string;
15
+ /**
16
+ * Get the global models directory.
17
+ * Priority:
18
+ * 1. KIRI_VSS_MODEL_DIR environment variable
19
+ * 2. KIRI_HOME/models
20
+ * 3. XDG_CACHE_HOME/kiri/models
21
+ * 4. ~/.kiri/models
22
+ */
23
+ export declare function getModelsDir(): string;
24
+ /**
25
+ * Get the global cache directory.
26
+ * Priority:
27
+ * 1. KIRI_CACHE_DIR environment variable
28
+ * 2. XDG_CACHE_HOME/kiri
29
+ * 3. ~/.kiri/cache
30
+ */
31
+ export declare function getCacheDir(): string;
32
+ /**
33
+ * Get the path to a specific model directory.
34
+ * @param modelName - Name of the model (e.g., "codebert-base")
35
+ */
36
+ export declare function getModelPath(modelName: string): string;
37
+ /**
38
+ * Check if a model is installed.
39
+ * @param modelName - Name of the model to check
40
+ */
41
+ export declare function isModelInstalled(modelName: string): boolean;
42
+ /**
43
+ * Ensure a directory exists, creating it if necessary.
44
+ * @param dirPath - Path to the directory
45
+ */
46
+ export declare function ensureDir(dirPath: string): void;
47
+ /**
48
+ * Ensure the models directory exists.
49
+ */
50
+ export declare function ensureModelsDir(): string;
51
+ /**
52
+ * Ensure the cache directory exists.
53
+ */
54
+ export declare function ensureCacheDir(): string;
55
+ /**
56
+ * Expand tilde (~) in a path to the user's home directory.
57
+ * @param path - Path that may contain tilde
58
+ */
59
+ export declare function expandTilde(path: string): string;
60
+ /**
61
+ * Get a list of installed models.
62
+ */
63
+ export declare function listInstalledModels(): string[];
64
+ //# sourceMappingURL=global-dirs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-dirs.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/global-dirs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAUvC;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAcrC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAUpC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAK3D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAY9C"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Global directory utilities for KIRI
3
+ *
4
+ * Provides XDG-compliant directory resolution for global resources like models and cache.
5
+ * Falls back to ~/.kiri/ when XDG variables are not set.
6
+ */
7
+ import { existsSync, mkdirSync, readdirSync, statSync } from "node:fs";
8
+ import { homedir } from "node:os";
9
+ import { join } from "node:path";
10
+ const KIRI_DIR_NAME = ".kiri";
11
+ const MODELS_DIR_NAME = "models";
12
+ const CACHE_DIR_NAME = "cache";
13
+ /**
14
+ * Get the base KIRI directory.
15
+ * Priority:
16
+ * 1. KIRI_HOME environment variable
17
+ * 2. XDG_DATA_HOME/kiri (Linux/macOS standard)
18
+ * 3. ~/.kiri (fallback)
19
+ */
20
+ export function getKiriHomeDir() {
21
+ if (process.env.KIRI_HOME) {
22
+ return process.env.KIRI_HOME;
23
+ }
24
+ if (process.env.XDG_DATA_HOME) {
25
+ return join(process.env.XDG_DATA_HOME, "kiri");
26
+ }
27
+ return join(homedir(), KIRI_DIR_NAME);
28
+ }
29
+ /**
30
+ * Get the global models directory.
31
+ * Priority:
32
+ * 1. KIRI_VSS_MODEL_DIR environment variable
33
+ * 2. KIRI_HOME/models
34
+ * 3. XDG_CACHE_HOME/kiri/models
35
+ * 4. ~/.kiri/models
36
+ */
37
+ export function getModelsDir() {
38
+ if (process.env.KIRI_VSS_MODEL_DIR) {
39
+ return expandTilde(process.env.KIRI_VSS_MODEL_DIR);
40
+ }
41
+ if (process.env.KIRI_HOME) {
42
+ return join(process.env.KIRI_HOME, MODELS_DIR_NAME);
43
+ }
44
+ if (process.env.XDG_CACHE_HOME) {
45
+ return join(process.env.XDG_CACHE_HOME, "kiri", MODELS_DIR_NAME);
46
+ }
47
+ return join(homedir(), KIRI_DIR_NAME, MODELS_DIR_NAME);
48
+ }
49
+ /**
50
+ * Get the global cache directory.
51
+ * Priority:
52
+ * 1. KIRI_CACHE_DIR environment variable
53
+ * 2. XDG_CACHE_HOME/kiri
54
+ * 3. ~/.kiri/cache
55
+ */
56
+ export function getCacheDir() {
57
+ if (process.env.KIRI_CACHE_DIR) {
58
+ return expandTilde(process.env.KIRI_CACHE_DIR);
59
+ }
60
+ if (process.env.XDG_CACHE_HOME) {
61
+ return join(process.env.XDG_CACHE_HOME, "kiri");
62
+ }
63
+ return join(homedir(), KIRI_DIR_NAME, CACHE_DIR_NAME);
64
+ }
65
+ /**
66
+ * Get the path to a specific model directory.
67
+ * @param modelName - Name of the model (e.g., "codebert-base")
68
+ */
69
+ export function getModelPath(modelName) {
70
+ return join(getModelsDir(), modelName);
71
+ }
72
+ /**
73
+ * Check if a model is installed.
74
+ * @param modelName - Name of the model to check
75
+ */
76
+ export function isModelInstalled(modelName) {
77
+ const modelPath = getModelPath(modelName);
78
+ // Check for essential files
79
+ const requiredFiles = ["config.json"];
80
+ return requiredFiles.every((file) => existsSync(join(modelPath, file)));
81
+ }
82
+ /**
83
+ * Ensure a directory exists, creating it if necessary.
84
+ * @param dirPath - Path to the directory
85
+ */
86
+ export function ensureDir(dirPath) {
87
+ if (!existsSync(dirPath)) {
88
+ mkdirSync(dirPath, { recursive: true });
89
+ }
90
+ }
91
+ /**
92
+ * Ensure the models directory exists.
93
+ */
94
+ export function ensureModelsDir() {
95
+ const dir = getModelsDir();
96
+ ensureDir(dir);
97
+ return dir;
98
+ }
99
+ /**
100
+ * Ensure the cache directory exists.
101
+ */
102
+ export function ensureCacheDir() {
103
+ const dir = getCacheDir();
104
+ ensureDir(dir);
105
+ return dir;
106
+ }
107
+ /**
108
+ * Expand tilde (~) in a path to the user's home directory.
109
+ * @param path - Path that may contain tilde
110
+ */
111
+ export function expandTilde(path) {
112
+ if (path.startsWith("~/")) {
113
+ return join(homedir(), path.slice(2));
114
+ }
115
+ if (path === "~") {
116
+ return homedir();
117
+ }
118
+ return path;
119
+ }
120
+ /**
121
+ * Get a list of installed models.
122
+ */
123
+ export function listInstalledModels() {
124
+ const modelsDir = getModelsDir();
125
+ if (!existsSync(modelsDir)) {
126
+ return [];
127
+ }
128
+ const entries = readdirSync(modelsDir);
129
+ return entries.filter((entry) => {
130
+ const entryPath = join(modelsDir, entry);
131
+ return statSync(entryPath).isDirectory() && isModelInstalled(entry);
132
+ });
133
+ }
134
+ //# sourceMappingURL=global-dirs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-dirs.js","sourceRoot":"","sources":["../../../../src/shared/utils/global-dirs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * VSS (Vector Semantic Search) Configuration
3
+ *
4
+ * Handles loading and validation of VSS settings from config files and environment variables.
5
+ */
6
+ /**
7
+ * Supported VSS models
8
+ *
9
+ * Model types:
10
+ * - "legacy": Original CodeBERT/UniXcoder models (requires manual ONNX conversion)
11
+ * - "transformers": Models with ONNX support via @huggingface/transformers
12
+ */
13
+ export declare const SUPPORTED_MODELS: readonly ["codebert-base", "unixcoder-base", "jina-embeddings-v2-base-code", "all-MiniLM-L6-v2"];
14
+ export type SupportedModel = (typeof SUPPORTED_MODELS)[number];
15
+ /**
16
+ * Model metadata including HuggingFace model ID and embedding dimensions
17
+ */
18
+ export interface ModelMetadata {
19
+ /** HuggingFace model ID */
20
+ hfModelId: string;
21
+ /** Embedding dimensions */
22
+ dims: number;
23
+ /** Whether the model has ONNX weights available */
24
+ hasOnnx: boolean;
25
+ /** Description */
26
+ description: string;
27
+ }
28
+ /**
29
+ * Model registry with metadata
30
+ */
31
+ export declare const MODEL_METADATA: Record<SupportedModel, ModelMetadata>;
32
+ /**
33
+ * Behavior when model is not found
34
+ */
35
+ export type OnMissingBehavior = "prompt" | "download" | "error" | "skip";
36
+ /**
37
+ * VSS configuration interface
38
+ */
39
+ export interface VSSConfig {
40
+ /** Whether VSS is enabled */
41
+ enabled: boolean;
42
+ /** Model name to use */
43
+ model: SupportedModel;
44
+ /** Directory where models are stored */
45
+ modelDir: string;
46
+ /** Behavior when model is not found */
47
+ onMissing: OnMissingBehavior;
48
+ /** Batch size for embedding generation */
49
+ batchSize: number;
50
+ }
51
+ /**
52
+ * Default VSS configuration
53
+ */
54
+ export declare const DEFAULT_VSS_CONFIG: VSSConfig;
55
+ /**
56
+ * Load complete VSS configuration
57
+ * Priority: Environment variables > Config file > Defaults
58
+ *
59
+ * @param overrides - Optional overrides (e.g., from CLI flags)
60
+ */
61
+ export declare function loadVSSConfig(overrides?: Partial<VSSConfig>): VSSConfig;
62
+ /**
63
+ * Check if VSS should be used based on configuration and model availability
64
+ */
65
+ export declare function shouldUseVSS(config: VSSConfig): boolean;
66
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vss/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,kGAOnB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,aAAa,CAyBhE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAMhC,CAAC;AA6KF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAUvE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAEvD"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * VSS (Vector Semantic Search) Configuration
3
+ *
4
+ * Handles loading and validation of VSS settings from config files and environment variables.
5
+ */
6
+ import { existsSync, readFileSync } from "node:fs";
7
+ import { join, dirname } from "node:path";
8
+ import { fileURLToPath } from "node:url";
9
+ import { expandTilde, getModelsDir } from "../shared/utils/global-dirs.js";
10
+ /**
11
+ * Supported VSS models
12
+ *
13
+ * Model types:
14
+ * - "legacy": Original CodeBERT/UniXcoder models (requires manual ONNX conversion)
15
+ * - "transformers": Models with ONNX support via @huggingface/transformers
16
+ */
17
+ export const SUPPORTED_MODELS = [
18
+ // Legacy models (CodeBERT/UniXcoder - no official ONNX)
19
+ "codebert-base",
20
+ "unixcoder-base",
21
+ // Transformers.js compatible models (with ONNX)
22
+ "jina-embeddings-v2-base-code",
23
+ "all-MiniLM-L6-v2",
24
+ ];
25
+ /**
26
+ * Model registry with metadata
27
+ */
28
+ export const MODEL_METADATA = {
29
+ "codebert-base": {
30
+ hfModelId: "microsoft/codebert-base",
31
+ dims: 768,
32
+ hasOnnx: false,
33
+ description: "Microsoft CodeBERT (no official ONNX)",
34
+ },
35
+ "unixcoder-base": {
36
+ hfModelId: "microsoft/unixcoder-base",
37
+ dims: 768,
38
+ hasOnnx: false,
39
+ description: "Microsoft UniXcoder (no official ONNX)",
40
+ },
41
+ "jina-embeddings-v2-base-code": {
42
+ hfModelId: "jinaai/jina-embeddings-v2-base-code",
43
+ dims: 768,
44
+ hasOnnx: true,
45
+ description: "Jina code embedding model (ONNX ready, 30+ languages)",
46
+ },
47
+ "all-MiniLM-L6-v2": {
48
+ hfModelId: "Xenova/all-MiniLM-L6-v2",
49
+ dims: 384,
50
+ hasOnnx: true,
51
+ description: "Lightweight general embedding model (ONNX ready)",
52
+ },
53
+ };
54
+ /**
55
+ * Default VSS configuration
56
+ */
57
+ export const DEFAULT_VSS_CONFIG = {
58
+ enabled: false,
59
+ model: "jina-embeddings-v2-base-code", // Default to ONNX-ready model
60
+ modelDir: getModelsDir(),
61
+ onMissing: "prompt",
62
+ batchSize: 32,
63
+ };
64
+ /**
65
+ * Environment variable names for VSS configuration
66
+ */
67
+ const ENV_VARS = {
68
+ enabled: "KIRI_VSS_ENABLED",
69
+ model: "KIRI_VSS_MODEL",
70
+ modelDir: "KIRI_VSS_MODEL_DIR",
71
+ onMissing: "KIRI_VSS_ON_MISSING",
72
+ batchSize: "KIRI_VSS_BATCH_SIZE",
73
+ };
74
+ /**
75
+ * Parse a boolean environment variable
76
+ */
77
+ function parseEnvBool(value, defaultValue) {
78
+ if (value === undefined)
79
+ return defaultValue;
80
+ return value === "1" || value.toLowerCase() === "true";
81
+ }
82
+ /**
83
+ * Parse an integer environment variable
84
+ */
85
+ function parseEnvInt(value, defaultValue) {
86
+ if (value === undefined)
87
+ return defaultValue;
88
+ const parsed = parseInt(value, 10);
89
+ return Number.isNaN(parsed) ? defaultValue : parsed;
90
+ }
91
+ /**
92
+ * Validate model name
93
+ */
94
+ function validateModel(model) {
95
+ if (SUPPORTED_MODELS.includes(model)) {
96
+ return model;
97
+ }
98
+ console.warn(`Unknown VSS model "${model}", falling back to "${DEFAULT_VSS_CONFIG.model}". ` +
99
+ `Supported models: ${SUPPORTED_MODELS.join(", ")}`);
100
+ return DEFAULT_VSS_CONFIG.model;
101
+ }
102
+ /**
103
+ * Validate on_missing behavior
104
+ */
105
+ function validateOnMissing(behavior) {
106
+ const valid = ["prompt", "download", "error", "skip"];
107
+ if (valid.includes(behavior)) {
108
+ return behavior;
109
+ }
110
+ console.warn(`Unknown on_missing behavior "${behavior}", falling back to "${DEFAULT_VSS_CONFIG.onMissing}". ` +
111
+ `Valid values: ${valid.join(", ")}`);
112
+ return DEFAULT_VSS_CONFIG.onMissing;
113
+ }
114
+ /**
115
+ * Simple YAML parser for VSS config section
116
+ * Note: This is a minimal parser for the vss section only
117
+ */
118
+ function parseVSSFromYaml(content) {
119
+ const result = {};
120
+ const lines = content.split("\n");
121
+ let inVSSSection = false;
122
+ for (const line of lines) {
123
+ // Check for vss: section start
124
+ if (/^vss:\s*$/.test(line)) {
125
+ inVSSSection = true;
126
+ continue;
127
+ }
128
+ // Check if we've left the vss section
129
+ if (inVSSSection && /^\S/.test(line) && !line.startsWith("#")) {
130
+ inVSSSection = false;
131
+ continue;
132
+ }
133
+ if (!inVSSSection)
134
+ continue;
135
+ // Skip comments and empty lines
136
+ if (/^\s*#/.test(line) || /^\s*$/.test(line))
137
+ continue;
138
+ // Parse key-value pairs
139
+ const match = line.match(/^\s{2}(\w+):\s*"?([^"#\n]+)"?\s*(?:#.*)?$/);
140
+ if (match) {
141
+ const [, key, value] = match;
142
+ const trimmedValue = value?.trim();
143
+ switch (key) {
144
+ case "enabled":
145
+ result.enabled = trimmedValue === "true";
146
+ break;
147
+ case "model":
148
+ result.model = validateModel(trimmedValue ?? "");
149
+ break;
150
+ case "model_dir":
151
+ result.modelDir = expandTilde(trimmedValue ?? "");
152
+ break;
153
+ case "on_missing":
154
+ result.onMissing = validateOnMissing(trimmedValue ?? "");
155
+ break;
156
+ case "batch_size":
157
+ result.batchSize = parseInt(trimmedValue ?? "32", 10);
158
+ break;
159
+ }
160
+ }
161
+ }
162
+ return result;
163
+ }
164
+ /**
165
+ * Load VSS configuration from config file
166
+ */
167
+ function loadFromConfigFile() {
168
+ const __dirname = dirname(fileURLToPath(import.meta.url));
169
+ // Try multiple config file locations
170
+ const configPaths = [
171
+ process.env.KIRI_CONFIG,
172
+ join(process.cwd(), "config", "default.yml"),
173
+ join(__dirname, "../../config/default.yml"),
174
+ join(__dirname, "../../../config/default.yml"),
175
+ ].filter((p) => p !== undefined);
176
+ for (const configPath of configPaths) {
177
+ if (existsSync(configPath)) {
178
+ try {
179
+ const content = readFileSync(configPath, "utf-8");
180
+ return parseVSSFromYaml(content);
181
+ }
182
+ catch {
183
+ // Continue to next config file
184
+ }
185
+ }
186
+ }
187
+ return {};
188
+ }
189
+ /**
190
+ * Load VSS configuration from environment variables
191
+ */
192
+ function loadFromEnv() {
193
+ const result = {};
194
+ if (process.env[ENV_VARS.enabled] !== undefined) {
195
+ result.enabled = parseEnvBool(process.env[ENV_VARS.enabled], DEFAULT_VSS_CONFIG.enabled);
196
+ }
197
+ if (process.env[ENV_VARS.model] !== undefined) {
198
+ result.model = validateModel(process.env[ENV_VARS.model] ?? "");
199
+ }
200
+ if (process.env[ENV_VARS.modelDir] !== undefined) {
201
+ result.modelDir = expandTilde(process.env[ENV_VARS.modelDir] ?? "");
202
+ }
203
+ if (process.env[ENV_VARS.onMissing] !== undefined) {
204
+ result.onMissing = validateOnMissing(process.env[ENV_VARS.onMissing] ?? "");
205
+ }
206
+ if (process.env[ENV_VARS.batchSize] !== undefined) {
207
+ result.batchSize = parseEnvInt(process.env[ENV_VARS.batchSize], DEFAULT_VSS_CONFIG.batchSize);
208
+ }
209
+ return result;
210
+ }
211
+ /**
212
+ * Load complete VSS configuration
213
+ * Priority: Environment variables > Config file > Defaults
214
+ *
215
+ * @param overrides - Optional overrides (e.g., from CLI flags)
216
+ */
217
+ export function loadVSSConfig(overrides) {
218
+ const fromFile = loadFromConfigFile();
219
+ const fromEnv = loadFromEnv();
220
+ return {
221
+ ...DEFAULT_VSS_CONFIG,
222
+ ...fromFile,
223
+ ...fromEnv,
224
+ ...overrides,
225
+ };
226
+ }
227
+ /**
228
+ * Check if VSS should be used based on configuration and model availability
229
+ */
230
+ export function shouldUseVSS(config) {
231
+ return config.enabled;
232
+ }
233
+ //# sourceMappingURL=config.js.map