@moda-editor/core 0.2.0 → 0.2.2

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 (156) hide show
  1. package/dist/collab.d.ts +7 -0
  2. package/dist/collab.d.ts.map +1 -1
  3. package/dist/collab.js +29 -8
  4. package/dist/collab.js.map +1 -1
  5. package/dist/commands.d.ts +35 -1
  6. package/dist/commands.d.ts.map +1 -1
  7. package/dist/commands.js +144 -36
  8. package/dist/commands.js.map +1 -1
  9. package/dist/editor/editor.d.ts +6 -0
  10. package/dist/editor/editor.d.ts.map +1 -1
  11. package/dist/editor/editor.js +14 -4
  12. package/dist/editor/editor.js.map +1 -1
  13. package/dist/features/ace.d.ts.map +1 -1
  14. package/dist/features/ace.js +6 -0
  15. package/dist/features/ace.js.map +1 -1
  16. package/dist/features/alignment.d.ts.map +1 -1
  17. package/dist/features/alignment.js +6 -0
  18. package/dist/features/alignment.js.map +1 -1
  19. package/dist/features/block-dnd.d.ts.map +1 -1
  20. package/dist/features/block-dnd.js +6 -1
  21. package/dist/features/block-dnd.js.map +1 -1
  22. package/dist/features/blockquote.d.ts.map +1 -1
  23. package/dist/features/blockquote.js +40 -11
  24. package/dist/features/blockquote.js.map +1 -1
  25. package/dist/features/code-block.d.ts.map +1 -1
  26. package/dist/features/code-block.js +21 -9
  27. package/dist/features/code-block.js.map +1 -1
  28. package/dist/features/code-context.d.ts.map +1 -1
  29. package/dist/features/code-context.js +3 -1
  30. package/dist/features/code-context.js.map +1 -1
  31. package/dist/features/code-edit.d.ts.map +1 -1
  32. package/dist/features/code-edit.js +25 -4
  33. package/dist/features/code-edit.js.map +1 -1
  34. package/dist/features/code-format.d.ts.map +1 -1
  35. package/dist/features/code-format.js +131 -42
  36. package/dist/features/code-format.js.map +1 -1
  37. package/dist/features/doc.d.ts.map +1 -1
  38. package/dist/features/doc.js +36 -13
  39. package/dist/features/doc.js.map +1 -1
  40. package/dist/features/heading.d.ts.map +1 -1
  41. package/dist/features/heading.js +10 -3
  42. package/dist/features/heading.js.map +1 -1
  43. package/dist/features/horizontal-rule.d.ts.map +1 -1
  44. package/dist/features/horizontal-rule.js +34 -8
  45. package/dist/features/horizontal-rule.js.map +1 -1
  46. package/dist/features/image.d.ts.map +1 -1
  47. package/dist/features/image.js +25 -6
  48. package/dist/features/image.js.map +1 -1
  49. package/dist/features/inline-style.d.ts.map +1 -1
  50. package/dist/features/inline-style.js +48 -22
  51. package/dist/features/inline-style.js.map +1 -1
  52. package/dist/features/link.d.ts.map +1 -1
  53. package/dist/features/link.js +43 -17
  54. package/dist/features/link.js.map +1 -1
  55. package/dist/features/lists.d.ts.map +1 -1
  56. package/dist/features/lists.js +31 -14
  57. package/dist/features/lists.js.map +1 -1
  58. package/dist/features/markdown.d.ts.map +1 -1
  59. package/dist/features/markdown.js +7 -1
  60. package/dist/features/markdown.js.map +1 -1
  61. package/dist/features/marks.d.ts.map +1 -1
  62. package/dist/features/marks.js +31 -13
  63. package/dist/features/marks.js.map +1 -1
  64. package/dist/features/mention.d.ts.map +1 -1
  65. package/dist/features/mention.js +11 -0
  66. package/dist/features/mention.js.map +1 -1
  67. package/dist/features/script.d.ts.map +1 -1
  68. package/dist/features/script.js +5 -2
  69. package/dist/features/script.js.map +1 -1
  70. package/dist/features/search.d.ts.map +1 -1
  71. package/dist/features/search.js +62 -15
  72. package/dist/features/search.js.map +1 -1
  73. package/dist/features/table.d.ts.map +1 -1
  74. package/dist/features/table.js +74 -17
  75. package/dist/features/table.js.map +1 -1
  76. package/dist/features/task-list.d.ts.map +1 -1
  77. package/dist/features/task-list.js +23 -3
  78. package/dist/features/task-list.js.map +1 -1
  79. package/dist/history.d.ts.map +1 -1
  80. package/dist/history.js +64 -7
  81. package/dist/history.js.map +1 -1
  82. package/dist/index.d.ts +4 -3
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +4 -3
  85. package/dist/index.js.map +1 -1
  86. package/dist/parse/html.d.ts.map +1 -1
  87. package/dist/parse/html.js +91 -16
  88. package/dist/parse/html.js.map +1 -1
  89. package/dist/parse/sanitize.d.ts +6 -0
  90. package/dist/parse/sanitize.d.ts.map +1 -1
  91. package/dist/parse/sanitize.js +39 -3
  92. package/dist/parse/sanitize.js.map +1 -1
  93. package/dist/presets/markdown-parse.d.ts.map +1 -1
  94. package/dist/presets/markdown-parse.js +155 -33
  95. package/dist/presets/markdown-parse.js.map +1 -1
  96. package/dist/presets/markdown.d.ts.map +1 -1
  97. package/dist/presets/markdown.js +59 -13
  98. package/dist/presets/markdown.js.map +1 -1
  99. package/dist/state/apply.d.ts +1 -1
  100. package/dist/state/apply.d.ts.map +1 -1
  101. package/dist/state/apply.js +34 -8
  102. package/dist/state/apply.js.map +1 -1
  103. package/dist/state/delete-ops.d.ts.map +1 -1
  104. package/dist/state/delete-ops.js +13 -21
  105. package/dist/state/delete-ops.js.map +1 -1
  106. package/dist/state/insert-ops.d.ts +5 -2
  107. package/dist/state/insert-ops.d.ts.map +1 -1
  108. package/dist/state/insert-ops.js +7 -5
  109. package/dist/state/insert-ops.js.map +1 -1
  110. package/dist/state/list-ops.d.ts.map +1 -1
  111. package/dist/state/list-ops.js +74 -10
  112. package/dist/state/list-ops.js.map +1 -1
  113. package/dist/state/navigate.d.ts.map +1 -1
  114. package/dist/state/navigate.js +13 -4
  115. package/dist/state/navigate.js.map +1 -1
  116. package/dist/state/resolve-insert.d.ts.map +1 -1
  117. package/dist/state/resolve-insert.js +42 -4
  118. package/dist/state/resolve-insert.js.map +1 -1
  119. package/dist/state/selection.d.ts +9 -0
  120. package/dist/state/selection.d.ts.map +1 -1
  121. package/dist/state/selection.js +25 -1
  122. package/dist/state/selection.js.map +1 -1
  123. package/dist/state/slice-ops.d.ts +3 -0
  124. package/dist/state/slice-ops.d.ts.map +1 -1
  125. package/dist/state/slice-ops.js +44 -11
  126. package/dist/state/slice-ops.js.map +1 -1
  127. package/dist/state/state.d.ts.map +1 -1
  128. package/dist/state/state.js +27 -8
  129. package/dist/state/state.js.map +1 -1
  130. package/dist/state/transaction.d.ts +11 -3
  131. package/dist/state/transaction.d.ts.map +1 -1
  132. package/dist/state/transaction.js +37 -4
  133. package/dist/state/transaction.js.map +1 -1
  134. package/dist/theme.d.ts.map +1 -1
  135. package/dist/theme.js +5 -1
  136. package/dist/theme.js.map +1 -1
  137. package/dist/view/decoration.d.ts.map +1 -1
  138. package/dist/view/decoration.js +39 -35
  139. package/dist/view/decoration.js.map +1 -1
  140. package/dist/view/hook-ctx.d.ts.map +1 -1
  141. package/dist/view/hook-ctx.js +30 -9
  142. package/dist/view/hook-ctx.js.map +1 -1
  143. package/dist/view/ime.d.ts +6 -0
  144. package/dist/view/ime.d.ts.map +1 -1
  145. package/dist/view/ime.js +9 -3
  146. package/dist/view/ime.js.map +1 -1
  147. package/dist/view/input.d.ts.map +1 -1
  148. package/dist/view/input.js +53 -9
  149. package/dist/view/input.js.map +1 -1
  150. package/dist/view/node-selection.d.ts.map +1 -1
  151. package/dist/view/node-selection.js +6 -1
  152. package/dist/view/node-selection.js.map +1 -1
  153. package/dist/view/render.d.ts.map +1 -1
  154. package/dist/view/render.js +37 -4
  155. package/dist/view/render.js.map +1 -1
  156. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { createDoc } from "../model/node.js";
