@descent-vtt/spec-guard 0.10.3 → 0.12.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 (162) hide show
  1. package/CHANGELOG.md +410 -0
  2. package/README.md +385 -27
  3. package/dist/cites.d.ts +192 -0
  4. package/dist/cites.d.ts.map +1 -0
  5. package/dist/cites.js +599 -0
  6. package/dist/cites.js.map +1 -0
  7. package/dist/cli.d.ts +14 -6
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +315 -22
  10. package/dist/cli.js.map +1 -1
  11. package/dist/comments.d.ts +51 -2
  12. package/dist/comments.d.ts.map +1 -1
  13. package/dist/comments.js +353 -57
  14. package/dist/comments.js.map +1 -1
  15. package/dist/config.d.ts +3 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +46 -5
  18. package/dist/config.js.map +1 -1
  19. package/dist/engine.d.ts.map +1 -1
  20. package/dist/engine.js +38 -14
  21. package/dist/engine.js.map +1 -1
  22. package/dist/glob.d.ts +128 -24
  23. package/dist/glob.d.ts.map +1 -1
  24. package/dist/glob.js +304 -61
  25. package/dist/glob.js.map +1 -1
  26. package/dist/impact.d.ts +179 -0
  27. package/dist/impact.d.ts.map +1 -0
  28. package/dist/impact.js +360 -0
  29. package/dist/impact.js.map +1 -0
  30. package/dist/imports.d.ts.map +1 -1
  31. package/dist/imports.js +5 -58
  32. package/dist/imports.js.map +1 -1
  33. package/dist/index.d.ts +13 -5
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +7 -3
  36. package/dist/index.js.map +1 -1
  37. package/dist/mcp.d.ts +16 -75
  38. package/dist/mcp.d.ts.map +1 -1
  39. package/dist/mcp.js +198 -370
  40. package/dist/mcp.js.map +1 -1
  41. package/dist/overlay.d.ts +39 -0
  42. package/dist/overlay.d.ts.map +1 -0
  43. package/dist/overlay.js +133 -0
  44. package/dist/overlay.js.map +1 -0
  45. package/dist/parser.d.ts +41 -24
  46. package/dist/parser.d.ts.map +1 -1
  47. package/dist/parser.js +217 -160
  48. package/dist/parser.js.map +1 -1
  49. package/dist/prove.d.ts +46 -0
  50. package/dist/prove.d.ts.map +1 -0
  51. package/dist/prove.js +549 -0
  52. package/dist/prove.js.map +1 -0
  53. package/dist/query.d.ts +11 -0
  54. package/dist/query.d.ts.map +1 -1
  55. package/dist/query.js +9 -3
  56. package/dist/query.js.map +1 -1
  57. package/dist/reporter.d.ts +139 -1
  58. package/dist/reporter.d.ts.map +1 -1
  59. package/dist/reporter.js +593 -21
  60. package/dist/reporter.js.map +1 -1
  61. package/dist/rules.js +3 -3
  62. package/dist/rules.js.map +1 -1
  63. package/dist/runner.d.ts +24 -1
  64. package/dist/runner.d.ts.map +1 -1
  65. package/dist/runner.js +84 -21
  66. package/dist/runner.js.map +1 -1
  67. package/dist/specs.d.ts +5 -1
  68. package/dist/specs.d.ts.map +1 -1
  69. package/dist/specs.js +5 -1
  70. package/dist/specs.js.map +1 -1
  71. package/dist/structure.d.ts.map +1 -1
  72. package/dist/structure.js +7 -6
  73. package/dist/structure.js.map +1 -1
  74. package/dist/types.d.ts +193 -0
  75. package/dist/types.d.ts.map +1 -1
  76. package/dist/vendor/spec-core/jsonrpc/index.d.ts +3 -0
  77. package/dist/vendor/spec-core/jsonrpc/index.d.ts.map +1 -0
  78. package/dist/vendor/spec-core/jsonrpc/index.js +2 -0
  79. package/dist/vendor/spec-core/jsonrpc/index.js.map +1 -0
  80. package/dist/vendor/spec-core/jsonrpc/mcp.d.ts +158 -0
  81. package/dist/vendor/spec-core/jsonrpc/mcp.d.ts.map +1 -0
  82. package/dist/vendor/spec-core/jsonrpc/mcp.js +353 -0
  83. package/dist/vendor/spec-core/jsonrpc/mcp.js.map +1 -0
  84. package/dist/vendor/spec-core/markdown/frontmatter.d.ts +104 -0
  85. package/dist/vendor/spec-core/markdown/frontmatter.d.ts.map +1 -0
  86. package/dist/vendor/spec-core/markdown/frontmatter.js +459 -0
  87. package/dist/vendor/spec-core/markdown/frontmatter.js.map +1 -0
  88. package/dist/vendor/spec-core/markdown/headings.d.ts +46 -0
  89. package/dist/vendor/spec-core/markdown/headings.d.ts.map +1 -0
  90. package/dist/vendor/spec-core/markdown/headings.js +199 -0
  91. package/dist/vendor/spec-core/markdown/headings.js.map +1 -0
  92. package/dist/vendor/spec-core/markdown/index.d.ts +6 -0
  93. package/dist/vendor/spec-core/markdown/index.d.ts.map +1 -0
  94. package/dist/vendor/spec-core/markdown/index.js +4 -0
  95. package/dist/vendor/spec-core/markdown/index.js.map +1 -0
  96. package/dist/vendor/spec-core/markdown/layout.d.ts +40 -0
  97. package/dist/vendor/spec-core/markdown/layout.d.ts.map +1 -0
  98. package/dist/vendor/spec-core/markdown/layout.js +28 -0
  99. package/dist/vendor/spec-core/markdown/layout.js.map +1 -0
  100. package/dist/vendor/spec-core/markdown/links.d.ts +23 -0
  101. package/dist/vendor/spec-core/markdown/links.d.ts.map +1 -0
  102. package/dist/vendor/spec-core/markdown/links.js +364 -0
  103. package/dist/vendor/spec-core/markdown/links.js.map +1 -0
  104. package/dist/vendor/spec-core/markdown/lists.d.ts +23 -0
  105. package/dist/vendor/spec-core/markdown/lists.d.ts.map +1 -0
  106. package/dist/vendor/spec-core/markdown/lists.js +127 -0
  107. package/dist/vendor/spec-core/markdown/lists.js.map +1 -0
  108. package/dist/vendor/spec-core/markdown/scan.d.ts +37 -0
  109. package/dist/vendor/spec-core/markdown/scan.d.ts.map +1 -0
  110. package/dist/vendor/spec-core/markdown/scan.js +439 -0
  111. package/dist/vendor/spec-core/markdown/scan.js.map +1 -0
  112. package/dist/vendor/spec-core/markdown/syntax.d.ts +76 -0
  113. package/dist/vendor/spec-core/markdown/syntax.d.ts.map +1 -0
  114. package/dist/vendor/spec-core/markdown/syntax.js +181 -0
  115. package/dist/vendor/spec-core/markdown/syntax.js.map +1 -0
  116. package/dist/vendor/spec-core/markdown/tables.d.ts +19 -0
  117. package/dist/vendor/spec-core/markdown/tables.d.ts.map +1 -0
  118. package/dist/vendor/spec-core/markdown/tables.js +86 -0
  119. package/dist/vendor/spec-core/markdown/tables.js.map +1 -0
  120. package/dist/vendor/spec-core/markdown/types.d.ts +288 -0
  121. package/dist/vendor/spec-core/markdown/types.d.ts.map +1 -0
  122. package/dist/vendor/spec-core/markdown/types.js +9 -0
  123. package/dist/vendor/spec-core/markdown/types.js.map +1 -0
  124. package/dist/vendor/spec-core/path/index.d.ts +2 -0
  125. package/dist/vendor/spec-core/path/index.d.ts.map +1 -0
  126. package/dist/vendor/spec-core/path/index.js +2 -0
  127. package/dist/vendor/spec-core/path/index.js.map +1 -0
  128. package/dist/vendor/spec-core/path/posix.d.ts +84 -0
  129. package/dist/vendor/spec-core/path/posix.d.ts.map +1 -0
  130. package/dist/vendor/spec-core/path/posix.js +150 -0
  131. package/dist/vendor/spec-core/path/posix.js.map +1 -0
  132. package/dist/vendor/spec-core/pattern/automaton.d.ts +130 -0
  133. package/dist/vendor/spec-core/pattern/automaton.d.ts.map +1 -0
  134. package/dist/vendor/spec-core/pattern/automaton.js +340 -0
  135. package/dist/vendor/spec-core/pattern/automaton.js.map +1 -0
  136. package/dist/vendor/spec-core/pattern/charset.d.ts +59 -0
  137. package/dist/vendor/spec-core/pattern/charset.d.ts.map +1 -0
  138. package/dist/vendor/spec-core/pattern/charset.js +116 -0
  139. package/dist/vendor/spec-core/pattern/charset.js.map +1 -0
  140. package/dist/vendor/spec-core/pattern/glob.d.ts +122 -0
  141. package/dist/vendor/spec-core/pattern/glob.d.ts.map +1 -0
  142. package/dist/vendor/spec-core/pattern/glob.js +481 -0
  143. package/dist/vendor/spec-core/pattern/glob.js.map +1 -0
  144. package/dist/vendor/spec-core/pattern/index.d.ts +7 -0
  145. package/dist/vendor/spec-core/pattern/index.d.ts.map +1 -0
  146. package/dist/vendor/spec-core/pattern/index.js +4 -0
  147. package/dist/vendor/spec-core/pattern/index.js.map +1 -0
  148. package/dist/vendor/spec-core/pattern/regex.d.ts +68 -0
  149. package/dist/vendor/spec-core/pattern/regex.d.ts.map +1 -0
  150. package/dist/vendor/spec-core/pattern/regex.js +813 -0
  151. package/dist/vendor/spec-core/pattern/regex.js.map +1 -0
  152. package/dist/vendor/spec-core/text/index.d.ts +3 -0
  153. package/dist/vendor/spec-core/text/index.d.ts.map +1 -0
  154. package/dist/vendor/spec-core/text/index.js +2 -0
  155. package/dist/vendor/spec-core/text/index.js.map +1 -0
  156. package/dist/vendor/spec-core/text/lines.d.ts +73 -0
  157. package/dist/vendor/spec-core/text/lines.d.ts.map +1 -0
  158. package/dist/vendor/spec-core/text/lines.js +156 -0
  159. package/dist/vendor/spec-core/text/lines.js.map +1 -0
  160. package/package.json +8 -1
  161. package/src/vendor/spec-core/LICENSE +21 -0
  162. package/src/vendor/spec-core/README.md +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex.js","sourceRoot":"","sources":["../../../../src/vendor/spec-core/pattern/regex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,2EAA2E;AAC3E,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,sCAAsC;IAC7B,MAAM,CAAS;IAExB,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,GAAG,IAAI,CAAC;AAsBzB,mFAAmF;AACnF,MAAM,GAAG,GAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;AAC/F,MAAM,KAAK,GAAqB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/C,MAAM,IAAI,GAAqB;IAC7B,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;CACb,CAAC;AACF,iEAAiE;AACjE,MAAM,KAAK,GAAqB;IAC9B,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,+EAA+E;IAC/E,kEAAkE;IAClE,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,OAAO,CAAC,GAAY,EAAE,IAAY;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAU,CAAC;QAC3C,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACxF,GAAG,GAAG,IAAI,CAAC;YACX,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAClC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,OAAO,CAAC,GAAW,EAAE,IAAY,EAAE,IAAY;IACtD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7C,8EAA8E;IAC9E,uEAAuE;IACvE,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,OAAO,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC;IACrC,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;IAC5F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,GAAY,EAAE,IAAY;IAChD,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;AAClD,CAAC;AAED,SAAS,MAAM,CAAC,MAAwB,EAAE,IAAY;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAU,CAAC;QACjC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAgBD,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,MAAM,aAAa;IACA,MAAM,CAAS;IACxB,QAAQ,GAAG,CAAC,CAAC;IAErB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,sEAAsE;QACtE,2EAA2E;QAC3E,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB;QACtB,MAAM,OAAO,GAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IACtF,CAAC;IAEO,aAAa;QACnB,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;gBAAE,MAAM;YAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,CAAC,CAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC;IAEO,eAAe;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,yCAAyC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,UAAU,CAAC,yDAAyD,EAAE,KAAK,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;IAC1E,CAAC;IAED,iFAAiF;IACzE,eAAe;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,MAAM,GAAwC,IAAI,CAAC;QAEvD,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;aAChD,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;aACrD,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAEnD,IAAI,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;aACnC,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAEjC,sEAAsE;QACtE,yEAAyE;QACzE,4BAA4B;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG;YAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACK,WAAW;QACjB,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,GAAG,GAAG,GAAG;YAAE,MAAM,IAAI,UAAU,CAAC,8CAA8C,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnG,IAAI,CAAC,QAAQ,IAAK,KAAK,CAAC,CAAC,CAAY,CAAC,MAAM,CAAC;QAC7C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,CAAC;IAEO,SAAS;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBACZ,MAAM,IAAI,UAAU,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YAC/E,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,KAAK,GAAG;gBACN,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAClD,KAAK,GAAG;gBACN,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACpC,KAAK,GAAG;gBACN,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YAChD,KAAK,GAAG;gBACN,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC9C,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,MAAM,IAAI,UAAU,CAAC,6BAA6B,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YACpE,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B;gBACE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,UAAU;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEnB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/E,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,QAAQ,IAAK,KAAK,CAAC,CAAC,CAAY,CAAC,MAAM,CAAC;YAC/C,CAAC;iBAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,UAAU,CAClB,6IAA6I,EAC7I,KAAK,CACN,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,UAAU,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG;YAAE,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,UAAU;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;QACpC,IAAI,OAAO;YAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACjE,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAClC,qEAAqE;YACrE,oEAAoE;YACpE,gEAAgE;YAChE,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7G,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxD,IAAI,GAAG,GAAG,IAAI;oBAAE,MAAM,IAAI,UAAU,CAAC,8CAA8C,EAAE,IAAI,CAAC,CAAC;gBAC3F,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG;YAAE,MAAM,IAAI,UAAU,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrF,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,gFAAgF;IACxE,cAAc;QACpB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,GAAI,IAAI,CAAC,IAAI,EAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,4EAA4E;QAC5E,2DAA2D;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,MAAM,IAAI,UAAU,CAAC,oEAAoE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAU,CAAC;YAC3C,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,GAAG,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IACvD,CAAC;IAED,qEAAqE;IAC7D,WAAW;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;QAC7F,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;IAC5D,CAAC;IAED,iEAAiE;IACzD,oBAAoB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,UAAU,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACrF,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEnB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC3C,KAAK,GAAG;gBACN,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC1C,KAAK,GAAG;gBACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1C,KAAK,GAAG;gBACN,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACzC,KAAK,GAAG;gBACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC3C,KAAK,GAAG;gBACN,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC1C,KAAK,GAAG;gBACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,KAAK,GAAG;gBACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,KAAK,GAAG;gBACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,KAAK,GAAG;gBACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,KAAK,GAAG;gBACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,KAAK,GAAG;gBACN,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,UAAU,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAC;gBAC3F,CAAC;gBACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,KAAK,GAAG;gBACN,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACzC,KAAK,GAAG;gBACN,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACzC,KAAK,GAAG,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrD,MAAM,IAAI,UAAU,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACnB,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,GAAG;gBACN,MAAM,IAAI,UAAU,CAClB,+GAA+G,EAC/G,KAAK,CACN,CAAC;YACJ,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,MAAM,IAAI,UAAU,CAClB,MAAM,IAAI,kHAAkH,EAC5H,KAAK,CACN,CAAC;YACJ;gBACE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,UAAU,CAClB,4FAA4F,EAC5F,KAAK,CACN,CAAC;gBACJ,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,mEAAmE;oBACnE,sEAAsE;oBACtE,yDAAyD;oBACzD,MAAM,IAAI,UAAU,CAAC,qBAAqB,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,MAAc,EAAE,KAAa;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,UAAU,CAAC,YAAY,MAAM,wBAAwB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAW,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;QACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAEO,IAAI;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;CACF;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,IAAI,CAAC,MAAe,EAAE,IAA+B;IAC5D,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;;QACnD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,MAAwB;IACtC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,GAAG,GAAG,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,IAAI,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC;AA0BD,MAAM,QAAQ;IACH,IAAI,GAAkB,EAAE,CAAC;IAE1B,GAAG,CAAwB,WAAc;QAC/C,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAClB,6FAA6F,WAAW,SAAS,EACjH,CAAC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,IAAU;QAChB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO;YACT,KAAK,MAAM;gBACT,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxC,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACtD,OAAO;YACT,KAAK,QAAQ;gBACX,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;oBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO;YACT,KAAK,WAAW,EAAE,CAAC;gBACjB,qEAAqE;gBACrE,sEAAsE;gBACtE,mCAAmC;gBACnC,MAAM,IAAI,GAAW,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpD,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;oBACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAS,CAAC,CAAC;oBACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3C,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBACtB,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAS,CAAC,CAAC;gBAC5D,KAAK,MAAM,GAAG,IAAI,IAAI;oBAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC3C,OAAO;YACT,CAAC;YACD,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3C,OAAO;QACX,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,IAAU,EAAE,GAAW,EAAE,GAAW;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,iDAAiD;QACjD,MAAM,KAAK,GAAY,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,KAAK;YAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACjD,CAAC;CACF;AAyBD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,OAAO,GAAiB,EAAE;IACrE,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,CAAC;IACrB,2EAA2E;IAC3E,sEAAsE;IACtE,yEAAyE;IACzE,6CAA6C;IAC7C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;IAC/F,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;QAC1B,IAAI,EAAE,CAAC,OAAe,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,cAAc,CAAC,IAAU;IAChC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;QACpC,KAAK,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB,iFAAiF;AACjF,MAAM,OAAO,GAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,OAAO;IACM,GAAG,CAAa;IACjC,kDAAkD;IACjC,KAAK,CAAa;IACnC,+BAA+B;IACd,MAAM,CAAa;IACnB,IAAI,CAAY;IAChB,UAAU,CAAc;IACxB,QAAQ,CAAU;IAClB,UAAU,CAAU;IAErC;;;OAGG;IACc,OAAO,CAAa;IACrC,qEAAqE;IACpD,KAAK,CAAa;IAC3B,IAAI,CAAa;IACjB,IAAI,CAAa;IAEzB,YAAY,IAA4B,EAAE,QAAiB,EAAE,UAAmB;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAU,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAY,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE;YAC/B,QAAQ,WAAW,CAAC,EAAE,EAAE,CAAC;gBACvB,KAAK,MAAM;oBACT,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;oBAChC,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;oBACxB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;oBAChC,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC;oBAC5C,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;oBACxB,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,IAAI,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;YACzD,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACrD,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvB,0EAA0E;gBAC1E,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,QAAQ,KAAK,MAAM;gBAAE,OAAO,KAAK,CAAC;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAY,CAAC;gBACrC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAAE,SAAS;gBAClF,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;gBACpE,IAAI,QAAQ,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;YAChC,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC;YACnB,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,GAAG,KAAK,CAAC;YACb,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,IAAI,CAAC,IAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,OAAe,EAAE,QAAgB;QAC7F,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACpD,IAAI,KAAK,GAAG,MAAM,CAAC;QACnB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAW,CAAC;YAClC,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,QAAQ;gBAAE,SAAS;YACvC,OAAO,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;YACvB,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChB,KAAK,QAAQ;oBACX,OAAO,CAAC,CAAC,CAAC;gBACZ,KAAK,OAAO;oBACV,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAW,CAAC;oBACnC,MAAM;gBACR,KAAK,QAAQ;oBACX,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAW,CAAC;oBACpC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAW,CAAC;oBACnC,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAc,EAAE,OAAO,EAAE,QAAQ,CAAC;wBAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACtF,MAAM;gBACR;oBACE,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,SAAS,KAAK,CAAC,SAAoB,EAAE,OAAe,EAAE,QAAgB;IACpE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,QAAQ,KAAK,CAAC,CAAC;QACxB,KAAK,KAAK;YACR,OAAO,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC;QACrC,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,eAAe,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { createLineIndex, inRanges, lineEnding, lineStarts, locate, maskRanges, mergeRanges, splitLines, stripBom, } from './lines.js';
