@mirascript/monaco 0.1.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 (95) hide show
  1. package/dist/basic/index.d.ts +6 -0
  2. package/dist/basic/index.d.ts.map +1 -0
  3. package/dist/basic/index.js +10 -0
  4. package/dist/basic/index.js.map +6 -0
  5. package/dist/basic/language-configuration.d.ts +5 -0
  6. package/dist/basic/language-configuration.d.ts.map +1 -0
  7. package/dist/basic/tokens-provider.d.ts +4 -0
  8. package/dist/basic/tokens-provider.d.ts.map +1 -0
  9. package/dist/chunk-CEFEXBF7.js +65 -0
  10. package/dist/chunk-CEFEXBF7.js.map +6 -0
  11. package/dist/chunk-PTNWRTNM.js +474 -0
  12. package/dist/chunk-PTNWRTNM.js.map +6 -0
  13. package/dist/constants.d.ts +20 -0
  14. package/dist/constants.d.ts.map +1 -0
  15. package/dist/contribute.d.ts +3 -0
  16. package/dist/contribute.d.ts.map +1 -0
  17. package/dist/index.d.ts +26 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +83 -0
  20. package/dist/index.js.map +6 -0
  21. package/dist/lsp/compile-result.d.ts +150 -0
  22. package/dist/lsp/compile-result.d.ts.map +1 -0
  23. package/dist/lsp/diagnostics.d.ts +5 -0
  24. package/dist/lsp/diagnostics.d.ts.map +1 -0
  25. package/dist/lsp/index.d.ts +21 -0
  26. package/dist/lsp/index.d.ts.map +1 -0
  27. package/dist/lsp/index.js +2285 -0
  28. package/dist/lsp/index.js.map +6 -0
  29. package/dist/lsp/providers/base.d.ts +21 -0
  30. package/dist/lsp/providers/base.d.ts.map +1 -0
  31. package/dist/lsp/providers/code-action-provider.d.ts +12 -0
  32. package/dist/lsp/providers/code-action-provider.d.ts.map +1 -0
  33. package/dist/lsp/providers/color-provider.d.ts +10 -0
  34. package/dist/lsp/providers/color-provider.d.ts.map +1 -0
  35. package/dist/lsp/providers/completion-item-provider.d.ts +21 -0
  36. package/dist/lsp/providers/completion-item-provider.d.ts.map +1 -0
  37. package/dist/lsp/providers/definition-reference-provider.d.ts +16 -0
  38. package/dist/lsp/providers/definition-reference-provider.d.ts.map +1 -0
  39. package/dist/lsp/providers/document-highlight-provider.d.ts +12 -0
  40. package/dist/lsp/providers/document-highlight-provider.d.ts.map +1 -0
  41. package/dist/lsp/providers/document-symbol-provider.d.ts +10 -0
  42. package/dist/lsp/providers/document-symbol-provider.d.ts.map +1 -0
  43. package/dist/lsp/providers/formatter-provider.d.ts +18 -0
  44. package/dist/lsp/providers/formatter-provider.d.ts.map +1 -0
  45. package/dist/lsp/providers/hover-provider.d.ts +12 -0
  46. package/dist/lsp/providers/hover-provider.d.ts.map +1 -0
  47. package/dist/lsp/providers/inlay-hints-provider.d.ts +10 -0
  48. package/dist/lsp/providers/inlay-hints-provider.d.ts.map +1 -0
  49. package/dist/lsp/providers/range-provider.d.ts +10 -0
  50. package/dist/lsp/providers/range-provider.d.ts.map +1 -0
  51. package/dist/lsp/providers/rename-provider.d.ts +12 -0
  52. package/dist/lsp/providers/rename-provider.d.ts.map +1 -0
  53. package/dist/lsp/providers/semantic-tokens-provider.d.ts +12 -0
  54. package/dist/lsp/providers/semantic-tokens-provider.d.ts.map +1 -0
  55. package/dist/lsp/providers/signature-help-provider.d.ts +12 -0
  56. package/dist/lsp/providers/signature-help-provider.d.ts.map +1 -0
  57. package/dist/lsp/utils.d.ts +37 -0
  58. package/dist/lsp/utils.d.ts.map +1 -0
  59. package/dist/lsp/worker-helper.d.ts +5 -0
  60. package/dist/lsp/worker-helper.d.ts.map +1 -0
  61. package/dist/lsp/worker.d.ts +22 -0
  62. package/dist/lsp/worker.d.ts.map +1 -0
  63. package/dist/lsp/worker.js +62 -0
  64. package/dist/lsp/worker.js.map +6 -0
  65. package/dist/monaco-api.d.ts +16 -0
  66. package/dist/monaco-api.d.ts.map +1 -0
  67. package/package.json +39 -0
  68. package/src/basic/index.ts +11 -0
  69. package/src/basic/language-configuration.ts +90 -0
  70. package/src/basic/tokens-provider.ts +358 -0
  71. package/src/constants.ts +56 -0
  72. package/src/contribute.ts +18 -0
  73. package/src/index.ts +71 -0
  74. package/src/lsp/compile-result.ts +518 -0
  75. package/src/lsp/diagnostics.ts +83 -0
  76. package/src/lsp/index.ts +84 -0
  77. package/src/lsp/providers/base.ts +40 -0
  78. package/src/lsp/providers/code-action-provider.ts +28 -0
  79. package/src/lsp/providers/color-provider.ts +129 -0
  80. package/src/lsp/providers/completion-item-provider.ts +497 -0
  81. package/src/lsp/providers/definition-reference-provider.ts +107 -0
  82. package/src/lsp/providers/document-highlight-provider.ts +71 -0
  83. package/src/lsp/providers/document-symbol-provider.ts +65 -0
  84. package/src/lsp/providers/formatter-provider.ts +81 -0
  85. package/src/lsp/providers/hover-provider.ts +150 -0
  86. package/src/lsp/providers/inlay-hints-provider.ts +121 -0
  87. package/src/lsp/providers/range-provider.ts +37 -0
  88. package/src/lsp/providers/rename-provider.ts +144 -0
  89. package/src/lsp/providers/semantic-tokens-provider.ts +166 -0
  90. package/src/lsp/providers/signature-help-provider.ts +119 -0
  91. package/src/lsp/utils.ts +322 -0
  92. package/src/lsp/worker-helper.ts +119 -0
  93. package/src/lsp/worker.ts +83 -0
  94. package/src/monaco-api.js +66 -0
  95. package/src/monaco-api.ts +18 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/lsp/providers/base.ts", "../../src/lsp/utils.ts", "../../src/lsp/compile-result.ts", "../../src/lsp/diagnostics.ts", "../../src/lsp/worker-helper.ts", "../../src/lsp/providers/code-action-provider.ts", "../../src/lsp/providers/color-provider.ts", "../../src/lsp/providers/completion-item-provider.ts", "../../src/lsp/providers/definition-reference-provider.ts", "../../src/lsp/providers/document-highlight-provider.ts", "../../src/lsp/providers/document-symbol-provider.ts", "../../src/lsp/providers/formatter-provider.ts", "../../src/lsp/providers/hover-provider.ts", "../../src/lsp/providers/inlay-hints-provider.ts", "../../src/lsp/providers/range-provider.ts", "../../src/lsp/providers/rename-provider.ts", "../../src/lsp/providers/semantic-tokens-provider.ts", "../../src/lsp/providers/signature-help-provider.ts", "../../src/lsp/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AACA,SAAS,wBAAwB;;;ACDjC,SAAS,sBAAsB;AAE/B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIG;AACP,SAAS,YAAY,mBAAmB,uBAAuB;AAO/D,SAAS,sBAAsB,MAAoD;AAC/E,MAAI,QAAQ,QAAS,CAAC,KAAK,UAAU,CAAC,KAAK,WAAa,QAAO,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC;AAChF,QAAM,aAA+B,CAAC;AACtC,QAAM,SAAS,OAAO,KAAK,KAAK,cAAc,CAAC,CAAC;AAChD,aAAW,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,GAAG;AAC9C,QAAI,OAAO,SAAS,GAAG,EAAG;AAC1B,WAAO,KAAK,GAAG;AAAA,EACnB;AACA,aAAW,OAAO,QAAQ;AACtB,UAAM,OAAO,KAAK,aAAa,GAAG,KAAK;AACvC,UAAM,MAAM,KAAK,SAAS,GAAG,KAAK;AAClC,eAAW,KAAK,CAAC,KAAK,OAAO,GAAG,GAAG,KAAK,IAAI,KAAK,KAAK,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;AAAA,EAC1F;AACA,SAAO;AACX;AACA,IAAM,YAAY;AAEX,SAAS,YACZ,IACA,MAMF;AACE,QAAM,SAAS,KAAK,MAAM,EAAE,KAAK;AACjC,QAAM,SAAS,sBAAsB,IAAI;AACzC,QAAM,UAAU,KAAK,cAAc,OAAO,KAAK,WAAW,KAAK;AAC/D,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA,WAAW;AACP,UAAI;AACJ,UACI,KAAK,OAAO,UAAU,MACrB,OAAO,SAAS,KAAK,QAAQ,SAAS,aACnC,OAAO,SAAS,KAAK,QAAQ,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,YAC1F;AACE,YAAI;AAAA,EAAM,OAAO,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA,MAC9D,OAAO;AACH,YAAI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,MACpD;AACA,aAAO,GAAG,MAAM,GAAG,CAAC,GAAG,KAAK,OAAO;AAAA,IACvC;AAAA,EACJ;AACJ;AAEO,SAAS,oBACZ,OACA,MACgB;AAChB,QAAM;AAAA,IACF;AAAA,IACA,OAAO,EAAE,OAAO;AAAA,EACpB,IAAI;AACJ,MAAI,OAAO,CAAC,GAAG,SAAS,eAAe,aAAa;AAChD,WAAO,OAAO,CAAC,EAAE,WAAW,SAAS,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,IAAI,CAAC;AAAA,EAC/D;AACA,SAAO,OAAO,IAAI,CAAC,GAAG,MAAM;AACxB,UAAM,OACF,EAAE,SAAS,eAAe,wBAC1B,EAAE,SAAS,eAAe,wBAC1B,EAAE,SAAS,eAAe;AAC9B,UAAM,cAAc,KAAK,OAAO,CAAC,QAAQ,MAAM,cAAc,EAAE,OAAO,IAAI,WAAW,KAAK,CAAC;AAC3F,UAAM,UACF,YAAY,WAAW,IACjB,OAAO,CAAC,KACR,YAAY,IAAI,CAAC,QAAQ,MAAM,gBAAgB,IAAI,WAAW,KAAK,CAAC,EAAE,KAAK,GAAG;AACxF,QAAI,KAAM,QAAO,CAAC,KAAK,OAAO,IAAI,KAAK,OAAO,IAAI,EAAE;AACpD,WAAO,CAAC,SAAS,SAAS,EAAE;AAAA,EAChC,CAAC;AACL;AAGO,SAAS,WAAW,OAA0B,MAAkE;AACnH,MAAI,CAAC,KAAM,QAAO;AAClB,MAAI,WAAW,MAAM;AACjB,WAAO,IAAI,oBAAoB,OAAO,IAAI,EACrC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EACf,KAAK,IAAI,CAAC;AAAA,EACnB,OAAO;AACH,QAAI,CAAC,KAAK,OAAQ,QAAO;AACzB,UAAM,aAAa,OAAO,KAAK,KAAK,MAAM,EAAE,KAAK,IAAI;AACrD,WAAO,IAAI,UAAU;AAAA,EACzB;AACJ;AAGO,SAAS,YAAY,MAAgC;AACxD,QAAM,MAAM,CAAC;AACb,MAAI,KAAK,SAAS;AACd,QAAI,KAAK,KAAK,OAAO;AAAA,EACzB;AACA,QAAM,WAAW,CAAC;AAClB,MAAI,KAAK,QAAQ;AACb,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,MAAM,GAAG;AACpD,UAAI,CAAC,MAAO;AACZ,eAAS,KAAK,OAAO,GAAG,OAAO,KAAK,EAAE;AAAA,IAC1C;AAAA,EACJ;AACA,MAAI,KAAK,SAAS;AACd,aAAS,KAAK,cAAc,KAAK,OAAO,EAAE;AAAA,EAC9C;AACA,MAAI,SAAS,QAAQ;AACjB,QAAI,KAAK,SAAS,KAAK,IAAI,CAAC;AAAA,EAChC;AACA,MAAI,KAAK,UAAU,QAAQ;AACvB,QAAI,MAAM;AACV,eAAW,WAAW,KAAK,UAAU;AACjC,aAAO,UAAU,OAAO;AAAA,IAC5B;AACA,QAAI,KAAK,GAAG;AAAA,EAChB;AACA,SAAO;AACX;AAGO,SAAS,UAAU,OAAuB;AAC7C,QAAM,gBAAgB,QAAQ,KAAK,KAAK;AACxC,QAAM,kBAAkB,gBAAgB,IAAI,OAAO,cAAc,CAAC,EAAE,SAAS,CAAC,IAAI;AAClF,SAAO;AAAA,EAAK,eAAe;AAAA,EAAe,KAAK;AAAA,EAAK,eAAe;AAAA;AACvE;AAGO,SAAS,uBAAuB,OAAe,UAA8B;AAChF,SAAO,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,iBAAiB,OAAO,QAAQ;AAC1E;AAGO,SAAS,OAAO,OAA0B,UAAiE;AAC9G,QAAM,OAAO,MAAM,kBAAkB,QAAQ;AAC7C,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,QAAQ,IAAI,MAAM,SAAS,YAAY,KAAK,aAAa,SAAS,YAAY,KAAK,SAAS;AAClG,SAAO,EAAE,MAAM,KAAK,MAAM,MAAM;AACpC;AAGA,SAAS,yBAAyB,OAAgB,UAA0B;AACxE,MAAI,WAAW,GAAI,YAAW;AAC9B,MAAI,OAAO,UAAU,UAAU;AAC3B,QAAI,MAAM,SAAS,UAAU;AACzB,aAAO,gBAAgB,KAAK;AAAA,IAChC;AACA,WAAO,GAAG,gBAAgB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC;AAAA,EACvD;AACA,MAAI,cAAc,KAAK,GAAG;AACtB,WAAO,UAAU,KAAK;AAAA,EAC1B;AACA,MAAI,UAAU,KAAK,GAAG;AAClB,UAAM,MAAM,MAAM;AAClB,QAAI,CAAC,IAAK,QAAO;AACjB,WAAO,UAAU,GAAG;AAAA,EACxB;AACA,MAAI,WAAW,KAAK,GAAG;AACnB,UAAM,MAAM,OAAO,KAAK,KAAK,EAAE;AAC/B,QAAI,CAAC,IAAK,QAAO;AACjB,WAAO,UAAU,GAAG;AAAA,EACxB;AACA,SAAO,MAAM,WAAW,UAAU,KAAK,CAAC;AAC5C;AAGO,SAAS,oBAAoB,OAAgB,aAAa,KAAK,WAAW,IAAY;AACzF,MAAI,cAAc,KAAK,KAAK,aAAa,KAAK,GAAG;AAC7C,WAAO,yBAAyB,OAAO,QAAQ;AAAA,EACnD;AACA,MAAI,OAAO;AACX,QAAM,UAAU,CAAC;AACjB,MAAI,eAAe;AACnB,MAAI,UAAU,KAAK,GAAG;AAClB,YAAQ;AACR,UAAM;AACN,eAAW,KAAK,OAAO;AACnB,UAAI,QAAQ,SAAS,YAAY;AAC7B,gBAAQ,KAAK,SAAS,MAAM,SAAS,QAAQ,MAAM,KAAK;AACxD;AAAA,MACJ;AACA,YAAM,QAAQ,yBAAyB,KAAK,MAAM,WAAW,CAAC;AAC9D,cAAQ,KAAK,KAAK;AAClB,sBAAgB,MAAM;AAAA,IAC1B;AAAA,EACJ,WAAW,WAAW,KAAK,GAAG;AAC1B,YAAQ;AACR,UAAM;AACN,UAAM,IAAI,OAAO,QAAQ,KAAK;AAC9B,eAAW,CAAC,KAAKA,MAAK,KAAK,GAAG;AAC1B,UAAI,QAAQ,SAAS,YAAY;AAC7B,gBAAQ,KAAK,SAAS,EAAE,SAAS,QAAQ,MAAM,KAAK;AACpD;AAAA,MACJ;AACA,YAAM,KAAK,kBAAkB,GAAG;AAChC,YAAM,QAAQ,GAAG,EAAE,KAAK,yBAAyBA,UAAS,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC;AACzF,cAAQ,KAAK,KAAK;AAClB,sBAAgB,MAAM;AAAA,IAC1B;AAAA,EACJ,OAAO;AACH,UAAM,OAAO,yBAAyB,OAAO,GAAG;AAChD,UAAM,UAAU,WAAW,KAAK,KAAK,MAAM,QAAQ,MAAM,KAAK;AAC9D,YAAQ,GAAG,IAAI,IAAI,UAAU,MAAM,GAAG;AACtC,UAAM,UAAU,MAAM;AACtB,UAAM,OAAO,MAAM,KAAK;AACxB,eAAW,CAAC,OAAO,GAAG,KAAK,KAAK,QAAQ,GAAG;AACvC,UAAI,QAAQ,SAAS,YAAY;AAC7B,gBAAQ,KAAK,SAAS,KAAK,SAAS,QAAQ,MAAM,KAAK;AACvD;AAAA,MACJ;AACA,UAAI;AACJ,UAAI,WAAW,OAAO,KAAK,MAAM,KAAK;AAElC,gBAAQ,yBAAyB,MAAM,IAAI,GAAG,KAAK,MAAM,WAAW,CAAC;AAAA,MACzE,OAAO;AACH,cAAM,KAAK,kBAAkB,GAAG;AAChC,gBAAQ,GAAG,EAAE,KAAK,yBAAyB,MAAM,IAAI,GAAG,KAAK,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC;AAAA,MAChG;AACA,cAAQ,KAAK,KAAK;AAClB,sBAAgB,MAAM;AAAA,IAC1B;AAAA,EACJ;AACA,MAAI,gBAAgB,UAAU;AAC1B,WAAO,GAAG,KAAK;AAAA,IAAO,QAAQ,KAAK,OAAO,CAAC;AAAA,EAAK,GAAG;AAAA,EACvD;AACA,SAAO,GAAG,KAAK,GAAG,QAAQ,KAAK,IAAI,CAAC,GAAG,GAAG;AAC9C;AAGO,SAAS,SACZ,MACA,OACA,MACiC;AACjC,QAAM,OAAO,kBAAkB,KAAK;AACpC,MAAI,MAAM;AACN,WAAO;AAAA,MACH,QAAQ,YAAY,MAAM,IAAI,EAAE,SAAS,KAAK,SAAS,YAAY,MAAM;AAAA,MACzE,KAAK,YAAY,IAAI;AAAA,IACzB;AAAA,EACJ;AACA,MAAI;AACJ,MAAI,SAAS;AACb,MAAI,SAAS,QAAQ;AACjB,aAAS,GAAG,IAAI;AAAA,EACpB,WAAW,SAAS,WAAW;AAC3B,QAAI,KAAK,WAAW,GAAG,GAAG;AACtB,eAAS,SAAS,IAAI;AAAA,IAC1B,OAAO;AACH,eAAS,OAAO,IAAI;AAAA,IACxB;AACA,aAAS;AAAA,EACb,WAAW,MAAM,KAAK,IAAI,GAAG;AACzB,aAAS,IAAI,IAAI;AAAA,EACrB,OAAO;AACH,aAAS,GAAG,IAAI;AAAA,EACpB;AACA,MAAI,WAAW,KAAK,GAAG;AACnB,UAAM,MAAM,QAAQ,MAAM,IAAI;AAC9B,QAAI;AACJ,QAAI,SAAS,WAAW;AACpB,YAAM,UAAU,MAAM,KAAK;AAC3B,eAAS;AACT,iBAAW,KAAK,SAAS;AACrB,cAAM,IAAI,MAAM,IAAI,CAAC;AACrB,cAAM,OAAO,SAAS,GAAG,GAAG,WAAW,CAAC,IAAI,UAAU,SAAS;AAC/D,cAAM,OAAO;AAAA,UACT;AAAA,UACA,GAAG,KAAK,IAAI,QAAQ,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,MAAM,IAAI,EAAE;AAAA,UACxE;AAAA,UACA,YAAY,KAAK;AAAA,UACjB;AAAA,UACA;AAAA,QACJ;AACA,kBAAU,KAAK,KAAK,IAAI;AAAA,MAC5B;AACA,eAAS,OAAO,QAAQ;AAAA,IAC5B,OAAO;AACH,eAAS,YAAY,MAAM,IAAI;AAC/B,UAAI,MAAM,SAAS,MAAM;AACrB,iBAAS,GAAG,MAAM,GAAG,MAAM;AAAA,MAC/B;AAAA,IACJ;AACA,WAAO,EAAE,QAAQ,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;AAAA,EAC3C;AACA,MAAI;AACJ,MAAI,UAAU,QAAW;AACrB,eAAW;AAAA,EACf,OAAO;AACH,eAAW,oBAAoB,OAAO,SAAS,YAAY,MAAO,KAAK,SAAS,YAAY,KAAK,EAAE;AAAA,EACvG;AACA,SAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,IAAI,KAAK,CAAC,EAAE;AAC9D;AAGO,SAAS,QAAQ,OAAc,MAAkC;AACpE,MAAI,UAAiB;AACrB,aAAW,OAAO,MAAM;AACpB,QAAI,WAAW,KAAM,QAAO;AAC5B,cAAU,WAAW,KAAK,SAAS,GAAG;AAAA,EAC1C;AACA,SAAO,WAAW;AACtB;;;AC7TA;AAAA,EACI;AAAA,EACA,kBAAAC;AAAA,OAGG;AAWA,IAAM,oBAAoB,CAACA,gBAAe,aAAa;AAIvD,IAAM,oBAAoB;AAAA,EAC7BA,gBAAe;AAAA,EACfA,gBAAe;AAAA,EACfA,gBAAe;AACnB;AAGO,IAAM,wBAAwB;AAAA,EACjCA,gBAAe;AAAA,EACfA,gBAAe;AAAA,EACfA,gBAAe;AAAA,EACfA,gBAAe;AACnB;AAGO,IAAM,0BAA0B;AAAA,EACnCA,gBAAe;AAAA,EACfA,gBAAe;AACnB;AAGO,IAAM,uBAAuB,CAACA,gBAAe,kBAAkBA,gBAAe,oBAAoB;AAGlG,IAAM,kBAAkB,CAACA,gBAAe,WAAW;AAGnD,IAAM,0BAA0B;AAAA,EACnC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACP;AAGO,IAAM,2BAA2B;AAAA,EACpC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACP;AAGO,IAAM,sBAAsB,CAAC,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,uBAAuB;AAsEnG,IAAM,gBAAN,MAAoB;AAAA,EACvB,YAEa,UAEA,SACA,QACA,QACX;AALW;AAEA;AACA;AACA;AAUb,SAAQ,mBAAmB;AAC3B,SAAQ,UAA6C,CAAC;AACtD,SAAQ,YAA+C,CAAC;AACxD,SAAQ,SAA4C,CAAC;AACrD,SAAQ,SAA4C,CAAC;AACrD,SAAQ,cAAgD,CAAC;AACzD,SAAQ,QAA2C,CAAC;AACpD,SAAQ,kBAAoD,CAAC;AAfzD,SAAK,cAAc,OAAO;AAC1B,SAAK,QAAQ,OAAO;AAAA,EACxB;AAAA;AAAA,EAeA,IAAI,SAAsC;AACtC,QAAI,CAAC,KAAK,kBAAkB;AACxB,WAAK,gBAAgB;AAAA,IACzB;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAEA,IAAI,WAAwC;AACxC,QAAI,CAAC,KAAK,kBAAkB;AACxB,WAAK,gBAAgB;AAAA,IACzB;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAEA,IAAI,QAAqC;AACrC,QAAI,CAAC,KAAK,kBAAkB;AACxB,WAAK,gBAAgB;AAAA,IACzB;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAEA,IAAI,QAAqC;AACrC,QAAI,CAAC,KAAK,kBAAkB;AACxB,WAAK,gBAAgB;AAAA,IACzB;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAEA,IAAI,aAAyC;AACzC,QAAI,CAAC,KAAK,kBAAkB;AACxB,WAAK,gBAAgB;AAAA,IACzB;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAEA,IAAI,OAAoC;AACpC,QAAI,CAAC,KAAK,kBAAkB;AACxB,WAAK,gBAAgB;AAAA,IACzB;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAEA,IAAI,iBAA6C;AAC7C,QAAI,CAAC,KAAK,kBAAkB;AACxB,WAAK,gBAAgB;AAAA,IACzB;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAEQ,kBAAwB;AAC5B,UAAM,SAAS,iBAAiB,KAAK,QAAQ,KAAK,WAAW;AAC7D,SAAK,UAAU,OAAO;AACtB,SAAK,YAAY,OAAO;AACxB,SAAK,SAAS,OAAO;AACrB,SAAK,SAAS,OAAO;AACrB,SAAK,QAAQ,OAAO;AACpB,SAAK,cAAc,OAAO;AAC1B,SAAK,kBAAkB,OAAO;AAC9B,SAAK,mBAAmB;AAAA,EAC5B;AAAA;AAAA,EAWA,YAAY,OAAiE;AACzE,QAAI,KAAK,cAAc;AACnB,aAAO,KAAK;AAAA,IAChB;AACA,UAAM,UAAU,CAAC,UAAsC;AACnD,UAAI,MAAM,aAAa,MAAM,KAAK,SAAS;AACvC,eAAO;AAAA,MACX;AACA,aAAO,MAAM,gBAAgB,KAAK;AAAA,IACtC;AACA,UAAM,SAAoD,CAAC;AAC3D,UAAM,SAA4D,CAAC;AACnE,UAAM,UAAsD,CAAC;AAC7D,UAAM,SAA4C,CAAC;AACnD,UAAM,iBAA+E,CAAC;AACtF,eAAW,OAAO,KAAK,MAAM;AAEzB,UAAI,yBAAyB,SAAS,IAAI,IAAgC,GAAG;AAEzE,eAAO,KAAK,GAAiD;AAAA,MACjE;AAEA,UAAI,oBAAoB,SAAS,IAAI,IAA2B,GAAG;AAC/D,eAAO,KAAK;AAAA,UACR,YAAY;AAAA,UACZ,YAAY,IAAI;AAAA,QACpB,CAAC;AAAA,MACL,WAAW,IAAI,SAASA,gBAAe,gBAAgB;AACnD,cAAM,OAAO,QAAQ,IAAI,KAAK;AAC9B,YAAI,MAAM,QAAQ,KAAK,CAACC,SAAQ,SAASA,KAAI,IAAI;AACjD,YAAI,CAAC,KAAK;AACN,gBAAM;AAAA,YACF,MAAM,QAAQ;AAAA,YACd,YAAY,CAAC;AAAA,UACjB;AACA,kBAAQ,KAAK,GAAG;AAAA,QACpB;AACA,QAAC,IAAI,WAAkC,KAAK,GAAG;AAAA,MACnD,WACI,IAAI,SAASD,gBAAe,SAC5B,IAAI,SAASA,gBAAe,UAC5B,IAAI,SAASA,gBAAe,iBAC5B,IAAI,SAASA,gBAAe,gBAC5B,IAAI,SAASA,gBAAe,eAC9B;AACE,eAAO,KAAK,GAAG;AAAA,MACnB,WAAW,IAAI,SAASA,gBAAe,sBAAsB;AACzD,uBAAe,KAAK,GAA4D;AAAA,MACpF;AAAA,IACJ;AAEA,IAAC,OAA6B;AAAA,MAAK,CAAC,GAAG,MACnC,MAAM,yBAAyB,EAAE,WAAW,OAAO,EAAE,WAAW,KAAK;AAAA,IACzE;AACA,WAAO,KAAK,CAAC,GAAG,MAAM,MAAM,yBAAyB,EAAE,OAAO,EAAE,KAAK,CAAC;AACtE,IAAC,QAA+B,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAC3E,WAAO,KAAK,CAAC,GAAG,MAAM,MAAM,yBAAyB,EAAE,OAAO,EAAE,KAAK,CAAC;AAEtE,SAAK,eAAe;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAGA,iBAAiB,OAA0B,UAAmD;AAC1F,UAAM,EAAE,QAAQ,IAAI,KAAK,YAAY,KAAK;AAC1C,eAAW,KAAK,SAAS;AACrB,YAAM,WAAW,EAAE,WAAW,UAAU,CAAC,MAAM,uBAAuB,EAAE,OAAO,QAAQ,CAAC;AACxF,UAAI,YAAY,GAAG;AACf,eAAO,EAAE,KAAK,GAAG,KAAK,UAAU,OAAO,EAAE,WAAW,QAAQ,EAAG,MAAM;AAAA,MACzE;AAAA,IACJ;AACA,SAAK,OAAO,KAAK;AACjB,UAAM,EAAE,OAAO,IAAI,KAAK,YAAY,KAAK;AACzC,eAAW,KAAK,QAAQ;AACpB,UAAI,uBAAuB,EAAE,WAAW,OAAO,QAAQ,GAAG;AACtD,eAAO,EAAE,KAAK,GAAG,KAAK,QAAW,OAAO,EAAE,WAAW,MAAM;AAAA,MAC/D;AACA,YAAM,WAAW,EAAE,WAAW,UAAU,CAAC,MAAM,uBAAuB,EAAE,OAAO,QAAQ,CAAC;AACxF,UAAI,YAAY,GAAG;AACf,eAAO,EAAE,KAAK,GAAG,KAAK,UAAU,OAAO,EAAE,WAAW,QAAQ,EAAG,MAAM;AAAA,MACzE;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA;AAAA,EAKA,OAAO,OAAkD;AACrD,QAAI,KAAK,SAAS;AACd,aAAO,KAAK;AAAA,IAChB;AACA,UAAM,EAAE,QAAQ,QAAQ,OAAO,IAAI,KAAK,YAAY,KAAK;AAGzD,UAAM,SAAS,OACV,OAAO,CAAC,MAAM,EAAE,SAASA,gBAAe,KAAK,EAC7C,IAAI,CAAC,MAAM;AACR,aAAO;AAAA,QACH,OAAO,EAAE;AAAA,QACT,QAAQ,CAAC;AAAA,QACT,QAAQ,CAAC;AAAA,QACT,QAAQ;AAAA,QACR,UAAU,CAAC;AAAA,MACf;AAAA,IACJ,CAAC;AAGL,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACpC,YAAM,SAAS,OAAO,CAAC;AACvB,UAAI;AACJ,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACpC,YAAI,MAAM,EAAG;AACb,cAAM,SAAS,OAAO,CAAC;AAEvB,cAAM,SAAS,OAAO;AACtB,cAAM,SAAS,OAAO;AACtB,cAAM,cAAc,MAAM,cAAc,QAAQ,MAAM;AACtD,YAAI,aAAa;AAEb,cAAI,CAAC,UAAU,MAAM,cAAc,OAAO,OAAO,MAAM,GAAG;AACtD,qBAAS;AAAA,UACb;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,QAAQ;AACR,YAAI,OAAO,WAAW,QAAQ;AAC1B;AAAA,QACJ;AACA,eAAO,SAAS;AAChB,QAAC,OAAO,SAAqC,KAAK,MAAM;AAAA,MAC5D;AAAA,IACJ;AAGA,UAAM,OAAO,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM;AAEzC,QAAI,CAAC,MAAM;AAEP,WAAK,UAAU;AAAA,QACX;AAAA,UACI,OAAO,MAAM,kBAAkB;AAAA,UAC/B,QAAQ,CAAC;AAAA,UACT,QAAQ,CAAC;AAAA,UACT,QAAQ;AAAA,UACR,UAAU,CAAC;AAAA,QACf;AAAA,MACJ;AACA,aAAO,KAAK;AAAA,IAChB;AACA,UAAM,QAAuB,CAAC,IAAI;AAClC,UAAM,eAA8B,CAAC;AACrC,WAAO,MAAM,SAAS,GAAG;AACrB,YAAM,QAAQ,MAAM,MAAM;AAC1B,mBAAa,KAAK,KAAK;AACvB,MAAC,MAAM,SAAqC;AAAA,QAAK,CAAC,GAAG,MACjD,MAAM,yBAAyB,EAAE,OAAO,EAAE,KAAK;AAAA,MACnD;AACA,iBAAW,SAAS,MAAM,UAAU;AAChC,cAAM,KAAK,KAAK;AAAA,MACpB;AAAA,IACJ;AAGA,eAAW,SAAS,QAAQ;AACxB,YAAM,EAAE,MAAM,IAAI,MAAM;AACxB,YAAM,QAAQ,aAAa,SAAS,CAAC,MAAM,MAAM,cAAc,EAAE,OAAO,KAAK,CAAC;AAC9E,UAAI,OAAO;AACP,QAAC,MAAM,OAAuC,KAAK,KAAK;AAAA,MAC5D;AAAA,IACJ;AACA,eAAW,SAAS,QAAQ;AACxB,YAAM,EAAE,MAAM,IAAI;AAClB,YAAM,QAAQ,aAAa,SAAS,CAAC,MAAM,MAAM,cAAc,EAAE,OAAO,KAAK,CAAC;AAC9E,UAAI,OAAO;AACP,QAAC,MAAM,OAA6D,KAAK,KAAK;AAAA,MAClF;AAAA,IACJ;AAGA,UAAM,WAAW,oBAAI,IAAkC;AACvD,eAAW,SAAS,cAAc;AAC9B,MAAC,MAAM,OAAuC;AAAA,QAAK,CAAC,GAAG,MACnD,MAAM,yBAAyB,EAAE,WAAW,OAAO,EAAE,WAAW,KAAK;AAAA,MACzE;AACA,MAAC,MAAM,OAA6D;AAAA,QAAK,CAAC,GAAG,MACzE,MAAM,yBAAyB,EAAE,OAAO,EAAE,KAAK;AAAA,MACnD;AACA,iBAAW,SAAS,MAAM,QAAQ;AAC9B,iBAAS,IAAI,OAAO,KAAK;AACzB,YAAI,MAAM,WAAW,SAASA,gBAAe,eAAe;AACxD,gBAAM,YAAY,MAAM,SAAS;AAAA,YAC7B,CAAC,MAAM,MAAM,yBAAyB,EAAE,OAAO,MAAM,WAAW,KAAK,IAAI;AAAA,UAC7E;AACA,cAAI,WAAW;AACX,kBAAM,OAAO,UAAU,OAAO;AAAA,cAAO,CAAC,MAClC,wBAAwB,SAAS,EAAE,WAAW,IAA+B;AAAA,YACjF;AACA,YAAC,MAAoC,KAAK;AAAA,cACtC,OAAO;AAAA,cACP;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,SAAK,YAAY;AACjB,SAAK,UAAU;AACf,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAGA,QAAQ,OAA0B,KAA+C;AAC7E,QAAI,CAAC,KAAK,WAAW;AACjB,WAAK,OAAO,KAAK;AAAA,IACrB;AACA,WAAO,KAAK,UAAW,IAAI,GAAG;AAAA,EAClC;AAAA;AAAA,EAGA,QAAQ,OAA0B,UAAkC;AAChE,UAAM,SAAS,KAAK,OAAO,KAAK;AAChC,QAAI,QAAQ,OAAO,SAAS,CAAC,MAAM,MAAM,iBAAiB,EAAE,OAAO,QAAQ,CAAC,KAAK,OAAO,CAAC;AACzF,WAAO,MAAM,SAAS,SAAS,GAAG;AAC9B,YAAM,QAAQ,MAAM,SAAS,KAAK,CAAC,MAAM,MAAM,iBAAiB,EAAE,OAAO,QAAQ,CAAC;AAClF,UAAI,CAAC,MAAO;AACZ,cAAQ;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA;AAAA,EAGA,cAAc,OAA0B,UAAiD;AACrF,QAAI;AACJ,UAAM,EAAE,QAAQ,IAAI,KAAK,YAAY,KAAK;AAC1C,eAAW,KAAK,SAAS;AACrB,iBAAW,CAAC,UAAU,GAAG,KAAK,EAAE,WAAW,QAAQ,GAAG;AAClD,YAAI,CAAC,SAAS,SAAS,MAAM,eAAe,IAAI,KAAK,GAAG,QAAQ,EAAG;AACnE,YAAI,WAAW,SAAS,SAAS,MAAM,eAAe,IAAI,KAAK,GAAG,MAAM,eAAe,QAAQ,KAAK,CAAC;AACjG;AACJ,kBAAU,EAAE,KAAK,GAAG,KAAK,UAAU,OAAO,IAAI,MAAM;AAAA,MACxD;AAAA,IACJ;AACA,SAAK,OAAO,KAAK;AACjB,UAAM,EAAE,OAAO,IAAI,KAAK,YAAY,KAAK;AACzC,eAAW,KAAK,QAAQ;AACpB,iBAAW,CAAC,UAAU,GAAG,KAAK,EAAE,WAAW,QAAQ,GAAG;AAClD,YAAI,CAAC,SAAS,SAAS,MAAM,eAAe,IAAI,KAAK,GAAG,QAAQ,EAAG;AACnE,YAAI,WAAW,SAAS,SAAS,MAAM,eAAe,IAAI,KAAK,GAAG,MAAM,eAAe,QAAQ,KAAK,CAAC;AACjG;AACJ,kBAAU,EAAE,KAAK,GAAG,KAAK,UAAU,OAAO,IAAI,MAAM;AAAA,MACxD;AAAA,IACJ;AACA,QAAI,CAAC,QAAS,QAAO;AAErB,UAAM,QAAQ,MAAM,gBAAgB,MAAM,cAAc,MAAM,iBAAiB,QAAQ,KAAK,GAAG,QAAQ,CAAC;AAExG,UAAM,aAAa,MAAM,MAAM,kBAAkB;AACjD;AAAA;AAAA,MAEI,WAAW,SAAS,KACpB,CAAC,WAAW;AAAA,QACR,CAAC,MAAM;AAAA;AAAA,WAEF,UAAU,WAAW,SAAS,IAAI,CAAC,OAAO,UAC3C,eAAe,KAAK,IAAI,KACxB,YAAY,KAAK,IAAI;AAAA;AAAA,MAC7B;AAAA,MACF;AACE,aAAO;AAAA,IACX;AACA,WAAO,EAAE,KAAK,SAAS,QAAQ,WAAW,MAAM,CAAC,EAAE;AAAA,EACvD;AAAA;AAAA,EAEA,SAAS,OAA0B,UAAiD;AAChF,UAAM,IAAI,KAAK,iBAAiB,OAAO,QAAQ;AAC/C,QAAI,EAAG,QAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,EAAE;AACnC,WAAO,KAAK,cAAc,OAAO,QAAQ;AAAA,EAC7C;AACJ;;;ACrgBA,SAAS,kBAAAE,iBAAgB,4BAA4B;AAIrD,IAAM,aAAa,CACf,OACA,gBACA,YACA,aACqB;AACrB,QAAM,EAAE,OAAO,KAAK,IAAI;AACxB,QAAM,EAAE,iBAAiB,aAAa,eAAe,UAAU,IAAI;AACnE,MAAI,cAAc;AAClB,QAAM,aAAa;AACnB,MAAI,SAASC,gBAAe,uBAAuB,SAASA,gBAAe,qBAAqB;AAC5F,kBAAc;AACd,eAAW,eAAe;AAAA,EAC9B;AACA,MAAI,UAAU,qBAAqB,IAAI,KAAK;AAC5C,MAAI,QAAQ,SAAS,IAAI,GAAG;AACxB,cAAU,QAAQ,WAAW,MAAM,MAAM,gBAAgB,KAAK,CAAC;AAAA,EACnE;AACA,QAAM,SAA6B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACZ;AACA,QAAM,WAAWA,gBAAe,IAAI;AACpC,MAAI,UAAU;AACV,WAAO,OAAO;AAAA,MACV,OAAO;AAAA,MACP,QAAQ,IAAI,MAAM,kCAAkC,QAAQ,EAAE;AAAA,IAClE;AAAA,EACJ,OAAO;AACH,WAAO,OAAO,GAAG,IAAI;AAAA,EACzB;AACA,MAAI,aAAa;AACb,WAAO,SAAS,CAAC;AACjB,WAAO,KAAK,KAAK,UAAU,WAAW;AAAA,EAC1C;AACA,MAAI,YAAY;AACZ,WAAO,SAAS,CAAC;AACjB,WAAO,KAAK,KAAK,UAAU,UAAU;AAAA,EACzC;AACA,MAAI,WAAW,WAAW,QAAQ;AAC9B,WAAO,qBAAqB,CAAC;AAC7B,eAAW,OAAO,WAAW,YAAY;AACrC,YAAM,EAAE,OAAAC,QAAO,MAAAC,MAAK,IAAI;AACxB,YAAM,EAAE,iBAAAC,kBAAiB,aAAAC,cAAa,eAAAC,gBAAe,WAAAC,WAAU,IAAIL;AACnE,YAAMM,WAAU,qBAAqBL,KAAI,KAAK;AAC9C,aAAO,mBAAmB,KAAK;AAAA,QAC3B,SAAAK;AAAA,QACA,UAAU,MAAM;AAAA,QAChB,iBAAAJ;AAAA,QACA,aAAAC;AAAA,QACA,eAAAC;AAAA,QACA,WAAAC;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ;AACA,SAAO;AACX;AAGO,SAAS,WAAW,OAA0B,QAA6B;AAC9E,QAAM,kBAAkB,QAAQ;AAChC,MAAI,OAAO,mBAAmB,WAAY;AAE1C,QAAM,EAAE,QAAQ,IAAI;AACpB,MAAI,YAAY,MAAM,aAAa,EAAG;AAEtC,QAAM,SAAS,OAAO,OAAO,IAAI,CAAC,MAAM,WAAW,OAAO,SAAS,GAAG,eAAe,KAAK,CAAC;AAC3F,QAAM,WAAW,OAAO,SAAS,IAAI,CAAC,MAAM,WAAW,OAAO,SAAS,GAAG,eAAe,OAAO,CAAC;AACjG,QAAM,QAAQ,OAAO,MAAM,IAAI,CAAC,MAAM,WAAW,OAAO,SAAS,GAAG,eAAe,IAAI,CAAC;AACxF,QAAM,QAAQ,OAAO,MAAM,IAAI,CAAC,MAAM,WAAW,OAAO,SAAS,GAAG,eAAe,IAAI,CAAC;AACxF,QAAM,UAAU,CAAC,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK;AAC3D,kBAAgB,OAAO,cAAc,OAAO;AAChD;;;ACtEA,IAAM,QAAQ,oBAAI,IAA0B;AAC5C,IAAI,SAAsC;AAG1C,IAAM,gBAAgB;AACtB,YAAY,MAAM;AACd,QAAM,MAAM,KAAK,IAAI;AACrB,aAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,OAAO;AACvC,QAAI,MAAM,aAAa,eAAe;AAClC,YAAM,OAAO,GAAG;AAAA,IACpB;AAAA,EACJ;AACJ,GAAG,aAAa;AAGhB,eAAe,cAAc,KAAkC;AAC3D,MAAI,CAAC,QAAQ;AACT,UAAM,IAAI,IAAI,OAAO,IAAI,IAAI,eAAe,YAAY,GAAG,GAAG;AAAA,MAC1D,MAAM;AAAA,MACN,MAAM;AAAA,IACV,CAAC;AACD,aAAS,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,UAAU,CAAC,MAAkB;AAC/B,gBAAQ;AACR,eAAO,IAAI,MAAM,2BAA2B,EAAE,OAAO,EAAE,CAAC;AAAA,MAC5D;AACA,YAAM,YAAY,CAAC,MAAmC;AAClD,YAAI,EAAE,SAAS,wBAAwB;AACnC,kBAAQ;AACR,kBAAQ,CAAC;AAAA,QACb,WAAW,EAAE,gBAAgB,OAAO;AAChC,kBAAQ;AACR,iBAAO,EAAE,IAAI;AAAA,QACjB;AAAA,MACJ;AACA,QAAE,iBAAiB,SAAS,OAAO;AACnC,QAAE,iBAAiB,WAAW,SAAS;AACvC,YAAM,UAAU,MAAM;AAClB,UAAE,oBAAoB,SAAS,OAAO;AACtC,UAAE,oBAAoB,WAAW,SAAS;AAAA,MAC9C;AACA,iBAAW,MAAM;AACb,gBAAQ,IAAI,WAAW,SAAS,EAAE,SAAS,iCAAiC,CAAC,CAAC;AAAA,MAClF,GAAG,GAAK;AAAA,IACZ,CAAC;AAAA,EACL;AAEA,QAAM,WAAW,MAAM;AACvB,WAAS,YAAY,GAAG;AACxB,QAAM,CAAC,KAAK,SAAS,MAAM,IAAI;AAC/B,QAAM,CAAC,MAAM,UAAU,MAAM,IAAI,MAAM,IAAI,QAAe,CAAC,SAAS,WAAW;AAC3E,UAAM,YAAY,CAAC,MAAyB;AACxC,UAAI,EAAE,KAAK,CAAC,MAAM,OAAO,EAAE,KAAK,CAAC,MAAM,SAAS;AAC5C,iBAAS,oBAAoB,WAAW,SAAS;AACjD,YAAI,EAAE,KAAK,CAAC,aAAa,OAAO;AAC5B,iBAAO,EAAE,KAAK,CAAC,CAAC;AAAA,QACpB,OAAO;AACH,kBAAQ,EAAE,IAAa;AAAA,QAC3B;AAAA,MACJ;AAAA,IACJ;AACA,aAAS,iBAAiB,WAAW,SAAS;AAAA,EAClD,CAAC;AACD,SAAO,IAAI,cAAc,KAAK,SAAS,QAAQ,MAAM;AACzD;AAGA,eAAe,YAAY,KAAkC;AACzD,QAAM,CAAC,KAAK,SAAS,QAAQ,IAAI,IAAI;AACrC,QAAM,EAAE,SAAAE,SAAQ,IAAI,MAAM,OAAO,aAAa;AAC9C,QAAM,SAASA,SAAQ,QAAQ,IAAI;AACnC,SAAO,IAAI,cAAc,KAAK,SAAS,QAAQ,MAAM;AACzD;AAEA,IAAM,aAAa,OAAO,WAAW;AAErC,eAAsB,QAAQ,OAAkD;AAC5E,QAAM,MAAM,MAAM,IAAI,SAAS;AAC/B,QAAM,UAAU,MAAM,aAAa;AACnC,QAAM,OAAO,MAAM,cAAc,MAAM,wBAAwB,aAAa;AAC5E,QAAM,WAAW,GAAG,MAAM,EAAE,KAAK,GAAG,KAAK,IAAI;AAC7C,QAAM,SAAS,MAAM,IAAI,QAAQ;AACjC,MAAI,QAAQ,YAAY,SAAS;AAC7B,WAAO,aAAa,KAAK,IAAI;AAC7B,WAAO,OAAO;AAAA,EAClB;AAEA,QAAM,QAAQ,MAAM,SAAS;AAC7B,QAAM,MAAW,CAAC,UAAU,SAAS,OAAO,IAAI;AAChD,QAAM,MAAM,aAAa,cAAc,GAAG,IAAI,YAAY,GAAG;AAC7D,OAAK,IAAI,KAAK,CAAC,WAAW;AACtB,eAAW,OAAO,MAAM;AAAA,EAC5B,CAAC;AACD,QAAM,OAAmB;AAAA,IACrB;AAAA,IACA,YAAY,KAAK,IAAI;AAAA,IACrB,QAAQ;AAAA,EACZ;AACA,QAAM,IAAI,UAAU,IAAI;AACxB,MAAI,MAAM,MAAM;AACZ,UAAM,UAAU,MAAM,IAAI,QAAQ;AAClC,QAAI,YAAY,MAAM;AAClB,YAAM,OAAO,QAAQ;AAAA,IACzB;AAAA,EACJ,CAAC;AACD,SAAO;AACX;;;AJ/GA,IAAI;AAEG,SAAS,mBAAmB,UAA+C;AAC9E,oBAAkB;AACtB;AAGO,IAAe,WAAf,MAAwB;AAAA,EAAxB;AAaH,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAC7B,SAAQ,eAAqC;AAAA;AAAA;AAAA,EAb7C,MAAM,iBAAiB,OAA8D;AACjF,QAAI,MAAM,IAAI,WAAW,cAAc;AACnC,aAAO;AAAA,IACX;AACA,WAAO,MAAM,QAAQ,KAAK;AAAA,EAC9B;AAAA;AAAA,EAEA,MAAM,WAAW,OAAwD;AACrE,WAAQ,MAAM,kBAAkB,KAAK,KAAM;AAAA,EAC/C;AAAA;AAAA,EAMA,IAAI,cAA2C;AAC3C,SAAK,iBAAiB,IAAI,QAAc;AACxC,WAAO,KAAK,aAAa;AAAA,EAC7B;AAAA;AAAA,EAEA,gBAAsB;AAClB,SAAK,cAAc,KAAK,IAAI;AAAA,EAChC;AACJ;;;AKjCO,IAAM,qBAAN,cAAiC,SAAiD;AAAA;AAAA,EAErF,mBACI,OACA,OACA,SACA,OACkD;AAClD,WAAO;AAAA,MACH,SAAS,CAAC;AAAA,MACV,SAAS,MAAM;AAAA,IACnB;AAAA,EACJ;AAAA;AAAA,EAGA,kBACI,YACA,OAC8C;AAC9C,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AACJ;;;ACzBA,SAAS,kBAAAC,uBAAsB;AAE/B,IAAM,gBAAgB;AAGtB,SAAS,iBAAiB,MAOV;AACZ,QAAM,aAAa,cAAc,KAAK,IAAI;AAC1C,MAAI,CAAC,YAAY;AACb,WAAO;AAAA,EACX;AACA,QAAM,MAAM,WAAW,CAAC,KAAK;AAC7B,QAAM,QAAQ,WAAW,CAAC,KAAK;AAC/B,QAAM,cAAc,WAAW,CAAC;AAChC,MAAI;AACJ,MAAI,YAAY,WAAW,GAAG,GAAG;AAC7B,UAAM,YAAY,YAAY,MAAM,CAAC;AAErC,QAAI,UAAU,WAAW,GAAG;AAExB,cAAQ;AAAA,QACJ,KAAK,OAAO,SAAS,UAAU,CAAC,IAAK,UAAU,CAAC,GAAI,EAAE,IAAI;AAAA,QAC1D,OAAO,OAAO,SAAS,UAAU,CAAC,IAAK,UAAU,CAAC,GAAI,EAAE,IAAI;AAAA,QAC5D,MAAM,OAAO,SAAS,UAAU,CAAC,IAAK,UAAU,CAAC,GAAI,EAAE,IAAI;AAAA,QAC3D,OAAO;AAAA,MACX;AAAA,IACJ,WAAW,UAAU,WAAW,GAAG;AAC/B,cAAQ;AAAA,QACJ,KAAK,OAAO,SAAS,UAAU,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAAA,QAClD,OAAO,OAAO,SAAS,UAAU,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAAA,QACpD,MAAM,OAAO,SAAS,UAAU,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAAA,QACnD,OAAO;AAAA;AAAA,MACX;AAAA,IACJ,WAAW,UAAU,WAAW,GAAG;AAE/B,cAAQ;AAAA,QACJ,KAAK,OAAO,SAAS,UAAU,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAAA,QAClD,OAAO,OAAO,SAAS,UAAU,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAAA,QACpD,MAAM,OAAO,SAAS,UAAU,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAAA,QACnD,OAAO,OAAO,SAAS,UAAU,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAAA,MACxD;AAAA,IACJ,WAAW,UAAU,WAAW,GAAG;AAE/B,cAAQ;AAAA,QACJ,KAAK,OAAO,SAAS,UAAU,CAAC,IAAK,UAAU,CAAC,GAAI,EAAE,IAAI;AAAA,QAC1D,OAAO,OAAO,SAAS,UAAU,CAAC,IAAK,UAAU,CAAC,GAAI,EAAE,IAAI;AAAA,QAC5D,MAAM,OAAO,SAAS,UAAU,CAAC,IAAK,UAAU,CAAC,GAAI,EAAE,IAAI;AAAA,QAC3D,OAAO,OAAO,SAAS,UAAU,CAAC,IAAK,UAAU,CAAC,GAAI,EAAE,IAAI;AAAA,MAChE;AAAA,IACJ,OAAO;AACH,aAAO;AAAA,IACX;AAAA,EACJ,OAAO;AACH,WAAO;AAAA,EACX;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAGO,IAAM,gBAAN,cAA4B,SAAoD;AAAA;AAAA,EAEnF,MAAM,sBACF,OACA,OACkD;AAClD,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AACtB,UAAM,OAAsC,CAAC;AAC7C,eAAW,EAAE,OAAO,KAAK,KAAK,SAAS,YAAY,KAAK,EAAE,QAAQ;AAC9D,UAAI,SAASA,gBAAe,OAAQ;AACpC,UAAI,MAAM,oBAAoB,MAAM,eAAe;AAE/C;AAAA,MACJ;AACA,YAAM,OAAO,MAAM,gBAAgB,KAAK;AACxC,YAAM,SAAS,iBAAiB,IAAI;AACpC,UAAI,CAAC,OAAQ;AACb,WAAK,KAAK;AAAA,QACN,OAAO;AAAA,UACH,iBAAiB,MAAM;AAAA,UACvB,aAAa,MAAM,cAAc,OAAO,IAAI,SAAS,OAAO,MAAM;AAAA,UAClE,eAAe,MAAM;AAAA,UACrB,WAAW,MAAM,YAAY,OAAO,IAAI,SAAS,OAAO,MAAM;AAAA,QAClE;AAAA,QACA,OAAO,OAAO;AAAA,MAClB,CAAC;AAAA,IACL;AACA,WAAO;AAAA,EACX;AAAA;AAAA,EAEA,0BACI,OACA,WACA,OACwD;AACxD,UAAM,EAAE,MAAM,IAAI;AAClB,WAAO;AAAA,MACH;AAAA,QACI,OAAO,IAAI,KAAK,MAAM,MAAM,MAAM,GAAG,EAChC,SAAS,EAAE,EACX,SAAS,GAAG,GAAG,CAAC,GAAG,KAAK,MAAM,MAAM,QAAQ,GAAG,EAC/C,SAAS,EAAE,EACX,SAAS,GAAG,GAAG,CAAC,GAAG,KAAK,MAAM,MAAM,OAAO,GAAG,EAC9C,SAAS,EAAE,EACX,SAAS,GAAG,GAAG,CAAC,GACjB,MAAM,SAAS,IACT,KACA,KAAK,MAAM,MAAM,QAAQ,GAAG,EACvB,SAAS,EAAE,EACX,SAAS,GAAG,GAAG,CAC9B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ;;;AChIA;AAAA,EACI,qBAAAC;AAAA,EAEA,cAAAC;AAAA,EACA,cAAAC;AAAA,OAGG;AACP,SAAS,kBAAAC,iBAAgB,KAAK,cAAAC,mBAAkB;AAehD,IAAM,cAAc;AACpB,IAAM,aAAa;AACnB,IAAM,aAAa;AAEnB,IAAM,mBAA6B,CAAC;AAEpC,IAAM,sBAAsB,MAAM;AAC9B,MAAI,iBAAiB,SAAS,EAAG,QAAO;AACxC,QAAM,WAAW,iBAAiB;AAClC,aAAW,MAAM,SAAS,GAAG;AACzB,QAAI,SAAS,SAAS,EAAE,EAAG;AAC3B,qBAAiB,KAAK,EAAE;AAAA,EAC5B;AACA,SAAO;AACX;AAEA,IAAM,4BAA4B,CAC9B,OACA,cAC6B;AAC7B,QAAM,cAA0C;AAAA,IAC5C;AAAA,MACI,OAAO;AAAA,MACP,MAAM,UAAU,mBAAmB;AAAA,MACnC,YAAY;AAAA,MACZ,kBAAkB,CAAC,GAAG;AAAA,MACtB,eAAe;AAAA,QACX,OAAO,4BAA4B,UAAU,wCAAwC,CAAC;AAAA,MAC1F;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,MACI,OAAO;AAAA,MACP,MAAM,UAAU,mBAAmB;AAAA,MACnC,YAAY;AAAA,MACZ,kBAAkB,CAAC,KAAK,GAAG;AAAA,MAC3B,eAAe;AAAA,QACX,OAAO,wBAAwB,UAAU,0EAA0E,CAAC;AAAA,MACxH;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACA,MAAI,CAAC,WAAW;AACZ,gBAAY;AAAA,MACR;AAAA,QACI,OAAO,EAAE,OAAO,MAAM,aAAa,SAAS;AAAA,QAC5C,MAAM,UAAU,mBAAmB;AAAA,QACnC,YAAY;AAAA,QACZ,iBAAiB,UAAU,6BAA6B;AAAA,QACxD,eAAe;AAAA,UACX,OAAO,uBAAuB,UAAU,6BAA8B,CAAC;AAAA,QAC3E;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI,OAAO,EAAE,OAAO,UAAU,aAAa,cAAc;AAAA,QACrD,MAAM,UAAU,mBAAmB;AAAA,QACnC,YAAY;AAAA,QACZ,iBAAiB,UAAU,6BAA6B;AAAA,QACxD,eAAe;AAAA,UACX,OAAO,2BAA2B,UAAU,iDAAmD,CAAC;AAAA,QACpG;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI,OAAO,EAAE,OAAO,SAAS,aAAa,YAAY;AAAA,QAClD,MAAM,UAAU,mBAAmB;AAAA,QACnC,YACI;AAAA,QACJ,iBAAiB,UAAU,6BAA6B;AAAA,QACxD,eAAe;AAAA,UACX,OAAO,0BAA0B,UAAU,wGAAoH,CAAC;AAAA,QACpK;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI,OAAO,EAAE,OAAO,QAAQ,aAAa,WAAW;AAAA,QAChD,MAAM,UAAU,mBAAmB;AAAA,QACnC,YAAY;AAAA,QACZ,iBAAiB,UAAU,6BAA6B;AAAA,QACxD,eAAe;AAAA,UACX,OAAO,yBAAyB,UAAU,qBAAsB,CAAC;AAAA,QACrE;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI,OAAO,EAAE,OAAO,SAAS,aAAa,YAAY;AAAA,QAClD,MAAM,UAAU,mBAAmB;AAAA,QACnC,YAAY;AAAA,QACZ,iBAAiB,UAAU,6BAA6B;AAAA,QACxD,eAAe;AAAA,UACX,OAAO,0BAA0B,UAAU,gCAAiC,CAAC;AAAA,QACjF;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI,OAAO,EAAE,OAAO,aAAa,aAAa,iBAAiB;AAAA,QAC3D,MAAM,UAAU,mBAAmB;AAAA,QACnC,YAAY;AAAA,QACZ,iBAAiB,UAAU,6BAA6B;AAAA,QACxD,eAAe;AAAA,UACX,OAAO,8BAA8B,UAAU,oDAAsD,CAAC;AAAA,QAC1G;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI,OAAO,EAAE,OAAO,OAAO,aAAa,UAAU;AAAA,QAC9C,MAAM,UAAU,mBAAmB;AAAA,QACnC,YAAY;AAAA,QACZ,iBAAiB,UAAU,6BAA6B;AAAA,QACxD,eAAe;AAAA,UACX,OAAO,wBAAwB,UAAU,uCAAwC,CAAC;AAAA,QACtF;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI,OAAO,EAAE,OAAO,WAAW,aAAa,eAAe;AAAA,QACvD,MAAM,UAAU,mBAAmB;AAAA,QACnC,YAAY;AAAA,QACZ,iBAAiB,UAAU,6BAA6B;AAAA,QACxD,eAAe;AAAA,UACX,OAAO,4BAA4B,UAAU,2DAA6D,CAAC;AAAA,QAC/G;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI,OAAO,EAAE,OAAO,MAAM,aAAa,QAAQ;AAAA,QAC3C,MAAM,UAAU,mBAAmB;AAAA,QACnC,YAAY;AAAA,QACZ,iBAAiB,UAAU,6BAA6B;AAAA,QACxD,eAAe;AAAA,UACX,OAAO,sBAAsB,UAAU,gCAAiC,CAAC;AAAA,QAC7E;AAAA,QACA;AAAA,MACJ;AAAA,IACJ;AAEA,eAAW,MAAM,oBAAoB,GAAG;AACpC,YAAM,QAAQ,YAAY;AAAA,QACtB,CAAC,SAAS,KAAK,UAAU,MAAM,KAAK,SAAS,UAAU,mBAAmB;AAAA,MAC9E;AACA,UAAI,MAAO;AACX,kBAAY,KAAK,aAAa,IAAI,KAAK,CAAC;AAAA,IAC5C;AAAA,EACJ;AACA,SAAO;AACX;AAGA,SAAS,aAAa,IAAY,OAAiE;AAC/F,SAAO;AAAA,IACH,OAAO;AAAA,IACP,MAAM,UAAU,mBAAmB;AAAA,IACnC,YAAY;AAAA,IACZ;AAAA,EACJ;AACJ;AAWA,SAAS,WAAW,KAAa,MAAkC;AAC/D,MAAI,QAAQ,QAAQ,IAAI,WAAW,IAAI,EAAG,QAAO;AACjD,SAAO,IAAI,WAAW,GAAG,KAAK,IAAI,WAAW,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI;AACvE;AAGA,SAAS,WACL,OACA,aACA,KACA,OACA,IACA,OACyF;AACzF,MAAI,SAAS;AACb,MAAI;AACJ,MAAI,MAAM,QAAQ,OAAO,SAAS,YAAY;AAC1C,SAAKC,mBAAkB,KAAK;AAAA,EAChC;AACA,MAAI,MAAM,MAAM;AACZ,aAAS,WAAW,OAAO,EAAE;AAC7B,WAAO,QAAQ,UAAU,mBAAmB,WAAW,UAAU,mBAAmB;AAAA,EACxF,WAAWC,YAAW,KAAK,GAAG;AAC1B,WAAO,UAAU,mBAAmB;AAAA,EACxC,WAAWC,YAAW,KAAK,KAAK,OAAO,MAAM,SAAS,YAAY;AAC9D,QAAI,MAAM,MAAM,aAAa,SAAS,IAAI,CAAC,KAAK,IAAI,YAAY,MAAM,IAAI,CAAC,GAAG;AAC1E,aAAO,UAAU,mBAAmB;AAAA,IACxC,OAAO;AACH,eAAS;AACT,aAAO,MAAM,SAAS,UAAU,mBAAmB,SAAS,UAAU,mBAAmB;AAAA,IAC7F;AAAA,EACJ,WAAW,CAAC,SAAS,IAAI,WAAW,GAAG,GAAG;AACtC,WAAO,UAAU,mBAAmB;AAAA,EACxC,OAAO;AACH,WAAO,QAAQ,UAAU,mBAAmB,QAAQ,UAAU,mBAAmB;AAAA,EACrF;AACA,SAAO;AAAA,IACH,OAAO,EAAE,OAAO,KAAK,aAAa,OAAO;AAAA,IACzC;AAAA,IACA,kBAAkB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,GAAG;AAAA,IACvD,SAAS;AAAA,IACT,SAAS;AAAA,EACb;AACJ;AAGA,SAAS,WAAW,OAA2B;AAC3C,QAAM,OAAO,oBAAI,IAAY;AAC7B,MAAI,IAAa,MAAM;AACvB,SAAO,MAAM,OAAO,KAAK,YAAY,OAAO,KAAK,aAAa;AAC1D,eAAW,OAAO,OAAO,oBAAoB,CAAC,GAAG;AAC7C,UAAI,MAAM,IAAI,GAAG,GAAG;AAChB,aAAK,IAAI,GAAG;AAAA,MAChB;AAAA,IACJ;AACA,QAAI,OAAO,eAAe,CAAC;AAAA,EAC/B;AACA,SAAO,MAAM,KAAK,IAAI;AAC1B;AAKO,IAAM,yBAAN,cAAqC,SAAqD;AAAA,EAA1F;AAAA;AACH,SAAS,oBAA8B,CAAC,KAAK,GAAG;AAAA;AAAA;AAAA,EAEhD,MAAc,eACV,OACA,MACA,QACA,OAC+B;AAC/B,UAAM,SAAS,MAAM,KAAK,WAAW,KAAK;AAC1C,UAAM,cAAsC,CAAC;AAC7C,UAAM,YAAY,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC;AAC/D,eAAW,OAAO,IAAI,IAAI,OAAO,KAAK,CAAC,GAAG;AACtC,YAAM,UAAU,OAAO,IAAI,GAAG;AAC9B,UAAI,YAAY,OAAW;AAE3B,UAAID,YAAW,OAAO,GAAG;AACrB,mBAAW,KAAK,QAAQ,KAAK,GAAG;AAC5B,cAAI,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,IAAI,GAAG;AACzC;AAAA,UACJ;AACA,gBAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,cAAI,UAAU,OAAW;AAEzB,sBAAY,KAAK;AAAA,YACb,YAAY,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC;AAAA,YACnE,YAAY,WAAW,GAAG,IAAI;AAAA,YAC9B;AAAA,YACA,GAAG,WAAW,OAAO,aAAa,GAAG,GAAG,IAAI,CAAC,IAAI,OAAO,QAAW,IAAI;AAAA,UAC3E,CAAC;AAAA,QACL;AAAA,MACJ;AAEA,UAAI,QAAQ,CAAC,IAAI,YAAY,EAAE,SAAS,IAAI,GAAG;AAC3C;AAAA,MACJ;AAEA,kBAAY,KAAK;AAAA,QACb,YAAY,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,KAAK;AAAA;AAAA,QACnD,YAAY,WAAW,KAAK,IAAI;AAAA,QAChC;AAAA,QACA,GAAG,WAAW,OAAO,aAAa,KAAK,SAAS,QAAW,KAAK;AAAA,MACpE,CAAC;AAAA,IACL;AACA,WAAO;AAAA,EACX;AAAA;AAAA,EAEA,MAAc,cACV,OACA,UACA,MACA,OAC+B;AAC/B,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO,CAAC;AACvB,UAAM,cAAsC,CAAC;AAE7C,QAAI,QAAQ,SAAS,QAAQ,OAAO,QAAQ;AAC5C,UAAM,SAAS,oBAAI,IAAY;AAC/B,WAAO,OAAO;AACV,iBAAW,EAAE,YAAY,GAAG,KAAK,MAAM,QAAQ;AAC3C,cAAM,OAAO,MAAM,gBAAgB,WAAW,KAAK;AACnD,YAAI,OAAO,IAAI,IAAI,EAAG;AACtB,YAAI,QAAQ,CAAC,KAAK,YAAY,EAAE,SAAS,IAAI,GAAG;AAC5C;AAAA,QACJ;AACA,eAAO,IAAI,IAAI;AACf,oBAAY,KAAK;AAAA,UACb,YAAY;AAAA,UACZ,YAAY,WAAW,MAAM,IAAI;AAAA,UACjC;AAAA,UACA,GAAG,WAAW,OAAO,YAAY,MAAM,QAAW,IAAI,KAAK;AAAA,QAC/D,CAAC;AAAA,MACL;AACA,UAAI,CAAC,MAAM,OAAQ;AACnB,cAAQ,MAAM;AAAA,IAClB;AACA,WAAO;AAAA,EACX;AAAA;AAAA,EAGA,MAAc,eACV,OACA,UACA,MACA,OAC+B;AAC/B,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO,CAAC;AACvB,UAAM,SAAS,SAAS,cAAc,OAAO,QAAQ;AACrD,QAAI,CAAC,UAAU,OAAO,OAAO,WAAW,EAAG,QAAO,CAAC;AACnD,UAAM,EAAE,KAAK,OAAO,IAAI;AACxB,QAAI,gBAAgB,IAAI,KAAK;AAEzB,aAAO,CAAC;AAAA,IACZ;AACA,UAAM,WAAW,MAAM,KAAK,WAAW,KAAK;AAC5C,WAAO,IAAI;AACX,UAAM,QAAQ,QAAQ,SAAS,IAAI,IAAI,IAAI,IAAI,GAAG,MAAM;AACxD,QAAI,SAAS,QAAQ,OAAO,SAAS,UAAU;AAC3C,aAAO,CAAC;AAAA,IACZ;AACA,UAAM,OAAOC,YAAW,KAAK,IAAI,WAAW,KAAK,IAAI,IAAI,KAAK,KAAK;AACnE,UAAM,SAAiC,CAAC;AACxC,eAAW,KAAK,MAAM;AAClB,YAAM,MAAM,OAAO,CAAC;AACpB,UAAI,QAAQ,CAAC,OAAO,GAAG,EAAE,YAAY,EAAE,SAAS,IAAI,GAAG;AACnD;AAAA,MACJ;AACA,YAAM,QAAQC,YAAW,KAAK,OAAO,GAAG;AACxC,aAAO,KAAK;AAAA,QACR,YAAY;AAAA,QACZ;AAAA,QACA,GAAG,WAAW,OAAO,YAAY,KAAK,OAAO,QAAW,IAAI;AAAA,MAChE,CAAC;AAAA,IACL;AACA,WAAO;AAAA,EACX;AAAA;AAAA,EAGQ,uBAAuB,UAAqB,OAA+C;AAC/F,WAAO;AAAA,MACH,SAAS;AAAA,MACT,QAAQ,MAAM,cAAc,MAAM,iBAAiB,KAAK,GAAG,QAAQ;AAAA,IACvE;AAAA,EACJ;AAAA;AAAA,EAGA,MAAM,uBACF,OACA,UACA,SACA,OAC6C;AAC7C,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AAEtB,QAAI,QAAQ,qBAAqB,KAAK;AAClC,YAAM,WAAW,MAAM,kBAAkB;AAAA,QACrC,YAAY,SAAS;AAAA,QACrB,QAAQ,SAAS,SAAS;AAAA,MAC9B,CAAC;AACD,UAAI,UAAU,SAAS,UAAU;AAC7B,cAAMC,WAAU,MAAM,KAAK;AAAA,UACvB;AAAA,UACA;AAAA,UACA,CAAC;AAAA,UACD;AAAA,QACJ;AACA,eAAO,EAAE,aAAaA,SAAQ;AAAA,MAClC;AAAA,IACJ;AAEA,UAAM,OAAO,OAAO,OAAO,QAAQ;AACnC,UAAM,OAAO,MAAM,gBAAgB;AAAA,MAC/B,iBAAiB,SAAS;AAAA,MAC1B,cAAc,MAAM,MAAM,eAAe,SAAS,UAAU;AAAA,MAC5D,eAAe,SAAS;AAAA,MACxB,WAAW,MAAM,MAAM,eAAe,SAAS;AAAA,IACnD,CAAC;AAED,QAAI,QAAQ,qBAAqB,OAAO,SAAS,MAAM;AACnD,aAAO;AAAA,IACX;AAGA,QAAI;AACJ,QAAI;AACJ,UAAM,MAAM,SAAS,iBAAiB,OAAO,QAAQ;AACrD,QAAI,KAAK;AACL,UAAI,IAAI,OAAO,MAAM;AAEjB,cAAMC,eAA0C,CAAC;AACjD,YACI,QACA,SAAS,KAAK;AAAA,UACV,CAAC,MAAM,uBAAuB,EAAE,OAAO,QAAQ,KAAK,EAAE,SAASC,gBAAe;AAAA,QAClF,GACF;AACE,UAAAD,aAAY;AAAA,YACR,aAAa,QAAQ,KAAK,uBAAuB,UAAU,KAAK,KAAK,CAAC;AAAA,YACtE,aAAa,MAAM,KAAK,uBAAuB,UAAU,KAAK,KAAK,CAAC;AAAA,UACxE;AAAA,QACJ;AACA,eAAO,EAAE,aAAAA,aAAY;AAAA,MACzB;AACA,YAAM,IAAI,IAAI;AACd,cAAQ,EAAE,WAAW,IAAI,GAAG,EAAG;AAC/B,aAAO,MAAM,gBAAgB;AAAA,QACzB,iBAAiB,MAAM;AAAA,QACvB,aAAa,MAAM;AAAA,QACnB,eAAe,MAAM;AAAA,QACrB,WAAW,MAAM,cAAc;AAAA,MACnC,CAAC;AAAA,IACL,WAAW,MAAM;AACb,cAAQ,KAAK;AACb,aAAO,KAAK,KAAK,CAAC;AAAA,IACtB,OAAO;AACH,cAAQ;AAAA,QACJ,iBAAiB,SAAS;AAAA,QAC1B,aAAa,SAAS;AAAA,QACtB,eAAe,SAAS;AAAA,QACxB,WAAW,SAAS;AAAA,MACxB;AAAA,IACJ;AACA,WAAO,MAAM,YAAY;AAEzB,UAAM,kBAAkB,KAAK,uBAAuB,UAAU,KAAK;AAEnE,QAAI,WAAW,KAAK,IAAI,GAAG;AACvB,YAAMA,eAAc,MAAM,KAAK,eAAe,OAAO,UAAU,MAAM,eAAe;AACpF,aAAO,EAAE,aAAAA,aAAY;AAAA,IACzB;AAEA,UAAM,cAAc,0BAA0B,iBAAiB,SAAS,IAAI;AAC5E,UAAM,SAAS,MAAM,KAAK,cAAc,OAAO,UAAU,MAAM,eAAe;AAC9E,UAAM,UAAU,MAAM,KAAK,eAAe,OAAO,MAAM,QAAQ,eAAe;AAC9E,gBAAY,KAAK,GAAG,QAAQ,GAAG,OAAO;AAEtC,WAAO,EAAE,YAAY;AAAA,EACzB;AAAA;AAAA,EAGA,sBACI,MACA,OACoC;AACpC,QAAI,OAAO,KAAK,SAAS,UAAU;AAE/B,aAAO;AAAA,IACX;AACA,UAAM,EAAE,SAAS,QAAQ,IAAI;AAC7B,UAAM,EAAE,MAAM,IAAI,KAAK;AACvB,QAAI,WAAW,MAAM;AACjB,UAAI,KAAK,cAAe,QAAO;AAC/B,YAAM,OAAO,MAAM,MAAM,GAAG,EAAE,IAAI;AAClC,YAAM,MAAM,SAAS,MAAM,SAAS,UAAU,UAAU,MAAM;AAC9D,WAAK,gBAAgB;AAAA,QACjB,OAAO,GAAG,UAAU,OAAO,IAAI,MAAM,CAAC;AAAA,EAAK,IAAI,IAAI,KAAK,IAAI,CAAC;AAAA,MACjE;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;;;AC/dO,IAAM,8BAAN,cACK,SAEZ;AAAA,EACI,YACqB,cAAc,OAAO,YAAY,IAAI,cAAc,IAAI,MAAM,+BAA+B,CAAC,GAChH;AACE,UAAM;AAFW;AAAA,EAGrB;AAAA;AAAA,EAEQ,cAAc,MAAc,OAA2C;AAC3E,UAAM,EAAE,YAAY,IAAI;AACxB,UAAM,EAAE,QAAQ,IAAI,IAAI,SAAS,MAAM,OAAO,SAAS;AACvD,UAAM,OAAO;AAAA,MACT,MAAM,UAAU;AAAA,MAChB;AAAA,MACA;AAAA,MACA,GAAG,IAAI,QAAQ,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,MAAM,IAAI,EAAE;AAAA,MACnE;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,gBAAY,SAAS,KAAK,KAAK,IAAI,CAAC;AACpC,WAAO;AAAA,MACH,KAAK,YAAY;AAAA,MACjB,OAAO;AAAA,QACH,aAAa;AAAA,QACb,iBAAiB,KAAK,SAAS;AAAA,QAC/B,WAAW;AAAA,QACX,eAAe,KAAK,SAAS;AAAA,MACjC;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAEA,MAAM,kBACF,OACA,UACA,OAC6C;AAC7C,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AACtB,UAAM,UAAU,MAAM,KAAK,WAAW,KAAK;AAC3C,UAAM,IAAI,SAAS,iBAAiB,OAAO,QAAQ;AACnD,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,UAAM,EAAE,KAAK,IAAI,IAAI;AACrB,QAAI;AACJ,QAAI,OAAO,MAAM;AACb,6BAAuB,IAAI,WAAW,GAAG,GAAG;AAAA,IAChD,WAAW,gBAAgB,KAAK;AAC5B,6BAAuB,IAAI,WAAW;AAAA,IAC1C;AACA,QAAI;AACJ,QAAI,UAAU,KAAK;AACf,aAAO,KAAK,cAAc,IAAI,MAAM,QAAQ,IAAI,IAAI,IAAI,CAAC;AAAA,IAC7D,OAAO;AACH,aAAO,EAAE,KAAK,MAAM,KAAK,OAAO,IAAI,WAAW,MAAM;AAAA,IACzD;AACA,SAAK,uBAAuB;AAC5B,WAAO,CAAC,IAAI;AAAA,EAChB;AAAA;AAAA,EAEA,MAAM,kBACF,OACA,UACA,SACA,OACyC;AACzC,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AACtB,UAAM,UAAU,MAAM,KAAK,WAAW,KAAK;AAC3C,UAAM,IAAI,SAAS,iBAAiB,OAAO,QAAQ;AACnD,QAAI,CAAC,EAAG,QAAO,CAAC;AAChB,UAAM,EAAE,IAAI,IAAI;AAChB,UAAM,QAA8B,IAAI,WAAW,IAAI,CAAC,OAAO;AAAA,MAC3D,KAAK,MAAM;AAAA,MACX,OAAO,EAAE;AAAA,IACb,EAAE;AACF,QAAI,QAAQ,oBAAoB;AAC5B,UAAI,UAAU,KAAK;AACf,cAAM,KAAK,KAAK,cAAc,IAAI,MAAM,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC;AAAA,MAClE,WAAW,CAAC,MAAM,QAAQ,IAAI,WAAW,KAAK,GAAG;AAC7C,cAAM,KAAK;AAAA,UACP,KAAK,MAAM;AAAA,UACX,OAAO,IAAI,WAAW;AAAA,QAC1B,CAAC;AAAA,MACL;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;;;AC1GA,SAAS,kBAAAE,uBAAsB;AAMxB,IAAM,4BAAN,cAAwC,SAAwD;AAAA;AAAA,EAEnG,MAAM,0BACF,OACA,UACA,OACkD;AAClD,UAAM,OAAO,MAAM,kBAAkB,QAAQ;AAC7C,QAAI,QAAQ,SAAS,EAAE,SAAS,KAAK,IAAI,GAAG;AACxC,YAAM,SAAS,MAAM,KAAK,iBAAiB,OAAO,UAAU,KAAK,IAAI;AACrE,UAAI,OAAQ,QAAO;AAAA,IACvB;AACA,WAAO,KAAK,oCAAoC,OAAO,QAAQ;AAAA,EACnE;AAAA;AAAA,EAGA,MAAc,oCACV,OACA,UACkD;AAClD,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AACtB,UAAM,MAAM,SAAS,iBAAiB,OAAO,QAAQ,GAAG;AACxD,QAAI,CAAC,IAAK,QAAO;AACjB,UAAM,QAAuC,IAAI,WAAW,IAAI,CAAC,MAAM;AACnE,YAAM,EAAE,MAAM,MAAM,IAAI;AACxB,UAAI,OAAO,UAAU,sBAAsB;AAC3C,UACI,SAASC,gBAAe,cACxB,SAASA,gBAAe,kBACxB,SAASA,gBAAe,gBAC1B;AACE,eAAO,UAAU,sBAAsB;AAAA,MAC3C;AACA,aAAO;AAAA,QACH;AAAA,QACA;AAAA,MACJ;AAAA,IACJ,CAAC;AACD,QAAI,gBAAgB,OAAO,CAAC,MAAM,QAAQ,IAAI,WAAW,KAAK,GAAG;AAC7D,YAAM,KAAK;AAAA,QACP,MAAM,UAAU,sBAAsB;AAAA,QACtC,OAAO,IAAI,WAAW;AAAA,MAC1B,CAAC;AAAA,IACL;AACA,WAAO;AAAA,EACX;AAAA;AAAA,EAGA,MAAc,iBACV,OACA,UACA,MACkD;AAClD,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AACtB,UAAM,KAAK,SAAS,eAAe,KAAK,CAACC,QAAO,MAAM,iBAAiBA,IAAG,OAAO,QAAQ,CAAC;AAC1F,QAAI,CAAC,GAAI,QAAO;AAEhB,WAAO,GAAG,WAAW,WAAW,IAAI,CAAC,OAAO;AAAA,MACxC,MAAM,UAAU,sBAAsB;AAAA,MACtC,OAAO,EAAE;AAAA,IACb,EAAE;AAAA,EACN;AACJ;;;ACrEA,SAAS,kBAAAC,uBAAsB;AAKxB,IAAM,yBAAN,cAAqC,SAAqD;AAAA;AAAA,EAErF,YAAY,OAA0B,OAAgD;AAC1F,UAAM,UAAsC,CAAC;AAC7C,UAAM,oBAAoB,IAAI,IAAI,MAAM,QAAQ;AAChD,eAAW,EAAE,WAAW,KAAK,MAAM,QAAQ;AACvC,YAAM,EAAE,MAAM,IAAI;AAClB,UAAI,OAA6B,UAAU,WAAW;AACtD,UAAI;AACJ,UAAI,WAAuC,CAAC;AAC5C,UAAI,WAAW;AAEf,cAAQ,WAAW,MAAM;AAAA,QACrB,KAAKC,gBAAe;AAChB,cAAI,WAAW,WAAW,WAAW,GAAG;AAEpC;AAAA,UACJ;AACA,iBAAO;AACP;AAAA,QACJ,KAAKA,gBAAe,eAAe;AAC/B,iBAAO,UAAU,WAAW;AAC5B,gBAAM,YAAY,MAAM,SAAS,KAAK,CAAC,MAAM,MAAM,yBAAyB,EAAE,OAAO,KAAK,IAAI,CAAC;AAC/F,cAAI,WAAW;AACX,uBAAW,MAAM,UAAU,OAAO,UAAU,KAAK;AACjD,uBAAW,KAAK,YAAY,OAAO,SAAS;AAC5C,8BAAkB,OAAO,SAAS;AAAA,UACtC;AACA;AAAA,QACJ;AAAA,MACJ;AACA,cAAQ,KAAK;AAAA,QACT,MAAM,QAAQ,MAAM,gBAAgB,WAAW,KAAK;AAAA,QACpD,QAAQ;AAAA,QACR;AAAA,QACA,OAAO;AAAA,QACP,MAAM,CAAC;AAAA,QACP,gBAAgB;AAAA,QAChB;AAAA,MACJ,CAAoC;AAAA,IACxC;AAEA,eAAW,SAAS,mBAAmB;AACnC,cAAQ,KAAK,GAAG,KAAK,YAAY,OAAO,KAAK,CAAC;AAAA,IAClD;AACA,WAAO;AAAA,EACX;AAAA;AAAA,EAEA,MAAM,uBACF,OACA,OAC+C;AAC/C,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AACtB,UAAM,OAAO,SAAS,OAAO,KAAK,EAAE,CAAC;AACrC,QAAI,CAAC,KAAM,QAAO;AAClB,WAAO,KAAK,YAAY,OAAO,IAAI;AAAA,EACvC;AACJ;;;ACrDO,IAAM,oBAAN,cACK,SAKZ;AAAA,EANO;AAAA;AAoDH;AAAA,SAAS,8BAA8B,CAAC,KAAK,KAAK,KAAK,GAAG;AAAA;AAAA;AAAA,EA5C1D,MAAc,OACV,OACA,QACA,SACA,MACA,OAC6B;AAC7B,QAAI,SAAS,OAAQ,QAAO,CAAC;AAC7B,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,UAAU,OAAO,aAAa,KAAM,QAAO,CAAC;AAChD,WAAO;AAAA,MACH;AAAA,QACI,OAAO,MAAM,kBAAkB;AAAA,QAC/B,MAAM,SAAS,OAAO;AAAA,MAC1B;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAEA,+BACI,OACA,SACA,OAC8C;AAC9C,WAAO,KAAK,OAAO,OAAO,CAAC,GAAG,SAAS,QAAQ,KAAK;AAAA,EACxD;AAAA;AAAA,EAEA,oCACI,OACA,OACA,SACA,OAC8C;AAC9C,WAAO,KAAK,OAAO,OAAO,CAAC,KAAK,GAAG,SAAS,SAAS,KAAK;AAAA,EAC9D;AAAA;AAAA,EAEA,qCACI,OACA,QACA,SACA,OAC8C;AAC9C,WAAO,KAAK,OAAO,OAAO,QAAQ,SAAS,SAAS,KAAK;AAAA,EAC7D;AAAA;AAAA,EAIA,6BACI,OACA,UACA,IACA,SACA,OAC8C;AAC9C,WAAO,KAAK;AAAA,MACR;AAAA,MACA,CAAC,MAAM,cAAc,UAAU,QAAQ,CAAC;AAAA,MACxC;AAAA,MACA,OAAO,MAAM,cAAc;AAAA,MAC3B;AAAA,IACJ;AAAA,EACJ;AACJ;;;AC9EA,SAAS,kBAAAC,uBAAsB;AAKxB,IAAM,gBAAN,cAA4B,SAA4C;AAAA;AAAA,EAE3E,MAAc,qBACV,OACA,EAAE,KAAK,IAAI,GACyB;AACpC,UAAM,WAA8B,CAAC;AACrC,QAAI;AACJ,QAAI,UAAU,KAAK;AACf,YAAM,UAAU,MAAM,KAAK,WAAW,KAAK;AAC3C,YAAM,QAAQ,QAAQ,IAAI,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI;AAC9D,YAAM,EAAE,QAAQ,IAAI,IAAI,SAAS,IAAI,MAAM,OAAO,MAAM;AACxD,eAAS,KAAK,EAAE,OAAO,UAAU,cAAc,MAAM,EAAE,EAAE,CAAC;AAC1D,iBAAW,KAAK,KAAK;AACjB,iBAAS,KAAK,EAAE,OAAO,EAAE,CAAC;AAAA,MAC9B;AACA,cAAQ,IAAI,WAAW,GAAI,GAAG;AAAA,IAClC,OAAO;AACH,UAAI;AACJ,YAAM,MAAM,IAAI;AAChB,cAAQ,IAAI,MAAM;AAAA,QACd,KAAKC,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,yBAAyB,MAAM,gBAAgB,IAAI,KAAK,CAAC,EAAE;AAAA,UAChF;AACA;AAAA,QACJ,KAAKA,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,6BAA6B,MAAM,gBAAgB,IAAI,KAAK,CAAC,EAAE;AAAA,UACpF;AACA;AAAA,QACJ,KAAKA,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,iBAAiB,MAAM,gBAAgB,IAAI,KAAK,CAAC,EAAE;AAAA,UACxE;AACA;AAAA,QACJ,KAAKA,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,qBAAqB,MAAM,gBAAgB,IAAI,KAAK,CAAC,EAAE;AAAA,UAC5E;AACA;AAAA,QACJ,KAAKA,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,kBAAkB;AAAA,UACvC;AACA;AAAA,QACJ,KAAKA,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,mBAAmB,MAAM,gBAAgB,IAAI,KAAK,CAAC,EAAE;AAAA,UAC1E;AACA;AAAA,QACJ,KAAKA,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,uBAAuB,MAAM,gBAAgB,IAAI,KAAK,CAAC,EAAE;AAAA,UAC9E;AACA;AAAA,QACJ,KAAKA,gBAAe,eAAe;AAC/B,gBAAM,SAAS,WAAW,OAAO,IAAI,EAAE;AACvC,oBAAU;AAAA,YACN,OAAO,UAAU,QAAQ,MAAM,gBAAgB,IAAI,KAAK,CAAC,GAAG,MAAM,EAAE;AAAA,UACxE;AACA;AAAA,QACJ;AAAA,QACA,KAAKA,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,SAAS,MAAM,gBAAgB,IAAI,KAAK,CAAC,EAAE;AAAA,UAChE;AACA;AAAA,QACJ,KAAKA,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,WAAW,MAAM,gBAAgB,IAAI,KAAK,CAAC,EAAE;AAAA,UAClE;AACA;AAAA,QACJ,KAAKA,gBAAe;AAChB,oBAAU;AAAA,YACN,OAAO,UAAU,aAAa,MAAM,gBAAgB,IAAI,KAAK,CAAC,EAAE;AAAA,UACpE;AACA;AAAA,MACR;AACA,UAAI,OAAO,MAAM;AACb,gBAAQ,IAAI;AAAA,MAChB,OAAO;AACH,gBAAQ,IAAI,WAAW,GAAG,GAAG;AAAA,MACjC;AACA,UAAI,SAAS;AACT,iBAAS,KAAK,OAAO;AAAA,MACzB;AAAA,IACJ;AACA,QAAI,CAAC,SAAS,OAAQ,QAAO;AAC7B,WAAO;AAAA,MACH;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAGA,MAAc,kBACV,OACA,OACA,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,OAAO,GACQ;AACpC,QAAI,gBAAgB,KAAK;AAErB,aAAO;AAAA,IACX;AACA,UAAM,WAAW,MAAM,KAAK,WAAW,KAAK;AAC5C,UAAM,QAAQ,QAAQ,SAAS,IAAI,IAAI,IAAI,GAAG,MAAM;AACpD,QAAI,SAAS,KAAM,QAAO;AAC1B,UAAM,YAAY,OAAO,IAAI;AAC7B,UAAM,EAAE,QAAQ,IAAI,IAAI,SAAS,WAAW,OAAO,OAAO;AAC1D,WAAO;AAAA,MACH,UAAU,CAAC,EAAE,OAAO,UAAU,aAAa,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;AAAA,MACzF;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAEA,MAAM,aACF,OACA,UACA,OACA,SACoC;AACpC,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,UAAU;AACX,aAAO;AAAA,IACX;AACA,UAAM,IAAI,SAAS,iBAAiB,OAAO,QAAQ;AACnD,QAAI,GAAG;AACH,aAAO,KAAK,qBAAqB,OAAO,CAAC;AAAA,IAC7C;AACA,UAAM,OAAO,OAAO,OAAO,QAAQ;AACnC,QAAI,MAAM;AACN,YAAM,IAAI,SAAS,cAAc,OAAO;AAAA,QACpC,YAAY,SAAS;AAAA,QACrB,QAAQ,KAAK,MAAM;AAAA,MACvB,CAAC;AACD,UAAI,GAAG;AACH,eAAO,KAAK,kBAAkB,OAAO,KAAK,OAAO,CAAC;AAAA,MACtD;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;;;ACnJA,SAAS,kBAAAC,uBAAsB;AAGxB,IAAM,qBAAN,cAAiC,SAAiD;AAAA;AAAA,EAErF,IAAI,wBAAkD;AAClD,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAEA,MAAM,kBACF,OACA,OACA,OACmD;AACnD,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,UAAU;AACX,aAAO;AAAA,IACX;AACA,UAAM,QAA+B,CAAC;AACtC,eAAW,OAAO,SAAS,MAAM;AAC7B,UAAI,CAAC,MAAM,cAAc,IAAI,KAAK,GAAG;AACjC;AAAA,MACJ;AACA,UAAI,aAAa;AACjB,UAAI,SAAS;AACb,UAAI,QAAQ;AACZ,YAAM,OAAO,UAAU,cAAc;AACrC,UAAI,cAAc;AAClB,UAAI,eAAe;AACnB,YAAM,QAA8B,CAAC;AAErC,cAAQ,IAAI,MAAM;AAAA,QACd,KAAKA,gBAAe,aAAa;AAC7B,cAAI,CAAC,IAAI,WAAW,QAAQ;AAExB;AAAA,UACJ;AACA,uBAAa,IAAI,MAAM;AACvB,mBAAS,IAAI,MAAM;AACnB,kBAAQ;AACR,wBAAc,SAAS;AAAA,YACnB,MAAM,gBAAgB,IAAI,MAAM,YAAY,SAAS,GAAG,YAAY,MAAM,CAAC;AAAA,UAC/E;AACA,yBAAe,MAAM,gBAAgB,IAAI,MAAM,YAAY,QAAQ,YAAY,SAAS,CAAC,CAAC,MAAM;AAChG,gBAAM,KAAK;AAAA,YACP,OAAO,IAAI,MAAM,YAAY,QAAQ,YAAY,MAAM;AAAA,YACvD,MAAM,GAAG,cAAc,MAAM,EAAE,GAAG,KAAK,GAAG,eAAe,MAAM,EAAE;AAAA,UACrE,CAAC;AACD;AAAA,QACJ;AAAA,QACA,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe;AAAA,QACpB,KAAKA,gBAAe,qBAAqB;AACrC,gBAAM,QAAQ,IAAI,OAAOA,gBAAe;AACxC,cAAI,QAAQ,EAAG;AACf,uBAAa,IAAI,MAAM;AACvB,mBAAS,IAAI,MAAM;AACnB,kBAAQ,GAAG,KAAK;AAChB,wBAAc,UAAU;AAAA,YACpB,MAAM,gBAAgB,IAAI,MAAM,YAAY,SAAS,GAAG,YAAY,MAAM,CAAC;AAAA,UAC/E;AACA,yBAAe;AACf;AAAA,QACJ;AAAA,QACA,KAAKA,gBAAe,sBAAsB;AACtC,gBAAM,MAAM,IAAI,WAAW,CAAC;AAC5B,cAAI,KAAK,SAASA,gBAAe,yBAA0B;AAC3D,uBAAa,IAAI,MAAM;AACvB,mBAAS,IAAI,MAAM;AACnB,kBAAQ,MAAM,gBAAgB,IAAI,KAAK;AACvC,wBAAc,UAAU;AAAA,YACpB,MAAM,gBAAgB,IAAI,MAAM,YAAY,SAAS,GAAG,YAAY,MAAM,CAAC;AAAA,UAC/E;AACA,yBAAe;AAEf,gBAAM,cAAc,CAAC,MAAM;AAAA,YACvB,MAAM;AAAA,cACF,IAAI;AAAA,gBACA,IAAI,MAAM;AAAA,gBACV,IAAI,MAAM;AAAA,gBACV,IAAI,MAAM;AAAA,gBACV,IAAI,MAAM,YAAY;AAAA,cAC1B;AAAA,YACJ;AAAA,UACJ;AACA,gBAAM,KAAK;AAAA,YACP,OAAO,IAAI;AAAA,YACX,MAAM,GAAG,cAAc,MAAM,EAAE,GAAG,KAAK,GAAG,MAAM,gBAAgB,IAAI,KAAK,CAAC,GAAG,cAAc,MAAM,EAAE;AAAA,UACvG,CAAC;AACD;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,CAAC,MAAO;AACZ,YAAM,OAA4B;AAAA,QAC9B,UAAU,EAAE,YAAY,OAAO;AAAA,QAC/B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,MACf;AACA,YAAM,KAAK,IAAI;AAAA,IACnB;AACA,WAAO;AAAA,MACH;AAAA,MACA,SAAS,MAAM;AAAA,MAEf;AAAA,IACJ;AAAA,EACJ;AACJ;;;ACpHO,IAAM,gBAAN,cACK,SAEZ;AAAA;AAAA,EAEI,MAAM,qBACF,OACA,SACA,OAC6C;AAC7C,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AAEtB,WAAO;AAAA,EACX;AAAA;AAAA,EAEA,MAAM,uBACF,OACA,WACA,OACiD;AACjD,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AACtB,UAAM,EAAE,OAAO,IAAI,SAAS,YAAY,KAAK;AAC7C,WAAO,UAAU,IAAI,CAAC,QAAQ;AAC1B,aAAO,OACF,OAAO,CAAC,MAAM,MAAM,iBAAiB,EAAE,OAAO,GAAG,CAAC,EAClD,IAAI,CAAC,OAAO;AAAA,QACT,OAAO,EAAE;AAAA,MACb,EAAE;AAAA,IACV,CAAC;AAAA,EACL;AACJ;;;AC5BA,SAAS,kBAAAC,wBAAsB;AAKxB,IAAM,iBAAN,cAA6B,SAA6C;AAAA;AAAA,EAErE,iCACJ,OACA,UACA,OACA,KACA,SACI;AACJ,UAAM,EAAE,eAAe,IAAI,SAAS,YAAY,KAAK;AACrD,eAAW,OAAO,gBAAgB;AAC9B,UAAI,MAAM,YAAY,IAAI,WAAW,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG;AACxD,cAAM,UAAU,MAAM,gBAAgB,IAAI,KAAK;AAC/C,cAAM,cAAc,UAAU;AAAA,UAC1B,MAAM,gBAAgB;AAAA,YAClB,iBAAiB,IAAI,MAAM;AAAA,YAC3B,aAAa,IAAI,MAAM,cAAc;AAAA,YACrC,eAAe,IAAI,MAAM;AAAA,YACzB,WAAW,IAAI,MAAM;AAAA,UACzB,CAAC;AAAA,QACL;AACA,cAAM,eAAe,CAAC,MAAM;AAAA,UACxB,MAAM,gBAAgB;AAAA,YAClB,iBAAiB,IAAI,MAAM;AAAA,YAC3B,aAAa,IAAI,MAAM;AAAA,YACvB,eAAe,IAAI,MAAM;AAAA,YACzB,WAAW,IAAI,MAAM,YAAY;AAAA,UACrC,CAAC;AAAA,QACL;AACA,cAAM,KAAK;AAAA,UACP,UAAU,MAAM;AAAA,UAChB,WAAW,SAAS;AAAA,UACpB,UAAU;AAAA,YACN,OAAO,IAAI;AAAA,YACX,MAAM,GAAG,cAAc,MAAM,EAAE,GAAG,OAAO,GAAG,OAAO,GAAG,eAAe,MAAM,EAAE;AAAA,UACjF;AAAA,QACJ,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA,EAEA,MAAM,mBACF,OACA,UACA,SACA,OACoE;AACpE,cAAU,QAAQ,KAAK;AACvB,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AACtB,UAAM,IAAI,SAAS,iBAAiB,OAAO,QAAQ;AACnD,QAAI,CAAC,EAAG,QAAO;AACf,UAAM,QAAwC,CAAC;AAC/C,UAAM,EAAE,WAAW,IAAI,EAAE;AACzB,QAAI;AACJ,QAAI,gBAAgB,EAAE,KAAK;AACvB,YAAM,KAAK;AAAA,QACP,UAAU,MAAM;AAAA,QAChB,WAAW,SAAS;AAAA,QACpB,UAAU;AAAA,UACN,OAAO,EAAE,IAAI,WAAW;AAAA,UACxB,MAAM,EAAE,IAAI,WAAW,SAASC,iBAAe,cAAc,IAAI,OAAO,MAAM;AAAA,QAClF;AAAA,MACJ,CAAC;AACD,gBAAU,MAAM,gBAAgB,EAAE,IAAI,WAAW,KAAK;AACtD,WAAK,iCAAiC,OAAO,UAAU,OAAO,EAAE,IAAI,YAAY,OAAO;AAAA,IAC3F,OAAO;AACH,gBAAU,EAAE,IAAI;AAAA,IACpB;AACA,eAAW,OAAO,YAAY;AAC1B,YAAM,KAAK;AAAA,QACP,UAAU,MAAM;AAAA,QAChB,WAAW,SAAS;AAAA,QACpB,UAAU;AAAA,UACN,OAAO,IAAI;AAAA,UACX,MAAM;AAAA,QACV;AAAA,MACJ,CAAC;AACD,WAAK,iCAAiC,OAAO,UAAU,OAAO,KAAK,OAAO;AAAA,IAC9E;AAEA,UAAM,EAAE,QAAQ,IAAI,SAAS,YAAY,KAAK;AAC9C,UAAM,qBAAqB,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,OAAO;AACjE,QAAI,oBAAoB;AACpB,iBAAW,OAAO,mBAAmB,YAAY;AAC7C,cAAM,KAAK;AAAA,UACP,UAAU,MAAM;AAAA,UAChB,WAAW,SAAS;AAAA,UACpB,UAAU;AAAA,YACN,OAAO,IAAI;AAAA,YACX,MAAM,UAAU,OAAO;AAAA,UAC3B;AAAA,QACJ,CAAC;AACD,aAAK,iCAAiC,OAAO,UAAU,OAAO,KAAK,OAAO;AAAA,MAC9E;AAAA,IACJ;AAEA,WAAO,EAAE,MAAM;AAAA,EACnB;AAAA;AAAA,EAGA,MAAM,sBACF,OACA,UACA,OACqE;AACrE,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AACtB,UAAM,IAAI,SAAS,iBAAiB,OAAO,QAAQ;AACnD,QAAI,CAAC,GAAG;AACJ,aAAO;AAAA,QACH,OAAO,MAAM,cAAc,QAAQ;AAAA,QACnC,MAAM;AAAA,QACN,cAAc;AAAA,MAClB;AAAA,IACJ;AACA,UAAM,EAAE,KAAK,IAAI,IAAI;AACrB,QAAI,UAAU,KAAK;AACf,aAAO;AAAA,QACH,OAAO,IAAI,WAAW,GAAI,GAAG,SAAS,MAAM,cAAc,QAAQ;AAAA,QAClE,MAAM,IAAI;AAAA,QACV,cAAc;AAAA,MAClB;AAAA,IACJ;AACA,UAAM,MAAM,OAAO,OAAO,IAAI,aAAa,IAAI,WAAW,GAAG;AAC7D,WAAO;AAAA,MACH,OAAO,IAAI;AAAA,MACX,MAAM,MAAM,gBAAgB,IAAI,KAAK,KAAK;AAAA,IAC9C;AAAA,EACJ;AACJ;;;AC/IA,SAAS,gBAAAC,eAAc,cAAAC,mBAAkB;AACzC,SAAS,kBAAAC,wBAAsB;AAiB/B,IAAM,cAAyC;AAAA,EAC3C,CAAC,gBAAkB,GAAG;AAAA,EACtB,CAAC,wBAA0B,GAAG;AAAA,EAC9B,CAAC,gBAAkB,GAAG;AAAA,EACtB,CAAC,cAAgB,GAAG;AAAA,EACpB,CAAC,gBAAkB,GAAG;AAAA,EACtB,CAAC,cAAgB,GAAG;AAAA,EACpB,CAAC,gBAAkB,GAAG;AAAA,EACtB,CAAC,uBAAyB,GAAG;AAAA,EAC7B,CAAC,aAAe,GAAG;AAAA,EACnB,CAAC,qBAAuB,GAAG;AAC/B;AAGO,IAAM,iCAAN,cAA6C,SAA6D;AAAA;AAAA,EAE7G,YAA4C;AACxC,UAAM,aAAa,OAAO,OAAO,WAAW;AAC5C,WAAO;AAAA,MACH;AAAA,MACA,gBAAgB,WAAW,IAAI,CAAC,MAAM,EAAE;AAAA,IAC5C;AAAA,EACJ;AAAA;AAAA,EAEA,MAAM,8BACF,OACA,cACA,OACoD;AACpD,UAAM,WAAW,GAAG,MAAM,IAAI,SAAS,CAAC,IAAI,MAAM,aAAa,CAAC;AAChE,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,UAAU;AACX,aAAO;AAAA,IACX;AACA,UAAM,UAAU,MAAM,KAAK,WAAW,KAAK;AAI3C,UAAM,OAAO,CAAC;AACd,eAAW,EAAE,MAAM,OAAO,WAAW,KAAK,SAAS,MAAM;AACrD,UAAI,MAAM,QAAQ,KAAK,EAAG;AAE1B,UAAI,YAA4B;AAChC,UAAI,iBAAiB;AAErB,cAAQ,MAAM;AAAA,QACV,KAAKC,iBAAe,gBAAgB;AAChC,gBAAM,KAAK,MAAM,gBAAgB,KAAK;AACtC,cAAI,GAAG,WAAW,GAAG,GAAG;AACpB,wBAAY;AAAA,UAChB,WAAWC,cAAa,QAAQ,IAAI,EAAE,CAAC,GAAG;AACtC,wBAAY;AAAA,UAChB,WAAWC,YAAW,QAAQ,IAAI,EAAE,CAAC,GAAG;AACpC,wBAAY;AAAA,UAChB,OAAO;AACH,wBAAY;AAAA,UAChB;AACA;AAAA,QACJ;AAAA,QACA,KAAKF,iBAAe,eAAe;AAC/B,sBAAY;AACZ;AAAA,QACJ;AAAA,QACA,KAAKA,iBAAe;AAAA,QACpB,KAAKA,iBAAe;AAAA,QACpB,KAAKA,iBAAe,sBAAsB;AACtC,sBAAY;AACZ;AAAA,QACJ;AAAA,QACA,KAAKA,iBAAe,cAAc;AAC9B,sBAAY;AACZ;AAAA,QACJ;AAAA,QACA,KAAKA,iBAAe;AAAA,QACpB,KAAKA,iBAAe;AAAA,QACpB,KAAKA,iBAAe,wBAAwB;AACxC,sBAAY;AACZ;AAAA,QACJ;AAAA,QACA,KAAKA,iBAAe,gBAAgB;AAChC,sBAAY;AACZ;AAAA,QACJ;AAAA,QACA,KAAKA,iBAAe,YAAY;AAC5B,sBAAY;AACZ;AAAA,QACJ;AAAA,QACA,KAAKA,iBAAe,mBAAmB;AACnC,sBAAY;AACZ;AAAA,QACJ;AAAA,QACA,KAAKA,iBAAe,eAAe;AAC/B,sBAAY;AACZ,2BAAiB;AACjB;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,YAAY,EAAG;AACnB,YAAM,EAAE,iBAAiB,aAAa,UAAU,IAAI;AACpD,YAAM,SAAS,YAAY;AAC3B,UAAI,CAAC,gBAAgB;AACjB,aAAK,KAAK;AAAA,UACN,KAAK,kBAAkB;AAAA;AAAA,UACvB,KAAK,cAAc;AAAA,UACnB;AAAA,UACA;AAAA,UACA,gBAAgB,KAAK;AAAA,QACzB,CAAC;AAAA,MACL;AACA,iBAAW,OAAO,YAAY;AAC1B,aAAK,KAAK;AAAA,UACN,KAAK,IAAI,MAAM,kBAAkB;AAAA,UACjC,KAAK,IAAI,MAAM,cAAc;AAAA,UAC7B,QAAQ,IAAI,MAAM,YAAY,IAAI,MAAM;AAAA,UACxC;AAAA,UACA,gBAAgB,KAAK;AAAA,QACzB,CAAC;AAAA,MACL;AAAA,IACJ;AACA,SAAK,KAAK,CAAC,GAAG,MAAM;AAChB,UAAI,EAAE,QAAQ,EAAE,KAAK;AACjB,eAAO,EAAE,MAAM,EAAE;AAAA,MACrB;AACA,aAAO,EAAE,MAAM,EAAE;AAAA,IACrB,CAAC;AACD,UAAM,MAAM,IAAI,YAAY,KAAK,SAAS,CAAC;AAC3C,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAClC,YAAM,UAAU,KAAK,CAAC;AACtB,UAAI,EAAE,KAAK,IAAI,IAAI;AACnB,UAAI,IAAI,GAAG;AACP,cAAM,OAAO,KAAK,IAAI,CAAC;AACvB,eAAO,KAAK;AACZ,YAAI,QAAQ,GAAG;AACX,iBAAO,KAAK;AAAA,QAChB;AAAA,MACJ;AACA,UAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,QAAQ,QAAQ,WAAW,QAAQ,cAAc,GAAG,IAAI,CAAC;AAAA,IACxF;AACA,WAAO;AAAA,MACH;AAAA,MACA,MAAM;AAAA,IACV;AAAA,EACJ;AAAA;AAAA,EAEA,8BAA8B,UAAoC;AAAA,EAElE;AACJ;;;ACrKA,SAAS,kBAAAG,wBAAsB;AAI/B,SAAS,qBAAAC,0BAAyB;AAG3B,IAAM,wBAAN,cAAoC,SAAoD;AAAA,EAAxF;AAAA;AAEH;AAAA,SAAS,iCAAiC,CAAC,KAAK,GAAG;AAEnD;AAAA,SAAS,mCAAmC,CAAC,GAAG;AAAA;AAAA;AAAA,EAEhD,MAAM,qBACF,OACA,UACA,OACA,SACkD;AAClD,UAAM,WAAW,MAAM,KAAK,iBAAiB,KAAK;AAClD,QAAI,CAAC,SAAU,QAAO;AAEtB,UAAM,UAAU,SAAS,YAAY,KAAK,EAAE,OAAO,OAAO,CAAC,MAAM;AAC7D,UAAI,EAAE,SAASC,iBAAe,gBAAgB,EAAE,SAASA,iBAAe,eAAe;AACnF,eAAO;AAAA,MACX;AACA,UAAI,CAAC,uBAAuB,EAAE,OAAO,QAAQ,GAAG;AAC5C,eAAO;AAAA,MACX;AACA,YAAM,WAAW,EAAE,WAAW,KAAK,CAAC,QAAQ,IAAI,SAASA,iBAAe,aAAa;AACrF,YAAM,SAAS,EAAE,WAAW,KAAK,CAAC,QAAQ,IAAI,SAASA,iBAAe,WAAW;AACjF,UAAI,CAAC,YAAY,CAAC,QAAQ;AACtB,eAAO;AAAA,MACX;AACA,aAAO,MAAM;AAAA,QACT,MAAM,cAAc,MAAM,eAAe,SAAS,KAAK,GAAG,MAAM,iBAAiB,OAAO,KAAK,CAAC;AAAA,QAC9F;AAAA,MACJ;AAAA,IACJ,CAAC;AACD,QAAI,CAAC,QAAQ,OAAQ,QAAO;AAE5B,YAAQ,KAAK,CAAC,GAAG,MAAO,MAAM,oBAAoB,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,EAAG;AAC7E,UAAM,SAAS,QAAQ,CAAC;AAExB,UAAM,cAAc,OAAO,WAAW,KAAK,CAAC,QAAQ,IAAI,SAASA,iBAAe,QAAQ;AACxF,QAAI,CAAC,YAAa,QAAO;AACzB,UAAM,eAAe,SAAS,SAAS,OAAO,MAAM,eAAe,YAAY,KAAK,CAAC;AACrF,QAAI,CAAC,aAAc,QAAO;AAE1B,QAAI;AACJ,QAAI,UAAU,aAAa,IAAI,KAAK;AAChC,YAAM,EAAE,KAAK,IAAI,aAAa,IAAI;AAClC,YAAM,UAAU,MAAM,KAAK,WAAW,KAAK;AAC3C,YAAM,WAAW,QAAQ,QAAQ,IAAI,IAAI,GAAG,aAAa,MAAM;AAC/D,YAAM,OAAOD,mBAAkB,QAAQ;AACvC,UAAI,CAAC,KAAM,QAAO;AAClB,YAAM,EAAE,GAAG,YAAY,MAAM,IAAI,GAAG,MAAM,SAAS,KAAK,QAAQ;AAAA,IACpE,WAAW,aAAa,IAAI,IAAI,IAAI;AAChC,YAAM,EAAE,IAAI,WAAW,IAAI,aAAa,IAAI;AAC5C,YAAM,SAAS,oBAAoB,OAAO,EAAE;AAC5C,YAAM,OAAO,MAAM,gBAAgB,WAAW,KAAK;AACnD,YAAM,EAAE,QAAQ,SAAS,IAAI,MAAM,SAAS,GAAG;AAAA,IACnD;AAEA,QAAI,CAAC,IAAK,QAAO;AACjB,UAAM,YAA4C;AAAA,MAC9C,OAAO;AAAA,MACP,YAAY,CAAC;AAAA,IACjB;AACA,QAAI,OAAO,SAASC,iBAAe,eAAe;AAC9C,YAAM,UAAU,IAAI,OAAO,CAAC;AAC5B,UAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,WAAW,IAAI,GAAG;AACzC,YAAI,OAAO,MAAM;AACjB,cAAM,IAAI,QAAQ,CAAC,EAAE,SAAS,GAAG,IAAI,IAAI,QAAQ,CAAC,CAAC,MAAM,QAAQ,CAAC;AAClE,kBAAU,QAAQ,MAAM,CAAC,KAAK,IAAI,IAAI;AAAA,MAC1C,OAAO;AACH,kBAAU,QAAQ,UAAU,IAAI,IAAI;AAAA,MACxC;AAAA,IACJ,OAAO;AACH,gBAAU,QAAQ,MAAM,IAAI,IAAI;AAAA,IACpC;AACA,cAAU,gBAAgB,EAAE,OAAO,IAAI,WAAW,GAAG;AACrD,aAAS,IAAI,GAAG,IAAI,IAAI,OAAO,QAAQ,KAAK;AACxC,YAAM,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC;AAChC,YAAM,QAAQ,UAAU,MAAM;AAC9B,gBAAU,WAAW,KAAK;AAAA,QACtB,OAAO,CAAC,OAAO,QAAQ,EAAE,MAAM;AAAA,QAC/B,eAAe,EAAE,OAAO,IAAI;AAAA,MAChC,CAAC;AACD,UAAI,MAAM,IAAI,OAAO,SAAS,GAAG;AAC7B,kBAAU,SAAS;AAAA,MACvB,OAAO;AACH,kBAAU,SAAS,IAAI;AAAA,MAC3B;AAAA,IACJ;AACA,cAAU,SAAS,MAAM,IAAI;AAE7B,QAAI,MAAM;AACV,eAAW,OAAO,OAAO,YAAY;AACjC,UAAI,IAAI,SAASA,iBAAe,eAAgB,OAAM,OAAO;AAC7D,UAAI,IAAI,SAASA,iBAAe,iBAAiB,MAAM,QAAQ,IAAI,KAAK,EAAG;AAC3E,UACI,SAAS,gBAAgB,MAAM,eAAe,IAAI,KAAK,GAAG,QAAQ,KAClE,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,EAAE,WAAW,IAAI,GACvC;AACE;AAAA,MACJ;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,SAAS,MAAM;AAAA,MACf,OAAO;AAAA,QACH,YAAY,CAAC,SAAS;AAAA,QACtB,iBAAiB;AAAA,QACjB,iBAAiB;AAAA,MACrB;AAAA,IACJ;AAAA,EACJ;AACJ;;;ACnGA,SAAS,aAAa;AAoBtB,eAAsB,YAAYC,kBAAwE;AACtG,qBAAmBA,gBAAe;AAClC,QAAM;AAEN,QAAM,qBAAqB,IAAI,mBAAmB;AAClD,QAAM,gBAAgB,IAAI,cAAc;AACxC,QAAM,yBAAyB,IAAI,uBAAuB;AAC1D,QAAM,8BAA8B,IAAI,4BAA4B;AACpE,QAAM,4BAA4B,IAAI,0BAA0B;AAChE,QAAM,yBAAyB,IAAI,uBAAuB;AAC1D,QAAM,oBAAoB,IAAI,kBAAkB;AAChD,QAAM,gBAAgB,IAAI,cAAc;AACxC,QAAM,qBAAqB,IAAI,mBAAmB;AAClD,QAAM,gBAAgB,IAAI,cAAc;AACxC,QAAM,iBAAiB,IAAI,eAAe;AAC1C,QAAM,iCAAiC,IAAI,+BAA+B;AAC1E,QAAM,wBAAwB,IAAI,sBAAsB;AAExD,QAAM,WAAuC,CAAC,cAAc,qBAAqB;AACjF,SAAO;AAAA,IACH,UAAU,2BAA2B,UAAU,kBAAkB;AAAA,IACjE,UAAU,sBAAsB,UAAU,aAAa;AAAA,IAEvD,UAAU,2BAA2B,UAAU,2BAA2B;AAAA,IAC1E,UAAU,0BAA0B,UAAU,2BAA2B;AAAA,IAEzE,UAAU,kCAAkC,UAAU,yBAAyB;AAAA,IAC/E,UAAU,+BAA+B,UAAU,sBAAsB;AAAA,IAEzE,UAAU,uCAAuC,UAAU,iBAAiB;AAAA;AAAA;AAAA,IAI5E,UAAU,sBAAsB,UAAU,aAAa;AAAA,IACvD,UAAU,2BAA2B,UAAU,kBAAkB;AAAA,IAEjE,UAAU,6BAA6B,UAAU,aAAa;AAAA,IAC9D,UAAU,+BAA+B,UAAU,aAAa;AAAA,IAEhE,UAAU,uCAAuC,UAAU,8BAA8B;AAAA,IACzF,UAAU,uBAAuB,UAAU,cAAc;AAAA,IACzD,UAAU,+BAA+B,UAAU,sBAAsB;AAAA,IACzE,UAAU,8BAA8B,UAAU,qBAAqB;AAAA,EAC3E;AACJ;",