2
+ import { isSafeUrl } from "../parse/sanitize.js";
2
3
  /**
3
4
  * Markdown → doc 노드 파서 — serializeToMarkdown의 역방향.
4
5
  *
@@ -17,12 +18,30 @@ import { createDoc } from "../model/node.js";
17
18
  */
18
19
  // ── 블록 토큰 ─────────────────────────────────────────────
19
20
  const RE_BLANK = /^\s*$/;
20
- const RE_FENCE = /^ {0,3}```([^`]*)\s*$/;
21
+ // 펜스 코드 — 여는 마커 런 길이를 기억한다 (serializer가 내용 속 ```를
22
+ // 피해 더 긴 fence를 쓴다). 백틱과 ~ 모두 펜스다 (CommonMark/GFM) —
23
+ // ~는 info 문자열에 백틱을 허용하지만 여기선 같은 제한을 둔다
24
+ const RE_FENCE = /^ {0,3}(`{3,}|~{3,})[ \t]*([^`]*?)[ \t]*$/;
21
25
  const RE_HEADING = /^ {0,3}(#{1,6})[ \t]+(.*)$/;
22
- const RE_HR = /^ {0,3}(?:\*{3,}|-{3,}|_{3,})[ \t]*$/;
26
+ // 구분선은 같은 마커 3개 이상 — 문자 사이의 공백도 허용한다
27
+ // (CommonMark: "- - -"와 "* * *"도 구분선)
28
+ const RE_HR = /^ {0,3}(?:(\*[ \t]*){3,}|(-[ \t]*){3,}|(_[ \t]*){3,})$/;
29
+ // setext 제목 밑줄 — ===는 h1, ---는 h2 (---는 RE_HR과 겹치지만
30
+ // 문단 직후에 오면 setext가 우선한다 — CommonMark 우선순위)
31
+ const RE_SETEXT = /^ {0,3}(=+|-+)[ \t]*$/;
23
32
  const RE_QUOTE = /^ {0,3}>[ \t]?(.*)$/;
24
33
  const RE_LIST = /^(\s*)([-*+]|\d{1,9}[.)])[ \t]+(.*)$/;
25
34
  const RE_TABLE_SEP = /^ {0,3}\|?[ \t]*:?-+:?[ \t]*(\|[ \t]*:?-+:?[ \t]*)+\|?[ \t]*$/;
35
+ /**
36
+ * 리스트 라인이 문단을 끊을 수 있는가 — CommonMark는 1로 시작하지
37
+ * 않는 순서 리스트와 빈 아이템의 문단 중단을 허용하지 않는다.
38
+ * "본문.\n2. 이어지는 문장" 같은 서수 오인을 막는다
39
+ */
40
+ function listInterruptsParagraph(m) {
41
+ if (!m[3].trim())
42
+ return false;
43
+ return !/\d/.test(m[2]) || m[2].replace(/[.)]$/, "") === "1";
44
+ }
26
45
  /** 문단 수집을 끝내는 블록 시작 라인인가 (표는 다음 줄을 봐야 하므로 별도) */