2
+ export type { LineIndex, Position, Range } from './lines.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vendor/spec-core/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createLineIndex, inRanges, lineEnding, lineStarts, locate, maskRanges, mergeRanges, splitLines, stripBom, } from './lines.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vendor/spec-core/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,GACT,MAAM,YAAY,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Lines, offsets and masks.
3
+ *
4
+ * Every finding a spec-* tool reports points at a line and a column, and every
5
+ * structure the scanner builds carries raw offsets rather than copies of the
6
+ * text. Converting between the two is on the hot path, so the line table is
7
+ * built once per file and searched by bisection.
8
+ *
9
+ * All three line terminators end a line - `\n`, `\r\n` and a lone `\r`, as
10
+ * CommonMark has it - and `\r\n` counts once. A Windows checkout of a document
11
+ * must produce the line numbers a POSIX checkout does.
12
+ */
13
+ export interface Position {
14
+ /** UTF-16 offset into the text. */
15
+ readonly offset: number;
16
+ /** 1-based. */
17
+ readonly line: number;
18
+ /** 1-based, in UTF-16 code units. */
19
+ readonly column: number;
20
+ }
21
+ export interface LineIndex {
22
+ /** Number of lines. A final terminator does not open a line of its own. */
23
+ readonly lineCount: number;
24
+ /** Offset at which a 1-based line starts. Out-of-range lines are clamped. */
25
+ lineStart(line: number): number;
26
+ /** Offset just past a 1-based line, before its terminator. */
27
+ lineEnd(line: number): number;
28
+ /** A 1-based line without its terminator. */
29
+ lineText(line: number): string;
30
+ /** The line and column of an offset. Out-of-range offsets are clamped. */
31
+ positionAt(offset: number): Position;
32
+ }
33
+ /** Offsets at which each line starts; index 0 is line 1. */
34
+ export declare function lineStarts(text: string): number[];
35
+ /** Builds the line table for a text. */
36
+ export declare function createLineIndex(text: string): LineIndex;
37
+ /**
38
+ * The line and column of an offset, by bisection over a line table.
39
+ *
40
+ * The search is half-open: `high` is one past the last candidate, and it
41
+ * narrows until one is left. There is no `- 1` to get wrong.
42
+ */
43
+ export declare function locate(starts: readonly number[], offset: number): Position;
44
+ /** A half-open range of offsets. */
45
+ export interface Range {
46
+ readonly start: number;
47
+ readonly end: number;
48
+ }
49
+ /** Sorts and merges ranges; touching ranges merge. Empty ranges vanish. */
50
+ export declare function mergeRanges(ranges: readonly Range[]): Range[];
51
+ /** Whether an offset lies in one of a list of merged, sorted ranges. */
52
+ export declare function inRanges(merged: readonly Range[], offset: number): boolean;
53
+ /**
54
+ * Blanks the given ranges with spaces, keeping every other character and
55
+ * every line terminator where it was.
56
+ *
57
+ * Offsets survive a mask, which is the point: something found at offset 400
58
+ * of the masked text is at offset 400 of the original, on the same line. The
59
+ * replacement walks UTF-16 code units, so a surrogate pair becomes two spaces
60
+ * and every later offset still lands where it did.
61
+ */
62
+ export declare function maskRanges(text: string, ranges: readonly Range[]): string;
63
+ /** A text without a leading byte-order mark. */
64
+ export declare function stripBom(text: string): string;
65
+ /** The terminator a text mostly uses; `\n` when it has none or they tie. */
66
+ export declare function lineEnding(text: string): '\n' | '\r\n';
67
+ /**
68
+ * The lines of a text, without terminators. Unlike the line table, a final
69
+ * terminator does produce a last, empty line, so that joining the lines with
70
+ * the same terminator gives the text back byte for byte.
71
+ */
72
+ export declare function splitLines(text: string): string[];
73
+ //# sourceMappingURL=lines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lines.d.ts","sourceRoot":"","sources":["../../../../src/vendor/spec-core/text/lines.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,QAAQ;IACvB,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,eAAe;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,8DAA8D;IAC9D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,0EAA0E;IAC1E,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;CACtC;AAKD,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAejD;AAED,wCAAwC;AACxC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAqBvD;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAS1E;AAED,oCAAoC;AACpC,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,KAAK,EAAE,CAS7D;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAW1E;AAID;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,CAazE;AAED,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAQtD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjD"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Lines, offsets and masks.
3
+ *
4
+ * Every finding a spec-* tool reports points at a line and a column, and every
5
+ * structure the scanner builds carries raw offsets rather than copies of the
6
+ * text. Converting between the two is on the hot path, so the line table is
7
+ * built once per file and searched by bisection.
8
+ *
9
+ * All three line terminators end a line - `\n`, `\r\n` and a lone `\r`, as
10
+ * CommonMark has it - and `\r\n` counts once. A Windows checkout of a document
11
+ * must produce the line numbers a POSIX checkout does.
12
+ */
13
+ const LF = 10;
14
+ const CR = 13;
15
+ /** Offsets at which each line starts; index 0 is line 1. */
16
+ export function lineStarts(text) {
17
+ const starts = [0];
18
+ for (let i = 0; i < text.length; i += 1) {
19
+ const ch = text.charCodeAt(i);
20
+ if (ch === LF) {
21
+ starts.push(i + 1);
22
+ }
23
+ else if (ch === CR) {
24
+ if (text.charCodeAt(i + 1) === LF)
25
+ i += 1;
26
+ starts.push(i + 1);
27
+ }
28
+ }
29
+ // A terminator at the very end opens a line that holds nothing; an editor
30
+ // does not count it, and neither does this.
31
+ if (starts.length > 1 && starts[starts.length - 1] === text.length)
32
+ starts.pop();
33
+ return starts;
34
+ }
35
+ /** Builds the line table for a text. */
36
+ export function createLineIndex(text) {
37
+ const starts = lineStarts(text);
38
+ const lineCount = starts.length;
39
+ const clamp = (line) => (line < 1 ? 1 : line > lineCount ? lineCount : line);
40
+ const startOf = (line) => starts[clamp(line) - 1];
41
+ const endOf = (line) => {
42
+ const index = clamp(line);
43
+ const start = starts[index - 1];
44
+ let end = index === lineCount ? text.length : starts[index];
45
+ // At most two terminator characters, and never past the line's own start.
46
+ if (end > start && text.charCodeAt(end - 1) === LF)
47
+ end -= 1;
48
+ if (end > start && text.charCodeAt(end - 1) === CR)
49
+ end -= 1;
50
+ return end;
51
+ };
52
+ return {
53
+ lineCount,
54
+ lineStart: startOf,
55
+ lineEnd: endOf,
56
+ lineText: (line) => text.slice(startOf(line), endOf(line)),
57
+ positionAt: (offset) => locate(starts, offset < 0 ? 0 : offset > text.length ? text.length : offset),
58
+ };
59
+ }
60
+ /**
61
+ * The line and column of an offset, by bisection over a line table.
62
+ *
63
+ * The search is half-open: `high` is one past the last candidate, and it
64
+ * narrows until one is left. There is no `- 1` to get wrong.
65
+ */
66
+ export function locate(starts, offset) {
67
+ let low = 0;
68
+ let high = starts.length;
69
+ while (high - low > 1) {
70
+ const mid = (low + high) >> 1;
71
+ if (starts[mid] <= offset)
72
+ low = mid;
73
+ else
74
+ high = mid;
75
+ }
76
+ return { offset, line: low + 1, column: offset - starts[low] + 1 };
77
+ }
78
+ /** Sorts and merges ranges; touching ranges merge. Empty ranges vanish. */
79
+ export function mergeRanges(ranges) {
80
+ const sorted = ranges.filter((r) => r.end > r.start).sort((a, b) => a.start - b.start || a.end - b.end);
81
+ const out = [];
82
+ for (const range of sorted) {
83
+ const last = out[out.length - 1];
84
+ if (last !== undefined && range.start <= last.end)
85
+ last.end = Math.max(last.end, range.end);
86
+ else
87
+ out.push({ start: range.start, end: range.end });
88
+ }
89
+ return out;
90
+ }
91
+ /** Whether an offset lies in one of a list of merged, sorted ranges. */
92
+ export function inRanges(merged, offset) {
93
+ let low = 0;
94
+ let high = merged.length;
95
+ while (low < high) {
96
+ const mid = (low + high) >> 1;
97
+ const range = merged[mid];
98
+ if (offset < range.start)
99
+ high = mid;
100
+ else if (offset >= range.end)
101
+ low = mid + 1;
102
+ else
103
+ return true;
104
+ }
105
+ return false;
106
+ }
107
+ const NOT_A_TERMINATOR = /[^\n\r]/g;
108
+ /**
109
+ * Blanks the given ranges with spaces, keeping every other character and
110
+ * every line terminator where it was.
111
+ *
112
+ * Offsets survive a mask, which is the point: something found at offset 400
113
+ * of the masked text is at offset 400 of the original, on the same line. The
114
+ * replacement walks UTF-16 code units, so a surrogate pair becomes two spaces
115
+ * and every later offset still lands where it did.
116
+ */
117
+ export function maskRanges(text, ranges) {
118
+ const merged = mergeRanges(ranges);
119
+ if (merged.length === 0)
120
+ return text;
121
+ let out = '';
122
+ let cursor = 0;
123
+ for (const range of merged) {
124
+ const start = Math.min(range.start, text.length);
125
+ const end = Math.min(range.end, text.length);
126
+ out += text.slice(cursor, start);
127
+ out += text.slice(start, end).replace(NOT_A_TERMINATOR, ' ');
128
+ cursor = end;
129
+ }
130
+ return out + text.slice(cursor);
131
+ }
132
+ /** A text without a leading byte-order mark. */
133
+ export function stripBom(text) {
134
+ return text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
135
+ }
136
+ /** The terminator a text mostly uses; `\n` when it has none or they tie. */
137
+ export function lineEnding(text) {
138
+ let crlf = 0;
139
+ let lf = 0;
140
+ for (let i = text.indexOf('\n'); i >= 0; i = text.indexOf('\n', i + 1)) {
141
+ if (i > 0 && text.charCodeAt(i - 1) === CR)
142
+ crlf += 1;
143
+ else
144
+ lf += 1;
145
+ }
146
+ return crlf > lf ? '\r\n' : '\n';
147
+ }
148
+ /**
149
+ * The lines of a text, without terminators. Unlike the line table, a final
150
+ * terminator does produce a last, empty line, so that joining the lines with
151
+ * the same terminator gives the text back byte for byte.
152
+ */
153
+ export function splitLines(text) {
154
+ return text.split(/\r\n|\n|\r/);
155
+ }
156
+ //# sourceMappingURL=lines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lines.js","sourceRoot":"","sources":["../../../../src/vendor/spec-core/text/lines.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descent-vtt/spec-guard",
3
- "version": "0.10.3",
3
+ "version": "0.12.0",
4
4
  "description": "Executable architecture assertions for Markdown specs & ADRs.",
5
5
  "keywords": [
6
6
  "adr",
@@ -32,6 +32,7 @@
32
32
  "files": [
33
33
  "bin",
34
34
  "dist",
35
+ "src/vendor/spec-core/LICENSE",
35
36
  "CHANGELOG.md",
36
37
  "README.md",
37
38
  "LICENSE"
@@ -71,6 +72,12 @@
71
72
  "specs": [
72
73
  "docs/**/*.md",
73
74
  "README.md"
75
+ ],
76
+ "exclude": [
77
+ "dist",
78
+ "coverage",
79
+ "reports",
80
+ "tests/fixtures"
74
81
  ]
75
82
  },
76
83
  "overrides": {
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 spec-core contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,8 @@
1
+ # Vendored from spec-core
2
+
3
+ These files are copies of modules from
4
+ [spec-core](https://github.com/DescentVTT/spec-core), byte for byte. Do not edit them here: change
5
+ spec-core, then run `node scripts/vendor.mjs --into <this tool>` there.
6
+ `VENDOR.json` records the commit and the SHA-256 of every file, and this
7
+ tool's tests fail when a file no longer matches its hash. `LICENSE` is
8
+ spec-core's, and ships in this tool's package with the compiled copies.