5
+ "names": ["value", "DiagnosticCode", "def", "DiagnosticCode", "DiagnosticCode", "range", "code", "startLineNumber", "startColumn", "endLineNumber", "endColumn", "message", "compile", "DiagnosticCode", "getVmFunctionInfo", "isVmExtern", "isVmModule", "DiagnosticCode", "operations", "getVmFunctionInfo", "isVmModule", "isVmExtern", "operations", "globals", "suggestions", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "kw", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "getVmFunctionInfo", "DiagnosticCode", "contextProvider"]
6
+ }
@@ -0,0 +1,21 @@
1
+ import type { VmContext } from '@mirascript/mirascript';
2
+ import type { VmContextProvider } from '../../index.js';
3
+ import { type editor, type IEvent } from '../../monaco-api.js';
4
+ import type { CompileResult } from '../compile-result.js';
5
+ /** 设置全局变量提供者 */
6
+ export declare function setContextProvider(provider: VmContextProvider | undefined): void;
7
+ /** 提供编辑器 LSP 支持 */
8
+ export declare abstract class Provider {
9
+ /** 获取编译结果 */
10
+ getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined>;
11
+ /** 获取执行上下文(全局变量) */
12
+ getContext(model: editor.ITextModel): Promise<Readonly<VmContext>>;
13
+ readonly displayName = "MiraScript LSP";
14
+ readonly _debugDisplayName = "MiraScript LSP";
15
+ private _onDidChange;
16
+ /** @inheritdoc */
17
+ get onDidChange(): IEvent<this> & IEvent<void>;
18
+ /** 触发 onDidChange */
19
+ emitDidChange(): void;
20
+ }
21
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAW,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAEhF;AAED,mBAAmB;AACnB,8BAAsB,QAAQ;IAC1B,aAAa;IACP,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAMpF,oBAAoB;IACd,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAIxE,QAAQ,CAAC,WAAW,oBAAoB;IACxC,QAAQ,CAAC,iBAAiB,oBAAoB;IAC9C,OAAO,CAAC,YAAY,CAA8B;IAClD,kBAAkB;IAClB,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAG7C;IACD,qBAAqB;IACrB,aAAa,IAAI,IAAI;CAGxB"}
@@ -0,0 +1,12 @@
1
+ import type { editor, languages, Range, CancellationToken } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /**
4
+ * 代码操作
5
+ */
6
+ export declare class CodeActionProvider extends Provider implements languages.CodeActionProvider {
7
+ /** @inheritdoc */
8
+ provideCodeActions(model: editor.ITextModel, range: Range, context: languages.CodeActionContext, token: CancellationToken): languages.ProviderResult<languages.CodeActionList>;
9
+ /** @inheritdoc */
10
+ resolveCodeAction?(codeAction: languages.CodeAction, token: CancellationToken): languages.ProviderResult<languages.CodeAction>;
11
+ }
12
+ //# sourceMappingURL=code-action-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-action-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/code-action-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,QAAS,YAAW,SAAS,CAAC,kBAAkB;IACpF,kBAAkB;IAClB,kBAAkB,CACd,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC;IAOrD,kBAAkB;IAClB,iBAAiB,CAAC,CACd,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC;CAGpD"}
@@ -0,0 +1,10 @@
1
+ import type { editor, languages, CancellationToken } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** @inheritdoc */
4
+ export declare class ColorProvider extends Provider implements languages.DocumentColorProvider {
5
+ /** @inheritdoc */
6
+ provideDocumentColors(model: editor.ITextModel, token: CancellationToken): Promise<languages.IColorInformation[] | undefined>;
7
+ /** @inheritdoc */
8
+ provideColorPresentations(model: editor.ITextModel, colorInfo: languages.IColorInformation, token: CancellationToken): languages.ProviderResult<languages.IColorPresentation[]>;
9
+ }
10
+ //# sourceMappingURL=color-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/color-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAuErC,kBAAkB;AAClB,qBAAa,aAAc,SAAQ,QAAS,YAAW,SAAS,CAAC,qBAAqB;IAClF,kBAAkB;IACZ,qBAAqB,CACvB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAyBrD,kBAAkB;IAClB,yBAAyB,CACrB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,SAAS,EAAE,SAAS,CAAC,iBAAiB,EACtC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;CAoB9D"}
@@ -0,0 +1,21 @@
1
+ import { type editor, languages, type CancellationToken, type Position } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /**
4
+ * 自动完成
5
+ */
6
+ export declare class CompletionItemProvider extends Provider implements languages.CompletionItemProvider {
7
+ readonly triggerCharacters: string[];
8
+ /** 查找全局变量 */
9
+ private completeGlobal;
10
+ /** 查找局部变量 */
11
+ private completeLocal;
12
+ /** 查找变量字段 */
13
+ private completeFields;
14
+ /** 获取完成范围 */
15
+ private toCompletionItemRanges;
16
+ /** @inheritdoc */
17
+ provideCompletionItems(model: editor.ITextModel, position: Position, context: languages.CompletionContext, token: CancellationToken): Promise<languages.CompletionList | undefined>;
18
+ /** @inheritdoc */
19
+ resolveCompletionItem(item: languages.CompletionItem, token: CancellationToken): languages.CompletionItem | undefined;
20
+ }
21
+ //# sourceMappingURL=completion-item-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion-item-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/completion-item-provider.ts"],"names":[],"mappings":"AASA,OAAO,EACH,KAAK,MAAM,EACX,SAAS,EACT,KAAK,iBAAiB,EAGtB,KAAK,QAAQ,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAwOrC;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,QAAS,YAAW,SAAS,CAAC,sBAAsB;IAC5F,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAc;IAClD,aAAa;YACC,cAAc;IA2C5B,aAAa;YACC,aAAa;IAiC3B,aAAa;YACC,cAAc;IAsC5B,aAAa;IACb,OAAO,CAAC,sBAAsB;IAO9B,kBAAkB;IACZ,sBAAsB,CACxB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC;IAyFhD,kBAAkB;IAClB,qBAAqB,CACjB,IAAI,EAAE,SAAS,CAAC,cAAc,EAC9B,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,GAAG,SAAS;CAiB1C"}
@@ -0,0 +1,16 @@
1
+ import { editor, type languages, type CancellationToken, type Position } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /**
4
+ * 转到定义/引用
5
+ */
6
+ export declare class DefinitionReferenceProvider extends Provider implements languages.DefinitionProvider, languages.ReferenceProvider {
7
+ private readonly globalModel;
8
+ constructor(globalModel?: editor.ITextModel);
9
+ /** 准备要显示的定义 */
10
+ private prepareGlobal;
11
+ /** @inheritdoc */
12
+ provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): Promise<languages.LocationLink[] | undefined>;
13
+ /** @inheritdoc */
14
+ provideReferences(model: editor.ITextModel, position: Position, context: languages.ReferenceContext, token: CancellationToken): Promise<languages.Location[] | undefined>;
15
+ }
16
+ //# sourceMappingURL=definition-reference-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-reference-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/definition-reference-provider.ts"],"names":[],"mappings":"AACA,OAAO,EACH,MAAM,EAEN,KAAK,SAAS,EACd,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC;;GAEG;AACH,qBAAa,2BACT,SAAQ,QACR,YAAW,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,iBAAiB;IAGhE,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,oBAAmF;IAInH,eAAe;IACf,OAAO,CAAC,aAAa;IAuBrB,kBAAkB;IACZ,iBAAiB,CACnB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IAsBhD,kBAAkB;IACZ,iBAAiB,CACnB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,SAAS,CAAC,gBAAgB,EACnC,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;CAuB/C"}
@@ -0,0 +1,12 @@
1
+ import { type Position, languages, type editor, type CancellationToken } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** @inheritdoc */
4
+ export declare class DocumentHighlightProvider extends Provider implements languages.DocumentHighlightProvider {
5
+ /** @inheritdoc */
6
+ provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): Promise<languages.DocumentHighlight[] | undefined>;
7
+ /** 从 definition 生成 DocumentHighlight 列表 */
8
+ private getDocumentHighlightsFromDefinition;
9
+ /** 高亮关键字 */
10
+ private highlightKeyword;
11
+ }
12
+ //# sourceMappingURL=document-highlight-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-highlight-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/document-highlight-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAS,MAAM,qBAAqB,CAAC;AAE3G,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,kBAAkB;AAClB,qBAAa,yBAA0B,SAAQ,QAAS,YAAW,SAAS,CAAC,yBAAyB;IAClG,kBAAkB;IACZ,yBAAyB,CAC3B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAAC;IASrD,2CAA2C;YAC7B,mCAAmC;IAgCjD,YAAY;YACE,gBAAgB;CAejC"}
@@ -0,0 +1,10 @@
1
+ import { languages, type CancellationToken, type editor } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** @inheritdoc */
4
+ export declare class DocumentSymbolProvider extends Provider implements languages.DocumentSymbolProvider {
5
+ /** 构建树 */
6
+ private handleScope;
7
+ /** @inheritdoc */
8
+ provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): Promise<languages.DocumentSymbol[] | undefined>;
9
+ }
10
+ //# sourceMappingURL=document-symbol-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-symbol-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/document-symbol-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,KAAK,iBAAiB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE5F,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,kBAAkB;AAClB,qBAAa,sBAAuB,SAAQ,QAAS,YAAW,SAAS,CAAC,sBAAsB;IAC5F,UAAU;IACV,OAAO,CAAC,WAAW;IA6CnB,kBAAkB;IACZ,sBAAsB,CACxB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;CAOrD"}
@@ -0,0 +1,18 @@
1
+ import { type languages, type editor, Range, type CancellationToken, type Position } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** 格式化 */
4
+ export declare class FormatterProvider extends Provider implements languages.DocumentFormattingEditProvider, languages.DocumentRangeFormattingEditProvider, languages.OnTypeFormattingEditProvider {
5
+ /** @inheritdoc */
6
+ private format;
7
+ /** @inheritdoc */
8
+ provideDocumentFormattingEdits(model: editor.ITextModel, options: languages.FormattingOptions, token: CancellationToken): languages.ProviderResult<languages.TextEdit[]>;
9
+ /** @inheritdoc */
10
+ provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: languages.FormattingOptions, token: CancellationToken): languages.ProviderResult<languages.TextEdit[]>;
11
+ /** @inheritdoc */
12
+ provideDocumentRangesFormattingEdits(model: editor.ITextModel, ranges: Range[], options: languages.FormattingOptions, token: CancellationToken): languages.ProviderResult<languages.TextEdit[]>;
13
+ /** @inheritdoc */
14
+ readonly autoFormatTriggerCharacters: string[];
15
+ /** @inheritdoc */
16
+ provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: languages.FormattingOptions, token: CancellationToken): languages.ProviderResult<languages.TextEdit[]>;
17
+ }
18
+ //# sourceMappingURL=formatter-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/formatter-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,MAAM,EAEX,KAAK,EACL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,UAAU;AACV,qBAAa,iBACT,SAAQ,QACR,YACI,SAAS,CAAC,8BAA8B,EACxC,SAAS,CAAC,mCAAmC,EAC7C,SAAS,CAAC,4BAA4B;IAE1C,kBAAkB;YACJ,MAAM;IAiBpB,kBAAkB;IAClB,8BAA8B,CAC1B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,mCAAmC,CAC/B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,oCAAoC,CAChC,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,QAAQ,CAAC,2BAA2B,WAAwB;IAC5D,kBAAkB;IAClB,4BAA4B,CACxB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;CASpD"}
@@ -0,0 +1,12 @@
1
+ import type { CancellationToken, editor, languages, Position } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** @inheritdoc */
4
+ export declare class HoverProvider extends Provider implements languages.HoverProvider {
5
+ /** 变量提示 */
6
+ private provideVariableHover;
7
+ /** 字段提示 */
8
+ private provideFieldHover;
9
+ /** @inheritdoc */
10
+ provideHover(model: editor.ITextModel, position: Position, token: CancellationToken, context?: languages.HoverContext<languages.Hover>): Promise<languages.Hover | undefined>;
11
+ }
12
+ //# sourceMappingURL=hover-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/hover-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAA2B,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAKrC,kBAAkB;AAClB,qBAAa,aAAc,SAAQ,QAAS,YAAW,SAAS,CAAC,aAAa;IAC1E,WAAW;YACG,oBAAoB;IA6FlC,WAAW;YACG,iBAAiB;IAmB/B,kBAAkB;IACZ,YAAY,CACd,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GAClD,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;CAqB1C"}
@@ -0,0 +1,10 @@
1
+ import { languages, Range, type CancellationToken, type editor, type IEvent } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** @inheritdoc */
4
+ export declare class InlayHintsProvider extends Provider implements languages.InlayHintsProvider {
5
+ /** @inheritdoc */
6
+ get onDidChangeInlayHints(): IEvent<void> | undefined;
7
+ /** @inheritdoc */
8
+ provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): Promise<languages.InlayHintList | null | undefined>;
9
+ }
10
+ //# sourceMappingURL=inlay-hints-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inlay-hints-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/inlay-hints-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,iBAAiB,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,kBAAkB;AAClB,qBAAa,kBAAmB,SAAQ,QAAS,YAAW,SAAS,CAAC,kBAAkB;IACpF,kBAAkB;IAClB,IAAI,qBAAqB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAEpD;IACD,kBAAkB;IACZ,iBAAiB,CACnB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;CAyGzD"}
@@ -0,0 +1,10 @@
1
+ import { type CancellationToken, type editor, type languages, type Position } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** @inheritdoc */
4
+ export declare class RangeProvider extends Provider implements languages.FoldingRangeProvider, languages.SelectionRangeProvider {
5
+ /** @inheritdoc */
6
+ provideFoldingRanges(model: editor.ITextModel, context: languages.FoldingContext, token: CancellationToken): Promise<languages.FoldingRange[] | undefined>;
7
+ /** @inheritdoc */
8
+ provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): Promise<languages.SelectionRange[][] | undefined>;
9
+ }
10
+ //# sourceMappingURL=range-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/range-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,iBAAiB,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,kBAAkB;AAClB,qBAAa,aACT,SAAQ,QACR,YAAW,SAAS,CAAC,oBAAoB,EAAE,SAAS,CAAC,sBAAsB;IAE3E,kBAAkB;IACZ,oBAAoB,CACtB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,OAAO,EAAE,SAAS,CAAC,cAAc,EACjC,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IAMhD,kBAAkB;IACZ,sBAAsB,CACxB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,SAAS,EAAE,QAAQ,EAAE,EACrB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,GAAG,SAAS,CAAC;CAYvD"}
@@ -0,0 +1,12 @@
1
+ import { type CancellationToken, type editor, type languages, type Position } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** @inheritdoc */
4
+ export declare class RenameProvider extends Provider implements languages.RenameProvider {
5
+ /** 重命名推断字段 */
6
+ private provideRenameEditsOmitNameFields;
7
+ /** @inheritdoc */
8
+ provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): Promise<undefined | (languages.WorkspaceEdit & languages.Rejection)>;
9
+ /** @inheritdoc */
10
+ resolveRenameLocation(model: editor.ITextModel, position: Position, token: CancellationToken): Promise<undefined | (languages.RenameLocation & languages.Rejection)>;
11
+ }
12
+ //# sourceMappingURL=rename-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/rename-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,iBAAiB,EACtB,KAAK,MAAM,EAEX,KAAK,SAAS,EACd,KAAK,QAAQ,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,kBAAkB;AAClB,qBAAa,cAAe,SAAQ,QAAS,YAAW,SAAS,CAAC,cAAc;IAC5E,cAAc;IACd,OAAO,CAAC,gCAAgC;IAsCxC,kBAAkB;IACZ,kBAAkB,CACpB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,GAAG,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAsDvE,kBAAkB;IACZ,qBAAqB,CACvB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,GAAG,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;CAyB3E"}
@@ -0,0 +1,12 @@
1
+ import { type CancellationToken, type editor, type languages } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** @inheritdoc */
4
+ export declare class DocumentSemanticTokensProvider extends Provider implements languages.DocumentSemanticTokensProvider {
5
+ /** @inheritdoc */
6
+ getLegend(): languages.SemanticTokensLegend;
7
+ /** @inheritdoc */
8
+ provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): Promise<languages.SemanticTokens | null | undefined>;
9
+ /** @inheritdoc */
10
+ releaseDocumentSemanticTokens(resultId: string | undefined): void;
11
+ }
12
+ //# sourceMappingURL=semantic-tokens-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-tokens-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/semantic-tokens-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,iBAAiB,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA4BrC,kBAAkB;AAClB,qBAAa,8BAA+B,SAAQ,QAAS,YAAW,SAAS,CAAC,8BAA8B;IAC5G,kBAAkB;IAClB,SAAS,IAAI,SAAS,CAAC,oBAAoB;IAO3C,kBAAkB;IACZ,6BAA6B,CAC/B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IAmHvD,kBAAkB;IAClB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAGpE"}
@@ -0,0 +1,12 @@
1
+ import { type editor, type languages, type CancellationToken, Position } from '../../monaco-api.js';
2
+ import { Provider } from './base.js';
3
+ /** @inheritdoc */
4
+ export declare class SignatureHelpProvider extends Provider implements languages.SignatureHelpProvider {
5
+ /** @inheritdoc */
6
+ readonly signatureHelpTriggerCharacters: string[];
7
+ /** @inheritdoc */
8
+ readonly signatureHelpRetriggerCharacters: string[];
9
+ /** @inheritdoc */
10
+ provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: languages.SignatureHelpContext): Promise<languages.SignatureHelpResult | undefined>;
11
+ }
12
+ //# sourceMappingURL=signature-help-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature-help-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/signature-help-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,QAAQ,EAAS,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,kBAAkB;AAClB,qBAAa,qBAAsB,SAAQ,QAAS,YAAW,SAAS,CAAC,qBAAqB;IAC1F,kBAAkB;IAClB,QAAQ,CAAC,8BAA8B,WAAc;IACrD,kBAAkB;IAClB,QAAQ,CAAC,gCAAgC,WAAS;IAClD,kBAAkB;IACZ,oBAAoB,CACtB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,SAAS,CAAC,oBAAoB,GACxC,OAAO,CAAC,SAAS,CAAC,mBAAmB,GAAG,SAAS,CAAC;CAoGxD"}
@@ -0,0 +1,37 @@
1
+ import { type editor, Range, type IPosition, type IRange } from '../monaco-api.js';
2
+ import { type VmAny, type VmFunctionInfo, type VmValue } from '@mirascript/mirascript';
3
+ import type { LocalDefinition } from './compile-result.js';
4
+ /** 参数签名 */
5
+ export type ParamSignature = [name: string, sig: string, doc: string];
6
+ /** 生成函数签名 */
7
+ export declare function fnSignature(id: string | undefined, info: VmFunctionInfo): {
8
+ params: ParamSignature[];
9
+ returns: string;
10
+ /** @inheritdoc */
11
+ toString(): string;
12
+ };
13
+ /** 生成函数参数 */
14
+ export declare function localParamSignature(model: editor.ITextModel, info: NonNullable<LocalDefinition['fn']>): ParamSignature[];
15
+ /** 生成函数参数列表 */
16
+ export declare function paramsList(model: editor.ITextModel, info: VmFunctionInfo | LocalDefinition['fn'] | undefined): string;
17
+ /** 生成函数文档 */
18
+ export declare function globalFnDoc(info: VmFunctionInfo): string[];
19
+ /** 获取代码块格式化字符串 */
20
+ export declare function codeblock(value: string): string;
21
+ /** 检查位置是否在范围内,且范围非空 */
22
+ export declare function strictContainsPosition(range: IRange, position: IPosition): boolean;
23
+ /** 获取单词 */
24
+ export declare function wordAt(model: editor.ITextModel, position: IPosition): {
25
+ word: string;
26
+ range: Range;
27
+ } | undefined;
28
+ /** 将值序列化为便于展示的字符串 */
29
+ export declare function serializeForDisplay(value: VmValue, maxEntries?: number, maxWidth?: number): string;
30
+ /** 获取变量文档 */
31
+ export declare function valueDoc(name: string, value: VmAny, type: 'field' | 'declare' | 'hint'): {
32
+ script: string;
33
+ doc: string[];
34
+ };
35
+ /** 获取深层属性 */
36
+ export declare function getDeep(value: VmAny, path: readonly string[]): VmValue;
37
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lsp/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EASH,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,OAAO,EACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,WAAW;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAmBtE,aAAa;AACb,wBAAgB,WAAW,CACvB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,IAAI,EAAE,cAAc,GACrB;IACC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,QAAQ,IAAI,MAAM,CAAC;CACtB,CAqBA;AACD,aAAa;AACb,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GACzC,cAAc,EAAE,CAqBlB;AAED,eAAe;AACf,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,MAAM,CAWrH;AAED,aAAa;AACb,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CA0B1D;AAED,kBAAkB;AAClB,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED,uBAAuB;AACvB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAElF;AAED,WAAW;AACX,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,SAAS,CAKhH;AA2BD,qBAAqB;AACrB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,SAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CA4D3F;AAED,aAAa;AACb,wBAAgB,QAAQ,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GACnC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CA2DnC;AAED,aAAa;AACb,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAOtE"}
@@ -0,0 +1,5 @@
1
+ import type { editor } from '../monaco-api.js';
2
+ import { CompileResult } from './compile-result.js';
3
+ /** 注册 worker */
4
+ export declare function compile(model: editor.ITextModel): Promise<CompileResult>;
5
+ //# sourceMappingURL=worker-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-helper.d.ts","sourceRoot":"","sources":["../../src/lsp/worker-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAqFpD,gBAAgB;AAChB,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CA8B9E"}
@@ -0,0 +1,22 @@
1
+ import { type CompileResult } from '@mirascript/wasm';
2
+ import type { InputMode } from '@mirascript/mirascript';
3
+ /** Monaco 编译结果 */
4
+ export interface MonacoResult extends CompileResult {
5
+ /** 格式化结果 */
6
+ formatted?: string;
7
+ }
8
+ /** 缓存 Key (id, uri, inputMode) */
9
+ export type CacheKey = `${string}\0${string}\0${InputMode}`;
10
+ /** 请求参数 */
11
+ export type Req = [key: CacheKey, version: number, script: string, mode: InputMode];
12
+ /** 编译结果 */
13
+ export type ResOk = [key: CacheKey, version: number, result: MonacoResult];
14
+ /** 编译结果 */
15
+ export type ResErr = [key: CacheKey, version: number, error: Error];
16
+ /** 编译结果 */
17
+ export type Res = ResOk | ResErr;
18
+ /** Ready */
19
+ export type Ready = 'mirascript lsp ready';
20
+ /** 编译 */
21
+ export declare function compile(script: string, mode: InputMode): MonacoResult;
22
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/lsp/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,aAAa,EAAe,MAAM,kBAAkB,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,kBAAkB;AAClB,MAAM,WAAW,YAAa,SAAQ,aAAa;IAC/C,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,kCAAkC;AAClC,MAAM,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,KAAK,SAAS,EAAE,CAAC;AAC5D,WAAW;AACX,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACpF,WAAW;AACX,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC3E,WAAW;AACX,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpE,WAAW;AACX,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;AACjC,YAAY;AACZ,MAAM,MAAM,KAAK,GAAG,sBAAsB,CAAC;AAiB3C,SAAS;AACT,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,YAAY,CAwBrE"}
@@ -0,0 +1,62 @@
1
+ // src/lsp/worker.ts
2
+ import { createConfig, wasm, ready } from "@mirascript/wasm";
3
+ await ready;
4
+ var configTemplate = createConfig({
5
+ diagnostic_position_encoding: "Utf16",
6
+ track_references: true,
7
+ diagnostic_other: true,
8
+ trivia: true,
9
+ input_mode: "Template"
10
+ });
11
+ var configScript = createConfig({
12
+ diagnostic_position_encoding: "Utf16",
13
+ track_references: true,
14
+ diagnostic_other: true,
15
+ trivia: true,
16
+ input_mode: "Script"
17
+ });
18
+ function compile(script, mode) {
19
+ const config = mode === "Script" ? configScript : configTemplate;
20
+ const compiler = new wasm.MonacoCompiler(script, config);
21
+ try {
22
+ const parseOk = compiler.parse();
23
+ if (!parseOk) {
24
+ return { diagnostics: compiler.diagnostics(), chunk: void 0 };
25
+ }
26
+ const chunk = compiler.emit();
27
+ const formatted = compiler.format();
28
+ return {
29
+ diagnostics: compiler.diagnostics(),
30
+ chunk,
31
+ formatted
32
+ };
33
+ } finally {
34
+ try {
35
+ compiler.free();
36
+ } catch (ex) {
37
+ console.error(ex);
38
+ }
39
+ }
40
+ }
41
+ if (typeof Worker == "function" && typeof addEventListener == "function" && typeof postMessage == "function") {
42
+ addEventListener("message", (event) => {
43
+ const data = event.data;
44
+ if (!Array.isArray(data)) return;
45
+ const [key, version, script, mode] = data;
46
+ try {
47
+ const result = compile(script, mode);
48
+ const transfer = [];
49
+ if (result.chunk) transfer.push(result.chunk.buffer);
50
+ if (result.diagnostics) transfer.push(result.diagnostics.buffer);
51
+ postMessage([key, version, result], { transfer });
52
+ } catch (error) {
53
+ const e = error instanceof Error ? error : new Error(String(error));
54
+ postMessage([key, version, e]);
55
+ }
56
+ });
57
+ postMessage("mirascript lsp ready");
58
+ }
59
+ export {
60
+ compile
61
+ };
62
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/lsp/worker.ts"],
4
+ "mappings": ";AAAA,SAAS,cAAkC,MAAM,aAAa;AAE9D,MAAM;AAqBN,IAAM,iBAAiB,aAAa;AAAA,EAChC,8BAA8B;AAAA,EAC9B,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,YAAY;AAChB,CAAC;AACD,IAAM,eAAe,aAAa;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,YAAY;AAChB,CAAC;AAGM,SAAS,QAAQ,QAAgB,MAA+B;AACnE,QAAM,SAAS,SAAS,WAAW,eAAe;AAClD,QAAM,WAAW,IAAI,KAAK,eAAe,QAAQ,MAAM;AACvD,MAAI;AACA,UAAM,UAAU,SAAS,MAAM;AAC/B,QAAI,CAAC,SAAS;AACV,aAAO,EAAE,aAAa,SAAS,YAAY,GAAG,OAAO,OAAU;AAAA,IACnE;AACA,UAAM,QAAQ,SAAS,KAAK;AAC5B,UAAM,YAAY,SAAS,OAAO;AAClC,WAAO;AAAA,MACH,aAAa,SAAS,YAAY;AAAA,MAClC;AAAA,MACA;AAAA,IACJ;AAAA,EACJ,UAAE;AACE,QAAI;AACA,eAAS,KAAK;AAAA,IAClB,SAAS,IAAI;AAGT,cAAQ,MAAM,EAAE;AAAA,IACpB;AAAA,EACJ;AACJ;AAEA,IAAI,OAAO,UAAU,cAAc,OAAO,oBAAoB,cAAc,OAAO,eAAe,YAAY;AAC1G,mBAAiB,WAAW,CAAC,UAAwB;AACjD,UAAM,OAAO,MAAM;AACnB,QAAI,CAAC,MAAM,QAAQ,IAAI,EAAG;AAC1B,UAAM,CAAC,KAAK,SAAS,QAAQ,IAAI,IAAI;AACrC,QAAI;AACA,YAAM,SAAS,QAAQ,QAAQ,IAAI;AACnC,YAAM,WAAW,CAAC;AAClB,UAAI,OAAO,MAAO,UAAS,KAAK,OAAO,MAAM,MAAM;AACnD,UAAI,OAAO,YAAa,UAAS,KAAK,OAAO,YAAY,MAAM;AAC/D,kBAAY,CAAC,KAAK,SAAS,MAAM,GAAmB,EAAE,SAAS,CAAC;AAAA,IACpE,SAAS,OAAO;AACZ,YAAM,IAAI,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAClE,kBAAY,CAAC,KAAK,SAAS,CAAC,CAAkB;AAAA,IAClD;AAAA,EACJ,CAAC;AACD,cAAY,sBAAsC;AACtD;",
5
+ "names": []
6
+ }
@@ -0,0 +1,16 @@
1
+ import type * as monaco from 'monaco-editor';
2
+ export * from 'monaco-editor';
3
+ export * as monaco from 'monaco-editor';
4
+ /** Monaco Api 属性 */
5
+ export type MonacoApi = {
6
+ Range: typeof monaco.Range;
7
+ Position: typeof monaco.Position;
8
+ Emitter: typeof monaco.Emitter;
9
+ CancellationTokenSource: typeof monaco.CancellationTokenSource;
10
+ Uri: typeof monaco.Uri;
11
+ };
12
+ /**
13
+ * 注册 MiraScript Monaco API,不实际启用任何功能。
14
+ */
15
+ export declare function registerMonacoApi(monacoApi: MonacoApi): void;
16
+ //# sourceMappingURL=monaco-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-api.d.ts","sourceRoot":"","sources":["../src/monaco-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,oBAAoB;AACpB,MAAM,MAAM,SAAS,GAAG;IACpB,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IAC3B,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IACjC,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC/B,uBAAuB,EAAE,OAAO,MAAM,CAAC,uBAAuB,CAAC;IAC/D,GAAG,EAAE,OAAO,MAAM,CAAC,GAAG,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC"}