27
46
  function isBlockStart(line) {
28
47
  return (RE_FENCE.test(line) ||
@@ -44,17 +63,23 @@ function parseBlocks(lines) {
44
63
  i++;
45
64
  continue;
46
65
  }
47
- // 펜스 코드 — 닫는 ```까지 원문 그대로
66
+ // 펜스 코드 — 닫는 fence는 여는 런보다 짧을 수 없다 (CommonMark).
67
+ // 고정 ``` 탐색은 ``````처럼 긴 fence도 닫아 열고 닫는 런이 어긋난다
48
68
  const fence = RE_FENCE.exec(line);
49
69
  if (fence) {
70
+ const openLen = fence[1].length;
71
+ // 닫는 펜스는 여는 마커와 같은 문자만 된다 — `는 ~를, ~는 `를
72
+ // 닫지 못한다
73
+ const fc = fence[1][0];
74
+ const closeRe = new RegExp(`^ {0,3}${fc === "~" ? "~" : "`"}{${openLen},}[ \t]*$`);
50
75
  const code = [];
51
76
  i++;
52
- while (i < lines.length && !RE_FENCE.test(lines[i])) {
77
+ while (i < lines.length && !closeRe.test(lines[i])) {
53
78
  code.push(lines[i]);
54
79
  i++;
55
80
  }
56
81
  i++; // 닫는 펜스 (없으면 끝까지 소비)
57
- const lang = fence[1].trim();
82
+ const lang = fence[2].trim();
58
83
  out.push({
59
84
  type: "codeBlock",
60
85
  ...(lang ? { attrs: { language: lang } } : {}),
@@ -64,10 +89,12 @@ function parseBlocks(lines) {
64
89
  }
65
90
  const h = RE_HEADING.exec(line);
66
91
  if (h) {
92
+ // 닫는 # 열은 앞에 공백이 있을 때만 제거한다 — [ \t#]+$는
93
+ // "# C#"처럼 내용 끝의 #도 먹는다 (CommonMark 닫는 열 규칙)
67
94
  out.push({
68
95
  type: "heading",
69
96
  attrs: { level: h[1].length },
70
- content: parseInlines(h[2].replace(/[ \t#]+$/, "")),
97
+ content: parseInlines(h[2].replace(/[ \t]+#+[ \t]*$/, "")),
71
98
  });
72
99
  i++;
73
100
  continue;
@@ -106,18 +133,52 @@ function parseBlocks(lines) {
106
133
  }
107
134
  // 문단 — 빈 줄이나 다른 블록 시작까지
108
135
  const buf = [];
109
- while (i < lines.length &&
110
- !RE_BLANK.test(lines[i]) &&
111
- !(buf.length > 0 && isBlockStart(lines[i])) &&
112
- !(buf.length > 0 &&
113
- lines[i].includes("|") &&
114
- RE_TABLE_SEP.test(lines[i + 1] ?? ""))) {
136
+ let setext = 0;
137
+ while (i < lines.length && !RE_BLANK.test(lines[i])) {
138
+ if (buf.length > 0) {
139
+ // setext 제목 — 문단 다음 줄의 ===/--- 밑줄 (---는 RE_HR보다
140
+ // 먼저 검사해야 문단을 h2로 잇는다 — CommonMark 우선순위)
141
+ const st = RE_SETEXT.exec(lines[i]);
142
+ if (st) {
143
+ setext = st[1].startsWith("=") ? 1 : 2;
144
+ i++;
145
+ break;
146
+ }
147
+ if (isBlockStart(lines[i])) {
148
+ // 2. 로 시작하는 이음 문장처럼 문단을 끊지 못하는 리스트
149
+ // 마커는 문단 텍스트로 남긴다
150
+ const li = RE_LIST.exec(lines[i]);
151
+ if (!li || listInterruptsParagraph(li))
152
+ break;
153
+ }
154
+ if (lines[i].includes("|") && RE_TABLE_SEP.test(lines[i + 1] ?? ""))
155
+ break;
156
+ }
115
157
  buf.push(lines[i]);
116
158
  i++;
117
159
  }
118
- // 줄 끝 공백 2개 = hardBreak (serializer 계약) — 이스케이프가
119
- // 인라인 파싱 전에 적용되도록 \u0000 센티널로 번역한다
120
- const src = buf.join("\n").replace(/ {2,}\n/g, "\u0000");
160
+ if (setext) {
161
+ out.push({
162
+ type: "heading",
163
+ attrs: { level: setext },
164
+ content: parseInlines(buf.join("\n")),
165
+ });
166
+ continue;
167
+ }
168
+ // 줄 끝 공백 2개 또는 백슬래시 = hardBreak (CommonMark) —
169
+ // 이스케이프가 인라인 파싱 전에 적용되도록 \u0000 센티널로 번역한다.
170
+ // 짝수개 백슬래시 뒤 개행은 이스케이프된 \ + soft break라 건드리지
171
+ // 않는다 — 홀수 마지막 하나만 개행 마커다
172
+ const src = buf
173
+ .join("\n")
174
+ .replace(/ {2,}\n/g, "\u0000")
175
+ // 백슬래시 런을 통째로 본다 — 부분 매칭은 짝수 런(이스케이프된 \\)
176
+ // 의 뒤쪽 \\ 를 개행 마커로 오인한다. 홀수 런의 마지막 \\만 개행이고
177
+ // 앞의 짝수 쌍은 리터럴로 남긴다
178
+ .replace(/\\+\n/g, (m) => {
179
+ const n = m.length - 1;
180
+ return n % 2 ? "\\".repeat(n - 1) + "\u0000" : m;
181
+ });
121
182
  out.push({ type: "paragraph", content: parseInlines(src) });
122
183
  }
123
184
  return out;
@@ -131,6 +192,10 @@ function parseList(lines, start) {
131
192
  // 첫 아이템이 체크박스면 taskList — GFM 관례상 리스트 전체가 taskItem
132
193
  const task = /^\[[ xX]\]\s+/.test(first[3]);
133
194
  const items = [];
195
+ // 현재 아이템 내용의 시작 열 — 마커 폭이 아이템마다 다르다
196
+ // ("9. "는 3, "10. "는 4). 고정 base+2로 벗기면 두 자릿수
197
+ // 마커부터 들여쓰기가 남아 내용이 어긋난다
198
+ let itemCol = base + 2;
134
199
  let i = start;
135
200
  while (i < lines.length) {
136
201
  const l = lines[i];
@@ -139,14 +204,16 @@ function parseList(lines, start) {
139
204
  const m = RE_LIST.exec(l);
140
205
  if (m && m[1].length === base) {
141
206
  items.push([m[3]]);
207
+ // m[0] 전체 길이에서 내용을 빼면 내용 시작 열이다
208
+ itemCol = m[0].length - m[3].length;
142
209
  i++;
143
210
  continue;
144
211
  }
145
212
  // 중첩/연속 라인 — 마커보다 깊이 들여쓴 줄은 현재 아이템의 자식.
146
- // 마커 폭(기호+공백)만큼 벗겨내 아이템 좌표계로 내린다
213
+ // 내용 시작 열까지 벗겨내 아이템 좌표계로 내린다
147
214
  const indent = /^\s*/.exec(l)[0].length;
148
215
  if (items.length && indent > base) {
149
- items[items.length - 1].push(l.slice(Math.min(indent, base + 2)));
216
+ items[items.length - 1].push(l.slice(Math.min(indent, itemCol)));
150
217
  i++;
151
218
  continue;
152
219
  }
@@ -201,10 +268,11 @@ function parseTable(lines, start) {
201
268
  return {
202
269
  node: {
203
270
  type: "table",
204
- content: rows.map((cells) => ({
271
+ // 첫 행은 GFM 헤더 — tableHeader로 파싱해 <th>로 시맨틱이 산다
272
+ content: rows.map((cells, ri) => ({
205
273
  type: "tableRow",
206
274
  content: cells.map((c) => ({
207
- type: "tableCell",
275
+ type: ri === 0 ? "tableHeader" : "tableCell",
208
276
  content: [{ type: "paragraph", content: parseInlines(c) }],
209
277
  })),
210
278
  })),
@@ -215,6 +283,16 @@ function parseTable(lines, start) {
215
283
  // ── 인라인 ────────────────────────────────────────────────
216
284
  /** 이스케이프 가능한 마크다운 구두점 — serializer의 escMd와 같은 집합 */
217
285
  const RE_ESCAPABLE = /[\\`*_[\]{}()<>#+\-.!|~]/;
286
+ /** attr 문자열의 백슬래시 이스케이프를 푼다 — 구두점만 대상
287
+ * (RE_ESCAPABLE과 같은 집합). 임의 문자 앞 \를 지우면
288
+ * [x](a\b)가 "ab"로 내용을 잃는다 */
289
+ function unescapeMd(s) {
290
+ return s.replace(/\\([\\`*_[\]{}()<>#+\-.!|~])/g, "$1");
291
+ }
292
+ /** `<…>`로 감싼 링크/이미지 dest의 꺾쇠를 벗긴다 — 안쪽 공백 허용 */
293
+ function unwrapDest(s) {
294
+ return s.startsWith("<") && s.endsWith(">") ? s.slice(1, -1) : s;
295
+ }
218
296
  /** 같은 마크 배열이면 직전 텍스트 노드에 합친다 — 파서 산출물 정리용 */
219
297
  function pushText(out, text, marks) {
220
298
  if (!text)
@@ -307,34 +385,58 @@ function parseInlines(src, extra = []) {
307
385
  continue;
308
386
  }
309
387
  if (ch === "`") {
310
- const end = src.indexOf("`", i + 1);
311
- if (end > i + 1) {
388
+ // 코드 스팬 — 여는 백틱 런과 같은 길이의 닫는 런을 찾는다.
389
+ // 단일 문자 탐색은 `` `a`b` ``처럼 내용에 백틱이 있으면
390
+ // 중간에서 닫고 나머지가 새 스팬으로 열린다
391
+ let n = 1;
392
+ while (src[i + n] === "`")
393
+ n++;
394
+ const re = new RegExp("(?<!`)`{" + n + "}(?!`)");
395
+ const m = re.exec(src.slice(i + n));
396
+ if (m) {
312
397
  flush();
313
- // 인라인 코드는 내부를 파싱하지 않는다 — 원문 보존
314
- pushText(out, src.slice(i + 1, end), [...extra, { type: "code" }]);
315
- i = end + 1;
398
+ // 인라인 코드는 내부를 파싱하지 않는다 — 원문 보존.
399
+ // 양끝에 공백 한 쌍이 있고 안쪽이 공백만이 아니면 패딩 한 쌍을
400
+ // 벗긴다 (CommonMark code span 패딩 규약 — serializer와 합의)
401
+ let inner = src.slice(i + n, i + n + m.index);
402
+ if (/^ /.test(inner) && / $/.test(inner) && /[^ ]/.test(inner))
403
+ inner = inner.slice(1, -1);
404
+ pushText(out, inner, [...extra, { type: "code" }]);
405
+ i = i + n + m.index + n;
316
406
  continue;
317
407
  }
318
408
  }
319
409
  if (ch === "!" && src[i + 1] === "[") {
320
- const m = /^!\[([^\]]*)\]\(([^)\s]*)\)/.exec(src.slice(i));
321
- if (m) {
410
+ // 레이블/dest는 이스케이프를 인식한다 — serializer가 `]`·`)`를
411
+ // 백슬래시로 감싸 출력하므로 단순 문자 클래스는 왕복이 깨진다.
412
+ // <…> dest는 공백을 품을 수 있고 bare dest는 균형 괄호 한 단계를
413
+ // 품는다 (CommonMark) — [x](f(1))가 f(1 에서 잘리지 않는다
414
+ const m = /^!\[((?:\\.|[^\]])*)\]\((<(?:\\.|[^<>\n])*>|(?:\\.|[^()\s]|\((?:\\.|[^()\s])*\))*)\)/.exec(src.slice(i));
415
+ // src 스킴 검증 — 붙여넣기 sanitize는 HTML 경로만 지키므로
416
+ // 마크다운 임포트의 javascript:/data: src는 여기서 걸러야 한다.
417
+ // data:image/는 업로더 없는 이미지 왕복 경로라 허용한다
418
+ const isrc = unescapeMd(unwrapDest(m?.[2] ?? ""));
419
+ if (m &&
420
+ (isSafeUrl(isrc) || isrc.trim().toLowerCase().startsWith("data:image/"))) {
322
421
  flush();
323
422
  out.push({
324
423
  type: "image",
325
- attrs: { src: m[2] ?? "", alt: m[1] ?? "" },
424
+ attrs: { src: isrc, alt: unescapeMd(m[1] ?? "") },
326
425
  });
327
426
  i += m[0].length;
328
427
  continue;
329
428
  }
330
429
  }
331
430
  if (ch === "[") {
332
- const m = /^\[([^\]]*)\]\(([^)\s]*)\)/.exec(src.slice(i));
333
- if (m) {
431
+ const m = /^\[((?:\\.|[^\]])*)\]\((<(?:\\.|[^<>\n])*>|(?:\\.|[^()\s]|\((?:\\.|[^()\s])*\))*)\)/.exec(src.slice(i));
432
+ // 링크 href도 입력 규칙·setLink와 같은 isSafeUrl 검사 — 없으면
433
+ // [x](javascript:…) 임포트가 그대로 <a href>로 출력된다
434
+ const href = unescapeMd(unwrapDest(m?.[2] ?? ""));
435
+ if (m && isSafeUrl(href)) {
334
436
  flush();
335
437
  pushAll(parseInlines(m[1] ?? "", [
336
438
  ...extra,
337
- { type: "link", attrs: { href: m[2] ?? "" } },
439
+ { type: "link", attrs: { href } },
338
440
  ]));
339
441
  i += m[0].length;
340
442
  continue;
@@ -343,8 +445,28 @@ function parseInlines(src, extra = []) {
343
445
  if (ch === "*" || ch === "_") {
344
446
  const two = src[i + 1] === ch;
345
447
  const d = two ? ch + ch : ch;
346
- const end = src.indexOf(d, i + d.length);
347
- if (end >= i + d.length) {
448
+ // 언더바는 단어 안 강조를 허용하지 않는다 — snake_case·a_b_c의
449
+ // _가 기울임 구분자로 오인되지 않게 앞뒤가 모두 단어 문자면
450
+ // 리터럴로 둔다 (CommonMark 언더바 인트라워드 규칙의 경량판)
451
+ if (ch === "_" &&
452
+ /\w/.test(src[i - 1] ?? "") &&
453
+ /\w/.test(src[i + d.length] ?? "")) {
454
+ plain += d;
455
+ i += d.length;
456
+ continue;
457
+ }
458
+ // 닫는 언더바도 단어 안 위치는 건너뛴다 — _a_b_c_에서 중간 _를
459
+ // 닫는 구분자로 쓰지 않는다
460
+ let end = src.indexOf(d, i + d.length);
461
+ while (end >= 0 &&
462
+ ch === "_" &&
463
+ /\w/.test(src[end - 1] ?? "") &&
464
+ /\w/.test(src[end + d.length] ?? "")) {
465
+ end = src.indexOf(d, end + 1);
466
+ }
467
+ // 안쪽이 비면 구분자가 통째로 사라진다 (**** → 빈 문자열) —
468
+ // 닫는 구분자는 내용 뒤에 와야 한다
469
+ if (end > i + d.length) {
348
470
  flush();
349
471
  pushAll(parseInlines(src.slice(i + d.length, end), [
350
472
  ...extra,
@@ -356,7 +478,7 @@ function parseInlines(src, extra = []) {
356
478
  }
357
479
  if (ch === "~" && src[i + 1] === "~") {
358
480
  const end = src.indexOf("~~", i + 2);
359
- if (end >= i + 2) {
481
+ if (end > i + 2) {
360
482
  flush();
361
483
  pushAll(parseInlines(src.slice(i + 2, end), [...extra, { type: "strike" }]));
362
484
  i = end + 2;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-parse.js","sourceRoot":"","sources":["../../src/presets/markdown-parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;;;;;;;;;;;;;GAeG;AAEH,yDAAyD;AAEzD,MAAM,QAAQ,GAAG,OAAO,CAAC;AACzB,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AACzC,MAAM,UAAU,GAAG,4BAA4B,CAAC;AAChD,MAAM,KAAK,GAAG,sCAAsC,CAAC;AACrD,MAAM,QAAQ,GAAG,qBAAqB,CAAC;AACvC,MAAM,OAAO,GAAG,sCAAsC,CAAC;AACvD,MAAM,YAAY,GAChB,+DAA+D,CAAC;AAElE,iDAAiD;AACjD,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,CACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CACnB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAwB;IAC3C,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,0BAA0B;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;gBACrB,CAAC,EAAE,CAAC;YACN,CAAC;YACD,CAAC,EAAE,CAAC,CAAC,qBAAqB;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,WAAW;gBACjB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aACnD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE;gBAC9B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;aACrD,CAAC,CAAC;YACH,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACrC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC;YACN,8BAA8B;YAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;gBACnC,IAAI,CAAC,CAAC;oBAAE,MAAM;gBACd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;gBAClB,CAAC,EAAE,CAAC;YACN,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACX,SAAS;QACX,CAAC;QACD,mCAAmC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACX,SAAS;QACX,CAAC;QACD,wBAAwB;QACxB,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,OACE,CAAC,GAAG,KAAK,CAAC,MAAM;YAChB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YACzB,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5C,CAAC,CACC,GAAG,CAAC,MAAM,GAAG,CAAC;gBACd,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CACtC,EACD,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACpB,CAAC,EAAE,CAAC;QACN,CAAC;QACD,iDAAiD;QACjD,mCAAmC;QACnC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iDAAiD;AACjD,SAAS,SAAS,CAChB,KAAwB,EACxB,KAAa;IAEb,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,mDAAmD;IACnD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,MAAM;QAC5B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;YACpB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,wCAAwC;QACxC,iCAAiC;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzC,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACtC,IAAI,OAA4B,CAAC;QACjC,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;QAC1B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAClD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAiB,IAAI,CAAC,MAAM;YACxC,CAAC,CAAC;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE;gBACnD,GAAG,WAAW,CAAC,IAAI,CAAC;aACrB;YACH,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAe,OAAO;QAC9B,CAAC,CAAC;YACE,IAAI,EAAE,aAAa;YACnB,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO;SACR;QACH,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC3B,CAAC;AAED,iDAAiD;AACjD,SAAS,UAAU,CACjB,KAAwB,EACxB,KAAa;IAEb,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAY,EAAE,CAC1C,IAAI;SACD,IAAI,EAAE;SACN,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,WAAW,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,IAAI,GAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB;IACpC,OACE,CAAC,GAAG,KAAK,CAAC,MAAM;QAChB,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;QACvB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EACzB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAC/B,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3D,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ;QACD,IAAI,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,0DAA0D;AAE1D,oDAAoD;AACpD,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,6CAA6C;AAC7C,SAAS,QAAQ,CACf,GAAiB,EACjB,IAAY,EACZ,KAAsB;IAEtB,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,IACE,IAAI,EAAE,IAAI,KAAK,MAAM;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7C,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;QAClE,OAAO;IACT,CAAC;IACD,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,OAAe;IAC5C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,GAAG;YACN,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,KAAK,KAAK;YACR,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACjC,KAAK,KAAK;YACR,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,EAAE;gBAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAC3D,IAAI,EAAE;gBAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAClE,IAAI,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QACD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,QAAyB,EAAE;IAC5D,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,KAAK,EAAE,CAAC;YACV,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAA4B,EAAE,EAAE;QAC/C,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QACnB,oCAAoC;QACpC,IAAI,EAAE,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACvD,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,0CAA0C;QAC1C,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YACpB,KAAK,EAAE,CAAC;YACR,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAChC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,2BAA2B;QAC3B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,KAAK,IAAI,GAAG,CAAC;YACb,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,KAAK,EAAE,CAAC;gBACR,+BAA+B;gBAC/B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBACnE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;iBAC5C,CAAC,CAAC;gBACH,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjB,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,OAAO,CACL,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvB,GAAG,KAAK;oBACR,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE;iBAC9C,CAAC,CACH,CAAC;gBACF,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjB,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;gBACxB,KAAK,EAAE,CAAC;gBACR,OAAO,CACL,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;oBACzC,GAAG,KAAK;oBACR,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;iBAClC,CAAC,CACH,CAAC;gBACF,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnB,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,KAAK,EAAE,CAAC;gBACR,OAAO,CACL,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CACpE,CAAC;gBACF,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,oDAAoD,CAAC,IAAI,CACjE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CACb,CAAC;YACF,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjB,SAAS;YACX,CAAC;QACH,CAAC;QACD,KAAK,IAAI,EAAE,CAAC;QACZ,CAAC,EAAE,CAAC;IACN,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAClC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"markdown-parse.js","sourceRoot":"","sources":["../../src/presets/markdown-parse.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/presets/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AAEH,8BAA8B;AAC9B,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,kBAAkB,KACpB,MAAM,CAAC;AAEZ,0BAA0B;AAC1B,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IACjC,2CAA2C;IAC3C,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC1C;AAiND;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,wBAA6B,GACrC,MAAM,CAgBR"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/presets/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AAEH,8BAA8B;AAC9B,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,kBAAkB,KACpB,MAAM,CAAC;AAEZ,0BAA0B;AAC1B,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IACjC,2CAA2C;IAC3C,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC1C;AAuQD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,wBAA6B,GACrC,MAAM,CAgBR"}
@@ -32,8 +32,18 @@ const MARK_ORDER = [
32
32
  "link",
33
33
  ];
34
34
  const DEFAULT_MARKS = {
35
- // code는 내용을 이스케이프하지 않는다 — 호출부가 원문을 넘긴다
36
- code: (s) => `\`${s}\``,
35
+ // code는 내용을 이스케이프하지 않는다 — 호출부가 원문을 넘긴다.
36
+ // 내용에 백틱이 있으면 더 긴 fence를 쓴다(CommonMark code span은
37
+ // 내용에 없는 길이의 백틱 런으로 닫는다). 내용이 백틱으로 시작/끝나
38
+ // 거나 양끝에 공백이 있으면 한 칸씩 패딩한다 — 파서가 양끝 공백
39
+ // 한 쌍을 벗기는 규약
40
+ code: (s) => {
41
+ const longest = (s.match(/`+/g) ?? []).reduce((n, r) => Math.max(n, r.length), 0);
42
+ const fence = "`".repeat(Math.max(1, longest + 1));
43
+ const pad = /^`|`$/.test(s) || (/^[\s\S]*\S[\s\S]*$/.test(s) && /^ | $/.test(s));
44
+ const inner = pad ? ` ${s} ` : s;
45
+ return `${fence}${inner}${fence}`;
46
+ },
37
47
  strike: (s) => `~~${s}~~`,
38
48
  italic: (s) => `*${s}*`,
39
49
  bold: (s) => `**${s}**`,
@@ -45,8 +55,22 @@ const DEFAULT_MARKS = {
45
55
  : `<mark>${s}</mark>`,
46
56
  fontSize: (s, m) => `<span style="font-size: ${escHtmlAttr(m.attrs?.["size"])}">${s}</span>`,
47
57
  textColor: (s, m) => `<span style="color: ${escHtmlAttr(m.attrs?.["color"])}">${s}</span>`,
48
- link: (s, m) => `[${s}](${String(m.attrs?.["href"] ?? "")})`,
58
+ link: (s, m) => `[${s}](${escMdDest(m.attrs?.["href"])})`,
49
59
  };
60
+ /**
61
+ * 링크/이미지 목적지 이스케이프 — `(` `)` `\`는 백슬래시로 감싸야
62
+ * 파서가 dest 안의 괄호와 구분자를 구별할 수 있다 (CommonMark는
63
+ * 꺾쇠 없는 dest에서 이스케이프된 괄호를 허용한다).
64
+ * 공백을 품는 dest는 꺾쇠 없는 형태로 쓸 수 없다 — `<…>`로 감싼다
65
+ * (CommonMark pointy-bracket dest — 안쪽에선 `\` `<` `>`만 이스케이프)
66
+ */
67
+ function escMdDest(v) {
68
+ const s = String(v ?? "");
69
+ if (/\s/.test(s)) {
70
+ return `<${s.replace(/\\/g, "\\\\").replace(/([<>])/g, "\\$1")}>`;
71
+ }
72
+ return s.replace(/\\/g, "\\\\").replace(/([()])/g, "\\$1");
73
+ }
50
74
  /** 텍스트 노드 → 마크가 적용된 마크다운 인라인 */
51
75
  function mdText(node, marks) {
52
76
  const raw = node.text ?? "";
@@ -61,10 +85,17 @@ function mdText(node, marks) {
61
85
  const wrap = marks[t] ?? ((x) => x);
62
86
  s = wrap(s, m);
63
87
  }
64
- // 스키마에 없는 마크도 잃지 않는다 — HTML span으로 보존
88
+ // MARK_ORDER 밖의 마크 — options.marks 핸들러가 있으면 쓰고,
89
+ // 없으면 스키마에 없는 마크도 잃지 않도록 HTML span으로 보존한다.
90
+ // (핸들러가 있는데도 건너뛰면 커스텀 마크가 조용히 사라진다)
65
91
  for (const m of list) {
66
- if (MARK_ORDER.includes(m.type) || marks[m.type])
92
+ if (MARK_ORDER.includes(m.type))
93
+ continue;
94
+ const wrap = marks[m.type];
95
+ if (wrap) {
96
+ s = wrap(s, m);
67
97
  continue;
98
+ }
68
99
  s = `<span data-mark="${escHtmlAttr(m.type)}">${s}</span>`;
69
100
  }
70
101
  return s;
@@ -81,7 +112,7 @@ function mdInlineLeaf(node, ctx) {
81
112
  case "hardBreak":
82
113
  return " \n"; // 마크다운 하드 브레이크 — 뒤공백 2개 + 개행
83
114
  case "image":
84
- return `![${escMd(String(node.attrs?.["alt"] ?? ""))}](${String(node.attrs?.["src"] ?? "")})`;
115
+ return `![${escMd(String(node.attrs?.["alt"] ?? ""))}](${escMdDest(node.attrs?.["src"])})`;
85
116
  case "mention":
86
117
  return `@${escMd(String(node.attrs?.["label"] ?? node.attrs?.["id"] ?? ""))}`;
87
118
  default:
@@ -110,14 +141,24 @@ function mdListItem(item, marker, ctx) {
110
141
  const DEFAULT_NODES = {
111
142
  paragraph: (n, ctx) => ctx.inline(n),
112
143
  heading: (n, ctx) => {
113
- const lv = Math.min(6, Math.max(1, Number(n.attrs?.["level"] ?? 1)));
144
+ // level이 NaN이면 "#".repeat(NaN)이 빈 문자열이 돼 제목 표기가
145
+ // 조용히 사라진다 — 유한하지 않으면 1로 돌린다
146
+ const l = Number(n.attrs?.["level"] ?? 1);
147
+ const lv = Number.isFinite(l)
148
+ ? Math.min(6, Math.max(1, Math.trunc(l)))
149
+ : 1;
114
150
  return "#".repeat(lv) + " " + ctx.inline(n);
115
151
  },
116
152
  codeBlock: (n) => {
117
- // 코드는 이스케이프 없이 원문 — 언어 접미사는 fence에 붙인다
118
- const lang = String(n.attrs?.["language"] ?? "");
153
+ // 코드는 이스케이프 없이 원문 — 언어 접미사는 fence에 붙인다.
154
+ // 내용이 백틱 런을 품으면 fence를 더 길게 잡는다 — 고정 ```는
155
+ // 본문의 ``` 줄에 닫혀 파싱이 깨진다 (CommonMark fence 규칙)
156
+ const lang = String(n.attrs?.["language"] ?? "")
157
+ .split(/\s/)[0] ?? "";
119
158
  const code = (n.content ?? []).map((c) => c.text ?? "").join("");
120
- return "```" + lang + "\n" + code + "\n```";
159
+ const longest = (code.match(/`+/g) ?? []).reduce((x, r) => Math.max(x, r.length), 0);
160
+ const fence = "`".repeat(Math.max(3, longest + 1));
161
+ return fence + lang + "\n" + code + "\n" + fence;
121
162
  },
122
163
  blockquote: (n, ctx) => ctx
123
164
  .blocks(n, ctx.depth)
@@ -130,7 +171,9 @@ const DEFAULT_NODES = {
130
171
  .map((it) => mdListItem(it, "- ", { ...ctx, depth: ctx.depth + 1 }))
131
172
  .join("\n"),
132
173
  orderedList: (n, ctx) => {
133
- const start = Number(n.attrs?.["start"] ?? 1);
174
+ // start가 NaN이면 "NaN. " 마커가 출력된다 — 유한하지 않으면 1
175
+ const s = Number(n.attrs?.["start"] ?? 1);
176
+ const start = Number.isFinite(s) ? Math.trunc(s) : 1;
134
177
  return (n.content ?? [])
135
178
  .map((it, i) => mdListItem(it, `${start + i}. `, {
136
179
  ...ctx,
@@ -145,14 +188,17 @@ const DEFAULT_NODES = {
145
188
  })
146
189
  .join("\n"),
147
190
  horizontalRule: () => "---",
148
- image: (n) => `![${escMd(String(n.attrs?.["alt"] ?? ""))}](${String(n.attrs?.["src"] ?? "")})`,
191
+ image: (n) => `![${escMd(String(n.attrs?.["alt"] ?? ""))}](${escMdDest(n.attrs?.["src"])})`,
149
192
  table: (n, ctx) => {
150
193
  // 마크다운 표는 한 줄 셀만 지원 — 셀 안 블록은 공백으로 잇고
151
194
  // 파이프는 이스케이프한다. 첫 행을 헤더로 간주해 구분 행을 단다.
152
195
  const rows = (n.content ?? []).map((r) => (r.content ?? []).map((cell) => (cell.content ?? [])
153
196
  .map((b) => ctx.inline(b))
154
197
  .join(" ")
155
- .replace(/\|/g, "\\|")));
198
+ // escMd가 이미 \|로 이스케이프한 파이프를 다시 이스케이프하면
199
+ // \\|가 돼 "이스케이프된 백슬래시 + 진짜 구분자"로 깨진다 —
200
+ // 이스케이프되지 않은 파이프만 처리한다
201
+ .replace(/(?<!\\)\|/g, "\\|")));
156
202
  if (!rows.length)
157
203
  return "";
158
204
  const cols = Math.max(...rows.map((r) => r.length));
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/presets/markdown.ts"],"names":[],"mappings":"AAiDA,2DAA2D;AAE3D;;;;GAIG;AACH,SAAS,KAAK,CAAC,CAAS;IACtB,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,6CAA6C;AAC7C,SAAS,WAAW,CAAC,CAAU;IAC7B,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAsB;IACpC,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,WAAW;IACX,WAAW;IACX,aAAa;IACb,WAAW;IACX,UAAU;IACV,WAAW;IACX,MAAM;CACP,CAAC;AAEF,MAAM,aAAa,GAAqC;IACtD,uCAAuC;IACvC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI;IACvB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI;IACzB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG;IACvB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI;IACvB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM;IAC/B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ;IACnC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ;IACrC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClB,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,CAAC,CAAC,kCAAkC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS;QAChF,CAAC,CAAC,SAAS,CAAC,SAAS;IACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjB,2BAA2B,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS;IAC1E,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClB,uBAAuB,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS;IACvE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG;CAC7D,CAAC;AAEF,gCAAgC;AAChC,SAAS,MAAM,CACb,IAAgB,EAChB,KAAuC;IAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACjD,0CAA0C;IAC1C,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,sCAAsC;IACtC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QAC3D,CAAC,GAAG,oBAAoB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2DAA2D;AAC3D,SAAS,QAAQ,CAAC,IAAgB,EAAE,GAAQ;IAC1C,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAChE;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,sDAAsD;AACtD,SAAS,YAAY,CAAC,IAAgB,EAAE,GAAQ;IAC9C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,CAAC,6BAA6B;QAC9C,KAAK,OAAO;YACV,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC;QAChG,KAAK,SAAS;YACZ,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAChF;YACE,iCAAiC;YACjC,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AASD,6CAA6C;AAC7C,SAAS,UAAU,CAAC,IAAgB,EAAE,MAAc,EAAE,GAAQ;IAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QACtC,OAAO,CAAC;aACL,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;aACxD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,6BAA6B;AAC7B,MAAM,aAAa,GAAqC;IACtD,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QACf,uCAAuC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;IAC9C,CAAC;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CACrB,GAAG;SACA,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;SACpB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,IAAI,CAAC;IACf,8CAA8C;IAC9C,0CAA0C;IAC1C,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CACrB,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;SACd,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACV,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAI,GAAW,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAChE;SACA,IAAI,CAAC,IAAI,CAAC;IACf,WAAW,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;aACrB,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CACb,UAAU,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE;YAC/B,GAAI,GAAW;YACf,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC;SACrB,CAAC,CACH;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CACnB,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;SACd,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,OAAO,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAI,GAAW,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC;IACf,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK;IAC3B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG;IAClF,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAChB,sCAAsC;QACtC,uCAAuC;QACvC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7B,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;aACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,GAAG,CAAC;aACT,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACzB,CACF,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,GAAG,KAAK,CAAS,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC;AAEF,6CAA6C;AAC7C,SAAS,OAAO,CAAC,IAAgB,EAAE,GAAQ;IACzC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,yCAAyC;IACzC,2CAA2C;IAC3C,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAe,EACf,UAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,GAAG,GAAQ;QACf,KAAK,EAAE,CAAC;QACR,KAAK;QACL,KAAK;QACL,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACnB,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;aACvB,IAAI,CAAC,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/presets/markdown.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export declare function resolveMarkPoint(doc: DocNode, p: Point): Point;
34
34
  * 곳에서 element-boundary 셀렉션을 환원할 때 쓴다. 텍스트가 없는
35
35
  * 빈 컨테이너나 해석 불가면 원래 포인트를 돌려준다.
36
36
  */
37
- export declare function leafPoint(doc: DocNode, p: Point): Point;
37
+ export declare function leafPoint(doc: EditorNode, p: Point): Point;
38
38
  /**
39
39
  * split을 원시 연산 시퀀스로 분해 — apply와 mapPoint가 같은 연산을
40
40
  * 공유해 매핑이 어긋나지 않는다.
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/state/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AASlE,OAAO,KAAK,EAOV,SAAS,EACT,IAAI,EACL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;GAOG;AAEH,wBAAgB,OAAO,CACrB,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,EAC9B,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,GAC7B,OAAO,CAYT;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAiB3D;AA4ED,gDAAgD;AAChD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,KAAK,GACX;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAcjC;AAYD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAmB9D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAwBvD;AAoCD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,CAoBxE;AAkDD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,KAAK,CAmBlE;AAED,iBAAS,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEnE;AAuJD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,GAAG,KAAK,CAgD9D;AAuCD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/state/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AASlE,OAAO,KAAK,EAOV,SAAS,EACT,IAAI,EACL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;GAOG;AAEH,wBAAgB,OAAO,CACrB,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,EAC9B,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,GAC7B,OAAO,CAYT;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAiB3D;AAgFD,gDAAgD;AAChD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,KAAK,GACX;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAcjC;AAYD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAmB9D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAwB1D;AAoCD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,CAoBxE;AAkDD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,KAAK,CAmBlE;AAED,iBAAS,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEnE;AAmKD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,GAAG,KAAK,CAgD9D;AAgDD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC"}